本文提出在闪存闲置时利用保留时间的能力,以提高SSD中SLC的使用寿命。主要思想是,作为大多数I / O数据典型的工作负载不需要大于几天的保留时间,我们可以在单元格中使用多个部分程序状态,并且每两个状态每次存储一位数据。所以我们可以在单元中存储多个位(每次一个位),每次写完后并不擦除,这将直接转化为寿命的增强。这里所提出的方案称为密集SLC(D-SLC)闪存设计,可将SSD寿命提高5.1-8.6倍。
DENSE-SLC NAND FLASH-BASED SSD
典型的基于闪存的存储类内存(SCM)具有层次内部结构:一个快速的单级单元(SLC)固态驱动器(SSD)在上层具有数十GB的容量和一个缓慢的多级单元(MLC)SSD,具有太字节容量低等级。在这种设置中,SLC SSD服务的很大一部分传入的流量对其施加高的写入压力,这使写耐力成为SLC SSD部件的重大挑战(每个闪存单元可以容忍104-105个编程/擦除周期)。这个论文针对SLC SSD的终身难题,通过放松其停留时间来改善它的机会并对其进行了讨论.
诱因
传统上预计闪光灯设备保留数据一年或多年。但是,存储的数据在SSD SCM不需要这种长期的非波动性。在一个分层SCM,我们期望SLC SSD处理I / O请求具有短期寿命,而I / O请求长期寿命通常由底层MLC SSD处理。作为一个诱因的例子,图1(左)显示了数据长寿的CDF用于mds_0中的I / O数据。我们可以看到超过90%的mds_0中的写数据长达10小时。类似的行为可以在广泛的企业工作负载环境中出现。
建议
主要的想法是在SLC设备中放宽保留时间,我们可以在单元中有两个以上的状态。类似于常规SLC,在每个给定的时间,我们使用每两个状态来写入一个位信息。以这种方式,设备存储在需要擦除之前,需要多个位(每次一位)在一个擦除周期期间增加写入单元的数量,或者增加存储在其中的最大逻辑页数一个P / E周期内的物理页面(我们称之为“页面写入”擦除周期“或PWE,即常规SLC闪存中始终为1)。显然,增加PWE将导致设备寿命的改善。
我们提出了每个闪存块的Dense-SLC(D-SLC)闪存三种模式之一:其中的所有页面/单元格都处于2种状态模式(相同)作为传统的SLC),4状态模式(它有两个中间状态;其PWE为三个)或8状态模式(它具有6个中间状态;其PWE为7)。8状态模式块具有最短的保留时间并且适用于存储具有短寿命的数据(例如,小于一小时),而2状态模式块具有最长的保留时间,适合长寿命的数据(例如,大于3天)。 4状态模式具有适度的保留时间,被数据使用的寿命为“10小时至3天寿命”。
结论
我们使用Disksim与Microsoft的SSD扩展为我们的评估建立一个SLC SSD。图1(右)显示在整个设备寿命期间mds_0具有2,4和8状态的块的百分比。这表明我们提出的闪存可以通过将其存储为4和8状态来存储更多的I / O数据模式块(与具有2种状态块模式的常规SLC相比)。由于来自MSR剑桥的15个评估工作量套件,我们的D-SLC设计将设备寿命提高了5.1-8.6倍。上文中详细说明并分析了D-SLC设计。D-SLC的实现需要硬件/软件支持,包括校准闪光灯的参数编程算法和修改块选择和垃圾闪存软件(FTL)的收集算法。
作者:蔡卓妍
来源:51CTO