zoukankan      html  css  js  c++  java
  • nand ECC 算法记录

    nandflash ECC 原理记录。

    nand ECC 全称是Error Checking and correction.


    该算法分为列校验和行校验。

    • 列校验有下图所示:

        * 如上图所示, CP0 == 所有的 Bit0 ^ Bit2 ^ Bit4 ^ Bit6  
                       CP1 == 所有的 Bit1 ^ Bit3 ^ Bit5 ^ Bit7  
                       CP2 == 所有的 Bit0 ^ Bit1 ^ Bit4 ^ Bit5  
                       CP3 == 所有的 Bit2 ^ Bit3 ^ Bit6 ^ Bit7  
                       CP4 == 所有的 Bit0 ^ Bit1 ^ Bit2 ^ Bit3  
                       CP5 == 所有的 Bit4 ^ Bit5 ^ Bit6 ^ Bit7  
                         ---------> 每个列校验都是 1024 位异或的结果
                         ---------> 如果结果为1,说明有奇数个1位,结果如果为0,说明为偶数个1.
                         ---------> 列校验结果一共有上面6位
    

    * 行校验有下图所示:

        * 如上图所示,RP0 第0行以及每隔 1 行所有位的异或结果。
                      RP1 第1行以及每隔 1 行所有位的异或结果。
                      RP2,RP3 是间隔 2 行所有位的异或结果。
                      RP4,RP5 是间隔 4 行所有位的异或结果。
                      RP6,RP7 是间隔 8 行所有位的异或结果。
                      RP8,RP9 是间隔 16 行所有位的异或结果。
                      RP10,RP11 是间隔 32 行所有位的异或结果。
                      RP12,RP13 是间隔 64 行所有位的异或结果。
                      RP14,RP15 是间隔 128 行所有位的异或结果。
                    ----> 这些结果都是8 * 128 = 1024 位的异或结果。
                    ---->  如果结果为1,说明有奇数个1位,结果如果为0,说明为偶数个1.
                    ----> 行校验一共有16位。
    

    * 在nand 中常用3个字节去存储这22位结果,有下图所示:

  • 相关阅读:
    [NOIP2013]花匠
    [NOIP2013]货车运输
    [NOIP2013]火柴排队
    [NOIP2012]疫情控制
    雷动WEBRTC产品
    WebRTC学习笔记_Demo收集
    Red5的直播与点播的压力测试(并发数的测试)
    Apache Tomcat8必备知识
    Servlet3.0学习总结(一)——使用注解标注Servlet
    一张图讲清楚高可用、高性能、可扩展的WEB系统架构
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/6485497.html
Copyright © 2011-2022 走看看