2015-07-31 17:04:28
来 源
pceva
SSD/闪存
OCZ Trion 100系列240GB和480GB容量TLC闪存SSD固态硬盘的详尽评测,有图有数据,为选择哪个牌子的SSD好的用户做一个客观的参考。

OCZ Trion 100系列240GB和480GB容量TLC闪存SSD评测

产品介绍和开箱:

 

 

 

 

OCZ Trion 100 系列240GB和480GB容量的外壳正反面,壳子反面显示3年保修,东芝TLC闪存,2.5英寸7mm厚度等主要信息。

 

包装拆开后内部比较简洁,就SSD和一本使用和保修手册。



2块SSD的盘体正面都长的一样。



240GB容量盘体背面,15年20周出厂,固件版本SAFM11.1.



480GB容量盘体背面,15年19周出厂,固件版本SAFM11.1.



无螺丝拆卸后,240GB和480GB容量的SSD的背面都是无元件的。



240GB容量正面,1颗主控,1颗缓存和4颗闪存,外加供电电路。



480GB容量正面也一样,1颗主控,1颗缓存和4颗闪存,外加供电电路。



240GB容量主控



480GB容量主控,皆为14年32周产,型号东芝TC58NC1000GSB-00。据我推测东芝打磨的主控命名是这样的,TCxxNC + xxxx + xxx ,其中TCxxNC一般是不变的,第二个xxxx的前2位一般是被打磨主控的型号,这里的10代表被打磨型号为Phsion-PS3110-S10,如果是F6的话则就是JMF的616/618系列,如果是87就是Marvell的88SS9187/89这样。而之后的xxx这里为GSB应该是代表的封装形式。



240GB容量缓存和闪存,缓存为南亚NT5CC128M16FP-DI,单颗256MB,DDR3L 1.35V  1600 CL=11,闪存为TH58TEG9UDKBADE,东芝A19nm 原厂特挑体质TLC,128Gb Die,Toggle DDR 2.0 400MT/s接口,ECC纠错基本需求为60bit/1KB,Page为16KB,Block为4MB,2个Plane,4Die封装组成64GB单颗的容量。全盘4颗总容量256GB,OP 13%后用户可用空间240GB。



480GB容量缓存和闪存,缓存为南亚NT5CC256M16FP-DI,单颗512MB,DDR3L 1.35V  1600 CL=11,闪存为TH58TET0UDKBAEF,东芝A19nm 原厂特挑体质TLC,128Gb Die,Toggle DDR 2.0 400MT/s接口,ECC纠错基本需求为60bit/1KB,Page为16KB,Block为4MB,2个Plane,8Die封装组成128GB单颗的容量。全盘4颗总容量512GB,OP 13%后用户可用空间480GB。


我的新测试平台:

处理器: Intel i7-5820K OC 3.65Ghz
主板:ASUS X99-Pro 
内存:HyperX Predator DDR4 2666 4GB X 4
显卡:Nvidia Geforece GT630
硬盘:Intel 520 120GB(Win系统盘)和Mtron Mobi 3000 32GB SLC (Linux系统盘)
系统:Windows 8.1 Pro x64 Sp1 和 Ubuntu 14.04.1 LTS & Kernel Version: 3.13.0-46-generic
驱动:微软默认Ahci
测试软件: ASSSD, TxBench, PCMARK 7, PCMARK 8, IOmeter, FIO-2.1.3

基准测试:

TxBENCH 和 ASSSD




由于SLC缓冲区的存在,因此这类基准测试跑在了缓冲区下,性能跑分看上去还是比较凶猛的,但是Copy测试上还是发现性能差距了。

PCMark 7 和 PCMark 8







PCMARK 7的RAW性能是把闲置时间的计算给去掉了,因此能够更多的拉开存储设备之间的性能差距。PCMARK 8的数据量有明显提升,最新一代的SSD之间差距较难拉开。但是这里依然可以看到采用TLC的OCZ Trion 100和主流的MLC SSD有性能上的差距,当然即使搭配MLC,PS3110的跑分也不是很高。

深入测试:

QD深度对随机4KB/8KB/16KB/32KB/64KB/128KB/256KB/1MB读写造成的影响(8GB LBA范围)

这个测试主要是给不同QD分布下的随机读写带宽参考。









读取测试上随着QD提高,性能稳步提升。因为这块SSD的SLC缓冲区较小,因此8GB LBA范围后读取测试就是TLC的性能,表现较差也能理解。写入也是一样道理,因为SLC缓冲区一直在耗尽,释放,回收的状态,速度不稳定才会出现错七错八的线条。大体上480GB由于颗粒容量比240GB大一倍,性能也就高那么一点,但是总体受限还是由于主控和固件影响。

离散分布测试(IOMETER测试大约5000秒)

这个测试主要是给线上交易处理环境等对写入延迟有苛刻需求的做参考。





离散表现很差,这SSD原本也不是用来做高负荷写入用的,合情合理。但是从IOPS低的那些区域可以看到,高强度写入下会出现更大的延迟,用户体验会受到影响,因此复制大批量文件的要注意一下,那个windows文件复制的时间会不太准确(速度会变化)。

PCMARK 8扩展存储测试之性能一致性部分(稳定态家用环境性能)

这个测试主要是给家用最恶劣环境下的性能参考(全盘不留任何剩余空间,禁用了windows文件系统缓存跑纯RAW模式),



稳定态下的性能表现取决于SLC缓冲区释放和回收的时机,压力过后的恢复也有看到,总体来说中规中矩。

固态硬盘SNIA标准测试 - 测试数据按照SNIA的4个标准测试,分别是WSAT/IOPS/TP/LAT

WSAT (Write Saturation) Test

测试步骤如下:

先对SSD做一次SE恢复出厂态,然后进行2 Jobs / 16 Iodepth的4KB 随机写入测试,直到写满4次全盘容量或者24小时(取决于哪个先到)。

测试目的: 观察测试SSD的平均IOPS和平均延迟浮动情况,可以清晰的看出SSD厂商的标称值有多少水分,比如IOPS up to xxxx



480GB的SLC缓冲区比240GB的大,大约在3.4~3.5GB之间,240GB在1.7GB附近。更大的SLC缓冲区需要更多的时间做释放和恢复,因此大容量型号的稳定态持续写入延迟和IOPS波动也显得更大。

IOPS (I/Os per Second) Test

测试步骤如下:

先对SSD做一次SE恢复出厂态,然后进行2 Jobs / 16 Iodepth的128KB持续写入填2次全盘容量,再进行2 Jobs / 16 Iodepth的随机读写混合测试,一共56组每组测试1分钟,最长进行25轮(24小时)或者到达稳定态为止。(稳定态有判定公式)

测试目的:观察测试SSD的在各种混合读写比率下的稳定态IOPS,根据这些IOPS可以清楚的了解特定环境下的SSD性能,比如联机事务处理(OLTP)环境常见的访问方式是8KB块,而随机读写比率为65/35,通过查表即可很轻易的知道稳定态性能。



稳定态下,写入性能受到颗粒性能限制,即使4核心主控,也抵挡不住SLC缓冲区和TLC转换的压力,只剩下35~45MB/s的速度。读取上影响则不大,TLC确实不太适合写入。

TP (Throughput) Test

测试步骤如下:

先对SSD做一次SE恢复出厂态,然后进行2 Jobs / 16 Iodepth的持续读和持续写带宽测试(不同块大小,多轮测试判断稳定态)

测试目的: 观察测试SSD在各种块大小下的持续读写性能,可以清晰的看出SSD厂商的标称值有多少水分,比如带宽 up to xxx MB/s



稳定态下容量增大性能提升也有限,瓶颈应该在主控能力上了,要做好TLC确实不容易,映射表看起来是4KB。

LAT (Latency) Test

测试步骤如下:

先对SSD做一次SE恢复出厂态,然后进行2 Jobs / 16 Iodepth的128KB持续写入填2次全盘容量,再进行1 Jobs / 1 Iodepth的随机读写混合测试,一共9组每组测试1分钟,最长进行25轮(225分钟)或者到达稳定态为止。(稳定态有判定公式)

测试目的:观察测试SSD的在各种混合读写比率下的稳定态平均和最大延迟,由于设置在Job和Iodepth都为1的情况下测试,可以清晰得知SSD在无队列情况下的延迟表现,最大延迟数值考验SSD的Qos。



容量翻倍后,平均延迟降低(因为IOPS提高了),但是最大延迟也增加了(因为SLC缓冲区大了释放时间也多了)。

技术分析:

Phison PS3110-S10主控介绍



PS3110-S10主控为55nm CMOS工艺技术制造,521针FBGA封装。主控工作电压:0.9V~3.6V,内置稳压支持1.8/3.3V闪存接口。
支持SATA III,向下兼容SATA I/II,支持高级电源管理。
内建4颗32位微控制器(4核心主控),最大可用8根闪存通道,每根通道4CE,也就是最大32CE。
支持Legacy,Toggle 1.0/2.0闪存接口。支持ONFI 3.2闪存接口。支持SLC/MLC/TLC闪存。
外置缓存最大支持到2GB,16bit/32bit DDR3。
硬件最大BCH 120bit/2KB ECC能力,内建电压检测。

支持技术特性
– SmartECC (Read Retry + BCH ECC ,Phison的ECC组合统称,这里指的是重复读取和BCH码纠错,未来的型号会有LDPC码纠错或者XOR数据恢复)
– SmartFlush ( 保持恒定的刷新频率,让数据在缓存里的时间尽可能缩短,把随机数据在缓存里重新排列并拆分,持续的释放下去达到降低写放大的目的)
– GuaranteedFlush (其实就是E7h指令,可以让主机通知SSD马上把缓存里数据释放到闪存上,防止异常掉电丢失数据,不能很好支持的话在一些RAID阵列等NAS或者DAS上会出现兼容问题和丢失数据)
– SmartRefresh Read Disturb Monitor (后台观察闪存电位,在掉电位前提前搬运数据,防止掉速甚至出错)
– Built-in static and dynamic wear-leveling (支持静态和动态磨损均衡)
– Power saving implemented (支持DevSleep技术) 
– End-to-End Data Path Protection (端对端数据保护,表现为从主机传输的数据进入缓存释放到闪存,再返回到主机的这个循环过程里的数据完整性)

OCZ Trion 100系列搭配的Toshiba A19nm TLC耐久度如何?不用担心,远远超过1500 P/E。

 

上图是OCZ Trion 100系列SSD的官标耐久度,最小容量是30TB,最大容量是240TB,3年保修相当于每天可以写219GB,也就是每天可以写接近0.25次全盘容量了,另外这个耐久度是按照JESD219A的测试标准定义的,描述的是在最恶劣的情况下,最低的耐久度保证。反观三星2TB的850 Pro,号称3D V-NAND MLC,给了10年保修,而官标保修耐久度才给300TB(约合150 P/E),相当于每天只能写0.04次全盘容量,简直就是个笑话了。

当初Phison找东芝,要做A19nm TLC的主控,但是东芝却不愿意共享太多A19nm TLC的详细内参,于是最终东芝负责为Phison开发支持A19nm TLC的固件,而Phison提供部分源代码支持,最终主控上打东芝标,东芝特挑和测试优质A19nm TLC的Wafer,PTI负责封装(蓝色PCB很熟悉吧=.=),OCZ负责验证和测试。在这个Phison主控的东芝定制版的固件里,它把读写量的SMART信息给隐藏了,这样我们就不知道实际读写了多少数据了,只能知道剩余寿命的百分比,那么要看实际总读写量就真的没办法了么?当然这还是难不倒我滴。我们可以使用支持查看Device statistics log (04h)的软件来查看SSD的读写量,例如下面我用smartmontools和HDAT2就可以看到主机读写量了。



 

可以看到主机写入量为15TB超过,官标耐久度还有98%,即使不算写放大也能写750TB以上,换句话说颗粒耐久度远在1500P/E以上,耐久度这块根本不用担心。

测试总结:

优点:
1、东芝原厂特挑TLC颗粒品质保证,官方标称耐久度和保修服务均不错。

不足:
1、固件的健壮性有待加强。(有兴趣可参阅文后附加内容)
2、受限于TLC的关系,性能表现在同类产品中较差。说的通俗点:用起来像SSD,复制文件起来像HDD。
3、OCZ工具箱已经支持,可以使用手动trim和设置OP的功能,不过SMART定义里闪存读写量被东芝固件隐藏。

对于普及容价比用的TLC产品,性能已经不再是重点,我建议不要拿来直接和MLC产品做比较。本次外壳重量下降不少,放笔记本里更轻便。

----------附加内容 --------

健壮性测试小插曲

和往年一样,7月前正好是澳洲的财政年度最后几天,我给员工们置办了3台新办公机,抽空下班前没什么事在装机和装系统。



系统是微软的Windows 7 Pro Sp1 x64版。主板是技嘉H97,CPU是Intel i5,内存是金士顿8GB,硬盘是OCZ ARC100 240GB(这个SSD是自浦科特M5S还有Intel520之后我给员工、客户和朋友的御用SSD,目前买了不下20块还无任何问题),机箱电源是TT配套。



如图,正好那天OCZ送测的Trion 480GB 也邮寄到了。





下班前系统装完乘机测了2个回合HDtune看一下情况,大致和想像的差不多,SLC缓冲区加速,读取SLC缓冲区浮动,最后关机准备走人,发现190多个Windows 7系统补丁,索性就强制拔了这颗OCZ Trion100 480GB的SSD(从盘),系统盘是OCZ ARC100 240GB。

到家后接到测试机上,进不去系统了,感觉不对,进入BIOS看了下...果然...





型号已经变成了Phison SSD S10了,掉固件进入ROM模式了。





容量2.06MB,SMART 170报错。至此和刚到手半天的SSD说再见了。

连夜发邮件给OCZ,让他们第二天上门收件。OCZ之后马上再给我邮寄了2颗分别是240GB和480GB的Trion100,因此才有了本次两个容量的测试。

有了前一次的教训,收到新来的2颗SSD之后,我都测了几十次掉电,目前还没有挂掉....难道真是我第一次人品爆发了?  

关于SSD变砖的问题,很多人一直以为是因为SSD没有掉电保护造成的,其实并不完全是这样,下面我会用自己的理解做一个深入介绍。

SSD“掉电保护”的深入介绍

在解释后面的内容之前,先强调一点:”掉电保护“保护的是用户数据,而不是防止SSD变砖。拥有完整掉电保护的SSD依然有机会变砖,但没有完整掉电保护的SSD从原理上来说就是不完整的,因为它连做为存储设备的最重要的数据完整性这点都没法保证。

SSD掉电的那一瞬间,可以想象成一个流水线正在运转的时候突然停了下来。

这个时候系统可能在做着以下一些事情:
1、主机正在往SSD写数据;(主机操作)
2、SSD内部在各个RAM之间搬移数据;映射表正在更新;(缓存操作)
3、闪存内部正在进行编程或者擦除操作;(闪存操作)

在上面这3点里,通常是后面2点更容易出现问题。例如:映射表和闪存内部的数据不一致。闪存编程时掉电不但当前写入的数据会丢失,而且还有可能破坏之前写入的数据。另外固件内部很大一部分工作也可能处在一种进行中状态,比如说垃圾回收或者磨损平衡操作正执行到一半。

掉电保护的意义在于:
1、保证元数据安全写入到闪存里,这一点通常还需要硬件支持。(基本掉电保护) 可大幅度降低变砖概率
2、保证写入数据不被破坏。(完整掉电保护) 企业级数据完整性要求
3、保证固件的工作状态在重新上电后可以被正确恢复。(完美掉电保护)  

关于第1点,一般来说就已经需要电压监测和电容的支持了。(某些SSD固件依靠牺牲性能的前提下也能达到这个要求,例如东芝的PFM)在监测到电压下降到临界点(阈值)时,停止接收主机写入,针对已经接受的命令,不但要完成当前正在执行的写入或者擦除操作,同时不再执行新的写入和擦除操作,另外固件内部的一些操作也必须完成。

满足第1点的前提下,如果电容储存电量不够时,还没有完成的命令就需要给主机报命令失败,就能保证第2点。另外第2点还可以通过系统设计,再加上重新上电后的扫描恢复算法来保证。

如果电容电量足够,这时候其实还可以保证第3点,方法就是将主控内部固件的状态保存到闪存中去。但其实往往很多系统是没有办法确保有足够的电容量的。

简单来说:
1.不带掉电保护的SSD不能叫做完整的SSD,因为数据不安全。
2.带不带掉电保护,SSD都可能会变砖,变砖率是固件健壮性的体现。

SSD变砖,这个纯粹是设计问题,只是固件本身不够健壮,也就是说做得健壮的系统,在整个映射表丢失的情况下,可以重建整个映射表,但这个也需要有代价的,会影响性能和用户使用空间。

一般来说掉电的时候映射表是最关键的,但是固件里面还有一些其他的元数据也很关键,比如说很多FTL里都有超块(Super Block)的概念,但是当超块里的一个物理块(Block)坏掉了,就需要找一个替补,这些信息也需要保存起来。另外就是垃圾回收要用的信息,比如说每个块(Block)里面有多少有效数据,磨损平衡要用的信息,比如说块(Block)的擦写次数,以上各种信息也都需要保存起来。尤其是每个块(Block)的有效数据量,这个会频繁变化的值,这些信息平日都会存放在RAM里更新。

注:超块(Super Block)就是很多块(Block)的合体,企业级SSD主要用来做XOR用的。超块(Super Block)是FTL的最小擦除单位,读写则不受超块限制。

所以掉电的时候,这些元数据也要保存起来。变砖是因为这些元数据给损坏并且没法修复,那么有人会问如果没电容的话,如何保证呢?有些元数据会伴随数据同时写入,放在page的spare区,不太关键的元数据丢失影响不是很大,比如说擦写次数的信息有一些偏差,并不影响系统,所以关键的元数据通常是可以重建回来的。

SSD的OP空间里存放了专门的总元数据区,保存着这块SSD的相应信息。闪存的每个Page后都有spare区,这块区域里可以保存对应这个page的元数据。当写入数据的时候,数据先写在Page里,元数据再写在Spare区里。如果此时因为突发掉电造成数据丢失,那么这个数据对应的元数据也丢了,重建后对应的数据就是旧数据,不会出错。相反如果数据因为掉电没有写入成功而损坏或者影响别的Page里数据的话,Spare区里对应的元数据没丢失,重建后再次读取这个Page就会报坏块了。简单来说就是数据丢,对应元数据也丢则没事,数据丢,对应元数据不丢,则读取变坏块。

不带掉电保护的SSD异常掉电后,因为没法保证最后写入的数据是正确的,所以再次上电SSD会找寻最后一次正确的还原点,加载最后一笔元数据和总元数据区进行拼接,恢复速度较快。如果是有掉电保护的,一般就会直接全盘扫描并更新映射表,因为固件知道所有数据都应该是正确的。由于主控对Page的spare区有硬件加速,并且搭配各通道的并行能力,另外只需要读取对应区域,不需要读取整个page,所以恢复速度只是稍微慢点而已。

简单来说:如果电容只保元数据,至少能大幅度降低变砖概率,如果电容完美全保,那么理论也不需要重建映射表了。

还有些极端情况,系统可能在主控处理闪存错误的过程中掉电,这时候会对上电恢复造成困难,算法设计不周,或者测试不充分,往往会出现问题。固件的测试是个大问题,很多时候,变砖只是恰好在某个边界条件时出现掉电,在实验室,测试的设备数量通常比较少,测试的力度又很难保证,所以覆盖率往往不足,就算测了很多,也没有办法衡量确实已经测得足够充分了。

另外更新固件的冲动就是魔鬼。一个产品,从差不多可以发布到最后真正开卖往往又花了一年时间。期间一直在“更新固件”--》测试--》修复bug--》更新固件不断轮回。很多内部固件都不会拿出来的,内部更新了几百个版本了,产品没bug是不可能的,等bug除的差不多了,基本也就落伍了,也就没竞争力了,所以市场就是这么残酷。但质量不过关又不敢拿出去卖,这是个矛盾。

读取掉速问题验证

澳洲目前是冬天,气温在5-10度附近。办公室里取暖用电炉,我们知道三星21/19nm TLC旧数据读取会掉速,那么我也乘机验证下OCZ的这颗东芝A19nm TLC会不会有同样问题。把SSD挂在了电炉前面烘烤,温度大约在80-90度之间,我上班前挂上,下班后拿下,差不多是12小时。



我在盘内复制了大量数据(零碎系统文件),进行测速做为基准点,平均速度493MB/s。

 

烘烤后再进行速度测试进行比较,表现如下:



可以看到经过12小时的烘烤,平均速度477MB/s,速度基本没掉。(之前499MB/s应该是有数据还在SLC区缓存着,这下放的时间长了数据都去TLC区了)

忽然想起我还有一颗三星的1TB 840Evo是去年买的,装在我的Macbook pro 13寸里一直没怎么用大约放了2个多月了,索性拿出来一起烤着玩吧。

 


烤前先做个基准测试,如下图:



好吧,放了2个多月而已,掉速情况蛮严重的,平均速度才204MB/s,权当基准点吧,放着和OCZ一起烤试试。



4个小时后,拿下三星做个测试....越测越不对,这速度咋那么慢呢....最终算是读取出来了,不过这个速度...



我晕死....才22MB/s....简直不相信自己的眼睛。19:38分跑完基准,20:00不到开始烤,4小时拿下来跑测试....速度从207MB/s跌到22MB/s



有数据和没数据的区域一目了然。

 

另外SMART的05值重映射开始增加,我之前是0的,现在2了,如果我全盘扫描错误的话肯定还会继续增加。
我才写了33P/E而已远远没达到官标耐久度,我想三星就不用继续烤了...4个小时而已就这样,要是真烤个10多小时估计就成烂盘一块了。

OCZ Trion 100 480GB拿下来测一下,可以看到贴纸烤皱了...

 



加起来一共烤了16小时,速度依然没掉,477MB/s。

好像有个别人很想看我的笑话,认为我以前不停黑三星TLC,现在看看到了OCZ上我会持什么态度,如果是捧OCZ的TLC呢,就要说我是故意黑三星。那么从这个测试上看,我还是要黑三星,同样是TLC,为啥OCZ的可以烤16个小时不掉速,但840EVO烤4小时就掉到惨不忍睹的地步呢?我想很多人有一点始终没搞明白:我都是看事实再决定是黑还是捧,这是有个逻辑起点的,客观的含义想必就是如此吧。但有些人是因为先爱一个品牌,再去看产品,不管产品真的如何,反正就是好,甚至强迫别人跟你一样去爱;恨也是一样,只要恨一个品牌,白的也要说成是黑的。这个逻辑搞颠倒了吧,成语颠倒黑白就是形容这个情况。我的评测哪一个不是基于测试数据与原理分析才得到结论的?有本事你挑我在技术知识层面的错误,但不要用自己对三棒的爱来绑架我的独立意志或是污蔑我的独立人格。

 本文转自:http://bbs.pceva.com.cn/thread-121051-1-1.html

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。