1. 怎麼樣才能知道硬碟是否支持NCQ技術
進入主板BIOS,找到「IntegratedPeripherals」→「OnChipSerialATADevice」,查看此處是否有「AHCI」選項。
硬碟開啟NCQ功能全解
硬碟發展的速度大家是有目共睹的,在2005年,SATA介面的硬碟順利代替了PATA硬碟,成為市場中主流的熱點產品。而在2005年末,關於SATA硬碟的一項新的技術NCQ又進入了人們的視野。
對於硬碟的NCQ技術,相信多數朋友還是是很了解吧。到底什麼是主板的NCQ?硬碟的NCQ功能對硬碟本身會帶來什麼樣的性能提升,小編通過搜索查找,整理收集了大量的資料,接下來就讓我們一塊來認識一下硬碟的NCQ功能和緩存?
一、認識硬碟的NCQ
NCQ(NativeCommandQueuing)是SATA規范支持的一種新的功能,它是一種使硬碟內部優化工作負荷執行順序,通過對內部隊列中的命令進行重新排序實現智能數據管理,改善硬碟因機械部件而受到的各種性能制約,以發揮硬碟最高的效率、使延遲最小化。
我們的硬碟是怎麼寫數據的?其過程很簡單,從磁碟的最外圈開始往內圈寫,一個圈叫做一個磁軌track,所有碟(platter,即平時說的單碟),面(一個碟可能有兩個面)上同一磁軌組成一個柱面(cylinder),寫硬碟就是按照從外到里一點點順序寫的。可惜我們讀取的時候肯定不是按照這樣的順序的,我們一般是隨機的讀取分散在碟片上的數據,我們需要在快速轉動的同時准確定位,可以想像這是多麼不容易。
暗紅色的區域表示磁軌,鮮紅色的區域表示簇,而黃色區域表示磁碟上的扇區。
要精確定位,我們會遇到兩個敵人:尋道延遲和轉動延遲。
尋道延遲是磁頭找到磁軌的時間。我們可以想像一下磁頭反復地在一個個同心圓之間伸長,縮短,其延遲就是尋道延遲,或者在硬碟技術參數中稱為尋道時間。
我們可以將硬碟的存儲數據的邏輯塊地址(LBA,LogicalBlockAddress)當作是一個地區內的不同的房子。如果要給這些房子送信,先送完第一間房子,然後再跑到2公里外的另一個房子,後再跑到第一個房子的鄰居送信,最後把信送到附近不遠的另一個房子,這是多麼「愚蠢」的做法!顯然,這浪費了大量的時間。下面的兩個如分別表示了沒有採用NCQ技術(non-NCQ)和採用了NCQ技術的兩種不同的情況。
第一個圖為不支持NCQ技術的硬碟的工作情況。和前面提到的送信的「愚蠢」做法的一樣的,但是在剛開始的硬碟中確實是採用了這種做法。
第二個圖是支持NCQ技術的硬碟的工作情況。這才是送信的最佳方式,它極大的提高了工作效率,節省了很多時間。
支持NCQ技術的硬碟對接收到的指令按照他們訪問的地址的距離進行了重排列,這樣對硬碟機械動作的執行過程實施智能化的內部管理,大大地提高整個工作流程的效率:即取出隊列中的命令,然後重新排序,以便有效地獲取和發送主機請求的數據,在硬碟執行某一命令的同時,隊列中可以加入新的命令並排在等待執行的作業中。
轉動延遲是找到准確磁軌後,那個正確的地址所在位置轉到磁頭下面的時間。這里我們可以想像轉得越快,這個時間就越短,對5400轉硬碟,轉一圈要11.1毫秒,7200轉要8.3毫秒,而萬轉硬碟只要6毫秒。
要減少轉動延遲,一般的辦法是提高轉速,但是我們知道提高轉速很難,否則我們不會到現在還在用7200轉的硬碟。除了這個辦法還有1.優化排序2.亂序執行。
兩個延遲加起來就是我們遇到的總延遲,我們希望總延遲越小越好。以前的做法是優化排序任務從而減少尋道時間,但是後來發現追求最小尋道時間會導致轉動延遲變大,兩者相加不一定是最小的。所以提出了一種綜合考慮尋道和轉動的優化方法,這種方法就稱為「taggedcommandqueuing」,而在SATA300標准中使用的特殊的優化方法就叫做「NativeCommandQueuing」,就是NCQ。
二、什麼設備支持NCQ?SATAII等於300MB/S+NCQ嗎?
目前在市面上的硬碟中,由於技術SATA技術已經相當成熟並占據了市場的絕對主流,而從去年底,各大廠商生產的硬碟基本上都提供了對NCQ功能的支持,但仍有部分產品是不支持的,我們經常提到的希捷7200.7、7200.8和7200.9和Maxtor的金鑽10系列支持NCQ。
在支持的主板方面,目前只有Intel最新的9X5系列中使用的ICH6系列南橋支持NCQ,而NVIDIANF4系列和VIAVT8251和SiS963/964/965南橋也將支持NCQ,NVIDIAC51主板晶元組雖然提供對SATAII的支持,但並不支持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,找到「IntegratedPeripherals」→「OnChipSerialATADevice」,查看此處是否有「AHCI」選項。
BIOS設置
下面以採用IntelICH6-R南橋的主板為例介紹NCQ相關的BIOS設置。在BIOS的SATA工作模式選項中,除了RAID和IDE外,還多出了一個AHCI選項。大家知道IDE模式是指讓SATA硬碟工作在普通IDE模式下,通常用於單個SATA硬碟,而RAID模式則是通過RAID控制器來管理SATA硬碟,適合建立SATARAID。新增的AHCI模式則利用AHCI控制器來管理SATA硬碟。
在某些主板的BIOS選擇中,SATA工作模式和AHCI功能是兩個選項,當SATA模式設置為RAID時,AHCI自動處於「支持」;當SATA模式設為IDE時,AHCI可選擇「支持」或「不支持」,兩種設置可能存在的選項有3種。
要支持NCQ功能,BIOS中的「SATAMode」應設為「AHCI」
其實,AHCI和SATA模式的關系並不復雜。當開啟SATARAID控制器時,AHCI會同時生效;如果不使用SATARAID,AHCI可設置為關(即普通IDE模式)或開(單獨啟用AHCI)。無論如何,只有AHCI設置為開時,方可支持NCQ。
四、打開NCQ前後的性能對比
筆者使用金鑽8代搭配富士康925XE主板,分別在IDE模式(未啟用NCQ)和AHCI模式(啟用NCQ)下安裝Windows,並用PCMark04測試硬碟性能,硬碟性能得分分別為5286和5682,可見該測試中NCQ帶來了7%的硬碟性能提升。事實上,在頻率讀取數據的實際應用中,NCQ的好處表現得更加明顯。
購買建議
目前市場中希捷的7200.7系列硬碟中有很多已經提供了對NCQ功能的支持,邁拓金鑽十代和日立、西部數據、三星等硬碟大廠的部分產品也提供了對NCQ功能的支持,雖然在目前家用台式機中NCQ性能的表現並不算太令人驚喜,但在頻率讀取數據應用中,NCQ的表現還是令人滿意的。在價格方面,支持NCQ功能的硬碟比不支持此項功能的硬碟之間僅有20餘元的差價,所以小編還是非常建議用戶在選購硬碟時,多花點錢買一款具備NCQ功能的硬碟。