我是一名测试攻城狮。
聊一下怎么测SSD的WA (写入放大),为什么SSD会有WA不解释了,还不知道的可以看之前蛋蛋的文章。
WA的计算公式:WA=闪存写入的数据量/主控写入的数据量
只要知道了A(闪存写入的数据量)和B (主控写入的数据量)就可以知道WA 了。
这两个数据,从哪里拿? – 从SMART 信息里。
安利一下浴室之前在PCEVA上的一篇文章 《【原创】浴室谈SSD的SMART信息》
原文链接:http://bbs.pceva.com.cn/thread-10212-1-1.html
里面列举了几款SSD产品的SMART信息,下面这个是SandForce 12xx/15xx主控的
__________________________________________________________________________
ID 属性 解释
1 Raw Read Error Rate 底层数据读取出错率
5 Retired Block Count 不可使用的坏块计数
(公式比较怪。。这个值不准,新固件都为100)
9 Power On Hours Count 累计加电时间
12 Power Cycle Count 设备通电周期
171 Program Fail Count 编程错误计数
172 Erase Fail Count 擦除错误计数
174 Unexpected Power Loss Count 不正常掉电次数
177 Wear-Range Data 显示最大磨损块和最小磨损块相差的百分比
181 同171定义相同
182 同172定义相同
187 Reported Uncorrectable Errors 不可修复错误计数
194 显示温度的,基本可以忽略(假的)
195 On the Fly Reported Uncorrectable Error Count 实时不可修复错误计数
196 Reallocated Event Count 重映射坏块计数
231 SSD Life left SSD剩余寿命
新盘为100,当显示为10,代表P/E用完了,但是还有备用空间可以替换,显示0代表盘上数据为只读。
241 lifetime write froms host 来自主机的写入数据量总数(64G更新一次)
242 lifetime write froms host 来自主机的读取数据量总数(64G更新一次)
__________________________________________________________________________
谢谢集智慧与美貌的浴室。
可以看到241 Lifetime write from host 就是”主控写入的数据量”
“闪存写入的数据量”在这张表里没有,引入第二个公式: 闪存写入数据量= 平均Wear Leveling count x SSD 容量 (这个好理解吧)
SSD容量大家都知道。Wear Leveling count,在上面这张表里没有, 但是有”172 Erase Fail Count 擦除错误计数”和”177 Wear-Range Data 显示最大磨损块和最小磨损块相差的百分比“。
说明FW其实统计了Wear Leveling count,只是没有显示出来。
这篇文章里提到了另外一款SSD 美光C300,Marvell 88SS9174主控+美光自己的固件。就直接公布了这个参数:”173 Wear Leveling Count 平均擦写次数”。但是这款又没有公布”241 Lifetime write
from host”L
这些在内部测试的时候都不是问题,请FW的兄弟们把这两项都显示出来,测试攻城狮就可以计算自家SSD的WA 了。