期刊发表网电话

全国热线
022-83699069

基于NAND技术固态硬盘的测试方法

作者: 发布时间:2020-02-03 08:59:52 阅读: 44 次

 :基于NAND技术的固态硬盘,硬盘进入测试阶段的初始状态会对最终的测试结果产生关键的影响。反应一块固态硬盘的优劣,有四个重要的性能指标,分别是:每秒读写操作次数、写饱和度、吞吐量和反应时间。在测试以上四个重要指标时,必须先进行预处理,使固态硬盘达到稳定态收敛。只有当硬盘处于稳定态收敛时,测试数据才是有效的。

关键词预处理;稳定态收敛

 


相比于传统的机械硬盘,固态硬盘具有先天的优势:存取速度快、抗震性和低功耗。固态硬盘已经在笔记本中被广泛采用,一来可以提高开机的速度,加快数据的读取。再来,固态硬盘工作起来噪音低,更适合安静的办公室坏境。再加上超低的功耗,可以使笔记本的待机时间延长36%。随着固态硬盘在商用和民用领域被广泛采用,对其性能做全面而准确的测评也显得愈发重要。

1  预处理达到稳定态收敛

在一块全新的固态硬盘之上加负载,其性能会在开始的一段时间内有显著的提升。随着测试时间的推进,逐渐过渡到一个较为平稳的状态。测试人员需确保性能相关的测试都要在这一稳定态上进行。此稳定态可视为这块固态硬盘的正常工作生命周期。如何通过预处理使待测固态硬盘达到稳定态收敛呢?

 

1.1格式化固态硬盘

在对待测固态硬盘进行预处理达到稳定态收敛之前,必须对硬盘进行格式化,以确保在性能测试之前,待测硬盘都处于一个统一的可以度量的初始状态。测试人员可以根据待测固态硬盘所支持的不同指令集(ATA或者SCSI指令集),发起命令对硬盘进行格式化。

 

1.2不同性能测试的预处理方法

测试不同的性能指标时,进行预处理以达到稳定态收敛的方法也是不同的。在四个重要性能指标的测试过程中,每秒读写操作次数、吞吐量以及反应时间测试,均需要进行预处理以达到稳定态收敛。

2  性能测试

2.1 IOPS的预处理和测试方法

在格式化待测固态硬盘之后,就进入预处理阶段。为了便于描述,我们用以下伪代码描述预处理过程:

For(写混合比组合)

For(不同数据块大小组合)

① 随机IO测试一分钟

② 记录此条件下的平均IOPS

我们定义一轮测试为完整的执行这样一个二重For循环。为了简化求导稳定态收敛的过程,在每轮测试过程中,我们只选取读写混合比为 0/100, 每个数据块所对应的平均IOPS绘制表格.

根据表格,以轮数为横轴,平均IOPS为纵轴,不同数据块用不同的颜色作图,把颜色相同的点连接起来可得8根曲线。为简化求导过程,以数据块=4K的曲线为基准,找出测试窗口。合法的测试窗口需包含以下三个要求:①窗口大小包含四轮完整的测试数据 ②该测试窗口的更大值与最小值的差值小于20%的平均IOPS:更大值  最小值 < 20% * 平均值 ③该测试窗口内曲线的更大斜率小于10%。如果找到个符合以上三个要求的测试窗口,可知固态硬盘此时已经进入稳定态收敛。当找到进入稳定态收敛的测试窗口后,得到此测试窗口所对应的测试轮数。这些测试轮数内的平均IOPS都是有效数据,能够表征固态硬盘的性能,而在测试窗口之前的测试轮数内得到的IOPS为无效数据,此时硬盘还没有进入稳定态收敛,无法通过这些无效数据来指示硬盘性能,无效数据将被丢弃。将测试窗口中的各轮测试所得的IOPS求平均值,获得如下表格。此表格即能表征固态硬盘的每秒读写操作次数(IOPS)性能。

1 测试固态硬盘的IOPS性能

读写混合比

数据块

0/100

95/5

100/0

0.5

4104

4368

26015

4

4502

4671

25819

1024

29

30

142

 

2.2 吞吐量的预处理和测试方法

For(数据块K=1024,64,8,4,0.5)

Purge the device.

For(读写混合比%=100/0,0/100)

① 连续IO测试一分钟

② 记录此条件下的平均MB/s

我们定义执行一次内层For循环为此数据块= X下的一轮完整测试。记录下此数据块 = X下的各轮测试读写的平均吞吐量,绘制表格。

以轮数为横轴,吞吐量为纵轴,综合所有数据块所对应的读写平均吞吐量表格,绘制曲线(读吞吐量与写吞吐量可分别作图)。根据曲线图,选取数据块= 1024K的曲线确定测试窗口。找出个符合三要素(见2.1的测试窗口,可知此时待测固态硬盘已经进入稳定态收敛。将此测试窗口中各轮所测得的吞吐量求平均值获得如下表格。此表格内的测试数据即能表征此固态硬盘的吞吐量。

2 测试固态硬盘MB/s性能

数据块

读吞吐量

写吞吐量

0.5

153

34

4

172

54

8

198

64

64

255

74

1024

260

83

 

2.3 反应时间的预处理和测试方法

For(各种读写混合比组合)

For(数据块K=8,4,0.5)

① 随机IO测试一分钟

② 记录此条件下的平均反应时间

我们定义执行完这样一个嵌套的二重For循环为一轮测试。记录每轮测试的平均反应时间。

以轮数为横轴,平均反应时间为纵轴,综合所有轮数的平均反应时间表格,绘制曲线图。为简化求导测试窗口的过程,选取读写混合比= 0/100, 数据块 = 4K的曲线。基于此曲线,找出个符合三要素(见2.1)的测试窗口。由此可知,此时固态硬盘已经进入稳定态收敛。将此时窗口中的各轮测试所得平均反应时间求平均值,如下表格。此表格即能反应待测固态硬盘的平均反应时间的性能。

3 测试固态硬盘平均反应时间的性能

读写混合比

数据块

0/100

65/35

100/0

0.5

0.72

0.40

0.12

4

0.18

0.51

0.201

8

0.87

0.52

0.501

 

2.3 写饱和度的测试方法

写饱和度用来表征固态硬盘在长时间使用的过程中性能劣化的严重程度。所以,在进行写饱和度测试的过程中,无需进行预处理,以找出稳定态收敛。写饱和度测试的方法如下①读写混合比= 0/100, 数据块=4K, 随机IO,②测试时间为24小时, 每隔一分钟记录此时间间隔内的平均读写操作次数(IOPS)与平均反应时间,绘制曲线,③当长时间测试时,测试曲线趋于平稳且劣化不明显,则此固态硬盘的写饱和度性能较好。

 

3  总结

在进行固态硬盘测试时,根据测试性能指标的不同,预处理进入稳定态收敛的方法也各不相同。在收集各项测试数据时,必须确保硬盘已经进入稳定态收敛,此时的测试数据才是有效的,反应正常工作时固态硬盘的性能。

 

参考文献:

[1] 张冬.存储系统原理精解与更佳实践[M].北京:清华大学出版社,2008.11