论文部分内容阅读
现有的固态硬盘SSD(Solid State Disk)总体设计多种多样,关键技术和算法的选择也各有不同。目前主流的设计工作存在两方面的不足:某些SSD的设计过度依赖基础芯片的能力而对FTL(Flash Translation layer)算法设计考虑不足,导致SSD在不同数据存储要求下的读写性能显著降低;某些SSD的设计欠缺完善的数据可靠性机制,导致SSD不能很好地适应企业级的数据存储要求。本文从需求分析着手,首先分析并完整地确定了SSD的总体设计和系统设计;在此基础上,提出HUP-LRU和PPC RAID-5两个算法、同时配套选取了GC(Garbage Collection)和WL(Wear Leveling)算法完成本文核心算法的构建;接着给出了两类测试结果,一类是基于业界通用的DiskSim仿真测试环境和数据源的算法仿真评估测试结果,另一类是基于商用测试平台Benchmark的原型机测试结果;最后,讨论了进一步完善SSD设计的思路。本文主要工作包括:1)考虑到Flash本身的访问特点,从高性能高可靠性的总体要求出发,以SSD控制器设计为核心,将SSD设计归纳为3个总体目标,并据此完成本文的SSD总体设计和系统设计。2)针对传统的FTL(Flash Translation Layer)层的页映射算法在抑制频繁更新数据的写入次数方面考虑不足,本文提出了一种新的改进写缓冲区内写请求排队机制的算法HUP-LRU;该算法以统计缓冲区内数据的历史访问特征为基础,分析访问的频度与“近度”,最终保证写放大最小、访问热度最低的数据块被选出,从而保证了磨损最少化和最高的写入有效性,既保证了耐用性又提高了IOPS性能。3)传统的RAID-5(Redundant Arrays of Inexpensive Disks5)机制提供了较高的数据可靠性,但是没有考虑到Flash芯片的擦除次数受限的特点,针对这个不足,本文提出了一种新的RR(RAID Recovery)算法,借助在双倍速率同步动态随机存储器DDR(Double Data Rate SDRAM)中设置PPC(Partial Parity Cache)表,显著减少了RAID机制对介质的擦写,在保证RAID并发访问效率的同时提高耐用性,保证SSD能够替代HDD应用于企业海量数据存储。4)完成了算法的实验室仿真测试和性能评估,完成了原型机的商用验证测试。最后,本文对SSD设计工作的进一步完善提出了建议。