查看單個文章
舊 2006-03-29, 12:02 PM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

什麼是DMA?如何開啟DMA?如何防DMA被系統關閉?

在Windows 2000、XP、2003系統有時會自行關閉硬碟的DMA模式,自動改用PIO模式執行!這就造成在使用以上系統中硬碟效能突然下降,其中最明顯的現象有:系統起動速度明顯變慢,一般來說正常Windows XP系統啟動時那個由左向右運動的滑條最多走2∼4次系統就能啟動,但這一問題發生時可能會走5∼8次或更多!出現以上問題時大家最好看看自己硬碟的DMA模式是不是被Windows 系統自行關閉了。檢視自己的系統是否開啟DMA模式:
1.雙按「系統管理工具」,然後雙按「電腦管理」;
2.按下「系統工具」,然後按下「裝置管理員」;
3.展開「IDE ATA/ATAPI 控制器」節點;
4.雙按您的「主要IDE控制器」;
5.點擊「進階設定」。
看到「設備0」,下面的傳輸模式應設為「DMA(若可用)」,再下面「當前傳輸模式」,如果是「Ultra DMA Mode *(*為數位,DMA33為2,DMA66為4,DMA100為5、DMA133為6)」,那麼你的系統正常,但如果以前你自己設的是「Ultra DMA Mode 6」又沒有改動,而現在是「Ultra DMA Mode 4」或「Ultra DMA Mode 2」更或者是「PIO 模式」而且改不過來!可能就是系統自行關閉了DMA模式了。
分析問題
好了,先來說說問題是如何產生的。在Windows 2000/XP/2003中有這樣一個設定: Windows IDE/ATAPI 連接阜驅動程式 (Atapi.sys) 累積收到總共6個超時或循環冗余檢驗 (CRC) 錯誤後,驅動程式將把通信速度(傳送模式)從最快的直接記憶體訪問 (DMA) 模式分步驟降為較慢的 DMA 模式。如果驅動程式繼續收到超時或 CRC 錯誤,則驅動程式最終將把傳送模式降為最慢的模式(PIO 模式)。 問題就在這裡!一般來說一個正常的硬碟很少會有超時或循環冗余檢驗 (CRC) 錯誤,但是當我們使用這些系統裡的掛起(也有叫休眠)並恢復電腦後就很容易造成超時或循環冗余檢驗 (CRC) 錯誤。因為系統設定的超時值為4秒,當系統向 ATA 磁牒發出讀取請求時如果硬碟回應時間超過 4 秒的超時值時才會產生超時或循環冗余檢驗 (CRC) 錯誤,但因為系統在掛起(也有叫休眠)時硬碟是在停轉狀態中,恢復電腦時硬碟有個從停止到運動的程序,這就很容易造成大部分硬碟回應時間超過 4 秒的超時值。也就是說當我們使用電腦掛起6次後系統就會把通信速度(傳送模式)從最快的直接記憶體訪問 (DMA) 模式分步驟降為較慢的 DMA 模式。如果掛起6次以上則驅動程式最終將把傳送模式降為最慢的模式(PIO 模式)。這就是Windows 系統突然變慢的原因。
解決問題
若要為受影響的設備重新啟用典型DMA或更快DMA的傳送模式,請執行以下操作:
1.雙按「系統管理工具」,然後雙按「電腦管理」;
2.按下「系統工具」,然後按下「裝置管理員」;
3.展開「IDE ATA/ATAPI 控制器」節點;
4.雙按您要為其恢復典型 DMA 傳送模式的控制器;
5.按下「驅動程式」選擇項;
6.按下「卸載」。
當此程序完成後,重新啟動您的電腦。當 Windows 重新啟動後,將重新枚舉硬碟控制器,同時與該控制器相連的每個設備的傳送模式將重置為預設值。
但這樣只是把硬碟設備的傳送模式重置為預設值,當我們再使用掛起系統時系統又會自行關閉DMA模式!所以我們還要做以下操作:
1.按下「開始」,按下「執行」,按鍵輸入 Regedit,然後按下「確定」。
2.在註冊表中找到並按下以下項:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001和
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002
3.在「編輯」功能表上,指向「新增」,然後按下「DWORD 值」。
4.按鍵輸入 ResetErrorCountersOnSuccess,然後按 Enter 鍵。
5.在「編輯」功能表上,按下「修改」。
6.按鍵輸入 l,然後按下「確定」。
7.按照下列步驟操作,然後結束註冊表編輯器:
注意
上面註冊表最後的項「」列出的帶有「0001」編號的子項對應於一台僅有一個 IDE 控制器的電腦的主要 IDE 通道和次要 IDE 通道。如果您的電腦有兩個 IDE 控制器,則對於每個控制器,主要 IDE 通道和次要 IDE 通道的帶有編號的子項分別是:「0001、0002、0003、0004、0005、0006……」。
為檢查是否找到了正確的子項,請檢查子項的 DriverDesc 值是包含字串串值「主要 IDE 通道」,還是包含字串串值「次要 IDE 通道」。
建立以上註冊表鍵值的目的是
在Windows中,使系統向 ATA 磁牒發出讀取請求時的 4 秒的超時值更改為 10 秒。還實現了一種較不嚴格的變通原則以在發生超時錯誤和 CRC 錯誤時降低傳送模式(從較快的 DMA 模式到較慢的 DMA 模式,最終降為 PIO 模式)。以前的情況是,在每當累積發生的超時錯誤或 CRC 錯誤的總數達到 6 次時,IDE/ATAPI 連接阜驅動程式 (Atapi.sys) 將降低傳送模式。當我們建立以上註冊表鍵值實現新的原則後,Atapi.sys 僅在連續發生 6 次超時錯誤或 CRC 錯誤後才降低傳送模式。
這一新的原則實現後將大大降低系統降低或關閉DMA傳送模式的機會。現在我們可以安心地使用掛起系統和高效能的DMA硬碟模式,再也不會發生系統效能突然下降的情況了

DMA(Direct Memory Access,直接記憶體存取),顧名思義DMA功能就是讓設備可以繞過處理器,直接由記憶體來讀取資料。開啟硬碟的DMA模式將大幅度的提高硬碟系統的功能,使我們能更快更好的進行視瀕處理和文件傳輸。開啟燒錄機的DMA選項,可以保障燒錄品質,並降低燒錄時的CPU佔用率。所以在我們首次連接好DVD燒錄機,進入Windows系統後要做的第一件事情就是要驗證DVD燒錄機的DMA模式已開啟。
在 Windows 98 啟用記憶體直接存取 DMA,方法:
右擊 Windows 桌面上的「我的電腦」 圖示並從彈出功能表選項 「內容」。 系統內容視窗出現。按下「設備管理」標籤。雙按「CDROM驅動器」, 檢視硬碟驅動器列表。 右擊 IDE DISK (可能會有其他名稱, 例如 GENERIC IDE DISK)並從彈出功能表選項 「內容」。 該硬碟內容視窗出現。按下「設定」標籤。選項 「DMA」 如果該項未選, 然後按下「驗證」。 Windows 提示您是否要重新啟動, 按下「是」。
在 Windows 2000 啟用記憶體直接存取 DMA,方法:
作為管理員(或具管理員特權的用戶)登入進入Windows。右擊Windows桌面上的「我的電腦」圖示並從彈出功能表選項「內容」。系統內容視窗出現。按下「硬體」標籤, 然後按下「裝置管理員」。裝置管理員視窗出現。雙按「IDE ATA/ATAPI控制器」來檢視控制器列表。雙按「主IDE通道」。主IDE信道內容視窗出現。 按下「進階設定」標籤,選項裝置0及裝置1的「DMA」,按下驗證。對「從IDE通道」進行同樣設定。Windows問您是否要重新啟動,按下「是」。
在 Windows XP 啟用記憶體直接存取 DMA,方法:
作為管理員(或具管理員特權的用戶)登入進入Windows。按下「開始」按鈕,然後右擊「我的電腦」並從彈出功能表選項「內容」。系統內容視窗出現。按下「硬體」標籤,然後按下「裝置管理員」。裝置管理員視窗出現。雙按「IDE ATA/ATAPI 控制器」來檢視控制器列表。雙按「主IDE通道」。主IDE通道內容視窗出現。按下「進階設定」標籤。選項裝置0及裝置1的「DMA」,按下驗證。對「從IDE通道」進行同樣設定。您不必重新啟動Windows。
資料更新:2005-6-5(關於DMA的更多技術訊息)
附表:硬碟接頭特性及其發展簡表
硬碟接頭特性及其發展簡表 http://z80.yeah.net
接頭名稱 傳輸速率 連接方式
ATA-1   40針電纜連接
單字元 DMA 0 2.1 MByte/s
PIO - 0 3.3 Mbyte/s
單字元 DMA 1,多字元 DMA 0 4.2 MByte/s
PIO - 1 5.2 MByte/s
PIO - 2,單字元 DMA 2 8.3 MByte/s
ATA-2   40針電纜連接
PIO -3 11.1 MByte/s
多字元 DMA 1 13.3 MByte/s
PIO -4,多字元 DMA 2 16.6 MByte/s
ATA-3 40針電纜連接
多字元 DMA3,Ultra DMA 33 33.3 MByte/s  
ATA-4 40針80芯電纜連接
Ultra DMA 66 66.7 MByte/s  
ATA-5 40針80芯電纜連接
Ultra DMA 100 100.0 MByte/s  
ATA-6 40針80芯電纜連接
Ultra DMA 133 133.0 MByte/s  
Serial ATA 1.0 4針電纜連接
Serial ATA 1.0 150 MByte/s  
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次