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通常都是 ...
随机推荐
- Maximum & Minimum Depth of Binary Tree
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- Thinkphp的页面判断
目前在做的系统中,涉及到了前端页面的判断,比如性别在数据库中存储为0或1,而页面显示应该为“男”或“女”,这里就需要用到页面判断. 比如, <volist name="st" ...
- Windows2008RT搭建VPN服务器
总结一下2008系统搭建VPN的步骤和过程,自己有个人网站和服务要通过互联网发布出来.服务器放在自己家里,宽带是民用的.也就产生了服务发布的一些问题.用无法映射出真实的公网IP,或是一些其他内部的问题 ...
- AutoIt 函数学习之----WinWaitActive
WinWaitActive函数 暂停脚本的执行直至指定窗口被激活(成为活动状态)为止. WinWaitActive ( "窗口标题"[, "窗口文本"[, 超时 ...
- Oracle单个数据文件超过32G后扩容
Oracle单个数据文件超过32G后扩容 表空间数据文件容量与DB_BLOCK_SIZE的设置有关,而这个参数在创建数据库实例的时候就已经指定.DB_BLOCK_SIZE参数可以设置为4K.8K. ...
- Oracle EBS-SQL (GL-4):从接收追溯到接收事务
SELECT row_id, creation_date, created_by, last_update_date, last_updated_by,last_update_login, note_ ...
- IE6兼容性问题及IE6常见bug详细汇总---转载
1.IE6怪异解析之padding与border算入宽高 原因:未加文档声明造成非盒模型解析 解决方法:加入文档声明<!doctype html> 2.IE6在块元素.左右浮动.设定mar ...
- c#读取xml文件配置文件Winform及WebForm-Demo具体解释
我这里用Winform和WebForm两种为例说明怎样操作xml文档来作为配置文件进行读取操作. 1.新建一个类,命名为"SystemConfig.cs".代码例如以下: < ...
- 【G-BLASTN 1.0正式发布】
[G-BLASTN 1.0正式发布]G-BLASTN使用GPU来加速NCBI-BLAST里的BLASTN模块,单块GTX780比四核CPU平均快6倍. http://www.comp.hkbu.edu ...
- 达内TTS6.0课件oop_day05