用于字节访问SSD的新架构-工作原理

在伊利诺伊大学厄本那-香槟分校,开发了FlatFlash技术,使内存密集型应用程序的性能提高了一倍。


照片-Michael Bobella -CC BY-SA

为什么需要新的架构


SSD具有很高的读/写速度。 因此,它们被用作高性能计算中RAM的扩展。 为了与“组合”内存进行交互,SSD和DIMM使用一种称为虚拟内存的管理方法。 这意味着使用页面交换在RAM和驱动器之间自动移动程序的某些部分。 但是,这种方法有几个缺点。

第一个缺点是,当触发页面中断并从磁盘加载新页面时,您必须复制“额外”数据(即使您需要页面上的某些信息,仍会整体复制它)。

第二个-如果应用程序使用的数据集超出了RAM的数量,则会发生所谓的“页面滑移”。 系统处于交换的恒定状态,经常交换内存中的数据和磁盘上的数据,从而损害了应用程序。

为了应对这些挑战,伊利诺伊大学香槟分校(UUIC)和IBM Research的工程师团队提出了一种新的内存架构。 这意味着可能逐字节访问SSD。 从理论上讲,这种方法将减少数据交换的成本。 开发称为FlatFlash。

如何运作?


为了配置系统,工程师使用PCIe标准,尤其是其索引寄存器集(基址寄存器,BAR)。 在他们的帮助下,FlatFlash将内存分配表数据传输到主机,以便BIOS和操作系统完成必要的标记。

标记后,SSD和DRAM合并在一个平面地址空间中。 这种方法使处理器能够使用PCIe MMIO机制直接将请求(加载/写入)发送到固态驱动器。 主机桥负责处理并将呼叫重定向到这些内存部分。

至于数据到相应地址空间的映射,此任务直接由SSD执行。 开发人员使用安装在SSD控制器中的DRAM作为缓存。 它存储您需要逐字节访问的页面。 使用BAR寄存器之一实现字节请求。


意见


UUIC专家使用Linux SSD模拟器测试了新方法的性能。 根据数据( PDF,第10页),FlatFlash能够以2.3倍的密集内存消耗来提高应用程序性能。 与“干净”的DRA​​M系统相比,该架构将成本/性能比提高了3.8倍。

Hacker News的一些居民对这项技术给予了积极评价。 该站点的一位用户指出,新架构将允许操作系统从使用内存中抽象出来。 PCIe设备将响应读取和写入请求。 另一个优点是,SSD和主机之间的通道是“卸载”的,因为不需要将整个页面发送到内存。 UUIC表示,它可以延长固态硬盘的使用寿命。


照片-Gamaliel Espinoza Macedo -CC BY /照片裁剪

但是,HN的另一位居民对FlatFlash如何解决内存加速和阻塞问题很感兴趣,因为伊利诺伊大学的工程师的工作并未涵盖该问题,并且类似的技术可能在该领域遇到问题。

前景展望


IT行业开发和实施技术,UUIC的专家们的新发展将能够从中获得更多的好处。 第一个是PCIe 5.0,PCI-SIG联盟于今年5月批准了该规范。 该总线具有32 GT / s的传输速度和信号完整性控制机制。

第二种技术是由Intel和Micron开发的基于3DXpoint技术的Optane内存。 它本身具有比闪存更高的读/写速度。 最新的英特尔产品之一具有 2500 MB / s的顺序读取速度。 对于记录,该数字为2000 MB / s。

结论


公司越来越多地在其数据中心中实施固态驱动器。 该寄存器指出,SSD的总供应量在2021年增加到 3.13亿个(2016年为1.57亿个)。 我们可以预料会出现类似于FlatFlash的新技术。

这样的系统已经存在-两年前,来自加利福尼亚大学的一组工程师介绍了 PebbleSSD技术。 还可以使用带有字节寻址的元数据逐字节访问驱动器。 将来,此类解决方案将越来越多地出现。



ITGLOBAL.COM是私有云和混合云以及其他旨在开发客户IT基础架构的服务的提供商。 我们在公司博客中写的内容:

Source: https://habr.com/ru/post/zh-CN455170/


All Articles