基于NAND Flash嵌入式文件系统的设计.pdf

上传人:qwe****56 文档编号:74646066 上传时间:2023-02-27 格式:PDF 页数:6 大小:416.18KB
返回 下载 相关 举报
基于NAND Flash嵌入式文件系统的设计.pdf_第1页
第1页 / 共6页
基于NAND Flash嵌入式文件系统的设计.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《基于NAND Flash嵌入式文件系统的设计.pdf》由会员分享,可在线阅读,更多相关《基于NAND Flash嵌入式文件系统的设计.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 http:/ 基于 NAND Flash 嵌入式文件系统的设计 基于 NAND Flash 嵌入式文件系统的设计 宋博,闫达远,张栋 北京理工大学光电工程系,北京(100081)E-mail: 摘摘 要:要:本文主要是介绍了针对 NAND Flash 型存储器设计的嵌入式文件系统。本文的硬件平台是为了顺应多功能、大容量集成化存储的需求而开发的基于 ADSP-BF532 芯片与 NAND Flash 结合的高性能嵌入式存储系统。这套存储系统采用了多片并行流水的存储模式,在此基础上开发出独特有效的闪存管理技术与改良的文件系统,通过设置访问权限实现多用户管理,使得处理器、存储器以及文件管理层软件的

2、多方优势得以充分发挥。关键词:关键词:NAND Flash,文件系统,文件管理层,多用户管理,嵌入式系统 中图分类号:中图分类号:TP316 1.引言 1.引言 新世纪嵌入式系统市场发展迅速,主要表现在通信、消费电子产品和多媒体应用。在这些嵌入式计算机系统中,存储设备的性能是决定整体系统性能的核心环节之一。相对于体积大、抗震性能差的硬盘等传统存储介质,Flash存储器具有容量大、速度快、成本低等很多优点,因此在嵌入式系统中的应用也越来越多1。由于物理特性的不同,基于Flash的文件系统也不同于普通磁盘上的文件系统,不同应用系统中FFS的设计实现也有所不同2。对于大容量的存储器而言,在与传统文件

3、系统保持良好兼容性的同时,如何更好的管理文件以及实现多用户共享该设备就成为问题的关键。本文正是针对这个问题提出独特有效的闪存管理技术与改良的文件系统,通过设置管理员和用户的不同访问权限实现对存储空间的分层管理。2.Flash 文件系统结构 2.Flash 文件系统结构 一般而言,Flash文件系统的结构分为三个层次:最底层是硬件操作接口,它和硬件直接相关,封装NAND Flash具体的物理操作;往上是文件传输层(FTL),主要功能是针对NAND Flash的特性,封装一些特殊的复杂的管理控制功能,使得上层操作Flash就和操作普通磁盘一样;最上层是文件管理层,功能类似于普通磁盘上的通用文件系统

4、,封装一些文件管理等功能,向上层提供标准的文件操作接口3。本集成化存储系统的存储容量具有很大的扩展空间,当存储空间的变化给其应用带来诸多便利的同时,如何能够更好的管理大容量的存储空间就成为一个急需解决的问题。针对上述这种情况,本文在实现与传统文件系统功能的前提下提出了多用户管理系统的概念。具体实现过程参见下文 3.2 文件管理层的设计与实现以及 3.3 多用户文件管理系统。3 系统设计与实现 3 系统设计与实现 1 本课题得到国家自然科学基金资助(No.60475008)。-1-http:/ 3.1 硬件系统结构设计 3.1 硬件系统结构设计 本文的硬件平台是基于DSP与NAND Flash的

5、多功能、高性能的嵌入式存储系统,以DSP做为控制芯片4,以NAND Flash做为存储设备。其硬件原理框图如图 1 所示。本硬件平台优势就在于采用多片并行流水存储模式(如图 2 所示),兼顾了数据的高传输率与高可靠性。图 1 硬件原理框图 图 2 异步存储空间分配 如图2所示,为了提高存储容量和速度,采用了流水线时序并行存储的模式:并行存储:由于NAND为8位数据总线,而BF532为16位数据总线,这样就可以在16位的BF 532的一个BANK上挂2个8位的NAND。这样,将同一16位数据总线上的2个NAND FLASH看成一个整体来进行操作,可以使存储容量和速度分别提高一倍。流水线时序:由于

6、NAND Flash的工作方式是先发送指令和地址,然后发送数据,NAND Flash在接受数据的时候是自动编程的,我们可以利用NAND Flash自动编程的空闲时间来对另一组NAND Flash进行操作,即“分时复用”不同的NAND Flash,这样可以大大地提高存储速度和效率。3.2 文件管理层的设计与实现 3.2 文件管理层的设计与实现 在此硬件平台的基础之上,即可进行文件管理层的软件设计。其基本步骤包括格式化文件系统,初始化文件系统以及文件系统功能函数的编写与调用。这样做的好处就是既满足了与传统文件系统兼容的需要,又为多用户文件管理系统运行提供了软件框架。3.2.1 格式化文件系统 3.

7、2.1 格式化文件系统 要实现文件系统的基本功能,第一步实现的是文件系统的格式化,也就是将存储器按照文件系统的结构规定“格式化”。(1)将0扇区设置为引导扇区,引导扇区中包含了一个被称BPB(Bios Parameter Block)的此分区的参数记录表。BPB 参数块记录着此分区的起始扇区、结束扇区、文件存储格式、存储介质描述符、根目录大小、FAT 个数和分配单元大小等重要参数。(2)从第 1 扇区开始的内容为 FAT(即文件分配表)及 FAT 备份区(FAT 备份区空间大-2-http:/ 小与 FAT 区完全相同,是保护 FAT 被修改的一种措施)。(3)根目录区紧跟在 FAT 及 FA

8、T 备份区之后。根目录区存放着多个目录项,每个目录项为 32 字节,记录一个文件或者目录的信息。在完成了以上操作之后,文件系统就有了运行的基础。3.2.2 初始化文件系统 3.2.2 初始化文件系统 第二步要实现的就是初始化文件系统,就是丛已格式化的存储器读取一系列参数。特别是 BPB 参数块,它记录着本分区的起始扇区、结束扇区、文件存储格式、存储介质描述符、根目录大小、FAT 个数、分配单元的大小等重要参数。同时,在初始化的过程中还需要将 FAT表读入到 FAT 缓冲区中。在完成了格式化和初始化两个步骤之后,就调用文件系统函数来进行各种文件操作了。3.2.3 文件系统函数 3.2.3 文件系

9、统函数 在已经搭建好的文件系统平台基础之上,能够将数据视为文件进行保存和管理。通过调用相关函数从而实现创建文件、删除文件、读文件、写文件、文件打开、文件关闭等基本功能,保持了与传统文件系统良好的兼容性,易于用户和读者的理解与操作。图 3 mkdir()函数流程图 图 4 creat()函数流程图 -3-http:/ 功能函数 mkdir(),实现创建新目录的功能,软件流程如图 3 所示。其中比较重要的步骤有:利用 locate()函数定位文件,在根目录区查找第一级目录,在下一簇查找第二级目录,以此类推。Allocdir()函数:丛目录区中取得一个目录项,在确认为空目录项后更新其中的文件信息。A

10、llocCluster()函数:用于分配空簇与目录信息相对应。方法是先丛当前簇到文件分配表末尾搜索标记为空的簇,如果没有的话再丛文件分配表头开始。在经过以上几个步骤之后,目录与存储空间形成映射,即在底层实现了创建一个新目录的功能。功能函数 creat(),实现创建新文件的功能,实现过程与创建目录的流程类似,如图 4所示。33 多用户文件管理系统33 多用户文件管理系统 作为一种新型的海量嵌入式系统,在很多时候会面临单设备多用户的情况,存储空间中的文件繁多,数据复杂,任何用户对其中重要数据的不当操作都会造成严重后果。而多用户管理系统能够解决这个问题,方法就是把整个存储空间进行分层管理。处于最上层

11、的是管理员帐户,它本身具有最高的管理权限,在经过身份验证之后,能够对其他用户和文件进行访问与修改。处于下层的是普通帐户,它映射到一定范围的存储空间,在专署存储空间范围内可以进行相关操作,但无权访问和修改其它帐户的文件。这样就通过软件的方式将一个完整的存储空间丛逻辑上分为不同的应用层次,并且实现了多用户之间的无干扰高效运行与管理,对于海量存储设备文件管理提供了一种科学并且行之有效的解决方案。在根目录区中存放着多个目录项,每个目录项为 32 字节,记录一个文件或者目录的信息,在软件仿真环境中使用下文中的结构体来描述目录项。图 5 多用户管理软件结构 -4-http:/ typedef struct

12、 BYTE FileName8;/ofs:0.文件名 char ExtName3;/ofs:8.扩展名 BYTE attribute;/ofs:11.文件属性。典型值:普通文件(0 x00)只读文件(0 x01)系统文件(0 x04)卷标(0 x08)char reserved10;/ofs:21.保留,优先级确认标识 WORD time;/ofs:22.时间 WORD data;/ofs:24.日期 WORD StartClus;/ofs:26.开始簇号。如果文件有多簇,根据FAT表中与此对应项的信息可以找到下一簇 DWORD FileLength;/ofs:28.文件长度 DIRENTRY

13、;图 5 中正是利用每一个根目录项都有 10 字节的保留空间这一结构特点,通过验证一个预先定义在此的变量 certificate,其作用分别用来确定用户权限以及共享文件起始簇。最高优先级是 0(代表管理员帐户),通过验证后即可登陆到用户管理和共享信息区。该区域目录项记录管理员信息(管理员目录项)和共享文件信息(共享目录项),每增加或删除一个用户,都会在此区域中生成或减少一个目录项。变量丛 1 以后分别代表新创建的各用户根目录,以此类推,每个用户和存储空间都有一定的映射关系,即每个用户都有一定的存储空间配额。而任何对用户信息的修改都需要对变量 certificate 是否具有最高优先级做出判断,

14、即区分管理员和用户身份后再进行相关操作。其中共享目录项对于全体用户是透明的,每个用户可以通过共享目录项的起始簇找到共享文件。而只有管理员可以对共享文件进行修改,实现共享文件的更新。用户只能从用户根目录区进行访问,用户根目录区的结构与系统根目录区类似,所不同的是包含关系,系统根目录在逻辑上是包含用户根目录的,在系统根目录中,用户根目录是以文件夹的形式存在的。目前每个用户根目录定义为 512 个目录项,占用 NAND Flash32 页的存储空间,本系统最大可以定义 16 个用户账号。试验证明,在本文的硬件平台上,多用户管理系统能够很好的实现对存储空间的分层控制,充分发挥了存储容量方面的资源优势,

15、使得多个用户在互不干扰的前提下有效运行,解决了单设备多用户时的冲突问题。4结论 4结论 本文硬件已经实现并通过调试,经过实验证明在该平台上能够实现与传统文件系统实现良好兼容,多用户管理系统等功能函数对海量存储设备也能够进行有效管理,经过测试运行可靠稳定,对潜在的存储空间拓展提供了良好的软件架构。5致谢 5致谢 对东芝半导体公司,ADI 公司以及北京亿旗创新公司提供的技术支持表示感谢,同时对 周雅老师,胡小明老师,刘伟博士以及北京理工大学 6025 实验室全体同学致以深深的谢意。-5-http:/ 参考文献 参考文献 1 钟汉如,张庆灿.YAFFS嵌入式文件系统应用研究J.嵌入式软件应用,200

16、7年,第23卷第1-2期:108110.2郑良辰.日志文件系统在嵌入式存储设备上的设计和实现:硕士学位论文D.保存单位:万方数据股份有限公司,2001年.3钟忻,慕春棣.基于闪存的文件系统的实现J.计算机工程与应用,2003年,第24 期:133135.4BF532 Data Sheet数据手册 http:/.-6-Embedded File System Based on NAND Flash SONG BO,YAN DAYUAN,ZHANG DONG Room 6025,Information Teaching Building,Beijing Institute of Technolog

17、y Abstract In this paper,the characteristic of the embedded file system designed specially for the NAND Flash memory is introduced.Clients want to have multifunctional,portable and more reliable integration storage system.This hardware platform can meet the demand,which is based on the ADSP-BF532 an

18、d NAND flash memory to form the high-powered embedded storage system.This system use parallel storage mode combining efficient flash management mode and modified multiuser file system,which treat storage space as different layers for administrator account and ordinary users account.The administrator

19、 have priority over other users and can set and modify them.In this way,storage space is logically seen as different layers to control,so various users work effectively without any interference.This solution take full advantage of the processor,NAND Flash memory and the file management technology.Keywords:NAND Flash,file system,file management layer,multiuser management,embedded system

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁