PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

浴室谈SSD系列十九:谈谈美光m4/C400 SSD的更多内部信息

[复制链接]
neeyuese 发表于 2012-11-6 13:50 | 显示全部楼层 |阅读模式
点击数:24969|回复数:42
原本设想浴室谈SSD系列是每周1~2篇的,如今出的速度真是越来越慢了,工作实在忙没时间写对不起大家了啊,而且有时候没有找到灵感哦。


本期我们先来谈谈美光在m4/C400中采用的读干扰(read disturb )处理技术。

何谓读取干扰?指的是当闪存中一个页在被连续读取多次后,这个页附近的页内部电子数量随着那个被请求读取的页的电压干扰也在发生着着变化,而当真正需要读取它们时,会发现其表示的数值已经发生了改变,那么就会出现一个无法纠错的情况。那么如何避免这种情况产生呢?这就需要在对某个页读取多次后,把当前块所有块的数据搬运到新的块里,并擦除当前块。这就带来了写放大,而且可能打断了正在操作的读,造成性能下降,但是这样避免了UECC的问题,是必须要做的一种处理。

其实有read disturb(读取干扰),自然就会有program disturb(编程干扰),所以如今的颗粒,都是要连续编程的,比如从page 0开始连续到page 127,绝对必能出现page 0 , page 3 , page 2等这种穿插的情况,因为这样就会造成写入的数据对旁边的造成干扰,读出来也是错的。早期的SLC(72nm时代,是可以穿插编程的,但是有次数限制,算法好做很多),如今的SLC也不行,TLC就更不可能了。

这是我很久前写的读写干扰部分的解释,希望大家可以看得更明白点。

读/写干扰。

NAND Flash的电荷非常不稳定,在读/写中很容易对邻近的单元造成干扰,干扰后会让附近单元的电荷脱离实际的逻辑数值,造成bit出错,因为阈值接近的关系,MLC相对SLC来说更容易受到干扰。



读取干扰



写入干扰

读取干扰指的是在读取某个page时,邻近的bit会受到升高电压的干扰,造成bit出错。写入干扰指的是,某个page在写入时,邻近bit的电压也被升高了,造成bit出错。相对写入干扰来说,读取干扰明显小的多。在读/写干扰中,可能造成某些bit被改变,结果造成数据出错。所以需要在返回数据给主机前,用ECC算法来纠正这些bit的错误。随着闪存工艺的提升,同样大小的晶片上被封装入更多的单元,造成干扰越来越厉害,所以需要更强大的ECC来纠正bit。

这种情况反映到测试软件中,就会影响高QD下的读取性能,很多用户会发觉m4新盘的时候ASSSD下QD64有200多MB/s,但是现在再也跑不出那种速度了,就算我重做系统也没用,还是只有1xxMB/s附近。仔细想想,ASSSD在测试前划分了一块1GB区域写入了数据,然后4KB QD64读取的时候基本是重复读取那块区域,很肯能就会产生读取干扰了,这时候m4就需要把那块可能会出错的数据搬出来写入新的块里,等于你测读取的时候,m4还有混合做了写入操作。这个如果速度很快,说明SSD算法根本没做防读取干扰的操作或者读取干扰操作做的比较宽松,当然也可能新一代的SSD主控强劲,混合读写操作速度更快。



从上图中看出,颗粒品质不同直接影响P/E,抗读干扰次数,故障率,从这一点上来看垃圾颗粒差的可不只是耐久度哦。读干扰的一些参数都要在固件里进行设置,不是所有的厂商都会做,特别是消费级性能比稳定更吸引眼球。所以说穿了,SSD读取也是伤耐久度的,因为读多了就要搬,而搬就要写不是么?

谈完读/写干扰部分,我们再来看看m4的重映射算法。

m4没有重映射一说,块坏了就是坏了,Smart 05 的重映射值只是给客户看的值,实际对主控算法来说,没有重映射这个定义。

我来解释一下上面这段黑体字的含义:

我们知道重映射对于机械硬盘来说就是一个物理位置坏了,就用另一个物理位置重映射这个逻辑位置。对于SSD来说,物理位置和逻辑位置本来就没有固定的映射关系(这也是普通的碎片整理无意义的道理)。既然如此,何来重映射这一说?这就是传统机械硬盘的过时概念了。

当然这个还要看SSD采用的算法,有些厂商会把坏块的物理位置用另一个可以用的好块来代替,但是m4没有这么做,坏了就跳过去,以后就不用了。很多人可能会想,这样会不会影响容量?当然不会,对于提前从OP里挖一块储备一部分做备用块的做法来说,那是相当于一开始就少了OP罢了,还不如一上来就把所有的OP块都用来做磨损平衡,出错了就不用了,只是性能会影响,因为这一排少了一个interleave的可能,如果你不想为了少一个interleave而影响性能的话,则坏块就要双数增加了,例如浦科特的M3P,就是2个2个增加的坏块。如果到了后期,坏块一直增加,到了OP容量不足后,则整个SSD就会进入写保护状态,所有写命令直接abort。

最后说说本次美光升级的固件,010G这个版本,确实蛮渣的,由于之前m4的功耗比较高,落后竞争对手不少,所以这次固件对节能做了彻底的改变,比如彻底禁用了HIPM(解决了不少兼容问题)。不过物极必反,HIPM禁用后,DIPM却不一定做的好,猜想idle的时候,节能停掉太多内部模块,造成不少玩家出现丢盘的现象,不过m4做为一款老经典产品,如今美光的重心已经不在上面了,建议000F固件用起来没问题的用户可以考虑不要升级。另据我所知,美光下个SSD应该是SandForce的主控,但是自己也会开发原厂主控,毕竟Marvell的产品价格高了,也不可能一根绳子吊死,而且自己主控配自己颗粒才有最大潜力可挖,不管如何明年大家就能看到了。

本期就讲那么多吧,有机会再说说Toshiba的产品,做为NAND的发明者,Toshiba的颗粒品质在美光之上,不过SSD的算法还需要努力,纠结P/E?不同厂商的P/E定义标准不同(测试环境,主控算法等等),所以没有可比性,原厂的货品质都不会很差,非原厂的利润也不是最高,回收拆机的原厂颗粒那种才是高利润。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
hdmucity 发表于 2012-11-6 16:07 | 显示全部楼层
科普知识,刚买了M4 128G,好好学习学习。是不是跑ASSSD和CDM测试特别耗PE,我为了做测试,跑了十几次测试,看PE就加了一次。
wsy2220 发表于 2012-11-6 16:18 发自PCEVA移动客户端 | 显示全部楼层
本帖最后由 wsy2220 于 2012-11-6 16:31 编辑

期待更多的秘密被发掘~

看完后表示,ssd的固件算法还真是复杂,要考虑的东西太多了,相当考验研发的水平啊。

经常换颗粒的牌子可以完全无视了
木鱼茶茶 发表于 2012-11-6 16:28 | 显示全部楼层
哈哈,前排,学习下
antifocus 发表于 2012-11-6 16:28 | 显示全部楼层
又见浴室大的好文~~~
Epic 发表于 2012-11-6 17:15 发自PCEVA移动客户端 | 显示全部楼层
本帖最后由 P0wer 于 2012-11-6 17:19 编辑

擦,读取也损耐久
jazy1377777 发表于 2012-11-6 17:28 | 显示全部楼层
进来拜读科普了
bssharp 发表于 2012-11-6 17:43 | 显示全部楼层
在公司溜号看到了~期待已久的更新,浴大依然那么给力!
如果盘寿命已到(标称P/E耗尽,备用空间也用完),固件进入全盘写保护状态,会是怎么一个情况?这个时候再读盘,盘上数据会不会因为读取干扰而很快完蛋?
wsy2220 发表于 2012-11-6 17:49 发自PCEVA移动客户端 | 显示全部楼层
bssharp 发表于 2012-11-6 17:43
在公司溜号看到了~期待已久的更新,浴大依然那么给力!
如果盘寿命已到(标称P/E耗尽,备用空间也用完), ...

有的盘耗尽以后直接不让读的
kingochan 发表于 2012-11-6 17:49 | 显示全部楼层
前排支持浴室好文章!
rekashin 发表于 2012-11-6 17:53 | 显示全部楼层
感觉ssd还是不成熟
djsgd 发表于 2012-11-6 18:00 | 显示全部楼层
真担心镁光  不再开发新固件了
话说我这用着010G 提心吊胆啊   虽然没有出现什么异常
也不敢随便再刷回去
Pale_Cheung 发表于 2012-11-6 18:00 | 显示全部楼层
toshiba 24bn 配合 sf2281

asssd 没有 m3p 好看。
ggxuelei 发表于 2012-11-6 18:16 | 显示全部楼层
原来排除盘脏的原因,读取干扰也会导致盘变慢的,学习了~~
hifiu 发表于 2012-11-6 18:32 | 显示全部楼层
前几天看有个帖子说,SSD最擅长电驴下载了,读取不损耗,于是就把下载移到SSD上了,冤啊……
07多特 发表于 2012-11-6 19:21 | 显示全部楼层
进来学习
sfdm 发表于 2012-11-6 19:23 | 显示全部楼层
首页拜读。。。
maoyipeng 发表于 2012-11-6 19:37 | 显示全部楼层
原来读取也有影响
donnyng 发表于 2012-11-6 20:32 | 显示全部楼层
原来如此,怪不得跑分的话,会和一开始有差距。
wsy2220 发表于 2012-11-7 00:20 | 显示全部楼层
本帖最后由 wsy2220 于 2012-11-7 00:21 编辑
hifiu 发表于 2012-11-6 18:32
前几天看有个帖子说,SSD最擅长电驴下载了,读取不损耗,于是就把下载移到SSD上了,冤啊…… ...


读取损耗也够你损耗几十年了

这里的损耗主要是指一个地方读多了数据会出错,需要转移处理一下,对寿命影响可以忽略
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部