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

在NAND闪存中,理论结果表明,LDPC解码器的性能可通过密度进化(Density Evolution, DE)技术进行详尽分析。针对MLC NAND闪存,研究者首先建立了一个离散无记忆信道模型,将存储单元的阈值电压划分为七个区间,每个区间对应不同的读电压等级[r1, r2, r3, r4, r5, r6]。这些读电压的选择会影响到解码器接收到的软信息质量,特别是对于最显著位(MSB)和最不显著位(LSB)的信道输入符号xs,可以通过条件概率j|xs)来评估接收信号的正确解码可能性。

使用DE方法,研究者分析了不同类型的LDPC解码算法,包括信念传播、最小和算法、归一化最小和算法以及偏移最小和算法在NAND闪存应用中的性能表现。通过DE分析,能够估算出不同读电压设置下的最优解码阈值,以及在不同解码算法下最优读电压对解码性能的影响。

图片

在具体的应用案例中,文章探讨了SLC NAND闪存采用高斯信道模型时读电压设计的重要性。通过调整读电压以减少擦除宽度(erasure width),可以提高软信息的互信息量,进而增强LDPC解码器的性能。研究表明,经过BP和最小和(min-sum)解码前后的经验互信息值会在特定擦除宽度下达到峰值,此时解码效果最佳。

图片

此外,对于不规则LDPC码和原型LDPC码(protograph LDPC codes),研究者进一步细化了密度进化的计算流程,展示了如何根据变量节点和检查节点的LLR(对数似然比)分布进行迭代更新,并且针对非均匀度分布的列权重和行权重进行了适当修改。通过DE算法,可以预测出在不同迭代次数下的LLR分布以及最终的错误概率,从而指导读电压的优化设计,确保在给定的LDPC码结构下,NAND闪存能够达到最优的误码率性能和最高的存储容量利用率。

具体而言,设计过程分为两部分:

  1. 对于支持多个PE周期或信噪比(SNR)的情况,首先设计多组读电压集合,每一组读电压通过最小化LDPC解码器的错误概率来获取。这意味着根据不同的工作条件和信号质量,每一种情况下都会有一组最优的读电压设置。

  2. 对于任何给定的PE周期,进一步设计一组单一读电压。不同于直接最小化错误概率,这里提出了使用解码阈值作为优化的目标函数,这是因为解码阈值能够更准确地反映解码器性能极限。

实验发现,优化后的读电压与所采用的LDPC码结构密切相关,因此必须联合设计读电压和LDPC码才能充分利用NAND闪存的容量。DE算法在此过程中发挥关键作用,能够方便地同时设计出最优的读电压和LDPC码。

图片

此外,模拟结果表明,相比于基于互信息最大似然度(MMI)方法和熵优化的读电压,基于DE优化的读电压方案可以提供更好的FER性能。

图片

在高PE周期阶段,DE优化的单组读电压方案的FER性能不如MMI优化的多组读电压方案。但在低PE周期阶段,DE优化的单组读电压方案的FER性能与MMI优化的多组读电压方案相当,甚至有所收敛。这说明在器件老化程度较轻的情况下,DE优化的读电压能够接近或达到MMI方法的效果,而在器件经历较多PE周期、性能衰退较为明显的情况下,多组读电压方案更能有效抑制误码率的增长。

图片

另外,研究通过对比不同算法优化的读电压在MLC NAND闪存实际信道模型下的FER性能,发现DE方法相比MMI和Entropy方法取得了显著的优势,在FER等于10^-3时,DE优化的读电压方案能带来约2,000 PE周期和1,000 PE周期的性能增益。这些结果有力证明了DE算法在优化读电压以适应LDPC纠错编码以及提高NAND闪存数据读取可靠性的优势。

总之,这项工作通过结合DE算法,有效解决了NAND闪存读电压与LDPC码的设计难题,实现了两者之间的紧密配合,提高了存储系统的整体纠错能力和数据可靠性。

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

精彩推荐:

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

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

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

  • PCIe P2P DMA全景解读

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

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

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

  • HDD回暖于2024,与SSD决战于2028

  • SSD固态硬盘的黄金原则:抱最高的希望,做最坏的打算

  • PCIe 6.0生态业内进展分析总结

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

  • NVMe SSD IO压力导致宕机案例解读

  • 浅析PCIe 6.0功能更新与实现的挑战

  • 过度加大SSD内部并发何尝不是一种伤害

  • FIO测试参数与linux内核IO栈的关联分析

  • PCIe surprise down异常与DPC功能分析

  • 过度加大SSD内部并发何尝不是一种伤害

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

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

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

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

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

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

  • SSD数据在写入NAND之前为何要随机化?

  • 深度剖析:DMA对PCIe数据传输性能的影响

  • NAND Vpass对读干扰和IO性能有什么影响?

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

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

  • 如何通过优化Read-Retry机制降低SSD读延迟?

  • 关于硬盘质量大数据分析的思考

  • 存储系统性能优化中IOMMU的作用是什么?

  • 全景解析SSD IO QoS性能优化

  • NVMe IO数据传输如何选择PRP or SGL?

  • 浅析nvme原子写的应用场景

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

  • 浅析PCIe链路LTSSM状态机

  • 浅析Relaxed Ordering对PCIe系统稳定性的影响

  • 实战篇|浅析MPS对PCIe系统稳定性的影响

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端学习之HTML 下拉框 文本框

注&#xff1a;注释是对下列代码中标签的解释 下拉框 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>下拉框</title> </head> <body><!--使用&#xff1a;select标签option标…

通信总线协议之CAN-FD协议详解

文章目录 通信总线之CAN-FD总线协议详解1. CAN-FD 简介1.1 什么是CAN FD1.2 CAN FD的特点 2. CAN-FD总线协议2.1 帧起始2.2 仲裁段2.3 控制段2.4 数据段2.5 CRC段2.6 ACK段2.7 帧结束 3. 如何从传统的CAN升级到CAN FD 通信总线之CAN-FD总线协议详解 1. CAN-FD 简介 1.1 什么是…

AJAX学习(三)

版权声明 本文章来源于B站上的某马课程&#xff0c;由本人整理&#xff0c;仅供学习交流使用。如涉及侵权问题&#xff0c;请立即与本人联系&#xff0c;本人将积极配合删除相关内容。感谢理解和支持&#xff0c;本人致力于维护原创作品的权益&#xff0c;共同营造一个尊重知识…

SpringBoot 多环境的配置(附带有截图)

文章目录 概要整体配置流程配置详细说明技术细节小结 概要 多环境开发 在实际项目开发中&#xff0c;一般需要针对不同的运行环境&#xff0c;如开发环境、测试环境、生产环境等&#xff0c;每个运行环境的数据库等配置都不相同&#xff0c;每次发布测试、更新生产都需要手动…

精酿啤酒:酿造工艺的与众不同之处与魅力

Fendi Club啤酒的酿造工艺具有与众不同之处和魅力&#xff0c;这些特点使得啤酒口感与众不同、品质卓着。 Fendi Club啤酒采用与众不同的原料配方。他们精选上好麦芽、酵母和啤酒花&#xff0c;并按照与众不同的比例进行搭配。这种与众不同的原料配方为啤酒提供了丰富的口感和…

LLM推理框架Triton Inference Server学习笔记(一): Triton Inference Server整体架构初识

官方文档查阅: TritonInferenceServer文档 1. 写在前面 这篇文章开始进行大语言模型(Large Language Model, LLM)的学习笔记整理&#xff0c;这次想从Triton Inference Server框架开始&#xff0c;因为最近工作上用到了一些大模型部署方面的知识&#xff0c; 所以就快速补充了…

记一次用Arthas排查Redis连接数增加问题(附:redis连接池优化)

手打不易&#xff0c;如果转摘&#xff0c;请注明出处&#xff01; 注明原文&#xff1a;https://zhangxiaofan.blog.csdn.net/article/details/136493572 前言 有一次生产环境发包后&#xff0c;发现redis连接数变多了&#xff0c;由于改的代码比较多&#xff0c;不确定是哪…

下载、安装并配置 Node.js

文章目录 1. 下载2. 自定义安装3. 添加环境变量4. 验证5. 修改下载位置6. npm 换源7. 测试 ➡️➡️➡️来源&#xff1a;Simplilearn.com Node.js 是一个开源、跨平台的 JavaScript 运行时环境和库&#xff0c;用于在客户端浏览器之外运行 web 应用程序。 Ryan Dahl 在2009年开…

2024.3.11 C++作业

1、提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成 #include <iostream>using namespace std;int main() {char str[20];cout << "please enter the str:";gets(str);in…

YoloV7改进策略:Block改进|自研Block,涨点超猛|代码详解|附结构图

涨点效果 参考模型 参考的Block,如下图: 我对Block做了修改,修改后的结构图如下: 代码详解 from timm.models.layers import DropPathfrom torch import Tensor def channel_shuffle(x: Tensor, groups:

5G CA频段组合与带宽的射频标准

先来复习一下我们前面学习过的章节后缀所代表的含义&#xff1a; None Single CarrierA Carrier Aggregation (CA)B Dual-Connectivity (DC)C Supplement Uplink (SUL)D UL MIMOE V2XF Shared spectrum channel accessG Tx Diversity (TxD)I …

docker容器启动rabbitmq

docker容器启动rabbitmq 一、RabbitMQ部署1.1.在线拉取mq镜像1.2.运行mq容器1.3.访问mq 二、RabbitMQ的集群2.1.集群分类2.1.设置 /etc/hosts文件 endl 一、RabbitMQ部署 1.1.在线拉取mq镜像 # 在线拉取 docker pull rabbitmq:3-management1.2.运行mq容器 docker run \ -e R…

【Python】Python中的正则表达式

Python中的正则表达式 1.re模块使用入门 1.1 re.match 函数 函数定义&#xff1a; re.match 尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match() 就返回 none。 函数语法&#xff1a; re.match(pattern, string, flags0) …

全网最最最详细DataEase-V1部署前后端分离教程

前端代码准备 按照前端官方的介绍&#xff0c;推荐使用node.js 16版本左右的&#xff0c;由于V1的DataEase是使用的Vue2的项目工程&#xff0c;DataEase部署&#xff0c;前端node相关不应该太新。要是不知道如何去做的小伙伴可以看我的其中一篇博客文章&#xff0c; 如何使用…

Java源码项目基于springboot的江理工文档管理系统的设计与实现

大家好我是程序员阿存&#xff0c;在java圈的辛苦码农。辛辛苦苦板砖&#xff0c;今天要和大家聊的是一款Java源码项目基于springboot的江理工文档管理系统的设计与实现&#xff0c;项目源码以及部署相关请联系存哥&#xff0c;文末附上联系信息 。 项目源码&#xff1a;Java基…

103. Go单测系列3---mockey与convey综合实战

文章目录 前言断言mock整体使用方式&#xff1a;具体示例mock结构体方法mock普通函数序列化mock MySQL和Redis单测go-sqlmockminiredis F&Q1. 如何禁用内联和编译优化 前言 工作中&#xff0c;随着业务的快速发展&#xff0c;代码量级和复杂度也会随之快速增长&#xff0c…

GeoPy1.1 地理数据处理入门

原作者&#xff1a;Damon 高校教师&#xff0c;中科院 GIS 博士 本文为原文章基础上&#xff0c;加上自己以及GPT4.0的总结整理而来 原活动链接 目录 前言小练习&#xff1a;求一周的平均温度小练习&#xff1a;将文件夹下的文件路径都打印出来&#xff1a;小练习&#xff1a…

【微信小程序页面出现onReachBottom不触发的情况】

微信小程序页面出现onReachBottom不触发的情况 源代码的情况是 /** * 页面上拉触底事件的处理函数 */ onReachBottom() {console.log("-------"); },.page {height: 100vh;width: 100vw;overflow-x: hidden; }无法触发的原因是&#xff1a;height设置为100vh,会导…

轻松掌握锁冲突问题的排查方法——《OceanBase诊断系列》之八

1. 前言 OceanBase数据库通过两阶段封锁机制确保读写事务并发控制的正确性。在高冲突场景下&#xff0c;事务处理中经常会遇到行锁冲突的问题。然而&#xff0c;许多OceanBase用户对于何时发生锁冲突&#xff0c;锁冲突的表现如何&#xff0c;以及如何排查锁冲突的原因&#x…

Anaconda 的一些配置

Anaconda 安装及修改环境默认位置 https://blog.csdn.net/qq_54562136/article/details/128932352 最重要的一步&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;改文件夹权限 Anaconda创建、激活、退出、删除虚拟环境 修改pip install 默认安装路径