当前位置:
文档之家› Flash文件系统及存储管理技术研究与实现
Flash文件系统及存储管理技术研究与实现
1
华 中 科 技 大 学 硕 士 学 位 论 文
性。如果通过灵活的校验机制与坏块管理,则可以达到更高效的存储空间利用率,这对 成本敏感的嵌入式系统来说是更加需要考虑的。 便携式消费电子设备对 Flash 存储器的需求与日俱增, 产品的更新换代以及 Flash 自 身容量的增长速度都越来越快。对于最终产品的开发人员来说,他们希望在采用新类型 的 Flash 存储器时不需要更新产品设计方案、控制器和接口等,以便更快地推出规格升 级的产品。所以,Flash 文件系统和存储管理技术的设计思路和相关算法,对缩短上层 应用开发周期,提高存储可靠性,延长 Flash 存储器的使用寿命等有很大意义。
Keywords: NAND Flash, Flash File System, Flash Translation Layer, Wear-leveling
II
பைடு நூலகம்
独创性声明
本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已 在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
关键词: NAND Flash Flash 文件系统
闪存转换层
损耗均衡
I
华 中 科 技 大 学 硕 士 学 位 论 文 Abstract
Nowadays, f lash memory is prevailing in many mobile devices such as MP3 players, flash memory cards, cell phones and PDAs due to its non- volatility, solid-state reliability, small and lightweight package, low-power consumption, etc. Common file systems can not be directly applied to flash memory, so the Flash Translation Layer (FTL) should be designed to allow file system to read and write to flash memory device in the same way as disk drive. Aiming at the widely used NAND flash memory, a FTL is designed and implemented, so the FAT file system is created on NAND flash. Specially, the NAND flash memory storage management issues are deeply researched, including address mapping, wear- leveling algorithm, garbage collection policy, power-off recovery, bad block management, and so on. As well as much more emphases are taken on the problem of identifying user and data security, encrypted-storage mecha nism is designed and implemented. Additionally, this paper proposes layered software architecture of flash memory storage management and intends to research and develop a software module for NAND Flash memory, which is obtained application in the actual product. The following achievements are made in this dissertation: (1) The architecture of flash file system and its implementation form are deeply researched. (2) A NFTL mapping scheme is designed and deeply analyzed for large capacity NAND Flash. (3) Wear-leveling algorithm and garbage collection policy are researched for better system performance and longer flash memory lifespan. (4) Power-off recovery mechanism and bad block management are designed for system higher reliability. (5) Research and impleme ntation of flash memory s torage encryption, including user identification and data encryption.
1.2 课题来源
本课题来源于武汉天喻信息产业股份有限公司加密 Key 盘项目组的一个子项目。根 据市场调研, 用户需要能够提供大容量存储设备, 同时能够为存储的数据提供安全保护, 防止存储设备丢失或非法窃取造成私密数据被窃取。天喻公司在 USB Key 的基础上提 出了将 USB Key 的安全性与 U 盘的大容量存储的特性结合起来的项目,并将产品命名 为加密 Key 盘。该产品整合 USB Key 的安全特性与 U 盘的大容量存储特性,并将 USB Key 的安全特性扩展到外部的大容量存储芯片中, 提供对大容量数据芯片级的安全保护, 以满足市场上对大容量安全存储设备的需求。 天喻加密 Key 盘采用 NAND Flash 作为大容量数据存储器,由于 NAND Flash 的固 有特点, 访问接口与磁盘不同, 数据管理比较复杂, FAT 文件系统不能直接应用于 NAND Flash, 而且没有驱动程序可以直接让 NAND Flash 采用 FAT 文件系统。 所以如何在 Flash 上创建 FAT 文件系统,方便与主机交换和共享数据;如何管理 Flash 存储空间,提高使 用性能并延长 Flash 使用寿命,是该项目必须解决的问题之一。目前仅有少数 Flash 芯 片供应商和 Flash 控制器供应商有自己的解决方案,如 SanDisk、Netac 等,天喻加密 Key 盘项目组希望自主研发 NAND Flash 存储管理技术的解决方案。本文作为该项目的 一个子课题,研究内容主要围绕 Flash 文件系统及 NAND Flash 的存储管理技术展开, 分析使用 NAND Flash 作为存储设备,建立 Flash 文件系统需要解决的问题。
学位论文作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本论文属于 保密□,在 不保密□。 (请在以上方框内打“√” ) 年解密后适用本授权书。
华中科技大学 硕士学位论文 Flash文件系统及存储管理技术研究与实现 姓名:董永帅 申请学位级别:硕士 专业:工业工程 指导教师:王同洋 20080529
华 中 科 技 大 学 硕 士 学 位 论 文 摘 要
Flash 存储器由于具有存储容量大、 体积小、 掉电数据不丢失以及可多次擦写等优点, 已逐步取代其它半导体存储器件而广泛应用于 MP3、存储卡、手机、PDA 等移动电子 产品中。通用文件系统不能直接应用于 Flash 存储器,需要通过闪存转换层将 Flash 模 拟为一个磁盘设备。 本文针对目前广泛应用的 NAND Flash 存储器, 通过在 Flash 控制器固件中设计并实 现闪存转换层将 Flash 存储器模拟为磁盘设备,进而在 NAND Flash 上建立性能稳定的 FAT 文件系统。论文分析了 Flash 文件系统的结构及实现形式,深入研究了 NAND Flash 存储管理技术,包括地址映射、损耗均衡算法、垃圾回收策略、坏块管理、掉电保护及 加密存储,并提出将 Flash 存储管理技术分层实现的软件结构,旨在研究和开发一套实 用的可用于加密存储的 NAND Flash 存储管理模块,并在实际产品中得到应用。 论文所做的主要工作包括以下几个方面: (1)研究了 Flash 文件系统的结构及实现 形式。 (2)设计了适用于大容量 NAND Flash 的 NFTL 块映射机制。 (3)研究损耗均衡 算法和垃圾回收策略,提出基于阈值控制的损耗均衡算法设计,提高 NAND Flash 使用 寿命。 (4)设计 NAND Flash 掉电保护及坏块管理机制,提高存储可靠性。 (5)研究并 实现了闪存设备的加密存储,给出了基于密码认证的加密存储设计,将存储空间划分为 普通区和加密区,使用加密区存储加密文件。
学位论文作者签名: 日期: 年 月 日
指导教师签名: 日期: 年 月 日
华 中 科 技 大 学 硕 士 学 位 论 文 1 绪 论
1.1 研究背景
互联网时代越来越多的数据需要人们随时随地存储和使用,在这种需求下,移动存 储器在 2001 年进入了市场。最先出现的是移动硬盘,以其容量大、移动存储方便的特 点得到了行业用户的认可。但是,对于更多的个人用户来说,后来上市的 Flash 存储器 才真正引领移动存储革命进入高潮。Flash 存储器作为一种低成本、高集成度的存储设 备在电子产品领域获得非常广泛的应用,Flash 存储器市场在移动电话、数码相机、移 动存储器、MP3 和数码摄像机等的带动下高速增长,预计未来几年,Flash 存储器市场 将以超过 20%的增长速度高速增长,并在 2009 年达到 759.4 亿元[1]。 Flash 存储器是一种基于半导体技术的非易失性存储器(Non-Volatile Memory) ,具 有功耗低,容量大,体积小,重量轻,访问速度高,无机械故障等优点,已逐步取代其 它半导体存储器件而广泛应用于移动电子产品中。随着制造工艺的提高,Flash 存储器 的容量和可靠性都在飞速提升。 三星公司 2006 年 9 月开发出基于 40 纳米设计原理的 32G NAND Flash,所采用的 CTF 技术将改进制造流程,促进基于 20 纳米设计原理的 256G NAND Flash 问世[2]。 在嵌入式系统中应用 Flash 存储器的最好办法是在其上构造一个文件系统,对 Flash 存储器中的数据内容进行基于文件代号的存储管理,同时对于 Flash 存储器本身的坏块 进行透明的坏块管理。但 PC 中使用的文件系统,如 DOS 下的 FAT 文件系统、Windows 下的 NTFS 文件系统等, 并不适合直接移植到 Flash存储器中, 主要有以下 3 个原因[3][4][5]: (1)Flash 存储器多用于嵌入式系统,嵌入式系统的应用条件恶劣,电源电压不稳 定,突发性断电以及非法插拔都将对 Flash 的存储器造成灾难性的影响,通用文件系统 采用大量的缓存技术来提高文件系统的可靠性,而嵌入式系统由于资源有限而不能通过 缓存技术来提高可靠性。 (2)通用文件系统的某些记录信息,如 FAT 表、日志文件、曲目数据库等需要被 频繁改写,这些记录信息如果存放在固定的 Flash 块中,将导致该块的频繁擦写而提前 损坏,影响整个 Flash 存储器的使用。 (3)Flash 存储器读取速度比磁盘驱动器快,存储的内容很多是多媒体数据资料。 这些数据允许一定程度的误码率,未必需要像通用文件系统那样严格保证存储的正确