EETOP创芯网(易特创芯):国内著名的老牌电子工程师社区及半导体行业门户网站(150万会员)
www.eetop.cn bbs.eetop.cn
blog.eetop.cn edu.eetop.cn
来源:EETOP编译自anandtech
今年6月,我们看到了NVMe标准的更新。该更新定义了一个软件接口,以通过SSD和NAND闪存实际工作的方式帮助实际读写驱动器。
新的NVMe分区命名空间可选功能取代了SSD从硬盘驱动器和较早的存储技术继承而来的传统块设备模型,而是允许SSD在闪存上实现不同的存储抽象。这与SAS和SATA为适应SMR硬盘而添加的扩展非常相似,但对SSD来说却有一些额外的功能。具有这种新功能的 "分区 "固态硬盘可以提供比普通固态硬盘更好的性能,减少过度配置和减少DRAM。缺点是应用程序和操作系统必须更新以支持分区存储,目前这项工作正在进行中。
NVMe分区命名空间(ZNS)规范已被批准并作为技术提案发布。它建立在当前NVMe 1.4a规范的基础上,为NVMe 2.0做准备。即将发布的NVMe 2.0规范将整合所有已批准的技术提案,但也将同样的功能重新组织成多个较小的组件文件:一个基础规范(针对块、分区、键值的每个命令集,以及未来可能出现的更多命令集),以及针对每个传输协议(PCIe、RDMA、TCP)的单独规范。分区命名空间的标准化为这项技术更广泛的商业化和采用扫清了道路,到目前为止,这项技术一直受到厂商特定分区存储接口和非常有限的硬件选择的阻碍。
将闪存用于固态硬盘的根本挑战是,我们所有的计算机都是围绕着硬盘工作的概念而建立的,而闪存的表现并不像硬盘。闪存的组织结构与硬盘驱动器有很大的不同,因此,针对闪存增强的性能特点来优化我们的计算机,将使它值得一试。磁盘是一种相当模拟的存储介质,没有固有的结构来决定扇区大小等特征。选择512字节扇区标准只是为了方便起见,当我们的硬盘容量达到多TB范围时,企业级硬盘现在支持4K字节扇区。相比之下,闪存芯片在设计中内置了几个层次的结构。最重要的数字是页面大小和擦除块大小。数据可以以页大小的粒度(通常在几kB的数量级)进行读取,空页可以通过程序操作写入,但擦除操作要清除整个多MB块。读取/程序操作和擦除操作之间的大量大小不匹配是普通机械硬盘不必处理的复杂问题。闪存有限的程序/擦除周期持久性也增加了挑战,因为写入次数减少会增加寿命。如今,几乎所有的SSD都是作为具有512字节或4kB扇区的简单的类似HDD的块存储设备的抽象形式呈现给软件的。这掩盖了我们多年来详细介绍的SSD的所有复杂性,例如页面和擦除块的大小,损耗均衡和垃圾回收。这种抽象也是为什么SSD控制器和固件比硬盘驱动器控制器更大,更复杂(更容易出错)的一部分。在大多数情况下,块设备抽象仍然是正确的折衷方案,因为它允许未经修改的软件享受闪存的大部分性能优势,并且诸如而写入扩展等缺点是可管理的。多年来,存储行业一直在探索块存储抽象的替代方法。对于开放通道SSD,已经有一些建议,这些建议将闪存的许多细节直接开放给主机系统,将SSD固件的许多职责移交给了在主机CPU上运行的软件。从具有完全驱动器管理的闪存转换层(FTL)的典型SSD到完全由软件管理的解决方案之间,已推广的各种开放通道SSD标准已在频谱上达到了不同的平衡。业界一致认为,某些最早的标准,例如LightNVM 1.x规范,由于开放了太多细节,需要软件来处理不同供应商的闪存之间或SLC,MLC,TLC等之间的某些差异。较新的标准已寻求找到更好的平衡和抽象水平,以便更易于大规模采用同时仍允许软件绕过典型SSD的低效率。从另一个方向解决该问题,NVMe标准已经获得了一些功能,这些功能允许驱动器与主机共享有关数据访问和布局的最佳模式的更多信息。在大多数情况下,这些是软件可以利用的提示和可选功能。之所以可行,是因为不了解这些功能的软件仍将照常运行。在过去的NVMe规范修订版中,已添加了指令和流,NVM集,可预测的延迟模式以及各种对齐方式和粒度提示,以使软件和SSD可以更好地协作。最近,受硬盘市场的影响,第三种方法获得了发展。带状磁记录(SMR)是一种通过使硬盘驱动器盘片上的磁道部分重叠来增加存储密度的技术。这种方法的缺点是,不再可能直接修改任意字节的数据而不破坏相邻重叠的磁道,因此SMR硬盘驱动器将磁道分组到区域中,只允许在区域内顺序写操作。这对包括随机写操作的工作负载具有严重的性能影响,这也是驱动器管理的SMR硬盘在市场上受到褒贬不一的部分原因。然而,在服务器存储市场中,主机管理的SMR也是一个可行的选择:它要求操作系统、文件系统和应用程序软件能够直接感知区域,但在使用受控环境时,进行必要的软件更改并不是不可克服的挑战。事实证明,用于SMR硬盘的分区存储模型也非常适合与闪存配合使用,并且是NVMe分区命名空间的前身。SMR硬盘驱动器的区域状结构反映了SSD的页面和擦除块结构。写入限制并不完全匹配,但已经足够接近了。
资料推荐