闪存管理算法的研究与实现
发布时间:2020-05-20 11:53
【摘要】:固态硬盘(Solid State Driver,SSD)采用半导体作为存储介质。其无需依赖任何机械装置、不需要寻道,从而降低了 I/O请求访问延迟,同时以功耗低、抗震防摔、体积小等优点逐渐取代机械硬盘。SSD大多将闪存(NAND Flash)作为存储媒介,NAND Flash的存储方式依赖其物理特性,现有文件系统不能直接访问或操作SSD,为了文件系统能够像访问机械硬盘一样来访问SSD,需要在NAND Flash和文件系统之间增加一层软件层(闪存转换层,Flash Translation Layer,FTL)。FTL算法对整个SSD来说至关重要,且FTL的优劣将直接影响到整个产品的性能。首先介绍NAND Flash的物理结构以及工作原理,然后介绍了 FTL算法中的多个重要模块及其功能。通过对现有的几种地址映射算法的研究与分析,最后在DFTL的基础上,利用S666控制器硬件资源以及NAND Flash存储特性设计了本文的FTL算法。本文从地址映射、垃圾回收、磨损均衡、出厂坏块管理、错误处理以及上电恢复这六大功能模块方面对FTL算法进行优化设计,并将此算法以固件的形式量产到NAND Flash中,再以SSD控制器来检验本算法的可行性。在地址映射中,设计CMT、GMT、GTD以及CMTnum来优化寻址,对CMT增加LEN属性栏,将多条连续映射记录合并成一条,有效降低对缓存槽的占用;CMTnum记录CMT中的映射单元数,按CMTnum最大值来批量剔除CMT中的映射单元,降低全局映射页的更新频率;二级缓存可用于服务文件系统的空间局部性请求,提高了 FTL对连续数据的处理能力。通过对NAND Flash进行破坏性测试,建立剩余擦除次数模型,设计出RECT,RECT优先选择剩余寿命最高的物理块,以保证磨损均衡,并使得所有物理块能在同一时刻达到寿命极限。主动垃圾回收完成冷热数据交换,被动垃圾回收通过回收最多无效页的物理块来降低垃圾回收的代价。坏块管理提供三种扫描出厂坏块的方式,坏块管理以及错误处理机制以确保NAND Flash中数据的可靠性。上电恢复系统让SSD能够恢复到上次掉电之前的情况,使得SSD再次启动时能够快速进入准备状态。测试结果表明,将本算法应用到SSD中,使得数据读写速率较快,且性能稳定。
【图文】:
2.2.1邋NAND邋Flash邋工作原理逡逑NAND邋Hash是一种非易失性存储器,具有掉电数据不丢失的特性NAND邋Flash基本逡逑存储单元是一种双层浮空栅('Floating邋Gate)邋MOS管组成[35],,如图2.1所示:逡逑Control邋Gate逡逑逦Dielectric逦逡逑C3邋1=3逦C=3邋rm邋C=3邋C=3邋1=3逡逑1=3邋Floating邋Gate逡逑c=a邋ca邋c=a邋c=a邋c=a邋e=a邋c=s逡逑Gate邋Oxide逡逑-一逦—邋,邋☆N炛蠳濶濶濶炲澹埽撸剩校龋幔欤裕体逡诲义襄危校鳎澹ⅲ
本文编号:2672583
【图文】:
2.2.1邋NAND邋Flash邋工作原理逡逑NAND邋Hash是一种非易失性存储器,具有掉电数据不丢失的特性NAND邋Flash基本逡逑存储单元是一种双层浮空栅('Floating邋Gate)邋MOS管组成[35],,如图2.1所示:逡逑Control邋Gate逡逑逦Dielectric逦逡逑C3邋1=3逦C=3邋rm邋C=3邋C=3邋1=3逡逑1=3邋Floating邋Gate逡逑c=a邋ca邋c=a邋c=a邋c=a邋e=a邋c=s逡逑Gate邋Oxide逡逑-一逦—邋,邋☆N炛蠳濶濶濶炲澹埽撸剩校龋幔欤裕体逡诲义襄危校鳎澹ⅲ
本文编号:2672583
本文链接:https://www.wllwen.com/guanlilunwen/glzh/2672583.html