Flash存储器的纠错要求-IBM

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

想要和阿呆还有全世界的大牛讨论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关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。