Allion Labs / Blake Chu

近年來,不論是一般個人桌上型電腦、筆記型電腦,甚至一些新世代的伺服器中,都可以看到所謂的NVMe SSD的蹤跡,這種NVMe SSD跟以往的SSD又有什麼不同呢?

NVMe (Non-Volatile Memory) SSD,是基於PCIe介面下的SSD,存取資料透過PCIe匯流排附加的非揮發性記憶體媒介,為一種新型態的固態記憶體傳輸協議,與先前SSD最大的差異,便是傳輸介面的不同。也就是說,NVMe這個協定就是專為SSD量身打照,與先前SSD使用SATA協定相比,SATA協定是從HDD發展過來,對SSD這高速低延遲的儲存裝置來說,就顯得綁手綁腳。受惠於傳輸介面的進步,NVMe SSD明顯提升不少速度,一口氣從原本SATA 6G (600MB/s)的速度,到目前最新Gen4 x4 Lane (7.88GB/s)的速度。

除了速度方面的提升,NVMe同時也有效降低延遲。如同前面所提到,NVMe主要應用於PCIe SSD,原生PCIe主控與CPU直接相連;而不是傳統SATA連結方式,通過南橋控制器中轉,再連接CPU。除了具備高速低延遲的特性以外,NVMe SSD從外觀來看,最明顯的差別便是支援M.2 slot這個連結介面,對比早期SATA介面2.5吋 SSD,體績明顯縮小許多,讓筆記型電腦可以更加輕薄。

在NVMe SSD逐漸成為市場主流的情況,廠商如何在市場上得到青睞?一款NVMe SSD產品,除了內部層層測試,也少不了送出去進行各種認證測試。最直接的方式便是透過「Protocol Test(協議測試)」以及「Regression Test(回歸測試)」來驗證其產品是否能通過測試。我們與知名測試驗證工具開發商Ulink合作,利用其開發的測試工具來對NVMe SSD進行驗證。那Protocol test以及Regression test是什麼測試內容?以下為兩個測試相關介紹:

  1. NVMe Protocol Test:

為了驗證NVMe SSD功能是否正常符合Spec規範(NVM Express 1.3d),利用Protocol Test針對controller進行functional check,確認回傳值是否符合spec規範。Protocol Test測試項目如下:

  1. Abort
  2. Create/Delete IO Queue
  3. Async Event Request
  4. Device Self Test
  5. Sanitize
  6. Controller Capabilities
  7. Identify
  8. Get Log
  9. Get/Set Feature
  10. Compare
  11. Flush
  12. Read, Write, Write Uncorrectable, Write Zero
  13. Power States
  14. Data Set Management
  15. Firmware Download
  16. Format NVM
  17. NVM Resets
  1. NVMe Regression test:

在上面功能驗證是否符合spec後,接著進行資料讀寫驗證。除了在正常power cycle下的資料讀寫是否能正常以外,我們也會驗證在非預期斷電的情況下,SSD是否能正常起動斷電保護機制,確保資料正確性。最後我們也會依照JEDEC定義的工作量(JEDEC 219A)進行長時間的壓力測試,確保SSD能在長時間讀寫下依然能保證其資料正確性。Regression Test測試項目如下:

  1. Power Cycle with Random commands
  2. Power Cycle with Data compare
  3. MD5 with power cycle
  4. JEDEC Workload Client/Enterprise

除了提供NVMe SSD Protocol Test & Regression Test驗證報告以外,我們可以針對產品無法通過驗證的測項進行結果分析,協助廠商解決並通過驗證。相信透過這兩大項測試層層把關,通過嚴苛考驗的產品能在市面上帶給客戶信任感。

對於現今SSD產品來說,不僅Protocol Test & Regression Test的驗證,也需要可靠度(Reliability)驗證來確保品質。擁有完整設備的百佳泰,亦能提供其他相關類型測試,例如利用高/低溫與高/低電壓環境條件,對SSD進行可靠度驗證;效能方面除能依照客製化條件測試之外,也可提供SNIA client/enterprise test,針對SSD效能進行解析。在SSD領域耕耘多年的百佳泰,能提供兼具廣度與深度的測試服務。