ImageVerifierCode 换一换
格式:DOC , 页数:72 ,大小:847KB ,
资源ID:3552223      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3552223.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NAND_FLASH_内存详解与读写寻址方式.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

NAND_FLASH_内存详解与读写寻址方式.doc

1、第一章 绪论 7-151.1 课题来源 7-81.2 研究背景与意义 8-141.2.1 Flash 介绍 81.2.2 NAND Flash 介绍 8-101.2.3 NAND Flash 与 NOR Flash 比较 10-131.2.4 研究目的 13-141.3 论文章节安排 14-15第二章 NAND Flash 结构与原理 15-312.1 NAND Flash 种类 15-172.1.1 SLC 152.1.2 MLC 15-172.2 NAND Flash 结构 17-292.2.1 NAND Flash 结构 17-222.2.2 NAND Flash 的主要流程 22-29

2、2.2.2.1 读操作 22-232.2.2.2 页编程操作 23-252.2.2.3 块擦除操作 25-262.2.2.4 COPY-BACK 编程 26-272.2.2.5 Two Plane 相关操作 27-292.3 小结 29-31第三章 NAND Flash 动态坏块管理算法 31-613.1 NAND Flash 坏块管理 31-333.1.1 坏块管理概念的提出 31-323.1.2 坏块管理的一般方法 32-333.2 NAND Flash 动态坏块管理算法研究与实现 33-563.2.1 NAND Flash 动态坏块管理设计思想 33-353.2.2 动态坏块管理算法步骤

3、流程及具体函数实现 35-553.2.3 动态坏块管理算法与一般坏块管理算法比较总结 55-563.3 损耗平衡 56-583.3.1 损耗平衡原理和使用意义 56-573.3.2 损耗平衡算法 57-583.4 垃圾回收机制 58-61NAND FLASH 内存详解与读写寻址方式一、内存详解 NAND 闪存阵列分为一系列 128kB 的区块(block),这些区块是 NAND 器件中最小的可擦除实体。擦除一个区块就是把所有的位(bit)设置为“1“(而所有字节(byte)设置为 FFh)。有必要通过编程,将已擦除 的位从“1“变为“0“。最小的编程实体是字节(byte)。一些 NOR 闪存能

4、同时执行读写操作(见下图 1)。虽然NAND 不能同时执行读写操作,它可以 采用称为“映射(shadowing)“的方法,在系统级实现这一点。这种方法在个人电脑上已经沿用多年,即将 BIOS 从速率较低的 ROM 加载到速率较高 的 RAM 上。NAND 的效率较高,是因为 NAND 串中没有金属触点。NAND 闪存单元的大小比NOR 要小(4F2:10F2)的原因,是 NOR 的每一个单元都需 要独立的金属触点。NAND 与硬盘驱动器类似,基于扇区(页),适合于存储连续的数据,如图片、音频或个人电脑数据。虽然通过把数据映射到 RAM 上,能在 系统级实现随机存取,但是,这样做需要额外的 RA

5、M 存储空间。此外,跟硬盘一样,NAND 器件存在坏的扇区,需要纠错码(ECC)来维持数据的完整性。存储单元面积越小,裸片的面积也就越小。在这种情况下,NAND 就能够为当今的低成本消费市场提供存储容量更大的闪存产品。NAND 闪存用于几乎所 有可擦除的存储卡。NAND 的复用接口为所有最新的器件和密度都提供了一种相似的引脚输出。这种引脚输出使得设计工程师无须改变电路板的硬件设计,就能从 更小的密度移植到更大密度的设计上。NAND 与 NOR 闪存比较 NAND 闪存的优点在于写(编程)和擦除操作的速率快,而 NOR 的优点是具有随机存取和对字节执行写(编程)操作的能力(见下图图 2)。NOR

6、 的随 机存取能力支持直接代码执行(XiP),而这是嵌入式应用经常需要的一个功能。NAND 的缺点是随机存取的速率慢,NOR 的缺点是受到读和擦除速度慢的性 能制约。NAND 较适合于存储文件。如今,越来越多的处理器具备直接 NAND 接口,并能直接从NAND(没有 NOR)导入数据。NAND 的真正好处是编程速度快、擦除时间短。NAND 支持速率超过 5Mbps 的持续写操作,其区块擦除时间短至 2ms,而 NOR 是 750ms。显然,NAND 在某些方面具有绝对优势。然而,它不太适合于直接随机存取。对于 16 位的器件,NOR 闪存大约需要 41 个 I/O 引脚;相对而言,NAND 器

7、件仅需 24 个引脚。NAND 器件能够复用指令、地址和数据总线,从而 节省了引脚数量。复用接口的一项好处,就在于能够利用同样的硬件设计和电路板,支持较大的 NAND 器件。由于普通的 TSOP-1 封装已经沿用多年,该功能 让客户能够把较高密度的 NAND 器件移植到相同的电路板上。NAND 器件的另外一个好处显然是其封装选项:NAND 提供一种厚膜的 2Gb 裸片或能够支持最 多四颗堆叠裸片,容许在相同的 TSOP-1 封装中堆叠一个 8Gb 的器件。这就使得一种封装和接口能够在将来支持较高的密度。图 2 NOR 闪存的随机存取时间为 0.12ms,而 NAND 闪存的第一字节随机存取速度

8、要慢得多 NOR 闪存的随机存取时间为 0.12ms,而 NAND 闪存的第一字节随机存取速度要慢得多NAND 基本操作 以 2Gb NAND 器件为例,它由 2048 个区块组成,每个区块有 64 个页(见下图):每一个页均包含一个 2048 字节的数据区和 64 字节的空闲区,总共包含 2,112字节。空闲区通常被用于 ECC、耗损均衡(wear leveling)和其它软件开销功能,尽管它在物理上与其它页并没有区别。NAND 器件具有 8 或 16 位接口。通过 8或 16 位宽的双向数据总线,主数据被 连接到 NAND 存储器。在 16 位模式,指令和地址仅仅利用低 8 位,而高 8

9、位仅仅在数据传输周期使用。擦除区块所需时间约为 2ms。一旦数据被载入寄存器,对一个页的编程大约要300s。读一个页面需要大约 25s,其中涉及到存储阵列访问页,并将页载入 16,896 位寄存器中。除了 I/O 总线,NAND 接口由 6 个主要控制信号构成:1.芯片启动(Chip Enable, CE#):如果没有检测到 CE 信号,那么,NAND 器件就保持待机模式,不对任何控制信号作出响应。2.写使能(Write Enable, WE#): WE#负责将数据、地址或指令写入 NAND 之中。3.读使能(Read Enable, RE#): RE#允许输出数据缓冲器。4.指令锁存使能(C

10、ommand Latch Enable, CLE): 当 CLE 为高时,在 WE#信号的上升沿,指令被锁存到 NAND 指令寄存器中。5.地址锁存使能(Address Latch Enable, ALE):当 ALE 为高时,在 WE#信号的上升沿,地址被锁存到 NAND 地址寄存器中。6.就绪/忙(Ready/Busy, R/B#):如果 NAND 器件忙,R/B#信号将变低。该信号是漏极开路,需要采用上拉电阻。数据每次进/出 NAND 寄存器都是通过 16 位或 8 位接口。当进行编程操作的时候,待编程的数据进入数据寄存器,处于在 WE#信号的上升沿。在寄存器内随机存取或移动数据,要采用

11、专用指令以便于随机存取。数据寄存器输出数据的方式与利用 RE#信号的方式类似,负责输出现有的数据,并增加到下一个地址。WE#和 RE#时钟运行速度极快,达到 30ns 的水准。 当RE#或 CE#不为低的时候,输出缓冲器将为三态。这种 CE#和 RE#的组合使能输出缓冲器,容许 NAND 闪存与 NOR、SRAM 或 DRAM 等其它类型 存储器共享数据总线。该功能有时被称为“无需介意芯片启动(chip enable dont care)“。这种方案的初衷是适应较老的 NAND 器件,它们要求 CE#在整个周期为低(译注:根据上下文改写)。 图 4 输入寄存器接收到页编程 (80h)指令时,内

12、部就会全部重置为 1s,使得用户可以只输入他想以 0 位编程的数据字节 图 5 带有随机数据输入的编程指令。图中加亮的扇区显示,该指令只需要后面跟随着数据的 2 个字节的地址 所有 NAND 操作 开始时,都提供一个指令周期(表 1)。 当输出一串 WE#时钟时,通过在 I/O 位 7:0 上设置指令、驱动 CE#变低且 CLE变高,就可以实现一个指令周期。注意:在 WE#信号的上升沿上, 指令、地址或数据被锁存到 NAND 器件之中。如表 1 所示,大多数指令在第二个指令周期之后要占用若干地址周期。注意:复位或读状态指令例外,如果器件忙, 就不应该发送新的指令。以 2Gb NAND 器件的寻

13、址方案为例,第一和第二地址周期指定列地址,该列地址指定页内的起始字节表: 注意:因为最后一列的位置是 2112,该最后位置的地址就是 08h(在第二字节中)和3Fh(在第一字节中)。PA5:0 指定区块内的页地 址,BA16:6 指定区块的地址。虽然大多编程和读操作需要完整的 5 字节地址,在页内随机存取数据的操作仅仅用到第一和第二字节。块擦除操作仅仅需要三个 最高字节(第三、第四和第五字节)来选择区块。总体而言,NAND 的基本操作包括:复位(Reset, FFh)操作、读 ID(Read ID, 00h)操作、读状态(Read Status, 70h)操作、编程(Program)操作、随机

14、数据输入(Random data input, 85h)操作和读(Read)操作等。选择内置 NAND 接口的处理器或控制器的好处很多。如果没有这个选择,有可能在 NAND 和几乎任何处理器之间设计一个“无粘接逻辑(glueless)“ 接口。NAND和 NOR 闪存的主要区别是复用地址和数据总线。该总线被用于指定指令、地址或数据。CLE 信号指定指令周期,而 ALE 信号指定地址周期。利 用这两个控制信号,有可能选择指令、地址或数据周期。把 ALE 连接到处理器的第五地址位,而把 CLE 连接到处理器的第四地址位,就能简单地通过改变处理器 输出的地址,任意选择指令、地址或数据。这容许 CLE

15、 和 ALE 在合适的时间自动设置为低。为了提供指令,处理器在数据总线上输出想要的指令,并输出地址 0010h;为了输出任意数量的地址周期,处理器仅仅要依次在处理器地址 0020h 之 后输出想要的 NAND 地址。注意,许多处理器能在处理器的写信号周围指定若干时序参数,这对于建立合适的时序是至关重要的。利用该技术,你不必采用任何粘 接逻辑,就可以直接从处理器存取指令、地址和数据。多级单元多级单元(MLC)的每一个单元存储两位,而传统的 SLC 仅仅能存储一位。MLC 技术有显著的密度优越性,然而,与 SLC 相比(下表),其速度或可靠性稍逊。因此,SLC 被用于大多数媒体卡和无线应用,而 M

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

17、错误的数量取决于所用算法的校正强度。在硬件或软件中包含 ECC,就提供了强大的系统级解决方案。最 简单的硬件实现方案是采用简单的汉明(Simple Hamming)码,但是,只能校正单一位错误。瑞德索罗门(Reed-Solomon)码提供更为强大的纠错,并被目前的控制器广为采用。此外,BCH 码由于比瑞德索罗门方法的效率高,应用也日益普及。要用软件执行 NAND 闪存的区块管理。该软件负责磨损评级或逻辑到物理映射。该软件还提供 ECC 码,如果处理器不包含 ECC 硬件的话。编程或擦除操作之后,重要的是读状态寄存器,因为它确认是否成功地完成了编程或擦除操作。如果操作失败,要把该区块标记为损坏且

18、不能再使用。以前已 编写进去的数据要从损坏的区块中搬出,转移到新的(好的)存储块之中。2Gb NAND 的规范规定,它可以最多有 40 个坏的区块,这个数字在器件的生命周期(额定寿命为 10 万次编程/擦除周期)内都适用。一些有坏块的 NAND 器件能 够出厂,主要就归根于其裸片面积大。管理器件的软件负责映射坏块并由好的存储块取而代之。利用工厂对这些区块的标记,软件通过扫描块可以确定区块的好坏。坏块标记被固定在空闲区的第一个位置(列地址 2048)。如果在 0 或 1 页的列地址 2048上的数据是“non-FF“,那么,该块要标记为坏,并映射出系统。初始化软件仅仅需要扫描所有区块确定以确定哪个为坏,然后建一个坏块表供将来 参考。小心不要擦除坏块标记,这一点很重要。工厂在宽温和宽电压范围内测试了

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。