MicroSemi版的动态ECC

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

前面有篇文章介绍过Seagate的LDPC,其中提到了动态ECC的部分,说的是在SSD不同的生命阶段,采用不同的ECC长度。

这两天看到了一份MicroSemi的资料,也提到了动态ECC的部分,可以分享一下。

首先,MicroSemi给出一张图说明自己的观点:

  1. 相同的PE Cycle,不同的Page之间,RBER最多可能相差20倍
  2. 不同的Page,在整个生命周期内,RBER最多可能相差2000倍

这样会带来一个问题:

  • 如果Parity Data占用比较多bit,User Data可用空间就小,WA就大
  • 如果Parity Data占用比较少bit,有些page就会出现Uncorrectable Error

所以,主控要能够提供多种ECC长度供固件选择为好,MicroSemi给了三种:

  1. Puncturing (裁剪)
  2. Shortening (瘦身)
  3. Custom Code Rates (定制)

Puncturing是对Parity Data动刀:

写: 原本User Data需要10 bit Parity,砍掉2bit,再写入NAND

读:从NAND读出数据,将8 bit Parity补上2 bit (null)再Decode

Shortening是对User Data动刀:

Parity长度不变,但是User Data长度变化,变相调节了单位User data对应Parity的位数;

Custom code rate就是量身定做了,固定的User Data长度,Parity你想用多少位就用多少位;

从MicroSemi放出的结果来看:

采用定制的Code能够比前两种方式最多提高30%的解码性能以及减少20%的解码迭代次数。


我有两个疑问:

  1. 主控提供了这样的机制,固件应该根据什么信息决定每一笔数据写入时的ECC长度?是不是在FTL映射出PBA时,还需要读出该地址上次读取数据时的RBER?
  2. 大家都搞动态ECC,这东西能申请专利不?如果可以,是不是A就可以告B然后坐等收钱了?c

 

原文:LDPC Code Rate Adaptation Methods for NAND Flash on FMS 2016

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

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