关于NAND的ECC
2011-6-3
最近让micron推荐TI AM3517平台的NAND,厂家让确认平台是否支持NAND 4bit ecc,
于是对NAND的ecc进行简单了解
参考http://processors.wiki.ti.com/index.php/Raw_NAND_ECC
TI的3517及其他的存储器控制器GPMC只支持ECC探测,并且随着NAND厂家的生产工艺的改进,对ECC提升到了4bit甚至更高要求
TI OMAP支持的ECC见下表
ECC是加附在原始数据上的冗余数据,错误发生时,可以使用该冗余数据恢复原始数据,能够纠错的位数取决于具体的算法
通常SLC NANDs需要比较少的ECC,1/4bits per 512 bytes
MLC NANDs, 4/8/16bits per 512 bytes,前面提到的工艺改进,应该就是从SLC改进到MLC
TI使用的ECC方式
如果在4bit ECC的平台上使用8bit ECC的NAND,当探测到4bit以上错误后,导致不能纠错,产生严重后果,比如系统引导失败
针对上表,3517及其它在硬件上支持1/4/8bit探测,不支持4/8bit纠错,可以使用软件实现4/8bit纠错,对于NAND引导问题,很多厂家对其4/8bit ecc NAND产品的第一块(通常存放引导代码),增加了一定次数内,比如1000次,保证1bit ecc功能
针对平台特性,新的设计,简单起见推荐使用eMMC/eSD NAND,
已有的设计:
1. 使用1bit ECC NAND
2. 1bit ECC(first block),其余4bit ecc 的NAND,
引导时,ROM Code使用1bit ECC引导NAND,进入XLOADER后(TI的平台包括XLOADER和UBOOT,XLOADER是第一阶段的简单boot,用户是可以修改的),在XLOADER中,禁止平台的1bit ecc,开启NAND的硬件ECC
平台支持MMC4.2和SD 2.1存储标准,目前平台已经验证了
Sandisk – SDIN2C2,Samsung – KMAFN0000M-S998
其它引导方式(只针对AM35x),NOR和SPI
END
文章评论(0条评论)
登录后参与讨论