第三章 SSD存储介质:闪存 3.2-3.3

news2024/11/14 20:40:35


3.2 闪存实战指南

       闪存接口有同步异步之分。一般来说,异步传输速率慢,同步传输速率快

         (1)异步接口没有时钟,每个数据读由一次RE_n信号触发,每个数据写由一次WE_n信号触发。

         (2)同步接口有一个时钟信号,数据读写和时钟同步。

3.2.1 异步时序

  1. 异步写数据时序图

        在CLE、ALE、片选(CE_n)为低时,数据在写使能信号的上升沿写入数据寄存器中。(??这个说法不一定正确)

         上图中有5个信号:

         从上图看出,数据写入的时候,数据总线不能传输地址和命令,所以ALE和CLE无效。每一个WE_n周期对应一次有效的数据传输。

  2. 异步数据读出时序

 

 

        同步模式下DQS信号的上升沿与下级沿都能控制信号的传输,使传输速度翻倍。

3.2.4 闪存寻址

        下图是一个Target,即一个可以独立工作的逻辑芯片。

        一个Target包含两个LUN,一个LUN包含两个Plane,一个Plane包含多个Block,一个Block包含多个Page。

3.3 闪存特性

3.3.1 闪存存在的问题

  1. 闪存坏块

        闪存块Block是有一定寿命的。闪存中的存储单元先天就有一些的坏的,或者说是不稳定的,并且随着闪存的不断使用,坏的存储单元会越来越多。因此,必须要有坏块管理机制。

 2. 读干扰Read Disturb

        从闪存读取原理来看:当读取一个闪存页Page的时候,闪存块中未被选中的Page的控制栅极都会加一个正电压以保证MOS管是导通的。但,频繁在MOS管的控制栅极加正电压,可能会导致电子被吸进浮栅极,造成轻微写,从而导致比特翻转。但这不是永久性损伤,对Block执行擦除操作后可正常使用。

        读干扰会导致浮栅极进入电子。有电子进入,会导致晶体管的阈值电压右移

        注意:读干扰影响的是同一个Block上的其他Page,而非读取的Page本身。

 3. 写干扰Program Disturb

        除了读干扰会造成比特翻转,写干扰也会。

 4. 存储单元间的耦合Cell-to-Cell interference

  5. 电荷泄露

        存储在闪存存储单元的电荷,如果长期不使用,会发生电荷泄露。这同样会造成非永久性损伤,擦除后Block还能使用。

        

3.3.2 寿命

        随着擦写次数的增加,会发生3种故障:

        (1)擦过的晶体管,读出错;

        (2)写过的晶体管,有可能被误检测为擦过的状态;

        (3)写过的晶体管,有可能在其他的单元读的时候,把整个Bitline都给关了。

        如何解决寿命问题呢?

        (1)Wear Leveling:通过磨损平衡算法,让所有的闪存块均衡擦写,避免少数Block先挂掉,从而导致固态硬盘容量下降;

        (2)降低写放大:写放大越低,SSD的磨损速度越慢;

        (3)用更好的纠错算法:纠错能力越强,容许的出错率越高。

3.3.3 MLC使用特性

        对于MLC或TLC来说,写一个Block当中的Page,应该是顺序写,如Page0-->Page1-->Page2……,禁止随机写入。原因如下:

        (1)一个存储单元包含两个闪存页数据,要先写Lower Page,再写Upper Page;

        (2)相邻单元之间有耦合电容,工艺上要求后面的闪存页写操作时前面的闪存页已经写过。

        但对读来说,没有这个限制。SLC也没有这个限制

                

3.3.4 闪存数据保质期

        闪存中,数据保存时间的问题叫做Data Retention。

        保质期到了的标志:从闪存读出来的数据无法使用ECC纠错成功。

        如何解决Data Retention问题呢?        采用Read Scrub技术,或者叫数据巡检、扫描重写技术等。

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

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

相关文章

又曝新作!阿里P9再出山,操作性超强的Spring源码实践

如果你看懂了 Spring 源码,再去看 MyBatis、Spring Security 源码,你会发现这些源码都非常容易,稍微瞅几眼就懂了。 然而源码的学习是一个枯燥的过程,源码解读也是一个枯燥的过程,但是一旦你把源码搞懂了,…

远程接口调用工具Feign

JAVA 项目中如何实现接口调用? Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自带的 U…

C++、QT(GUI)知识库系统

目录 一、项目介绍 二、项目展示 三、源码分享 一、项目介绍 知识库系统 为一些常用知识进行统一储存、管理、更新、检索等功能的系统,整体类似于博客之类的系统。 用户的使用流程: 查看知识:搜索知识关键字 -> 点击查看知识内容 -…

Simulink仿真模块 - Delay

Delay:按固定或可变采样期间延迟输入信号 在仿真库中的位置为:Simulink / Commonly Used Blocks Simulink / Discrete HDL Coder / Commonly Used Blocks HDL Coder / Discrete 模型为: 双击模型打开参数设置界面,如图所示: 说明 Delay 模块会在一段延迟之后再输出模块的…

FreeRTOS ~(五)队列的常规使用 ~ (5/5)队列集

举例子说明:队列集的使用 队列集:Queue Set 多个队列的集合,一个队列中依次存放多个队列的句柄一般使用API的流程如下: 1.创建几个队列 2.创建队列集 3.把这几个队列添加进队列集中 然后可以创建任务去使用队列和队列集static QueueHandle_t xQueu…

[MySQL]可重复读下的幻读

一、幻读的定义 根据MySQL官网的描述,幻读是“相同的查询在不同时间返回了不同的结果” The so-called phantom problem occurs within a transaction when the same query produces different sets of rows at different times. 同时官网还举例说明了,如…

图形学 | 期末复习(上)| games101笔记 | 补档

博客基于GAMES101-现代计算机图形学入门-闫令琪,但不是其完整笔记,基于复习要求有一定的删减。考试以图形学入门基本概念和核心研究内容为主,少量公式。即以论述概念为主,涉及少量算法。p1:29:12是对应的games101视频节点&#xf…

maven在vscode添加依赖操作

1.maven查找依赖 点击进入网站,搜索需要的依赖包名选择一个合适的依赖 根据自己需要选择版本 选中maven,复制好代码,粘贴到pom.xml 2. 添加新的依赖 在pom.xml文件中,添加了依赖后,打开vscode终端,输入以…

matlab解微分方程

1.匿名函数 1.1创建 f(变量) 表达式; f(x1,x2) x1.^2x2;1.2 求解 x1为2 3 4 5;x2为3 4 5 6的情况下求解函数f的值 f(x1,x2) x1.^2x2; yf(2:5,3:6); subplot(121);%选择子图位置 plot(y)%画图2.一阶微分方程 用“dsolve” 2.1例 y.-y0 step1: 申明自变量和因…

一文2000字从0到1用Jmeter全流程性能测试实战

项目背景: 我们的平台为全国某行业监控平台,经过3轮功能测试、接口测试后,98%的问题已经关闭,决定对省平台向全国平台上传数据的接口进行性能测试。 01、测试步骤 1、编写性能测试方案 由于我是刚进入此项目组不久&#xff0c…

Linux--调试器:gdb

gcc与g默认动态链接形成的可执行程序(比如a.out)是release 版本,不可调试!!! 如何搞成debug可调试版本? gcc 程序名 -o 可执行程序名 -g //添加了-g就表明该程序是debug方式发布的 查看可执行…

归并排序和基数排序包含完整程序和结果

一,归并排序 1.定义:将两个或者两个以上的有序表合并成一个新的游戏表的过程。 2路归并排序:假设排序表中有n个记录,则可以将其视为n个有序子表,每个子表的长度为1,然后两两合并,得到n/2&…

前端vue入门(纯代码)24_Modules

穷不怪父,苦不责妻,方为真男人! 【23.Vuex中的模块化和命名空间】 [可以去官网看看Vuex3文档](Module | Vuex (vuejs.org)) 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,sto…

SQLServer2005位安装教程(图解)

进入下载的文件中,双击打开 :splash.hta 文件进行安装 根据自己的系统来选择性进行安装,这里我们选择第二项:基于 x64 的操作系统(6)。 然后在安装中选择“服务器组件、工具、练级丛书和示例©”的选项进行安装。 此处的注册信息可以忽略,非必填选项

第二章 模型评估和选择

文章目录 第二章 模型评估和选择2.1经验误差与过拟合2.2评估方法2.2.1留出法2.2.2交叉验证法2.2.3自助法2.2.4调参与最终模型 2.3性能度量2.3.1错误率与精度2.3.2查准率、查全率和F12.3.3ROC与AUC2.3.4代价敏感错误率与代价曲线 第二章 模型评估和选择 2.1经验误差与过拟合 通…

Unity-3d小游戏开发-----走迷宫

本人是在学习完c,c,数据结构算法,操作系统网络这些基础的课程之后,打算学习自己喜欢的游戏开发方向的东西,然后在B站上自学了几天unity,用到unity的触发器,碰撞,刚体,以及…

图像处理入门教程:从Python到Opencv

Python编程 这里主要针对有一定基础的读者,在Python编程中,掌握基础语法和数据类型是非常重要的。它们是构建程序的基石,是提供解决问题和开发应用的工具。在这里,我将简单介绍一些常用的语法和数据类型。 一、环境搭建 详细请…

14 - 信号优先级与安全性

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录 1. 信号优先级1.1 问题1.2 信号优先级的概念1.3 信号优先级实验设计1.3.1 发送端1.3.2 接收端1.3.3 编程实验:信号优先级实验 …

普通索引VS唯一索引

查询性能 假设 我们有一列int 类型的value 对它进行查询 (VALUE无重复字段) SELECT value FROM table where value 8; 如过是普通索引 找到value 8 的记录后还会继续找,直到碰到第一个不满足 k5 条件的记录。 如过是唯一索引 找到value 8这条记录就不会往下找…

百望股份高级PMO专家赵雅婧受邀为第十二届中国PMO大会演讲嘉宾

百望股份有限公司项目管理部高级PMO专家赵雅婧女士受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾,演讲议题:PMO的组织建设与持续运营。大会将于8月12-13日在北京举办,敬请关注! 议题简要: 众所周知&#xff…