SSD LDPC软错误探测方案解读

news2024/10/24 22:26:08

上一篇文档中,基于SSD LDPC(Low-Density Parity-Check Codes)原理背景和纠错能力作了简单的介绍。

扩展阅读:

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

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


本篇结合SMI发布的研究成果,通过SSD控制内部LDPC更底层的架构,来解读如何增强软错误探测能力和抗噪声干扰能力。

图片

在固态硬盘SSD模块级别,噪声源主要有以下几类:

  1. 控制器外部数据传输总线噪声:比如PCIe总线,以及与DRAM缓存和闪存芯片之间的接口。这些接口在高速数据交换过程中会产生电磁干扰,影响数据的准确传输。

  2. NAND编程/读取/擦除操作噪声:NAND闪存的P/E(编程/擦除)周期中,由于电荷迁移、漏电流等因素,尤其是在高密度QLC存储单元中,噪声和各种干扰现象会变得更严重。

  3. 辐射诱导的软错误:宇宙射线等放射性粒子对电子设备中的存储单元造成单粒子翻转(Single Event Upset, SEU),导致数据位错误。

  4. 其他噪声:除了上述明确提及的噪声源外,还有诸如电源波动、温度变化、器件老化等其他不确定因素产生的噪声。

为了对抗这些噪声导致的数据错误,SSD模块采用了ECC技术。ECC能够检测和纠正部分错误,通过将数据编码成带有冗余信息的编码字(codewords),可以区分出可纠正错误和不可纠正错误,同时也能够识别出可检测错误和未被检测出的错误。

在固态存储中,数据通常会被划分为多个数据块(Chunks),每个数据块除了包含用户数据外,还会附加额外的信息,如HE2E、元数据(Meta)、种子(Seed)、CRC校验值以及LDPC奇偶校验码。

图片

LDPC奇偶校验完整性检查是一个确保基于LDPC编码的数据在写入或读取过程中不遭受意外损坏的关键环节。在数据写入NAND闪存前,首先需要对用户数据和相关辅助信息进行LDPC编码生成相应的奇偶校验位,这些奇偶校验位包含了足以恢复潜在错误的信息。LDPC编码器本身包含了大量的组合逻辑和寄存器结构,甚至包括只读存储器(ROM)部分,以实现复杂而高效的编码过程。

图片

在实际操作中,由于宇宙射线等自然现象引发的单粒子翻转(Single Event Upset, SEU)可能会导致LDPC奇偶校验位出现错误。为了避免这种情况导致的无效写入,必须在数据从控制器传输至NAND的过程中对LDPC奇偶校验的完整性进行即时检查。如果检测到奇偶校验位错误,则跳过编程指令,避免将错误的奇偶校验信息写入NAND,而是重新进行编码后再尝试写入。

此外,在数据读取阶段,同样会进行多重验证以确保数据的准确无误。读取的数据不仅通过LDPC解码器来尝试纠正潜在的软错误,同时还需要通过CRC校验来验证整个数据块的完整性。另外,介质端到端(Media End-to-End, E2E)信息的比较也是重要的一环,通过对比原始写入时记录的E2E信息与当前读出的数据进行一致性校验,确保即使是在错误的位置上但内容仍然可纠正的数据块能够被正确识别和处理。

在SSD控制器设计中,LDPC解码器作为一个强大的错误纠正工具,用于修复在数据路径中发生的大部分软错误。通过LDPC编码和解码技术,可以有效地检测并修复由噪声或者其他不可预见因素引起的错误位。

图片

当错误被检测到时,会执行读重试操作,这是高效错误恢复步骤的一部分,体现了LDPC解码器在纠正偶尔错误方面的灵活性和效率。除了LD

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

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

相关文章

ucrtbased.dll丢失的解决方法,分享5种有效的解决方法

ucrtbased.dll是一个在Windows操作系统中至关重要的系统文件,它隶属于Universal C Runtime库(UCRT),是Microsoft Visual Studio编译器为了支持C标准库功能而引入的一个动态链接库文件。这个文件内包含了大量通用且关键的运行时函数…

Navicat安装破解教程

蓝奏云下载地址https://wws.lanzoux.com/b01tqirzc或者链接https://pan.baidu.com/s/15cfQAFdQsn8xSg_2LiQZHg 提取码:q3rd链接:https://pan.baidu.com/s/1WwyCC03qcnqnWKGo-m6ZjA 提取码:pg9uNavicat16目前没有破解方法,15可以&a…

MES+APS难度地狱级,搞定它就是劫后余生呀。

一、什么是MES和APS MES(Manufacturing Execution System)和APS(Advanced Planning and Scheduling)是两种在制造业中常用的软件系统,用于优化生产过程和提高生产效率。 MES是一种用于管理和监控制造过程的系统。它与…

数学建模【模糊综合评价分析】

一、模糊综合评价分析简介 提到模糊综合评价分析,就先得知道模糊数学。1965年美国控制论学家L.A.Zadeh发表的论文“Fuzzy sets”标志着模糊数学的诞生。 模糊数学又称Fuzzy数学,是研究和处理模糊性现象的一种数学理论和方法。模糊性数学发展的主流是在…

Linux安全--Apache HTTPD多后缀名解析漏洞

环境为Kali 1.漏洞复现 在valhub官网中找到靶场环境目录 找到指定目录 使用docker拉取镜像 使用burpsuite访问本机,发现提交表单的信息只能是.jpg。不能提交.php文件 使用BurpSuite捕捉 提交.php文件发现不行 这时我们将phpinfo.php后面加一个.jpg后缀就会提交成功…

Spring事务注解@Transactional的流程和源码分析

Spring事务简介 Spring事务有两种方式: 编程式事务:编程式事务通常使用编程式事务管理API实现,比如Spring提供的PlatformTransactionManager接口,使用它操控事务。声明式事务:注解式事务使用AOP(面向切面…

奖励建模(Reward Modeling)实现人类对智能体的反馈

奖励建模(Reward Modeling)是强化学习中的一个重要概念和技术,它主要用于训练智能体(如AI机器人或大型语言模型)如何更有效地学习和遵循人类期望的行为。在强化学习环境中,智能体通过尝试不同的行为获得环境…

ai直播数字人!AI大模型应用开发高级技术

AI直播数字人是一种新兴的技术应用,通过AI大模型的应用开发,实现了数字人的虚拟化呈现。数字人作为一种虚拟人物形象,在直播平台或其他媒介中可以展现出真实人物的表情、动作和声音,并且能够与观众进行实时互动,给人带…

c语言-大小写字母的转换

目录 方法一:库函数直接转换 1、toupper的测试代码 2、tolower的测试代码 方法二:通过修改ASCII码值转换 1、自己实现大写转小写 2、自己实现小写转大写 结语 前言: 在使用c语言写代码时,通常会遇到很多将大小写字母相互…

101 向一个不存在的路径发送请求, get 得到 404, post 得到 405

前言 这是 最近碰到的一个问题, 大概是在 2022.05.30 前端这边 发送了一个业务请求过来, 这个请求路径是服务端这边不存在的 但是 奇怪的一点就是, 如果是以 get 请求发送过来, 服务端响应的是正确的 404 "Not Found", 但是 如果是以 post 请求发送过来, 服务端这边…

buildadmim生成代码时让菜单有层级

当我们使用buildadmin生成代码的时候,在菜单的部分, 有时希望它生的是一个带有层级的菜单,有时候则想生成一个没有层级的菜单 like this 经过本人测试 如果我们要生成没有层级的菜单 我们可以在高级设置中的 相对位置处更改,同时…

某资产管理系统打点过程中的免杀经历

上周,被扔过来单位内部的一个链接,让渗透一下,本以为三下五除二很快就能测完,没想到在对抗杀软时费了一番功夫,再加上杂七杂八的事儿,经过了一个星期才测完(# ̄~&#xff…

评估需求优先级的方法

Kano模型: 1.前言 在大量的需求需要进行迭代时,由于时间、人力、财力等相关因素干扰,无法在有限的时间内容对所有的需求进行满足,此时需要我们对需求进行优先级的排列。最大化的合理的提高有限资源的使用。 在常见的产品优先级…

应用案例 | Softing echocollect e网关助力汽车零部件制造商构建企业数据库,提升生产效率和质量

为了提高生产质量和效率,某知名汽车零部件制造商采用了Softing echocollect e多协议数据采集网关——从机器和设备中获取相关数据,并直接将数据存储在中央SQL数据库系统中用于分析处理,从而实现了持续监控和生产过程的改进。 一 背景 该企业…

【SpringBoot】-- 实现本地文件/图片上传到服务器生成url地址

在java项目中你可能会有以下需求:用户上传本地图片,然后展示在网页上。本篇文章将使用阿里云oss实现上传图片到oss,oss生成url。 一、准备工作 首先进入阿里云,按如下操作 进入创建页面,修改读写权限为公共读 然后进…

Pytorch入门实战 P1-实现手写数字识别

目录 一、前期准备(环境数据) 1、首先查看我们电脑的配置; 2、使用datasets导入MNIST数据集 3、使用dataloader加载数据集 4、数据可视化 二、构建简单的CNN网络 三、训练模型 1、设置超参数 2、编写训练函数 3、编写测试函数 4、…

蚂蚁感冒 刷题笔记

/* 解题思路 首先根据题意可知 1.蚂蚁速度均为1 即同向蚂蚁永远不可能追上 我们需要求最后感冒蚂蚁的数量 因为蚂蚁碰头将会掉头 效果和俩蚂蚁互相穿过继续走是一样的 所以我们将俩蚂蚁碰头视作穿过 2. 如果俩蚂蚁相向而行 则俩蚂蚁必定碰头 首先 我们获得第一个感冒蚂蚁的…

Requests教程-15-文件上传与下载

领取资料,咨询答疑,请➕wei: June__Go 上一小节,我们学习了requests的HTTPS请求方法,本小节我们讲解一下在requests文件上传与下载。 文件上传 使用requests库上传文件时,需要使用files参数,并将文件打…

IDEA 配置文件乱码,项目编码设置

见下图 其中第一二项控制全局以及工程的编码格式,下方的则是 properties 配置文件的格式,统一调整为 UTF-8 后不再乱码

【Python学习篇】Python基础入门学习——你好Python(一)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…