打開NCQ功能爲硬盤性能提速

展的速度大家是有目共睹的,在2005年,SATA接口的硬盤順利代替了PATA硬盤,成爲市場中主流的熱點產品。而在2005年末,關於SATA硬盤的一項新的技術NCQ又進入了人們的視野。
  硬盤發展的速度大家是有目共睹的,在2005年,SATA接口的硬盤順利代替了PATA硬盤,成爲市場中主流的熱點產品。而在2005年末,關於SATA硬盤的一項新的技術NCQ又進入了人們的視野。
  對於硬盤的NCQ技術,相信多數朋友還是是很瞭解吧。到底什麼是主板的NCQ?硬盤的NCQ功能對硬盤本身會帶來什麼樣的性能提升,小編通過搜索查找,整理收集了大量的資料,接下來就讓我們一塊來認識一下硬盤的NCQ功能和緩存?
  一、認識硬盤的NCQ
  NCQ(Native Command Queuing)是SATA規範支持的一種新的功能,它是一種使硬盤內部優化工作負荷執行順序,通過對內部隊列中的命令進行重新排序實現智能數據管理,改善硬盤因機械部件而受到的各種性能制約,以發揮硬盤最高的效率、使延遲最小化。
  我們的硬盤是怎麼寫數據的?其過程很簡單,從磁碟的最外圈開始往內圈寫,一個圈叫做一個磁道track,所有碟(platter,即平時說的單碟),面(一個碟可能有兩個面)上同一磁道組成一個柱面(cylinder),寫硬盤就是按照從外到裏一點點順序寫的。可惜我們讀取的時候肯定不是按照這樣的順序的,我們一般是隨機的讀取分散在盤片上的數據,我們需要在快速轉動的同時準確定位,可以想象這是多麼不容易。
   
  暗紅色的區域表示磁道,鮮紅色的區域表示簇,而黃色區域表示磁盤上的扇區。
  要精確定位,我們會遇到兩個敵人:尋道延遲和轉動延遲。
  尋道延遲是磁頭找到磁道的時間。我們可以想象一下磁頭反覆地在一個個同心圓之間伸長,縮短,其延遲就是尋道延遲,或者在硬盤技術參數中稱爲尋道時間。
  我們可以將硬盤的存儲數據的邏輯塊地址(LBA,Logical Block Address)當作是一個地區內的不同的房子。如果要給這些房子送信,先送完第一間房子,然後再跑到2公里外的另一個房子,後再跑到第一個房子的鄰居送信,最後把信送到附近不遠的另一個房子,這是多麼“愚蠢”的做法!顯然,這浪費了大量的時間。下面的兩個如分別表示了沒有采用NCQ技術(non-NCQ)和採用了NCQ技術的兩種不同的情況。
   
  第一個圖爲不支持NCQ技術的硬盤的工作情況。和前面提到的送信的“愚蠢”做法的一樣的,但是在剛開始的硬盤中確實是採用了這種做法。
  第二個圖是支持NCQ技術的硬盤的工作情況。這纔是送信的最佳方式,它極大的提高了工作效率,節省了很多時間。
  支持NCQ技術的硬盤對接收到的指令按照他們訪問的地址的距離進行了重排列,這樣對硬盤機械動作的執行過程實施智能化的內部管理,大大地提高整個工作流程的效率:即取出隊列中的命令,然後重新排序,以便有效地獲取和發送主機請求的數據,在硬盤執行某一命令的同時,隊列中可以加入新的命令並排在等待執行的作業中。
  轉動延遲是找到準確磁道後,那個正確的地址所在位置轉到磁頭下面的時間。這裏我們可以想象轉得越快,這個時間就越短,對5400轉硬盤,轉一圈要11.1毫秒,7200轉要8.3毫秒,而萬轉硬盤只要6毫秒。
  要減少轉動延遲,一般的辦法是提高轉速,但是我們知道提高轉速很難,否則我們不會到現在還在用7200轉的硬盤。除了這個辦法還有1.優化排序2.亂序執行。
  兩個延遲加起來就是我們遇到的總延遲,我們希望總延遲越小越好。以前的做法是優化排序任務從而減少尋道時間,但是後來發現追求最小尋道時間會導致轉動延遲變大,兩者相加不一定是最小的。所以提出了一種綜合考慮尋道和轉動的優化方法,這種方法就稱爲“tagged command queuing”,而在SATA 300標準中使用的特殊的優化方法就叫做“Native Command Queuing”,就是NCQ。
 二、什麼設備支持NCQ?SATAII等於300MB/S+NCQ嗎?
  目前在市面上的硬盤中,由於技術SATA技術已經相當成熟並佔據了市場的絕對主流,而從去年底,各大廠商生產的硬盤基本上都提供了對NCQ功能的支持,但仍有部分產品是不支持的,我們經常提到的希捷7200.7、7200.8和7200.9和Maxtor的金鑽10系列支持NCQ。
   
  在支持的主板方面,目前只有Intel最新的9X5系列中使用的ICH6系列南橋支持NCQ,而NVIDIA NF4系列和VIA VT8251和SiS 963/964/965南橋也將支持NCQ,NVIDIA C51主板芯片組雖然提供對SATA II的支持,但並不支持NCQ功能。
  很多人都認爲,不支持NCQ的硬盤就不能叫做"SATAII"。其實SATAII規範包含許多特性,在時間上分爲兩個階段的,分別是Phase1和Phase2。第一階段所具有的特性包括:加入NCQ的支持,增加風扇控制,溫度控制,狀態指示等特徵,引入背板接口互聯,並支持熱插撥。(目前只有NCQ功能被應用在桌面硬盤產品,其他的應用在服務器硬盤上)。第二階段所具有的特性包括:接口速度提高到300MB/S,提供多個硬盤同時連接到一個接口的功能,提供兩個控制器沉餘技術,實現完全的熱插撥和交錯啓動(目前只有300MB/S功能被應用在桌面硬盤產品,其他的應用在服務器硬盤上)。
 
  這種發展過程結合硬盤廠商的行爲在業界形成這樣的理解:具有NCQ功能的SATA硬盤是SATAIIPhase1硬盤,而具有NCQ技術和300MB/S速度的SATA硬盤是SATAIIPhase2硬盤,即所謂的標準"SATAII"硬盤,這就讓人產生SATAII等於300MB/S+NCQ的錯誤理解。
      
三、硬盤NCQ功能使用詳解(以下內容來自微型計算機)
  即便主板和硬盤具備了NCQ功能,但NCQ功能在默認狀況下並未自動打開,還需進行一番設置。
  首先,NCQ是AHCI(高級主控界面)所支持的一項技術,開啓AHCI是第一步。AHCI屬於SATA2的高級特徵之一,支持SATA功能的主板並不一定支持AHCI。只有在主板BIOS中能找到AHCI選項才表明這款主板能支持NCQ。
  
  進入主板BIOS,找到“Integrated Peripherals”→“OnChip Serial ATA Device”,查看此處是否有“AHCI”選項。
  BIOS設置
  下面以採用Intel ICH6-R南橋的主板爲例介紹NCQ相關的BIOS設置。在BIOS的SATA工作模式選項中,除了RAID和IDE外,還多出了一個AHCI選項。大家知道IDE模式是指讓SATA硬盤工作在普通IDE模式下,通常用於單個SATA硬盤,而RAID模式則是通過RAID控制器來管理SATA硬盤,適合建立SATA RAID。新增的AHCI模式則利用AHCI控制器來管理SATA硬盤。
  在某些主板的BIOS選擇中,SATA工作模式和AHCI功能是兩個選項,當SATA模式設置爲RAID時,AHCI自動處於“支持”;當SATA模式設爲IDE時,AHCI可選擇“支持”或“不支持”,兩種設置可能存在的選項有3種。
  
要支持NCQ功能,BIOS中的“SATA Mode”應設爲“AHCI”
  其實,AHCI和SATA模式的關係並不複雜。當開啓SATA RAID控制器時,AHCI會同時生效;如果不使用SATA RAID,AHCI可設置爲關(即普通IDE模式)或開(單獨啓用AHCI)。無論如何,只有AHCI設置爲開時,方可支持NCQ。
  Windows安裝
  綜上所述,使用支持NCQ的主板時,通過BIOS可把SATA接口設置爲3種不同模式:RAID、AHCI和IDE。IDE模式安裝Windows的方法沒有什麼特別之處,而RAID模式需要在啓動時按F6,並通過軟盤載入RAID控制器的驅動程序。AHCI模式和RAID一樣,在啓動時也需按F6,通過軟盤載入驅動程序。值得注意的是,在AHCI模式下,應選擇AHCI驅動程序,而非RAID驅動,其它安裝則與RAID模式完全相同。
  
選擇正確的AHCI驅動程序
  軟件支持
  不同的南橋都有各自的硬盤驅動程序,ICH6-R南橋在RAID和AHCI模式時,均需配合IAA RAID版(應用程序加速器RAID版)驅動。驅動安裝好後,在IAA RAID版控制界面中能夠看到NCQ的狀態。
  
IAA RAID控制界面中可以查看NCQ的工作狀態
四、打開NCQ前後的性能對比
   
  筆者使用金鑽8代搭配富士康925XE主板,分別在IDE模式(未啓用NCQ)和AHCI模式(啓用NCQ)下安裝Windows,並用PCMark04測試硬盤性能,硬盤性能得分分別爲5286和5682,可見該測試中NCQ帶來了7%的硬盤性能提升。事實上,在頻率讀取數據的實際應用中,NCQ的好處表現得更加明顯。
  購買建議
   
  目前市場中希捷的7200.7系列硬盤中有很多已經提供了對NCQ功能的支持,邁拓金鑽十代和日立、西部數據、三星等硬盤大廠的部分產品也提供了對NCQ功能的支持,雖然在目前家用臺式機中NCQ性能的表現並不算太令人驚喜,但在頻率讀取數據應用中,NCQ的表現還是令人滿意的。在價格方面,支持NCQ功能的硬盤比不支持此項功能的硬盤之間僅有20餘元的差價,所以小編還是非常建議用戶在選購硬盤時,多花點錢買一款具備NCQ功能的硬盤。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章