闪存组织结构概念


文章目录

  • 一、几种不同类型闪存的参数:
  • 二、组织结构
  • 三、块(Block)的结构
    • 擦除动作原理:
    • 写操作
    • 读操作


一、几种不同类型闪存的参数:

参数项SLCMLCTLCQLC
读取时间/us20~2555~11075~170120~200
写入时间/us50~100400~1500800~20002000~3000
擦除时间/ms2~55~1010~1515~20
擦写次数100000150003000~5000800~1500
存储位/b1234

二、组织结构

基本存储单元叫做 Cell
若干个Cell组成最小的读写操作单元 Page
若干个Page组成最小擦除单元 Block
若干个Block组成 Plane
若干个Plane组成Die或者叫LUN
若干个Die组成一个闪存芯片

参考书中的结构图:
在这里插入图片描述

三、块(Block)的结构

参考下图:cell是串行排列的,一个Block由若干个Page组成,若干个page被一条字线串联,【WL(Word Line)】
而位线【BL(Bit Line)】则是一个Page有多少位就有多少条,假如一个Page 16kb,则有 16x1024x8个BL
所有cell共用一个衬底

这里我的理解:
一条WL上可能有多个page,对SLC就1个page,MLC就两个Page,以此类推.page是一个逻辑单位,我们把它当作一个整体,实际上是由一个个独立的cell组成,这些Cell被一个WL串成一串,然后每一个Cell由它所能保存的位数决定它需要引出几条BL出来
问题:假如一个WL含一个Page,Page大小为16KB,则有16 x 1024 x 8条BL,那假如我一个WL上有两个Page呢?是否就是16 x 1024 x 8 x2 条BL?

书中标注:假如有奇偶位线,则一个字线上的闪存页要翻倍(暂未理解)

在这里插入图片描述

擦除动作原理:

擦除是对整个Block进行操作,如下图:

在所有WL的控制级加 0V电压,衬底加高电压,将浮栅层的电子吸出,完成擦除动作
固件会有检查,假设电子无法完全吸出的cell超过设定值,则判定此Block ,擦除失败(Erase Fail),应该被标记为坏块(bad block),不再使用
在这里插入图片描述

写操作

写最小单位是Page,所以对Page进行操作,如下图:

写入是在WL控制级加高电压(Vprog),在衬底加0V电压,其余WL加一个刚好可以导通的低电压Vpass,在不需要操作的存储单元的BL施加一个高电压Vinh,需要操作的Cell对应得BL施加一个0V电压,以此0V电压对应的BL与Vprog对应的WL形成的交叉点的Cell将被操作注入电子,其余Cell则不做动作,维持无电子状态

也就是说写操作需要 WL与BL共同操作来确定需要操作的Cell,高电压WL与0V BL交汇点的Cell则灌入电子,其余Cell不做操作
在这里插入图片描述

读操作

读最小单位是Page,所以对Page进行操作,如下图:

对不需要读取的Page的WL施加一个导通电压 V pass,然后给所有BL充电
然后之前提到读操作的时候有个阈值,所以需要在需要读取数据的Page对应的WL上施加一个V read阈值电压,然后根据这个阈值电压打下去是导通还是断开,来读出数据
在这里插入图片描述

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

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

相关文章

Android设计模式--模板方法模式

一,定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在面向对象的开发过程中,通常会遇到这样一个问题,我们知道一个算法所需的关键步…

docker报错standard init linux.go:228 exec user process caused: exec format error

1、报错 使用Dockerfile自己做的服务镜像,docker run时启动失败,报错如下: standard init linux.go:228 exec user process caused: exec format error2、原因一 当前服务器的CPU架构和构建镜像时的CPU架构不兼容。比如做镜像是在arm机器下…

竞赛选题 车道线检测(自动驾驶 机器视觉)

0 前言 无人驾驶技术是机器学习为主的一门前沿领域,在无人驾驶领域中机器学习的各种算法随处可见,今天学长给大家介绍无人驾驶技术中的车道线检测。 1 车道线检测 在无人驾驶领域每一个任务都是相当复杂,看上去无从下手。那么面对这样极其…

云原生正在重塑软件的整个生命周期(内附资料)

随着企业数字化转型进程的发展,企业面临着新旧商业形态的剧变,颠覆和重构时刻都在发生。 企业需要更加快速地感知用户侧的需求变化并做出调整,才有可能在竞争中持续积累优势。业务的个性化、敏捷化、智能化需求日益突显,数字化应…

git merge 和 git rebase

一、是什么 在使用 git 进行版本管理的项目中,当完成一个特性的开发并将其合并到 master 分支时,会有两种方式: git merge git rebasegit rebase 与 git merge都有相同的作用,都是将一个分支的提交合并到另一分支上,…

2023年亚太地区数学建模大赛 问题B

玻璃温室中的微气候法规 温室作物的产量受到各种气候因素的影响,包括温度、湿度和风速[1]。其中,适宜的温度和风速是植物生长[2]的关键。为了调节玻璃温室内的温度、风速等气候因素,温室的设计通常采用带有温室风扇的通风系统,如…

rabbit MQ的延迟队列处理模型示例(基于SpringBoot延时插件实现)

rabbitMQ安装插件rabbitmq-delayed-message-exchange 交换机由此type 表示组件安装成功 生产者发送消息时设置延迟值 消息在交换机滞纳至指定延迟后,进入队列,被消费者消费。 组件注解类: package com.esint.configs;import org.springfra…

OpenAI再次与Altman谈判;ChatGPT Voice正式上线

11月22日,金融时报消息,OpenAI迫于超过700名员工联名信的压力,再次启动了与Sam Altman的谈判,希望他回归董事会。 在Sam确定加入微软后,OpenAI超700名员工签署了一封联名信,要求Sam和Greg Brockman&#x…

用于 syslog 收集的协议:TCP、UDP、RELP

系统日志是从 Linux/Unix 设备和其他网络设备(如交换机、路由器和防火墙)生成的日志 可以通过将 syslog 聚合到称为 syslog 服务器、syslog 守护程序或 syslogd 的服务器来集中 syslog。在TCP、UDP和RELP协议的帮助下,系统日志从设备传输到系…

「快学Docker」监控和日志记录容器的健康和性能

「快学Docker」监控和日志记录容器的健康和性能 1. 容器健康状态监控2. 性能监控3. 日志记录几种采集架构图 4. 监控工具和平台cAdvisor(Container Advisor)PrometheusGrafana 5. 自动化运维 1. 容器健康状态监控 方法1:需要实时监测容器的运…

Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning

ABSTRACT 如何恢复背光图像仍然是一项具有挑战性的任务。该领域最先进的方法基于监督学习,因此通常仅限于特定的训练数据。在本文中,我们提出了一种用于背光图像恢复的“零样本”方案,该方案利用深度学习的力量,但不依赖于任何先…

孟德尔随机化 MR入门基础-简明教程-工具变量-暴露

孟德尔随机化(MR)入门介绍和分章分享(暂时不解读) 大家好,孟德尔随机化大火,但是什么是孟德尔随机化,具体怎么实操呢 这没有其他教程的繁冗,我这篇讲最基础的孟德尔随机化的核心步…

Selenium浏览器自动化测试框架

介绍 Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome&#xff…

STM32_3(GPIO)

GPIO简介 GPIO(General Purpose Input Output)通用输入输出口8种输入输出模式输出模式可控制端口输出高电平,驱动LED、蜂鸣器、模拟通信协议输出时许等输入模式可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输…

【VRTK】【VR开发】【Unity】8-可交互对象

【概述】 之前我们只是用了一个简单方块作为可交互对象。其实可交互对象可以有许多细节设置,包括具体抓握物体的哪个点,指定抓握的方向,指定Secondary Action允许两手互换抓握,双手抓握,用两手改变物体大小等。 【拾取物体】 要让一个物体能够被拾取,必须设置它为可互…

十多位老铁在公司搭建好了测试平台

保守估计,目前有十多位小伙伴在公司搭建好了。 现在稍微详细的讲一下其中测试计划的使用说明: (图片有点小,可以点击扩大查看) 1、进入测试计划模块,点击“添加”,如下图5.1: ▲图 5…

NX二次开发UF_CAM_set_cam_preferences 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_set_cam_preferences Defined in: uf_cam.h int UF_CAM_set_cam_preferences(UF_CAM_preferences_p_t prefs ) overview 概述 This function sets the current settings of…

【鸿蒙应用ArkTS开发系列】- 云开发入门实战二 实现城市多级联动Demo(上)

目录 概述 云数据库开发 一、创建云数据库的对象类型。 二、预置数据(为对象类型添加数据条目)。 三、部署云数据库 云函数实现业务逻辑 一、创建云函数 二、云函数目录讲解 三、创建resources目录 四、获取云端凭据 五、导出之前创建的元数据…

鸿蒙原生应用/元服务开发-AGC分发如何配置版本信息(下)

12.根据《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,自2023年9月初起,在中国大陆地区提供互联网信息服务的APP开发者,需要依法履行APP备案手续,并通过APP分发平台的备案信息核验。 对于2023年9月7日后在AGC新上…

【C++入门到精通】 Lambda表达式 C++11 [ C++入门 ]

阅读导航 引言一、C98中的一个例子二、Lambda表达式1. Lambda表达式语法(1)Lambda表达式各部分说明(2)捕获列表说明 三、Lambda表达式的底层原理温馨提示 引言 当今软件开发行业的快速发展和日益复杂的需求,要求程序员…