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

此前小编关于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.hqwc.cn/news/323443.html

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

相关文章

肠道炎症与年龄和阿尔茨海默病病理学相关:一项人类队列研究

谷禾健康 ​阿尔茨海默 研究表明,慢性低水平的炎症(“炎症衰老”)可能是年龄相关疾病的一个介导因素,而肠道微生物通过破坏肠道屏障可能会促进炎症。 虽然老化和阿尔茨海默病(AD)与肠道微生物群组成的改变有…

Pytest fixture 及 conftest详解!

前言 fixture是在测试函数运行前后,由pytest执行的外壳函数。fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中的数据集、配置测试前系统的初始状态、为批量测试提供数据源等等。fixture是pytest的精髓所在,类似u…

力扣题:高精度运算-1.3

力扣题-1.3 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:43. 字符串相乘 解题思想:类似计算时采用的竖式乘法。首先取得num2的低位,并补齐对应的0,然后与num1进行相乘,然后进行字符串的相加操作。…

D6208双向直流马达驱动芯片 用于IPC产品,可兼容BA6208,噪声低 ,工作电源电压范围宽。

D6208 是一块单片双向马达驱动电路,它使用TTL电平的逻辑信号就能控制卡式录音机和其它电子设备中的双向马达。该电路由一个逻辑部分和一个功率输出部分组成。逻辑部分控制马达正、反转向及制动,功率输出部分根据逻辑控制能提供100mA(典型值&a…

Agilent安捷伦E4990A阻抗分析仪20Hz

Agilent安捷伦E4990A阻抗分析仪性能卓越,适用于元器件、半导体和材料测量。它具有宽广的频率范围,从20Hz到120MHz,能够适应各种不同的阻抗测量需求。在宽阻抗范围内,该仪器能够提供出色的0.045%(典型值)基本…

cesium粒子爆炸效果

效果: //添加爆炸模型window.swpecesium.addEntity.addModel({id: "model",position: {lon: 116.34516786934411,lat: 39.99753297677145,},config: {url: "./model/baozha/scene.gltf",minSize: 200,maxSize: 300,},});var scene viewer.scen…

性能优化-OpenMP概述(一)-宏观全面理解OpenMP

本文旨在从宏观角度来介绍OpenMP的原理、编程模型、以及在各个领域的应用、使用、希望读者能够从本文整体上了解OpenMP。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础…

MySQL-数据库概述

数据库相关概念: 数据库(DateBase)简称DB,就是一个存储数据的仓库,数据有组织的进行存储。 数据库分为关系型数据库简称RDBMS和非关系型数据库 关系型数据库简称RDBMS:建立在关系模型的基础上,由多张相互连接的二维表组成的数据库.简单来说…

民营体检@2023/24:革新、挑战与本质回归

【潮汐商业评论/原创】 被“健康焦虑”困扰的Joy决定给自己来一次全身的检查,在网上一搜才发现,不仅是体检机构,现在各大医院也都可以体检。“感觉价格也都差不多,是选公立还是体检机构呢?”Joy陷入疑惑。 随着近几年…

c++之迭代器

目录 一、迭代器 二、几种常见的迭代器类型 三、使用迭代器时注意事项 一、迭代器 在C中,迭代器是一种用于遍历容器元素的对象。迭代器提供了一种通用的方式来访问各种不同类型的容器,如数组、向量、列表、集合和映射等。 使用迭代器可以避免直接操作…

【数据库原理】(9)SQL简介

一.SQL 的发展历史 起源:SQL 起源于 1970 年代,由 IBM 的研究员 Edgar F. Codd 提出的关系模型概念演化而来。初期:Boyce 和 Chamberlin 在 IBM 开发了 SQUARE 语言的原型,后发展成为 SQL。这是为了更好地利用和管理关系数据库。…