NCQ

NCQ

全速命令隊列
NCQ(NativeCommandQueuing,全速命令隊列)是被設計用于改進在日益增加的負荷情況下硬盤的性能和穩定性的技術。當用戶的應用程序發送多條指令到用戶的硬盤,NCQ硬盤可以優化完成這些指令的順序,從而降低機械負荷達到提升性能的目的。NCQ技術是一種使硬盤内部優化工作負荷執行順序,通過對内部隊列中的命令進行重新排序實現智能數據管理,改善硬盤因機械部件而受到的各種性能制約。
    中文名:原生命令隊列 外文名:Native Command Queuing 别名: 簡稱:NCQ 改進:硬盤的性能和穩定性的技術

技術說明

首先讓我們來看一下硬盤是怎樣讀寫信息的。硬盤通過将信息寫入磁盤磁道上的特定位置進行信息存儲,硬盤訪問磁盤上信息的過程如下:

尋找存儲數據的目标磁碟(platter),訪問該磁碟。

尋找磁碟上存儲數據的目标磁道(track),訪問磁道。

尋找磁道上存儲數據的目标簇(cluster),訪問簇。

尋找簇上存儲數據的目标扇區(sector),訪問扇區。

尋找目标數據,讀取數據。

通過上面的步驟,硬盤即可獲取所需要的數據信息。硬盤寫入數據的步驟也是如此,區别僅僅在于讀操作變為寫操作。大多數情況下數據存入硬盤并非是順序存入,而是随機存入,甚至有可能一個文件被分配在不同盤片上。

對于不支持NCQ的硬盤來說,大量的數據讀寫需要反複重複上面的步驟,而對于不同位置的數據存取,磁頭需要更多的操作,降低了存取效率。

支持NCQ技術的硬盤對接收到的指令按照他們訪問的地址的距離進行了重排列,這樣對硬盤機械動作的執行過程實施智能化的内部管理,大大地提高整個工作流程的效率:即取出隊列中的命令,然後重新排序,以便有效地獲取和發送主機請求的數據,在硬盤執行某一命令的同時,隊列中可以加入新的命令并排在等待執行的作業中。顯然,指令排列後減少了磁頭臂來回移動的時間,使數據讀取更有效。

舉例說明

如圖所示,如果新的命令恰好是處理起來機械效率最高的,那麼它就是隊列中要處理的下一個命令。舉個例子:比如向硬盤下達一組數據傳送指令,由于數據在磁盤上分布位不同,磁頭可能會先讀取260扇區,再讀取7660扇區,然後又讀取261扇區。

如果我們對指令進行優化排列,可以先讀260扇區,接着依次讀261扇區,最後讀取7660扇區。

顯然,指令排列後減少了磁頭臂來回移動的時間,使數據讀取更有效。并且有效的排序算法除了考慮目标數據的線性位置,也會考慮其角度位置,并且還要對線性位置和角度位置進行優化,以使總線的服務時間最小,這個過程也稱做“基于尋道和旋轉優化的命令重新排序”。

不過,要充分享用NCQ技術,光硬盤支持是不行的,還要對應的硬盤控制器(如南橋芯片中的磁盤控制器)支持才行。例如Intel從945芯片組的ICH7南橋開始支持NCQ技術,nVidia從nForce4SLI芯片組開始支持NCQ技術。

其他信息

下面是seagate官方關于支持NCQ硬盤的數據。

從seagate推出高端NCQ硬盤以來,一直深受廣大用戶擁戴,這次NCQ硬盤向低端發展,體現了seagate對用戶的全方位考慮。據相關媒體報道,擁有NCQ技術的新款硬盤相對沒有NCQ技術的舊版硬盤産品。整體性能可以提升5%~20%,而擁有NCQ技術的這款低端産品的上市無疑是普及硬盤領域最新技術的最好途徑。

相關詞條

相關搜索

其它詞條