IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ZNS的前世今生 -> 正文阅读

[系统运维]ZNS的前世今生

ZNS的前世今生

Linux Turning Off The Light

Linux 内核5.15开始即将移除对LightNVM的支持(链接),作为Open-Channel SSD的上层协议栈伙伴,皮之不存,毛将焉附,难道Open-Channel SSD就此走向灭亡了么?答案是否定的,因为Open-Channel进化出了更合适的协议----- Zoned Namespace, 下文简称ZNS

Zoned Storage

介绍ZNS SSD之前, 有必要介绍一下Zoned Storage(分区存储), 其实ZNS SSD是Zoned Storage设备的一种实现 Zoned Storage设备是将address space分成多个zones, 不同于标准块设备的读写, Zoned Storage设备没有读限制但有写限制:必须顺序写,每个zone有一个write pointer去记录下一次要写的位置,数据不能覆写, 要写之前,必须先利用特别的命令进行擦除,这个限制几乎就是为NAND量身定制一样。
在这里插入图片描述

生态支持

  • 一项技术的推广,离不开标准化,相较于独立的Open-Channel协议标准,ZNS加入了NVME2.0协议标准, 这样配合nvme协议的多namespace机制,比如一个namespace支持标准盘,另一个namespace支持ZNS。使nvme协议更多元同时, 也为用户提供了多重选择, 而不像Open-Channel SSD作为非标盘与标准盘很明显的界限

  • 相较于Open-Channel SSD 相对单一的生态[上文提到的LightNVM], Zoned storage设备得到了Linux 生态更广泛的支持,设备驱动,文件系统,Device Mapper等多维度支持。下图为Zoned storage设备Linux内核IO协议栈。
    在这里插入图片描述

  • 硬件中除了基于Flash的SSD, SMR HDD(叠瓦式)也支持Zoned Storage, 传统硬盘与SSD结合 共享统一的协议栈,有利于数据中心的部署,更有利于存储发展

ZNS的优势

  • IO隔离
    ZNS与Open-Channel一样,实现了IO分离
    传统SSD,在host 以块设备形式暴露给主机,而在SSD内部FTL建立了LBA与物理NAND块的映射。因此NAND物理层面上并发性被屏蔽掉,故不能充分发挥NAND的并发性。数据的存放也是随机的,冷热数据不分,而Open-Channel SSD以及ZNS则直接将NAND物理地址或者并发单元暴露给主机。充分发挥NAND并发特性,并做到了应用隔离,提高了性能同时,并且可以做到更智能的数据存放
    在这里插入图片描述

  • 可预测的latency
    传统SSD, 空盘性能与满盘性能差别非常大, 其主要原因是NAND颗粒,不能像内存一样覆写,而是必须先擦后写,所以在SSD内部有Garbage Collection(GC)流程, 当GC一旦启动时,性能会受影响。而GC流程又是对用户透明, 用户完全控制不了。而Open-Channel SSD以及ZNS是在host端建立FTL,以及直接运用文件系统, 离业务越近,业务更能根据持久化介质的特性,去做合适动作,保证性能同时,更保证了业务的QoS

  • 写放大更小
    传统SSD,GC流程的引入,存在了写放大。虽然文件系统支持了Trim指令,但是依然不能彻底解决此问题, 写放大缩减了SSD的寿命,而基于ZNS以及Open-Channel的SSD在盘的视角来看没有写放大,或者说在整个IO协议栈流程中, 能够将写放大降低到比较小的程度

  • 更小的TCO
    传统SSD, 基本上满足1GB/1T的DRAM需求,对于一些消费级SSD, 虽然也存在Dram Less的形态,但是性能却有折扣,而Open-Channel SSD以及ZNS SSD则只需要更小的或者不需要Dram 资源。同时也不需要额外提供OP,降低了单盘造价。在颗粒的适配上也更简单,尤其是TLC与QLC差异上,传统SSD在处理上存在的不便,ZNS则能够很好避免。

ZNS应用场景

Zone Namespace SSD存在着诸多优势,但是也存在着消耗主机算力的天然弱点,但Open-Channel/ZNS之所以被选中,究其原因是: 传统存储IO协议栈存在着Log-on-Log现象, 即采用分层堆叠的IO协议栈,会在每一层加上元数据, 造成了写放大(见下图)。数据存放也由于分层抽象原因变得杂乱无章,每一层次GC的存在,更加剧了写放大。 一个IO从用户发起到最后存盘,那是波澜壮阔的一生链接,软件堆叠又总是寄希望于加入一个抽象层来解决扩展问题,但庞大的IO协议栈在现代SSD中已经出现了瓶颈, 通用性造成IO过五关斩六将,那么基于性能以及QoS的系统则希望IO能够单刀直入,这也是ZNS, 用户态驱动DPDK/SPDK能够磅礴发展的原因。比如说文件系统的日志模块,都是临时性的写入,存在极大的空间浪费。如果采用LSM-tree机制KV存储以及用户态日志型的文件系统诸如:LevelDB/RocksDB等 对接的是Zone Namespace SSD以及Open-Channel SSD,则可以做到将三层做聚合, 避免了不必要的日志产生, 提高了文件系统的性能同时,文件系统也可以有意识性地根据存储介质的特征,在适当时间启动GC, 保证了文件系统的QoS, 使业务运行更为平顺。
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 14:11:49  更:2021-10-07 14:12:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:42:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码