关于Nand ECC 错误

Nand flash ECC数据错误怎么办?

我编译过kernel
当时选了ECC校验
启动以后报错
去掉了,就不报错了
所以我会先考虑是不是这个问题
一般来说,硬件ECC校验出错可能性比较小吧?

 

我啥也不懂

-----摘自网络经典文章:“LINUX系统移植“
我们的内核都是通过UBOOT写到Nand Flash的, UBOOT通过的软件ECC算法产生ECC校验码, 这与内核校验的ECC码不一样, 内核中的ECC码是由S3C2410中Nand Flash控制器产生的. 所以, 我们在这里选择禁止内核ECC校验.
修改drivers/mtd/nand/s3c2410.c 文件:
[arm@localhost linux2.6.14]$
vi drivers/mtd/nand/s3c2410.c
找到s3c2410_nand_init_chip()函数,在该函数体最后加上一条语句:
chip->eccmode = NAND_ECC_NONE;
保存,退出。

 

 

ECC很重要,SPARE区域在NAND FLASH架构定义之初就是主要用来存放ECC编码的,因为NAND FLASH数据出错概率高需要加ECC进行校验

1.一个页读/写失败了,那么是否要将其所在块标识成坏块?
一般应用NAND FLASH时都会同时使用ECC纠错,无论是硬件纠错还是软件实现。在有ECC的情况下如果写入一个Page失败是可以将其读出以判断出现的错误是否可以被ECC校验纠正。若可以被ECC纠正则可以考虑仍将该页所在块视为有效块。若是出现页写入错误就将该块表为坏块,软件在实现上会更容易。根据具体需要可以选择不同的处理

2. ecc是做什么的?ecc校验失败是否可以确定该块已经变成了坏块呢?ecc校验是否可以关闭?
ECC代表Error Correction Code及纠错码,是NAND FLASH应用的关键。因为NAND FLASH的数据可靠性问题一般使用NAND FLASH都需要对其数据进行ECC校验。一般的用法是在写入NAND FLASH时在主数据区内写入正常数据,而住数据区数据的ECC校验码则写入Spare区。将住数据区数据读出时Spare区的ECC码也必须一起读出以便进行ECC校验及纠错。基本上若是读出数据后发现ECC校验失败则当前块必须被标记为坏块。软件实现的ECC校验算法一般都可以关闭,有硬件直接实现的ECC校验模块则需要看硬件是否支持关闭ECC。一般都可以关闭。

3. 是否只有当擦除一个块失败之后,才可以把该块视为坏块?
如前所述,仍然是软件策略选择问题。若是擦除失败,仍可尝试写入数据并读出看ECC能否纠错,若是可被ECC纠正,则可以将该块视为有效块。因为块擦除失败有相当概率是因为块内一两位无法被擦除造成,一般使用的硬件ECC纠错都可纠至少两位以上错误,纠错4-8位也不少见。在擦除失败之后直接将其标为坏块可以作为最简单的软件处理方法。

以上内容摘自网络

-------------------------------------------------

"mount_devfs_fs(): unable to mount devfs, err: -2"一个困扰了我很久的问题,主要是ecc的问题。在此我把我的理解说一下好了:
    搞清楚你在driver/mtd/nand/s3c2410.c文件中有没有把NAND_ECC_SOFT改成NAND_ECC_NONE,这个网上不少的人都会做(听说会与yaffs文件系统有冲突,但我发现反而和cramfs文件系统有冲突)。这个地方我那时候没有交代清楚,不好意思^_^
    假设你把NAND_ECC_SOFT改成NAND_ECC_NONE,那[*]     Lets Yaffs do its own ECC 这一步是必需的。
    最后,如果你把NAND_ECC_SOFT改成NAND_ECC_NONE的话,那你下载yaffs文件系统的时候就不应该加上-e的参数了。
    这个东西我可是经历了无数次的"mount_devfs_fs(): unable to mount devfs, err: -2"才悟出来的,本来想不讲出来的,但实在太多人问这个问题了,实在不忍^_^
    最后给点建议:先让内核挂载cramfs试试看(记得把NAND_ECC_SOFT改成NAND_ECC_NONE哦),因为这个文件系统只要用下载内核的命令下载就行,成功挂载cramfs的话将会是你最大的鼓舞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

低功耗设计——功耗估算

根据在功耗分析的过程中是否有输入向量的提供,功耗估算方法可以分为仿真的方法(Simulative)和非仿真的方法(Non-simulative): 仿真的方法是根据用户所提供的大量输入向量来对电路进行模拟,利用…

uboot 与系统内核中 MTD分区的关系

分类: Nand 驱动 2011-11-06 23:48 705人阅读 评论(2) 收藏 举报 uboot 与系统内核中 MTD分区的关系: 分区只是内核的概念,就是说A~B地址放内核,C~D地址放文件系统,等等。 1:在内核…

Deep Learning(深度学习)学习笔记整理系列三

Deep Learning(深度学习)学习笔记整理系列 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。 2)本文仅供学术交流&…

辗转相除法 求最大公约数和最小公倍数

# include<stdio.h> int main() { int a,b,c,x,y; printf("请输入两个正整数&#xff0c;用逗号间隔&#xff1a;"); scanf("%d,%d",&a,&b); xa; yb; if (a<b) { ca; ab;      //要保证 a>b bc; } while (b!0) { ca; ab; bc%b; …

Conformal ECO 流程介绍

之前听说过一句话&#xff0c;没有修过ECO的人生是不完整的。最近就给我整得再次完整了。。。。。。 最近赶项目&#xff0c;RTL freeze之后&#xff0c;后仿发现出了bug&#xff08;还好拦下来了&#xff0c;不然头更大&#xff09;&#xff0c;于是做了一次function ECO&…

最新天猫面试题(含总结):线程池+并发编程+分布式设计+中间件

最新天猫面试题&#xff08;含总结&#xff09;&#xff1a;线程池并发编程分布式设计中间件https://my.oschina.net/u/3892...

关于NAND flash的MTD分区与uboot中分区的理解 .

今天做内核移植&#xff0c;准备添加NAND flash的驱动&#xff0c;做到MTD分区时&#xff0c;想起在一本书上看到的一句话&#xff0c;说的是分区时每个区之间没有间隙&#xff0c;前一个区的结束地址是后一个区的起始地址。可是当我看我的开发板的教程时&#xff0c;分区如下&…

Zabbix discoverer processes more than 75% busy

原文发表于cu&#xff1a;2016-06-22 Zabbix discoverer processes more than 75% busy原因及处理。 一&#xff0e;现象 配置了discovery任务后&#xff0c;zabbix dashboard 告警如下&#xff1a; Zabbix discoverer processes more than 75% busy 二&#xff0e;原因 1. 配置…

Begin()

好&#xff0c;要开始在新的博客里写东西了&#xff0c;上一个博客的账号和密码都忘了... 我开通博客的申请里写&#xff0c;我博文的内容会以机器学习和控制算法的学习笔记为主。 那我写的估计是假的申请。 好吧&#xff0c;既然是这样写申请的一定程度上也是要兑现承诺的&…

图像紫边消除(depurple)

图像紫边广泛存在于目前的手机摄像头、数码相机、监控摄像头等数字成像系统所得图像中,当我们使用这些设备在逆光、大光圈等条件下拍摄时,所得图像的局部区域,特别是高反差区域(亮暗对比反差很大的图像区域,比如天空、灯管与物体相接的边缘)会比较容易观察到紫边,解决图…

Swift 性能相关

起初的疑问源自于「在 Swift 中的, Struct:Protocol 比 抽象类 好在哪里&#xff1f;」。但是找来找去都是 Swift 性能相关的东西。整理了点笔记&#xff0c;供大家可以参考一下。 一些疑问 在正题开始之前&#xff0c;不知道你是否有如下的疑问&#xff1a; 为什么说 Swift 相…

linux_NandFlash_driver_超详细分析 .

分类&#xff1a; Linux 驱动 Nand 驱动 2011-11-06 23:16 474人阅读 评论(0) 收藏 举报 今天学习了NandFlash的驱动&#xff0c;硬件操作非常简单&#xff0c;就是这个linux下的驱动比较复杂&#xff0c;主要还是MTD层的问题&#xff0c;用了一下午时间整理出来一份详细的分析…

HTTPS 路径配置

1: 首先安装 fiddlercertmaker.exe 文件2:Tools -> HTTPS 3: Connections 勾中Allow remote computer to connect转载于:https://www.cnblogs.com/eason-d/p/7492177.html

CMOS图像传感器——相位对焦

之前介绍了许多自动对焦的方案 自动对焦方法学习_沧海一升的博客-CSDN博客自动对焦的各类方法学习介绍https://blog.csdn.net/qq_21842097/article/details/121373263 在里面提到了遮蔽像素相位检测法,原理上算是相位检测法(Phase Detection Auto Focus,PDAF)的一种。…

51nod 1343 行列式的根

这题分块搞一搞&#xff0c;算到最后发现结果就是算矩阵J的行列式&#xff0c;要取模m&#xff0c;那个sign消掉了。 参考文献在这&#xff0c;欧几里德算法的应用&#xff0c;金斌 代码还是比较好写的&#xff0c;python代码 n,mmap(int,raw_input().split()) a[] for i in ra…

Spring Cloud Config 和Spring Cloud Bus实现配置中心

2019独角兽企业重金招聘Python工程师标准>>> Spring Cloud是很多组件的集合&#xff0c;Spring将常用的技术框架进行包装和整合&#xff0c;如mybatis zookeeper rabbitmq redis等等&#xff0c;还有一些科技公司贡献出来的一些经过生产环境验证的组件如奈飞公司贡献…

ARM Linux启动过程分析

1. 引 言 Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds在1991 年开发出来的&#xff0c;之后在 GNU的支持下&#xff0c;Linux 获得了巨大的发展。虽然 Linux 在桌面 PC 机上的普及程度远不及微软的 Windows 操作系统&#xff0c;但它的发展速度之快、用户数量的日益…

你有没有靠谱的基因?一个人靠不靠谱,其实就看这三点:“凡事有交代,件件有着落,事事有回音。”...

你有没有靠谱的基因&#xff1f;一个人靠不靠谱&#xff0c;其实就看这三点&#xff1a;“凡事有交代&#xff0c;件件有着落&#xff0c;事事有回音。” 故事一、做了就忘了&#xff1f; 一天上班后&#xff0c;我让小王给上级部门送一个材料。 一个小时过去了&#xff0c;没…

CMOS图像传感器——闪烁(flicker)现象

一、概述 闪烁(Flicker),通常发生在室内场景,曝光时间设置如果不是光源能量周期的整数倍,则图像不同位置处积累的信号强度不同,并呈周期性变化,这是单帧图像的情况。在视频序列上,如果满足一定条件,视频会出现条纹模式在垂直方向上缓慢移动。 二、形成原因 1、光源 …

一条命令教你安装centos下面的pip服务

yum install -y python-pip转载于:https://blog.51cto.com/12131824/2177874