事情起因:我发表的《市场新选择 浦科特M2S与M2P两款128GB SSD测试》文章中的“制造碎片数据和观察垃圾回收”段落中,出现了一个测试方法的错误,造成测试中的表现与实际SSD的工作原理不符,这是比较糟糕的技术性错误,特发此贴郑重道歉,对给读者带来的误导郑重道歉。
文章连接:http://www.pceva.com.cn/html/2011/storagetest_1105/344_6.html
出问题的测试项目为:用Hdtune的持续写入64KB测试(精度最低)来看垃圾回收效率。
问题描述:这项测试根据我当初的设想是如下三步进行:
1、删除SSD上的所有分区,对SSD进行一次Secure Erase(恢复出厂状态性能),然后在没有文件系统的SSD上跑全盘地址的随机文件写入测试。
2、使用Iometer软件对SSD进行一定时间的全盘“压力测试” (随机写入小文件),造成SSD内部碎片的形成,达到接近稳定态的表现即可。(由于是消费级产品,我想不用完全拿企业级的定义来要求)
3、使用HDtune软件对SSD进行快速的写入测试,并按照不同时间显示出来的LBA速度图形来定义SSD的恢复速度和表现。* (没有文件系统,无Trim支持,速度恢复必定是靠垃圾回收在做,正好可以测效率)
实际表现出来的情况和我的设想非常吻合,造成了我忽略了测试需要“严谨”的道理,进而没有去反复验证。
这篇测试文章发表后,我请教了业内几家公司的几位RD朋友,其中有位指出了我这个测试中的“漏洞”(不够严谨)。
一般情况下,SSD算法内部没有恢复到50%这类参数,而是按照free block个数来做的。
1.首先,hd tune的这个写测试不是把整个SSD的容量填到满。
2.不管是文章中形容的恢复到50%还是75%,其实本质上是写在新垃圾回收出来的空block上。
3.M2P的垃圾回收上确实会比M4会多垃圾回收出些空block, 但是50%这个数字本身不准确并没有任何参考价值。
4.因为再怎么做GC,也不可能GC出SSD容量50%的空block。(无文件系统,无Trim支持,Iometer全盘写入的话,所有写入的文件SSD主控都认为有效,因此他不敢去做删除操作,所以最大也就只有7% OP里的容量给你垃圾回收变成free block。)
也就是说我们先要知道Hdtune写入测试的写入范围和写入量是多少,才能正确定义到底垃圾回收做到了啥程度。如果不算写入放大的话,50%*数据量/block size= free block 个数,即可知道这段时间垃圾回收了多少数据。
总之,这项测试的方法是错误的。
事情处理方式:
在目前我还没有想到如何改进测试方法的前提下,我已经向管理组要求撤销上述造成误导读者的截图,只保留Iometer压力测试后的成绩。
这次错误的教训在于,我想当然的用了一种自己新制定的测试方法和标准去验证自己所谓的理解,而没有在测试后再次去对自己的想法和测试结果进行进一步的辩证,误导了各位喜欢PCEVA的SSD评测文章的读者。
在PCEVA,可以说我做的每一次的SSD评测都是对自己的知识消化和理解后做的“功课”,我个人不倾向于做那些所谓的“首发评测“,我的SSD测试周期一般是在1个月,我喜欢发现和创造新的测试方式,不停的挑战自我,而不是千篇一律的评测分数给个总结并一句不提原理。但这样也会带来一些问题,因为我不是专业出身,必然会犯一些错误,也请广大读者与业内人士监督,如果还有错误出现,请毫无保留的指出来。
最后再次重申,PCEVA的SSD评测不讲速度,只讲道理,任何虚标和有误导嫌疑的观点都不能存在,包括我们自身的错误也必须要纠正。 |
评分
-
查看全部评分
|