PIO病

PIO病またはPIO地獄とは、いつのまにやらWindowsがIDEデバイスの転送モードをPIOに変更してしまい、3MB/s(最近のHDDなんかだと50MB/sくらいは出る)くらいしか転送速度が出なくてOSの起動やら全てが遅くなってしまう現象です。

これはWindows(2000以降?)のという仕様によることが多いそうです。レジストリの変更によりこの挙動を変更した上で、DMAに復帰させることが出来ました。

いろいろな情報が錯綜していて、かなり迷ったのですが、鍵となるのは、

な模様です。前者がWindowsの「DMAによる転送が6回失敗したらPIOに変更する」という仕様を「DMAによる転送が6回連続で失敗したらPIOに変更する」というように変更させるためのDWORD値で、データには1を指定。後者が上記仕様により固定されてしまった転送モードを改めてWindowsに設定してもらうように促すためのDWORD値で、データにはffffffffを指定。この後、Windowsを再起動したところ、きちんと最速の転送モードに変更されました。

MasterDeviceTimingModeで転送モードを指定しても良いみたいですが、MasterDeviceTimingModeAllowedでWindowsに再設定を促してやるだけで接続したIDEデバイスのサポートする転送速度に見合った転送モードにしてくれるようです。

PIO病の感染者の方は試してみると良いかも。責任は取りませんが。

追記

PIOモードになっていないにも関わらず、一部のWesternDegital製HDDにおいて極端に速度が落ちる現象(低速病)が起きるという噂は、PIO病とは関係ありません。