固态硬盘性能详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我曾经说过,SSD的评测绝对不是那么简单的,SSD由于有自己独特的物理特性,成绩分成三态,出厂态,GC态和稳定态。
基本所有的评测都是标的出厂态性能,产品官方网站更是不用说了,哪家公司做广告会说自己东西坏?而用户买回来用的时候会碰到GC态性能,所以就造成了各种各样的疑问,为啥我的SSD速度不如别人的快?在一些特定的情况下,某些用户能够跑出稳定态成绩,甚至会以为自己的SSD是不是坏了。
废话不多说了,先拿Intel开刀吧,做了2年老大哥不容易了。
熟悉Intel SSD的应该对他们的产品指标耳熟能详了吧。
先看下这两张图,分别是Intel拿出来对照Gen2和即将发布的Gen3 SSD的指标:
别的我们先不管,我们看到消费级和企业级的IOPS,发现消费级的比企业级的还高,这到底是为啥哪?曾经我也有个疑问,这个IOPS是如何得出的?
我们知道X25-M Gen1的时候,Intel曾经说过4KB Write IOPS 是3300,而X25-M Gen2,4KB Write IOPS 是6600或者120G/160G的8600. X25-E的4KB Write IOPS 却一直只标3500.
其中的含义不知道有多少人知道?不管是评测网站或者是Intel都只是含糊其辞的说因为评测方法不同,并不是X25-E不如X25-M。
不同在哪里?在这里
在这个PDF文档的第5页中,发现了问题的关键,如图:不好意思,我只找到Gen1的数据,不过道理都一样,我也只是要知道他们数据是如何来的。
读取没问题,反正看的是主控能力,写入原来是这么算的:
消费级的IOPS原来只是分8G的区,然后跑IOMETER 4KB QD32的IOPS。
企业级则是全盘分区,跑IOMETER 4KB QD32的IOPS。
这么比当然有区别了。{:4_126:}
著名的X25-M在全盘分区后IOPS跌到可怜的350.。。折算下也就1MB/s出头。而且这里还没给出跑了多少时间。。不管如何这应该算稳定态性能了。
不知道你们认为自己的X25-M Gen2对比Gen1能有多少优势?汗。。{:4_136:}
X25-E 为何在全盘分区后稳定态还有3300的IOPS,主控是一样的:
1.X25-E有20%的备用空间,增强了写入放大的效率。
2.X25-E采用的是SLC,写入延迟低很多。
经过我这么一解释你们知道为啥X25-M Gen2的IOPS标的会比X25-E高了吗?
为啥2年前用Intel的用户不会觉得卡?说难听点就是即使跑在稳定态的X25-M也有350的4KB IOPS,至少比机械盘好....用惯机械盘的用户自然感觉不到卡。而JMF602这个悲剧的
东西,即使跑在最舒服的环境下,4KB的IOPS也低的可怜,他不卡谁卡。--------------------------------------------------
接下来我们再来看看很多朋友普遍的错误观念。
先借下本区版主无心飘落的2张X25-M Gen2图:
空盘X25-M Gen2
经过几轮折腾后的X25-M Gen2 再来看看SandForce主控的
刚被HDD Erase过后的IOPS
用HDtune写入测试跑一边后的IOPS 再来看镁光C300。
空盘IOPS
满盘IOPS
发现了啥?空盘的时候Intel和SandForce出奇的快,而镁光一直变化不大。
大家注意4KB那里,你们谁认为自己SSD的4KB QD1跑CDM能到70~80MB/s的?我相信没人会这么认为吧,那这里说明啥?
很简单,跑进主控cache里去了。(Intel的DRAM不放数据,SandForce没外置DRAM)
当盘上没数据的时候,当主机请求4KB读取的时候,主控内的FTL把没有的LBA地址转进cache里,然后返回给主机,由于SATA 3Gbps的限制,不然这里的数据还会更吓人的。其实测来测去你是在测cache,根本不是测NAND。对这类算法来说,我不知道算是作弊还是投机取巧,反正应该能帮Intel和SandForce赚到不少眼球吧,全世界各大评测网站没少帮忙。随着盘上数据越来越多,PBA对应LBA也越来越多,进入cache的机会越来越少,平均下之后,IOPS自然就下来了,最终4KB就会到30MB/s附近的SSD正常水平。而镁光明显没在算法上做手脚,而是由主控生成了dummy数据,在主机访问的时候,还是去颗粒的LBA地址跑了一圈返回,所以不管你的盘有没有数据,返回的都是实际颗粒速度。
不知道镁光的市场部是咋想的,这样会丢不少客户哦。{:4_136:}
-------------------------------------------------------------------
再来看一篇关于SandForce的测试,来自某著名交易论坛的官方团购活动测试
这4个盘的成绩都是假的,图片是被PS过的,为啥我这么说,因为测试成绩为CDM的0fill 或者1fill,而图片上方没有任何显示,看起来是默认跑的测试。希望购买的朋友不要被这个成绩欺骗。众所周知SandForce主控性能强劲是靠着压缩/解压特性,某些评测者为了达到官方指标,不惜做出虚假的成绩来误导消费者。
如何辨别成绩的真假?这里浴室教你个比较典型的小窍门,看容量和颗粒。同主控下小容量的速度一般不如大容量的速度大家都应该懂吧。
按照Intel或者镁光的34nm颗粒,4KB page来说,一个die(4GB)的读取性能为:SLC = 34MB/s
or MLC = 30MB/s 而写入性能为:SLC 17MB/s or MLC 7MB/s。这个是传输8KB 2plane工作的颗粒和主控传输的内部总线速率。(上面的速度为ONFI 1.X 异步速度)
复杂的不说,就按照这个最简单的方法来算速度,64G的SSD里面有16个34nm的die, 读取就是16X30,写入是16X7,结果就是480MB/s读取和112MB/s写入。请问采用Intel 34nm TSOP封装的ONFi 1.X标准的SandForce主控SSD如何能达到官方标称的275MB/s写入速度?112MB/s和275MB/s差的不止2倍,何况SandForce竟然标40G的(内部48G)也是275MB/s写入,这当中的水分有多少?自己去想吧。
112MB/s只是纯的颗粒和主控之间传输速率,如果加上外部接口,ECC,FTL效率,磨损平衡,GC效率,那么最终能剩下多少?很多买了60G SandForce的朋友测出的CDM是这样的。
这是新买回来的时候的,100MB/s的写入(空盘)
然后用了段时间后变成下面这样: