NAND FLASH特性说明
1.NAND FLASH 的特殊性。
1)存在坏块。由于NAND生产工艺的原因,出厂芯片中会随机出现坏块。坏块在出厂时已经被初始化,并在特殊区域中标记为不可用,在使用过程中如果出现坏块,也需要进行标记。
2) 易出现位反转。NAND FLASH更易出现位反转的现象,如果位反转出现在关键文件上,会导致系统挂机。所以在使用NAND FLASH的同时,建议使用ECC/EDC算法确保可靠性。
3) 存在Spare Area。正因为NAND FLASH有着上面的两项特殊的地方,Spare Area就扮演作存放坏块标志,ECC值以及芯片信息和文件信息的作用。
4) 多维的空间结构。NAND FLASH一般由block、page、Main Area、Spare Area等结构组成。所以在有的文件系统中就衍生出各种分区信息和扇区信息等。
2.NAND FLASH 烧录的复杂性。
1)处理坏块。由于NAND存在坏块,导致地址空间不是连续的。所以正确的处理坏块是保证NAND FLASH烧录后能够正常运行的关键。从大的方面来说,处理坏块常用的最有效的主要为两种方法:a.跳过;b.保留替代。也有部分客户为了使用方便,并没有把坏块处理的概念引入,直接在坏块上写过,这种方法虽然简单,但容易产生很多不稳定的因素。
2)计算ECC。ECC/EDC算法具有查错,纠错的功能,并且在NAND FLASH使用的大多数环境,需要带有ECC算法的。目前广泛使用的为Samsung的汉明码(Hamming code),分为512Byte和256W两种。还有功能更为强大的4-bit ECC 和Computer ECC。由于ECC算法比较多,每个算法个体又具有比较强的可变性(位组织,分段计算等),而且在Spare Area存放的位置也不能统一,所以无法做成统一的算法。
3)启动代码区检查(Boot Check)。在启动区的代码要求存放在NAND FLASH对应块中是没有坏块的,一旦坏块出现,程序在NAND 中启动就会失败。用户可以定制启动代码检查并报错功能。
4)定位烧录。NAND FLASH在配合CPU一起运行的过程中,一些代码或者文件是需要从一个确定的地址读入运行的。所以在烧录过程中,烧录文件为多个,或者由多个文件合成的烧录档案,需要进行分区并且定位烧录,这种方式我们称之为分区模式(Partition),用户可以结合其ECC, Boot Check 等功能,向我们公司定制。
5)非标准坏块标志。一些客户为其系统的保密性,公司内部技术的兼容性,将坏块标志放在非标准的位置,或者使用非0xFF作为好块标志并带有其他意义(如只读)。如有这样的情况,请给予说明并定制算法。
6)其他烧录确认标志和文件的分区信息。
NAND FLASH特性说明的更多相关文章
- NAND FLASH的容量、特性、市场和应用
NAND Flash的容量 一直到2006年,MLC芯片的容量每年都成倍数增长:由于NAND Flash的制程升级的挑战越来越大,所以NAND Flash之后的容量成倍增长所需要的时间也在不断增加 ...
- 痞子衡嵌入式:串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP. 在嵌入式世界里,当我们提起XiP设备(支持代码原地 ...
- u-boot移植总结(三)(转)S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)
S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A) 转载自:http://www.cnblogs.com/idle_man/archive/2010/12/23/19153 ...
- WinCE NAND flash - FAL
http://blog.csdn.net/renpine/article/details/4572347 http://msdn.microsoft.com/en-US/library/ee48203 ...
- STM32学习笔记——FSMC 驱动大容量NAND FLASH [复制链接]
本文原创于观海听涛,原作者版权所有,转载请注明出处. 近几天开发项目需要用到STM32驱动NAND FLASH,但由于开发板例程以及固件库是用于小页(512B),我要用到的FLASH为1G bit的大 ...
- NAND FLASH 原理
NAND FLASH 原理 http://www.360doc.com/content/12/0522/21/21412_212888167.shtml 闪存保存数据的原理: 与DRAM以电容作为存储 ...
- 块设备驱动之NAND FLASH驱动程序
转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25240909 一.框架总结 watermark/2/text/aHR0cDov ...
- 怎么看时序图--nand flash的读操作详解(转载)
出处:http://blog.chinaunix.net/uid-28852942-id-3992727.html这篇文章不是介绍 nand flash的物理结构和关于nand flash的一些基本知 ...
- NOR flash和NAND flash区别,RAM 和ROM区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
随机推荐
- C-JAVA 论坛
http://www.cnblogs.com/lpjia/ JAVA黑马 http://java.itheima.com/java/service/javacourse.shtml
- 解决SVN:could not start external diff program的问题。
今天装完SVN之后,用来查看文件不同老是出现could not start external diff program,网上找了很多资料也没找到自己想要的,无意中中右键 Settings看到有个Dif ...
- hadoop笔记之MapReduce的应用案例(WordCount单词计数)
MapReduce的应用案例(WordCount单词计数) MapReduce的应用案例(WordCount单词计数) 1. WordCount单词计数 作用: 计算文件中出现每个单词的频数 输入结果 ...
- jQuery 源码分析和使用心得 - 文档遍历 ( traversing.js )
jQuery之所以这么好用, 首先一点就是$()方法和它强大的选择器. 其中选择器使用的是sizzle引擎, sizzle是jQuery的子项目, 提供高效的选择器查询. 有个好消息告诉大家, 就是s ...
- 环境配置与JBoss安装-EJB3.0入门经典学习笔记(1)
目录 1. JDK的安装 2. JBoss的安装 3. JBoss安装目录说明 1. JDK的安装 1) 下载JDK 下载地址:http://www.oracle.com/technetwork/ja ...
- substr(dirname(__FILE__))
这是discuz中定义论坛安装根目录的一个常量.现在我们就来分析一下这个很简单但是非常实用的常量. define('DISCUZ_ROOT', substr(dirname(__FILE__) ...
- eclipse同步远程服务器
eclipse里有一个强大的插件,可以直接在本地编辑远程服务器代码,Eclipse Remote System Explorer (RSE) 下载安装方法: 一.下载,高版本的eclipse可以直接下 ...
- c# 多显示器设置主屏幕(Set primary screen for multiple monitors)
原文 http://www.cnblogs.com/coolkiss/archive/2013/09/18/3328854.html 经过google加各种百度,终于找到了一个有效的解决方案,下面是两 ...
- bash代码
bash代码: #!/bin/bash MySQLSTARTUP="/data/3306/mysql" DbProcessCount=`ps -ef|grep mysql|grep ...
- poj1862---变形虫(贪心)
题意:两条虫之间碰在一起,质量变为2*sqrt(m1*m2) 求怎么结合,能使最后的一只虫质量最小 分析:如果让按从大到小的顺序依次结合,可以使大的数被开方的次数最多,得到的结果更小 4 3 2 1 ...