基于BCH算法的ECC在MLC Nand Flash中的实现[zz]

摘要:

 

       目前的Flash有nand和nor两种,我们可以认为flash是EEPROM的变种。intel在1988年开发出nor flash技术,彻底改变了EEPROM一统天下的局面。nand flash分为MLC和SLC两种,从前的SLC一般采用Hamming码来实现ECC,能够检测2bit错误,自动纠正1bit错误。但对于MLC虽说具有存储密度上的优势,但也掩饰不了自身的缺陷。

1、读写次数较差

      MLC读写效能更差,SLC闪存约可以反复读写10万次左右,而MLC则大约只能读写1万次左右,甚至有部分产品只能达到5000次左右。

2、读写速度较慢

      同条件下,MLC的读写速度要比SLC芯片慢,目前MLC芯片速度大约只有2M到3M左右。

3、能耗较高

     同条件下,MLC能耗比SLC高,要多15%左右的电流消耗。

4、出错几率更大

      由于MLC的每个cell可以存储2bit的数据,随着技术的不断进步,3bit、4bit、、都有可能。这样对于读写频繁的数码产品(MP4,SD卡等),其出错的几率将会更大,因此对主控芯片和ECC将要求更高。目前有的主控芯片通过纯软件校验,这样,无形当中加重了主控芯片的负担。也有部分主控通过硬件的4bit ECC校验和软件校验相结合,从而减轻了主控负担,但是这只是在一定程度上减少出错的几率,MLC的芯片写入次数限制和传输速度等缺点是无法克服的。

   综上所述,MLC需要多bit ECC,目前采用BCH和Reed Solomon算法的比较多,下面将详细介绍本人采用的基于BCH算法的8b ECC(针对每个page 512byte的nand flash)。

   纠错能力:8b/512byte

 

 

from: http://hi.baidu.com/rymonwang/blog/item/dca2ee8bb9339f17c8fc7ab8.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值