ARM仿真器-foxICE 设为首页   |   加入收藏夹   |   网站地图         
  站内搜索:
 
http://www.foxice.net
最新下载_foxICE
ARM7TDMI R3内核
ARM7EJS内核
ARM946E-S内核
ARM966E-S内核
ARM9TDMI内核
ARM940T内核
ARM指令集速查卡
ARM925T内核(TI925T)

更多 >> 

 技术专栏RSS订阅

   首页>技术专栏>Nandflash专栏>NAND闪存深入解析

NAND闪存深入解析

作者 : Jim Cooke 1  2  3 4     下载pdf版

多层单元

多层单元 (MLC) 的每一个单元存储两位,而传统的 SLC 仅仅能存储一位。 MLC 技术有显著的密度优越性,然而,与 SLC 相比 ( 表 3) ,其速度或可靠性稍逊。因此, SLC 被用于大多数媒体卡和无线应用,而 MLC 器件通常被用于消费电子和其它低成本产品。


如上所述, NAND 需要 ECC 以确保数据完整性。 NAND 闪存的每一个页面上都包括额外的存储空间,它就是 64 个字节的空闲区 ( 每 512 字节的扇区有 16 字节 ) 。该区能存储 ECC 代码及其它像磨损评级或逻辑到物理块映射之类的信息。 ECC 能在硬件或软件中执行,但是,硬件执行有明显的性能优势。在编程操作期间, ECC 单元根据扇区中存储的数据来计算误码校正代码。数据区的 ECC 代码然后被分别写入到各自的空闲区。当数据被读出时, ECC 代码也被读出;运用反操作可以核查读出的数据是否正确。

有可能采用 ECC 算法来校正数据错误。能校正的错误的数量取决于所用算法的校正强度。在硬件或软件中包含 ECC ,就提供了强大的系统级解决方案。最简单的硬件实现方案是采用简单的汉明 (Simple Hamming) 码,但是,只能校正单一位错误。瑞德索罗门 (Reed-Solomon) 码提供更为强大的纠错,并被目前的控制器广为采用。此外, BCH 码由于比瑞德索罗门方法的效率高,应用也日益普及。

要用软件执行 NAND 闪存的区块管理。该软件负责磨损评级或逻辑到物理映射。该软件还提供 ECC 码,如果处理器不包含 ECC 硬件的话。

编程或擦除操作之后,重要的是读状态寄存器,因为它确认是否成功地完成了编程或擦除操作。如果操作失败,要把该区块标记为损坏且不能再使用。以前已编写进去的数据要从损坏的区块中搬出,转移到新的 ( 好的 ) 存储块之中。 2Gb NAND 的规范规定,它可以最多有 40 个坏的区块,这个数字在器件的生命周期 ( 额定寿命为 10 万次编程 / 擦除周期 ) 内都适用。一些有坏块的 NAND 器件能够出厂,主要就归根于其裸片面积大。管理器件的软件负责映射坏块并由好的存储块取而代之。

利用工厂对这些区块的标记,软件通过扫描块可以确定区块的好坏。坏块标记被固定在空闲区的第一个位置 ( 列地址 2048) 。如果在 0 或 1 页的列地址 2048 上的数据是 “non-FF” ,那么,该块要标记为坏,并映射出系统。初始化软件仅仅需要扫描所有区块确定以确定哪个为坏,然后建一个坏块表供将来参考。

小心不要擦除坏块标记,这一点很重要。工厂在宽温和宽电压范围内测试了 NAND ;一些由工厂标记为坏的区块可能在一定的温度或电压条件下仍然能工作,但是,将来可能会失效。如果坏块信息被擦除,就无法再恢复。

1  2  3 4

立即下载:
点击下载
相关文档
U-Boot在44B0X开发板上的移植以及代码分析
U-boot移植日记(s3c44b0)
S3C44B0\U-Boot的启动流程及移植
U-Boot在S3C2410上的移植
uboot在ARM s3c2410上移植过程
VxWorks 的bootrom 到u-boot 的移植心得
嵌入式系统中U-Boot基本特点及其移植方法
uboot移植到S3C44B0X开发板的经历
下载说明:
  1. 未经本站明确许可,任何网站不得非法盗链及抄袭本站资源!
 

首页 | 产品介绍 | 技术支持 | 下载中心 | 技术专栏 | 关于我们 | 联系我们
电话:86-755-82798083   82796301   传真:86-755-82799007    Email:sales@foxice.net   sales6@foxice.net
在线咨询:QQ:346466907   MSN:sales6@foxice.net   ini3000@msn.com

© 2006 Foxice.net 版权所有