Compartir a través de


Administración de energía para dispositivos de hardware de almacenamiento

Introducción

Este documento está pensado como guía para los oem y fabricantes de dispositivos que usan los controladores SATA y NVMe de Microsoft en Actualización de mayo de 2019 de Windows 10 o versiones más recientes del sistema operativo. La guía general de Microsoft es proporcionar soluciones incorporadas que "solo funcionan" en términos de equilibrio del rendimiento, la capacidad de respuesta y la eficiencia energética. Como es el caso del rendimiento general del sistema, el hardware del dispositivo mal comportamiento puede poner en peligro la eficiencia general y la duración de la batería. En general, el sistema intenta equilibrar la eficiencia energética con el rendimiento.

En el diagrama siguiente se muestran los estados de alimentación del dispositivo definidos por ACPI D0 (en funcionamiento) a D3 (desactivado). Tenga en cuenta que, a medida que el dispositivo pasa a estados de energía más profundos, se reduce el consumo de energía, pero aumenta la latencia. Tenga en cuenta también que Windows admite distintos estados funcionales (F-States), que se pueden usar para controlar la funcionalidad y la potencia de los niveles específicos dentro del estado D0. Esto puede ser útil para la administración de energía en tiempo de ejecución en el que el sistema necesita mantener una gran capacidad de respuesta, pero todavía necesita ahorrar energía.

Estados de energía

administración de energía de estado de suspensión de ACPI-Defined

Cuando el sistema no está en uso, Windows puede colocar el sistema de forma oportunista en un estado de suspensión definido por ACPI para ahorrar energía. Del mismo modo, Windows puede elegir estados de sueño profundo con el tiempo para ahorrar aún más energía. Por ejemplo, el sistema puede pasar a S3 durante un período y, finalmente, realizar la transición a hibernación S4. Cuando el sistema pasa a un estado de suspensión, la regla general general es colocar el dispositivo en el estado D más profundo posible, a menos que el dispositivo sea compatible con reactivación y esté armado para la reactivación. En estas condiciones, un estado D más superficial puede ser adecuado. Del mismo modo, cuando el sistema se activa, el dispositivo volverá a pasar a D0.

Administración de energía en tiempo de ejecución

Para lograr la máxima eficiencia energética, algunos componentes implementarán una lógica inactiva muy específica para determinar cuándo se pueden apagar los dispositivos, incluso cuando el sistema está en uso activo. Por ejemplo, un dispositivo de almacenamiento de gama alta podría deshabilitar determinados bloques funcionales durante el tiempo de ejecución si el controlador considera que no se han usado durante algún período de tiempo. Esto solo es posible si esos bloques funcionales se pueden volver a conectar y hacer funcionales lo suficientemente rápido como para que el usuario no incurra en latencias notables.

Administración moderna de energía en espera

Cuando el sistema no está en uso, Windows puede apagar la energía de forma oportunista a algún conjunto de dispositivos para ahorrar energía. En espera moderna, el sistema permanece en S0. Incluso en S0, todos los dispositivos periféricos pueden apagarse finalmente debido a tiempos de espera de inactividad. Este estado se define como "S0 Low Power Idle". Una vez que todos los dispositivos estén en un estado de bajo consumo, es posible que se apaguen aún más de la infraestructura del sistema (por ejemplo, buses, temporizadores, ...) . La regla general general es colocar el dispositivo en el estado D más profundo posible cuando está inactivo, incluso cuando el estado del sistema es S0. En función de los detalles de implementación del diseño complejo y de plataforma del procesador, es posible que sea necesario que los dispositivos periféricos vayan a un estado F, D3 Hot o D3 Cold (se corta la alimentación). Para mitigar la necesidad de que un controlador de función administre estos detalles de implementación, los controladores deben ir al estado de dispositivo más profundo adecuado para maximizar la duración de la batería.

Compatibilidad con D3

Cuando el sistema no está en uso, Windows puede apagar la energía de forma oportunista a algún conjunto de dispositivos para ahorrar energía. En espera moderna, el sistema permanece en S0. Incluso en S0, todos los dispositivos periféricos pueden apagarse finalmente debido a tiempos de espera de inactividad. Este estado se define como "S0 Low Power Idle". Una vez que todos los dispositivos estén en un estado de bajo consumo, es posible que se apaguen aún más de la infraestructura del sistema (por ejemplo, buses, temporizadores, ...) . La regla general general es colocar el dispositivo en el estado D más profundo posible cuando está inactivo, incluso cuando el estado del sistema es S0. En función de los detalles de implementación del diseño complejo y de plataforma del procesador, es posible que sea necesario que los dispositivos periféricos vayan a un estado F, D3 Hot o D3 Cold (se corta la alimentación). Para mitigar la necesidad de que un controlador de función administre estos detalles de implementación, los controladores deben ir al estado de dispositivo más profundo adecuado para maximizar la duración de la batería.

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

La _DSD ACPI anterior es la manera preferida de participar o no en la compatibilidad con D3 para dispositivos de almacenamiento. Sin embargo, también hay una clave del Registro global que se puede usar para modificar la compatibilidad con D3 si es necesario.

  • Nombre: StorageD3InModernStandby
  • Tipo: REG_DWORD
  • Ruta de acceso: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Storage\
  • Valor:
    • 0: deshabilitar la compatibilidad con D3
    • 1: Habilitación de la compatibilidad con D3

Si la clave del Registro no está configurada, Storport comprobará la configuración de _DSD para determinar si se debe habilitar D3. Si el _DSD no está implementado, Storport comprobará si la plataforma está en la lista de permitidos para la compatibilidad con D3.

Relación de elementos primarios y secundarios para la administración de energía

Durante el encendido, la relación primaria/secundaria siempre se aplica a los dispositivos de almacenamiento. Durante el apagado, el único caso en el que no se aplica la relación de alimentación primaria o secundaria es si el controlador solo admite D3Hot y el dispositivo informa F1 a PoFx (es decir, SE ADMITE DEVSLP o es un SSD en un sistema en espera moderno), el controlador puede entrar D3 mientras el dispositivo está en F1.

En esta sección

Tema Descripción

NVMe

En este tema se tratan las directrices de administración de energía para dispositivos de almacenamiento NVMe.

SATA/AHCI

En este tema se tratan las directrices de administración de energía para dispositivos de almacenamiento SATA/AHCI.