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