Usb 3 link power management что это
There is an addendum to the official USB 2.0 Specification (USB2_LinkPowerMangement_ECN), which defines LPM for newer USB 2.0 hardware. This topic does not cover that USB 2.0 LPM mechanism. The purpose of this topic is to describe USB 3.0 LPM states, specifically U1 and U2.
USB 3.0 devices also support Selective Suspend. To overcome the limitations of Selective Suspend, the official USB 3.0 specification defines finer-grained power management states. Before describing those states and how they can be used to improve power management, let’s first understand the concept of a link.
Advantages of U1 and U2
U1 and U2 states are designed to complement Selective Suspend, which can lead to significant power savings. After the software configures the link partners for U1 or U2 transition, the hardware enters the states autonomously without any software intervention. The exit times from U1 and U2 are really fast (from microseconds to a few milliseconds) and have less of an impact on the performance of the devices. This allows for much better power management where links can enter and exit these states even when the device is in use.
For example, a device with isochronous endpoints can put the link to U1 or U2 between service intervals. To save some power, when the device is idle, it can send its upstream link to those states even before Selective Suspend gets invoked. There are no restrictions on how much power the device can draw when the link is in U1 or U2. A device could remain fully powered when the link is in U1 or U2. Therefore, unlike Selective Suspend, a device can send its link to U1 or U2 without losing any capabilities.
Рассматривая различные характеристики SSD дисков, достаточно часто можно встретить упоминание об DIPM в характеристике энергопотребления твердотельного дисков. Если SSD используется или планируется использовать в desktop-ах, то на это значение можно не обращать внимания, а если в notebook-ах и netbook-ах? Вот тут все зависит от того, насколько вам небезразлично время автономной работы мобильного устройства от аккумулятора. Что же, попробуем разобраться в вопросе, что такое DIPM и для чего он нужен SSD.
Начнем с основ — со спецификации Serial ATA (SATA). В соответствии ей, SATA контроллеры должны уметь работать в двух режимах: в родном — Advanced Host Controller Interface (AHCI) и в совместимом со старым Parallel ATA (PATA). Последний из-за спецификации ограничен в возможностях применения новых функций устройств, поэтому дополнительные возможности для устройств можно получить используя режим AHCI. В этом режиме доступны такие функции как NCQ, LPM, Hot Swap, Port Multiplier. Но нас интересует функция LPM.
Название Link Power Management (LPM) можно буквально перевести как «Управление питанием». Функция LPM заключается в следующем: при отсутствии передачи данных на физическом уровне между хост-контроллером и диском, происходит перевод их в низкое энергопотребление.
В SATA AHCI Link Power Management имеются два типа управления — Host Initiated Link Power Management (HIPM) и Device Initiated Link Power Management (DIPM), которые обеспечивают два дополнительных состояния устройств, в дополнение к существующему Active — это Partial и Slumber.
Находясь в состоянии Active, устройства постоянно готовы к вводу-выводу. В состоянии Partial, хост-контроллер в отсутствии ввода-вывода, может переводить устройства в энергосберегающий режим с последующим выходом из него, не более чем 10 микросекунд. Состояние Slumber обладает более глубоким режимом энергосбережения, чем Partial — на выход из энергосберегающего режима отведено 10 миллисекунд. Так как время восстановления для Slumber, больше чем для Partial, то Slumber обеспечивает большее энергосбережение системы, тогда как Partial является балансом между производительностью и энергосбережением.
Перевод устройства в состояние Partial и Slumber может осуществляться как посредством Host Initiated Link Power Management (HIPM), так и Device Initiated Link Power Management (DIPM) — разница лишь в том, чем инициализируется переход в энергосберегающий режим.
Управление питанием, инициируемое хост-контроллером — HIPM (Host Initiated Link Power Management), может быть реализовано как в аппаратной части контроллера, так и в программной. При использовании этого управления, хост-контроллер запрашивает переход в энергосберегающий режим сразу после того, как все запросы к диску будут завершены, ведь именно хост-контроллер осведомлен, какие запросы были или будут отправлены на устройство, это позволяет переходить в состояние низкого энергопотребления сразу же после выполнения всех запросов к диску. Переключение состояния питания осуществляет именно хост-контроллер.
Управление питанием, инициируемое устройством — DIPM (Device Initiated Link Power Management), реализуется диском. Диск определяет, сколько времени требуется для выполнения команд, чтобы по их завершении сразу перейти в энергосберегающий режим.
Каждый из этих типов управления энергопитанием обеспечивает экономию энергии, однако максимальная экономия достигается тогда, когда эти два типа управления используются совместно.
Упрощенная схема работы LPM, в частности управление DIPM, представляется следующим образом: после завершения передачи данных хост-контроллеру, устройство запрашивает разрешение на переход в энергосберегающий режим; хост-контроллер принимает переход или отвергает; если принимает, то дает соответствующую команду на переход; переход осуществляется в состояние Partial (по причинам производительности); после периода бездействия хост-контроллер дает команду на переход устройства в состояние Slumber (из за особенности механизма переключения состояния, переход осуществляется, через промежуточное активное состояние). Если происходит обращение к диску, то контроллер дает команду на переход в Active.
Практика использования функции SATA AHCI Link Power Management продемонстрировала снижение энергопотребления жестких дисков с 2-3 Вт в активном состоянии до 0,1-0,7 Вт в режиме простоя, а в случае с твердотельными дисками (SSD) менее 0,1 Вт.
На первый взгляд SATA AHCI LPM позволяет существенно снизить энергопотребление жесткого и твердотельного диска. Но будет ли существенная экономия в энергопотреблении для системы в целом? Это можно определить только при помощи тестирования в типичных условиях эксплуатации системы.
В качестве тестовой площадки был выбран ноутбук (выбор не случаен, так как именно на мобильных устройствах можно легко выявить уменьшение энергопотребления системы, по увеличению времени автономной работы от аккумулятора, и этот параметр более информативен для пользователя, чем значение в ватах).
Но прежде чем перейти к результату тестирования, хотелось обратить внимание на несколько моментов. Во-первых, функция AHCI Link Power Management поддерживается только мобильными чипсетами (по крайней мере чипсетами от Intel). Во-вторых, активация режима управления DIPM зависит от использования версии операционной системы и драйвера. Начиная с Windows Vista в состав операционной системы уже входит драйвер для AHCI режима — «Standard AHCI 1.0 Serial ATA Controller», который обеспечивает работу с DIMP, но в Windows Vista по умолчанию он отключен, а для Windows 7, он включен только для режима эрегосбережения. Изменение режима работы AHCI LPM осуществляется через настройки энергосбережения в панели управления или консольную команду powercfg.
Для определения продолжительности автономной работы ноутбука (Acer TimeLineX) от аккумулятора в режимах HIPM и HIPM+DIPM использовалась программа Battery Eater, которая запускалась в классическом тесте и в режиме чтения, как для жесткого диска (TOSHIBA MK1652GSX) так и для твердотельного (INTEL SSDSA2M080G2GC).
По результату видно, что использование режима HIPM+DIPM против HIPM для жесткого диска так же дает положительный результат, увеличилось время работы ноутбука от аккумулятора на 11 и 30 минут, для классического теста и теста чтения соответственно.
Для твердотельного диска, время автономной работы увеличилось на 20 и 50 минут.
При сравнении твердотельного диска с жестким, по продолжительности автономной работы ноутбука от аккумулятора, получаем, что при замене жесткого диска на твердотельный, время автономной работы ноутбука увеличилось всего на 10 минут для классического теста в режиме работы AHCI LPM – HIPM и на 21 минут в режиме HIPM+DIPM.
В режиме чтения, значения более существенные 25 и 45 минут соответственно.
В итоге получается, что использование AHCI LPM в режиме HIPM+DIPM эффективно не только для твердотельного диска, но для жесткого диска, но максимальный результат продолжительности работы ноутбука от аккумулятора достигается с использованием твердотельного диска.
Надеюсь, что данная запись позволила ответить на вопрос, что такое DIPM и для чего он нужен SSD.
A USB connection between two USB ports. For example, between your PC and a USB 3.0 device.
- The downstream port (DS port) of a host or a hub.
- The upstream port (US port) of an attached device or hub.
As per the USB 2.0 specification, a link enters a low power state (consuming less power than the working state) only when the downstream device enters the suspended state through the Selective Suspend mechanism. The USB 3.0 specification decouples link power states from device power states. The specification defines the LPM feature (see Section C.1 in the specification) that refers to power management of physical and logical layers of a pair of ports that constitute a link. The specification defines four link power states known as U states, from U0 to U3. An active link is in state U0.
After remaining idle for a certain period of time, link partners progressively enter U1 (standby with fast exit) and then U2 (standby with slower exit). After they are idle for sufficient time, software initiates the transition to U3 by sending a command to the DS port link partner.
The steps that are required by software, to send the link to U3, are identical to the steps required for USB 2.0 Selective suspend. The device must enter the suspended state when the link enters U3. As a result, the device is subject to similar restrictions as with USB 2.0 Selective Suspend. To overcome those limitations, the USB 3.0 specification defines U1 and U2 states.
Advantages of U1 and U2
U1 and U2 states are designed to complement Selective Suspend, which can lead to significant power savings. After the software configures the link partners for U1 or U2 transition, the hardware enters the states autonomously without any software intervention. The exit times from U1 and U2 are really fast (from microseconds to a few milliseconds) and have less of an impact on the performance of the devices. This allows for much better power management where links can enter and exit these states even when the device is in use.
For example, a device with isochronous endpoints can put the link to U1 or U2 between service intervals. To save some power, when the device is idle, it can send its upstream link to those states even before Selective Suspend gets invoked. There are no restrictions on how much power the device can draw when the link is in U1 or U2. A device could remain fully powered when the link is in U1 or U2. Therefore, unlike Selective Suspend, a device can send its link to U1 or U2 without losing any capabilities.
For more detailed information, see:
This tutorial will show you how to add or remove the "USB 3 Link Power Mangement" setting under USB settings in Power Options for all users in Windows 8 and 8.1.
This setting specifies a power management policy below to use for USB 3 links when they are idle.
- Off = Do not enable the U1 U2 states.
- Minimum power savings = Enable the U1 U2 states, but choose conservative timeout values to optimize for performance.
- Moderate power savings (default) = Enable the U1 U2 states, and choose optimal timeout values to balance power and performance.
- Maximum power savings. = Enable the U1 U2 states, and choose aggressive timeout values to optimize for power.
Note
This could be handy if you wanted to set this how you wanted, then remove the setting to prevent other users from being able to change it in Power Options.
EXAMPLE: "USB 3 Link Power Mangement" in Power Options
Note
The .reg files below are for the registry key and value below.
Attributes DWORD
1 = Remove
2 = Add
1. Do step 2 or 3 below for what you would like to do.
2. To Remove "USB 3 Link Power Mangement" from Power Options
NOTE: This is the default setting.
A) Click/tap on the Download button below to download the file below, and go to step 4 below.
Remove_USB_3_Link_Power_Mangement.reg
3. To Add "USB 3 Link Power Mangement" to Power Options
A) Click/tap on the Download button below to download the file below, and go to step 4 below.
Add_USB_3_Link_Power_Mangement.reg
4. Save the .reg file to your desktop.
5. Double click/tap on the downloaded .reg file to merge it.
6. If prompted, click/tap on Run, Yes (UAC), Yes, and OK to approve the merge.
7. When finished, you can delete the downloaded .reg file if you like.
Почитав вот этот пост и сопутствующую ему дискуссию, я решил попробовать внести ясность в то, что такое USB Power Delivery и как это работает на самом деле. К сожалению у меня сложилось впечатление, что большинство участников дискуссии воспринимают 100 ватт по USB слишком буквально, и не до конца понимают что за этим стоит на уровне схематики и протоколов.
Итак, кратко – основные пункты:
О кобелях Про кабели
USB Power Delivery работает с шестью типами коннекторов:
- USB 3.0 PD Standard-A USB 3.0 PD Standard-B plug
- USB 3.0 PD Standard-A USB 3.0 PD Micro-B plug
- USB 3.0 PD Micro-A USB 3.0 PD Micro-B plug
- USB 3.0 PD Micro-A USB 3.0 PD Standard-B plug
- USB 2.0 PD Standard-A USB 2.0 PD Standard-B plug
- USB 2.0 PD Standard-A USB 2.0 PD Micro-B plug
- USB 2.0 PD Micro-A USB 2.0 PD Micro-B plug
- USB 2.0 PD Micro-A USB 2.0 PD Standard-B plug
Про порты
После сертификации USB PD порты маркируются следующим образом:
Данное лого информирует о версии USB (2.0 или 3.0 SuperSpeed), а также о профилях электропитания которые поддерживает данный порт. Значение ”I” означает потребляемый профиль, необходимый для полноценного функционирования устройства, а значение «О» то какой профиль порт может предоставить. Примеры маркировки портов:
- Первый порт поддерживает USB2. Он может давать питание по Профилю 1 ( 2A@5V) и использует Профиль 3 ( 5V@2A или 12V@3A) для полноценного функционирования. Например порт для планшета или нетбука.
- Второй порт поддерживает USB2. Он может давать питание по Профилю 2 (2A@5V или 12V@1.5A) и использует Профиль 4 ( 5V@2A или 12V@3A или 20V@3A) для полноценного функционирования. Например порт для ноутбука или лаптопа.
- Третий порт поддерживает USB3. Он только дает питание по Профилю 1 (5V@2A). Сам он по VBus не запитывается. Например порт десктопа, монитора, телевизора, и т.д.
- Четвертый порт поддерживает USB3. Как и в первом примере он может давать питание по Профилю 1 (5V@2A) и сам требует питание по Профилю 3 для полноценного функционирования (5V@2A или 12V@3A). Пример придумайте сами :)
Физический канал
USB PD определяет принципиальную схему физической организации соединения посредством кабеля следующим образом:
Как видно из схемы, USB PD также требует чтобы и в источнике и в приемнике были реализованы схемы определения падения/скачка напряжения, а так же методы определения разряженной батареи для случаев когда одна из сторон не может запитаться от своего внутреннего источника.
И соответственно такая же блок-схема для приемника:
Сериализированная кодировка 4b5b и декодировка 5b4b подразумевает что все данные по шине, кроме преамбулы пакета, передаются пятибитными последовательностями в соответствии c таблицей кодировки, определяемой стандартом. Каждая такая последовательность кодирует либо одну из 16 цифр (0x00..0x0F), либо сигналы начала / синхронизации / сброса и конца пакета. Таким образом передача одного байта занимает 10 бит, 16-битного слова – 20 бит и 32-битного двойного слова – 40 бит и т.д.
Логический канал
USB PD протокол основывается на последовательных парах типа запрос-ответ. Запросы и ответы пересылаются с использованием пакетов. Пакеты состоят из преамбулы (фаза подготовки к передаче), начала пакета SOP (три сигнала Sync-1 и завершающий Sync-2 в кодировке 4b5b), заголовок, 0..N байт полезной нагрузки, контрольной суммы (CRC-32) и сигнала конца пакета (одиночный сигнал EOP):
Как было упомянуто выше, преамбула не кодируется в 4b5b. SOP, CRC и EOP кодируются 4b5b на физическом уровне, заголовок и полезная нагрузка кодируются на уровне логического протокола.
Сброс шины производится путем посылки трех сигналов RST1 и завершающего сигнала RST2, в соответствии с кодировкой 4b5b.
Протокол
Отдельно следует упомянуть что поля вида tSourceActivity, tSinkRequest и т.д. — это константы, значения которых глобально заданы самой спецификацией в отдельной главе. Сделано это потому что они определялись опытным путем в результате прототипирования, и найденные оптимальные значения просто подставили в отдельную главу, чтобы не рыскать по всей спецификации.
- Power Data Object (PDO) – используется для описания характеристик порта источника или требований приемника
- Request Data Object (RDO) – используется портом приемника для установки соглашения по характеристикам электропитания
- BIST (Built In Self Test) Data Object (BDO) – используется для тестирования подключения на соответствие требованиям спецификации для физического соединения
- Vendor Data Object (VDO) – используется для передачи нестандартной, дополнительной или иной проприетарной информации определяемой производителем оборудования и выходящей за рамки спецификации USB PD.
PDO соответствующий элементу с постоянным типом электропитания 5V всегда должен идти первым в цепочке объектов.
Структура объекта PDO:
Для каждого типа электропитания предлагаются различные характеристики.
Постоянный тип электропитания, напряжение постоянное. Источник должен иметь хотя бы один такой элемент:
Программируемый тип электропитания, напряжение может регулироваться путем запросов в пределах между минимальным и максимальным:
Вариативный тип электропитания, напряжение может изменяться в заданных пределах абсолютного минимума и абсолютного максимума, но не может регулироваться:
Батарея, данный тип используется для обозначения батарей которые могут быть напрямую подключены к линии VBus:
Структура объекта RDO:
На мой взгляд данной информации достаточно, чтобы получить хорошее представление о принципах работы USB Power Delivery. Я сознательно не стал углубляться в дебри, связанные с таймерами, счетчиками и обработкой ошибок.
Взаимодействие с традиционным USB
Как уже было упомянуто выше, Power Delivery – это самостоятельная подсистема, которая функционирует параллельно и независимо от канонического USB. Тем не менее, в случаях когда устройства реализуют оба протокола – и USB и Power Delivery, спецификация рекомендует реализацию т.н. System Policy Manager или SPM, компонента который может контролировать оборудование USB PD посредством традиционных запросов USB.
Для систем с поддержкой SPM, спецификация рекомендует предоставить PD информацию посредством специальных типов USB дескрипторов. Не считаю нужным в них детально углубляться, просто перечислю их названия:
- Power Delivery Capability Descriptor, является составной частью BOS дескриптора и сообщает о том поддерживает ли устройство зарядку батареи через USB, поддерживает ли оно стандарт USB PD, может ли оно выступать источником питания, и может ли оно быть приемником. Кроме того данный дескриптор содержит информацию о количестве портов-источников, портов-приемников и версии поддерживаемых спецификаций USB Battery Charging и Power Delivery.
- Battery Info Capability Descriptor, требуется для всех устройств заявивших батарею в качестве одного из элементов электропитания. Содержит информацию о названии, серийном номере и производителе батареи, ее емкости, а также о пороговых значениях тока в заряженном и разряженом состоянии.
- PD Consumer Port Capability Descriptor, требуется для всех устройств которые заявили поддержку хотя бы одно порта-приемника. Содержит информацию о поддержке стандартов Power Delivery и Battery Charging, минимальное и максимальное напряжение, операционную мощность, максимальную пиковую мощность и максимальное время, которое оно может эту пиковую мощность потреблять
- PD Provider Port Capability Descriptor, требуется для всех устройств которые заявили поддержку хотя бы одного порта-источника питания. Содержит информацию о поддержке стандартов Power Delivery и Battery Charging, а так же список всех PDO объектов, характеризующих элементы электропитания доступных устройству.
- PD Power Requirement Descriptor, требуется для всех устройств-приемников поддерживающих USB PD. Каждое устройство должно возвращать хотя бы один такой дескриптор в составе дескриптора конфигурации. Этот дескриптор должен идти сразу после первого дескриптора интерфейса. В случае когда их несколько, он должен идти после каждого первого дескриптора интерфейса функции, если используется IAD, или в случае композитного устройства без IAD, непосредственно после каждого дескриптора интерфейса, и до endpoint дескрипторов.
Заключение
Надеюсь что данным постом я подогрел интерес публики к USB Power Delivery. Скромно замечу, что автор имеет непосредственное отношение к данной спецификации, поэтому готов ответить на любые вопросы по Power Delivery в частности и USB в общем.
Существует дополнение к официальной спецификации usb 2,0 (USB2_LinkPowerMangement_ECN), которая определяет LPM для нового оборудования USB 2,0. В этом разделе не рассматривается механизм USB 2,0 LPM. В этом разделе описано, как описать состояния USB 3,0 LPM, в частности U1 и U2.
Устройства USB 3,0 также поддерживают выборочную приостановку. Чтобы преодолеть ограничения на выборочную приостановку, официальная спецификация USB 3,0 определяет более детальные состояния управления питанием. Прежде чем описать эти состояния и понять, как их можно использовать для улучшения управления питанием, давайте сначала рассмотрим концепцию ссылки.
Преимущества U1 и U2
Состояния U1 и U2 предназначены для выборочной приостановки, что может привести к значительному энергосбережению. Когда программное обеспечение настраивает партнеров для перехода U1 или U2, оборудование переходит в автономное состояние без какого бы то ни было вмешательства программного обеспечения. Время выхода из U1 и U2 действительно быстро (от микросекунд до нескольких миллисекунд) и не влияет на производительность устройств. Это позволяет значительно улучшить управление питанием, когда ссылки могут вводить и завершать эти состояния даже при использовании устройства.
Что такое ссылка
Между двумя портами USB существует USB-подключение:
- Нисходящий порт (порт DS) узла или концентратора.
- Вышестоящий порт (США) подключенного устройства или концентратора.
Ссылка — это пара портов DS и US; порты называются партнерами связи. Каждый порт имеет два слоя. Физический уровень передает или получает последовательности байтов или других контрольных сигналов. Логический уровень управляет физическим уровнем и обеспечивает плавный поток информации между партнерами связи. Логический уровень также отвечает за любую буферизацию, которая может потребоваться для потока информации.
U states
As per the USB 2.0 specification, a link enters a low power state (consuming less power than the working state) only when the downstream device enters the suspended state through the Selective Suspend mechanism. The USB 3.0 specification decouples link power states from device power states. The specification defines the LPM feature (see Section C.1 in the specification) that refers to power management of physical and logical layers of a pair of ports that constitute a link. The specification defines four link power states known as U states, from U0 to U3. An active link is in state U0.
After remaining idle for a certain period of time, link partners progressively enter U1 (standby with fast exit) and then U2 (standby with slower exit). After they are idle for sufficient time, software initiates the transition to U3 by sending a command to the DS port link partner.
The steps that are required by software, to send the link to U3, are identical to the steps required for USB 2.0 Selective suspend. The device must enter the suspended state when the link enters U3. As a result, the device is subject to similar restrictions as with USB 2.0 Selective Suspend. To overcome those limitations, the USB 3.0 specification defines U1 and U2 states.
Состояния U
В соответствии со спецификацией USB 2,0, ссылка переходит в состояние низкого энергопотребления (потребляет меньше энергии, чем рабочее), только когда подчиненное устройство переходит в состояние SUSPENDED через механизм выборочной приостановки. Спецификация USB 3,0 отделяет состояние электропитания канала от состояний электропитания устройства. Спецификация определяет функцию LPM (см. раздел C. 1 в спецификации), которая относится к управлению питанием физических и логических слоев пары портов, образующих связь. Спецификация определяет четыре состояния питания связи, известные как состояния U, от U0 до U3. Активная ссылка находится в состоянии U0.
После оставшегося простоя в течение определенного периода времени партнеры по связыванию последовательно вводят U1 (ждущий режим с быстрым выходом), а затем U2 (ждущий режим с медленным выходом). Когда они простаивают в течение достаточного времени, программа инициирует переход на U3, отправляя команду партнеру по ссылке на порт DS.
Действия по отправке ссылки на U3, необходимые для программного обеспечения, идентичны действиям, необходимым для выборочного отключения USB 2,0. Устройство должно перейти в состояние SUSPENDED, когда ссылка переходит в U3. В результате на устройство распространяются аналогичные ограничения, как и при использовании выборочной приостановки USB 2,0. Чтобы преодолеть эти ограничения, спецификация USB 3,0 определяет состояния U1 и U2.
What is a link
A USB connection exists between two USB ports:
- The downstream port (DS port) of a host or a hub.
- The upstream port (US port) of an attached device or hub.
A link is a pair of DS and US ports; the ports are known as link partners. Each port has two layers. The physical layer transmits or receives sequences of bytes or other control signals. The logical layer manages the physical layer and ensures smooth flow of information between the link partners. The logical layer is also responsible for any buffering that might be required for the information flow.
Читайте также: