logo资料库

NANDFlash中文手册.pdf

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
NAND Flash 技术应用文档 NAND Flash 存储器 使用 ELNEC 编程器烧录 NAND Flash 和 技术应用文档 Summer 翻译整理 深圳市浦洛电子科技有限公司 August 2006 http://www.prosystems.com.cn 1
NAND Flash 技术应用文档 目录 一. 简介 ----------------------------------------------------------------------------------- 1 二. NAND Flash 与 NOR Flash 的区别 -------------------------------------------- 1 三. NAND Flash 存储器结构描叙 --------------------------------------------------- 4 四. 备用单元结构描叙 ---------------------------------------------------------------- 6 五. Skip Block method(跳过坏块方式) ------------------------------------------ 8 六. Reserved Block Area method(保留块区域方式)----------------------------- 9 七. Error Checking and Correction(错误检测和纠正)-------------------------- 10 八. 文件系统 ------------------------------------------------------------------------------10 九. 使用 ELNEC 系列编程器烧录 NAND Flash -------------------------------- 10 十. Invalid Block Management drop-down menu -------------------------------- 12 十一. User Area Settings3 -------------------------------------------------------- 13 十二. Solid Area Settings --------------------------------------------------------- 15 十三. Quick Program Check-box ---------------------------------------------- 16 十四. Reserved Block Area Options --------------------------------------------17 十五. Spare Area Usage drop-down menu ------------------------------------18 http://www.prosystems.com.cn 2
NAND Flash 技术应用文档 简介 NAND Flash 结构最早是在 1989 年由日本东芝公司引入。 如今, NAND Flash 和 NOR Flash 已经占据了 Flash 市场的支配地位。 NAND Flash 是一种高密度, 低功耗, 低成本, 而且可升级的器件, 它是多媒体产品导入市场的理想选择。先进的在系统内设计也使得为降 低成本, 在传统的设计应用上采用 NAND Flash 来替代 NOR Flash 成为可能。 NAND Flash 与 NOR Flash 的区别 下表是 NAND 与 NOR 的主要对比表。 它指出了为什么 NAND 存储器是高容量数据 存储的完美解决方案, 尽管 NOR 存储器也可被用来做数据存储和执行。 从物理结构上来说, 因为它不一定要下拉整个 bit-line, 所以 NAND Flash 结构可以使 用更小的晶体管。 一条 NAND bit line 就是一些连续的晶体管, 每一个晶体管只能流过少于 总量的电流。下图介绍了 NAND 和 NOR 结构内晶体管是怎样被连接在一起的, 以及他们 的单元大小有什么不同。 得益于 NAND Flash 这种更有效率的结构, 使得它每一单元的大小几乎是 NOR 单元 的一半。这也使得 NAND Flash 结构在给定的硬模内提供了更高的密度, 更高的容量, 同 样也使得它的生产制程更为简单。高容量存储应用中, NAND 结构相对于 NOR 结构来说更 为节省成本。正如上面说介绍的, NAND Flash 存储器是大容量数据存储的完美解决方案。(典 型应用: MP3 播放器, 数码相机) http://www.prosystems.com.cn 3
NAND Flash 技术应用文档 上面所描叙的工艺是众所周知的单极单元(SLC)工艺, 通过电压的 “H”或 “L”,一 个存储器单元保存 1bit 的信息。有时候多极单元(SLC)工艺也会被用到。 在这样的应用中, 每一个存储单元能保存 2bit 或更多 bit 的信息, 通过存储更多位。相对于基于 SLC 结构的 存储器, MLC 存储器传输的速度大大降低了,同时它也产生了更高的功耗。但是,其实这 两种工艺都采用相同的 I/O 接口和指令。 在 NOR Flash 中, 所有的存储区域都保证是完好的, 同时也拥有相同的耐久性。在硬 模中专门制成了一个相当容量的扩展存储单元 — 他们被用来修补存储阵列中那些坏的部 分, 这也是为了保证生产出来的产品全部拥有完好的存储区域。 为了增加产量和降低生产 成本, NAND Flash 器件中存在一些随机 bad block 。 为了防止数据存储到这些坏的单元 中, bad block 在 IC 烧录前必须先识别。 在一些出版物中, 有人称 bad block 为“bad block”, 也有人称 bad block 为“invalid block”。 其实他们拥有相同的含义, 指相同的东西。 从实际的应用上来说, NOR Flash 与 NAND Flash 主要的区别在于接口。 NOR Flash 拥有完整的存取-映射访问接口, 它拥有专门的地址线和数据线, 类似与 EPROM。 然而在 NAND Flash 中没有专门的地址线。它发送指令,地址和数据都通过 8/16 位宽的总线(I/O 接口) 到内部的寄存器。 NAND Flash 存储器结构描叙 NAND Flash 存储器由block (块) 构成, block 的基本单元是page (页)。 通常来说, 每 一个 block 由 16, 32 或 64 个 page 组成。 大多数的 NAND Flash 器件每一个 page (页)内包含 512 个字节(或称为 256 个字)的 Data area(数据存储区域)。 每一个 page 内包含有一个扩展 的 16 字节的 Spare area(备用区域)。 所以每一个 page 的大小为 512+16=528 字节。 我们 称这样的 page 为 small page。 那些大容量的(1Gbig 或更多)的 NAND Flash, 它每 page 的容量就更大, 每 page 内 Data http://www.prosystems.com.cn 4
NAND Flash 技术应用文档 area(数据存储区域)的大小为 2048 字节, Spare area(备用区域)大小为 64 字节。 NAND Flash 的读取和烧录以页为基础, 而 NOR 却是以字节或字为基础 — 数据 I/O 寄存 器匹配页的大小。 NAND Flash 的擦除操作是基于 block (块)的。 在 NAND Flash 上有三种 基本的操作:读取一个页, 烧录一个页和擦除一个块。 在一个页的读取操作中, 该页内 528 字节的数据首先被传输到数据寄存器中, 然后再 输出。 在一个页的烧录中, 该页内 528 字节的数据首先被写进数据寄存器, 然后再存储到 存储阵列中。 在一个块的擦除操作中, 一组连续的页在单独操作下被擦除。 通常来说, 器件还提供有更多的扩张功能, 它们是: 厂商 ID 读取 器件操作状态读取 复位命令 不考虑 CE 高速缓冲寄存器操作 OTP 区域 自动读取第 0 页 块 加锁/解锁 http://www.prosystems.com.cn 5
NAND Flash 技术应用文档 备用单元结构描叙 NAND Flash 厂商在生产制程中使用 Spare area(备用区域)来标识 bad block, 所以 这些器件被运送到客户手中时已经被标识。 从功能上来说, Spare area(备用区域)内所有 的字节都可以像 Data area(数据存储区域)内的字节一样被用户用来存储数据。 关于备用 字节的使用, 我们推荐使用三星的标准。 http://www.prosystems.com.cn 6
NAND Flash 技术应用文档 Bad block (Invalid block)的管理 自从 NAND 结构被设计用来作为低成本的多媒体存储器, 它的标准规范中是允许存 在 bad block 的。只要 bad block 的容量小于总容量的 2% 那就是允许的。 一个 block 中如 果有坏的存储区域, 那它就会被标识成 bad block 。 bad block 列表可以存储在一个芯片中 的一个好的 block 上, 也可以存储在同一系统的另外一颗芯片上。bad block 列表是被要求 的, 这是由于 NAND Flash 只能执行有限的读和擦除次数。由于所有的 Flash 存储器最终都 会被磨损而且不能再使用, 这个列表需要被用来跟踪记录那些在使用中发现的 bad block 。 允许 bad block 的存在有利于提高芯片的产量,同时也降低了成本。 因为每个 block 是独立 的, 而且是被 bit lines 隔离的, 所以 bad block 的存在并不会影响那些其他 block 的正常工 作。 Bad block 的一般分为两种: 生产过程中产生的; 使用过程中产生的。 当 block 被发 现是 bad block , 一般是在该块的前两个 page (页)的第 517 字节处用非 FF 来标识。一个通 用的 bad block map building 算法流程如下所示: 使用过程中产生的 bad block 是没有被工厂标识的, 这些块是在客户处产生的。 因为 NAND Flash 有一个使用寿命而且它最终会磨损。 每一个块是独立的单元, 每一个块都能被 擦除和烧录并且不受其它块寿命的影响。一个好的块一般能被烧录 100000 到 1000000 次。 如 果一个块在擦除一个块或烧录一个页时操作失败, 那么此块将被标识成 bad block 并且以 后不再访问。 如果你对 bad block 进行擦除, 那么非“FFh”字节也会被擦除。 如果发生了这样的 事情, 在没有对块进行测试的特定条件下, 对那些 bad block 进行重新标识是非常困难。 所 以如果存储 bad block 列表的 bad block table 丢失, 重新发现并标识那些 bad block 是相当困 难的。 因此, 在擦除 bad block 之前推荐先收集正确的 bad block 信息, 在器件擦除后, 那 http://www.prosystems.com.cn 7
NAND Flash 技术应用文档 些信息又会被重新标识上去。 在嵌入式系统中对 bad block 进行管理必须要求有特殊的软件层。 因此对 NAND Flash 进行烧录, 必须采用正确的方式进行 bad block 的管理, 该方法取决于嵌入式系统中 程序的管理方式。 对 bad block 的管理有很多种方式, 没有那一种方式被定义成标准方式。 例如: 一种通用的方式是跳过 bad block , 把数据写入那些已知的好块中 — 这种方法 被称为“Skip Block”。 另外一种通用的方式叫做“Reserved Block Area”, 这种方法用已 知好的 block (块)来替代 bad block, 这些已知好的 block (块)是预先保留设置的。 除此之外, 其他应用需求对每个页内的数据进行 ECC 计算。 当 bad block 产生时, ECC 校验被用来侦测 bad block 的出现并且做数据的修补。ECC 数据也会被写入备用区域。 这种目的的算法通常被称作 Error Correction/Error Detection(EC/ED) algorithms。 Skip Block method(跳过坏块方式) 这种方法通俗易懂。 这个算法开始之前先读取存储器内的所有备用区域。 那些被标 识成 bad block 的地址都被收集起来。 接下来, 数据被连续的写入目标 FLASH 器件。 当 目标地址与先前收集的 bad block 地址一致时, 跳过坏块, 数据被写到下一个好的块中。 然 后继续保留 bad block 中备用区域的标识信息。 所以在程序导入执行之前, 使用者的系统通 过读取 Spare area(备用区域)的信息能建立一个 bad block 的地址列表。 http://www.prosystems.com.cn 8
分享到:
收藏