Nandflash中的ECC原理及实现
Nandflash中的ECC原理及实现ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法。如果操作时序和电路稳定性不存在问题的话,NAND
Nandflash中的ECC原理及实现 ECCError Checking and CorrectionNand 的全称是,是一种用于的差错检测和修正算法。如果操 NAND FlashBlockPage 作时序和电路稳定性不存在问题的话,出错的时候一般不会造成整个或是 Page512BytesbitECC 不能读取或是全部出错,而是整个(例如)中只有一个或几个出错。能纠正 1212 个比特错误和检测个比特错误,而且计算速度很快,但对比特以上的错误无法纠正,对比特 以上的错误不保证能检测。 ECC256 校验码生成算法:校验每次对字节的数据进行操作,包含列校验和行校验。对每个待校验 Bit0111 的位求异或,若结果为,则表明含有偶数个;若结果为,则表明含有奇数个。列校验规则 12562568Bit 如表所示。字节数据形成行、列的矩阵,矩阵每个元素表示一个位。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0> CP0 ~CP5 BitColumn Parity 其中为六个位,表示(列极性), CP00246CP11357 为第、、、列的极性,为第、、、列的极性, CP20145CP32367 为第、、、列的极性,为第、、、列的极性, CP40123CP54567 为第、、、列的极性,为第、、、列的极性。 CP0=Bit0^Bit2^Bit4^Bit6 0256Bit2256 用公式表示就是:,表示第列内部个位异或之后再跟第列 Bit46BitCP0256*4=1024Bit 个位异或,再跟第列、第列的每个位异或,这样,其实是个位异 CP1 ~CP5 或的结果。依此类推。 行校验如下图所示

