购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.1 测试需求分析

上文中提到了根据PRD设计测试用例,这需要先对PRD进行分析,梳理出测试需求。

SSD的测试需求通常包括以下几个方面。

1.性能测试

SSD的性能测试需要包括以下内容。

顺序读写 :测试SSD在顺序读写操作下的最大传输速度。主机下发给SSD的BlockSize可以是128KB、1MB、4MB等多种块大小,Queue Depth一般设置为128。

随机读写 :在BlockSize=4KB,Queue Depth=128的条件下,测试SSD的随机读写IOPS(Input/Output Operations Per Second)。IOPS表示每秒进行读写(IO)操作的次数。例如某款SSD的4KB随机写IOPS的结果为100k,表示该款SSD每秒可以处理100k(100 000)个4KB随机写操作。

混合读写 :BlockSize=4KB,70%读、30%写,Queue Depth一般设置为128。

IO时延 :IO时延是指在进行输入/输出(IO)操作时,从发起一个IO请求到完成该IO请求所需的时间。这个时间包括多个部分,如数据传输时间、等待时间等。IO时延的长短直接影响到系统的整体性能,特别是在高负载或高并发场景下,过长的IO时延可能导致系统响应缓慢,影响用户体验和业务处理效率。SSD可以测试诸多不同场景下的IO时延,例如一款SSD即使顺序读写性能再好,但在单并发下(线程数为1,队列深度为1)随机IO时延过高,在一些场景下也会影响使用体验,引起客户可感知的卡顿。

稳态性能 :SSD的稳态性能是衡量SSD在实际长期使用中能否持续提供高性能的关键指标。与初始的“开箱即用”性能相比,稳态性能更能反映SSD在实际使用中的长期表现。为了评估稳态性能,需要对SSD进行一系列严格的测试,包括长时间随机写入工作负载测试,以及在极端条件下的性能评估。这些测试有助于了解SSD在持续负载下的表现,从而为用户提供更准确的性能预期。

性能跑分 :使用专门的跑分软件对SSD进行性能测试,例如AS SSD、PCMark、3DMark等。

企业级和消费级SSD用的测试工具有所区别,比如企业级性能测试不会用CDM(CrystalDiskMark)等商业软件,而大多以fio和Vdbench两款软件为主。

当然性能测试的内容不仅包括上述这些,这里仅是列举了一部分,目的是帮助读者理解。一些标准化组织也针对SSD性能测试给出了一些建议,比如SNIA,具体可以参考该组织网址www.snia.org。一些商业测试工具也参考SNIA的测试建议,在其测试工具中包含了覆盖SNIA要求的测试用例。

2.稳定性测试

SSD的稳定性测试通常需要包括以下内容。

长时间连续写入测试 :测试SSD在连续高负载写入下的稳定性,通常测试时间应该超过24h,至少保证SSD被写满两次以上。

长时间连续读取测试 :测试SSD在连续高负载读取下的稳定性,同样也需要测试时间超过24h。

温度测试 :测试SSD在高温和低温环境下的性能和稳定性表现,通常需要在高低温箱下进行测试。

压力测试 :制造出大压力的测试场景,设计出“残暴”的测试用例,抓到那些大压力下才能暴露出的问题,间接验证了SSD产品的稳定性。

3.寿命测试

寿命的表达方法有下面两种:TBW和DWPD。

TBW表示在固态硬盘的整个使用寿命内,可以写入到硬盘的总字节数。SSD的容量、闪存类型(例如MLC、TLC、QLC等)、控制器质量、固件的质量及写入操作的数据模型都会影响到TBW。一般来说,大容量的SSD通常具有更高的TBW值。TBW既可以通过实测WA(Write Amplif ication,写放大)和所使用的NAND的PE寿命计算得到,也可以采用加速因子实测真实写入量得到。

DWPD是另一种SSD寿命的表达方式,例如某款消费级SSD的寿命为0.3 DWPD@5年,它表示的意思就是在每天整盘0.3次的写入量下使用寿命为5年。

上述两个指标是可以互相转换的,转换公式如下:

DWPD=TBW÷保修期天数÷盘片容量

在SSD测试的过程中,可以通过CrystalDiskInfo程序查看“主机总计写入”数值,通过该指标得到被测SSD的寿命使用情况,评估其健康度。

4.可靠性测试

衡量SSD可靠性的指标主要包括下面几种。

(1)UBER

UBER指标反映了SSD在读取过程中出现不可修复的数据错误的概率,即SSD的读取错误率。企业级SSD比消费级SSD在该指标上要领先一个数量级,目前厂家基本都可以做到10 -15 甚至更高,部分企业级SSD产品宣称可以达到10 -18 。影响UBER的因素包括NAND品质、主控的误码纠错能力(ECC、2K LDPC、4K LDPC)、固件质量等。目前主流的SSD大都采用LDPC(Low-Density Parity-Check Codes,低密度奇偶校验)纠错算法。LDPC码长是SSD主控的重要参数,它影响着主控的闪存纠错能力。在同等的原始错误比特率(RBER)下,4K LDPC的纠错成功概率相比2K LDPC大幅提升,这意味着使用4K LDPC纠错技术可以大大延长闪存的使用寿命,同时也推迟了SSD生命后期因闪存错误率上升而开始产生掉速的时间点。

(2)RBER

RBER反映的是闪存的质量,所有闪存出厂时都有一个RBER指标,它是指在使用ECC纠错之前的比特误码比率,反映了NAND最原始的误码状态。企业级和消费级NAND的RBER是不同的,所以NAND出厂价格也相差较大。

(3)MTBF

MTBF是SSD行业最常用的可靠性或故障率量化指标,单位为小时。MTBF数学公式表示为:

MTBF=∑(设备此次失效时间点-设备上次恢复正常时间点)/失效总次数

公式中的失效时间是指上一次设备恢复正常状态起,到设备此次失效那一刻之间间隔的时间,MTBF可以用于预估SSD的耐久性。大多数面向消费者的SSD的MTBF约为100万小时以上,而工业级SSD则为200万小时,将其转换成年份,分别约为114年和228年。直接测试SSD的MTBF是否满足100万小时是不现实的。MTBF一般通过实验法测得,即在一定的工作负载下,使用一定数量的SSD在一定的温度下进行一定时长的测试,如果在此时间内所有SSD盘片都正常工作,则可以认为该款SSD满足MTBF指标。上述的工作负载、SSD数量、温度、时长该如何选取,可以参考标准文档JESD 218和JESD 219。

SSD一般使用商业RDT(Reliability Demonstration Test,可靠度验证测试)设备对MTBF指标进行验证测试。关于RDT设备,后文将有介绍。

(4)故障率(Failure Rate) λ

λ 的定义:测试样品数量 n 在指定测试条件下运行时间 t ,产生失效样品数量 r ,则 λ = r /( n × t )。

针对电子产品,通常我们用FIT(Failure In Time)体现产品故障率,如1FIT代表运行1×10 9 小时出现1个失效设备。

例:4 000个测试SSD,同时持续运行了5 000个小时,最终发现有2个SSD发生故障,通过计算可以得知 λ =2/(4 000×5 000)=1×10 -7 。换算成FIT表达,即该款SSD的失效率为10 -7 ×10 9 =100FIT。

(5)AFR

测试样品盘数量为 n ,在指定测试条件下运行1年,故障盘数量为 r ,则AFR= r / n

以上几种可靠性指标的转换关系如下:

MTBF=1/ λ

MTBF=1/( λ ×24×365)

AFR=365×24× λ =8 760/MTBF

MTBF和AFR的对应关系如表2-7所示。

表2-7 MTBF与AFR的对应关系

以上可靠性指标中,MTBF是综合性最强、使用得最多的指标。测试验证MTBF指标的方法包括实际验证法、加速寿命试验法等,具体可以参考标准文档JESD 218和JESD 219。

5.兼容性测试

在不同测试环境下测试SSD的兼容性,常见的测试用例包括读写性能、正常下电、异常掉电、低功耗状态切换等。CPU、操作系统、PC品牌的不同构成了兼容性测试环境的差异,平台兼容性应该覆盖图2-5所示的几个角度。

图2-5 消费级SSD平台兼容性测试应该覆盖的几个角度

6.功耗测试

功耗测试主要关注以下几个指标。

Peak功耗 :在特定业务场景下的最大功耗值,比如消费级SSD空盘CDM顺序读一般是最大的功耗状态,测试时连续采集功耗值(比如1μs一个采集点),取最大值就是Peak功耗。

平均(Avg)功耗 :在某个特定业务场景下(比如mp3播放、电影播放、idle等),连续测试一定时长(比如30min),测试时连续采集功耗值(比如1μs一个采集点),最后统计平均功耗。

功耗状态(Power State) :在不同功耗状态下的功耗值,以PCIe SSD为例,包括工作状态PS0/1/2和非工作低功耗状态PS3/4下的功耗。

7.热节流测试

PCIe SSD采用NVMe协议,以PCIe Gen3为例,顺序读写性能都在3GB/s以上,在这样的高速读写过程中难免会遇到一个令人头疼的问题——发热。依据大量的数据测试表明,SSD最佳的工作温度是55℃左右,一般SSD的PRD中规定的工作温度范围在0~70℃。为了控制SSD工作时不超温,各大SSD厂商的产品中都引入了热节流(Thermal Throttling)功能。当SSD温度(综合考量主控温度和NAND温度)超过热节流设置的温度时,SSD主控就会通过降低性能来降低SSD的工作温度。

测试工程师要根据SSD产品的PRD中的热节流要求进行测试设计,比如热节流的某一档温度为80℃,预期达到该温度后SSD会主动降低性能,以降低SSD的工作温度。在测试设计时,可通过压力读写使SSD升到该温度,然后观察SSD是否如期进入热节流状态,从而验证该功能。

8.安全测试

SSD的加密方式主要包括TCG OPAL、Pyrite、SM 2/3/4、SHA256、AES、RSA等。如果在PRD中指明了需要支持哪些加密方式,那么测试团队就需要准备对应的测试项目。还有一些安全认证测试,例如国密测试、TCG认证测试等,后续有章节会针对安全认证测试做相关介绍。

9.工具测试

SSD工具测试的对象一般包括SMART工具、固件升级工具、调试Debug工具等。

SMART(Self-Monitoring Analysis and Reporting Technology),即自我监测分析与报告技术,通过该技术可以对设备的健康度状态进行查询和展示。SSD进入NVMe时代,SMART经过了重新设计,不同厂商针对SMART定义达成一致和规范,不再各自为政。可以通过NVMe-cli、AIDA64、CrystalDiskInfo等工具查询SSD的SMART信息。SMART包含的信息分为标准内容和厂家自定义内容,其中标准内容可以参考NVMe协议的要求。以NVMe 2.0c协议为例,可以参看协议文档中的Figure 207: SMART/Health Information Log Page。

客户及售后团队都可能会用到升级工具,用于升级固件。针对升级工具的测试需要包括下面的测试。

● 历史版本及所有容量与当前在测版本的升级功能测试。比如有A、B、C三个固件版本,C为最新版本,测试时需要覆盖版本A到版本C的升级,以及版本B到版本C的升级,且每个版本需要覆盖所有容量,例如512GB、1TB、2TB。由于不同容量的SSD在固件上可能会有差异,覆盖所有容量可以避免漏测。

● 采用压力测试,比如升级500次以上。

● 在不同操作系统、驱动程序和软件环境下的测试。

调试Debug工具主要提供给FAE和RMA分析人员使用,当SSD出现问题时,可以通过该工具分析问题,一般可以定位常见的问题。在测试这类工具时,可以给SSD注入一个故障,然后通过Debug工具分析得到结果,判定结果是否符合预期,以此方法验证工具的可用性。

10.认证测试

SSD可以进行WHQL、IOL、PCI-SIG等认证。测试人员需要提前把要做的认证测试都罗列出来,准备好测试环境。对于需要委外的认证测试,需要搜集好如何送测等信息,并提前做好送测准备工作,最好是先自测,自测通过后再送测。

11.协议一致性

SATA、PCIe、NVMe等的协议一致性测试可以通过一系列商业工具完成,比如UNH-IOL、DriveMaster NT2/NT3、PyNVMe3等。

通过全面的SSD测试需求分析,将PRD中的功能特性分解为一条条测试需求。测试开发人员根据测试需求设计适合的测试用例,并开发成对应的测试脚本。测试执行人员负责执行测试用例,统计测试结果。通过测试结果判定该款SSD是否符合产品规格书PRD的所有要求,保证交付给客户的SSD品质。只有进行全面充分的测试才能使SSD产品在竞争激烈的市场竞争中占据优势。 ZoyMfzPFxr6GyORia6IOZ775wd2jn146U/R12gNZNEqz7arhFVCo0rvdowuoH3UA

点击中间区域
呼出菜单
上一章
目录
下一章
×