闪存的基础知识1-Vt的编码

系列文章目录

目录

前言

一、SLC的编码

二、使SLC的编码

三、格雷码的介绍

1.定义:

2.举例

总结



前言

本节主要介绍闪存的一些编码规则

一、SLC的编码

对于SLC来说,可以定义编程态为0、擦除态为1。

二、使SLC的编码

对MLC来说,因为有四个状态,就需要使用“00、01、10、11”来表征各个Vt分布。在上世纪末,英特尔提出MLC的概念时,就引入了通信协议中常用的格雷码(Gray Code)的概念,以降低“信道”的误码率。

闪存中所讲的“信道”就是闪存本身。把数据存入闪存,再把数据从闪存里读出来,就好像通信中在信道的输入端输入信号,再从信道的输出端获取信号那样。唯一不同的是,通信是在空间域里传输信息,“information transfer from here to there”,而存储器是在时间域里传输信息,“information transfer from now to future”。所以在闪存的编码里,沿用了许多通信编码技术,格雷码就是其中之一。

三、格雷码的介绍

1.定义:

若任意两个物理状态相邻(状态距离为1),则这两个物理状态的编码在二进制上只允许有1个bit的变化(码距为1)。

2.举例

举个例子:二进制100和110之间只有第二位是翻转的(码距d=1),而二进制101和010就有三个bit的翻转(码距d=3)。码距就是两个码之间的bit翻转数,用字母d来表示,具体概念这里就不赘述了。那为什么我们希望两个相邻物理状态的码距为1呢?这是基于一个朴素的想法,即“因为两个相邻状态(t=1)之间翻转而产生误码的几率,要远大于两个非相邻状态(t>1)之间翻转而产生误码的几率”。设误码率为P,Vt分布之间的距离为t,用公式表达,就是

P(t=1) >> P(t=2)>>P(t=3)

假设MLC的编码不是格雷码,而是用最常用的顺序编码,令擦除态为11、最高的编程态为00,则得到  11   10  01  00

第二个分布的编码是10,第三个分布的编码是01。虽然从十进制看,各个分布的编码符合3、2、1、0的顺序编码,但其中有两个相邻分布(t=1)的编码,在二进制上有两个bit的翻转,即d=2:

为了有效降低误码率,MLC闪存使用格雷码,定义各个状态的二进制编码为11  01  00 10

于是这个编码的低位bit自然也就映射到了低位页(LP)的数据。

相对应的,我们可以在第一第二分布之间,以及第三第四分布之间放两个比较电压,称为Vref_UP1和Vref_UP2,用来读取闪存中高位页(UP)的数据,并定义落在Vref_UP1和Vref_UP2之间的Vt被读成0、落在Vref_UP1和Vref_UP2之外的Vt被读成1,

上面的话题也引出了另一个要点:MLC有4个状态,需要比较三次才能把MLC的LP和UP中的数据都读出来。其中LP只需要比较1次,UP则需要比较2次,所以UP的读取速度比LP的读取速度慢很多,虽然不是两倍,但差距也很可观。

顺序编码的话,至少有三个相邻Vt分布(t=1)的编码会翻转超过1个bit (d>1)。

为满足低误码率的需求,在保持最低的擦除态Vt编码为111的预设前提下,TLC上至少可以构造出几个不同的格雷码


总结

QLC和PLC能够构造的格雷码更多,那么我们究竟应该选哪个编码使用呢?这就牵涉到每一个页的读取速度平衡问题:TLC上需要平衡低位页(LP),中位页(Middle Page, MP),高位页(UP)的读取速度,以达成在系统端的性能优化。

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

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

相关文章

SDK游戏盾是什么?,sdk游戏盾有什么作用

在现今的游戏市场,游戏保护成为了每个游戏开发者都不能忽视的重要环节。恶意破解、作弊和盗版等问题严重影响了游戏的安全性和商业价值。而如何保护自己的游戏免受这些威胁,已经成为游戏开发者们面临的重大挑战。好在SDK游戏盾,它如同保护游戏…

JVM 一些重要配置参数

1、内存配置参数 -Xmx<size>&#xff1a;设置Java堆的最大内存。如 -Xmx2g 将堆的最大大小设置为2G&#xff0c;推荐配置为系统可用内存的70-80%-Xms<size>&#xff1a;设置Java堆的初始内存。如 -Xms2g 将堆的初始大小设置为2G&#xff0c;推荐配置与-Xmx的值相同…

【设计模式-05】Facade门面Mediator调停者 | Decorator装饰器 | Chain Of Responsibility责任链

Facade门面Mediator调停者 1、Facade门面图解 2、Mediator调停者 一般是系统内部相互交错&#xff0c;比如消息中间件(MQ)就是这种设计模式&#xff0c;对各个功能或系统之间进行解耦。 Decorator装饰器 1、问题 2、解决方案 Chain Of Responsibility责任链 一、例子场景 业…

循环冗余校验(Cyclic Redundancy Check, CRC)计算

若信息码字为111000110&#xff0c;生成多项式G(x)x^5x^3x1&#xff0c;则计算出的CRC校验码为&#xff08; &#xff09;。 A.01101 B.11001 C.001101 D.011001 循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的…

牛客周赛 Round 3 解题报告 | 珂学家 | 贪心思维场

前言 寒之不寒无水也&#xff0c;热之不热无火也。 整体评价 感觉比较简单&#xff0c;更加侧重于思维吧。和前几场的Round系列&#xff0c;风格不太一样。 A. 游游的7的倍数 因为连续7个数&#xff0c;比如有一个数是7的倍数 因此从个位数中着手添加&#xff0c;是最好的选…

软件测试|如何使用Selenium处理隐藏元素

简介 我们在使用selenium进行web自动化测试时&#xff0c;有时候会遇到元素被隐藏&#xff0c;从而无法对元素进行操作&#xff0c;导致我们的用例报错的情况。当我们遇到元素被隐藏的情况时&#xff0c;需要先对隐藏的元素进行处理&#xff0c;才能继续进行我们的操作&#x…

Spirng MVC见解1

1. SpringMVC概述 1.1 MVC介绍 MVC是一种设计模式&#xff0c;将软件按照模型、视图、控制器来划分&#xff1a; M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为数据承载Bean&#x…

xlua源码分析(五) struct类型优化

xlua源码分析&#xff08;五&#xff09; struct类型优化 上一节我们分析了xlua是如何实现lua层访问C#值类型的&#xff0c;其中我们重点提到了xlua默认实现方式下&#xff0c;struct访问的效率问题。实际上&#xff0c;xlua还提供了两种优化的方式&#xff0c;可以大大提高str…

代码随想录算法训练营Day21| 93.复原IP地址、78.子集、90.子集||

LeetCode 93 复原 IP 地址 本题思路&#xff1a;最重要的是想到一个收集结果的条件&#xff0c;也就是终止条件。 当 . 的个数达到三个时候&#xff0c;并且&#xff0c;判断最后剩余的是否符合要求&#xff0c;如果符合&#xff0c;说明整个ip地址可以&#xff0c;就加入到结…

二分图带权最大匹配-KM算法详解

文章目录 零、前言一、红娘再牵线二、二分图带权最大完备匹配2.1二分图带权最大匹配2.2概念2.3KM算法2.3.1交错树2.3.2顶标2.3.3相等子图2.3.4算法原理2.3.5算法实现 三、OJ练习3.1奔小康赚大钱3.2Ants 零、前言 关于二分图&#xff1a;二分图及染色法判定-CSDN博客 关于二分…

Java线上问题堆栈排查分析

最近线上出现类似内存溢出问题&#xff0c;需要排查具体原因&#xff0c;记录过程&#xff0c;方便备查。 一、数据抓取 在启动参数中添加参数&#xff0c;可参照以下设置。 参数的作用是在程序发生内存溢出 OutOfMemory 时打印日志&#xff0c;dump下来&#xff0c;方便用工…

xshell:关于ssh用户身份验证不能选择password的解决方法

接下来我将告诉大家如何进行修改让其能够进行密码登录 我使用的软件是VM VirtualBox管理器 进行用户名密码登录后 输入 cd /etc/ 切换到etc目录下 cd /etc/ 切换到etc目录后输入ls ls 切换到ssh目录下 cd ssh 进入文件 sshd_config vi sshd_config 找到指定部分进行修改 如何…

华为云优惠券介绍、种类、领取入口及使用教程

华为云作为国内领先的云服务提供商&#xff0c;为了吸引用户&#xff0c;经常推出各种优惠活动&#xff0c;其中就包括华为云优惠券。通过领取和使用优惠券&#xff0c;可以降低用户上云成本&#xff0c;提升用户上云的使用体验。本文将详细介绍华为云的优惠券&#xff0c;包括…

操作系统--内存管理

一、虚拟内存的提出 单片机 没有操作系统只能运行一个程序每次都要借助工具把代码烧录进去&#xff08;后面的程序会把之前的覆盖&#xff09; 单片机的 CPU 是直接操作内存的「物理地址」 现在的问题是 有操作系统需要同时运行多个程序&#xff08;把进程所使用的地址「隔离」…

车载以太网——DDS篇

摘要&#xff1a; DDS为信息交换和应用程序集成创建了一个简单而强大的体系结构。 01、什么是DDS DDS是一系列标准&#xff0c;它指定了分布式应用程序可用于交换实时数据的API、协议和安全机制。应用程序所使用的软件应用程序编程接口&#xff08;API&#xff09;是基于一个…

“超人练习法”系列09:耶克斯–多德森定律

01 你现有水平和学习风格 搞明白自己是个大事&#xff0c;搞不明白就糊涂一辈子。 首先&#xff0c;要弄清楚自己现在是个啥水平&#xff0c;有啥技能可以拿出来的&#xff0c;然后再定个目标&#xff0c;知道自己想往哪方面努力。 你擅长的学习方式是啥呢&#xff1f;是那种…

架构的未来:微前端与微服务的融合

目录 前言 微服务架构简介 微前端架构简介 微前端与微服务的融合 1. 共享服务 2. 基于事件的通信 3. 统一的身份和认证 4. 交付管道的集成 示例&#xff1a;使用微服务和微前端的电子商务平台 微服务架构 微前端架构 融合微服务和微前端 总结 作者简介…

智慧康养项目:智能技术与产品提升老年人生活品质

智慧康养项目需要集成的一些独特的技术和产品&#xff0c;其中包括&#xff1a; 智能健康监测设备&#xff1a;我们开发了一款能够实时监测老年人身体状况的智能健康监测设备&#xff0c;包括血压、血糖、心率等指标。该设备通过数据分析处理&#xff0c;能够提供个性化的健康…

【微信小程序独立开发 3】个人资料页面编写

这一节完成用户个人信息昵称的填写和获取 上节编写完成后的页面如下所示&#xff1a; 首先进行用户昵称编辑功能的编写&#xff0c;铲屎官昵称采用了navigator标签&#xff0c;当点击昵称时会自动跳转到昵称编辑页面。 首先输入昵称编辑界面的导航栏名称 {"usingCompone…

On the Robustness of Backdoor-based Watermarkingin Deep Neural Networks

关于深度神经网络中基于后门的数字水印的鲁棒性 ABSTRACT 在过去的几年中&#xff0c;数字水印算法已被引入&#xff0c;用于保护深度学习模型免受未经授权的重新分发。我们调查了最新深度神经网络水印方案的鲁棒性和可靠性。我们专注于基于后门的水印技术&#xff0c;并提出了…