SSD的驗證與確認跟協議分析儀
SSD的驗證與確認跟協議分析儀
驗證與確認
SSD從設計、固件到成品出貨,少不了各種測試。中文博大精深,將這些都叫測試,到英文里則會對應N個詞: Simulation、 Emulation、 Verification、 Validation、Test、QA。
先聊一下 Verification和 validation o
為了幫助理解,先簡單說一下芯片設計的過程
1)需求:老大們商量這顆主控要實現什么功能
2)架構: Architecture出設計圖。
3)設計:ASIC把各種內部、外部IP攢起來。
4 )TapeOut
5)芯片回來。
在設計階段,使用 Emulator(以后介紹)或者FPGA進行測試的過程,叫 Verification
中文翻譯為“驗證,目的是為了幫助ASC把事情做對。
在芯片回來以后,使用開發板進行測試的過程,叫Ⅴ alidation,中文翻譯為“確認”
目的是確保ASIC把事情給做對了。
在 Verification階段,一旦發現問題,ASIC工程師可以馬上fx,然后通過升級
Emulator的 database或者更新FPGA的 bit file把新的RTL交給測試再驗證一遍,一直到做
對為止。
相同的問題,如果是 Validation階段才發現,則只能通過重新 TapeOut(含 mental fix)或者讓固件打掩護了
協議分析儀
要測試SSD,需要很多很多不一樣的設備,需要花很多很多的銀子。
目前市面上的SSD接口挺多,如SATA、SAS、PCle、U.2、M2、 MSATA、 UnsTick,其實走的前端協議就兩大類: SATA/SAS和PCle。
顆SSD主控一般分前、中、后三段,前端就是 SATAISAS和PCe這些配上AHCI或者NVMe,中段就是FTL,后端就是閃存控制器
FTL是純軟件實現,測這個基本上不需要什么設備。
后端跟閃存打交道,主要用邏輯分析儀,另一種巨貴的儀器,這里不展開說。
這里先聊兩種協議分析儀( Analyzer), SATA/SAS Analyzer和 PCIe Analyzer
Analyzer是什么?你可以這么理解,以 SATA Analyzer為例, SATA HoSt和 SATA SSD之間傳輸命令和數據,就像兩個人在打電話,不在這個線路上的你,正常情況下是聽不到他們說了什么的。但通過 Analyzer,你就可以完完整整地知道他們之間的對話,同時還不會讓他們倆察覺。
SATA/SAS Analyzer的供應商,平時接觸比較多的有兩家: SerialTek和 LeCroy