首页 > 其他分享 >ZNS SSD简介

ZNS SSD简介

时间:2022-11-23 16:55:29浏览次数:64  
标签:zone 写入 Storage ZNS 2020 简介 SSD

传统SSD

SSD是Solid State Drive(固态硬盘)。一块SSD封装有10-100个NAND芯片和一个SSD控制器。SSD控制器通过接口来管理NAND芯片并且向用户提供服务,其中NVMe就属于一种接口。

NVMe是Non Volatile Memory Host Controller Interface Specification。曾经广泛使用的SATA接口传输速度太慢,拖了SSD的后腿。NVMe性能高,可以自动适配很多平台,无需厂家提供驱动。

img

图片来源: 2020 Storage Developer Conference. © Western Digital, Inc. All Rights Reserved.

在传统的SSD中,管理SSD的软件叫做flash translation layer(FTL)。主要的任务是将逻辑块映射到物理地址。不同的文件写入到介质上以后没有办法分开,也就是说不同生命周期的文件存储在相同的擦除单元里。

img

图片来源: 2020 Storage Developer Conference. © Western Digital, Inc. All Rights Reserved.

由于擦除是按擦除单元进行的,要删就要删一整个单元,所以在删掉之前必须要做垃圾回收(garbage collection, GC),也就是说把有用的部分先写到其他的地方,这样原来的擦除单元就可以删掉了。

img

图片来源: 2020 Storage Developer Conference. © Western Digital, Inc. All Rights Reserved.

垃圾回收的开销叫写入放大因数( Write Amplification Factor, WAF),WAF越大,写入吞吐量越低、读出的延迟越高、设备的开销越大、设备寿命越短。

如果在写入的时候,可以把不同的文件就写入到不同的擦除单元里,上面的问题就好解决了。ZNS SSD就可以达到这种要求。

img

图片来源: 2020 Storage Developer Conference. © Western Digital, Inc. All Rights Reserved.

垃圾回收机制需要一定的预留空间( over-provisioning)来存放暂时不需要删掉的信息,影响了吞吐量;而ZNS SSD不需要垃圾回收,写入吞吐量明显大很多。

img

ZNS SSD

ZNS就是Zoned Namespaces的意思,通过NVMe的新规范(https://nvmexpress.org/developers/nvme-specification/)就可以实现。

分区存储模型(Zoned Storage Model)

zone(分区)在namespace(命名空间)里线性分布,所有的zone都要顺序地写入,在再一次写入前必须要先重置。

img

图片来源: 2020 Storage Developer Conference. © Western Digital, Inc. All Rights Reserved.

每个zone都有相关联的属性,如

  • 线性地指向下一个写入单元的写指针

  • 指向第一个LBA(逻辑区块地址,Logical Block Address)的指针:ZSLBA(Zone Starting LBA)

  • Zone容量,用可写入的LBA的数量表示

  • zone状态,包括读写访问规则

img

图片来源: The NVM Express Zoned Namespace Command Set 1.0 specification

分区大小(zone size)和分区容量(zone capacity)

Zone size就是zone里面所有逻辑块的总数,命名空间里的所有zone都是相同的。zone capacity是一个zone里可以写入的LBA的数量,也就是可用的逻辑块总数(一个LBA对应一个逻辑块)。通常是固定的,但是标准允许它变。分区容量总是小于等于分区大小。

img

图片来源: 2020 Storage Developer Conference. © Western Digital, Inc. All Rights Reserved.

分区状态(zone state)

每一个zone都有一个状态机,LBA是否可读写就取决于它的状态。

img

img

图片来源: The NVM Express Zoned Namespace Command Set 1.0 specification

分区资源限制(Zone Resources Limits)

ZNS标准允许控制器设置同时能够在隐式、显式开放状态下的zone总数,还可以定义活跃zone的总数。

分区命名空间指令集(Zoned Namespace Command Set)

就是NVMe的那一套,包括命名空间、控制器的数据结构和 Flush (0h), Read (1h), Write (2h), Verify (0Ch) 。

img

图片来源: 2020 Storage Developer Conference. © Western Digital, Inc. All Rights Reserved.

写入的时候为什么要用Append

NVMe标准允许设备以任何顺序执行指令,但是在一个zone里面必须要顺序写入。所以必须要把写入指令排好顺序。由于SSD本来就很快,需要消耗很多CPU资源,这样一来开销更大,因此要改用append指令。

append指令需要3个参数:ZSLBA,数据长度,数据缓存区。

img

参考

  1. https://snia.org/sites/default/files/SDC/2020/075-Bj%C3%B8rling-Zoned-Namespaces-ZNS-SSDs.pdf

  2. https://zonedstorage.io/docs/introduction/zns

标签:zone,写入,Storage,ZNS,2020,简介,SSD
From: https://www.cnblogs.com/hushrush/p/16918925.html

相关文章

  • Windows Server 2003 为用户“NT AUTHORITY/NETWORK SERVICE”授予的权限不足,无法执行
    在VISTA,Win7,Server2008操作系统里建立SQL报表时使用reportview访问报表时提示下面错误:为用户“NTAUTHORITY/NETWORKSERVICE”授予的权限不足,无法执行此操作。(rsAcc......
  • ASP.NET Core 简介
    ASP.NETCore是啥ASP.NETCore是一个跨平台的高性能开源框架,用于生成启用云且连接Internet的新式应用。ASP.NETCore可以干啥生成Web应用和服务、物联网(IoT)应......
  • C#中default关键字用法简介
    C#关键词default函数,default(T)可以得到该类型的(默认值)C#在类初始化时,会给未显示赋值的字段、属性赋上默认值,但是值变量却不会。值变量可以使用默认构造函数赋值,或者使......
  • freecplus框架简介
    文章目录​​一、freecplus框架简介​​​​二、freecplus开源许可协议​​​​三、freecplus框架内容​​​​字符串操作​​​​2、xml解析​​​​3、日期时间​​​​4......
  • 无聊拆了一个SSD看看颗粒是啥样的 镁光M500
    如图   ......
  • MySQL数据库简介与基本语法
    目录一、MySQL数据库1.简介2.用管理员身份登录3.密码相关操作4.SQL与NoSQL5.数据库重要概念二、MySQL基本语句1.基于库的增删改查2.基于表的增删改查3.基于记录的增删改查4......
  • MySQL简介、下载、密码修改及基本使用
    目录存取数据的演变史数据库软件应用史数据库的本质数据库的分类MySQL简介MySQL基本使用系统服务的制作密码相关操作SQL与NoSQL数据库重要概念基本SQL语句存取数据的演变......
  • MySQL简介与MySQL基本语句
    目录一、存取数据的演变史1.文本文件存取数据2.软件开发目录规范>>>被框架替代3.数据库服务4.数据库软件的应用史二、数据库1.数据库的本质(1)从底层原理来看(2)从实际应用上来......
  • mysql简介与安装
    存取数据演变史1.文本文件​ 文件路径不固定数据的格式也不统一2.软件开发目录​ 规定了数据应该保存在db目录下,路径统一了但是数据格式还是没有得到统一。​ 对......
  • 某夏露官方网传播 RootKit.Win32.RESSDT.o/Trojan-Downloader.Win32.Agent.mjp
    某夏露官方网传播RootKit.Win32.RESSDT.o/Trojan-Downloader.Win32.Agent.mjpendurer原创2008-04-09第1版该网站首页包含代码:/---<iframesrc=hxxp://***.look**des*t**.......