隨著兩周前Gigabyte AORUS Gen5 10000 SSD在美國(guó)Amazon和newegg的發(fā)售,以及其它廠家PCIe Gen5 M.2 SSD的發(fā)售,針對(duì)Gen5 M.2 SSD的測(cè)試對(duì)于筆記本電腦廠商也早于之前的預(yù)期開始了測(cè)試。
針對(duì)Gen5 M.2 SSD的測(cè)試常用的工具,一般有下面幾大類:
PCIe Gen5協(xié)議分析儀
這類產(chǎn)品以SeriaTek PCIe Gen5 analyzer為代表。針對(duì)M.2 SSD的一個(gè)關(guān)鍵指標(biāo)是保證M.2在進(jìn)出低功耗L1.2的時(shí)候可以穩(wěn)定地抓取并且解碼數(shù)據(jù)
PCIe Gen5 SSD鏈路故障注入工具
這類產(chǎn)品以Quarch公司的Gen5 M.2 card control module為代表,串接在M.2 SSD和M.2插槽之間,導(dǎo)入物理層和鏈路層的各種問題,可以仿真出M.2 SSD在插入市場(chǎng)上各種質(zhì)量參差不齊的主板的時(shí)候是否仍然可以穩(wěn)定、可靠地工作。
PCIe Gen5 SSD性能和功能測(cè)試設(shè)備
這類產(chǎn)品以SanBlaze公司的RM5/DT5為代表,已經(jīng)在過去一年多的時(shí)間里獲得了全球各大Gen5 M.2 SSD廠商的選擇,尤其是在Gen5 低功耗L1.2測(cè)試上通過獨(dú)有的硬件設(shè)計(jì)解決了低功耗測(cè)試測(cè)試的難題。我們本篇文章也是重點(diǎn)介紹該功能的實(shí)現(xiàn)。
PCIe Gen5 SSD電壓拉偏測(cè)試
這類產(chǎn)品以Quarch公司的Gen5 M.2 PPM (programmable power module)為代表,測(cè)試Gen5 M.2在接入不同的主板的時(shí)候,或者主板電壓不穩(wěn)的時(shí)候是否可以正常工作。
PCIe Gen5 SSD功耗和邊帶sideband信號(hào)追蹤回溯工具
這類產(chǎn)品以Quarch公司的Gen5 M.2 PAM (programmable analysis module)為代表,測(cè)試Gen5 M.2 SSD在接入不同的主板,尤其是在L1.2低功耗下面的各種問題的分析非常方便,它可以非常高的分辨率長(zhǎng)時(shí)間抓取所有的電壓、電流和功耗以及sideband例如CLKREQ#, PERST#等,方便工程師進(jìn)行問題的回溯分析。
PCIe Gen5 SSD測(cè)試環(huán)境搭建常用盤柜和治具
這類產(chǎn)品以SerialCables公司的Gen5 8槽位測(cè)試盤柜,以及各類Gen5 M.2轉(zhuǎn)接卡和延長(zhǎng)線為主,例如Gen5 M.2/AIC, M.2/U.2等,重在保證Gen5信號(hào)的品質(zhì)。
PCIe Gen5 SSD高低溫測(cè)試溫箱
這類產(chǎn)品根據(jù)使用場(chǎng)景分為研發(fā)用和生產(chǎn)用兩類。研發(fā)用的話,可以采用SerialCable RM5,可以提供0~75度的溫度測(cè)試范圍;對(duì)于生產(chǎn)用,一般根據(jù)用戶的需求進(jìn)行定制,一般采用通用溫箱架構(gòu),需要保證Gen5信號(hào)的穩(wěn)定性和設(shè)備的經(jīng)濟(jì)型。
針對(duì)上述的各類產(chǎn)品的介紹,感興趣的朋友可以到下面的百度網(wǎng)盤下載PCIe Gen5測(cè)試工具白皮書8.0(https://pan.baidu.com/s/1FSc8LBTKM3aGr3FZ6nvhrQ?pwd=xcb3)。本文的重點(diǎn)是介紹如何測(cè)試PCIe Gen5 M.2 SSD的L1.2低功耗,測(cè)試連接圖請(qǐng)參考下面的SanBlaze + SerialTek L1.2連接示意圖360度VR照片(https://www.720yun.com/t/77vk6mdw7dl )。
L1.2低功耗測(cè)試介紹
SANBlaze SBExpress 和Certified by SANBlaze測(cè)試方法通過提供創(chuàng)建復(fù)雜測(cè)試套件、驗(yàn)證規(guī)范合規(guī)性、數(shù)據(jù)完整性、電源和reset測(cè)試以及 MI 合規(guī)性的簡(jiǎn)單方法,大大簡(jiǎn)化了 PCIe NVMe 設(shè)備的驗(yàn)證。
通過SANBlaze 認(rèn)證測(cè)試套件的 10.5 版本,SANBlaze 推出了一套測(cè)試,旨在驗(yàn)證 NVMe 設(shè)備在超低功耗子狀態(tài) L1.1 和 L1.2 下的運(yùn)行。
L1.x 子狀態(tài)測(cè)試對(duì)旨在用于平板電腦和筆記本電腦等電池供電設(shè)備的NVMe SSD的生產(chǎn)商提出了獨(dú)特但至關(guān)重要的挑戰(zhàn)。這些設(shè)備將極大地受益于新的電源子狀態(tài)(power sub-state),這些子狀態(tài)以少量 PCIe 延遲換取盡可能低的功耗。
與 L1.x 子狀態(tài)的根本區(qū)別是使用帶外信號(hào)來 “喚醒設(shè)備”。使用帶外信號(hào)允許設(shè)備通過完全關(guān)閉其收發(fā)器并僅監(jiān)控CLKREQ# 帶外信號(hào)的電平來實(shí)現(xiàn)接近零功耗的狀態(tài)。
主要 PCIe 電源狀態(tài)(Power States)
可以在以下 PCI?SIG 文檔https://pcisig.com/making?most?pcie?low?power?features中找到 PCIe 電源狀態(tài)的全面概述,特別是L1.1 和 L1.2 子狀態(tài)由 PCI?SIG 營(yíng)銷工作組聯(lián)席主席 Scott Knowlton 撰寫,此處引用。
主要的 PCIe 電源狀態(tài)是:
L0 – 正常運(yùn)行的鏈路
L1 – 沒有數(shù)據(jù)傳輸?shù)逆溌窢顟B(tài),因此 PCIe 收發(fā)器邏輯的關(guān)鍵部分可以關(guān)閉
L2 – 與 L3 相同的鏈路狀態(tài),但其中電源尚未(尚未)被移除
L3 – 設(shè)備關(guān)機(jī)時(shí)
L0s 一種鏈路狀態(tài),包括數(shù)據(jù)可以在一個(gè)方向上傳輸,可能在另一個(gè)方向上不傳輸數(shù)據(jù),因此鏈路上的兩個(gè)設(shè)備可以各自獨(dú)立地空閑其發(fā)送端(transmitter)
定義 L1.1 和 L1.2 子狀態(tài)
隨著 PCIe 速度和通道密度的增加,僅僅保持 PCIe 通道處于活動(dòng)狀態(tài)就會(huì)消耗大功率,根據(jù)L1.2 power substate定義,進(jìn)入低功耗時(shí)候?qū)㈥P(guān)閉收發(fā)器PCIe transceiver PHY鏈路,然后在需要的時(shí)候再重新打開。
為了解決這個(gè)難題,PCIe NVMe 定義了帶外信號(hào)“CLKREQ#”,其最簡(jiǎn)單的定義是從主機(jī)到端點(diǎn)設(shè)備的“喚醒”信號(hào),用于重新打開 PHY 并重新開始 PCIe 鏈路通信。關(guān)閉 PHY 可以節(jié)省大量電量并允許PCIe endpoint節(jié)點(diǎn)在空閑模式下幾乎不消耗功率,這對(duì)于電池供電的設(shè)備如筆記本電腦來說是一個(gè)顯著的改進(jìn)。
Scott Knowlton 的論文描述了 L1.x 子狀態(tài)的好處如下,為了完整性,這里引用上述提及的規(guī)范中的文本。
“L1 子狀態(tài)背后的基本思想是使用 PCIe 收發(fā)器內(nèi)部的高速邏輯以外的東西來喚醒設(shè)備。目標(biāo)是在活動(dòng)狀態(tài)下實(shí)現(xiàn)接近零的功耗。
這是通過向現(xiàn)有 PCIe 引腳 (CLKREQ#) 添加額外功能以提供非常簡(jiǎn)單的信號(hào)協(xié)議來實(shí)現(xiàn)的。這允許 PCIe 收發(fā)器關(guān)閉其高速電路并依靠該信號(hào)再次喚醒它們。事實(shí)上,這定義了兩個(gè)新的power substate子狀態(tài):L1.1 和 L1.2, 分別提供了它們自己的功率與退出延遲權(quán)衡選擇。
L1.1 和 L1.2 都允許 PCIe 收發(fā)器關(guān)閉其 PLL 及其接收器和發(fā)射器,而 L1.2 甚至允許關(guān)閉common mode keeper circuits。
結(jié)果是非常顯著的。高效的電路設(shè)計(jì)和現(xiàn)代硅工藝意味著典型的 PCI Express 4.0 x4 PHY(4 個(gè)收發(fā)器加上用于四個(gè)通道的相關(guān)數(shù)字邏輯)在 L0 中以全 16GT/s 數(shù)據(jù)速率運(yùn)行時(shí)消耗的功率在 400?500mW 范圍內(nèi)。
使用 L1.1,相同 PHY 的功耗降低了大約 20 倍,僅消耗 20?30mW。接受稍長(zhǎng)的 L1.2 退出延遲可使功耗再降低 10倍至僅 2?3mW。
下圖顯示了與使用 L1 子狀態(tài)相比,現(xiàn)有 L1 狀態(tài)可用的低功耗解決方案。預(yù)計(jì)多通道鏈路的節(jié)能規(guī)模呈線性增長(zhǎng), 并且實(shí)施 L1 子狀態(tài)功能會(huì)在 L1 退出延遲增加時(shí)降低功耗。實(shí)施 L1 子狀態(tài)是降低使用 PCIe 的移動(dòng)設(shè)計(jì)功耗的關(guān)鍵。”
圖 1:L1.x 狀態(tài)圖和子狀態(tài)定義
控制 CLKREQ#
如上一節(jié)所述,NVMe U.2、U.3、EDSFF 和 M.2 連接器上可用的引腳 CLKREQ# 已被修改,以向處于電源狀態(tài) L1.1 和L1 的M.2 SSD固態(tài)盤提供“喚醒”信號(hào).2 如圖1所示。
為了驗(yàn)證 L1、L1.1 和 L1.2 低功耗子狀態(tài)的正確操作,用戶必須能夠監(jiān)視和控制 CLKREQ# 信號(hào)。這可以使用 SANBlaze PCIe Gen5 NVMe 測(cè)試系統(tǒng)來實(shí)現(xiàn)(V10.5 軟件版本)。
圖 2:上游端口啟動(dòng)退出的 L1.1 波形
圖 3:下游端口啟動(dòng)退出的 L1.1 波形
CLKREQ# 信號(hào)
CLKREQ# 在被測(cè)設(shè)備處于 L0(全功率)狀態(tài)時(shí)被Assert拉低,并且可以由 PCIe 鏈路上的上游或下游設(shè)備Assert,以將設(shè)備從 L1.1 或 L1.2 恢復(fù)到 L0.Active。
CLKREQ# L1.1 L1.2 測(cè)試模式
SANBlaze 支持在 SBExpress?RM5(Rack Mounted PCIe Gen5機(jī)架式測(cè)試系統(tǒng)) 和SBExpress?DT5 (Desk Top PCIe Gen5桌面式測(cè)試系統(tǒng))NVMe SSD測(cè)試系統(tǒng)上進(jìn)L1.1 和 L1.2 測(cè)試。目前內(nèi)置腳本可與SANBlaze 硬件一起使用,其操作如下所述。
根據(jù)被測(cè)設(shè)備在 SBExpress?RM5 系統(tǒng)中的物理位置,測(cè)試將以兩種模式之一運(yùn)行。腳本將自動(dòng)確定系統(tǒng)配置,并根據(jù)系統(tǒng)配置和版本運(yùn)行兩種測(cè)試模式之一。
兩種操作模式各有優(yōu)勢(shì),建議在兩種模式中的每一種模式下測(cè)試待測(cè)的Gen4/5 M.2 SSD,如下所述。
L1.1和L1.2 子狀態(tài)測(cè)試腳本
以下腳本在 SANBlaze V10.5 軟件包中可用,可從 SANBlaze 獲得。
所有腳本都是第一個(gè)腳本 PM_L1_Substate_Verify.sh 的變體,它使被測(cè)設(shè)備從 L0.Active 到 L1.Idle,再到 L1.1 和 L1.2。在每個(gè)級(jí)別,腳本通過檢查 PCIe 總線鏈路狀態(tài)和 CLKREQ# 信號(hào)的當(dāng)前狀態(tài)來測(cè)試被測(cè)設(shè)備的預(yù)期電源狀態(tài)轉(zhuǎn)換。
變化如下:
CLKREQ#模式定義
目前定義了兩種測(cè)試模式將腳本運(yùn)行在SANBlaze SBExpress?RM5 硬件系統(tǒng)上,所有 SBExpress?RM5 系統(tǒng)的所有插槽都能夠運(yùn)行模式 1。
模式 1 ? SANBlaze“riser”控制 CLKREQ#
模式 2 ? CLKREQ# 信號(hào)由上游 PCIe 設(shè)備控制
模式 2 測(cè)試需要自定義固件,該固件image可現(xiàn)場(chǎng)升級(jí)并可由SANBlaze 根據(jù)需求提供。
進(jìn)模式 1 CLKREQ# 測(cè)試
在第一種操作模式下,SANBlaze 腳本通過手動(dòng)控制 CLKREQ# 來控制進(jìn)入和退出 L1.x 子狀態(tài)。這種操作模式將驗(yàn)證子狀態(tài),并將以下述方式在 SBExpress?RM5 測(cè)試系統(tǒng)的所有 16 個(gè)插槽中操作。
選擇“測(cè)試管器”測(cè)試
低功耗子狀態(tài)測(cè)試腳本需要手動(dòng)選擇,它們也將包含在Certified by SANBlaze 測(cè)試報(bào)告中。
首先,從SanBlaze WebGUI左側(cè)菜單中選擇 SBExpress 管理器頁面:
然后選擇頁面底部附近的“ShowTestManager”按鈕:
然后選擇右邊的“PM_L1_Substate_Verify.sh”腳本:
此時(shí),可以選擇將測(cè)試分配給所有設(shè)備,設(shè)置“通過時(shí)間”或“通過次數(shù)”。通過時(shí)間將用作每個(gè)子狀態(tài)轉(zhuǎn)換之間的停留時(shí)間,并且 腳本將在最終測(cè)試“通過”之前運(yùn)行的通過次數(shù)。
為簡(jiǎn)單起見,我們將傳遞計(jì)數(shù)保留為 1,并讓腳本設(shè)置停留時(shí)間。
選擇“添加測(cè)試”按鈕。測(cè)試將添加到所選設(shè)備。
你的系統(tǒng)現(xiàn)在將準(zhǔn)備在所選設(shè)備上運(yùn)行低功耗子狀態(tài)測(cè)試,并且頁面的上部應(yīng)將測(cè)試顯示為“空閑”,如下所示:
選擇“開始”將運(yùn)行測(cè)試,將被測(cè)設(shè)備置于 L0.Active 狀態(tài),然后進(jìn)入上述每個(gè) L1.x 子狀態(tài)。
監(jiān)控 NVMe 邊帶信號(hào)
為了演示模式 1 測(cè)試,我們正在使用 SerialTek Kodiak Gen5 PCIe/NMVe 協(xié)議分析儀監(jiān)控鏈路統(tǒng)計(jì)數(shù)據(jù)和邊帶信號(hào) PERST0#、CLKREQ#、PRSNT# 和 DUALPORTEN#。
正如trace所見,當(dāng)被測(cè)設(shè)備De-assert CLKREQ# 并關(guān)閉 PCIe “Phys”時(shí),你將看到系統(tǒng)移至“Training”。這是模式 1 測(cè)試的預(yù)期行為。
當(dāng)系統(tǒng)Assert CLKREQ# 時(shí),被測(cè)設(shè)備將重新訓(xùn)練并在 PCIe 上變?yōu)榛顒?dòng)狀態(tài)。
該腳本將監(jiān)控 CLKREQ# 和 PCIe 鏈路的狀態(tài),并測(cè)試每個(gè)轉(zhuǎn)換的預(yù)期行為。
測(cè)試結(jié)束時(shí),設(shè)備將獲得“通過、失敗或警告”狀態(tài)。例如,如果設(shè)備不支持它聲稱支持的低功耗狀態(tài),則可以使用警告。
圖 4:SerialTek Kodiak PCIe Gen5協(xié)議分析儀結(jié)果
設(shè)置功能 NVMe 支持
在測(cè)試過程中,“GetFeatures”和“SetFeatures”命令的執(zhí)行方式如下。
首先發(fā)出“GetFeatures”命令,并從設(shè)備讀取支持的電源狀態(tài)數(shù) (NPSS - Number of Power States Supported) 值。
使用 SetFeatures 將生成的 NPSS 值發(fā)送到設(shè)備,以啟用盡可能低的功耗狀態(tài)。一旦以這種方式選擇了最低功耗狀態(tài),設(shè)備就有望成功進(jìn)入和退出每個(gè)低功耗狀態(tài)。
模式 1 測(cè)試結(jié)果
在模式 1 CLKREQ# 測(cè)試中,M.2 SSD固態(tài)盤應(yīng)正確響應(yīng) GetFeatures 請(qǐng)求,并接受 SetFeatures 命令以選擇最低功耗狀態(tài)。預(yù)計(jì)該M.2 SSD固態(tài)盤將按以下方式運(yùn)行;否則,M.2 SSD固態(tài)盤將無法通過測(cè)試。
1. M.2 SSD固態(tài)盤以全功率模式 L0.Active 啟動(dòng)
2. M.2 SSD固態(tài)盤響應(yīng) GetFeatures 命令
3. M.2 SSD固態(tài)盤接受 SetFeatures 命令以選擇最低功率狀態(tài)
4. 腳本使用 ASPMControl 指示M.2 SSD固態(tài)盤進(jìn)入 L1.0 狀態(tài)
5. 腳本使用L1PMControl 啟用 L1.1 狀態(tài)
6. 腳本檢查M.2 SSD固態(tài)盤是否置低 CLKREQ#
7. 腳本檢查 PCIe 鏈路是否移動(dòng)到“輪詢”
8. 腳本Assert CLKREQ# 并驗(yàn)證M.2 SSD固態(tài)盤返回到 L0.Active 狀態(tài) 9. 對(duì) L1.2 狀態(tài)重復(fù)步驟 4 ? 8
10. M.2 SSD固態(tài)盤返回到 L0.Active 并且默認(rèn)值恢復(fù)到 SetFeatures
進(jìn)行模式 2 CLKREQ# 測(cè)試
在第二種操作模式下,SANBlaze riser 允許被測(cè)設(shè)備的 PCIe 上游控制 CLKREQ#。按照上述模式 1 測(cè)試的步驟進(jìn)行測(cè)試。
該腳本將確定模式 2 測(cè)試是否在指定的插槽上可用,然后并將自動(dòng)執(zhí)行模式 2 測(cè)試。
模式 2 測(cè)試要求
要運(yùn)行模式 2 測(cè)試(主機(jī)控制 CLKREQ#),SBExpress?RM5 系統(tǒng)必須配置如下:
如果模式 2 不可用,該腳本將審核系統(tǒng)并運(yùn)行模式 1。
Mode2 CLKREQ# 測(cè)試的執(zhí)行
在模式 2 CLKREQ# 測(cè)試中,M.2 SSD固態(tài)盤應(yīng)正確響應(yīng) GetFeatures 請(qǐng)求,并接受 SetFeatures 命令以選擇最低功率狀態(tài)。預(yù)計(jì)該M.2 SSD固態(tài)盤將按以下方式運(yùn)行;否則,M.2 SSD固態(tài)盤將無法通過測(cè)試。
1. M.2 SSD固態(tài)盤以全功率模式 L0.Active 啟動(dòng)
2. M.2 SSD固態(tài)盤響應(yīng)GetFeatures 命令
3. M.2 SSD固態(tài)盤接受 SetFeatures 命令以選擇最低功率狀態(tài)
4. 腳本使用 ASPMControl 指示M.2 SSD固態(tài)盤進(jìn)入 L1.0 狀態(tài)
5. 腳本啟用 L1。1 state using L1PMControl
6. 腳本檢查M.2 SSD固態(tài)盤和主機(jī)是否都De-assert CLKREQ#
7. 腳本檢查 PCIe 鏈路是否移動(dòng)到“L1.Idle”
8. 腳本向M.2 SSD固態(tài)盤發(fā)出 IO 并驗(yàn)證主機(jī)Assert CLKREQ#
9. 腳本期望 IO 成功
10. 為 L1.2 狀態(tài)重復(fù)步驟 4 ? 8
11. M.2 SSD固態(tài)盤返回到 L0.Active,默認(rèn)值為恢復(fù)到 SetFeatures
SerialTek Kodiak PCIe Gen5協(xié)議分析儀抓取的trace將顯示處于 L1.Idle 的M.2 SSD固態(tài)盤,并驗(yàn)證主機(jī)是否正在Assert CLKREQ# 以響應(yīng) IO 請(qǐng)求,如下所示。
圖 5:Kodiak PCIe 分析儀跟蹤驗(yàn)證主機(jī)正在Assert CLKREQ#
解釋和發(fā)布測(cè)試結(jié)果
子狀態(tài)測(cè)試的成功完成將顯示在 SBExpress 頁面上,如下所示:
選擇測(cè)試的鏈接名稱,在本例中為 PM_L1_Substate_Verify.sh,將顯示測(cè)試執(zhí)行的詳細(xì)日志。
完成后,系統(tǒng)將生成一份測(cè)試報(bào)告,可在此處的 SBExpress 頁面上找到:
選擇名稱,然后“View”將顯示測(cè)試報(bào)告,然后可以導(dǎo)出或打印該報(bào)告,其中包含結(jié)果摘要或完整的測(cè)試日志。
在 CLKREQ# 測(cè)試的幕后
使用 SerialTek PCIe Gen5協(xié)議分析儀監(jiān)控測(cè)試過程可以讓你看到sideband邊帶和PCIe數(shù)據(jù)路徑信號(hào)上實(shí)際發(fā)生的情況,但運(yùn)行子狀態(tài)測(cè)試不需要分析儀。
從 CLI 啟動(dòng)子狀態(tài)
除了提供的腳本之外,還可以從 SANBlaze 系統(tǒng)命令行界面 (CLI) 初始化和觀察子狀態(tài)轉(zhuǎn)換。
使用 sb_sdb 檢查鏈路狀態(tài)
sb_sdb 是一種通過串行總線與 PCIe 交換機(jī)通信的工具。它可用于查詢交換機(jī)的鏈路狀態(tài)。例如,位于 ?d 0(測(cè)試設(shè)備左側(cè)的第一個(gè)插槽)的設(shè)備的當(dāng)前鏈路狀態(tài)為 L0.Active:
在本例中,我們將使用 sb_sdb 來監(jiān)控鏈接狀態(tài),通過電源子狀態(tài)對(duì)M.2 SSD固態(tài)盤進(jìn)行分分步測(cè)試。
使用 SetFeatures 啟用最低功耗狀態(tài)
首先使用 Getfeature 和 Setfeature 功能啟用設(shè)備可以支持的最低功耗狀態(tài)。目標(biāo)編號(hào)為 100 + 插槽編號(hào),因此插槽 0 中的M.2 SSD固態(tài)盤為 100。
使用插槽 0 的M.2 SSD固態(tài)盤作為示例 = Target 100 = /iport0/target100
接下來,找到支持的電源狀態(tài)數(shù)并啟用最低電源狀態(tài)。下面的命令將返回支持的電源狀態(tài)數(shù):
就電源特性而言,最高功率狀態(tài)首先出現(xiàn),因此使用上面命令中的數(shù)字將啟用最低功率狀態(tài)。使用 NPSS 編號(hào)使用上面的 4 為 ?d 數(shù)據(jù)發(fā)送“SetFeatures”命令,如下所示:
現(xiàn)在已經(jīng)使用 SetFeatures 告訴M.2 SSD固態(tài)盤希望它進(jìn)入的最低功率狀態(tài)。它仍將處于 L0.Active 中,如下所示:
關(guān)閉系統(tǒng)看門狗(system watchdog)
SBExpress 系統(tǒng)有一個(gè)“看門狗”,除非禁用,否則每秒輪詢一次。此看門狗將使M.2 SSD固態(tài)盤保持活動(dòng)狀態(tài),因此為了測(cè)試目的,將其關(guān)閉。
關(guān)閉M.2 SSD固態(tài)盤的 SMBus
SBExpress 系統(tǒng)會(huì)從 M.2 M.2 SSD固態(tài)盤的“轉(zhuǎn)接卡”適配器上的 SMBus 讀取數(shù)據(jù)。SMBus 活動(dòng)將使M.2 SSD固態(tài)盤保持活動(dòng)狀態(tài),因此也將其關(guān)閉。
使用 ASPM 啟用低功耗狀態(tài)
發(fā)送此 ASPM 命令以啟用 L1.0
你將在 L1.Idle 中看到M.2 SSD固態(tài)盤(此時(shí)為 L1.0)
這樣你可以看到SSD不在 L1.x 中,因?yàn)?clkreq_l 仍然顯示asserted:
啟用 L1.1 或 L1.2
現(xiàn)在使用此命令啟用 L1 子狀態(tài)(8 = L1.1,4 = L1.2)
在這一點(diǎn)上,M.2 SSD固態(tài)盤將移動(dòng)到 L1.2 子狀態(tài),并將De-assert CLKREQ#,如下面的 SerialTek Kodiak PCIe Gen5 Analyzer 邊帶跟蹤所示:
圖 6:M.2 SSD固態(tài)盤置低 CLKREQ#,如 Kodiak 分析儀跟蹤所示
你還可以使用以下命令驗(yàn)證 CLKREQ# 現(xiàn)在是否已禁用:
如上所示,CLKREQ# 現(xiàn)在無效 (0x01)。
啟動(dòng)M.2 SSD固態(tài)盤的 IO,或Assert CLKREQ# 將使M.2 SSD固態(tài)盤重新聯(lián)機(jī),例如通過重新啟動(dòng)看門狗:
圖 7:?jiǎn)?dòng)M.2 SSD固態(tài)盤 IO 或Assert CLKREQ# 使M.2 SSD固態(tài)盤重新聯(lián)機(jī)
被測(cè)設(shè)備的行為會(huì)有所不同,具體取決于主機(jī)或 SBExpress 系統(tǒng)是否控制 CLKREQ#;相對(duì)于上游端口,M.2 SSD固態(tài)盤將保持在 L1,或者將根據(jù)插槽號(hào) (0 ? 7) 或 (8 ? 15)轉(zhuǎn)到Polling狀態(tài)。
你可以通過清除上述設(shè)置手動(dòng)將M.2 SSD固態(tài)盤恢復(fù)到全功率狀態(tài):
圖 8:清除設(shè)置以手動(dòng)將M.2 SSD固態(tài)盤恢復(fù)到全功率狀態(tài)
CLI 命令的附加功能
在測(cè)試電源狀態(tài)時(shí),這些 CLI 程序特別有用:
下面是一些對(duì)電源狀態(tài)測(cè)試有用的示例:
sb_i2c2 命令示例
Assert PERST到插槽 0 上的設(shè)備
De-assert PERST
關(guān)閉插槽 0 上的設(shè)備
啟用電源
讀寫 CLKREQ_L
請(qǐng)記住,可能有多個(gè)M.2 SSD盤驅(qū)動(dòng) CLKREQ_L,并且因?yàn)樵撔盘?hào)是串接到一起的,或任何Assert它的M.2 SSD固態(tài)盤都會(huì)保持它Assert,而不管其他設(shè)備。SANBlaze 腳本首先使用以下命令在所選 Riser 和 Adapter 上De-assert CLKREQ:
當(dāng)進(jìn)入 L1 子狀態(tài)時(shí),被測(cè)設(shè)備將置低 CLKREQ#
在模式 2 ? 主機(jī)M.2 SSD固態(tài)盤 CLKREQ# 中,當(dāng)主機(jī)向M.2 SSD固態(tài)盤發(fā)出 I/O 時(shí),主機(jī)將自動(dòng)Assert CLKREQ。
在模式 1 中 ? SANBlaze 轉(zhuǎn)接卡或適配器驅(qū)動(dòng) CLKREQ# 以將M.2 SSD固態(tài)盤恢復(fù)到 L0.Active 狀態(tài)。
結(jié)論
SANBlaze 提供了一種測(cè)試低功耗狀態(tài) L1.1 和 L1.2 的簡(jiǎn)單方法,并提供了自動(dòng)化腳本來驗(yàn)證支持 L1 子狀態(tài)的 NVMe M.2 SSD固態(tài)盤上的電源狀態(tài)。
SanBlaze提供的兩種方法來驗(yàn)證被測(cè)設(shè)備是否達(dá)到所需狀態(tài)。
q模式 1:SANBlaze riser 通過 SANBlaze 腳本或客戶腳本控制CLKREQ# 轉(zhuǎn)換。
q模式 2:基于主機(jī)的 CLKREQ# 控制將根據(jù)對(duì)設(shè)備的數(shù)據(jù)訪問自動(dòng)Assert/De-assert CLKREQ#。
自動(dòng)化測(cè)試可以添加到現(xiàn)有的測(cè)試套件中,并包含在被測(cè)設(shè)備的最終報(bào)告中。
可以使用帶有 Gen5 M.2 interposer的 SerialTek PCIe Gen5協(xié)議分析儀進(jìn)行測(cè)試,以實(shí)時(shí)監(jiān)控 CLKREQ# 信號(hào)和鏈路狀態(tài),或者可以從系統(tǒng) CLI 讀取這些狀態(tài)。
審核編輯:湯梓紅
-
SSD
+關(guān)注
關(guān)注
21文章
2857瀏覽量
117366 -
低功耗
+關(guān)注
關(guān)注
10文章
2396瀏覽量
103670 -
PCIe
+關(guān)注
關(guān)注
15文章
1234瀏覽量
82576 -
Amazon
+關(guān)注
關(guān)注
1文章
122瀏覽量
17185 -
nvme
+關(guān)注
關(guān)注
0文章
221瀏覽量
22621
原文標(biāo)題:針對(duì)PCIe Gen5 M.2 NVMe SSD的L1.2低功耗測(cè)試
文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論