SATA/AHCI

Questa sezione descrive in dettaglio il modo in cui il driver SATA (StorAHCI) di Microsoft gestisce la potenza e le opzioni di configurazione disponibili.

HIPM/DIPM

Per impostazione predefinita, HIPM è abilitato e StorAHCI gestisce transizioni Parziali per Slumber. Quando il dispositivo è in D0, dopo che il collegamento è stato in Parziale per 100ms, StorAHCI passerà a Slumber. StorAHCI consente al controller di gestire le transizioni da Active a Partial abilitando la "funzionalità parziale aggressiva" dello standard SATA-I/O.

Dopo aver immesso il dispositivo D3, StorAHCI passerà immediatamente il collegamento a Slumber.

HIPM è stato scelto perché StorAHCI controlla direttamente le transizioni DEVSLP e in genere i controller compatibili con DEVSLP indicano che DEVSLP può essere raggiunto solo tramite lo stato Slumber. Pertanto, StorAHCI deve anche controllare le transizioni a Slumber.

DEVSLP

StorAHCI controlla DIRETTAMENTE DEVSLP per bilanciare in modo efficace il potere, la velocità di risposta e la diagnosbilità. Pertanto, StorAHCI non usa la funzionalità DEVSLP controllata dall'hardware (a.k.a. "AGGRESSIVO DEVSLP" per la specifica SATA-I/O).
DEVSLP viene mappato a un singolo stato di alimentazione inattiva logica o "F-State", ovvero F1.

La tabella seguente mostra l'ora in cui il dispositivo SATA deve essere inattiva prima di passare a DEVSLP in diversi stati di alimentazione del sistema. Si noti che se il controller ha specificato che DEVSLP deve essere immesso da Slumber, StorAHCI passerà prima a Slumber e quindi al completamento della transizione a Slumber si passerà immediatamente a DEVSLP. Come accennato in precedenza, ciò implica che HIPM deve essere supportato.

Stato di alimentazione del sistema Timeout di inattività DEVSLP
S0 (lavoro) 6 secondi
S0 Low Power Idle (Modern Standby (MS)) 50ms

Timeout inattivo D3 adattivo

Ora che le unità SATA con supporti di rotazione sono supportate nei sistemi di standby moderni, è necessario bilanciare i risparmi di energia con l'affidabilità del dispositivo. Il dispositivo deve essere alimentato in modo più aggressivo quando in Standby moderno per soddisfare i requisiti di alimentazione del sistema. Tuttavia, l'alimentazione di un'unità rotazionale troppo aggressiva può causare un'eccessiva usura sulle parti meccaniche dell'unità. Per ridurre l'usura e la lacrima, Windows 10 include timeout inattivo D3 adattivo, in cui il numero di cicli di alimentazione del dispositivo viene monitorato e confrontato con un modello peggiore basato su una tipica garanzia del dispositivo (il caso peggiore in cui l'unità dura solo un paio di anni). Se la frequenza effettiva del ciclo di alimentazione è troppo vicina al modello peggiore, il timeout di inattività D3 è aumentato per consentire alla tendenza di tornare in numeri più sicuri. Se la frequenza del ciclo di alimentazione è abbastanza bassa in modo che il dispositivo non sia in pericolo di eccesso di usura, il valore di timeout di inattività D3 viene abbreviato notevolmente per garantire che l'unità venga spenta rapidamente una volta inattiva in Standby moderno.

StorAHCI specifica un periodo minimo di ciclo di alimentazione di 5 minuti per le unità di rotazione. Ciò significa che se tale unità è in ciclo di alimentazione più frequentemente di ogni 5 minuti, rimarrà invece attiva quando inattiva per un breve periodo di tempo per compensare. Se si vuole modificare il periodo minimo di ciclo di alimentazione, in base alle indicazioni fornite dal fornitore del dispositivo, è possibile usare la chiave del Registro di sistema seguente:

  • Nome: MinPowerCyclePeriodInSecs
  • Tipo: MULTI_SZ
  • Percorso: HKLM\System\CurrentControlSet\Services\storahci\Parameters\Device
  • Valore: <Product ID> <Value>, ad esempio "ST31000528AS 300" o "WDC WD4* 360"
    • Per specificare un modello per corrispondere a più ID prodotto, usare:
      • ‘?’ per corrispondere a qualsiasi singolo carattere
      • '*' per corrispondere a tutti i caratteri rimanenti
    • Il valore stesso è in unità di secondi.

Tempo di manutenzione del dispositivo

Poiché è ora possibile che le unità rotazionali spendino una quantità significativa di tempo inattiva, Windows 10 include anche un meccanismo che dà all'unità un tempo di inattività attivo (1 minuto ogni 24 ore) per eseguire la manutenzione interna. Ciò si verifica solo quando il sistema è connesso all'alimentazione AC per mantenere la durata della batteria e quando il sistema è in standby moderno per garantire che l'attività del disco sia minima. La manutenzione del dispositivo non è configurabile.

Standby moderno e DRIPS

A partire da Windows 10, le unità con supporti di rotazione (HDD o SSHD) sono supportate nei sistemi di standby moderni. I dischi RIGIDI possono causare un consumo di potenza superiore a causa del timeout inattivo D3 adattivo mantenendo il disco in D0 per periodi più lunghi. Gli HDD possono anche causare una latenza di uscita più lunga da Modern Standby. Tuttavia, i sistemi di standby moderni con DISCHI RIGIDI sono esentati dal requisito di latenza ripresa del sistema 1s. Gli SSD, soprattutto per l'unità di avvio primario, sono consigliati su HDD, se possibile.

Indipendentemente dal tipo di supporto dei dispositivi di archiviazione nel sistema, per supportare lo standby moderno, la piattaforma deve specificare un vincolo in entrambi i casi:

  1. Ogni porta SATA; O
  2. Nel controller AHCI

Questo vincolo viene utilizzato dal plug-in del motore di alimentazione (PEP) e deve consentire al sistema di immettere il relativo stato di inattività di runtime più profondo (DRIPS) quando:

  1. Tutte le unità SATA immettono DEVSLP (F1) o più profonde (D3 è considerato più profondo di F1); O
  2. Il controller AHCI entra nello stato F1 o più profondo.

Le specifiche di questo argomento sono specifiche della piattaforma e all'esterno dell'ambito di questo documento.

Nota

Microsoft non consiglia che i dischi SSD SATA/HDD supportino transizioni parziali automatiche a Slumber (APST). APST verrà disabilitato automaticamente.

PCIe-Connected SSD AHCI

Durante lo sviluppo di Windows 10 nessuno degli SSD AHCI connessi a PCIe è stato esposto a StorAHCI uno stato DEVSLP. Ciò significa che Windows 10 non dispone praticamente di opzioni quando si tratta di gestire la potenza per questi dispositivi. In questo caso, il dispositivo e la piattaforma hanno la maggior parte della responsabilità di gestione energia.