史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   系統 & 硬體安裝及故障判斷技術文件 (http://forum.slime.com.tw/f134.html)
-   -   如何讓ATA磁牒發揮出最大的效能 (http://forum.slime.com.tw/thread63171.html)

psac 2003-08-23 05:06 PM

如何讓ATA磁牒發揮出最大的效能
 
 流行的ATA/66(即Ultra DMA/66或UDMA/66)以及ATA/100(即Ultra DMA/100或UDMA/100)標準分別支持66MBps和100MBps的最大傳輸速率,最新的SerialATA標準更讓傳輸速率達到了150Mbps以上。在典型的單個磁牒驅動器的環境中,上述最大傳輸速率在實際使用中一般是不可達到的,限制來自多方面,包括ATA晶片的限制、系統總線體系等。儘管如此,主要是由於SCSI設備價格一直居高不下的原因,ATA仍然是當前普通工作站的主流選項。另一方面,如何讓ATA磁牒發揮出最大的效能,卻不像裝上一個新驅動器然後連接電纜那麼簡單。

  為了及時跟進ATA存儲技術的不斷發展,Microsoft不斷發行各種修正檔來改進Windows對ATA的支持。要讓ATA設備在Windows 2000下以最佳的狀態執行,掌握一些基礎知識是必不可少的,包括ATA接頭、必需的硬體、相關的軟體(例如,Win2K的修正檔,內建和第三方的驅動程式)。

  一、硬體需求

  首先,系統必須有一個支持硬碟驅動器進階ATA模式的控制器。當前的驅動器支持的最一般的標準包括ATA/33、ATA/66和ATA/100。幾乎所有的ATA控制器都向後相容,例如ATA/100控制器一般支持那些使用ATA/33甚至更早的IDE或EIDE標準的磁牒。

  在大多數系統上,控制器支持屬於主機板ATA晶片組的工作之一,但也有一些系統的控制器是外插的PCI卡,如ATA RAID容錯式獨立磁碟陣列控制器。Intel佔據ATA晶片組的大部分市場,但也有其他晶片組廠商提供ATA控制器晶片組,如威盛(www.viatech.com.cn)。

  晶片組是ATA系統中最重要的一部分,它以及它的驅動程式決定了連線到控制器的設備可以使用哪些功能。因此,瞭解ATA系統的第一步是瞭解主機板上的晶片組或控制卡的功能。如果ATA控制晶片是嵌入到主機板的,還要檢查一下BIOS是否支持想要使用的ATA模式。可能會出現這樣的情況,雖然控制晶片支持某種ATA模式,但BIOS卻不支持。如果這樣,你就必須更新主機板的BIOS。

  接下來要保證採用了適當的連接方式,盡量把不同的磁牒連線到不同的傳輸通道(電纜)上。這一點很重要,因為ATA通道預設以當前通道上最慢設備的速率工作。如果一個ATA/33和一個ATA/100磁牒連接在同一個通道上,該通道的最大傳輸速率將是ATA/33。因此,必須把低速的ATA設備(例如CD-ROM、CD-R、CD-RW、Zip或老式硬碟)接入一個通道,高速的ATA硬碟接入另一個通道。

  另外還要注意連接的電纜。ATA/33、ATA/66、ATA/100規範要求使用專用的80線電纜,而早期ATA硬碟使用的通常是40線的電纜。額外增加的電纜線主要起接地的作用,能夠有效地降低電纜傳輸的信噪比。

  二、Windows的ATA支持

  早期的IDE/ATA規範使用一種叫做Programmed I/O(PIO)的資料傳輸方法,這種傳輸方法在很大程度上依賴於CPU把資料從硬碟的緩衝記憶體轉移到系統記憶體。早期的PIO模式(0、1和2)建立在最初的ATA標準上,後來ATA-2規範(即EIDE或Fast ATA)包含了兩種新的PIO模式(3和4),同時引入了兩種直接記憶體訪問(DMA)模式。DMA是一種對CPU依賴程度不高的傳輸方式,有效地降低了PIO加給系統CPU的壓力。為了提高資料傳輸效能,DMA允許IDE控制器直接訪問系統記憶體(其他設備控制器,包括SCSI和以太網橋接器,也都使用了這種技術)。後來,DMA發展成了Ultra DMA,即Ultra ATA或ATA/33、DMA-33標準,它支持新的模式DMA Mode 3。當然,為了向後相容,現在的絕大多數硬碟支持所有較老的資料傳輸模式——包括PIO和DMA。

  早期的UDMA磁牒和控制器能夠達到33MHz的速度,即其理論最大傳輸速率是33MBps。隨著技術的進步,新版本的UDMA支持DMA Mode 4的66MBps,以及DMA Mode 5的100 MBps。今天使用的大多數ATA硬碟都是ATA/66或ATA/100,提供了原先只有SCSI硬碟才能提供的存儲速率,縮小了ATA和SCSI在效能上的差距。

  儘管ATA技術在PC領域佔據了統治地位,但NT和Win 2K在最佳化ATA磁牒效能方面卻不那麼出色。在NT下,這個問題的根源在於ATA磁牒驅動程式的實現方式,它用一個偽SCSI微連接阜(Miniport Driver)驅動程式atapi.sys結合scsiport.sys,構成一個偽SCSI驅動程式,實現對所有ATA設備的支持。對於早期的IDE控制器和設備,這種一步到位的配置相當有效,沒有出現任何明顯的效能問題。但是,atapi.sys驅動程式常常拖了新式控制器和設備的後腿,因為atapi.sys不能支持新設備的進階PIO和DMA操作模式。雖然一些NT的Service Pack為atapi.sys增加了對這些新操作模式的支持,但有時要有第三方的驅動程式才能發揮出最優的效能。

  Win2K修改了原來的ATA驅動模式,把atapi.sys改成了和scsiport.sys一樣的全功能連接阜驅動程式,廠商們可以在一個特殊的MiniIDE驅動程式中實現各種新功能,包括DMA和Busmastering等,使得操作系統能夠發揮出控制器的特殊功能。儘管如此,在ATA支持方面還有不少問題存在,特別是對新的DMA Mode 4和5(ATA/66和ATA/100)資料傳輸模式的支持。

  最初發行的Win2K支持的速度最高的傳輸模式是UDMA/66,這是當前套用最廣泛的傳輸模式之一。然後,在一些關於Intel ATA晶片的系統上,Windows預設不啟用最快的傳輸模式UDMA/66。顯然,這麼做一定有它的理由。但是,注意到這種情況的人並不多。Microsoft發佈的《HOWTO:如何在Intel晶片上啟用UDM/66模式》(http://support.microsoft.com/default...;en-us;q247951)提出了這個問題。這篇文章說明了如何通過修改註冊表啟用UDM66,主要步驟如下(適用於Win 2K專業版、伺服器版、進階伺服器版):

  確保所有硬體支持UDMA66,使用80線的硬碟電纜。

  啟動註冊表編輯器Regedt32.exe,找到

  HKEY_LOCAL_MACHINE@System@CurrentControlSet@Control@Class@{4D36E96A-

  E325-11CE-BFC1-08002BE10318}@0000。

  選項表單「編輯->增加數值」:

  數值名稱:EnableUDMA66

  資料類型:REG_DWORD

  值:1

  關閉註冊表編輯器,重新啟動機器。

  令人遺憾的是,這篇文章沒有說明哪些Win 2K的Service Pack、Intel晶片和磁牒受到這個預設配置的影響,也沒有說明與UDMA/100或非Intel晶片有關的設定。另一篇與ATA有關的文章《Windows 2000對ATA 100(Mode 5)的支持》(http://support.microsoft.com/default...;en-us;q260233)指出,Win2K的SP2解決了對ATA/100(即DMA Mode 5)的支持問題。但是,這篇文章同樣沒有提供一些重要的信息,例如哪些ATA晶片受到該問題的影響(Intel晶片,還是非Intel晶片?),該問題與以前的ATA/66支持問題有何關係?等等。如果你的系統恰好就是Microsoft在這些文章中所指的系統,那麼按照推薦的方法修改註冊表並安裝SP2以上的版本,一般會解決所有的ATA模式支持問題。否則,最好尋求第三方驅動程式的支持。

  三、第三方驅動程式

  所有上述文章都沒有提及這類ATA支持問題實際上與預設的atapi.sys驅動程式有關,也沒有指出如果使用專門針對系統所用晶片設計的第三方驅動程式可以獲得更好的效果。實際上,第三方驅動程式往往能夠解決大多數前面提到的問題,充分發揮晶片的能力。大多數情況下,第三方驅動程式會自動配置系統(包括所有必要的註冊表設定),正確啟用晶片能夠支持的最快的ATA模式。遺憾的是,雖然大多數系統和ATA晶片組的廠商為ATA控制器提供了驅動程式,許多用戶根本不知道這回事,或者根本沒有想到要安裝它們。

  例如,就Intel晶片組而言,它提供的第三方驅動程式叫做Application Accelerator(取代以前的Ultra ATA Storage Driver),可以從http://support.intel.com/support/chipsets/iaa/下載。該網站不僅提供了支持所有ATA資料傳輸模式的Ultra ATA驅動程式,還有一個晶片組配置工具說明 你檢查Windows 2K是否正確地識別出了系統的ATA晶片組。其他晶片組廠商,例如www.viatech.com.cn,也提供相應的驅動程式。使用第三方驅動程式還有一個好處,一些程序的軟體包不僅包含正確識別和啟用高速ATA傳輸模式的工具,而且還有報告各個ATA通道和設備正在使用的PIO或DMA模式的工具。Windows 2000本身也能夠提供類似的信息(開啟裝置管理員,選項ATA通道瀏覽其「內容」,檢視「進階設定」),然而,Windows 2000報告的信息不夠詳細,有時甚至是錯誤的,例如《裝置管理員錯誤地把ATA-100設備顯示成使用PIO而不是UDMA》(http://support.microsoft.com/default...;en-us;q269555)。

Intel的晶片組識別工具

Intel的應用程式加速器
  總而言之,要讓Win2K下的ATA設備具有最好的穩定性、可管理性和效能,深入瞭解相關知識以及查閱資料是必不可少的。記住,每一個系統是不同的,包括控制器、晶片組、磁牒生產商、支持的傳輸模式、驅動程式等,應當讓這一切處於最協調、穩定的狀態,必要時使用第三方驅動程式。

windq 2003-08-24 02:10 AM

呵呵,真的是不錯的知識啊

^______^

謝謝您


所有時間均為台北時間。現在的時間是 04:27 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1