Nand Flash基础知识

news2025/6/21 11:15:34

1、Nand Flash组织架构

在这里插入图片描述

  • Device(Package)就是封装好的nand flash单元,包含了一个或者多个target。
  • 一个target包含了一个或者多个LUN,一个target的一个或者多个LUN共享一组数据信号。
  • 每个target都由一个ce引脚(片选)控制,也就是说一个target上的几个LUN共享一个ce信号。

在这里插入图片描述
在这里插入图片描述

LUN(Die):

  • LUN是执行命令的最小单元,不同的LUN可以执行不同的命令序列
  • LUN包含一个或多个plane(通常有1 2 4 8)

Plane:

  • 一个plane包含一个或多个块(通常几百上千个)
  • 每个plane有独立的page register 和 cache register(优化闪存访问速度)

Block:

  • 块是最小的擦除单位
  • LUN中块的数量是没有限制的
  • 块包含很多个页,数量必须为32的倍数

Page:

  • 页是最小的读写单元
  • 页包含很多个字节(大小通常为2的幂不包括spare区域)

Spare:

  • 存储ECC值、坏块标记等。大小2K—> 64byte 4K —>128K 8K—>256

2、存储器原理

闪存的基本存储单元Cell,为非易失性存储器。(在源极(Source)和漏极(Drain)之间电流单向传导的半导体上形成存储电子的浮栅,浮栅上下被绝缘层包围,存储在里面的电子不会因为掉电而消失,所以闪存是非易失性存储器。)
在这里插入图片描述

Cell是闪存的最小工作单位,执行数据存储的任务。闪存根据每个单元内可存储的数据量分成SLC(1bit/Cell)、MLC(2bit/Cell)、TLC(3bit/Cell)和QLC(4bit/Cell),成本依次降低,容量依次增大,耐用度也依次降低

2.1、写/擦除原理

在这里插入图片描述

写操作是在控制极加正电压,使电子通过绝缘层进入浮栅极。擦除操作正好相反,是在衬
底加正电压,把电子从浮栅极中吸出来

2.2、块组织架构

在这里插入图片描述

一个闪存芯片有若干个DIE(或者叫LUN),每个DIE有若干个Plane,每个Plane有若干个Block,每个Block有若干个Page,每个Page对应着一个Wordline,Wordline由成千上万个存储单元构成

2.3、读/写/擦除

2.3.1、擦除

在这里插入图片描述

擦除前,浮栅上有可能有电子,Pwell加20V电压,经过足够时间后,由于量子隧道效应,电子从浮栅到沟道里面,完成一个Block的擦除 。

2.3.2、写

在这里插入图片描述

要写的单元Wordline为高电压,Bitline=0V;由于量子隧道效应,电子从沟道到浮栅,成为“0”。不写的单元Bitline为2V,在沟道里的效应阻碍了量子隧道效应发生

2.3.3、读

在这里插入图片描述

不读的Wordline=5V,管子保持导通;要读的单元Wordline=0V,-VT 的管子导通,Bitline端的传感器能够检测到,所以读到“1”,而经过写的+VT的管子不导通,传感器读为“0”。

3、读/写/擦除

大体流程如下:
在这里插入图片描述

Nand Flash LUN功能框图:
在这里插入图片描述

其中有地址寄存器、状态寄存器、命令寄存器等,后面依次介绍。

3.1、寻址

寻址方式:

  • 行地址:页内偏移
  • 列地址:在ONFI协议中,高位到低位依次表示:LUN地址、块地址、页地址
    在这里插入图片描述

注意:
1、当需要同时发出列地址和行地址时,列地址总是在一个或多个8位地址周期中首先发出。
2、在擦除的时候,列地址不需要发送。

在这里插入图片描述
在这里插入图片描述

访问数据都是要先通过地址进行定位,在上图中可以看到有12根列地址线(A0-A11)和17根行地址线(A12-A28),总共29根地址线。数据线是8位,一次只能发送8bit,所以地址需要多个周期发送,上图显示的是5cycle发送

3.2、擦除

擦除以块为单位,不需要列地址。
在这里插入图片描述

时序图如下:
在这里插入图片描述

3.3、读

在这里插入图片描述

时序图如下:
在这里插入图片描述

3.4、写

在这里插入图片描述
时序图如下:
在这里插入图片描述

3.5、状态寄存器

在这里插入图片描述

当SR[6]为0时,其他所有位无效(WP_n除外),主机需要忽略其状态。

  • FALL(0): 返回最近一条命令的结果。1 失败 0 成功。
  • FALLC(1): 返回上一条命令的结果。1 失败 0 成功。
  • VSP(2 3 4):厂商自定义。
  • ARDY(5):1,没有正在执行的Flash array操作。 0 ,最后一条命令的上一条命令还未执行完成。
  • RDY(6):1,表示最后一条命令执行完成并处于ready状态。0,最后一条命令还未完成,SR[5]也无效。
  • WP_n(7):1,没有开启写保护。 0 开启写保护。

4、数据接口

在这里插入图片描述

  • NV-DDR:双边沿采样,并采用源同步时钟来精确所存数据、命令、地址信号。
  • NV-DDR2:引入了差分信号和On-Die Termination (ODT)技术来提升信号质量。
  • NV-DDR3:NV-DDR3引入了多项校准技术,包括ZQ Calibration、Duty Cycle Correction (DCC)和读/写DQ校准。
  • NV-LP-DDR4:和NV-DDR3速率相同,优势在于采用LTT技术后可大幅度降低读操作功耗

各个接口的信号线:
在这里插入图片描述

  • R/B_n:Ready/Busy。闪存正在进行内部读的时候,Busy_n有效,当操作完成且数据准备好之后,Ready有效,用户可以来读了
  • CLK:时钟。时钟信号由用户产生,在时钟信号的上升沿和下降沿都有数据被触发,实现DDR,意味着100MHz的时钟频率数据传输速率是200MT/s
  • W/R_n:Write/Read_n。写的时候高电平,读的时候低电平
  • DQS:Data Strobe。DQS用来区分出每个数据传输周期,便于接收方准确接收数据。读数据时,DQS由闪存产生,DQS上下沿和数据对齐。写数据时,DQS由用户产生,DQS中间对应数据的中间稳定区域。所以,DQS可以看成数据的同步信号
  • DQ[7:0]:数据总线
  • WE_n:Write Enable,写使能,这个信号是用户发给闪存的,有效时意味着用户发过来的写数据可以采样了
  • RE_n:读使能。这个信号是用户发给闪存的,每发一个读使能,闪存就在数据总线上准备好数据,等用户采样

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

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

相关文章

07-vue的组件化

文章目录1.概述存在的问题:那么如何解决这种状况:2.组件化1.基本概述2.优点1.概述 对于前端来说,我们为用户创造价值才是特别需要关注的一个问题,这么多年过去了,前端到底为用户创造了什么价值呢? 70 年代…

Nacos2.2版本Tomcat启动报错

Nacos2.2版本Tomcat启动报错 错误日志 查看 logs/start.out,可以看到报错信息 2023-04-09 19:36:23,081 ERROR Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean wi…

Linux系统上如何禁用 USB 存储

Linux系统上如何禁用 USB 存储 为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也可能发生在内部。 为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 我是艾西&…

手写一个Promise

Promise Promise是一个对象,用于解决异步变成的问题,由传统的异步回调为服务端立即调用优化为使用者者掌握回调主动权。 比如传统的JSONP,如下,在请求路由里添加回调函数,由接收请求的一方来调用请求,使用…

小白学Pytorch系列--Torch.nn API Vision Layers(15)

小白学Pytorch系列–Torch.nn API Vision Layers(15) 方法注释nn.PixelShuffle将形状张量(∗,Cr2,H,W)(*,C r^2,H,W)(∗,Cr2,H,W)中的元素重新排列为形状张量(∗,C,Hr,Wr)(*,C,H r,W r)(∗,C,Hr,Wr)&#x…

详细介绍React路由

路由 单页Web应用(single page web application,SPA),整个应用只有一个完整的页面,点击页面中的链接不会刷新页面,只会做页面的局部更新。数据都需要通过ajax请求获取, 并在前端异步展现。 一个路由就是一…

高通SDX12:ProSLIC Si32185移植调试

一、SLIC业务流程图 本次在高通SDX12平台上支持语音芯片Si32185大致流程如下: 驱动部分直接放在Kernel中,通过SPI注册设备创建字符节点,与硬件建立连接注册设备成功并在audio_kernel中正确配置FE、BE后,声卡会创建出来应用层直接放在apps_proc下,通过IOCTL操作驱动层,通…

操作系统、输入法和编码的理解

操作系统和输入法 操作系统有一个输入法管理器,叫做IMM,管理系统内的所有输入法,或者说一个输入法想要使用操作系统提供的输入法API,就必须在IMM进行注册。 应用程序和输入法 应用程序一般都会使用输入法,也就是调用输入法的api进行文字输…

Spring boot+Vue3博客平台:文章搜索与推荐和文章阅读统计模块

一、文章搜索与推荐功能 1.前端搜索功能实现 在文章列表组件中添加搜索框&#xff0c;用户可以输入关键字进行文章搜索。同时&#xff0c;在搜索结果下方展示相关文章推荐。 <template><div class"article-list"><div class"search">&…

手写vuex4源码(六)命名空间实现

一、命名空间使用 在子模块对象中添加 namespaced&#xff1a;true&#xff0c;为模块开启命名空间功能&#xff1b; 开启命名空间功能&#xff0c;相当于为每个模块添加独立的作用域&#xff0c;实现模块间状态和事件的隔离&#xff1b; 二、命名空间实现逻辑 在模块注册阶…

Vue3+Typescript+Vitest单元测试环境+组件测试基础篇

上一章我们把环境配置好了&#xff0c;并且进行了最简单的一个单元测试Vue3TypescriptVitest单元测试环境基础用例篇 现在让我们去编写一个最简单的组件 这个代码包含最简单的部分&#xff0c;就是一个按钮&#xff0c;接受一个内容插槽、自身有一个button样式 了解相关API…

JavaWeb——File类和InputStream,OutputStream类详解

目录 一、File类 1、定义 2、属性 3、构造方法 4、方法 &#xff08;1&#xff09;、获取文件路径 &#xff08;2&#xff09;、文件的创建和删除 &#xff08;3&#xff09;、目录的创建 二、InputStream和OutputStream 1、InputStream &#xff08;1&#xff09;、…

从头创建一个新的浏览器,这合理吗?

从头构建一个新浏览器&#xff1f;这如果是不是个天大的“伪需求”&#xff0c;便是一场开发者的噩梦&#xff01; 要知道&#xff0c;如果没有上百亿的资金和数百名研发工程师的投入&#xff0c;从头开始构建一个新的浏览器引擎&#xff0c;几乎是不可能的。然而SerenityOS系统…

AI风暴 :文心一言 VS GPT-4

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 文心一言 VS GPT-4 文心一言&#xff1a;知识增强大语言模型百度全新一代知识增强大语言模型&#xff0c;文心大模型家族的新成员&#xff0c;能够与人对话互动&#…

代码随想录Day49

今天继续学习动规解决完全背包问题。 322.零钱兑换 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;…

虹科分享 | 使用IOTA检查受3CX DLL旁加载攻击影响的客户端 | 网络性能监控

2023年3月底&#xff0c;VoIP制造商3CX&#xff08;流行的互联网语音协议&#xff08;VoIP&#xff09;专用交换机&#xff08;PBX&#xff09;电话系统的开发商&#xff09;遭到DLL旁加载攻击。他们的软件被大约60万家公司和1200万用户使用&#xff0c;其中包括梅赛德斯-奔驰、…

人工智能中的监督学习到底是啥?其应用方向有哪些?

人工智能&#xff08;Artificial Intelligence, AI&#xff09;是一门致力于使机器能够像人类一样进行智能决策和行为的学科。监督学习&#xff08;Supervised Learning&#xff09;是人工智能领域中的一种重要学习方式&#xff0c;通过使用标注好的样本数据来训练模型&#xf…

零基础如何入门网络安全?【2023最新】

前言 最近收到不少关注朋友的私信和留言&#xff0c;大多数都是零基础小友入门网络安全&#xff0c;需要相关资源学习。其实看过的铁粉都知道&#xff0c;之前的文里是有过推荐过的。新来的小友可能不太清楚&#xff0c;这里就系统地叙述一遍。 01.简单了解一下网络安全 说白…

Linux 操作系统原理 — 内核协议栈收包/发包流程

目录 文章目录目录关键技术NIC DMAKernel 中的 sk_buff 与 sk_bufferKernel 中的 Rx/Tx RingBuffer Descriptor Table中断收包机制NAPI 收包机制多队列网卡内核协议栈收包/发包流程概览内核协议栈收包流程详解驱动程序层&#xff08;数据链路层&#xff09;VLAN 协议族Linux Br…

基于MATLAB的语音识别仿真系统

本文实现的语音识别系统&#xff0c;主要是对语音识别的特征参数的提取和识别模型的匹配&#xff0c;进行深入的研究。首先,对语音识别进行了概述&#xff0c;给出了语音识别的系统框架。然后就是如何实现语音识别的问题&#xff0c;这个过程可分为两个部分:第一个是语音特征参…