面壁UNH IOL NVMe一致性測試之22 – Power State Transitions

原創內容,轉載請注明:  [http://www.od-music.com]  謝謝!

Group8 測試 Power State Transitions

Test 8.1 – Autonomous Power State Transitions Enable

測試步驟

  1. 通過將Identify Controller Data Structure的Byte 256的Bit 0設為1,檢查SSD是否支持Autonomous Power State Transitions, 如果該bit設置為0,本測試無效;
  2. 下發Set Feature command,enable Feature Identifier 0Ch (Autonomous Power State Transitions);
  3. 下發Get Feature command,檢查Autonomous Power State Transitions被enabled, 同時SSD返回Autonomous Power State Transition data structure;

期望結果

  1. SSD返回正確的Autonomous Power State Transition data structure;

 

Test 8.2 – Return from Non-Operational State

Case 1: Basic Operation

測試步驟

  1. 通過將Identify Controller Data Structure的Byte 256的Bit 0設為1,檢查SSD是否支持Autonomous Power State Transitions, 如果該bit設置為0,本測試無效;
  2. 下發Set Feature command,enable Feature Identifier 0Ch (Autonomous Power State Transitions);
  3. 下發Get Feature command,檢查Autonomous Power State Transitions被enabled, 同時SSD返回Autonomous Power State Transition data structure;
  4. 如果SSD支持進入一個non-operational state,允許SSD在進入non-operational state前的ITPT(Idle Time Prior to Transition)時間內,保持在Idle狀態時間;
  5. 執行Identify Power State Descriptor Data Structure, 檢查NOPS(Non-Operational Power States)字段;
  6. 下發一個NVMe IO command(例如NVMe write)給SSD;
  7. 執行Identify Power State Descriptor Data Structure, 檢查NOPS(Non-Operational Power States)字段;

期望結果

  1. SSD返回正確的Autonomous Power State Transition data structure;
  2. 從Host write IOSQ Tail Doorbell到write command執行完畢,SSD返回到之前的Operational power state

 

Case 2: Non-Operation State Admin Commands

測試步驟

  1. 通過將Identify Controller Data Structure的Byte 256的Bit 0設為1,檢查SSD是否支持Autonomous Power State Transitions, 如果該bit設置為0,本測試無效;
  2. 下發Set Feature command,enable Feature Identifier 0Ch (Autonomous Power State Transitions);
  3. 下發Get Feature command,檢查Autonomous Power State Transitions被enabled, 同時SSD返回Autonomous Power State Transition data structure;
  4. 如果SSD支持進入一個non-operational state,允許SSD在進入non-operational state前的ITPT(Idle Time Prior to Transition)時間內,保持在Idle狀態時間;
  5. 針對所有該SSD支持的Admin command,下發該命令給SSD,然后執行Identify Power State Descriptor Data Structure, 檢查NOPS字段;

期望結果

  1. SSD返回正確的Autonomous Power State Transition data structure;
  2. 各Admin command下發后,SSD仍然停留在non-operational state;

 

Test 8.3 – Autonomous Power State Transition

Case 1: Proper Structure

測試步驟

  1. Host發送Set Feature command,要求SSD切換到一個不支持的Power state;
  2. Host發送Get Feature command,將Feature ID設為 0Ch (Autonomous Power State Transitions);

期望結果

  1. SSD正常返回CQ;
  2. SSD返回的Autonomous Power State Transition data structure以及內部的各個Entry,長度正確;
  3. Autonomous Power State Transition data structure內部的各個Entry,內容全部為0;

 

Case 2 : Controller and Power State Basis

測試步驟

  1. Host發送Set Feature command,將Autonomous Power State Transition data structure Enable (APSTE) bit設為0;
  2. Host發送Get Feature command,將Feature ID設為 0Ch (Autonomous Power State Transitions);
  3. Host發送Set Feature command,將Autonomous Power State Transition data structure Enable (APSTE) bit設為1;
  4. Host發送Get Feature command,將Feature ID設為 0Ch (Autonomous Power State Transitions);
  5. 針對SSD支持的每一個Power state
    1. Host發送Set Feature command,將Autonomous Power State Transition data structure Enable (APSTE) bit設為1, 在Autonomous Power State Transition data structure該power state對應的entry中,將Idle Transition Power State (ITPS)字段設為“non-operational power state”,將Idle Time Prior to Transition (ITPT)字段設為100ms;
    2. 讓SSD保持Idle足夠長時間,使其進入該power state,Host發送Get Feature command (Power Management Feature)獲取當前的power state;
    3. Host發送Set Feature command,將Autonomous Power State Transition data structure Enable (APSTE) bit設為1, 在Autonomous Power State Transition data structure該power state對應的entry中,將Idle Transition Power State (ITPS)字段設為“non-operational power state”,將Idle Time Prior to Transition (ITPT)字段設為0ms;
    4. 等待10s,Host發送Get Feature command (Power Management Feature);

期望結果

  1. SSD正常返回CQ;
  2. 當某個Power State的Autonomous Power State Transition disable時,SSD不會進行自動進行power state切換;
  3. 當某個Power State的Autonomous Power State Transition enable時,SSD在Idle相應時間后自動切換到對應的power state;

 

Case 3: Configuration

測試步驟

  1. 針對每個支持的non-operational power state,Host發送Set Feature command (Autonomous Power State Feature), 將Idle Transition Power State (ITPS)字段設為“non-operational power state”,將Idle Time Prior to Transition (ITPT)字段設為100ms, 并確保APSTE字段為1;
  2. Host發送Set Feature command (Autonomous Power State Feature), 將Idle Transition Power State (ITPS)字段設為一個”operational power state”;

期望結果

  1. SSD正常返回CQ;
  2. SSD成功進入各non-operational power state;
  3. 針對步驟2發送的Set Feature命令,SSD回復CQ狀態為Invalid Field in command;

注:官方目前還沒有確定本項目可靠的測試方法,本測試不會被包括在任何conformance測試中

 

Test 8.4 – Power State Entrance Latency

測試步驟

  1. 針對Power State Descriptor table中每一個Entry Latency (ENLAT)不為0h的power state;
  2. 記錄所選power state的Entry Latency (ENLAT)值,和當前power state的Exit Latency (EXLAT)值;
  3. Host發送Set Feature command (Feature ID 02h)- power management,指定一個新的power state;
  4. 使SSD保持idle時間達到前一個power state的Exit Latency與所選power state Entry Latency之和;
  5. Host發送Get Feature command (Feature ID 02h)- power management

期望結果

  1. 檢查步驟5返回的power state信息;

 

Test 8.5 – Power State Exit Latency

測試步驟

  1. 針對Power State Descriptor table中每一個Exit Latency (EXLAT)不為0h的power state;
  2. 記錄所選power state的Entry Latency (ENLAT)值,和當前power state的Exit Latency (EXLAT)值;
  3. Host發送Set Feature command (Feature ID 02h)- power management,指定一個新的power state;
  4. 使SSD保持idle時間達到前一個power state的Exit Latency與所選power state Entry Latency之和;
  5. Host發送Get Feature command (Feature ID 02h)- power management

期望結果

  1. 檢查步驟5返回的power state信息;

 

Test 8.6 – Relative Read Throughput (RRT)

測試步驟

  1. 記錄每一個支持的power state的Relative Read Throughput;
  2. 針對每個power state,記錄其完成100個read command的時間;

期望結果

  1. RRT越高的Power State,完成這100個read command時間越短;

 

Test 8.7 – Relative Write Throughput (RWT)

測試步驟

  1. 記錄每一個支持的power state的Relative Write Throughput;
  2. 針對每個power state,記錄其完成100個write command的時間;

期望結果

  1. RWT越高的Power State,完成這100個write command時間越短;

 

Test 8.8 – Host Controlled Thermal Management

Case 1: Basic Operation

測試步驟

  1. 記錄SSD的Current Temperature;
  2. 設置SSD進入highest active power state;
  3. 發送Set Feature (Feature ID 10h, Host controlled Thermal Management),Thermal Management Temperature 1低于步驟1里記錄的Current Temperature,Thermal Management Temperature 2高于步驟1里記錄的Current Temperature;
  4. 記錄SSD的Current Temperature;
  5. 設置SSD進入highest active power state;
  6. 發送Set Feature (Feature ID 10h, Host controlled Thermal Management),Thermal Management Temperature 1低于步驟4里記錄的Current Temperature,Thermal Management Temperature 2高于前一個溫度但低于步驟4里記錄的Current Temperature;
  7. 記錄SSD的Current Temperature;

期望結果

  1. 各個Set Feature command成功完成;
  2. 顯示各個Set Feature command后的Power State

 

Case 2 Invalid Field

測試步驟

  1. 記錄SSD的Current Temperature;
  2. 發送Set Feature (Feature ID 10h, Host controlled Thermal Management),Thermal Management Temperature 1比規定的最高溫度高1度,Thermal Management Temperature 2為0xFFFF;
  3. 記錄SSD的Current Temperature;
  4. 發送Set Feature (Feature ID 10h, Host controlled Thermal Management),Thermal Management Temperature 1為0xFFFF;Thermal Management Temperature 2比Minimum Thermal Management Temperature 高1度;
  5. 記錄SSD的Current Temperature;
  6. 發送Set Feature (Feature ID 10h, Host controlled Thermal Management),Thermal Management Temperature 1比規定的最高溫度高1度,Thermal Management Temperature 2為0x1;
  7. 記錄SSD的Current Temperature;
  8. 發送Set Feature (Feature ID 10h, Host controlled Thermal Management),Thermal Management Temperature 1為0x1,Thermal Management Temperature 2比Minimum Thermal Management Temperature 高1度;
  9. 記錄SSD的Current Temperature;

期望結果

各個Set Feature command, 均返回Invalid Field,同時Power state沒有變化。

分類目錄 SSD, 產品評測, 技術文章.
掃一掃二維碼或者微信搜索公眾號ssdfans關注(添加朋友->點最下面的公眾號->搜索ssdfans),可以經??吹絊SD技術和產業的文章(SSD Fans只推送干貨)。
ssdfans微信群介紹
技術討論群 覆蓋2000多位中國和世界華人圈SSD以及存儲技術精英
固件、軟件、測試群 固件、軟件和測試技術討論
異構計算群 討論人工智能和GPU、FPGA、CPU異構計算
ASIC-FPGA群 芯片和FPGA硬件技術討論群
閃存器件群 NAND、3D XPoint等固態存儲介質技術討論
企業級 企業級SSD、企業級存儲
銷售群 全國SSD供應商都在這里,砍砍價,會比某東便宜20%
工作求職群 存儲行業換工作,發招聘,要關注各大公司招聘信息,趕快來
高管群 各大SSD相關存儲公司高管和創始人、投資人

想加入這些群,請微信掃描下面二維碼,或搜索nanoarchplus,加阿呆為微信好友,介紹你的昵稱-單位-職務,注明群名,拉你進群。SSD業界需要什么幫助,也可以找阿呆聊。