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特性说明的更多相关文章

  1. NAND FLASH的容量、特性、市场和应用

    NAND Flash的容量   一直到2006年,MLC芯片的容量每年都成倍数增长:由于NAND Flash的制程升级的挑战越来越大,所以NAND Flash之后的容量成倍增长所需要的时间也在不断增加 ...

  2. 痞子衡嵌入式:串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP. 在嵌入式世界里,当我们提起XiP设备(支持代码原地 ...

  3. u-boot移植总结(三)(转)S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)

    S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A) 转载自:http://www.cnblogs.com/idle_man/archive/2010/12/23/19153 ...

  4. WinCE NAND flash - FAL

    http://blog.csdn.net/renpine/article/details/4572347 http://msdn.microsoft.com/en-US/library/ee48203 ...

  5. STM32学习笔记——FSMC 驱动大容量NAND FLASH [复制链接]

    本文原创于观海听涛,原作者版权所有,转载请注明出处. 近几天开发项目需要用到STM32驱动NAND FLASH,但由于开发板例程以及固件库是用于小页(512B),我要用到的FLASH为1G bit的大 ...

  6. NAND FLASH 原理

    NAND FLASH 原理 http://www.360doc.com/content/12/0522/21/21412_212888167.shtml 闪存保存数据的原理: 与DRAM以电容作为存储 ...

  7. 块设备驱动之NAND FLASH驱动程序

    转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25240909 一.框架总结 watermark/2/text/aHR0cDov ...

  8. 怎么看时序图--nand flash的读操作详解(转载)

    出处:http://blog.chinaunix.net/uid-28852942-id-3992727.html这篇文章不是介绍 nand flash的物理结构和关于nand flash的一些基本知 ...

  9. NOR flash和NAND flash区别,RAM 和ROM区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

随机推荐

  1. JVM结构、GC工作机制详解(转)

    原文地址:http://blog.csdn.NET/tonytfjing/article/details/44278233 JVM结构.内存分配.垃圾回收算法.垃圾收集器.下面我们一一来看. 一.JV ...

  2. DooDigestAuth php(后台)授权管理类 web浏览器授权

    <?php /** * DooDigestAuth class file. * * @author Leng Sheng Hong <darkredz@gmail.com> * @l ...

  3. Linux学习之scp命令

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响一下速度.当你服务器 ...

  4. mysql学习笔记--第1天

    1.像网页上的账户.图片.文章都是存在数据库里面2.Oracle .DB2 .SQL server等等多钟数据库 PHP中选择使用mysql PHP+mysql黄金搭档 PHP和mysql都是开源的, ...

  5. jQuery treeview的简单用法

    最近的项目要用到treeview插件,刚好就自己整理一下这方面的资料. 1.文档树示例 最简单的一个例子就是文档树的实现.效果如下图所示. 在使用treeview之前,html文档中需要包含几个jqu ...

  6. Grunt之学习历程(转自网上资源-整理自用)

    认识Grunt Grunt中文文档 安装Node环境 CNode 配置Grunt Grunt中文文档-配置任务 什么是package.json package.json中文文档 关于Grunt资料 应 ...

  7. 第6章 堆排序,d叉堆,优先队列

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define leftChild(i) (2*(i ...

  8. ArcEngine栅格和矢量渲染(含可视化颜色带)

    使用ArcEngine9.3开发的栅格和矢量的渲染. 开发环境:ArcEngine9.3,VS2008. 功能:栅格(拉伸和分级)和矢量(简单.唯一值.分级.比例)渲染. 开发界面如图所示. 图1 主 ...

  9. 26个jQuery使用小技巧(25)

     下面列出了一些Jquery使用技巧.比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元 ...

  10. java积累

    数组的使用 package javaDemo; import java.util.*; /** * * @author Administrator * @version 1.0 * * */ publ ...