Flash存储器的纠错要求-IBM
作者:阿呆 ? NAND Flash纠错从理论到实践,看完你就是专家了! 想要和阿呆还有全世界的大牛讨论SSD及存储相关技术?加nanoarch为微信好友,拉你进ssdfans微信群?。? ? ? 导语 Flash常说的RBER,UBER是什么?极限情况下纠错码有多长? 为什么 Flash是一种有失真的存储介质,必须满足Spec规定的纠错能力才能达到Spec声称的写寿命。 纠错基础 BSC(Binary Storage Channel)模型 如图,数据从发送到接收,有一定的概率出错(在通道里面或者存储介质上)。BSC模型中1和0有着同样的出错概率,作为一种近似模型。P(error)=0。01,P(success)=0.99.单个bit穿过通道的错误率叫做RBER:Raw Bit Error Rate。本例子RBER=0.01。扩展一下,传输n个bit,出错k个bit的概率如下: 以前面的例子,各种出错概率为: 出错率小于等于k个bit概率为其下的概率求和。K为1时: 在下面的例子中,用了3倍的bit来表示原来1个bit的数据,RBER依然为0.01,在3个codeword里面的3个bit出错概率假设相等。可以看出最终的出错概率降低了33倍:从原来的0.01到了0.000298. 真实世界
UBER的影响因子 纠错能力 RBER为2.00e-3,纠错能力从35增长到43bit,那么UBER下降了250倍。 RBER 同样情况下,如果RBER降到1.25e-3,UBER可以下降4000倍! 只看RBER的变化,UBER改善更显著: 怎样选择纠错码长度 短纠错码占用资源少,但是纠错能力差。长纠错码纠错能力强,但是占用更多资源。关键是选择一个能够实现足够UBER的纠错长度。如果知道4K page的纠错码长度,怎么计算8K和16K的? 问题是,Flash制造商并不提供RBER,因为RBER并非固定值,它跟晶圆质量、温度等很多因素相关。一般来讲,按照制造商提供的纠错码长度就可以了,但是企业级用户的要求更高,他们对性能和使用寿命非常关注。 深入知识 性能鉴定 下图为IBM Flash性能鉴定平台。 如下图,Flash的错误率会随着使用寿命增加而增加。为了挑战极限,必须准备好处理每100个bit就有1个坏的情况。 RBER还跟Flash内部结构也有关系。两个相邻Block的RBER有可能完全不同,下图是单个block里面不同page的RBER分布图。看得出来,upper page的RBER比lower page要高两个数量级。 如果RBER高达1%,那么要实现UBER < 1e-15,需要多大的纠错码?如下图,BCH纠错码长度很长,码率很低。所以需要更好的纠错算法,譬如LDPC。 引用 Understanding Error Correction Mandates for Flash Memory Charles Camp,CTO / IBM Flash Systems Development,IBM 不想错过阿呆的后续精彩文章?长按或扫描下面二维码关注ssdfans就可以了!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |