次の方法で共有


記憶域ハードウェア デバイスの電源管理

はじめに

このドキュメントは、Windows 10 May 2019 Update またはそれ以降の OS バージョンで、Microsoft の組み込みの SATA および NVMe のドライバーを使用している OEM およびデバイスの製造元を対象としています。 Microsoft の一般的なガイダンスは、パフォーマンス、応答性、および電力効率のバランスをとって、"正しく動作する" 組み込みのソリューションを提供することが目的です。 システム全体のパフォーマンスと同様に、正常に動作しないデバイス ハードウェアは、全体的な効率とバッテリの寿命を損なう可能性があります。 一般に、システムは電力効率とパフォーマンスのバランスを取るようにします。

下の図は、ACPI で定義されているデバイスの電源状態 D0 (動作中) から D3 (オフ) を示しています。 デバイスがより深い電源状態に移行すると、電力消費量が削減されますが、待ち時間は長くなります。 また、Windows ではさまざまな機能状態 (F 状態) がサポートされていることに注意してください。これを使用すると、D0 状態の中で詳細なレベルの機能と電力を管理することができます。 これは、高い応答性を維持する必要があるものの、電力を節約する必要があるシステムでのランタイム電源管理に役立ちます。

Power states

ACPI 定義のスリープ状態での電源管理

システムが使用されていない場合、Windows は、システムを ACPI で定義されたスリープ状態にしてエネルギーを節約することがあります。 同様に、Windows は、時間の経過と共により深いスリープ状態を選択して、さらに電力を節約する場合があります。 たとえば、システムは一定期間 S3 に移行し、最終的には S4 の休止状態に移行する場合があります。 システムをスリープ状態に切り替える場合、一般的な目安として、デバイスを可能な限り最も深い D 状態にします。ただし、デバイスがウェイクアップ対応である場合や、ウェイクアップに対して防御している場合を除きます。 これらの条件下では、より浅い D 状態が適切な場合があります。 同様に、システムのスリープが解除されると、デバイスは D0 に戻ります。

ランタイムの電源管理

電力効率の最大化を実現するために、一部のコンポーネントでは、システムがアクティブになっている場合でもデバイスの電源をオフにできるタイミングを決定するために、非常に細かいアイドル ロジックが実装されます。 たとえば、ハイエンドのストレージ デバイスでは、ドライバーが一定期間使用されていないと判断した場合に、実行時に特定の機能ブロックを無効にすることができます。 これが可能になるのは、ユーザーが待ち時間を感じないくらいに素早く、これらの機能ブロックをオンラインに戻して機能させることができる場合のみです。

モダン スタンバイの電源管理

Windows では、システムが使用されていない場合にエネルギーを節約するために、一部のデバイスの電源をオフにすることがあります。 モダン スタンバイでは、システムは S0 のままです。 S0 にある間でも、すべての周辺機器はアイドル タイムアウトによりいずれ電源がオフになる可能性があります。 この状態は、"S0 低電力アイドル" として定義されます。 すべてのデバイスが低電力状態になると、さらに多くのシステム インフラストラクチャ (バス、タイマーなど) の電源がオフになる場合があります。 一般的な経験則としては、システム状態が S0 の場合でも、デバイスがアイドル状態のときは、可能な最も深い D 状態にします。 プロセッサ コンプレックスとプラットフォームの設計の実装の詳細によっては、周辺機器を F 状態、D3 ホット、または D3 コールド (電力を切断) にする必要がある場合があります。 機能ドライバーがこれらの実装の詳細を管理する必要性を軽減するには、ドライバーは、バッテリの寿命を最大化するために、最も深い適切なデバイス状態に移行する必要があります。

D3 のサポート

Windows では、システムが使用されていない場合にエネルギーを節約するために、一部のデバイスの電源をオフにすることがあります。 モダン スタンバイでは、システムは S0 のままです。 S0 にある間でも、すべての周辺機器はアイドル タイムアウトによりいずれ電源がオフになる可能性があります。 この状態は、"S0 低電力アイドル" として定義されます。 すべてのデバイスが低電力状態になると、さらに多くのシステム インフラストラクチャ (バス、タイマーなど) の電源がオフになる場合があります。 一般的な経験則としては、システム状態が S0 の場合でも、デバイスがアイドル状態のときは、可能な最も深い D 状態にします。 プロセッサ コンプレックスとプラットフォームの設計の実装の詳細によっては、周辺機器を F 状態、D3 ホット、または D3 コールド (電力を切断) にする必要がある場合があります。 機能ドライバーがこれらの実装の詳細を管理する必要性を軽減するには、ドライバーは、バッテリの寿命を最大化するために、最も深い適切なデバイス状態に移行する必要があります。

ASL Copy  
Name (_DSD, Package () { 
     
          ToUUID("5025030F-842F-4AB4-A561-99A5189762D0"), 
     
            Package () { 
 
                Package (2) {"StorageD3Enable", 1}, // 1 - Enable; 0 - Disable 
 
            } 
        } 
 ) 

上の ACPI _DSD は、ストレージ デバイスの D3 サポートをオプトインまたはオプトアウトする場合に推奨される方法です。 ただし、必要に応じて D3 サポートを変更するために使用できるグローバル レジストリ キーもあります。

  • 名前: StorageD3InModernStandby
  • 種類:REG_DWORD
  • パス: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Storage\
  • 値:
    • 0 – D3 サポートを無効にする
    • 1 – D3 サポートを有効にする

このレジストリ キーが構成されていない場合、Storport によって _DSD 構成が確認され、D3 を有効にするかどうかが決定されます。 _DSD が実装されていない場合、Storport は、そのプラットフォームが D3 サポートの許可リストにあるかどうかを確認します。

電源管理の親子関係

電源をオンにすると、ストレージ デバイスに対して親子関係が常に適用されます。 電源を切るときに、親子の電源関係が適用されない唯一のケースは、コントローラーが D3Hot のみをサポートし、デバイスが F1 から PoFx を報告した場合です (つまり、DEVSLP がサポートされているか、またはモダン スタンバイシステムの SSD である)。この場合、コントローラーは、デバイスが F1 にある間に D3 に入ることができます。

このセクションの内容

トピック 説明

NVMe

このトピックでは、NVMe ストレージ デバイスの電源管理ガイドラインについて説明します。

SATA/AHCI

このトピックでは、SATA/AHCI ストレージ デバイスの電源管理ガイドラインについて説明します。