详细解读QLC SSD无效编程问题-1

news2025/2/22 18:48:51

此前小编关于QLC SSD有过多篇文章,具体参考如下:

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

  • HDD与QLC SSD深度对比:功耗与存储密度的终极较量

  • QLC SSD在数据中心的发展前景如何?

  • 多维度深入剖析QLC SSD硬件延迟的来源

最近看到一篇厦门大学最近发表的关于QLC SSD无效编程的论文,有很多非常有意思的数据对比,这里分享给大家。存储随笔的论文解读,不是直接翻译,是小编先研读一遍后,再结合自己的理解再解读分享,可能讲述顺序与原始论文架构可能会有差异,如果不当之处,还望见谅。想直接阅读原文的朋友也可以后台私信关键词invalidQLC获取论文。也欢迎各位朋友给小编推荐更多有趣的论文!

在QLC闪存中采用的两步编程方法是为了应对高密度存储带来的挑战。QLC NAND闪存是一种每单元可存储4比特数据的存储技术,它将阈值电压细分为16个电压状态以实现这一目标。然而,由于每个电压状态分布非常窄且紧凑,相邻单元之间的编程干扰和早期电荷损失会对最终编程电压分布产生显著影响,从而导致高比特错误率。

图片

为了解决这个问题,3D QLC NAND闪存采用了两步编程策略:

  1. 粗略编程(Coarse Programming):首先对某一层中的一个字线(WL)进行粗略编程,将单元编程到比目标电压稍低的16个电压级别中。这个阶段的主要目的是快速地将数据写入闪存单元,但由于相邻单元间的影响,实际写入的电压可能与目标电压存在一定的偏差。

  2. 精调编程(Fine Programming):在完成同一层下一个字线或下一层对应字线的粗略编程之后,再返回来对先前粗略编程过的WL进行精调编程,将单元精确地编程到最终的目标电压状态。这种过程能够减少相邻单元间的编程干扰,并允许更准确地控制单元的电压水平,从而提高数据的可靠性

通过这种方式,虽然牺牲了一定的编程速度和增加了操作复杂性,但有效缓解了QLC NAND闪存中由于电压状态过多而引发的程序干扰问题,提高了整体的数据稳定性和存储系统的寿命。

Invalid-Programming Issue无效编程问题在3D QLC NAND闪存中,源于其采用的两步编程机制。具体来说,在该机制中,对某一层的一个字线(WL)进行精调编程之前,必须等待下一层对应位置的字线完成粗略编程。这种顺序要求导致了同一WL两次编程步骤之间存在一段实质性的等待时间

假设数据被写入WL𝑖,1并存储在缓存中,为了执行WL𝑖+1,1的粗略编程,需要缓存四个页面的数据。假定页面21已被写入缓存,并且有三个已粗略编程的新页面(8, 12, 20)现在又被更新。这会导致这三个页面在其对应的WL上失效,它们将与页面21一起被编程到WL𝑖+1,1。之后,WL𝑖,1可以进行精调编程,并从缓存中移除。但在WL𝑖,1的精调编程过程中,有一个页面已经无效,但所有四个页面都被进行了精调编程。这种情况会发生在其他字线上,第二次编程步骤中的无效页面数量可能不止一个。

图片

这一问题的核心在于,在两次编程步骤之间的时间间隔内,原本在缓存中等待精调编程的数据由于新的写入请求而被更新,即变为无效数据,但是按照原有的编程流程,这些无效数据依然会被进行精调编程,造成了时间和能源的浪费。

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

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

相关文章

CNN——VGG

1.VGG简介 论文下载地址:https://arxiv.org/pdf/1409.1556.pdf VGGNet 是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以 7.32% 的错误率赢得了 2014 年 ILSVRC 分类任务的亚军&#xff…

MindSpore Serving与TGI框架 の 对比

一、MindSpore Serving MindSpore Serving是一款轻量级、高性能的服务工具,帮助用户在生产环境中高效部署在线推理服务。 使用MindSpore完成模型训练>导出MindSpore模型,即可使用MindSpore Serving创建该模型的推理服务。 MindSpore Serving包含以…

C# 2中的一些小特性

一、局部类型 在C#当中有这样一个关键字partial 用来声明类,结构,接口分为多个部分来声明。使用场景可以一部分类中写实例方法,一部分写属性,我在实际工作测试中就是将属性与实际方法是分开的。相互之间的成员互相通用。 举个例子…

【普中开发板】基于51单片机的篮球计分器液晶LCD1602显示( proteus仿真+程序+设计报告+讲解视频)

基于普中开发板51单片机的篮球计分器液晶LCD1602显示 1.主要功能:讲解视频:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单&&下载链接资料下载链接(可点击): 基于51单片机的篮球计分器液晶LCD1602显示 ( pr…

【水浸传感器】软硬件一体水浸监测整套方案远程监测解决各种环境漏水问题

一、痛点分析 在工业生产中,水浸传感器可以安装在数据中心、半导体厂房、输油管道、车间仓库、变电室等易发生水浸的区域。一旦检测到漏水情况,立即发出信号反馈。然而,水浸传感器分散在各个地点,导致管理不集中、不便捷&#xf…

关于TypeScript Interface你需要知道的10件事

TypeScript接口的10种使用场景——可能只有20%的web开发人员完全掌握它们 TypeScript中的接口是一个非常灵活的概念。除了抽象类的部分行为外,它还经常用于描述“对象的形状”。 必需的属性 在定义接口时,需要使用 interface 关键字: interface Use…

流量困境下,2024年餐饮商家的直播带货生意到底怎么做?

据官方数据显示,截至2023年2月,抖音生活服务餐饮商家直播间数量达到43万,2023年7月,抖音生活服务餐饮行业自播商家数较1月增长134%。可以说,直播带货已经成为餐饮商家的常态化的线上营销模式,也成为各大餐饮…

SwiftUI之深入解析ContentUnavailableView的实战应用

一、基本用法 SwiftUI 引入了新的 ContentUnavailableView 类型,允许在应用程序中展示空状态、错误状态或任何其他内容不可用的状态。那么,如何使用 ContentUnavailableView 引导用户浏览应用程序中的空状态呢?首先看看 ContentUnavailableV…

redis服务迁移数据工具--RDM

一、背景: 在日常的运维工作经常遇见各种数据迁移工作,例如mysql数据库迁移、redis数据库迁移、minio数据迁移等等工作。这里介绍一下redis数据库的迁移过程。 二、迁移思路: redis服务/集群的数据迁移思路是需要新建一个配置、密码一样的re…

NX/UG二次开发—C\C++开发单个DLL支持多版本NX一种方法

1、去除附加包含目录下的NX相关的lib文件: 2、从对应的dll导出ufun函数和NXopen函数: libufun.dll; libufun_cam.dll; libufun_cae.dll; libufun_die.dll; libufun_vdac.dll; libufun_weld.dll; libugopenint.dll; libugopenint_cae.dll; libugopenint_…

感知与认知的碰撞,大模型时代的智能文档处理范式

目录 0 写在前面1 GPT4-V:拓宽文档认知边界2 大语言模型的文档感知缺陷3 大一统文档图像处理范式3.1 像素级OCR任务3.2 OCR大一统模型3.3 长文档理解与应用 4 总结抽奖福利 0 写在前面 由中国图象图形学学会青年工作委员会发起的第十九届中国图象图形学学会青年科学…

Java重修第一天—学习数组

1. 认识数组 建议1.5倍速学习,并且关闭弹幕。 数组的定义:数组是一个容器,用来存储一批同种类型的数据。 下述图:是生成数字数组和字符串数组。 为什么有了变量还需要定义数组呢?为了解决在某些场景下,变…

chromium在中文用户名下无法编译的问题

新电脑没有太注意,起用户名的时候用了中文。 在编译chromium104的代码时,因为环境变量有中文导致编译失败: 因为我的电脑默认是使用gbk编码,而不是utf-8编码。 这个问题有三种解决办法: (一)把…

【Spark精讲】Spark on Hive性能优化

目录 第一章 1.1 集群配置概述 1.2 集群规划概述 第二章 Yarn配置 2.1 Yarn配置说明 yarn.nodemanager.resource.memory-mb yarn.nodemanager.resource.cpu-vcores yarn.scheduler.maximum-allocation-mb yarn.scheduler.minimum-allocation-mb 第三章 Spark的配置说…

在Ubuntu22.04上部署Stable Diffusion

在AI绘画软件领域Stable-Diffusion(简称SD)在开源领域绝对是不二之选,他的插件方式可以让此软件具有更多的功能,开发者社群为此提供了大量免费高质量的外接预训练模型(fine-tune)和插件,并持续维…

深耕汽车检测设备领域,引领行业技术革新

在汽车工业飞速发展的今天,汽车检测技术作为保障车辆安全、提升维修效率的重要手段,日益受到行业内外的高度关注。康士柏汽车检测线设备厂家,作为这一领域的佼佼者,凭借其深厚的技术积累和卓越的产品品质,正引领着行业…

傅里叶级数、傅里叶变换、小波变换、离散余弦变换的理解

目录 1. 傅里叶级数2.傅里叶变换 1. 傅里叶级数 功能:能把任意周期性函数展开成一系列正弦、余弦函数的和。 公式: f ( x ) a 0 2 ∑ n 1 ∞ ( a n cos ⁡ ( 2 π n x T ) b n sin ⁡ ( 2 π n x T ) ) 傅里叶系数 a n 2 T ∫ x 0 x 0 T f ( x )…

即时设计:一键查看设计稿与页面差异,让设计师的工作更便捷高效

设计稿走查 在设计工作中,对设计稿和实际页面进行对比是必不可少的环节。然而,传统的对比方式往往耗时耗力,无法精确测量差异。为了解决这个问题,我们推出了一款强大的工具,它可以通过图片对比,轻松查看设…

【ESP32接入语言大模型之通义千问】

1. 通义千问 讲解视频: ESP32接入语言大模型之通义千问 随着人工智能技术的不断发展,自然语言处理领域也得到了广泛的关注和应用。通义千问由阿里云开发,目标是帮助用户获得准确、有用的信息,解决他们的问题和困惑,也…

Debian12使用Xshell连接失败解决办法详细

1、Debian开启ssh服务 sudo apt update -y sudo apt install ssh2、编辑配置文件 # 安装vim sudo apt install vimvim /etc/ssh/sshd_config3、将#PermitRootLogin prohibit-password的注释去掉,设置为yes 4、将#PasswordAuthentication no的注释去掉,…