2013年6月26日水曜日

Intel Driver V11.5以降のSATA LPMの設定

アクセス解析をみていますと、現在でも以前に掲載したSATA LPMの設定に関する記事の閲覧が多いようです。しかし、以前の記事は、Intel製ドライバーがVer10.x(iaStor.sys/iaStorV.sys)の時代に執筆したため内容が古く、V11.5以降のドライバー(iaStorA.sys/iaStorF.sys)では使用できません。Intel製ドライバー Ver11.5以降のSATA LPMの設定方法は、まだほとんど紹介されていないようなので、今回はこれを紹介したいと思います。

最初にSATA LPMを無効にするもっとも簡単な方法を紹介しておきます。その方法は、UEFI/BIOSで「HotPlug」の機能を有効に設定することです。SATA LPMの機能は、Intel/AMDどちらのコントローラーでもHotPlugを有効に設定すると自動的に無効に設定されます。


ただし、HotPlugを有効にすると、USB接続のHDDやUSBメモリーを接続したとき同様に通知領域にある「安全に取り外し」アイコンのリストにSSD/HDDが表示されてしまいます。OS起動ドライブの場合、前述のリストから取り外しを選択しても、常に使用中なので実際には取り外し処理を行うことはできません。しかし、リストに表示されること事態が邪魔臭いという方も多いと思います。そのときは、SATAドライバー(AHCIドライバー)のレジストリを変更することでSATA LPMの機能を無効に設定します。

レジストリの設定は、使っているSATAドライバーによって異なります。たとえば、MS純正のAHCIドライバーとIntel製ドライバーでは設定方法が異なります。また、Intel製ドライバーの場合、V11.5以降ではドライバーそのものが作り変えられたため、V11.5より前のドライバーと設定方法が異なります。ここでは、使用者の多いIntel製ドライバー V11.5以降のレジストリの設定を紹介します。Intel製ドライバーのV11.5より前のバージョンをご使用の場合は、以前の記事を参照してください。

また、MS純正AHCIドライバーのレジストリ設定の方法は、あちこちで紹介されているので本ブログではあえて紹介はいたしませんが、Windows 7/8の場合は、電源オプション画面にSATA LPMの設定を表示するようにレジストリを変更し、「Active」を選択すれば、SATA LPMをオフに設定できます。この方法は、Windows 7/8の両方で有効であることをハードバスアナで確認しています。また、Windows 7の場合は、MS製純正ドライバー「msahci.sys」のレジストリを変更することでもSATA LPMを無効にできます。

それでは、Intel製ドライバー V11.5以降のSATA LPMの設定方法を説明します。Intel製ドライバー V11.5以降は、レジストリエディターで「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorA\Parameters\Device」を開き、DWORDで以下のキーを作成して設定を行います。

DIPMの有効/無効の設定 Controller0PhyXDIPM(Xはポート番号)
Enable:1(Default)、Disable:0
HIPMの有効/無効の設定 Controller0PhyXHIPM(Xはポート番号)
Enable:1(Default)、Disable:0
HIPMで要求するLPMの状態 Controller0PhyXLPMState(Xはポート番号)
Slumber:1、Partial:0(Default)
DSTATE時にHIPMで要求するLPMの状態 Controller0PhyXLPMDstate(Xはポート番号)
Slumber:1(Default)、Partial:0



なお、SATA LPMの機能が動作しているかどうかをユーザーが確認することは基本的にはできませんが、DIPMに限っては、TxBenchのドライブ情報で有効/無効を確認できます。