论文部分内容阅读
与传统的以磁盘作为存储器的机械硬盘相比,以非易失性存储器件NAND flash作为存储器的固态硬盘(Solid State Disk,SSD)具有更快的访问速度,更低的功耗以及良好的抗震等优点,因此在信息存储领域得到广泛应用。近年来,随着集成电路技术和制造工艺的不断发展,闪存存储密度不断增加,多层单元(Multi-Level Cell,MLC)和三层单元(Trinary-Level Cell,TLC)已经成为主流的NAND flash存储介质。但是随着存储密度的增加,MLC以及TLC存储的性能降级以及可靠性问题也日益突出。在闪存块的P/E次数达到限定的次数时,固态硬盘的冗余空间会将其替换来保证硬盘中的数据安全以及硬盘的使用容量。但是冗余空间的减少会使得固态硬盘的性能降级。为了保证固态硬盘的使用性能和寿命,本文主要研究了磨损块中数据编码的方法和在磨损块中采用基于增量式编程的写入方法来减少磨损块中数据的错误率,重新利用磨损块,以减缓固态硬盘寿命和性能的降级。在对磨损块编码的研究中,提出一种闪存转换层数据管理算法CW-FTL(Coded Worn Block Management Scheme of Flash Translation Layer),该算法从减少磨损块中数据的错误率的角度,降低磨损块中数据的刷新速率,在延长固态硬盘使用寿命的同时延缓其性能的降级。CW-FTL重新利用了磨损块,避免了磨损块出现后冗余空间的替换造成的固态硬盘性能下降,并且对磨损块中的数据进行编码,确保其数据安全。本文使用SSDSim模拟器进行仿真实验,通过擦除次数和垃圾回收次数来观测对固态硬盘的磨损,通过写入放大系数来观测固态硬盘的性能变化。实验结果表明,当出现磨损块时,CW-FTL保证了冗余空间的大小,减少了写入放大。与在磨损块中存储热数据的SR-FTL相比,CW-FTL对磨损块的擦除次数在Finanical1、Financial2、Radius sql负载文件下分别减少了72%、52.6%、63.3%,显著减少了对磨损块的磨损。在增量式编程写入方式的研究中,本文提出利用增量式编程以及请求的访问特性来延长电势偏移时间的解决方法来减少错误的发生。其基本思想是利用减少增量编程步长可以增加闪存单元噪声容限的特点,通过对请求访问特性的识别,将冷写请求用小步长编程写入磨损块,实现减少磨损块中数据的错误。本文使用SSDSim模拟器进行仿真实验,通过与减少编程步长时固态硬盘的擦除次数与未减少编程步长是固态硬盘的擦除次数进行对比。实验结果表明,在减少编程步长为原来的一半后,固态硬盘中磨损块的擦除次数最大可以减少16.7%。