PCEVA,PC绝对领域,探寻真正的电脑知识
  • 内容展现
  • 最新评论
东芝Q Pro 256GB SSD深入评测和分析
2015-3-30 16:17| 发布者: 心即空| 查看: 96013| 评论: 71|原作者: neeyuese
摘要: 东芝作为闪存世界的缔造者,拥有极雄厚的技术实力和值得信赖的品质,东芝将旗下原OEM型号的SSD系列产品推出了零售版包装,2014年中旬后东芝闪存工艺过渡到A19nm,也是本次我测试的新版Q Pro系列 ... ... ... ... ...
技术特性介绍

看完上面基本介绍和开箱,让我们进入下一环节,SSD支持的技术特性介绍部分:


随着闪存工艺的逐步更新,出错率也在增加,所以需要强大的ECC来纠错

ECC的强度是影响SSD耐久度的一个关键因素,所有的闪存都需要ECC纠错,这些错误是随机产生的,我们一般叫做“软错误”,因为闪存芯片内部的噪声非常大,传输时候的信号强度较弱,这也是为何闪存是当今最便宜的存储记忆体的道理。另外随着闪存的磨损,出错率会越来越高,这是因为某些bit会永远卡在一个状态下,我们称作“硬错误”。不难理解,闪存的耐久度取决于磨损后产生的"硬错误”大量增加导致无法纠错,如果能够提高ECC能力,自然也就能较晚的出现因错误太多导致没法纠错的情况。当然有时候人品不好“软错误”忽然大量增加导致突破ECC能力的情况也会发生,但是那个不应该会对全局耐久度产生大影响,只是会消耗几个备用块而已。

举例子吧,让我假设某个全新的闪存芯片软错误是28bit/1KB的ECC需求,这个意思是每个Page在读取时可能会随机出现不大于28bit/1KB的软错误(通常就是芯片噪声导致),如果主控的ECC算法能够纠错40bit/1KB的话,那么就是说除非这颗闪存芯片P/E磨损到至少12个bit/1KB的硬错误再加上28bit/1KB的软错误,才会导致ECC无法纠错重映射的情况发生。现在让我们假设闪存厂保证出现12bit/1KB硬错误的情况是需要P/E磨损达到3000才会出现,那么我们就说在40bit/1KB这个ECC能力下,这个闪存可以达到3000 P/E的指标,同理如果把主控ECC能力再度提高的话就能达到更高的闪存P/E指标。

东芝专利纠错技术QSBC

当今存储设备最基本的要求是要有能力去识别和纠正数据错误,目前主流的SSD的纠错技术是采用BCH算法,随着闪存制程越来越小,出错率也随之倍增,要支持更新工艺的闪存,下一代的主控纠错算法则会使用到LDPC。LDPC算法拥有2个层面的纠错,它们是硬判决和软判决,结合使用的话将大幅度提高纠错能力,但是延迟也会相应提高。另外实时LDPC算法需要消耗比BCH算法更多的计算资源,代价就是主控解码电路更大更复杂,消耗更多内存和降低SSD性能,功耗也随之提高。

闪存控制器厂商们目前都在开发各自的 LDPC算法架构,由于每种算法架构代码都是不同的,因此没有直接的可比性。东芝半导体做为闪存的发明者和生产者,利用了对闪存特性了解的优势,开发了针对自家闪存颗粒独有的纠错算法,取名为QSBC纠错技术并且申请了专利。


上图中分别是3种纠错算法典型配置下的纠错能力,如图所示典型的最小值综合演算 LDPC架构相比传统BCH算法的纠错能力高了2倍,而东芝采用的纠错算法相比最小值综合演算LDPC架构则提高了整整8倍。


数据在传输过程中可能会出现错误,所以需要进行保护。

根据之前技术的说明我们知道SSD能够通过ECC来纠正发现的错误。但是SSD上的内存(缓存),固件(Firmware),或者SSD上其它的元件甚至软件呢?它们可能会在数据写入缓存前改变用户数据或者在读取数据后改变数据并发送给用户。这种非常严重的问题叫做“静默错误”,因为用户并不知道错误已经产生。假设在金融类行业出现这种静默错误,一直拖到审计对账时候才发现,可能已经拖了几周或者几个月了,造成的损失可能是难以估量的。在企业级应用中出现这类错误是无法让人接受的,所以CRC也叫E3D(End-to-End Error Detection) 被用来解决这个问题。比较常见的CRC有16bit CRC,可以发现2^16bits 也就是8KB内的单个bit错误,或者32bit CRC,可以发现2^32bits也就是500MB里的单个bit错误,这里我们主要讲CRC 16。可惜的是CRC可以用来发现静默错误,但它并不能纠正错误,所以如果数据已经出错,它最多只能告诉用户“我出错啦,但是没法恢复哦。”此时如果要恢复数据的话还需要靠E3C(End-to-End Seamless Error Correction)来帮忙,只需要在CRC16后加入汉明ECC码,就能起到完整数据路径保护的功能。

东芝Q Pro系列SSD完整数据路径保护

就像上面说的,通常企业级SSD都要求有这个功能,而目前市面上绝大部分的消费级SSD,包括旗舰型号都不支持这类保护,因为这会影响到SSD的综合性能表现,绝大多数消费者也往往是看跑分选择SSD,而且消费级产品对用户数据完整性的要求没那么严格。另外固件要支持这个功能,这类非结构性的数据,处理起来也较麻烦,由于一个功能不能独立存在,会对系统其他部分产生影响,带来额外的工作量和风险,客户不关心的话,不如不做。


如图,写入的时候CRC16码生成并和用户数据一起存放在闪存内,读取的时候,CRC16码在SATA接口内进行校验,检测所有数据传输中的错误(总线和内存),而当缓存数据发现错误的时候,汉明码ECC自动会进行纠错,当闪存数据出现错误的时候,则就是靠主控ECC进行纠错了。东芝Q Pro由于血统是从企业OEM产线延伸下来,对于这个保护功能也予以保留。


在突发掉电的时候,盘内旧数据可能会出错造成SSD无法访问,所以需要进行保护。

当出现突发掉电,SSD一般会出现以下3种数据丢失甚至坏盘的问题:(掉电保护的到底是什么?)

1)丢失用户数据:这个情况大多是因为用户数据还在写缓冲区里的关系,写缓冲区是为了提高峰值性能用的。在这个情况下,当SSD主控制器掉电后,写缓冲区里的数据还没有被写入到NAND里,这样就会造成了数据丢失。

2)丢失映射表信息(LBA元数据错误):所有的SSD主控制器都是通过映射表信息来操作相对应的文件系统逻辑地址和闪存物理地址的。当SSD内的数据需要读取时,必须有相对应的之前生成的并且更新维护过的正确映射表信息,而当数据写入之前写入过的文件系统逻辑地址时,映射表信息必须被更新。如果正确的映射表信息因为掉电而丢失了,那么SSD就可能无法访问了。

3)低位Page出错:2bit MLC的闪存因为在每个物理Page里存放了2个逻辑Page的数据,如果在写入时候忽然掉电,就会影响到之前写入的旧用户数据。通俗点说就是写入新文件的时候忽然掉电,可能把老文件也弄坏了。

东芝Q Pro系列SSD异常掉电管理PFM(Power fail Management)和盘内数据损坏保护

东芝Q Pro系列SSD的PCB上并没有掉电保护的电容,但是东芝却能做了上面提到的第二和第三点的保护,这是如何做到的?

内部映射表保护:
1.        每张映射表都有一个完整的备份在闪存里。
2.        更新映射表的时候是2张表交替进行的。
3.        当突发掉电导致一张表损坏时,下次上电时候可以从另张表恢复之前的状态。

用户数据保护:
1.        当主机发送Flush_Cache指令后,所有在缓冲区内的数据都会立即写入闪存内。
2.        SSD每闲置2秒(主机没发送新指令),缓冲区内的数据会立即写入闪存内。
3.        新写入的用户数据永远会写入到新的闪存Page上,即使它们的逻辑地址相同。
4.        每一笔最后的数据写入操作会将它之前的数据状态保存到另个闪存Page内。
5.        当突发掉电导致最后一笔写入的数据出错或者丢失的时候,在下次上电时过去的数据状态能够从之前备份的闪存Page里恢复出来。

东芝内部验证测试的时候是进行了30000次突发掉电,这个做法会造成一定的性能损失,但是却能在没掉电保护电容的情况下保证SSD数据安全,我一直强调,SSD跑分高低无所谓,稳定安全是铁律,这点上我要给东芝点赞。对于普通家用SSD来说,只要保证SSD不变成无法访问的状态丢失全部数据就行了,其实最后一笔写入的数据真丢了也不是什么大事。


随着闪存的磨损会出现越来越多的坏块,当用来替换这些坏块的备用区域消耗的差不多时,SSD继续写入的话很容易会突然变砖,为了保证用户数据安全,需要进行保护。

还记得测试SSD耐久度的测试么?拼命的写入数据直到SSD闪存磨损殆尽。有些高端SSD虽然还有备用块可以用,但是在颗粒P/E磨损严重的后期,出现忽然暴毙的情况,这就像一个定时炸弹,因为你根本不知道下一秒SSD还能不能访问了。

东芝Q Pro系列SSD紧急只读保护模式


东芝的Quark系列SSD,Smart定义AD(P/E)的值出厂时候是200,当这个值降到1的时候,在SSD完全重新上电时会进入紧急只读模式,用户可以准备备份数据并申请售后了。如何得知自己的SSD是否进入了只读保护模式呢?Smart定义的A7,默认是0,如果是别的数值那么就是进入了只读保护模式了。本着对用户数据负责的态度,这个值东芝定义的比较保守,因此测试SSD耐久度的时候,东芝SSD P/E表现可能并不理想,但用户数据却是安全的,各中取舍只能由用户自己选择了。

上面是SSD支持的功能亮点介绍,接下来我们来说说这块SSD内部的工作流程:



上图是控制器架构。东芝Q Pro主控制器主机接口支持SATA 6Gb/s(向下兼容),如图所示,此主控制器区域被划分后,前端包含一个SATA主机接口和一个SATA控制器,后端用于执行命令的处理,包括访问闪存。前端和后端各有一个中央处理器,依靠并行操作来提速。后端有个命令队列模组,可以用来保持多条来自前端的命令,SATA接口定义的原生命令行队列(NCQ)可以通过接收和非顺序执行多条命令来提升速度,另外数据缓冲器可进行数据缓冲,用来解决主机和闪存之间的速度匹配问题,可以把多个扇区数据合并写入闪存。

SSD的操作需要依靠查表模块(LUT)来确定逻辑地址(LBA)和物理地址在闪存中的关系。地址管理表一般被存储在外置缓存里,通过主控集成的DDR控制器来进行访问。闪存控制器则用来访问19nm MLC闪存,支持Toggle DDR 2.0的接口。为了提高带宽,它支持8通道和4路交错。在闪存控制器里有一个内置的第1级ECC模块来保护存储在闪存内的数据。还有一个第2级ECC模块来保护闪存控制器外的区域。

现在我来描述下基本的读写操作流程。一个SATA读取命令从主机传输过来,通过控制器的前端到达命令队列模组。进入模组的读取命令发送到查表模块来获取读取逻辑地址映射在闪存上的物理地址。然后读取命令被发送给相对应的闪存通道下的物理地址,数据被读取出,读取的数据先传输到数据缓冲器,然后继续通过前端进入主机。一个SATA写入命令从主机传输过来,通过控制器前端并写入数据,逻辑地址和数据属性会被发送到数据缓冲器,接着查表模块提供逻辑到闪存上的物理映射地址,然后数据从数据缓冲器写入到闪存,第1级和第2级ECC模块生成的纠错码会和数据一起写入到闪存。

这里顺便讲几个稳定性提高的做法,前面说了数据是和第1级和第2级ECC模块生成的纠错码一起写入闪存的,那么当数据读取的时候如果第1级纠错码无法纠错的时候会使用延迟稍高的第2级纠错码进行纠错。另外随着外置缓存容量的增加,出错率也在增加,我们平日的电脑如果内存出错一般会出现蓝屏,死机等问题,而SSD的缓存是用来存放映射表的,如果出错则可能是直接变砖的。目前消费级产品SSD都不会去做外置缓存的冗余保护ECC,只会做主控内SRAM的冗余保护,因此容量越大缓存越大的SSD会更容易出错。东芝Q Pro系列的SSD固件索性就把外置缓存给整个去掉了,既降低了运行功耗,省却了成本,也保证了数据安全,同时去掉缓存后mSATA,M.2这类版型较小的尺寸也有空间优势。

但是去掉外置缓存虽然保证了数据安全,却会带来性能上的下降,比如最直接的影响就是低队列下的随机读取性能,因为没有了大容量的外置缓存,大部分数据的映射表都只能放在闪存里,小部分在主控SRAM里,虽然东芝采用了SLC Cache模式来提高闪存访问速度,但是毕竟不能和外置缓存的速度相比,因此每次随机读取数据时候如果SRAM里没有对应数据的地址,则需要先进入闪存里把映射表读取进入缓冲区,再根据查表模块找到真实数据再次读取出来,这样就会造成了2次读取,我们叫做读放大。读取放大可以被多队列命令隐藏,单条命令的时候就没辙了。写入数据的时候有数据缓冲区合并写入闪存,因此随机写入量不大的时候没事,一旦随机写入量超过数据缓冲区平衡能力(查表速度跟不上,因为映射表不在SRAM就可能会需要先从闪存里读进数据缓冲区)就会出现性能低下,但是家用环境这种情况很少,真的需要用到这部分性能的时候,请选择其它高耐久度高性能企业级产品。


收藏 邀请
0
本文版权归 PCEVA,PC绝对领域,探寻真正的电脑知识 原作者所有 转载请注明出处
发表评论

最新评论

引用 gaojie20 2015-3-29 02:00
你这发帖速度……
引用 raul222 2015-3-29 07:31
前排支持评测!
引用 NOIP117 2015-3-29 08:08
又是一篇科普+评测,好评啊
引用 frontwing 2015-3-29 08:21
本帖最后由 frontwing 于 2015-3-29 08:31 编辑

终于明白了F、H、J三代主控的真身,赞。

NAND闪存在1987年由日本东芝半导体股份有限公司存储器事业部的白田理一郎教授发明

是舛冈富士雄吧……
http://www.tudou.com/programs/view/IgBp1R4Vceg/
引用 T2BTZ 2015-3-29 09:34
“SSD跑分高低无所谓,稳定安全是铁律”
严重同意!
而且话说回来,这货跑分并不差~
引用 wm258156031 2015-3-29 09:35
看起来性能不错啊。据说镁光和intel又有黑科技。。观望观望是不是512G固态要进入贫民化时代了
引用 luoyu_1980 2015-3-29 11:05
NTI Echo数据迁移软件

请教这个能用在别家的SSD上面吗?
引用 liuyaoyuan 2015-3-29 11:19
这评测速度牛啊
引用 frontwing 2015-3-29 11:35
luoyu_1980 发表于 2015-3-29 11:05
NTI Echo数据迁移软件

请教这个能用在别家的SSD上面吗?

不能,目标盘必须是东芝的HDD或SSD。
引用 kmt 2015-3-29 11:55
性能不错,外观难看
引用 lzf19750908 2015-3-29 15:32
本帖最后由 lzf19750908 于 2015-3-29 15:36 编辑

东芝Q系列9189主控加自家闪存,和9188主控加同样闪存的M6S比,主控更好却价差100元,能说说这价差...差在哪吗?因为无缓存?
引用 hfxiaozi 2015-3-29 16:47

如果SSD有这样的坏块了,有修复的办法吗
引用 neeyuese 2015-3-29 16:53
hfxiaozi 发表于 2015-3-29 18:47
如果SSD有这样的坏块了,有修复的办法吗

数据损坏了的,已经没可能恢复。至于SSD可以做一次Secure Erase就能重新使用。

引用 hfxiaozi 2015-3-29 16:54
neeyuese 发表于 2015-3-29 16:53
数据损坏了的,已经没可能恢复。至于SSD可以做一次Secure Erase就能重新使用。

...

好的 感谢浴室大大解答
引用 mictom6 2015-3-29 19:42
我爱你!!!
引用 guangyunjian 2015-3-29 21:07
学了不少知识,感谢浴室的精彩测评。
-
亚马逊买的西数HDD也有缓冲袋。
我倒觉得INTEL那种泡膜按钮缓冲,还有水区标配那种海绵,比这种大袋子可靠,见过几次大袋子被挤漏的。
-
图片没看清,正面左下的螺钉似乎有些特别。
引用 overthink 2015-3-29 21:30
本帖最后由 overthink 于 2015-3-29 21:31 编辑

给力的评测,又学到很多新知识。

东芝的盘我有个,在东芝消费级SSD型号解析部分解释的很准确。对得上,但是在固件上就有些出入,好奇怪。

NVZFL}%]EG99Y6}{{WZS9JM.png

打磨SF2281主控,24nm ABL MLC TYPE A颗粒,这些都是对的,但是固件名称好奇怪,是这个型号的固件比较特别么?
引用 frontwing 2015-3-29 21:51
overthink 发表于 2015-3-29 21:30
给力的评测,又学到很多新知识。

东芝的盘我有个,在东芝消费级SSD型号解析部分解释的很准确。对得上,但 ...

BBF0结尾,因为THNSNS系列是SF主控所以按SF的版本号规则来的,东芝其他用JMF、慧荣、marvell主控的系列都是东芝的规则。
引用 terryworld 2015-3-29 22:19
neeyuese 发表于 2015-3-29 16:53
数据损坏了的,已经没可能恢复。至于SSD可以做一次Secure Erase就能重新使用。

...

好评测! 东西是的确好, 再看这篇评测是否能把XX商家卖Qpro的销量提高些....

不知东芝Qpro的数据保护和掉电保护,与刚出的 OCZ VTR180 相比如何?


查看全部评论(71)

热门评论
    热门评论
      返回顶部