玩轉硬盤的NCQ與AHCI功能硬盤的功能和性能參數有很多,比如硬盤的接口、容量、二級緩存大小、轉速和單碟盤片容量等,但我們發(fā)現在選購硬盤的時候,只有少數對硬盤有較深了解的或者一些買前“功課”做得比較到位的消費者,才可能會考慮諸如單碟容量、二級緩存大小等對性能影響較大的參數。最普遍的做法是:“老板,我要個500GB的硬盤,串口的。” 其實,硬盤并不是大家想象的那樣,買回來之后插到主板上,能用就行了。如果想享受硬盤的一些特色技術或高級功能,還需要我們手動設置。今天我們就來談一下,硬盤有哪些高級功能,以及如何開啟這些功能? 系統(tǒng)是不是把SATA硬盤當IDE硬盤來用? 在閱讀下面的文字之前,請先按照我們的方法來檢查一下你的系統(tǒng)是如何使用硬盤的。
操作步驟如下:首先,用“Windows+R”組合熱鍵打開“運行”對話框,輸入“devmgmt.msc”打開“設備管理器”。然后,在“設備管理器”的設備列表中,查看一下你的硬盤驅動器以及相應控制器是否都是能夠一一對應。
硬件管理器中的硬盤控制器項 如圖所示,我們可以看到當前系統(tǒng)的硬盤是SATA硬盤,但是“IDE ATA/ATAPI控制器”項目中發(fā)現當前的控制器是“標準雙通道PCI IDE控制器”。也就是說,盡管硬盤是SATA規(guī)格,但系統(tǒng)還是按照IDE模式來控制它,這就意味著SATA接口的一些高級功能沒辦法使用。 傳統(tǒng)硬盤的讀取設計有哪些缺陷? 我們都知道,硬盤都是機械式設計的,它是通過將信息寫入磁盤磁道上的特定位置進行信息存儲,當我們要訪問這些數據時,磁盤的運行順序是這樣的:首先,尋找存儲數據的目標磁碟,訪問該磁碟;然后再尋找磁碟上存儲數據的目標磁道,訪問磁道;接著尋找磁道上存儲數據的目標簇,訪問簇;尋找簇上存儲數據的目標扇區(qū),訪問扇區(qū);最后尋找目標數據,讀取數據。 機械硬盤的內部結構 實際上,硬盤的數據寫入也是按照這種模式進行操作的,但數據并不是按順序記錄的。就例如一個游戲,它有成千上萬個文件,這些文件可能會被分配在不同的磁道、不同的扇區(qū)、不同的簇,甚至不同的盤片上。那么當我們運行這個游戲的時候,有可能是先讀取盤片1的12扇區(qū),然后再讀取盤片2的23扇區(qū),然后再跳轉到盤片1讀取34扇區(qū),這樣跳來跳去,非常浪費時間。
由于硬盤是機械式讀取,所以導致磁頭需要在盤片上不停跳動來讀取數據。這種不規(guī)律的跳動,直接影響的是硬盤讀取零散文件的速度?;蛟S大家都有這樣的感覺:復制一個1GB的大文件可能需要幾十秒鐘,但如果復制大小相同但由零散文件組成的文件夾就可能需要幾分鐘甚至更長的時間,原因就在于此了。 事實上,只要是機械硬盤,這個問題都是無法徹底解決。不過,SATA II規(guī)范提供了一種補償機制,這就是NCQ技術。 NCQ技術的優(yōu)勢和原理有哪些?
●SATA與IDE區(qū)別的關鍵——NCQ 事實上,目前主流的硬盤和主板的SATA接口已經發(fā)展到了第二代——即SATA II,而它的關鍵技術主要有兩個方面:一是傳輸速率更快,理論上可以達到300MB/s;二是NCQ技術,即全速命令排隊技術。其中,傳輸速率是硬盤接口的物理屬性,與硬盤的控制模式無關。而當我們用IDE模式來使用SATA硬盤時,主要是指我們無法享受NCQ技術。 ●NCQ技術是如何優(yōu)化數據讀取的 首先支持NCQ技術的硬盤接收到指令后,按照它們訪問的地址的距離進行了重排列,這樣對硬盤機械動作的執(zhí)行過程實施智能化的內部管理,即取出隊列中的命令然后重新排序,以便有效地獲取和發(fā)送主機請求的數據,在硬盤執(zhí)行某一命令的同時,隊列中可以加入新的命令并排在等待執(zhí)行的作業(yè)中,這樣就減少了磁頭來回移動的時間,從而使數據讀取更高效。 舉個例子:在沒開啟NCQ的時候,磁頭可能會先讀取盤片1的12扇區(qū),再讀取盤片2的32扇區(qū),然后又讀取盤片1的23扇區(qū),再讀取盤片2的43扇區(qū)。但開啟了NCQ后,就會優(yōu)先按照“盤片1的12扇區(qū)→盤片1的23扇區(qū)→盤片2的32扇區(qū)→盤片2的43扇區(qū)”的順序來讀數據。這樣一來,就有效降低了磁盤跳轉的頻率,也就提高了文件的讀取速度。 關閉和開啟NCQ的數據讀取區(qū)別圖示
開啟NCQ技術的前提——開啟AHCI功能!
正如上文所述,NCQ技術其實是SATA II硬盤最有意義的特性。但NCQ技術的硬盤是否都能開啟NCQ技術呢?這幾乎是不可能的。因為硬盤開啟NCQ技術,必須在BIOS里面開啟AHCI(部分芯片組還要進系統(tǒng)進行設置)以及安裝AHCI驅動。那么,AHCI又是什么呢?
AHCI工作原理圖:AHCI本質是一種PCI類設備,在系統(tǒng)總線和串行ATA設備內部邏輯之間扮演一種通用接口的角色。 AHCI是“Serial ATA Advanced Host Controller Interface”的縮寫,意思是串行ATA高級主控制器接口,是由Intel、AMD、戴爾、Marvell、微軟、Red Hat、希捷和StorageGear等公司聯(lián)合研發(fā)的接口標準,它允許存儲驅動程序啟用高級串行ATA功能。當主板啟用了AHCI功能后,硬盤的管理才被轉交給AHCI模塊和驅動進行控制,進而開啟NCQ和熱插拔功能。 也就是說,AHCI的開啟需要主板芯片組的支持。一般來說,目前Intel和AMD的主流芯片組(主要是南橋芯片組)幾乎都支持AHCI功能,包括Intel的ICH6、ICH7、ICH8、ICH9和ICH10以及AMD的SB600、SB650、SB700和SB750。但在默認狀態(tài)下,幾乎所有主板的硬盤接口模式都是IDE模式,這樣設置的原因是為了保證主板的兼容性(畢竟IDE設備的保有量還非常大,如果推出新主板就拋棄原來的用戶,這是不合理的)。 AMD 芯片組需要用RAIDXpert軟件打開NCQ 如何開啟AHCI功能?
由于AHCI驅動模塊跟普通的IDE驅動模塊不一樣,因此在已安裝了系統(tǒng)的電腦上,單純地打開BIOS選項,通常是無法正常進入系統(tǒng)的(一般會藍屏)。那么,我們該如何啟用AHCI功能呢? 一般情況下,我們推薦全新安裝Windows系統(tǒng)時啟用AHCI功能,這個方法適合于大多數主流的Intel和AMD的主板。方法和步驟如下: 第一步:開機后進入BIOS設置,然后在“Integrated Peripherals→SATA Configuration”中,將SATA模式選項設置為AHCI,然后按F10保存BIOS后重新啟動。 第二步:插入Windows系統(tǒng)安裝光盤。需要注意的是,如果你安裝的是Windows 2000/XP/Vista系統(tǒng),需要在安裝系統(tǒng)時加載AHCI驅動,因此最好選擇內置了AHCI驅動的安裝光盤(即集成SATA驅動的版本),否則在安裝系統(tǒng)時就要通過軟盤(Vista支持U盤)才能加載,但軟驅已經被淘汰了,安裝就會失敗。如果你安裝Windows Vista SP1以后的系統(tǒng),則在安裝的過程中不需要加載(因為這些系統(tǒng)已經集成該驅動),照常安裝Windows就可以了。 第三步:安裝完成后,進入系統(tǒng)后AHCI功能就開啟了,但是NCQ功能還不能使用。此時,Intel芯片組的用戶還需要手動安裝“Intel Matrix Storage Manager”,下載地址為http://downloadmirror.intel.com/17882/a08/IATA89CD.exe(該軟件在沒有啟用AHCI功能之前,系統(tǒng)是無法安裝的)。 而AMD芯片組的用戶則安裝“AMD RAIDXpert”來設置NCQ功能,RAIDXpert的下載地址為http://download./Desktop/ RAIDXpert2.4.1540.11.exe。安裝后啟動RAIDXpert軟件,用默認的賬號和密碼(均為admin)登陸其中,找到“實體磁盤視圖”,選擇相應的硬盤,在設置選項中選擇啟用NCQ,然后點擊“送出”即可。
NCQ技術和AHCI功能的Q&A
Q1:NCQ能不能提高硬盤速度? 啟用NCQ后,設備管理器中的硬盤控制器項目會出現AHCI Controller Q3:為什么開了AHCI,系統(tǒng)在進入滾動條狀態(tài)下,等待的時間會稍微長一點? 看完本文,你可以了解到:
NCQ技術的好處 如何識別硬盤是否支持NCQ 傳統(tǒng)硬盤讀取速度慢的原因 如何開啟NCQ功能給硬盤提速 開啟NCQ后進入系統(tǒng)為何變慢 |
|