分享自:

提高基于对象的NAND闪存设备的写入性能和耐久性

期刊:ACM Transactions on Embedded Computing SystemsDOI:10.1145/3105924

这篇文档属于类型a,是一篇关于提升基于对象的NAND闪存设备写入性能和耐久性的原创研究。以下是详细报告:

主要作者及研究机构
本研究由Jie Guo和Chuhan Min(匹兹堡大学)、Tao Cai(江苏大学)、Yiran Chen(杜克大学)共同完成,于2017年11月发表在《ACM Transactions on Embedded Computing Systems》期刊上。

学术背景
NAND闪存因其制造成本低和非易失性,在现代存储系统中取得了显著成功。然而,NAND闪存存在“先擦除后写入”的限制,导致写入放大(write amplification),进而影响系统性能和耐久性。随着技术节点的缩小,NAND闪存的写入性能和耐久性持续下降,最小化写入放大成为提升闪存存储系统性能和可靠性的关键。
在基于对象的NAND闪存设备(ONFD)中,写入放大的主要来源包括ONode部分更新(onode partial update)和级联更新(cascading update)。ONode是一种小型对象元数据,多个ONode存储在一个NAND闪存页中。更新一个ONode会引发部分页更新,导致未更新数据的迁移。级联更新则由于对象数据更新或迁移,导致对象元数据以级联方式更新。尽管只需更新几个字节的元数据,但整个页或多个页必须重写,造成显著的写入放大。
本研究旨在通过系统设计缓解ONFD中的写入放大问题,提出了多级垃圾回收技术(MLGC)、语义感知灵活数据布局(SAF)、B+表树(B+ table tree)、选择性缓存(selective cache)和电源故障处理技术。

研究流程
1. 多级垃圾回收技术(MLGC)
MLGC通过记录无效字节信息,减少由ONode部分更新引发的数据迁移。MLGC使用字节状态垃圾回收表(byte-state GC table)记录无效字节信息,并通过分组和批量迁移有效数据来减少数据迁移。为了控制内存消耗,MLGC引入了页位图表(page bitmap table)和有限大小的字节状态垃圾回收表。

  1. 语义感知灵活数据布局(SAF)
    SAF通过将对象元数据和对象数据存储在同一页中,减少级联更新。SAF采用默认和扩展两种ONode格式,根据对象数据大小和访问模式动态选择格式。扩展格式允许将对象数据或索引与属性存储在同一页中,减少未更新数据的迁移。

  2. B+表树(B+ table tree)
    B+表树通过虚拟地址(VA)替代物理地址(PA),减少级联更新。B+表树由扩展B+树和页表组成,页表存储虚拟地址与物理地址的映射关系。通过优化页表结构,B+表树有效减少了对象索引的更新。

  3. 选择性缓存(selective cache)
    选择性缓存通过缓存更新的对象元数据,减少级联更新。缓存采用数据类型依赖的缓存策略和节点依赖的缓存替换策略,最大化缓存利用率。选择性缓存仅缓存对象索引和更新的属性,减少对NAND闪存的写入操作。

  4. 电源故障处理技术
    电源故障处理技术通过页元数据和可靠电容器恢复系统一致性。页元数据包括对象ID、序列号(SN)和虚拟地址,用于在电源故障后恢复字节状态垃圾回收表、页表和选择性缓存。

主要结果
1. MLGC
实验结果表明,MLGC在4MB字节状态垃圾回收表下,平均减少了11%的页写入操作,ONode写入操作减少了65%。在读取密集型工作负载下,MLGC的页写入操作减少了83%。

  1. B+表树
    B+表树在TPCC工作负载下,页写入操作减少了9%,对象索引写入操作减少了77%,ONode写入操作减少了35%。在顺序写入工作负载下,B+表树的写入操作减少较少,但仍显著降低了对象索引的更新。

  2. 选择性缓存
    选择性缓存在2MB缓存下,页写入操作平均减少了15%,对象索引写入操作减少了90%。在TPCC工作负载下,页写入操作减少了30%,对象索引写入操作减少了95%。

  3. SAF数据布局
    SAF数据布局在IPAGE工作负载下,页写入操作减少了6%。在大型文件写入工作负载下,SAF的写入性能提升较小。

结论
本研究通过MLGC、SAF数据布局、B+表树和选择性缓存,有效减少了ONFD中的写入放大问题。实验结果表明,与现有技术相比,本研究提出的设计在页写入操作上减少了20%,系统寿命延长了76%。这些技术不仅提升了NAND闪存的写入性能和耐久性,还为未来闪存存储系统的优化提供了新的思路。

研究亮点
1. 多级垃圾回收技术(MLGC):通过分组和批量迁移有效数据,显著减少了ONode部分更新引发的数据迁移。 2. 语义感知灵活数据布局(SAF):根据对象数据大小和访问模式动态选择ONode格式,减少未更新数据的迁移。 3. B+表树(B+ table tree):通过虚拟地址替代物理地址,减少了对象索引的级联更新。 4. 选择性缓存(selective cache):通过缓存更新的对象元数据,最大化缓存利用率,减少对NAND闪存的写入操作。

其他有价值内容
本研究还提出了电源故障处理技术,通过页元数据和可靠电容器恢复系统一致性,确保在电源故障后系统能够快速恢复。这一技术为NAND闪存存储系统的可靠性提供了重要保障。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com