HDD UDMA helyett PIO módban dolgozik

HDD
  • Jelenség:

Mostanában futottam bele a fenti problémába. Az egyik winchesterem hirtelen a 30 MB/S sebességről visszalassult 3 MB/S-ra.

  • A jelenség oka:

A Windowsban ha az IDE/ATAPI-portillesztő programja (Atapi.sys) összesen több mint hat időtúllépési vagy CRC-hibáról kap jelzést, csökkenti a kommunikáció sebességét oly módon, hogy a leggyorsabb átvitelt biztosító DMA üzemmódról fokozatosan lassabb DMA üzemmódokra áll át. Ha az illesztő program továbbra is időtúllépési vagy CRC-hibajelzéseket kap, végül a leglassabb átviteli módra - a PIO üzemmódra - vált át. Lásd: http://support.microsoft.com/kb/817472/

  • Pontos észlelés:

Ha a Sajátgép / tulajdonságok /Hardver / Eszközkezelő /IDE ATA/ATAPI Vezérlők / Elsődleges IDE csatorna vagy Másodlagos IDE csatorna / Tulajdonságok / Speciális beállítások fülön az látható, hogy a meghajtó nem UDMA 2, 3, 4, 5-öt használ, akkor biztosak lehetünk benne, hogy a fenti dolog áll fent.
Valószínűleg vagy a port, vagy a HDD hamarosan elhalálozik. Sajnos ilyenkor egy HDD teszt is különösen nagy winchestereknél napokig eltarthat (~ 500GB WD 38 órát írt a full teszt)

  • Megoldás:

Vissza kell állítani a Windowsnak a driverében az UDMA állapotot, majd így futtatni a tesztet, lementeni, amit lehet és winchester csere.

  • 1. Megoldás: a Registry buhera

Ez a kulcs jelenti a windowsban az IDE Vezérlő IDE csatornáit.

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}

Ezen belül a, 0001, 0002, 0004, 0005 ... jelenti az egyes IDE csatornákat.
0001, 0004 - Elsődleged IDE csatorna
0002, 0005 - Másodlagos IDE csatorna
Minden csatornához három (négy) kulcs tartozik, ami fontos lehet ebből a szempontból:

  1. MasterDeviceTimingMode - A Master eszköz aktuális sebességi módja
  2. MasterDeviceTimingModeAllowed - A Master eszköz lehetséges sebességi módjai. Ha ez a kulcs nincsen, akkor érdemes létrehozni és 0xFFFFFFFF értéket írni bele, ugyanis ez újra engedélyezi rebbot után a DMA/UDMA módot. Ezt állítsuk be!
  3. UserMasterDeviceTimingModeAllowed - Ha a felhasználó kézzel lassabb értéket állított be (pl. PIO), akkor van itt érték.
  4. MasterIdDataChecksum - A rendszer hozza létre probléma esetén.

Ugyanezek a paraméterek megvannak a Slave Portra is

  • 2. Megoldás: a port uninstallálása

A hardverkezelőből kinyírjuk az IDE portot. Ez nem mindig hoz eredményt, ugyanis a Windows regisztrálta a HDD-t és ebben az esetben, amikor a gépet újraindítjuk, a HDD beállításait visszateszi a rendszer olyanra, amilyen volt korábban. Ilyenkor még az IDE Vezérlő Speciális beállítások fülön vissza lehet állítani a UDMA értéket.
Mindezeket a windows XP SP2-vel érdemes tenni.

  • 3. Megoldás:

ResetErrorCountersOnSuccess - Ezt a beállítást a megfelelő IDE porthoz beállítjuk a Registryben, akkor elvileg hibás olvasás után segít. (Ezt is a fenti Microsoft cikkből vettem).
Nálam az 1. Megoldás vált be.

Az információt innen vettem: http://winhlp.com/node/10?page=1