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位结果,有下图所示:

nand ECC 算法记录的更多相关文章
- NAND Flash中常用的纠错方式(ECC算法)
Hanming,RS,BCH —— NAND Flash中常用的纠错方式 因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配 ...
- Nand ECC校验和纠错原理及2.6.27内核ECC代码分析
ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法.如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个 ...
- ECC算法整理纪要
初始ECC算法 1.用户A 密钥生成 (1):用随机数发生器产生随机数k∈[1,n-1]: (2):计算椭圆曲线点PA=[k]G,为公钥,k为用户A私钥: 2. 用户B加密算法及流程 设需要发送的消息 ...
- ECC 算法
一.简介 1)椭圆曲线密码学的初级读本 http://8btc.com/thread-1240-1-1.html 2)ECC加密算法入门介绍 http://www.pediy.com/kssd/ped ...
- 【图像配准】基于互信息的图像配准算法:MI、EMI、ECC算法
简单介绍: 基于互信息的图像配准算法以其较高的配准精度和广泛的适用性而成为图像配准领域研究的热点之中的一个.而基于互信息的医学图像配准方法被觉得是最好的配准方法之中的一个.基于此.本文将介绍简单的基于 ...
- sklearn简单实现机器学习算法记录
sklearn简单实现机器学习算法记录 需要引入最重要的库:Scikit-learn 一.KNN算法 from sklearn import datasets from sklearn.model_s ...
- 最小生成树之算法记录【prime算法+Kruskal算法】【模板】
首先说一下什么是树: 1.只含一个根节点 2.任意两个节点之间只能有一条或者没有线相连 3.任意两个节点之间都可以通过别的节点间接相连 4.除了根节点没一个节点都只有唯一的一个父节点 5.也有可能是空 ...
- Python 常用算法记录
一.递归 汉诺塔算法:把A柱的盘子,移动到C柱上,最少需要移动几次,大盘子只能在小盘子下面 1.当盘子的个数为n时,移动的次数应等于2^n – 1 2.描述盘子从A到C: (1)如果A只有一个圆盘,可 ...
- C# 排序算法记录
class Program { static void Main(string[] args) { , , , , , , , , -, , , }; //假设一个最小的值 ]; ; i < a ...
随机推荐
- 【ML】求解线性回归方程(Linear Regression)
参考资料:openclassroom 线性回归(Linear Regression) 为了拟合10岁以下儿童年龄(x1)与身高(y)之间的关系,我们假设一个关于x的函数h(x): h(x) = Θ0+ ...
- 学习WCF笔记之二
一.学习文章http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html 二.步骤 学习WFC,按照大神的文章一步步学习,不过 ...
- OGG_GoldenGate复杂参数定义(案例)
2014-03-10 Created By BaoXinjian
- POJ 3254 简单状压DP
没什么可说的,入门级状压DP.直接撸掉 #include <iostream> #include <cstring> #include <cstdlib> #inc ...
- mysql 一对多 group查询
场景:查询所有A表的数据,并且关联B表,再数据集中插入一个COUNT列.该列的数据是B表的COUNT 扩展:假设join的表数据为空,但我任然要把所有表A的数据取出来,那就用LEFT JOIN SEL ...
- python标准库介绍——14 gc 模块详解
==gc 模块== (可选, 2.0 及以后版本) ``gc`` 模块提供了到内建循环垃圾收集器的接口. Python 使用引用记数来跟踪什么时候销毁一个对象; 一个对象的最后一个引用一旦消失, 这个 ...
- mysql 怎么给一个表一次增加多个字段, mysql 添加 多个 字段
sql 语句: ALTER TABLE oversea_liveauctioneers_detail_info_2018 ADD `result` LONGTEXT, ADD `buyer_premi ...
- mysql update常见实例
在MySQL中使用update语句的时候,Where条件或者值都可以使用子查询,比如: ) ); 但是如果子查询和更新的表是同一个表的话,MySQL会报如下的错误:中涉及到的子查询要格外注意 Erro ...
- Android开发6——布局中的wrap_content和fill_parent以及match_parent
一.言简意赅 fill_parent 是让控件宽或者高占全屏 wrap_content是让控件的高或宽仅仅把控件里的内容包裹住而不是全屏 二.分别来看 1 fill_parent 设置一个构件的布局 ...
- Solr4:查询参数fq的用法(对结果进行过滤;两组关键词组合查询)
Solr查询参数文档可以参考: http://wiki.apache.org/solr/CommonQueryParameters#head-6522ef80f22d0e50d2f12ec487758 ...