Primary nvme idle timeout что это
Modern PCs include NVMe devices to store your data instead of the classic HDD. NVMe stands for Non-Volatile Memory Express, which is often implemented as NAND flash memory that comes in several physical form factors, including solid-state drives (SSDs), PCI Express (PCIe) add-in cards, M.2 cards, and other forms. The technology allows parallel data reading and writing, thus giving incredible speeds.
The Primary NVMe Idle Timeout option specifies the amount of time your NVMe device must be idle before transitioning to the primary non-operational power state, i.e. before switching to power saving mode.
The default values for this option are connected to power schemes available in Windows 10.
Power Scheme | On battery | Plugged in |
---|---|---|
Balanced | 100 milliseconds | 200 milliseconds |
High Performance | 200 milliseconds | 200 milliseconds |
Power Saver | 100 milliseconds | 100 milliseconds |
Ultimate Performance | 100 milliseconds | 200 milliseconds |
The Primary NVMe Idle Timeout setting is hidden and not visible by default, but you can easily make it available in Power Options of Windows 10. Here's how it can be done.
Author: Sergey Tkachenko
Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube. View all posts by Sergey Tkachenko
Secondary NVMe Idle Timeout
The following power configuration setting allows you to change the secondary device idle timeout used by StorNVMe.
The following power configuration setting allows you to change the secondary transition latency tolerance value that StorNVMe uses when calculating an idle state. This is the value that is compared against the sum of the ENLAT and EXLAT values when the idle timeout expires. The higher this value, the more likely that a deeper power state will be chosen.
To change the value for a given power scheme, use:
Don’t forget to apply the value by using: powercfg –setactive
Максимальное значение параметра конфигурации питания на уровне операционного энергопотребления
Приведенный ниже параметр конфигурации питания можно использовать для изменения максимального уровня операционного питания для различных схем управления питанием системы и источника питания от сети и постоянного тока.
Чтобы изменить значение для определенной схемы управления питанием, используйте:
Не забудьте применить это значение с помощью: powercfg –setactive
Timeout di inattività NVMe primario
L'impostazione di configurazione del risparmio energia seguente consente di modificare il timeout di inattività del dispositivo primario usato da StorNVMe.
L'impostazione di configurazione del risparmio energia seguente consente di modificare il valore di tolleranza di latenza della transizione primaria utilizzato da StorNVMe durante il calcolo di uno stato di inattività. Si tratta del valore confrontato con la somma dei valori ENLAT ed EXLAT alla scadenza del timeout di inattività. Più alto è questo valore, maggiore è la probabilità che si prescelto uno stato di alimentazione più profondo.
Метод 1. Добавьте или удалите «Тайм-аут простоя SEC NVMe» в параметрах электропитания с помощью командной строки
1. Откройте командную строку.
2. Введите 1 из 2 команд, которые вы хотите ниже, в командную строку с правами администратора и нажмите Enter.
Чтобы добавить таймаут простоя SEC NVMe:
powercfg -attributes SUB_DISK 6b013a00-f775-4d61-9036-a62f7e7a6a5b -ATTRIB_HIDE
Или удалите SEC NVMe Idle Timeout по умолчанию:
powercfg -attributes SUB_DISK 6b013a00-f775-4d61-9036-a62f7e7a6a5b + ATTRIB_HIDE
3. Теперь при желании вы можете закрыть командную строку с правами администратора.
Gestione dell'alimentazione dei dispositivi di runtime
StorNVMe può scegliere di eseguire la transizione del dispositivo a uno stato F al termine di una determinata quantità di tempo di inattività. Lo stato F viene scelto in base a 3 fattori:
- Tolleranza di latenza. In altri, quanto rapidamente il dispositivo può rispondere se necessario?
- Timeout di inattività. Questo è il periodo di tempo dal momento in cui il dispositivo ha completato l'ultima operazione di I/O.
- Stato di alimentazione del sistema. Se il sistema è in uso attivo, StorNVMe preferisce la velocità di risposta. Ciò implica l'uso di tolleranze e timeout di latenza variabili.
La tabella mostra i timeout di inattività predefiniti e le tolleranze di latenza usate da StorNVMe. Vedere la sezione Power Configuration Impostazioni per informazioni su come modificare queste impostazioni.
Stato di alimentazione del sistema ACPI | Timeout di inattività primario | Tolleranza di latenza della transizione primaria | Timeout di inattività secondario | Tolleranza alla latenza della transizione secondaria |
---|---|---|---|---|
S0 (funzionante) - Schema delle prestazioni | 200 ms | 0ms (AC) / 10ms (DC) | 2000 ms | 0ms |
S0 (funzionante) - Schema bilanciato | 200 ms (AC) / 100 ms (DC) | 15 ms (AC) / 50 ms (DC) | 2000 ms (AC) / 1000 ms (DC) | 100 ms |
S0 (funzionante) - Combinazione risparmio energia | 100 ms | 100 ms (AC) / 200 ms (DC) | 1000 ms | 200 ms |
S0 Low Power Idle (Modern Standby) | 50 ms | 500 ms | N/D | N/D |
Dopo la scadenza del timeout di inattività, il driver attraversa la tabella interna degli stati di alimentazione e seleziona lo stato di alimentazione più profondo in cui ENLAT+EXLAT è minore o uguale alla tolleranza di latenza di transizione corrente.
Si supponga, ad esempio, che un dispositivo NVMe abbia gli stati di alimentazione seguenti e che si sia verificato un timeout di inattività:
Stato di alimentazione | Latenza di ingresso (ENLAT) | Latenza di uscita (EXLAT) |
---|---|---|
PS0 | 5us | 5us |
PS1 | 10 ms | 300us |
PS2 | 50 ms | 10 ms |
Quando il sistema è alimentato dal controller di dominio e non in Modern Standby, StorNVMe sceglierà PS1 perché si tratta dello stato di alimentazione più profondo in cui (ENLAT+EXLAT)
IOCTL_STORAGE_DEVICE_POWER_CAP
Время ожидания простоя для дополнительного NVMe
Следующий параметр конфигурации питания позволяет изменить время ожидания простоя дополнительного устройства, используемое Сторнвме.
Следующий параметр конфигурации питания позволяет изменить значение допуска задержки дополнительного перехода, которое Сторнвме использует при вычислении состояния простоя. Это значение сравнивается с суммой значений ЕНЛАТ и ЕКСЛАТ по истечении времени ожидания простоя. Чем выше это значение, тем более вероятно, что будет выбрано более глубокое состояние электропитания.
Чтобы изменить значение для определенной схемы управления питанием, используйте:
Не забудьте применить это значение с помощью: powercfg –setactive
Подсостояния PCIe ASPM и L1
В зависимости от платформы вы можете заметить, что устройство NVMe может вводить подсостояния L1 при питании контроллера домена, но не на питании от сети. В этом случае может потребоваться изменить параметр конфигурации питания PCIe ASPM, чтобы получить максимальную экономию энергии при питании от сети (в дополнение к питанию контроллера домена).
Чтобы изменить это значение, используйте:
powercfg -setacvalueindex sub_pciexpress aspm
с индексом 002 выше для максимального энергосбережения. Не забудьте применить это значение с помощью: powercfg –setactive
Primary NVMe Idle Timeout
The following power configuration setting allows you to change the primary device idle timeout used by StorNVMe.
The following power configuration setting allows you to change the primary transition latency tolerance value that StorNVMe uses when calculating an idle state. This is the value that is compared against the sum of the ENLAT and EXLAT values when the idle timeout expires. The higher this value, the more likely that a deeper power state will be chosen.
Add Networking Connectivity in Standby to Open Options in Registry
- Open Registry Editor.
- Go to the following key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\d639518a-e56d-4345-8af2-b9f32fb26109 . Tip: You can access any desired Registry key with one click.
- In the right pane, change the Attributes 32-bit DWORD value to 0 to add it. See the following screenshot:
- Once you make these changes, the setting will appear in Power Options.
- A value data of 1 will remove the option.
To save your time, you can download these ready-to-use Registry files:
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!
IOCTL_STORAGE_DEVICE_POWER_CAP
Questo IOCTL può essere inviato a un dispositivo di archiviazione per modificare il livello massimo di potenza operativa. Per altre informazioni, vedere la documentazione per il buffer di input/output, STORAGE_DEVICE_POWER_CAP.
Maximum Operational Power Level Power Configuration Setting
The following power configuration setting can be used to change the maximum operational power level for different system power schemes and AC/DC power source.
To change the value for a given power scheme, use:
Don’t forget to apply the value by using: powercfg –setactive
Timeout di inattività NVMe secondario
L'impostazione di configurazione del risparmio energia seguente consente di modificare il timeout di inattività del dispositivo secondario usato da StorNVMe.
L'impostazione di configurazione del risparmio energia seguente consente di modificare il valore di tolleranza di latenza della transizione secondaria utilizzato da StorNVMe durante il calcolo di uno stato di inattività. Si tratta del valore confrontato con la somma dei valori ENLAT ed EXLAT alla scadenza del timeout di inattività. Più alto è questo valore, maggiore è la probabilità che si prescelto uno stato di alimentazione più profondo.
Non dimenticare di applicare il valore usando: powercfg –setactive
Windows Thermal Framework Passive Cooling Callback
StorNVMe (via Storport) registers a thermal cooling interface with the Windows Thermal Framework which makes it possible for the system to throttle the NVMe device through that framework. The specifics of this are outside the scope of this document, but in general the platform specifies thermal zones and thresholds via ACPI which the Windows Thermal Framework then uses to throttle devices via callbacks to the devices’ drivers.
обратный вызов пассивного охлаждения Windowsной инфраструктуры
сторнвме (с помощью storport) регистрирует интерфейс охлаждения в Windowsной инфраструктуре, что позволяет системе регулировать устройство NVMe с помощью этой платформы. эти особенности выходят за рамки этого документа, но в целом, платформа определяет температурные зоны и пороговые значения через ACPI, которые Windows термальная инфраструктура использует для регулирования устройств с помощью обратных вызовов к драйверам устройств.
Sotto stati PCIe ASPM e L1
A seconda della piattaforma, è possibile osservare che il dispositivo NVMe è in grado di immettere gli stati secondari L1 quando è alimentato da controller di dominio ma non con alimentazione CA. In questo caso, potrebbe essere necessario modificare l'impostazione di configurazione dell'alimentazione PCIe ASPM in modo da ottenere il massimo risparmio energia quando è attivata l'alimentazione CA (oltre all'alimentazione dc).
powercfg -setacvalueindex sub_pciexpress aspm
con indice 002 dall'alto per il risparmio massimo di energia. Non dimenticare di applicare il valore usando: powercfg –setactive
Runtime Device Power Management
StorNVMe may choose to transition the device to an F-State after a certain amount of idle time has elapsed. The F-State is chosen based on 3 factors:
- Latency Tolerance. That is, how quickly can the device respond if needed?
- Idle Timeout. This is the amount of time from when the device completed its last IO operation.
- System Power State. If the system is in active use, StorNVMe will prefer responsiveness. This implies varying latency tolerances and timeouts will be used.
The table shows the default idle timeouts and latency tolerances used by StorNVMe. See the Power Configuration Settings section for how to change these settings.
ACPI System Power State | Primary Idle Timeout | Primary Transition Latency Tolerance | Secondary Idle Timeout | Secondary Transition Latency Tolerance |
---|---|---|---|---|
S0 (Working) - Performance Scheme | 200ms | 0ms (AC) / 10ms (DC) | 2000ms | 0ms |
S0 (Working) - Balanced Scheme | 200ms (AC) / 100ms (DC) | 15ms (AC) / 50ms (DC) | 2000ms (AC) / 1000ms (DC) | 100ms |
S0 (Working) - Power Saver Scheme | 100ms | 100ms (AC) / 200ms (DC) | 1000ms | 200ms |
S0 Low Power Idle (Modern Standby) | 50ms | 500ms | N/A | N/A |
Once the idle timeout has expired, the driver will traverse its internal table of power states and select the deepest power state where ENLAT+EXLAT is less than or equal to the current transition latency tolerance.
For example, assume an NVMe device has the following power states, and that an idle timeout has occurred:
Power State | Entry Latency (ENLAT) | Exit Latency (EXLAT) |
---|---|---|
PS0 | 5us | 5us |
PS1 | 10ms | 300us |
PS2 | 50ms | 10ms |
When the system is on DC power and not in Modern Standby, StorNVMe will choose PS1 since this is the deepest power state where (ENLAT+EXLAT)
Основное время ожидания простоя основного NVMe
Следующий параметр конфигурации питания позволяет изменить время ожидания простоя основного устройства, используемое Сторнвме.
Приведенный ниже параметр конфигурации питания позволяет изменить значение допустимого значения задержки перехода на основной объект, которое Сторнвме использует при вычислении состояния простоя. Это значение сравнивается с суммой значений ЕНЛАТ и ЕКСЛАТ по истечении времени ожидания простоя. Чем выше это значение, тем более вероятно, что будет выбрано более глубокое состояние электропитания.
PCIe ASPM and L1 Sub-states
Depending on your platform, you may observe that the NVMe device is able to enter L1 sub-states when on DC power but not on AC power. In this case, you may need to change the PCIe ASPM power configuration setting such that it gets maximum power savings when on AC power (in addition to DC power).
To change the value, use:
powercfg -setacvalueindex sub_pciexpress aspm
with Index 002 from above for maximum power savings. Don’t forget to apply the value by using: powercfg –setactive
Shutdown/Гибернация
Когда система закрывается или переводится в спящий режим, Сторнвме устанавливает в поле уведомления о завершении работы устройства (CC. ШН) значение 1. Затем Сторнвме ждет, когда запрашивает от устройства задержку записи RTD3, чтобы сообщить о готовности устройства (путем обновления состояния завершения работы (КСТС). ШСТ) значение 2). Если значение задержки записи не указывается, Сторнвме будет использовать значение по умолчанию 5 секунд. В этом случае, если устройство занимает больше 5 секунд, система продолжит работу в режиме завершения работы или гибернации, не проверяя устройство NVMe. Изготовители оборудования должны использовать только те устройства, которые сообщают значения входа и выхода RTD3 для современных резервных систем.
Questa sezione illustra in dettaglio come il driver NVMe (StorNVMe) di Microsoft gestisce l'alimentazione e quali opzioni di configurazione sono disponibili. La specifica NVMe consente ai dispositivi NVMe di segnalare fino a 32 stati di alimentazione. Ogni stato di alimentazione ha i parametri seguenti:
- Consumo massimo di energia (MP)
- Operativo o non operativo
- Latenza di ingresso (ENLAT)
- Latenza di uscita (EXLAT)
- Valori relativi alle prestazioni (rispetto ad altri stati di alimentazione)
StorNVMe esegue il mapping degli stati di alimentazione operativi (il dispositivo può gestire le operazioni di I/O in questi stati) agli stati di prestazioni logici (ad esempio P-States). Analogamente, il driver esegue il mapping degli stati di alimentazione non operativi (il dispositivo non gestisce le operazioni di I/O in questi stati) agli stati di alimentazione inattivi logici (ad esempio F-States). Con StorNVMe, le transizioni a questi stati sono in gran parte determinate dallo stato complessivo di alimentazione del sistema. La specifica NVMe definisce una funzionalità APST (Autonomous Power State Transition). Per il supporto di Modern Standby, StorNVMe non supporta i dispositivi con APST abilitato.
IOCTL_STORAGE_DEVICE_POWER_CAP
This IOCTL can be sent to a storage device to change the maximum operational power level. For more info, see the documentation for the input/output buffer, STORAGE_DEVICE_POWER_CAP.
Modern Standby e DRIPS
Per supportare completamente Modern Standby, StorNVMe esegue la transizione del dispositivo a uno stato a basso consumo appropriato a seconda dei suggerimenti forniti dalla piattaforma hardware. Lo stato di inattività varia da F-State (più profondo di F0) a D3 Cold. Alcune piattaforme richiedono D3 Cold quando sono in modalità Modern Standby. Questo dipende dal SoC, quindi rivolgersi al fornitore del silicio per altre informazioni. Il supporto D3 per i dispositivi di archiviazione nei sistemi Modern Standby può essere abilitato come descritto qui.
I dispositivi devono supportare RTD3 con latenza di ripresa breve per consentire ai sistemi Modern Standby di soddisfare il requisito di latenza di ripresa del sistema di 1 secondo. RTD3 Resume Latency (RTD3R) indica la latenza di ripresa da D3cold ed è consigliabile segnalare un valore diverso da zero ≤ 100 ms. RTD3R è descritto nella sezione 8.4.4 della specifica NVMe.
Активное управление питанием
Активное управление питанием включает "P-States" (производительность или состояния "производительности") и в основном предназначено для контроля температуры. Сторнвме сопоставляет операционные состояния устройства с логическими P-состояниями, используя максимальное значение Power, сообщаемое для каждого состояния операционного энергопотребления. Когда устройство активно (т. е. имеет необработанные операции ввода-вывода), Сторнвме перемещает устройство в одно из его операционных состояний с помощью перехода P-State.
во время разработки Windows 10 был ограниченный набор устройств NVMe, в которых реализовано более одного операционного состояния питания. На основе наших характеристик и измерений производительности мы не нашли существенного преимущества использования любого, но самого высокого энергопотребления. Таким образом, с конфигурацией по умолчанию будет видно, что используется только наибольшее рабочее состояние энергопотребления.
Выбранное состояние энергопотребления зависит от текущей подсказок "максимальная Операционная мощность". Это указание может иметь три разных источника:
-
обратный вызов охлаждения из Windowsной тепловой инфраструктуры.
- Изменение максимального значения параметра конфигурации питания на уровне питания. (Это можно активировать с помощью изменения схемы управления питанием системы или источника питания от сети или постоянного тока.)
- Запрос IOCTL_STORAGE_DEVICE_POWER_CAP . Наименьшее максимальное значение из этих источников — это действительное максимальное значение эксплуатационной мощности. Механизм каждого из этих источников обсуждается ниже.
Как правило, Сторнвме выберет Наибольшее рабочее состояние энергопотребления, которое меньше или равно действительному значению максимальной оперативной мощности.
Например, предположим, что устройство NVMe имеет следующие состояния питания:
Состояние включения | Максимальная мощность | Рабочего? |
---|---|---|
PS0 | 9W | Да |
PS1 | 6W | Да |
PS2 | 4W | Да |
Наименьшее максимальное значение из этих источников — это действительное максимальное значение эксплуатационной мощности. Механизм каждого из этих источников обсуждается ниже.
Как правило, Сторнвме выберет Наибольшее рабочее состояние энергопотребления, которое меньше или равно действительному значению максимальной оперативной мощности.
По умолчанию максимальный уровень питания отсутствует, поэтому Сторнвме всегда будет выбирать PS0. Это эквивалентно 100%.
если Windowsная тепловая инфраструктура вызывает пассивный обратный вызов охлаждения со значением 50%, это приведет к появлению абсолютного значения (50% * (9W – 4W)) + 4W = 6W. Сторнвме обеспечит, что если устройство активно, оно всегда будет в PS1, так как максимальное значение питания этого состояния равно 6W.
Затем в каком-либо процессе пользовательского режима на диск отправляется запрос на IOCTL_STORAGE_DEVICE_POWER_CAP со значением 5W. Сторнвме выберет PS2 сейчас, так как это наибольшее рабочее состояние энергопотребления, максимальное значение которых (4W) меньше максимального эксплуатационного требования к питанию 5W.
Если заданное максимальное значение требования к питанию меньше максимального значения мощности самого низкого энергопотребления, то ожидание — просто выберите самое низкое операционное состояние энергопотребления. В нашем примере, если в качестве требования к максимальной оперативной мощности был «кто, Сторнвме выберет PS2, так как не имеет состояния оперативного энергопотребления с максимальным значением мощности «кто или меньше.
Если в дальнейшем максимальное требование к питанию будет изменено на 9W, Сторнвме вернется к выбору PS0, когда устройство активно.
Например, предположим, что устройство NVMe имеет следующие состояния питания:
Управление питанием устройств среды выполнения
Сторнвме может выбрать переход устройства в F-состояние после истечения определенного периода простоя. F-State выбирается на основе трех факторов:
- Допуск задержки. То есть как быстро может ответить устройство при необходимости?
- Время ожидания простоя. Это период времени, с которого устройство завершило последнюю операцию ввода-вывода.
- Состояние энергопотребления системы. Если система активно используется, Сторнвме будет предпочтительнее реагировать на запросы. Это означает, что будут использоваться различные допустимые задержки и тайм-ауты.
В таблице показано время ожидания простоя по умолчанию и допустимость задержки, используемую Сторнвме. сведения об изменении этих параметров см. в разделе Параметры конфигурации питания .
Состояние энергопотребления системы ACPI | Основное время ожидания простоя | Допустимые задержки перехода на основной переход | Время ожидания дополнительного простоя | Допуск задержки дополнительного перехода |
---|---|---|---|---|
S0 (рабочий) — схема производительности | 200 мс | 0 мс (AC)/10 мс (DC) | 2000ms | 0 мс |
Схема с балансировкой S0 (Рабочая) | 200 мс (AC)/100 мс (DC) | 15ms (AC)/50 мс (DC) | 2000ms (AC)/1 000 мс (DC) | 100 мс |
S0 (работа) — схема экономии энергии | 100 мс | 100 мс (AC)/200 мс (DC) | 1 000 мс | 200 мс |
Низкое энергопотребление S0 (современный ждущий режим) | 50 мс | 500 мс | Н/Д | Н/Д |
После истечения времени ожидания простоя драйвер перейдет к внутренней таблице Power States и выберет самое глубокое состояние питания, где ЕНЛАТ + ЕКСЛАТ меньше или равно текущему отклонению задержки перехода.
Например, предположим, что устройство NVMe имеет следующие состояния питания и что время ожидания простоя истекло:
Состояние включения | Задержка записи (ЕНЛАТ) | Задержка выхода (ЕКСЛАТ) |
---|---|---|
PS0 | 5us | 5us |
PS1 | 10 мс | 300us |
PS2 | 50 мс | 10 мс |
Если система находится на питании контроллера домена, а не в современном режиме ожидания, Сторнвме выберет PS1, так как это самое глубокое состояние питания, где (ЕНЛАТ + ЕКСЛАТ) < = 50 мс. Аналогично, когда система переходит в современные ждущие режимы, Сторнвме выберет PS2, так как это самое глубокое состояние питания, где (ЕНЛАТ + ЕКСЛАТ) < = 500 мс.
Connect with us
Here you can subscribe to our channels. We have Twittеr, YouTube, and Telegram, along with an RSS feed and Email newsletter.
В этом разделе подробно описывается, как встроенный в Microsoft драйвер NVMe (Сторнвме) управляет питанием и доступными параметрами конфигурации. Спецификация NVMe позволяет устройствам NVMe сообщать о 32 состояния электропитания. Каждое состояние питания имеет следующие параметры:
- Максимальное энергопотребление (MP)
- Рабочий или нерабочий
- Задержка записи (ЕНЛАТ)
- Задержка выхода (ЕКСЛАТ)
- Относительные значения производительности (относительно других состояний питания)
Сторнвме сопоставляет операционные состояния питания (устройство может обменять операции ввода-вывода в этих состояниях) с логическими состояниями производительности (т. е. состояниями P). Аналогичным образом драйвер сопоставляет нерабочие состояния (устройство не обрабатывает операции ввода-вывода в этих состояниях) с логическими состояниями простоя (т. е. состояниями). При использовании Сторнвме переходы к этим состояниям в основном определяются общим состоянием энергопотребления системы. Спецификация NVMe определяет функцию перехода автономного состояния электропитания (АПСТ). Для современной поддержки в режиме ожидания Сторнвме не поддерживает устройства с включенным АПСТ.
Active Power Management
Active power management involves “P-States” (a.k.a. performance or “perf” states) and is primarily intended for thermal control. StorNVMe maps the device’s operational power states to logical P-States using the Maximum Power value reported for each operational power state. When the device is active (i.e. has outstanding IO) then StorNVMe will transition the device to one of its operational power states via a P-State transition.
During Windows 10 development there was a limited set of NVMe devices that implemented more than one operational power state. Based on our power and performance measurements, we did not find a significant benefit to using any but the highest operational power state. Therefore, with the default configuration you will only see the highest operational power state utilized.
The operational power state chosen depends upon the current “max operational power” hint. This hint can have 3 different sources:
- A passive cooling callback from the Windows Thermal Framework.
- A change in the maximum power level power configuration setting value. (This can be triggered by a change in system power scheme or AC/DC power source.)
- A IOCTL_STORAGE_DEVICE_POWER_CAP request. The lowest maximum value from these sources is the effective maximum operational power value. The mechanics of each of these sources is discussed below.
In general, StorNVMe will choose the highest operational power state that is less than or equal to the effective maximum operational power value.
For example, say an NVMe device has the following power states:
Power State | Max Power | Operational? |
---|---|---|
PS0 | 9W | Yes |
PS1 | 6W | Yes |
PS2 | 4W | Yes |
The lowest maximum value from these sources is the effective maximum operational power value. The mechanics of each of these sources is discussed below.
In general, StorNVMe will choose the highest operational power state that is less than or equal to the effective maximum operational power value.
By default, there is no maximum power level so StorNVMe will always choose PS0. This is equivalent to 100%.
If the Windows Thermal Framework calls the passive cooling callback with a value of 50% then this will result in an absolute power value of (50% * (9W – 4W)) + 4W = 6W. StorNVMe will then ensure that when the device is active it will always be in PS1 since that state’s Max Power value is 6W.
Then some user mode process sends an IOCTL_STORAGE_DEVICE_POWER_CAP request to the disk with a value of 5W. StorNVMe will choose PS2 now because it is the highest operational power state whose Max Power value (4W) is less than the max operational power requirement of 5W.
If the given max operational power requirement is less than the Max Power value of the lowest operational power state, then the expectation is to simply choose the lowest operational power state. In our example, if the max operational power requirement given was 3W then StorNVMe would choose PS2 because it has no operational power state with a Max Power value of 3W or less.
If later the max operational power requirement changes to 9W then StorNVMe will go back to choosing PS0 when the device is active.
For example, say an NVMe device has the following power states:
Leave a Reply Cancel reply
Power Configuration Settings
Windows 10 supports the following NVMe power settings to tune energy efficiency.
Shutdown/Hibernate
When the system is being shut down or hibernated, StorNVMe sets the device’s Shutdown Notification (CC.SHN) field to 1. StorNVMe then waits for the device’s reported RTD3 entry latency for the device to indicate it is ready (by updating the Shutdown Status (CSTS.SHST) field to 2). If no entry latency value is reported, then StorNVMe will use a default value of 5 seconds. In this case, if the device takes longer than 5 seconds, then the system will continue with the shutdown or hibernate procedure without checking the NVMe device any further. OEMs should only use devices that report RTD3 entry and exit values for Modern Standby systems.
В Windows 10 Creators Update версии 1703 (сборка 15063) и выше установка тайм-аута простоя SEC NVMe в параметрах электропитания позволяет пользователям устанавливать выключение устройства NVMe после определенного периода бездействия в миллисекундах.
По умолчанию для SEC NVMe Idle Timeout установлено значение 100 миллисекунд при работе от батареи и 200 миллисекунд при подключении к сети.
Из этого туториала Вы узнаете, как добавить или удалить настройки тайм-аута простоя SEC NVMe в параметрах электропитания для всех пользователей в Windows 10.
Примечание. Вы должны войти в систему как администратор, чтобы добавить или удалить этот параметр в параметрах электропитания.
Risparmio energia attivo
La gestione del risparmio energia attiva prevede "Stati P" (ovvero stati di prestazioni o "prestazioni") ed è destinata principalmente al controllo termico. StorNVMe esegue il mapping degli stati di alimentazione operativi del dispositivo agli stati P logici usando il valore Di potenza massima indicato per ogni stato di alimentazione operativo. Quando il dispositivo è attivo (ad esempio ha operazioni di I/O in sospeso), StorNVMe esegue la transizione del dispositivo a uno dei suoi stati di alimentazione operativi tramite una transizione P-State.
Durante Windows 10 sviluppo era presente un set limitato di dispositivi NVMe che implementano più di uno stato di alimentazione operativo. In base alle misurazioni di potenza e prestazioni, non abbiamo trovato un vantaggio significativo per l'uso di uno stato di potenza operativo qualsiasi, ma il più alto. Pertanto, con la configurazione predefinita verrà visualizzato solo lo stato di alimentazione operativo più elevato utilizzato.
Lo stato di alimentazione operativo scelto dipende dall'hint corrente "max operational power". Questo hint può avere 3 origini diverse:
- Callback di raffreddamento passivo dall'Windows Thermal Framework.
- Modifica del valore massimo dell'impostazione di risparmio energia. Questa operazione può essere attivata da una modifica della combinazione per il risparmio di energia del sistema o della fonte di alimentazione AC/DC.
- Una IOCTL_STORAGE_DEVICE_POWER_CAP richiesta. Il valore massimo più basso da queste origini è il valore di potenza operativa massimo effettivo. I meccanismi di ognuna di queste origini sono illustrati di seguito.
In generale, StorNVMe sceglierà lo stato di alimentazione operativo più elevato minore o uguale al valore di potenza operativa massimo effettivo.
Ad esempio, si supponga che un dispositivo NVMe abbia gli stati di alimentazione seguenti:
Stato di alimentazione | Potenza massima | Operativo? |
---|---|---|
PS0 | 9W | Sì |
PS1 | 6W | Sì |
PS2 | 4W | Sì |
Il valore massimo più basso da queste origini è il valore di potenza operativa massimo effettivo. I meccanismi di ognuna di queste origini sono illustrati di seguito.
In generale, StorNVMe sceglierà lo stato di alimentazione operativo più elevato minore o uguale al valore di potenza operativa massimo effettivo.
Per impostazione predefinita, non è disponibile alcun livello di alimentazione massimo, quindi StorNVMe sceglierà sempre PS0. Equivale al 100%.
Se Windows Thermal Framework chiama il callback di raffreddamento passivo con un valore del 50%, il valore di potenza assoluto sarà pari a (50% * (9W - 4W)) + 4W = 6W. StorNVMe garantisce quindi che, quando il dispositivo è attivo, si trova sempre in PS1 perché il valore di Potenza massima dello stato è 6W.
Un processo in modalità utente invia quindi IOCTL_STORAGE_DEVICE_POWER_CAP richiesta al disco con un valore di 5W. StorNVMe sceglierà ora PS2 perché è lo stato di alimentazione operativo più elevato il cui valore massimo di potenza (4W) è inferiore al requisito di potenza operativa massimo di 5W.
Se il requisito di potenza operativa massimo specificato è minore del valore Di potenza massima dello stato di alimentazione operativo più basso, l'aspettativa è scegliere semplicemente lo stato di alimentazione operativo più basso. In questo esempio, se il requisito di alimentazione operativo massimo specificato era 3W, StorNVMe sceglierebbe PS2 perché non ha uno stato di alimentazione operativo con un valore di Potenza massima pari o inferiore a 3W.
Se in un secondo momento il requisito di alimentazione operativa massimo cambia a 9W, StorNVMe tornerà a scegliere PS0 quando il dispositivo è attivo.
Ad esempio, si supponga che un dispositivo NVMe abbia gli stati di alimentazione seguenti:
Power Configuration Impostazioni
Windows 10 supporta le impostazioni di risparmio energia NVMe seguenti per ottimizzare l'efficienza energetica.
Arresto/Ibernazione
Quando il sistema viene arrestato o ibernato, StorNVMe imposta il campo Notifica di arresto (CC.SHN) del dispositivo su 1. StorNVMe attende quindi la latenza di voce RTD3 segnalata del dispositivo per indicare che è pronto ( aggiornando lo stato di arresto ( CSTS). SHST) su 2). Se non viene segnalato alcun valore di latenza di voce, StorNVMe userà un valore predefinito di 5 secondi. In questo caso, se il dispositivo richiede più di 5 secondi, il sistema continuerà con la procedura di arresto o ibernazione senza controllare ulteriormente il dispositivo NVMe. Gli OEM devono usare solo dispositivi che segnalano valori di ingresso e uscita RTD3 per i sistemi Modern Standby.
This section details how Microsoft’s in-box NVMe driver (StorNVMe) manages power and what configuration options are available. The NVMe spec allows NVMe devices to report up to 32 power states. Each power state has the following parameters:
- Maximum Power Consumption (MP)
- Operational or Non-operational
- Entry Latency (ENLAT)
- Exit Latency (EXLAT)
- Relative performance values (relative to other power states)
StorNVMe maps operational power states (the device can handle IO in these states) to logical performance states (a.k.a. P-States). Likewise, the driver maps non-operational power states (the device does not handle IO in these states) to logical idle power states (a.k.a. F-States). With StorNVMe, transitions to these states is largely determined by the overall system power state. The NVMe specification defines an Autonomous Power State Transition (APST) feature. For Modern Standby support, StorNVMe does not support devices with APST enabled.
Impostazione di configurazione dell'alimentazione a livello di alimentazione massimo operativo
È possibile usare l'impostazione di configurazione del risparmio energia seguente per modificare il livello massimo di alimentazione operativo per diverse combinazioni di alimentazione di sistema e alimentazione AC/DC.
Non dimenticare di applicare il valore usando: powercfg –setactive
To Add Primary NVMe Idle Timeout to Power Options in Windows 10,
If you have a laptop, you will be able to set this parameter individually when on battery and when plugged in.
Alternatively, you can apply a Registry tweak.
Windows callback di raffreddamento passivo di Thermal Framework
StorNVMe (tramite Storport) registra un'interfaccia di raffreddamento termico con il framework termico Windows che consente al sistema di limitazione del dispositivo NVMe tramite tale framework. Le specifiche non sono all'interno dell'ambito di questo documento, ma in generale la piattaforma specifica zone termiche e soglie tramite ACPI che Windows Thermal Framework usa quindi per limitazione dei dispositivi tramite callback ai driver dei dispositivi.
To Add Primary NVMe Idle Timeout to Power Options in Windows 10,
You are done. The option will be available instantly, no reboot required.
Modern Standby and DRIPS
To fully support Modern Standby, StorNVMe will transition the device to an appropriate low-power state depending on hints provided by the hardware platform. The idle state will vary between an F-State (deeper than F0), to D3 Cold. Some platforms require D3 Cold when in Modern Standby. This depends on the SoC, so please check with your silicon vendor for more information. D3 support for storage devices on Modern Standby systems can be enabled as described here.
Devices should support RTD3 with short resume latency in order to help Modern Standby systems meet the 1 second system resume latency requirement. RTD3 Resume Latency (RTD3R) refers to resume latency from D3cold and is recommended to report a nonzero value ≤ 100 ms. RTD3R is described in section 8.4.4 of the NVMe spec.
Метод 2: добавьте или удалите «Тайм-аут простоя SEC NVMe» в параметрах электропитания с файлом REG
Загруженные ниже файлы .reg изменят значение DWORD в разделе реестра.
1. Следуйте шагу 2 (добавить) или шагу 3 (удалить) ниже для того, что вы хотите сделать.
2. Чтобы добавить «Тайм-аут простоя SEC NVMe» в параметры электропитания
A) Загрузите файл Add_SEC_NVMEe_Idle_Timeout_to_Power_Options.reg и перейдите к шагу 4 ниже.
3. Чтобы удалить «Тайм-аут простоя SEC NVMe» из параметров электропитания
Это значение по умолчанию.
A) Загрузите файл Remove_SEC_NVMEe_Idle_Timeout_from_Power_Options.reg и перейдите к шагу 4 ниже.
4. Сохраните файл .reg на рабочий стол.
5. Дважды щелкните загруженный файл .reg, чтобы объединить его.
6. При появлении запроса нажмите «Выполнить»> «Да (UAC)»> «Да»> «ОК», чтобы утвердить слияние.
Параметры конфигурации питания
Windows 10 поддерживает следующие параметры питания NVMe для настройки эффективности энергопотребления.
Современные резервные и ДРИПС
Для полной поддержки современного резервного режима Сторнвме переводит устройство в соответствующее состояние низкого энергопотребления в зависимости от подсказок, предоставленных аппаратной платформой. Состояние простоя меняется между F-State (глубже, чем F0) и D3 холода. Для некоторых платформ требуется холодное подключение D3 в современных ждущих режимах. Это зависит от SoC, поэтому для получения дополнительных сведений обратитесь к поставщику Silicon. Поддержка D3 для устройств хранения данных в современных резервных системах может быть включена, как описано здесь.
Устройства должны поддерживать RTD3 с короткой задержкой возобновления, чтобы обеспечить соответствие современных резервных систем требованиям к задержке возобновления работы системы. Задержка возобновления RTD3 (RTD3R) означает возобновление задержки из D3cold и рекомендуется сообщить ненулевое значение ≤ 100 мс. RTD3R описывается в разделе 8.4.4 спецификации NVMe.
Читайте также: