全景剖析SSD SLC Cache缓存设计原理-2

四、SLC缓存对SSD的寿命是否有优化?

当使用QLC或TLC NAND闪存并将其切换到SLC模式进行写入时,会对闪存的寿命产生以下影响:

  1. 短期寿命提升:

    • SLC模式下,每个存储单元仅存储一个比特数据,相对于QLC或TLC来说,每个单元的状态变化更少,因此每次写入操作对单元的物理损伤较小。

    • 由于SLC模式的单元只需要区分两种电荷状态,其电压窗口更大,信号质量更好,这降低了误码率,增强了数据的稳定性,从而减少了需要进行纠错操作的次数,进一步减轻了单元的负担。

    • 结果是,在SLC模式下进行写入时,NAND闪存的擦写次数(P/E cycles)理论上会显著增加,表现为短期的寿命提升

  1. 长期总体寿命折损:

    • 尽管SLC模式下单个单元的寿命更长,但需要注意的是,SLC模式实际上是利用了一部分QLC或TLC闪存的空间来模拟SLC的行为。这意味着原本设计为存储多位数据的单元现在只能存储一位数据,相当于牺牲了存储密度

    • 因此,为了维持相同的总存储容量,SSD控制器必须使用更多的物理单元来对应同样的逻辑容量,这意味着在SLC模式下写入相同的数据量,实际上会消耗更多物理单元的擦写次数。

    • 例如,如果一个QLC单元在SLC模式下只用作一个SLC单元,那么为了达到同样的存储容量,需要使用四倍数量的QLC单元。虽然单个单元的擦写次数增加了,但由于使用的单元总数也相应增加,长期来看,整体的闪存寿命可能并未得到显著改善,甚至可能因为单元数量的增加而导致更早达到总的P/E周期限制。

  1. 动态调整与缓存策略

    • 实际上,现代SSD在设计时通常采用SLC缓存策略,即利用一部分QLC或TLC NAND以SLC模式工作作为高速写入缓冲区。这种设计允许在短时间内以SLC模式快速接收和暂存新数据,然后再在后台以QLC或TLC模式将这些数据异步迁移到主存储区域。

    • 这种动态调整机制避免了持续以牺牲存储密度的方式运行整个闪存,而是仅在需要加速写入时短暂启用SLC模式。这样既利用了SLC模式下的高速写入优势,又避免了长期对闪存寿命造成过大影响。

所以说,将QLC或TLC NAND切换到SLC模式进行写入可以短期内提高单元的耐用性,若持续以此模式运行整个闪存,由于牺牲存储密度导致的单元数量增加,可能会导致整体闪存寿命并未得到显著提升,甚至可能因为单元数量的增加而提前达到总的P/E周期限制。然而,通过合理运用SLC缓存策略,可以在不显著影响整体寿命的前提下,有效提升写入性能。

因此,实际SSD产品中,SLC模式通常作为一种智能缓存技术被用来临时提升写入速度,而非永久改变整个闪存的工作模式。

五、业内对SLC缓存的优化方案

1.Solidigm提出了“Fast Lane” SLC缓存方案

在传统SSD中,大多数数据在短时间内会从SLC缓存迁移到QLC主存储区。一旦数据被转移到QLC,现有的缓存机制并不具备智能将这些数据重新带回SLC的能力。换言之,一旦数据离开SLC,其后续的访问速度将取决于QLC的性能,而不会因为其访问频率或重要性变化而被重新考虑放入SLC缓存。

图片

“Fast Lane”提出的缓存解决方案同样使用SLC作为写缓冲区,但在此基础上引入了智能缓存机制。这种智能缓存的目标是尽可能多地、尽可能长久地将“热”数据(即访问频率高、近期活跃或对性能敏感的数据)保留在SLC中。这意味着该方案不仅仅是被动地利用数据在SLC中的偶然存在,而是主动监控数据访问模式,识别出“热”数据,并确保这些数据即使在被写入一段时间后,仍能被优先保留在SLC缓存中,以提供持续的高性能访问。

图片

存储驱动程序在识别出数据的“热”、“冷”状态后,会将这些信息以“提示”(hints)的形式传递给SSD固件。SSD固件是嵌入在SSD硬件中的专用软件,负责控制SSD的内部操作,包括数据的读写、缓存管理、错误纠正等。通过接收驱动程序提供的数据热度提示,固件获得了关于数据重要性与访问需求的额外知识。

接收到数据热度提示的SSD固件,会据此调整数据在不同存储介质中的存放策略。具体来说,固件会确保“热”数据存储在“快”介质中,而“冷”数据则存放在“慢”介质中。这里的“快”介质通常指SSD中的高速缓存区域,如SLC(Single-Level Cell)存储层,其特点是读写速度快、延迟低,但成本较高;相反,“慢”介质通常指SSD的主存储区域,如QLC(Quad-Level Cell)存储层,其存储密度高、成本较低,但读写速度和延迟相对较高。

相比传统缓存策略,随着SSD填充率增加、缓存空间相应减小,Fast Lane策略下重要数据快速可用的概率反而更高。原因在于传统策略通常仅基于数据的写入时间(即最近写入的数据优先保留在缓存中)进行缓存决策,这种简单粗放的方法往往无法精准识别出真正重要的“热”数据。在SSD使用过程中,随着可用缓存空间不断缩小,传统策略的不足愈发明显,而Fast Lane通过智能识别和优先保留重要数据,即使在缓存空间有限的情况下也能确保更高的缓存命中率。

图片

实际测试结果显示,当SSD填充率达到50%时,采用Fast Lane缓存策略的系统在QD1(队列深度为1)随机读取速度上,相比于未采用此策略的同类系统,性能提升可达120%。QD1随机读取速度是衡量系统响应速度的一个关键指标,其显著提升说明Fast Lane有效地解决了高填充率下缓存空间不足导致的性能瓶颈问题,极大地增强了系统的即时响应能力和用户体验。

不过,需要注意,Solidigm这个方案需要软件驱动一起配合,整体方案可能对于普通用户不是特别友好。

2.三星基于强化学习(RL) SLC缓存管理技术

这是来自一篇来自三星的之前发布的论文内容,论文详细介绍了基于强化学习(RL)的SLC缓存管理技术,旨在改善使用QLC NAND闪存的固态硬盘(SSD)的写入性能

图片

设计混合SSD时需要考虑两个重要因素:

  • SLC缓存大小:需要权衡容量损失与SLC-to-QLC迁移开销。SLC块容量小于QLC块,SLC区域越大,总容量损失越多。但若SLC区域过小,将导致迁移成本增加、写请求延迟增大及写放大率提高。因此,SLC缓存大小应根据工作负载特征和SSD内部行为(如迁移成本)动态调整。

  • 热/冷分离阈值:考虑到SLC-to-QLC迁移成本,应尽量只在SLC区域写入频繁更新的“热”数据,其他“冷”数据直接写入QLC区域。区分热/冷数据需考虑请求数据大小、目标地址、更新频率等因素。简单启发式方法是基于数据大小,认为小数据更可能为热数据。阈值设定会影响写入SSD缓存的数据量,进而影响性能。

由于现有技术采用固定、经验性设定的参数且不支持运行时调整,论文提出了一种基于强化学习的SLC缓存管理技术。通过观察工作负载模式和混合SSD内部状态,动态确定最优SLC缓存参数,以最大化SSD效率。实验表明,该技术平均可将写吞吐量和写放大因子分别提高77.6%和20.3%

图片

根据论文内容介绍,RL技术更动态地调整SLC缓存大小和热/冷分离阈值。在PC工作负载(频繁更新数据多)中,RL技术分配的SLC块数少于UST,但保持较高的阈值(如512 KB),以尽可能长时间存储热数据。RL技术降低了QLC-to-QLC或SLC-to-SLC垃圾回收开销,与UST相比,其迁移和垃圾回收成本降低65.2%,与DWA相比,QLC写入开销减少。

图片

参考资料:

1.HotStorage20:《Reinforcement Learning-Based SLC Cache Technique for Enhancing SSD Write Performance》

2.Solidigm 2023 FMS:《Evolution of Client SSD Architecture》

3.https://driveshero.com/ssd-dram-cache-vs-slc-cache/

4.https://sabrent.com/blogs/storage/slc-caching

如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • 存储革新:下一代低功耗PCM相变存储器

  • 多层磁介质让HDD容量翻倍,可超过120TB

  • 下一代分层存储方案:CXL SSD

  • 字节跳动入局存储内存SCM

  • 解读“CFMS中国闪存市场峰会”存储技术看点

  • 首个业内DNA存储技术规范发布

  • 如何突破SSD容量提升的瓶颈?

  • 固态存储是未来|浅析SSD架构的演进与创新技术

  • 论文解读:NAND闪存中读电压和LDPC纠错码的高效设计

  • 华为新发布磁电存储“王炸”,到底是什么?

  • SSD LDPC软错误探测方案解读

  • 关于SSD LDPC纠错能力的基础探究

  • 存储系统如何规避数据静默错误?

  • PCIe P2P DMA全景解读

  • 深度解读NVMe计算存储协议

  • 对于超低延迟SSD,IO调度器已经过时了吗?

  • 浅析CXL P2P DMA加速数据传输的原理

  • NVMe over CXL技术如何加速Host与SSD数据传输?

  • 浅析LDPC软解码对SSD延迟的影响

  • 为什么QLC NAND才是ZNS SSD最大的赢家?

  • SSD在AI发展中的关键作用:从高速缓存到数据湖

  • 浅析不同NAND架构的差异与影响

  • SSD基础架构与NAND IO并发问题探讨

  • 字节跳动ZNS SSD应用案例解析

  • CXL崛起:2024启航,2025年开启新时代

  • NVMe SSD:ZNS与FDP对决,你选谁?

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

图片

如果您也想针对存储行业分享自己的想法和经验,诚挚欢迎您的大作。
投稿邮箱:Memory_logger@163.com (投稿就有惊喜哦~)

《存储随笔》自媒体矩阵

图片

更多存储随笔科普视频讲解,请移步B站账号

图片

如您有任何的建议与指正,敬请在文章底部留言,感谢您不吝指教!如有相关合作意向,请后台私信,小编会尽快给您取得联系,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端vue: 使用ElementUI适配国际化

i18n介绍 i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。 前端国际化步骤 1、安装i18n插件 安装插件时候,注意必须指定版本号,不然安装会报错。 npm i vue-i1…

linux 部署安装mongodb教程

现在去官网下载mongodb的tar包,在本地创建文件夹 cd /home wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.17.tgz tar -zxvf mongodb-linux-x86_64-rhel70-4.2.17.tgz mv mongodb-linux-x86_64-rhel70-4.2.17 mongodb cd /home/mongodb mkdir log t…

GAN:对抗式生成网络之图片生成

对抗式生成网络(Adversarial Generative Network, AGN)这一术语在您提供的信息中并未直接出现。通常,在深度学习文献和实践中,与“对抗”和“生成”概念相结合的网络架构指的是生成式对抗网络(Generative Adversarial Networks, GANs)。GANs由Ian Goodfellow等人于2014年…

数据结构之单链表相关刷题

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构 数据结构之单链表的相关知识点及应用-CSDN博客 下面题目基于上面这篇文章: 下面有任何不懂的地方欢迎在评论区留言或…

wangeditor与deaftjs的停止维护,2024编辑器该如何做技术选型(一)

wangeditor暂停维护的声明: wangeditor是国内开发者开发的编辑器,用户也挺多,但是由于作者时间关系,暂停维护。 deaft的弃坑的声明: draft是Facebook开源的,但是也弃坑了,说明设计的时候存在很大…

LeetCode最长有效括号问题解

给定一个仅包含字符的字符串(’ 和 ‘)’,返回最长有效的长度(出色地-形成) 括号子弦。 示例1: 输入:s “(()” 输出:2 说明:最长的有效括号子字符串是 “()” 。 示例2: 输入:s “)()())…

在Linux上利用mingw-w64生成exe文件

一、概要 1、elf与exe 在Linux上用gcc直接编译出来的可执行文件是elf格式的,在Windows上是不能运行的 Windows上可执行文件的格式是exe 利用mingw-w64可以在Linux上生成exe格式的可执行文件,将该exe文件拷贝到Windows上就可以运行 2、程序要留给用户…

体验Humane AI:我与可穿戴AI别针的生活

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

如何使用 ArcGIS Pro 制作热力图

热力图是一种用颜色表示数据密度的地图,通常用来显示空间分布数据的热度或密度,我们可以通过 ArcGIS Pro 来制作热力图,这里为大家介绍一下制作的方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的POI数…

JVM复习

冯诺依曼模型与计算机处理数据过程相关联: 冯诺依曼模型: 输入/输出设备存储器输出设备运算器控制器处理过程: 提取阶段:输入设备传入原始数据,存储到存储器解码阶段:由CPU的指令集架构ISA将数值解…

分布式技术--------------ELK大规模日志实时收集分析系统

目录 一、ELK日志分析系统 1.1ELK介绍 1.2ELK各组件介绍 1.2.1ElasticSearch 1.2.2Kiabana 1.2.3Logstash 1.2.4可以添加的其它组件 1.2.4.1Filebeat filebeat 结合logstash 带来好处 1.2.4.2缓存/消息队列(redis、kafka、RabbitMQ等) 1.2.4.…

搭建基于Hexo的个人博客,以及git相关命令

全文写完之后的总结 测试命令 hexo clean hexo g hexo s 上传到服务器命令 hexo clean hexo g hexo d 上传到服务器(如果上一个命令用不了),也要先hexo clean,hexo g git init git add . git commit -m "first commit" git p…

部署HDFS集群(完全分布式模式、hadoop用户控制集群、hadoop-3.3.4+安装包)

目录 前置 一、上传&解压 (一 )上传 (二)解压 二、修改配置文件 (一)配置workers文件 (二)配置hadoop-env.sh文件 (三)配置core-site.xml文件 &…

Fuel tank position

Fuel tank position 汽车油箱位置在哪里,加油的时候就不会听错方向

uni-app的页面中使用uni-map-common的地址解析(地址转坐标)功能,一直报请求云函数出错

想在uni-app的页面中使用uni-map-common的地址解析(地址转坐标)功能,怎么一直报请求云函数出错。 不看控制台啊,弄错了控制台,就说怎么一直没有打印出消息。 所以开始换高德地图的,昨天申请了两个 一开始用的第二个web…

OpenAI CEO山姆·奥特曼推广新AI企业服务,直面微软竞争|TodayAI

近期,OpenAI的首席执行官山姆奥特曼在全球多地接待了来自《财富》500强公司的数百名高管,展示了公司最新的人工智能服务。在旧金山、纽约和伦敦的会议上,奥特曼及其团队向企业界领袖展示了OpenAI的企业级产品,并进行了与微软产品的…

前端入门:极简登录网页的制作(未使用JavaScript制作互动逻辑)

必备工具:vscode Visual Studio Code - Code Editing. Redefined 目录 前言 准备 HTML源文件的编写(构建) head部分 body部分 网页背景设置 网页主体构建 CSS源文件的编写(设计) 结果展示 前言 博主稍稍自…

如何保证消息不丢失?——使用rabbitmq的死信队列!

如何保证消息不丢失?——使用rabbitmq的死信队列! 1、什么是死信 在 RabbitMQ 中充当主角的就是消息,在不同场景下,消息会有不同地表现。 死信就是消息在特定场景下的一种表现形式,这些场景包括: 消息被拒绝访问&am…

IDEA中sql语句智能提示设置

选中一句sql语句,点击鼠标右键 指定数据库

【MATLAB源码-第47期】基于matlab的GMSK调制解调仿真,输出误码率曲线,采用相干解调。

操作环境: MATLAB 2022a 1、算法描述 GMSK(高斯最小移相键控)是数字调制技术的一种。下面是关于GMSK调制解调、应用场景以及其优缺点的详细描述: 1. 调制解调: - 调制:GMSK是一种连续相位调制技术&a…