当前位置: 首页 > news >正文

【SSD】闪存数据完整性 重读 ECC纠错 RAID 数据随机化简述

闪存的特性就是随着闪存的使用以及数据存储时间的边长,存储在闪存里面的数据据容易发生比特位翻转,出现随机性错误。这个问题随着flash cell的变小更加严重,所以需要采用一些数据完整性的技术来确保用户数据可靠不丢失。

1.读错误来源

  • 擦写次数增多
  • Data Retension
  • 读干扰
  • cell之间的耦合电容的干扰
  • 写错误

写错误主要发生在MLC或者TLC 2-pass的过程中,先写Lower Page,然后再写Upper Page,因为在写Upper Page的时候,它是基于之前的Lower Page的状态,如果Lower Page已经出错,写Upper的时候,Lower Page数据是不会经过ECC纠错的,就会导致写错误。有写错误自然会出现读错误。

2.重读(Read Retry)

发生电压平移的问题后,如果还用之前的参考电压去读取的话,就可能出现读取数据失败的情况,使用重读之后,可以不断更改参考电压,来找到正确的电压点。

3.ECC纠错

ECC纠错模块在SSD的主控上面,常用的ECC纠错算法有BCH和LDPC,后面会学。

用户数据都是写在页上面,页的空间除了用户空间,还有OP(Over Provisioning预留空间),这部分空间用于写ECC校验数据;

静态ECC纠错

ECC纠错单元和ECC校验数据的大小固定,所以纠错能力始终保持不变。

动态ECC纠错

根据需要的ECC能力调整ECC校验数据的在Page里面站的比例大小

4.RAID

当闪存中数据bit发生翻转的个数超出ECC纠错能力范围后,ECC纠错就无能为力了。这个时候就可以使用RAID来纠错,原理如下:

一块固态硬盘有5个Die,只需要将用户数据分成4份(每一份都不同)和校验数据同时写入5个Die中,Die 0~3存储的是用户数据,Die P则存储校验数据,为Die 0Die 1Die 2 和Die 3数据之异或。假设Die 1上出现ECC不可纠的错误,那么可以 通过读取Die 0Die 2Die 3Die P对应位置上的数据,然后做异 或”,就能恢复出Die 1上的数据。

5.数据随机化

在刚开始写Flash的时候,如果只是简单的把数据+纠错码写进去,就会遇到很多错误,有时候是写失败,有时候是读出来的数据数据失误率高,那就很有可能是数据没有随机化,Flash是通过控制栅极施加电压来存储数据的,不断的输入全0或者全1,容易导致Flash内部电子不均衡,从而导致信号抗干扰性下降,导致这些数据在Flash中的可靠性变差。

原因:

让0和1的分布充分隔离。

虚线是没有随机化的分布,会发现有些状态的分布变宽了,很容易和周边发生交集。实线是随机化后的分布,每个状态都充分隔离。

降低相邻单元Cell之间耦合电压产生的影响

对一个单元影响最大的是周围4个直接相邻的单元,这些单元会影响到中间单元的阈值电压,所以在SSD主控或者Flash中有数据随机化模块,对用户数据加入扰码,使“0”和“1”均衡。

数据随机化的存放位置

数据随机化放置于数据最终写到闪存之前,ECC加校验数据之后;在ECC纠错之前还需要数据去随机化。

http://www.zskr.cn/news/1385523.html

相关文章:

  • 从零构建自平衡倒立摆:LQR控制与卡尔曼滤波的嵌入式实践
  • 2026年Q2铜排浸粉技术解析与靠谱供应商实测参考:柔性软连接、浸漆铜排、浸粉铜排、软连接定制、软铜排定制、铜排浸漆选择指南 - 优质品牌商家
  • 基于ATS Mini Radio与RadioScript的射频实验平台开发指南
  • 北京二手房装修公司咋选?2025-2026年推荐五大口碑评测空间优化巧布局特点市场份额 - 品牌推荐
  • 3分钟掌握百度网盘高速下载:Python脚本直链解析全攻略
  • KMS智能激活脚本:一键永久激活Windows和Office的完整指南
  • 魔兽争霸3终极兼容性解决方案:5分钟让你的经典游戏焕发新生
  • macOS: Sequoia (15) vs Tahoe (26) 完整功能对比表
  • macOS Tahoe (版本26) 全面详解
  • 2026年第二季度温州丁酯供应链解析:专业源头厂家的价值与选择 - 2026年企业推荐榜
  • AI开始替人办事后,最危险的不是模型不够强,而是它把旧资料当真了
  • 2026闭眼入!5款AI写作辅助软件亲测,告别卡壳症,初稿思路秒打通!
  • 快速响应成像卫星在轨任务规划与姿态控制【附算法】
  • 行驶工况识别与预测融合的混合动力汽车能量管理控制方法【附代码】
  • [智能体-81]:工程化智能体 = 模型做脑力拆解 + 框架做流程落地。前者是决策者,后者是管理者,tools/function call是内部员工;mcp server是外部资源;
  • 解决Claude Code Token不足问题并享受Taotoken活动价
  • 2026年5月防火铝塑板厂家推荐:TOP5排名选择指南专业评测价格 - 品牌推荐
  • 告别手动循环!用ABAP LOOP GROUP BY新语法重构你的报表代码(附3个实战案例)
  • 新能源车轻量化为什么开始盯上高强镁合金?
  • 为内部知识库问答机器人接入Taotoken多模型增强回答效果
  • 2026年5月金属复合板厂家推荐:十大排名工程幕墙防变形评测专业价格 - 品牌推荐
  • 172号卡平台官方推荐码怎么选?填错了,少赚好几万! - 172号卡
  • 开启Python GUI开发新纪元:Tkinter Designer可视化界面自动化生成终极指南
  • 炉石传说自动对战助手:5分钟上手,彻底解放双手的终极指南
  • 在Nodejs服务中集成多模型API以应对不同业务场景
  • 将Hermes Agent智能体工具对接至Taotoken的配置要点
  • ROS Noetic实战:从bag包里‘抠’出雷达点云和IMU数据的保姆级教程(Ubuntu 20.04)
  • 从Explain到SQL优化:一次生产环境慢查询的完整调优复盘
  • 程序员必知的操作系统知识:这3个操作系统技能,测试从业者同样必备
  • 2026年扫描电子显微镜选型指南:易姆科特的核心优势与产品矩阵解析