加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash存储器的纠错要求-IBM

发布时间:2020-12-15 20:01:56 所属栏目:百科 来源:网络整理
导读:作者:阿呆 ? NAND Flash纠错从理论到实践,看完你就是专家了! 想要和 阿呆 还有全世界的大牛讨论 SSD 及存储相关技术?加 nanoarch 为微信好友,拉你进 ssdfans 微信群 ?。? ? ? 导语 Flash 常说的 RBER , UBER 是什么?极限情况下纠错码有多长? 为什么


作者:阿呆

?

NAND Flash纠错从理论到实践,看完你就是专家了!


想要和阿呆还有全世界的大牛讨论SSD及存储相关技术?加nanoarch为微信好友,拉你进ssdfans微信群?。?

?

?

导语


Flash常说的RBERUBER是什么?极限情况下纠错码有多长?


为什么


Flash是一种有失真的存储介质,必须满足Spec规定的纠错能力才能达到Spec声称的写寿命。


纠错基础


BSCBinary Storage Channel)模型


如图,数据从发送到接收,有一定的概率出错(在通道里面或者存储介质上)。BSC模型中10有着同样的出错概率,作为一种近似模型。Perror=001Psuccess=0.99.单个bit穿过通道的错误率叫做RBERRaw Bit Error Rate。本例子RBER=0.01。扩展一下,传输nbit,出错kbit的概率如下:


以前面的例子,各种出错概率为:


出错率小于等于kbit概率为其下的概率求和。K1时:


在下面的例子中,用3倍的bit来表示原来1bit的数据,RBER依然为0.01,在3codeword里面的3bit出错概率假设相等。可以看出最终的出错概率降低了33倍:从原来的0.01到了0.000298.



真实世界


  1. Codeword没这么短;

  2. 现在的纠错一般使用BCH

  3. BCH能够实现固定长度错误bit的纠错。

  4. 给定RBER和存储介质,我们可以得到概率分布函数和累积函数(probability mass function (pmf) and cumulative distribution function (cdf).)。


    PMF表示在长度为nCodeword里面发生x个错误的概率,CDF指的是在长度为ncodeword里面发生小于等于x个错误的概率。



    假如我们能纠错40bit,那么纠错失败的概率为:Pr (? 40 errors) = 1 – Pr (≤ 40 errors) ≈0.0015。这个叫做FERFrame Error Rate)。如果能够纠错41bit,则FER=0.00084纠错长度增加2.5%导致FER下降44%


    RBERUBER


    加入我们考虑了纠错之后再来计算出错率,发现error count40bit以下的概率都为0,因为都被纠过来了,而大于41bit的出错概率本来就很低,错误概率分布变成了如下右图的PMF


    右图放大之后:


    所以接下来的任务就是计算纠错之后的Bit Error RateUBERuncorrected bit error rate,这个是工业界来衡量Flash纠错能力的指标。计算公式很简单,就是把前面每个bit的出错率加起来,但是因为t bit纠错能力导致tbit以下的错误率都为0,所以从t+1开始累加就可以了。



UBER的影响因子


纠错能力


RBER2.00e-3,纠错能力从35增长到43bit,那么UBER下降了250倍。



RBER


同样情况下,如果RBER降到1.25e-3UBER可以下降4000倍!


只看RBER的变化,UBER改善更显著:



怎样选择纠错码长度


短纠错码占用资源少,但是纠错能力差。长纠错码纠错能力强,但是占用更多资源。关键是选择一个能够实现足够UBER的纠错长度。如果知道4K page的纠错码长度,怎么计算8K16K的?


问题是,Flash制造商并不提供RBER,因为RBER并非固定值,它跟晶圆质量、温度等很多因素相关。一般来讲,按照制造商提供的纠错码长度就可以了,但是企业级用户的要求更高,他们对性能和使用寿命非常关注。


深入知识


性能鉴定


下图为IBM Flash性能鉴定平台。


如下图,Flash的错误率会随着使用寿命增加而增加。为了挑战极限,必须准备好处理每100bit就有1个坏的情况。


RBER还跟Flash内部结构也有关系。两个相邻BlockRBER有可能完全不同,下图是单个block里面不同pageRBER分布图。看得出来,upper pageRBERlower page要高两个数量级。


如果RBER高达1%,那么要实现UBER < 1e-15,需要多大的纠错码?如下图,BCH纠错码长度很长,码率很低。所以需要更好的纠错算法,譬如LDPC



引用


Understanding Error Correction Mandates for Flash Memory

Charles Camp,CTO / IBM Flash Systems Development,IBM


不想错过阿呆的后续精彩文章?长按或扫描下面二维码关注ssdfans就可以了!


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读