« きょうの椿の実(修徳公園) | トップページ | 実物大?(ペコちゃん) »

2011年6月17日 (金)

PIO病治療法(メモ)

 先日SSDに換装したLOOX Uがブルースクリーンになる。換装して一週間ほどで3~4回。一寸多くないか? 換装時に緩衝材を無理矢理詰め込んだので圧死しかけているのかもしれない。というわけで、緩衝材を薄手のものに交換してみた。1日経つが、今のところ再発はしていない。元々使用頻度の低いマシンなのでしばらく様子見だろうか。

Piobefore  念のために、CrystalDiskMark 3.0.1でSeqだけ測定し直してみると、Read,Writeともに2~3MB/sしか出ていない。驚愕の遅さだ。Read、Writeで100MB/s、30MB/sは出ていたのに。いよいよ壊れたか?と検索してみるとPIO病というものがあるらしい。

 I/OデバイスにはDMAモードとPIOモードがある。DMAモードはI/O時にCPUからI/O命令をデバイス(チャネル?)に出すだけで、あとはデバイス(チャネル?)にお任せ。PIOモードはI/OをCPUが直接(?)制御する。速度にはピンキリアルが概ね、DMAは速く、PIOは遅い。大雑把にはそういうことらしい。昔のFIO命令とIO命令(だったっけ?)みたいなものか。
 DMAモードをサポートしているデバイスには自動的にDMAモードでアクセスするが、システム側がデバイスの信頼性が低いと判断した場合(エラーが多発するとか?)、PIOモードに自動的に(勝手に)切り替えてしまう。一旦、PIOモードに落ちると自動的にはDMAモードには戻らない。
 PIOモードに落とす基準は「アクセスエラーが積算6回に達した場合」ということだそうだ。連続6回ではなく、積算6回というところがミソで、レアなエラーが散発しただけでもPIOモードに落とされてしまう。

 PIO病に罹っているかどうかは、「スタート」→「コントロールパネル」→「システム」→「ハードウェア」→「デバイスマネージャ」→「IDE ATA/ATAPIコントローラ」の「プライマリ(セカンダリ)IDEチャネル」→「詳細設定」で、設定が「DMA(利用可能な場合)」となっているにもかかわらず「現在の転送モード」が「PIO」となっているかどうかで確認できる。

 対処としては次の2点。
 ①デバイスをDMAモードに戻す。
 ②PIOモードに落とす基準を積算6回ではなく、連続6回に変更する。

 ①はとにかくの対症療法。②は再発させないための予防策というか延命策。そもそもアクセスエラーが1回でも発生することが問題なので、根本治療にはなっていない。これでもPIO病を発症するようならデバイスの故障を本気で疑うべきなのだろう。

○処置

①デバイスをDMAモードに戻す。
 レジストリエディタ(regedit.exe)を起動してキー「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\××××」の「MasterDeviceTimingModeAllowed」にDWORD値、16進の「ffffffff」を設定する。
 但し、キーの「××××」の部分はPIO病に罹っているデバイスのキー名にすること。数字だけで判りにくいが、「DriverDesc」の値を見ればどのデバイスに相当するのか判断できる。
 これで、次回起動時にデバイス本来のモード(DMA)に戻る。(正確には戻そうと試みる?)

②PIOモードに落とす基準を積算6回ではなく、連続6回に変更する。
 ①と同じキーの「ResetErrorCountersOnSuccess」にDWORD値、「1」を設定する。
 これで、PIOモードに落とす条件を積算6回から連続6回に変更される。

○おまけ
 ①の方法としてPIOモードに落ちたデバイスのドライバを再インストールする方法もあるらしい。一旦、当該デバイスのドライバを削除して再起動すると自動的にドライバがインストールされ、DMAモードに戻るそうだ。

○結果
Pioafter Piodevice  上記2点を施した後、再起動したら、転送モードはDMAに戻り、アクセス速度もほぼ以前の水準に戻った。

<元ネタ>
 次のサイトを参考にしました。というか、対処方法はこちらの内容そのままです。すみません、ありがとうございます。
 PIO病(2000/XPでHDD, DVDドライブが異常に遅くなる)Inspiron1720 (Windows Vista)

|

« きょうの椿の実(修徳公園) | トップページ | 実物大?(ペコちゃん) »

コメント

コメントを書く



(ウェブ上には掲載しません)




« きょうの椿の実(修徳公園) | トップページ | 実物大?(ペコちゃん) »