论文部分内容阅读
U盘是一种无需物理驱动器微型高容量移动存储设备,因其便携带、操作速度快、存储容量大以及抗震性能极强等特点,已经成为人们生活中不可缺少的存储设备之一。U盘基本上是以闪存作为存储介质,使得文件系统无法直接操作U盘,因此需要在文件系统与闪存芯片之间增加一个闪存转换层(FTL,Flash Translation Layer),使得主机可直接操作闪存设备。闪存转换层算法作为U盘存储系统中关键技术,在产品的性能和可靠性方面具有重要意义。此外,由于人们对存储在U盘中的数据安全问题也越来越重视,因此本文是在由杭州华澜微电子股份有限公司自主研制并且具有数据保护功能的安全U盘的基础上设计了一种基于三级地址映射的FTL算法。本文首先介绍了安全U盘的结构以及主控S261芯片,根据S261芯片的特性,对U盘的数据保护功能进行了分析。对目前使用率比较高的几种FTL算法进行了详细的分析,在其基础上并结合实际的U盘参数提出了本文的FTL算法。本文设计的FTL算法是一种混合级FTL算法,其包括三级地址映射架构、块管理系统、垃圾回收系统以及掉电恢复系统四个模块,并在固件中完成了对算法代码的编写。三级地址映射策略主要通过CIT、PIT和SIT三种映射表来实现主机寻址,并在其基础上提出了优化寻址策略,提高了寻址效率;块管理系统中提出了EMBT、ERBT两种空块表以及BBT的概念,保证了闪存的损耗均衡,有效的管理了闪存中的坏块,延长了闪存的使用寿命;垃圾回收系统提出了全合并和部分合并的概念,优先回收VP数少的物理块,提高了块回收效率;掉电恢复系统实现了在系统掉电的情况下准确的恢复保存内存中的PIT和SIT,保证了整个U盘系统的可靠性。最后将算法固件应用到安全U盘中进行测试,结果表明,本文设计的算法不仅保证了U盘的可靠性,而且其读写速率相当可观,具有很高的应用价值。