浅析企业级SSD Multi-Stream Write技术

简介: Multi-stream write(多流写)技术可以使SSD根据主机端提供的Stream ID,将具有相同或相似生命周期的数据写入到相同的擦除单元中去,大大提高了GC时的效率,减少了写放大,使得SSD的性能和寿命都有了较大的提升。

Multi-stream write(多流写)技术是什么?

在企业级存储中经常提到一个关键性的词语"冷热数据分区"。比如Meta data肯定是热数据。把相同生命周期的数据打上标签,告诉SSD盘,SSD盘放置数据的时候,就可以分区存放,会大大减少垃圾回收的工作量。要实现这个功能,阵列软件必须有接口和SSD控制器通讯。除了自研SSD之外,还有一个办法,采用支持Multi-stream write(多流写)技术的SSD。


Multi-stream write(多流写)技术可以使SSD根据主机端提供的Stream ID,将具有相同或相似生命周期的数据写入到相同的擦除单元中去,大大提高了GC时的效率,减少了写放大,使得SSD的性能和寿命都有了较大的提升。


比较早些时候,这个多流写技术就已经成为SCSI T10的标准,可以用在SAS/SATA SSD上。在今年5月份发布的NVMe Spec 1.3版本中也看到了Multi-Stream的身影(如下图),也就是说Multi-Stream技术将在NVMe SSD应用场景中发挥优势,继续发光发热。

虽然多流写技术已经是一个标准,此前市场上好像一直只有三星对这个技术比较挚爱。不过,在今年8月份的FMS上,东芝发布的全球首款64层3D闪存的PM5 12Gbit/s SAS系列企业级SSD中也支持多流写入技术(Multi-Stream Write Technology)。后续应该会有更多厂商开始支持这项技术。


Multi-stream write(多流写)技术效果几何?

多流写技术的目的就是将使SSD根据主机端提供的Stream ID,将具有相同或相似生命周期的数据写入到相同的擦除单元中去,这样就是大大提高了GC时的效率,减少了写放大。如下图,采用多流写技术后,在不同workload情况下,SSD的写放大都会降低到接近1,效果非常理想。

(注:数据来自三星官网公布内容)

我们知道写入放大数值越小,越能提升固态使用寿命。多流写技术让NVMe SSD的寿命得到了2倍的提升,如下图。

(注:数据来自三星官网公布内容)

同时,多流写技术对NVMe SSD的IOPS有显著的提升,如下图。最大IOPS是传统SSD IOPS的9倍,这真的是飞一般的感觉~~~

(注:数据来自三星官网公布内容)


相关文章
|
存储 缓存 固态存储
存储性能软件加速库(SPDK)
存储性能软件加速库(SPDK)
|
数据可视化
ShapeNet数据集及dataset代码分析
ShapeNet数据集及dataset代码分析
2385 0
|
固态存储 IDE 开发工具
【实战经验分享】如何对SSD固态硬盘下发SCSI command?
目前可以供用来下发SCSI/ATA Command的工具有很多,比如BusHound, Hdparm, Sg3, Msecli等。其中Msecli是Micron自己的专门用来管理Micron SSD的命令行接口, 对于其他家的SSD是无效的。我们这里主要用的Sg3这个工具
|
消息中间件 存储 网络协议
ZMQ/ZeroMQ简介
ZMQ/ZeroMQ简介
|
存储 固态存储 Linux
BLOCK 层这么多参数都是什么意思?!
每个 request queue 会维护一个 struct queue_limits 结构来描述对应的块设备的硬件参数,这些参数描述了硬件存储单元的组织方式,会影响 block layer 的很多行为,其中部分参数在 `/sys/block//queue/` 下导出 ```c struct request_queue { struct queue_limits limits; ... } `
5324 1
|
监控 调度 开发工具
IO神器blktrace使用介绍
## 前言 1. blktrace的作者正是block io的maintainer,开发此工具,可以更好的追踪IO的过程。 2. blktrace 结合btt可以统计一个IO是在调度队列停留的时间长,还是在硬件上消耗的时间长,利用这个工具可以协助分析和优化问题。 ## blktrace的原理 一个I/O请求的处理过程,可以梳理为这样一张简单的图: ![](http://image
22358 0
|
7月前
|
存储 缓存 调度
阿里云Tair KVCache仿真分析:高精度的计算和缓存模拟设计与实现
在大模型推理迈向“智能体时代”的今天,KVCache 已从性能优化手段升级为系统级基础设施,“显存内缓存”模式在长上下文、多轮交互等场景下难以为继,而“以存代算”的多级 KVCache 架构虽突破了容量瓶颈,却引入了一个由模型结构、硬件平台、推理引擎与缓存策略等因素交织而成的高维配置空间。如何在满足 SLO(如延迟、吞吐等服务等级目标)的前提下,找到“时延–吞吐–成本”的最优平衡点,成为规模化部署的核心挑战。
1904 40
阿里云Tair KVCache仿真分析:高精度的计算和缓存模拟设计与实现
|
6月前
|
存储 机器学习/深度学习 人工智能
当我们谈论 AI 推理的 KV Cache,我们在说什么?
本文以《Attention Is All You Need》为起点,深入浅出地解析了 Transformer 架构的核心思想与技术细节。
当我们谈论 AI 推理的 KV Cache,我们在说什么?
|
存储 固态存储 Java
multi-stream SSD 介绍
# NVMe Multi-stream ## 1. 原理介绍 ### 1.1. flash 写操作 在介绍 multi-stream 之前,首先简单介绍一下 flash 写操作的特性。 - SSD 中写操作(write)的单元为 page,page 的大小通常为 2 ~ 64 KB - NAND flash 在对 page 写操作之前,必须对 page 执行擦除操作(er
10257 0
Vue3 子传父 暴露数据 defineExpose
Vue3 子传父 暴露数据 defineExpose
1271 0
Vue3 子传父 暴露数据 defineExpose