- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子发烧友 电子技术论坛
嵌入式平台上 NAND FLASH 的驱动实现
The Implementation of NAND FLASH Drivers in the Embedded System Platform
(西南交通大学) 郑千洪 王 黎 高晓蓉
ZHENG Qian-hong WANG Li GAO Xiao-rong
摘要:本文简明阐述了NAND FLASH 驱动在嵌入式ARM 平台的实现。分析了NAND FLASH
的数据存储结构,并从物理层,逻辑层和文件系统驱动接口层三个方面具体分析了 NAND
FLASH 驱动程序的实现。本文重点讨论了在驱动逻辑层中为了实现磨损均衡如何创建坏块
处理表,并对基于 uC/FS 文件系统的驱动接口进行了分析。该嵌入式 NAND FLASH 驱动具
有存取数据快,数据准确度高等特点。
关键词:NAND FLASH ;坏块处理表;uC/FS 文件系统
中图分类号:TP311 文献标识码: B
Abstract :This article expresses how to implement the NAND FLASH drivers in the embedded
system platform. The NAND FLASH data structure is analyzed in this article. It is discussed how
to fulfill the drivers from the following three aspects: the device diver layer, the logical block layer
and the file system layer. This article mainly analyzes how to build the bad block table in the
logical block layer as well as how to fulfill the interface in the uC/FS file system layer. This
embedded NAND FLASH drivers has highly speed, more stable and accurate features in data
accessing process.
Key words :NAND FLASH ;Bad Block Table; uC/FS File System
1 引言
随着U盘、数码相机、mp3音乐播放器等移动设备的广泛应用,FLASH存储器已经逐步
取代其它半导体存储元件,成为嵌入式系统中主要数据和程序的载体。NAND FLASH是一
种可在线多次擦除的非易失性存储器,其结构提供了极高的单元密度,可以达到数据的高密
度存储,并且写入和擦除的速度也很快,所以 NAND FLASH是高密度数据存储的理想解决
方案[2] 。本文主要从物理层,逻辑层和驱动文件系统接口层三个方面具体分析NAND FLASH
驱动程序的实现。
2 物理层驱动实现
NAND芯片的存储空间是按照块和页的概念来组织的。现在市面上的NAND主要按大页
和小页两种存储类型来进行数据管理。本文采用的NAND 型号是K9F1G08X0A ,该NAND
为大页结构,即芯片每块(Block)有64页(Page),每页有2K Byte 的数据存储区和64Byte的冗
余数据区(用来存放ECC校验码)。2K Byte 的数据存储区作为数据缓冲单元,用来实现I/0
缓冲和存储器之间的数据传输。芯片的存储阵列组织如图1所示。
电子发烧友 电子技术论坛
图 1 128M X 8Bit NAND 的存储空间结构
NAND FLASH 的物理层驱动主要涉及到:NAND 的初始化(ID 以及相关属性信息的读
取)、擦除(以块作为单位),数据读写(以页作为基本
文档评论(0)