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

此前,存储随笔有发布一篇关于SSD QoS相关问题,文章中有从以下方面做了全景的分析:

图片

扩展阅读:

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

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

本文主要在之前文章的基础上,再做个补充,本次更新主要内容是LDPC纠错过程对QoS的影响

首先,我们看下,host数据到落入NAND要经过的过程。

  • 1/2步会进行CRC/E2E校验写入缓存。

  • 3/4步有闪存控制器Flash IP进行E2E/CRC LDPC编码后写入NAND。

图片

在host读取数据过程中,最理想的情况是一个Page Read Time的时间就可以直接返回数据。但显示的情况是,我们可能会因为一些不想看到的问题,导致性能受损。

图片

这个读取过程中,NAND相关问题的纠错对延迟也有很大的影响

图片

比如读写之间的温度差、Data Retention、读干扰、写干扰等。导致出现数据翻转,需要启动Read Retry重读机制、LDPC纠错、RAID纠错等修复机制。这个过程就会导致性能出现跌落或者延迟抖动。

图片

纠错码是一种用于检测和纠正数据传输过程中出现的错误的技术。它们在固态硬盘(SSD)中扮演着关键角色,因为NAND闪存介质具有内在的不稳定性,容易受到各种因素的影响,如读取噪声、编程/擦除过程中的磨损等。BCH(Bose-Chaudhuri-Hocquenghem)和LDPC(Low Density Parity Check)是两种常见的纠错编码技术。

1.BCH(Bose-Chaudhuri-Hocquenghem)纠错码

BCH码是由印度数学家J. R. Bose和D. K. Ray-Chaudhuri以及加拿大工程师W. W. Peterson独立发现的一种线性分组码。BCH码的特点是在编码时引入了校验位,这些校验位可以根据原始数据计算得出,以确保接收端能够检测并纠正特定数量的比特错误。BCH码的优势在于其相对简单的硬件实现,但在纠错能力上不如LDPC码

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

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

相关文章

移动端适配rem(Vant)

需要注意 该插件不能转换行内样式中的px 利用vant提供的 首先安装 可以看到 第二步配置 1.安装 npm install postcss-pxtorem -D 2.在项目根目录创建.postcssrc.js文件 配置完毕,重新启动服务(红色是警告,是因为vue-cli已经配置过了&am…

生产环境_Apache Spark技术大牛的实践:使用DataFrame API计算唯一值数量并展示技术(属性报告)

业务背景 给前端提供算法集成好的数据,对算法处理后的数据进行进一步删选展示 可以使用下面代码运行一下看看结果,听有趣的,我写的代码中计算了不同字段的值的数量,并生成了一个显示字符串来描述这些数据的分布情况然后使用"…

Buck电源设计常见的一些问题(二)MOS管炸机问题

MOS管炸机问题 1.概述2.MOS管的相关参数3.过电压失效4.过电流失效5.静电放电和热失效1.概述 在我们做电源产品或者电机控制器时候,经常会坏MOS管。我相信90%以上的硬件工程师在职场生涯中都会遇到这类问题。然而这类问题也总是让人防不胜防。经常我们都会开玩笑的说,没烧过管…

Spring AOP 和 Spring Boot 统一功能处理

文章目录 Spring AOP 是什么什么是 AOPAOP 组成切面(Aspect)连接点(Join Point)切点(Pointcut)通知(Advice) 实现 Spring AOP添加 Spring AOP 框架支持execution表达式定义切面、切点…

初识SpringSecurity

目录 前言 特点 快速开始 导入依赖 运行项目 访问服务 权限控制 实现UserDetails接口 添加SecurityConfig配置类 测试接口DemoController 设置权限控制authorizeHttpRequests 结果分析 总结 前言 Spring Security是一个强大且高度可定制的身份验证和访问控制框架…

labelme标注json文件检查标注标签(修改imageWidth,imagePath,imageHeight)

# !/usr/bin/env python # -*- encoding: utf-8 -*- #---wzhimport os import json# 这里写你自己的存放照片和json文件的路径 json_dir =rC:\Users\Lenovo\Desktop\json3 json_files = os.listdir(json_dir

MBA-数学题概念和公式

{}公差大于零的等差数列:多个数字组成的数列,两两之间差相等,且后值减前值大于0,如:{-2,0,2,4}为公差数列为2的等差数列.因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,10的因数为 2和5圆柱体表面积 2πr 2πrh球体表名…

【LeetCode刷题】--157.用Read4读取N个字符

157.用Read4读取N个字符 /*** The read4 API is defined in the parent class Reader4.* int read4(char[] buf4);*/public class Solution extends Reader4 {/*** param buf Destination buffer* param n Number of characters to read* return The number of actual…

天猫数据分析(天猫数据查询平台):11月天猫啤酒市场销售数据分析报告

在酒类市场中,被视作“气氛担当”的啤酒,是派对聚会或者自饮场景中的常客,消费人群广泛,如今,啤酒市场已进入存量时代,市场中啤酒的销售也在稳步增长。 鲸参谋数据显示,今年11月份,天…

LeetCode(64)分隔链表【链表】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 分隔链表 1.题目 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示…

C# WPF上位机开发(日志调试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 程序开发的过程中,调试肯定是少不了的。比如说,这个时候,我们可以设置断点、查看变量、检查函数调用堆栈等等。…

克隆虚拟环境

conda虚拟环境 克隆clone 在服务器上想要使用别人搭好的环境,但是又怕自己对环境的修改更新会影响他人的使用,这个时候可以使用conda命令进行复制环境。 首先假设已经安装了Anaconda。 根据已有环境名复制生成新的环境 1、假设已有环境名为A&#xff0c…

面向对象三大特征——多态

目录 1. 多态 1.1 概述 1.2 多态中方法的访问特点 1.3多态中成员变量访问特点 1.4 多态中静态方法的访问特点 1.5 向上或向下转型 1.6多态的好处 2.抽象类 2.1抽象类 2.2抽象方法 2.3抽象类的特点 2.4抽象类成员特点 3.接口 3.1接口的概述 3.2接口中成员的特点 …

CANoe出现Busoff后如何恢复

项目场景: 在测试Busoff或者ECU进行快速上下电测试时,CANOE往往会进入Busoff状态,DUT会自动恢复,但CANoe只有手动重启CANOE,从而导致自动化测试无法进行下去。这时可以通过CAPL检测到Busoff发生时使用特定的函数重启C…

Python虚拟环境指南:告别依赖地狱

一、背景 在SAAS(软件即服务)平台中,用户使用自行定制的Python脚本已经成为司空见惯的做法,然而,由于不同用户对Python三方库的需求各不相同,而底层服务器一般只安装了一个Python版本。举例来说&#xff0…

【数据结构第 6 章 ④】- 用 C 语言实现图的深度优先搜索遍历和广度优先搜索遍历

目录 一、深度优先搜索 1.1 - 深度优先搜索遍历的过程 1.2 - 深度优先搜索遍历的算法实现 二、广度优先搜索 2.1 - 广度优先搜索遍历的过程 2.2 - 广度优先搜索遍历的算法实现 和树的遍历类似,图的遍历也是从图中某一顶点出发,按照某种方法对图中所…

算法leetcode|92. 反转链表 II(rust重拳出击)

文章目录 92. 反转链表 II:样例 1:样例 2:提示:进阶: 分析:题解:rust:go:c:python:java: 92. 反转链表 II: 给你单链表的…

基于itextpdf的java读取和更新pdf表单域字段值功能

基于itextpdf的java读取和更新pdf表单域字段值功能 执行结果为: Hello World! keytopmostSubform[0].Page1[0].qhjc[0] keytopmostSubform[0].Page1[0].qhmc[0] keytopmostSubform[0].Page1[0].cqzh[0] keytopmostSubform[0].Page1[0].fm_year[0] keytopmostSubf…

springboot整合vue,将vue项目整合到springboot项目中

将vue项目打包后&#xff0c;与springboot项目整合。 第一步&#xff0c;使用springboot中的thymeleaf模板引擎 导入依赖 <!-- thymeleaf 模板 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-t…

yolov5单目测距+速度测量+目标跟踪

要在YOLOv5中添加测距和测速功能&#xff0c;您需要了解以下两个部分的原理&#xff1a; 单目测距算法 单目测距是使用单个摄像头来估计场景中物体的距离。常见的单目测距算法包括基于视差的方法&#xff08;如立体匹配&#xff09;和基于深度学习的方法&#xff08;如神经网…