18.luck新利
的意见

名字(空格)里有什么?优化SSD控制器性能与验证

使用两个SSD命名空间替代方案解决传统块存储的缺点。

受欢迎程度

固态硬盘(ssd)已经成为当今和未来巨大的数据传输和存储需求的有前途的解决方案。ssd本身也在不断升级其关键组件,以提供更高的访问速度。NVMe规范中的一个这样的组件是通过将非易失性内存(NVM)划分为通常所说的名称空间来创建的。

名称空间被视为格式化的逻辑块,用于启动ssd中的块存储。典型闪存芯片中的每个块都由大量的页面组成。数据以页的顺序读取并编程到闪存芯片中,但以块的顺序删除数据。要对页面重新编程,必须首先擦除整个块。SSD在生命周期到期之前支持有限数量的这些程序和擦除周期。为了延长SSD的使用寿命,闪存转换层(FTL)执行例行任务,例如垃圾收集,以释放内存空间用于未来的编程,以及磨损均衡,将工作均匀地分布在所有块上,以便所有块同时磨损。

尽管这种类型的名称空间提供了可靠的解决方案,但由于各种原因,它的性能不达标。由于每个数字设备都有一个存储系统,重点应该是设计一种具有成本效益的替代品,它是熟练和可靠的。为了解决传统块存储的缺点,NVMe 2.0规范引入了两种优化性能和满足行业需求的备选方案:分区命名空间(ZNS)和键值命名空间(KV)。

分区名称空间

ZNS ssd为顺序写工作负载提供了优化的性能。这对于超大规模的组织、企业和大型数据存储中心尤其有益。

分区命名空间被划分为多个区域,这些区域由按顺序布局的、不重叠的逻辑块范围组成。根据NVMe 2.0规范,这些区域是“顺序写入必需的”,这意味着数据必须按顺序写入这些区域。为了重写区域中的数据,必须将其重置。主机需要为每个区域维护一个写指针,以便按顺序放置数据。这种数据放置是主机和SSD之间的协作工作。

图1:分区命名空间布局。

每个分区都有与其关联的属性,例如分区大小、分区容量、分区起始逻辑块、分区状态和资源。NVMe ZNS命令集规范给出了为ZNS ssd创建主控制器接口的详尽方法。

如何对区域进行分类完全取决于主机。例如,如果根据数据的生命周期对区域进行分类,那么预期寿命较高的数据将放在一个区域中,预期寿命较低的数据将放在另一个区域中。在随机写工作负载的情况下,当这些区域按顺序写入时,就可以避免为将来的写释放空间而进行过多的垃圾收集。由于垃圾收集对SSD的性能有直接影响,因此减轻垃圾收集对ZNS SSD有利。

图2:数据放置在传统块存储SSD与分区命名空间SSD。

键值命名空间

KV ssd特别适合于非结构化数据,如音乐、照片和zip文件。它们可以为大数据处理带来好处,并可以取代对象存储系统。

键值名称空间表示为可变大小的键值对的集合,而不是传统的逻辑块。这些键-值对由一个最大16字节的键和一个要存储在名称空间中的实际数据的值组成。密钥用于访问KV ssd中的数据,而不是传统块存储中的逻辑块地址。这种新的映射方案消除了实现物理块地址映射所需的转换层。

图3:键值命名空间布局。

在键值存储中,数据不被分割成块,而是存储为映射有唯一键的连续字节集合。删除键时,将擦除与之关联的数据,并释放整个连续物理空间以供将来使用。这可以缓解垃圾收集对SSD性能的负面影响。

图4:传统块存储SSD与键值存储SSD的数据放置。

SSD控制器验证

不幸的是,从传统块存储ssd中拔插后,要插入ZNS ssd或KV ssd并不容易。为了获得这些ssd提供的性能优势,需要修改生态系统(操作系统、应用程序和文件系统)以支持ZNS和KV语义。对于ZNS ssd盘,主机需要根据对主机有利的参数来考虑数据在不同分区中的放置和管理。

NVMe Questa Verification IP (QVIP)用于对支持单一类型命名空间的SSD控制器进行校验,包括传统SSD中的传统块存储命名空间、ZNS SSD中的分区命名空间和KV SSD中的键值命名空间。此外,NVMe QVIP可以根据NVMe 2.0规范为支持多种名称空间类型的SSD提供验证,在NVMe 2.0规范中,SSD支持多种名称空间类型的想法是合理的。

NVMe QVIP符合NVMe 2.0规范和NVM、ZNS、KV命令集的NVMe命令集规范。它为I/O命令和管理命令提供了内置序列库,可用于为模拟测试生成刺激。在启动过程中,可以通过后门进程来支持数据结构的加载和转储。此外,它还提供了一种使用穷举断言进行彻底测试的方法。

NVMe QVIP也支持所有命令集中支持的I/O命令,如flush和reservation命令。一旦生成了一个刺激,它就可以在不同的名称空间上运行。

请参阅白皮书全文使用分区和键值命名空间解锁ssd的全部潜力了解更多关于新引入的ZNS ssd和KV名称空间ssd优于传统基于块存储的ssd的性能特征。本文还详细介绍了NVMe QVIP为验证这些SSD提供的验证支持,并强调了NVMe QVIP测量的性能统计数据,这些统计数据在分析SSD效率时很有用。



留下回复


(注:此名称将公开显示)

Baidu