下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式技术文 簸等:超大容矍NAND FLASH坏区管理方法的设计耳实现嵌入式技术文 簸等:超大容矍NAND FLASH坏区管理方法的设计耳实现嵌入式技术文 簸等:超大容矍NAND FLASH坏区管理方法的设计耳实现嵌入式技术文 簸等:超大容矍NAND FLASH坏区管理方法的设计耳实现超大容量NAND FLASH坏区管理方法的设计与实现丈燄,谢凯年(上海交通大学徽电子学院 上海200030)M 要:丧入父统中存传设备的#能是决定餐体系统技能的核心环节4L-.NAND FLASH具有余童大堆废快、成左低 #狼多伐.点在各畏入戈*统中广迈A用如何有敷地才NAND FLASH进行坏块管见才NAND
2、 FLASH的虫用尤为重矣. 分析了 NAND FLASH± FFS的功能站构才存住空间晋AL坏块罚收、極耗均衡筝拉制逊行了幅述总后给出了与Windows 丈件豪统尢仝娥8釣FLASH丈件系统有效地对大冬量NAND拣区进行诊理关闰:NAND FLASH»>FLASH丈件系统$掷絶均磚中BB分类号:TP333文献标识码:B文章编号:1004 - 373X(2007) 16-055 -03Design and Implementation of Bad Block Management for NAND FLASHWEN Yi.XIE Kainian(School of
3、Microcleetronio.SMnfluii Jmoton< University.Shanghai.200030.ChinaAbstract i The capacity of memory equipment in embedded system is one of the most imporunt in the whole capacity NAND FLASH has advantages of high speed and low cost. NAND FLASH is widely used in mbedded system. How to manage for ba
4、d block effectively is very important. The paper introduces the file system of NAND FLASH*and describes the Management for void*callback for bad block* wear leveling. A design and an implementation for FFS is described.Keywords: NAND FLASH ibad block managementiFLASH file systemi wear balance嵌入式技术文
5、簸等:超大容矍NAND FLASH坏区管理方法的设计耳实现1引育现在的FLASH memory主耍包括以下2大类:针对 程序和数据存储的NOR FLASH,针对大容嚴存储的 NAND FLASH.其中.NOR的特点为芯片内执行(XIP, eXecute In Place) 这样应用程序可以直接在FLASH闪存 内运行不必再把代码读到系统RAM中琦机读取快、功 耗低.稳定性高)而NAND的待点为快速載写高存储容 欣、回写速度快以及芯片面枳小等特点因此是高数据存 储幣度的理想解决方案NAND结构能提供极高的单元 密度可以达到高存储密度并且写入和擦除的速度彳艮快. 适合于纯数据存储和文件存储目前SA
6、MSUNG最近推 出的Nand FLASH巳经达到16 Gb.但NAND闪存定位 为一种低成本存储介质允许存在一定比例的坏块如何 有效地对大容量NAND进行坏块管理提高文件系统的 速度是本文研究的问0L2 SAMSUNG K9F1G0XX0A 介绍SAMSUNG在2004年 推出的1 Gb的NAND FLASH目前在各手持设备中广泛应用芯片内的1 Gb内 存是按块和页的概念来组织的】个芯片包括1 024个tt«B»!:2007-04-03 块,每块包含64个页每页内有264个Word(l个Word的 宽度是16 b.为2个字节)芯片内具有1个容債为264 Word的数据寄存
7、器称为页寄存器.用来在数据存取时 作为缓冲区当对芯片内的某一页进行读写时其数据首 选被转移到此数据寄存器内,通过数据缓冲区和芯片外进 行数据交换以完成读写功能.NAND存储器由多个块串行排列组成实际上 NAND型的FLASH Memory可认为是顺序读取的设备. 他仅用8 b的I/O瑞口就可以存取按页为单位的数据. NAND在读和擦写文件、特别是连续的大文件时速度相 当快但蘭机存取速度則:t较慢因为他不能按字节写 K9F1G08X0A功能块框医如图1所示.NAND FLASH设备易有坏块为了补偿可能存在的 坏块,通常在设计、生产时在规定的存储容且外另附加约 2%大小的额外存储空间系统需要做一个
8、算法管理 NAND FLASH的坏块当出现坏块时系统就将数据转移 到侦定空闲存储区间3实现坏区管理的FFS系统架构根据功能模块划分>FFS(FLASH File System)可分 为3层.FFS体系结构如图2所示最底层是硬件操作接口,他和硬件直接相关対装 NAND FLASH具体的物理操作往上是文件传输层 55(FTL).主要功能是针対NAND FLASH的待性封装一 些特殊复杂的宦理控制功能使得上层操作flash就和 操作普通磁盘一样;最上层是文件管理层功能类似于曾 通磁盘上的通用文件系统封装一些文件管理等功能,向 上层提供标准的文件操作接口图1 K9FIGO8X0A功能块柜图图2
9、FFS体系结构4坏区管理方法及实现4.1结构设计硬件设计采用CYGNALC8051F020微处理器和SAMSUNG K9F1GO8XOA.在软件结构上分别实现NAND FLASH物理接口 .FTL和FAT,从而实现一个完整 的 FFS.4.2硬件操作接口实现该层主要封装对NAND FLASH的底层硬件相关操 作具体硬件连接上,命令.地址和数据瑞口分别映射到 某 片外地址空间对瑞口操作就克接对片外束存储怕元 操作一样.NAND FLASH 的命令有 ReadChiplDt Read Program 和Erase等往CMD PORT写命令代码输出一个命令. 往ADDRPORT写入地址输出地址从DA
10、TA PORT读/ 写数据完成读写数据操作.一些基本操作实现如下:564.2.1设备识别读取FLASH的设备标志号DevID.根据DevID确定 FLASH的別号,从而获取存储器的相关参数如:容虽、电 压、总块数毎块页数、毎页主数据区大小和空闲区的 大小.4.2.2 擦除擦除块地址为blockAddr的块.操作过程如下, 擦除命令(0x60几块地址(两个周期.16位),擦除确 认命令(OxDO),读取状态(0x70)i判断状态若非正确状态(OxCO).即擦除失败重试若 仍失败则标志该块为坏块4.2.3写数据写地址为pageAddr的页.SrcBuf为数据源 nLen为 欲写字节数(1-528)
11、.过程如下,数据输入命令(0x80,页地址(3个周期,24位写 入数据写命令(0x10).读取状态(0x70)状态判断若非正 确状态(OxCO),表示写入失败垂试若仍失败则标志该块 为坏块。若状态正确,回读数据进行校验若出错返回 异常.4.2.4读数据渎地址为pageAddr的页destBuf为存放数据缓存地 址nLen为需读取的字节数(1528).具体操作过程, 读命令(0x00),页地址(3个周期,24位)读出数据注 意读/写操作时.3个地址周期第一周期是列地址即页内 偏移地址默认寻址是从每页第0字节开始。若要从第 2个主数据区即第256字节开始还需命令0x01若要从 空闲数据区即第512
12、字节开始则需命令0x50.4.3 FTL的实现该层主娶实现存储空间管理,进行坏块回收.损耗均 衡筹控制.以块为取位管理所有的信息都记录到存储器 上管理系统不需要占用存储器的物理块只需保留小部 分物理块作为替换区域.详细实现描述如下,4.3.1状杰信息描述利用NAND FLASH的位从1,0改写的待性定义状 态如表1所示。状态值可按FFFE,FCF8FXF0进行 变化因此1个字节就可以记录全部状态初始为 FREE.写入数据后为1NUSE.若某逻辑地址®:新分配原 映射的物理块变为OUTUSE.块中INUSE的页郁变为 OUTUSE,需耍搬移到新的物理块中.搬移后块变为IN VALID.
13、擦除后回到FREE.任何状态下验证发现坏块. 则标古为BAD.页状峦记录在页的空闲区毎块的第0页 的空闲区同时还记录块状态和擦除次数.状态描述定义值状态描述定义值空FREE OxFF废弃 (可擦除)INVALID 0xF8正常使用INUSE OxFE坏块 BAD 0xF0无效数据(需段移)()UTUSEOxFC状态定义 如表1所示.现代电子技术2007年第16期总第255期卜嵌入式与单片机1图3這辑块与物理块地址的曲A关系p* IZJ4.3.2地址哝射地址对应表系统上电后需要建立逻辑-物理地址映射 表block table.该农是一个项目数为逻辑块数的数组,每条 记录占用2个字节记录逻樹块对应
14、的物理块地址的对应 关系如图3所示.«1状定文值tx空FREEOxFFA#INVALID0xF81NUSEOxFE*BADOxFOOUTUSEOxFC4.3.3 碎片回收搬移状杰为OUTUSE的块擦除状态为INVALID 的块.无效-正常使用块对应表记录状杰为OUTUSE的 物理块地址以及其对应的逻辑块地址.碎片回收柱空闲 时或表满时进行根据对应表中记录的逻辑块地址X在 逻辑-物理块地址映射表中读出X f新分配到的新的物理 块地址乙依次把Y中不为空的页读出分别写入Z中. 最后擦除Y擦除次数加1.4. 3.4损耗均衡NAND闪存的寿命是有限的1个NAND块的擦写次 数大槪任105106
15、次,为了保持NAND的使用寿命足够 长必须避免擦写区域的不均循,否则闪存会因为局部达到 攥写极限而报废这实际上是浪费必须实现机制达到磨损 均衡(wear balance)廷长闪存的冇效使用寿命.为了解决扭耗均衡的冋越而定期进行的待殊整理. 比较各块的擦除次数对于使用頻华明显低于平均水平的 块搬动这些块的数据让这些便用很少的块供另外的数 据使用从而更好地均衡整体使用寿命.注意这种整理不 舵A頻素否则反而会降低磨损控制的效果 4.4 丈件蚤理展的实现为了提高数据共享性和Windows文件系统兼容性, 文件竹理层采用FAT文件系统标准存储器的逻辑组织 结构划分:最前面是文件系统引导扇区Boot Se
16、ct。“存放 文件系统的参数信息如每弟区宇节数;根目求地址信息 等.接着是FAT表和备份FAT表然后是根目录文件. 尺后是数据区域。这一层的主要功能是在FTL的基础上根据FAT文 件系统的结构和原理实现文件的读写等操作.5结语在系统应用中采用了 CYGNALC8051F020,SAMSUNG K9F1GO8XOA等器件,并采用PDIUSBD12实现 USB Device.由于文件骨理层实现与Windows文件系统 兼容使得系统能方便地通过USB接口和PC实现文件互 访?接进行数据交换.整个方案设计结构层次分明功 能模块封装性好、移植方便并可根抿不同的应用对各层 做相应改动和优化解决了存储空间管
17、理、坏块冋收、损耗 均衡等问题实现了有效的对趙大容最NAND坏区进行 管理的目的.畚考文软1 SAMSUNG K9F1GO8XCA SPEC.2 Han ). Kambcr M. Dau Mining: Concepts and TechniquesM Morgan Kaufmann Publishers Inc. »20003 Lu Sheng. Li Chunping. Using Statistical Model to Improve the Efficiency of Mining Maximum Sequential PattcmsC3. Proc of the 2nd Internauonal Workshop on KGGL2004.Van Riel R. Page Rephccment in Linux 2. 4 Memory Management. ln:USENIX Annual Technical Conference. FREE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年音乐学校钢琴教师合同
- 2024年财产共有转为个人协议
- 2024年轿车买卖标准协议模板一
- 2024苗木采购合同范本
- 2025年度编剧与导演联合创作合同终止及后续作品开发协议3篇
- 2024年网络安全防护与技术支持合同
- 2024年高精度导航定位技术研发合同
- 2024年跨国服务提供协议
- 2024版旅行社转让合同
- 2024年租赁物业保险协议3篇
- 管束干燥机使用说明书
- 三轴试验报告(共12页)
- 生活垃圾填埋场污染控制标准
- 空气能机组安装使用说明
- 监控系统自检报告
- 工业机器人论文
- 代理商授权书
- 中南财经政法大学工商管理硕士(MBA)
- 白云国际机场航站楼1027火灾事故
- 正常胃镜检查诊疗报告单
- 外协管理制度
评论
0/150
提交评论