0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVMe标准更新定义了一个软件接口

SSDFans 来源:ssdfans 2020-08-21 16:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今年6月,NVMe标准更新定义了一个软件接口,以帮助SSD和NAND闪存实际工作时读写到硬盘的方式。

区别于模仿从硬盘和早期存储技术继承的传统块设备模型,新的NVMe ZNS (NVMe Zoned Namespaces)可选特性允许SSD在闪存上实现不同的存储抽象。这与SASSATA为适应SMR硬盘而添加的扩展非常相似,还有一些为SSD做的额外扩展。带有这个新特性的“分区”SSD可以提供比普通SSD更好的性能,同时需要的配置更加精简,所需DRAM更少。缺点是应用程序和操作系统必须更新以支持分区存储,目前这项工作正在顺利进行。

NVMe ZNS规范构建在当前的NVMe 1.4规范之上,为NVMe2.0做准备,已经作为一项技术提案得到批准和发布。即将到来的NVMe 2.0规范将包含所有获批准的技术提议,ZNS的标准化为NVMe 2.0更广泛的商业化和应用扫清了道路,目前NVMe 2.0一直受到特定于供应商的分区存储接口和有限硬件选择的阻碍。

分区存储概述

使用闪存作为固态硬盘的根本挑战是:我们所有的计算机都是围绕着硬盘如何工作的概念构建的,而闪存的行为与硬盘不同。闪存的组织方式与机械硬盘非常不同,为了提升闪存的性能,对计算机进行优化变成一项值得投入的工作。

机械硬盘是一种类似的存储介质,没有固有的结构来规定扇区大小等特性。长期选择512字节扇区标准只是为了方便,现在当我们达到多TB范围的硬盘容量时,企业硬盘支持4K字节扇区。相比之下,闪存芯片的设计中包含了好几层结构,最重要的指标是页面大小和擦除块大小。可以使用页大小粒度(通常是几个KB)读取数据、写入空页,擦除操作可以清除整个块(多MB)。读/程序操作和擦除操作之间的实际大小不匹配是一个普通机械硬盘不必处理的复杂问题。闪存有限的编程/擦除周期也增加了挑战,因为写入次数越少,寿命就越长。

如今,几乎所有的SSD都是作为具有512字节或4kB扇区的简单类HDD块存储设备的抽象呈现给软件的。这隐藏了SSD的所有复杂性,如页面和擦除块大小、磨损均衡和垃圾回收等。这种抽象也是SSD控制器和固件比硬盘控制器更大、更复杂(更容易出错)的部分原因。大多数情况下,块设备抽象仍然是最优的折衷方法,它允许软件无需修改就可以享受闪存的大部分性能优势,而对于写入扩展等缺点也在可管理范围内。

多年来,存储行业一直在探索块存储抽象的替代方法。有几个关于Open Channel SSD的建议,它们将闪存的许多细节直接暴露给主机系统,将SSD固件的许多职责转移到运行在主机CPU上的软件上。已经推广的各种Open Channel SSD标准在各个领域取得了不同的平衡(在具有完全驱动管理的FTL(flash translation layer)的典型SSD和完全软件管理的解决方案之间平衡)。业界一致认为,最早的一些标准,如LightNVM 1.x规范,暴露了太多的细节,需要软件处理不同供应商闪存之间的差异,或SLC, MLC, TLC等之间的差异。较新的标准寻求更好的平衡和抽象级别,以便更容易大规模推广应用,同时允许软件绕过典型SSD的低效率特性。

为了从另一个方向解决这个问题,NVMe标准已经获得了一些特性,允许SSD与主机共享更多关于数据访问和布局的最佳模式信息。在很大程度上,这些都是软件可以利用的可选特性,没有意识到这些特性的软件仍然可以正常工作。NVMe规范的过去几次修订中添加了指令和流、NVM集、可预测的延迟模式等,以使软件和SSD能够更好地协作。

最近,受硬盘市场的影响,第三种方法的势头正在增强。SMR是一种技术,部分重叠的轨道机械硬盘盘片可以增加存储密度。这种方法的缺点是,直接修改任意字节的数据而不破坏相邻重叠的磁道是不可能的,因此SMR硬盘将磁道分组到区域中,只允许在区域内顺序写操作。这对包括随机写操作的工作负载具有严重的性能影响,也是SMR硬盘在市场上受到褒贬不一的部分原因。然而,在服务器存储市场中,主机管理的SMR也是一个可行的选择:它要求操作系统、文件系统和应用程序软件能够直接感知区域,但在使用环境受控时,进行必要的软件更改并不是不可克服的挑战。

用于SMR硬盘的分区存储模型也非常适合与FLASH一起使用,它是NVMe ZNS的前身。SMR硬盘的类区域结构反映了SSD的页和擦除块结构。对写的限制不是完全匹配的,但已经足够接近了。

后面我们将介绍什么是NVMe ZNS,以及它的重要性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SSD
    SSD
    +关注

    关注

    21

    文章

    3061

    浏览量

    121765
  • 应用程序
    +关注

    关注

    38

    文章

    3342

    浏览量

    59914
  • nvme
    +关注

    关注

    0

    文章

    287

    浏览量

    23715

原文标题:为什么NVMe SSD需要分区存储?

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    比斯特550D系列智能电动点焊机:重新定义高效焊接新标准

    比斯特550D系列智能电动点焊机,以技术创新重新定义高效焊接的标准。其DSP技术、模块化设计、智能交互与多领域适配能力,满足了当前制造业对精度、效率与安全性的严苛要求,无疑是为整个焊接行业树立了
    的头像 发表于 11-27 15:17 185次阅读

    NVMe高速传输之摆脱XDMA设计30: NVMe 设备模型设计

    /O 提交队列进程。 为与待测设计匹配, NVMe 设备模型支持最大 16 I/O 提交队列. B站已给出相关性能的视频,如想进步了解,请搜索B站用户:专注与守望 链接:https
    发表于 09-29 09:31

    NVMe高速传输之摆脱XDMA设计18:UVM验证平台

    NVMe over PCIe采用 AXI4-Lite 接口、AXI4 接口和 PCIe3.0X4 接口,其中AXI4-Lite 和 AXI4 总线
    发表于 07-31 16:39

    软件定义汽车如何影响汽车行业

    软件定义汽车(SDV)是指些关键功能(如驾驶辅助、信息娱乐系统,甚至核心车辆行为)都由软件实现、控制并更新的汽车。
    的头像 发表于 07-01 16:21 752次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>汽车如何影响汽车行业

    NVMe IP高速传输却不依赖便利的XDMA设计之三:系统架构

    ) 使用 AXI 总线接口。 设计使用标准化的 AXI 总线接口提供系统控制和数据传输功能, 在保证传输性能的同时, 更容易集成到应用环境中。 (5) 多队列并行管理与动态配置。 支
    发表于 06-29 17:42

    NVMe协议研究扫盲

    的不断发展,这些接口协议已成为关键的性能瓶颈。为了解决这问题,存储供应商制定种新的接口规范,即NV
    发表于 06-02 23:28

    福田欧曼银河9重新定义全球重卡标准

    产品升级与行业进步,欧曼银河9以“用户思维”为核心,深度洞察物流从业者、运输企业及车队管理者的真实痛点,通过场景化创新、人性化设计、智能化服务,打造款真正“懂用户、为用户”的旗舰重卡,重新定义全球重卡
    的头像 发表于 05-23 15:08 742次阅读

    软件定义汽车如何改变未来出行

    汽车行业正加速驶入软件定义汽车 (SDV) 主导的新时代。这些车辆不再只是交通工具,而是
    的头像 发表于 05-20 09:52 742次阅读

    NVMe协议简介2

    通过PCIe进行,使用PCIe的存储读写TLP请求。指令的提交与完成机制如图1所示,图中展示的指令提交与完成步骤如下: 图1 NVMe指令提交与完成步骤图 (1)主机控制器向提交队列写入或多个提交命令
    发表于 05-15 23:15

    NVMe协议简要分析

    NVMe之PRP数据格式 PRP Entry只能指向物理页。NVMe协议中只
    发表于 05-15 00:34

    NVMe协议分析

    NVM Express(NVMe)是种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于
    的头像 发表于 05-15 00:29 2421次阅读
    <b class='flag-5'>NVMe</b>协议分析

    NVMe控制器IP设计之接口转换

    这是NVMe控制器IP设计系列博客之,其他的见本博客或csdn搜用户名:tiantianuser。相关视频见B站用户名:专注与守望。 接口转换模块负责完成AXI4接口与控制器内部的自
    发表于 05-10 14:33

    NVME控制器之队列管理模块

    了完成队列缓存的设计,对完成信息的解析工作通过组合逻辑电路对其进行实时检测,而不用通过中断来通知NVMe Host检查,从而可以提高NVMe命令的执行效率,并节省了大量的存储资源。 提交队列内部由
    发表于 05-03 20:19

    NVME控制器设计1

    硬件实现降低了命令交互的延迟和 PRP 寻址机制的过程延迟, 另方面通过结构的设计继承软件协议栈的灵活性, 这使得系统即使在不同的应用场景下也能充分发挥性能优势。 如图1所示 NVMe
    发表于 04-24 09:45

    RCA接口定义和应用

    RCA接口,全称为Radio Corporation Of America接口,因其外观类似莲花,俗称莲花插座或AV接口。以下是对RCA接口定义
    的头像 发表于 02-17 15:25 1w次阅读