NVMe

Power management

PCIeMaster 2023. 11. 24. 15:23

8.15 Power Management 

전원 관리 기능을 통해 호스트는 NVM 하위 시스템 전원을 정적으로 또는 동적으로 관리할 수 있습니다.
정적 전원 관리는 호스트가 NVM 하위 시스템에 할당할 수 있는 최대 전력을 결정하고 NVM Express 전원 상태를 이 전력량 이하를 소비하는 상태로 설정하는 것으로 구성됩니다.
동적 전원 관리는 그림 452에 설명되어 있으며 변화하는 전원 및 성능 목표를 가장 잘 충족시키기 위해 NVM Express 전원 상태를 수정하는 호스트로 구성됩니다.
이 전원 관리 메커니즘은 컨트롤러가 수행하는 자율적인 전원 관리 또는 열 관리를 대체하는 것이 아니라 보완하기 위한 것입니다.

컨트롤러에 의해 구현된 전원 상태 수는 식별 컨트롤러 데이터 구조의 지원되는 전원 상태 수(NPSS) 필드에 반환됩니다.

컨트롤러가 이 기능을 지원하는 경우 최소 하나의 전원 상태가 정의되어야 하며 선택적으로 최대 총 32개의 전원 상태가 지원될 수 있습니다.

전원 상태는 각 후속 전원 상태가 이전 상태에서 소비된 최대 전력보다 작거나 같도록 0부터 시작하여 연속적으로 번호가 지정되어야 합니다.

따라서 전원 상태 0은 NVM 하위 시스템이 소비할 수 있는 최대 전력을 나타냅니다.

각 전원 상태와 연관된 것은 식별 컨트롤러 데이터 구조의 전원 상태 설명입니다(그림 276 참조).
모든 구현된 전원 상태에 대한 설명자는 7개의 구현된 전원 상태를 가진 컨트롤러에 대한 그림 453의 예에 표시된 것처럼 테이블을 형성하는 것으로 볼 수 있습니다.

그림 453은 설명을 위한 것이며 전원 상태 설명자의 모든 필드를 포함하지는 않습니다.

최대 전력(MP) 필드는 전력 측정 방법이 본 사양 범위를 벗어나는 해당 상태에서 소비될 수 있는 지속 최대 전력을 나타냅니다.

컨트롤러는 자율 전력 관리 기술을 사용하여 전력 소비를 이 수준 이하로 줄일 수 있지만, 섹션 8.15.1에 설명된 비작동 전원 상태를 제외하고는 어떤 상황에서도 전력이 이 수준을 초과하는 것이 허용되지 않습니다.

 

The Idle Power (IDLP) 필드는 유휴 상태일 때(예: 보류 중인 명령, 속성 액세스, 백그라운드 프로세스 또는 장치 자체 테스트 작업이 없는 경우) 전원 상태에서 30초 동안 NVM 하위 시스템이 소비하는 일반적인 전력을 나타냅니다.NVM 하위 시스템이 10초 동안 유휴 상태를 유지한 후에 측정이 시작됩니다.

 

The Ative power(ACTP) 필드는 특정 작업 부하에서 10초 동안 NVM 하위 시스템의 최대 평균 전력을 나타냅니다(섹션 8.15.3 참조).유효 전력 측정은 첫 번째 명령이 제출될 때 시작되고 마지막 명령이 완료되면 종료됩니다.해당 상태에서 NVM 하위 시스템이 소비하는 10초 기간 동안 최대 평균 전력이 활성 전력 필드에 보고됩니다. 작업 부하가 10초보다 빠르게 완료되는 경우 작업 부하 기간 동안 평균 유효 전력을 측정해야 합니다. 비작동 상태에서는 유효 전력 규모, 유효 전력 작업 부하 및 유효 전력 필드를 0h로 설정해야 합니다.

 

호스트는 Get Features command 를 사용하여 전원 상태를 동적으로 수정하고 기능 가져오기 명령을 사용하여 현재 전원 상태를 확인할 수 있습니다. 호스트는 지원되는 두 가지 전원 상태 간에 직접 전환할 수 있습니다. 전원 상태 설명자 데이터 구조의 The Entry Latency (ENLAT) 필드는 해당 전원 상태로 들어가는 최대 시간(마이크로초)을 나타내고 Exit Latency (EXLAT) 필드는 해당 상태를 종료하는 데 걸리는 최대 시간(마이크로초)을 나타냅니다.

두 전원 상태 간 전환에 소요되는 최대 시간은 이전 상태의 종료 대기 시간과 새 상태의 진입 대기 시간을 합한 것과 같습니다.호스트는 새로운 전환을 시작하기 전에 이전에 제출된 전원 상태 전환이 완료될 때까지 기다릴 필요가 없습니다.일련의 전원 상태 전환이 완료되는 데 걸리는 최대 시간은 시퀀스의 각 개별 전원 상태 전환에 대한 전환 시간의 합과 같습니다.

 

각 전원 상태 설명자와 관련된 RRT(상대 읽기 처리량), RWT(상대 쓰기 처리량), RRL(상대 읽기 대기 시간) 및 RWL(상대 쓰기 대기 시간) 필드는 해당 전원 상태의 상대적 성능 표시를 호스트에 제공합니다. 상대 성능 값은 전원 상태 간의 성능 특성 순서를 제공합니다.상대 성능 값은 반복될 수 있고, 건너뛸 수 있으며, 임의의 순서로 할당될 수 있습니다(즉, 전력 상태가 증가한다고 해서 상대 성능 값이 증가할 필요는 없습니다).

 

상대 성능 값이 낮을수록 성능이 더 우수함을 나타냅니다(예: 처리량이 높거나 대기 시간이 짧음). 예를 들어 그림 453에서 전원 상태 1은 전원 상태 2보다 읽기 처리량이 더 높으며 전원 상태 0부터 3까지 모두 동일한 읽기 대기 시간을 갖습니다. 상대적 성능 순서는 단일 성능 특성에 대해서만 적용됩니다. 따라서 한 전원 상태의 상대적인 읽기 처리량 값이 다른 전원 상태의 상대적인 쓰기 처리량 값과 같을 수도 있지만 이것이 두 전원 상태의 실제 읽기 및 쓰기 성능이 동일하다는 의미는 아닙니다.


기본 NVM Express 전원 상태는 구현에 따라 다르며 해당 폼 팩터 사양에 지정된 최저값(있는 경우)보다 더 많은 전력을 소비하지 않는 상태에 해당합니다. NVMe 전원 상태에 영향을 미치는 전송별 전원 요구 사항은 해당 NVMe 전송 바인딩 사양의 전원 관리 섹션을 참조하세요.

Non-Operational Power States
전원 상태는 그림 276의  Non-Operational Power States (NOPS) 필드에 표시된 것처럼 비작동 전원 상태일 수 있습니다. 비작동 전원 상태는 다음 작업을 허용합니다.

 

Property accesses

  • PRM accesses (있는 경우)
  • CMB accesses (있는 경우)
  • 관리 명령 처리 및 해당 명령에 의해 시작된 백그라운드 작업 처리(예: 장치 자체 테스트 명령(섹션 5.9 참조), 삭제 명령(섹션 5.24 참조)). 그리고
  • 해당 NVMe 전송 바인딩 사양에 정의된 추가 전송별 액세스.

이전 단락에 나열된 작업의 경우 컨트롤러는 다음을 수행합니다.

  • 비작동 전원 상태에 표시된 전력을 초과할 수 있습니다.
  • I/O 명령이 수신되지 않는 한 논리적으로 현재 비작동 전원 상태를 유지해야 합니다. 또는 전원 관리 기능 식별자를 사용하여 기능 설정 명령에 의해 명시적인 전환이 요청된 경우; 그리고
  • 가장 최근의 작동 전력 상태에 대해 광고된 최대 전력을 초과해서는 안 됩니다.

비작동 전원 상태 허용 모드가 지원되고 활성화된 경우 컨트롤러가 시작한 백그라운드 작업 실행은 비작동 전원 상태에 의해 광고된 전력을 초과할 수 있습니다(섹션 5.27.1.14 참조).

비작동 전원 상태에서는 컨트롤러가 I/O 명령을 처리하지 않습니다. 호스트는 장치의 현재 전원 상태를 비작동 전원 상태로 변경하기 위해 Set Features command를 실행하기 전에 보류 중인 I/O 명령이 없을 때까지 기다려야 하며  Set Features command가 완료될 때까지 새 I/O 명령을 제출하지 않아야 합니다. I/O 명령을 병렬로 실행하면 컨트롤러가 예기치 않은 전원 상태가 될 수 있습니다.

 

non-operational power state 에 있는 경우 자율 전원 상태 전환 활성화 여부에 관계없이 컨트롤러는 I/O 명령을 처리하기 위해 가장 최근의 operational power state 로 자동으로 다시 전환해야 합니다.

 

Identify bytes 263 ->  Number of Power States Support (NPSS):

이 필드는 컨트롤러가 지원하는 NVM Express 전원 상태 수를 나타냅니다. 이는 0 기반 값입니다. 섹션 8.15를 참조하십시오.전원 상태는 전원 상태 0부터 시작하여 순차적으로 번호가 지정됩니다. 컨트롤러는 최소한 하나의 전원 상태(예: 전원 상태 0)를 지원해야 하며 최대 31개의 추가 전원 상태(예: 최대 총 32개)를 지원할 수 있습니다.

 

Set Feature / Get Feature commands 

Feature Identifier : 0x02 

이 기능을 사용하면 호스트가 전원 상태를 구성할 수 있습니다. 속성은 Command Dword 11에 지정됩니다(그림 318 참조).이 기능에 대한 기능 설정 명령이 성공적으로 완료되면 컨트롤러는 지정된 전원 상태가 됩니다. 비작동 전원 상태로 전환하는 경우 장치는 섹션 8.15.1에 정의된 비작동 전원 상태에 대해 표시된 전력을 초과할 수 있습니다(예: 이 명령을 완료하는 동안). 활성화되면 자동 전원 상태 전환이 새 상태에서 계속 발생합니다.

 

이 기능에 대해  Get Features  명령이 제출되면 그림 319에 설명된 속성이 해당 명령에 대한 완료 대기열 항목의 Dword 0에 반환됩니다.

 

8.15.3 NVM Subsystem Workloads 

 

이 섹션에 설명된 작업 부하 값은 전원 관리 기능(섹션 5.27.1.2 참조)에서 작업 부하 힌트를 지정하여 NVM 하위 시스템에 알리거나 활성 전력 수준에 대한 조건을 나타낼 수 있습니다.

 

전원 상태 설명자의 유효 전력 값은 NVM 하위 시스템의 작업 부하에 따라 달라질 수 있으므로 특정 작업 부하에 대해 지정됩니다. 작업량 필드는 에너지 값을 관찰하기 위한 조건을 나타냅니다. 전원 상태에 유효 전력이 표시되면 해당 작업 부하도 표시되어야 합니다.

 

워크로드 값은 그림 454에 설명되어 있습니다.

'NVMe' 카테고리의 다른 글

[굿썸]Autonomous Power State Transition(APST)  (1) 2024.01.09
Features and Log pages  (0) 2022.03.24
Persistent Event Log Page  (0) 2022.03.22