SOGO論壇
  登入   註冊   找回密碼
查看: 2245|回覆: 3
列印 上一主題 下一主題

[教學] Serial ATA II硬碟的NCQ功能 [複製連結]

Rank: 3Rank: 3

狀態︰ 離線
跳轉到指定樓層
1
發表於 2007-5-14 11:45:50 |只看該作者 |倒序瀏覽
硬碟機的運作原理有一大部分仍屬於機械性的動作,相較於其它純電子訊號處理的儲存裝置(如 RAM),
相對效率表現就較差,任何硬碟上的存取資料動作,都屬於整體系統效能的一個瓶頸,所以一旦在硬碟內的存取效能獲得提升,必然對整體效率而言會產生立竿見影的效果。


由於系統在存取硬碟磁盤(discs)上的資料鮮少是以順序方式進行,只要了解硬碟資料在各磁盤或磁軌(sectors)的分佈方式,都可以理解一個有效的存取動作,都會有一些額外的時間消耗在磁盤運轉至磁頭可以讀取的位置,也就是磁頭搜尋前置時間(seek latencies)或磁盤轉動前置時間(rotational lantencies)。
所以要有效減少類似的前置時間,除了可以用增加磁盤轉速(spindle RPM)來解決外,也可以將各個存取資料重新排序(sorting),以最有效的方式設法在最少的轉動時間內完成一串的存取資料指令。由於增加主軸轉速會同時產生成本、軸承磨耗、熱量與震動等不利因子,而NCQ的概念,就在此技術背景中被提出。

NCQ(Native Command Queuing)是 Serial ATA II phase 1 硬碟產品非常重要的改變,是由硬碟本身就指令來重新排序,以達成更高的效能提升。換句話說,NCQ 是指磁碟機內部控制器對於來自外部程式所下的多個資料區塊的存取指令,進行最佳化處理,也就是配合在磁軌上的讀寫機構的最佳(負載最小化)存取方式,在各個時間點就所接收的指令動態地將其重新排序或排程(rescheduled or re-ordered)。
它除了可提昇整體效能,也同時延長了硬碟的使用期限 (因為降低了許多無謂的機械耗損)。

至於在現有的 SATA II NCQ 協定中,另有 3 個新增功能可以來強化 NCQ 的優勢,分別是:

1. Race-free status return mechanism:硬碟在完成任一指令後,可以無須再進行「Handshake」即可繼續另一個指令,以便讓多個指令快速接序或同時執行。

2. Interrupt aggregation:硬碟由於以 NCQ 模式執行多個指令,所以原本每一個指令完成後必須中斷(interrupt)以便讓系統接續處理的模式,轉成可以在多個指令完成後再一次提出 interrupt,故介面控制器(host controller)對於多個指令只須處理一次中斷即可。

3. First party DMA(FPDMA):當硬碟完成資料讀取後,無須靠 host controller 的 DMA 動作取得特定記憶體位置,而是由硬碟本身建立 DMA setup FIS (Frame Information Block)直接對 host controller 送出記憶體存取通知,如此無須驅動程式的運作,可以有效提升存取效率。

在應用方面,當然除了硬碟本身必須支援 NCQ 外,作業系統與介面控制器(controller)的支援也是不可或缺的條件。特別是目前所流行的多執行緒系統環境或是處理器的 Hyper Threading 功能,都可能會大幅增加對於硬碟的工作負載,一旦硬碟能針對此潛在需求支援 NCQ,整體效能才能有明顯合乎預期的提升。在目前的 Serial ATA 主流產品的主軸轉速多為 7200 RPM,一旦有了 NCQ 的支援,甚至可以逼近部分 10000 RPM 硬碟的效能。所以在硬碟的選購與使用上,NCQ 的支援與否是一個值得特別注意的功能。
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

Rank: 5Rank: 5

狀態︰ 離線
2
發表於 2007-9-20 01:51:33 |只看該作者
感謝分享歐
但這對我似乎用不太到  ..

Rank: 3Rank: 3

狀態︰ 離線
3
發表於 2007-10-26 20:14:35 |只看該作者
原來硬碟也有這麼大的學問
看來我還要再多研究
wii7744 該用戶已被刪除
狀態︰ 離線
4
發表於 2008-11-18 20:59:47 |只看該作者
提示: 作者被禁止發言或禁止訪問或刪除帳號,本文內容已被系統自動屏蔽。
請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-12-28 15:39

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部