论文部分内容阅读
随着闪存工艺尺寸的缩小以及单元内多比特存储技术的发展,闪存芯片的容量逐渐增加,但闪存的可靠性问题变得更加严重。固态硬盘(Solid State Driver,SSD)内部现有的可靠性方案(如ECC、RAID)不能很好的应对闪存的多级可靠性问题;另外,固定的可靠性方案未考虑块间磨损不平衡:在SSD前期提供了过多的冗余,从而增加了闪存的写放大,并且在SSD后期也不能容忍条带内出现多个错误的情况。
针对上述问题,设计实现了一种自适应容错的SSD纠删码方案(Adaptive error-tolerant Erasure Coding Scheme Within SSDs,AetEC)。在SSD寿命前期,通过实时监测闪存块的磨损情况,并根据超级块中的高磨损块数应用相应纠错能力的RS(Reed Solomon)纠删码;在SSD寿命后期,进一步增加RS码的容错能力,以容忍芯片级故障。基于物理地址的条带组织方案有效地减少了校验数据的更新开销;基于双链表分区管理的写缓存方案在提高SSD性能的同时,保证了用户数据和校验数据的一致性;针对不同的错误类型,设计了不同的数据恢复方法和数据重建布局方法。另外,考虑到软件实现的RS码可能会对SSD的性能造成影响,设计了一种基于FPGA的多速率RS码的编/解码器方案。对多种RS码的解码矩阵进行预处理以省去解码矩阵的求解过程,并采用基址加变址寻址的思想优化解码矩阵索引的计算过程,使得解码和编码具有几乎一样的吞吐率。
利用VivadoHLS工具设计实现了多速率RS码的编、解码器。测试结果表明,编码和解码具有相同的吞吐率,最大为3GB/s;和Xilinx提供的RS码解码加速方案相比,所设计的RS码解码器实现了相同的解码吞吐率,并减少了18.7%的内存使用。在仿真平台上实现了AetEC,并提出了AetEC的可靠性模型。测试结果表明,和固定的RAID4方案相比,AetEC在性能和可靠性方面都有较大的改善,并且有效地减小了闪存的写放大,即平均响应时间最多减少了32.8%,写放大最多减少了37.8%。和最新的WARD方案相比,AetEC以较小的性能开销(平均响应时间最多增加了5.9%)获得了更高的可靠性,AetEC使不可纠正的页错误率(UPER)降低了两个数量级,并且提供了容忍芯片故障的能力。
针对上述问题,设计实现了一种自适应容错的SSD纠删码方案(Adaptive error-tolerant Erasure Coding Scheme Within SSDs,AetEC)。在SSD寿命前期,通过实时监测闪存块的磨损情况,并根据超级块中的高磨损块数应用相应纠错能力的RS(Reed Solomon)纠删码;在SSD寿命后期,进一步增加RS码的容错能力,以容忍芯片级故障。基于物理地址的条带组织方案有效地减少了校验数据的更新开销;基于双链表分区管理的写缓存方案在提高SSD性能的同时,保证了用户数据和校验数据的一致性;针对不同的错误类型,设计了不同的数据恢复方法和数据重建布局方法。另外,考虑到软件实现的RS码可能会对SSD的性能造成影响,设计了一种基于FPGA的多速率RS码的编/解码器方案。对多种RS码的解码矩阵进行预处理以省去解码矩阵的求解过程,并采用基址加变址寻址的思想优化解码矩阵索引的计算过程,使得解码和编码具有几乎一样的吞吐率。
利用VivadoHLS工具设计实现了多速率RS码的编、解码器。测试结果表明,编码和解码具有相同的吞吐率,最大为3GB/s;和Xilinx提供的RS码解码加速方案相比,所设计的RS码解码器实现了相同的解码吞吐率,并减少了18.7%的内存使用。在仿真平台上实现了AetEC,并提出了AetEC的可靠性模型。测试结果表明,和固定的RAID4方案相比,AetEC在性能和可靠性方面都有较大的改善,并且有效地减小了闪存的写放大,即平均响应时间最多减少了32.8%,写放大最多减少了37.8%。和最新的WARD方案相比,AetEC以较小的性能开销(平均响应时间最多增加了5.9%)获得了更高的可靠性,AetEC使不可纠正的页错误率(UPER)降低了两个数量级,并且提供了容忍芯片故障的能力。