如何管理开放通道SSD和自我管理SSD

日期: 2024-06-10 来源:TechTarget中国

开放通道SSD将部分SSD管理任务从SSD转交到服务器。转移磨损管理、垃圾回收和调度等管理任务可以使该系统受益如果在了解应用程序工作负载的情况下进行管理。

下面我们比较SSD控制器在自管理SSD中执行关键任务与它们在开放通道SSD中的操作方式。

磨损管理

闪存位在经历太多次的写入后就会磨损。通过数据放置,自我管理的SSD会移动这些写入,试图给所有单元提供相同数量的写入。标准SSD中的数据永远不会在主机请求的位置。相反,它被映射到SSD控制器确定的位置。这种映射不仅涉及主机可见的闪存,还涉及隐藏的过度配置的闪存。

而开放通道SSD将数据放置任务移交到主机,使主机完全了解可用的闪存,以及过度配置的闪存。这很有用,因为如果主机知道应用程序的写入工作量低,它可以重新分配过度配置的闪存,使其中一些可供应用程序使用。这种SSD看起来比使用相同数量的闪存制造的自管理SSD更大。

垃圾回收

垃圾回收是指释放NAND闪存块的过程,通过将有效页从部分使用的块移动到另一个块,然后擦除有效页原本所在的块。这就是SSD为新传入数据提供空间的方式。

当垃圾回收在开放通道SSD中的主机控制下时,应用程序可以告知主机更耐受的次数。在其他时候,垃圾回收可能会带来性能问题。

垃圾回收应该在后台进行,以免过多地干扰SSD的预期操作。然而,在典型的固态硬盘中,这个过程似乎通常会妨碍正常运行。SSD不了解主机期望的访问模式,因此它必须猜测执行该过程的最佳时间。

调度

在开放通道SSD中,应用程序可以主动告诉基于主机的调度器工作负载何时发生变化,无论是从高写入到高读取阶段,还是从顺序到随机。该程序还会注意它计划何时安静一段时间,在这种情况下,这可能是SSD写入缓冲区刷新和垃圾回收的好时机。

在自我管理的SSD中,主机运行发出命令的应用程序。与此同时,SSD必须在这些看似随机的主机请求之间找到时间,以执行垃圾回收,将合并缓冲区写入闪存,并擦除未使用的块。此操作干扰了同一NAND闪存芯片中的其他操作。这些操作的管理根本没有与基于主机的应用程序同步。

自我管理的SSD解决这个问题的方法是尝试猜测主机的访问模式,并采用适合的时间表。

相反,如果应用程序的写入负载异常高,主机可以将SSD内部闪存的更大份额分配给过度配置。这减少了应用程序可用的存储量,以换取更好的性能和更长的使用寿命。

开放通道SSD还管理写入聚合,这是另一种磨损管理技术。重复写入单个位置,或写入一系列相邻位置,在RAM中缓冲,直到有足够的数据来填充闪存页面。这个过程可以将很多写入变成可管理的小数字。所有写入缓冲和合并都在服务器主内存的缓冲区中执行。

自我管理的SSD在写入缓冲区中执行写入聚合,写入缓存区位于SSD控制器芯片的内部静态RAM或外部动态RAM芯片中,这取决于控制器的架构师所选择的成本和性能权衡。

应用程序必须适应这些SSD

从开放通道SSD中受益的唯一方法是使用理解它们并可以与基于主机的SSD管理软件通信的应用程序。如果该SSD作为独立进程执行,而不知道应用程序,那么让主机控制这些SSD无济于事。这与自我管理的固态硬盘相比没有优势。因此,使用现成软件的数据中心无法利用开放通道SSD,因为这些程序很少支持开放通道SSD架构。

商业软件往往是为现有的硬件安装基础所编写。在没有充分理由的情况下,这种安装基础通常不会转换为不同的硬件。而没有软件,这个原因就不存在。这是一个恶性循环。

通常只有超大规模企业使用开放通道SSD,这应该不足为奇,因为这些企业完全控制其应用程序软件,并可以对其进行修改以管理固态硬盘。超大规模数据中心看到重写应用程序以利用新型硬件的好处,如果它可以帮助降低成本的话。如果管理员可以在10万台服务器上各节省10美元,那么5亿美元的软件重写工作就很值得。

在企业PCIe SSD的早期阶段,这个概念最初由Fusion-io使用,随后被废弃,但几年后开始在中国超大规模企业百度重新出现。从那时起,其他超大规模者开始大量部署它。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐