datasheet芯片数据手册—新手入门学习(二)【8-18】
参考芯片手册已经上传,可自行下载
因为芯片参考手册内容比较多,故再一次介绍本文内容主要讲解章节。
目录
8、内容介绍
命令真值表
9、Command Definitions
10、READ Operations
(1)页面读取操作
(2)随机读取
11、BLOCK ERASE Operation
(1)块擦除
12、One-Time Programmable (OTP) Area
(1)OTP数据程序
13、RESET Operation
(1)重置
14、WRITE PROTECT Operation
(1)写保护操作
1、删除启用
2、删除禁用
3、程序启用
4、程序禁用
15、Error Management
16、Electrical Characteristics
(1)绝对最大额定参数
(2)推荐的操作条件
17、Timing Diagrams
(1)命令锁存周期
(2)地址锁存周期
(3)输入数据锁存周期
datasheet芯片数据手册—新手入门学习(一)【1-7】
8、内容介绍
本文主要介绍下方红色标题内容
Features(特性或特点):一般概述了产品的主要优势和技术规格。
Part Numbering Information (部件编号信息):这一部分通常包含如何识别不同NAND闪存部件的信息,包括它们的型号、版本和任何特定的标识符。
General Description (一般描述):这里会提供NAND闪存的概述,可能包括它的用途、主要特点和优势。
Architecture (架构):详细介绍NAND闪存的内部结构,包括它的组织方式和如何管理数据。
Addressing (寻址):解释如何对NAND闪存中的数据进行寻址,即如何指定和访问存储在闪存中的特定数据。
Memory Mapping (内存映射):描述如何将NAND闪存映射到系统的内存地址空间中,允许像访问RAM一样的访问方式。
Array Organization (数组组织):介绍NAND闪存中数据的物理布局,包括块、页和平面的组织方式。
Bus Operation (总线操作):涉及NAND闪存与系统总线之间的通信协议和时序要求。
Command Definitions (命令定义):列出NAND闪存支持的所有命令,以及每个命令的功能和用法。
Error Management (错误管理):介绍NAND闪存在操作过程中如何处理错误,可能包括纠错码(ECC)和其他机制。
Electrical Characteristics (电气特性):提供NAND闪存的电气参数,如电压、电流、耐压等。
Timing Diagrams (时序图):展示NAND闪存在不同操作下的时序要求,对于确保系统兼容性至关重要。
Package Dimensions (封装尺寸):描述NAND闪存的物理封装类型和尺寸,这对于物理设计和安装非常重要。
命令真值表
9、Command Definitions
命令定义
此图一种存储器或类似设备的命令集及其相应的操作参数。表格列出了不同的命令代码、数据有效性、命令地址周期、命令周期中的状态以及可能的备注。下面是对表格内容的逐项解释:
- Command: 命令,这是存储器芯片接收的指令代码,以十六进制形式表示。
- Command Cycle 1: 第一个命令周期,这通常是指命令被发送到存储器后,存储器开始执行该命令的第一个阶段。
- Number of Address Cycles: 地址周期数量,这表示执行命令时需要的地址设置的周期数。
- Data Cycles Required1: 第一个数据周期所需的数据量,这表示在第一个数据周期中需要传输的数据量。
- Command Cycle 2: 第二个命令周期,如果命令需要多个阶段来完成,这将是第二个阶段。
- Valid During Busy: 在忙碌期间有效,这表示在存储器忙于执行前一个命令时,是否可以发送新的命令。
- Notes: 注释,提供了关于命令的额外信息或特殊说明
下面是表格中列出的命令及其详细解释:
- PAGE READ: 页读取命令,命令代码为
00h
,需要5个数据,地址周期为30h,没有备注。- PAGE READ CACHE MODE: 缓存模式下的页读取命令,命令代码为
31h
,需要2个地址周期,没有备注。- PAGE READ CACHE MODE LAST: 缓存模式下的最后一页读取命令,命令代码为
3Fh
,需要2个地址周期,没有备注。- READ for INTERNAL DATA MOVE: 用于内部数据移动的读取命令,命令代码为
00h
,需要5个数据,地址周期为35h,需要3个命令周期。- RANDOM DATA READ: 随机数据读取命令,命令代码为
05h
,需要2个数据,地址周期为EOh
(可能是一个错误,因为EOh不是一个有效的十六进制数),需要4个命令周期。- READID: 读取ID命令,命令代码为
90h
,只需要1个数据,没有地址周期,没有备注。- READ STATUS: 读取状态命令,命令代码为
70h
,没有数据和地址周期,设备在命令执行期间处于忙碌状态。- PROGRAM PAGE: 页编程命令,命令代码为
80h
,需要5个数据,地址周期为10h,需要5个命令周期。- PROGRAM PAGE CACHE MODE: 缓存模式下的页编程命令,命令代码为
80h
,需要5个数据,地址周期为15h,没有备注。- PROGRAM for INTERNAL DATA MOVE: 用于内部数据移动的编程命令,命令代码为
85h
,需要5个数据,地址周期为10h,需要3个命令周期。- RANDOM DATA INPUT: 随机数据输入命令,命令代码为
85h
,需要2个数据,设备在命令执行期间处于忙碌状态,没有地址周期。- BLOCKERASE: 块擦除命令,命令代码为
60h
,需要3个地址周期,地址周期为DOh
,需要5个命令周期。- RESET: 复位命令,命令代码为
FFh
,没有数据和地址周期,设备在命令执行期间处于忙碌状态。- OTP DATA PROGRAM: OTP(一次性可编程)数据编程命令,命令代码为
A0h
,需要5个数据,地址周期为10h,需要5个命令周期。- OTP DATA PROTECT: OTP数据保护命令,命令代码为
A5h
,需要5个数据,地址周期为10h,没有备注。- OTP DATA READ: OTP数据读取命令,命令代码为
AFh
,需要5个数据,地址周期为30h,没有备注。
Two-Plane Command Set
10、READ Operations
读操作
(1)页面读取操作
在开机时,设备默认为读取模式。在操作中进入读取模式,需要先向命令寄存器写入00h命令,然后写入5个地址周期,最后以30h命令结束。
为了确定从NAND Flash阵列到数据寄存器的数据传输进度(tR),可以监测R/B#信号,或者,作为替代,发出一个读取状态(70h)命令。如果使用读取状态命令来监测数据传输,用户必须重新发出读取(00h)命令以从数据寄存器接收数据输出。有关示例,请参见第72页的图65和第73页的图66。重新发出读取命令后,脉冲RE#线将导致从初始列地址开始输出数据。
串行页读序列输出完整页的数据。写入30h后,页数据被转移到数据寄存器,R/B#在转移期间变低。当转移到数据寄存器完成时,R/B#恢复高电平。此时,可以从设备读取数据。从初始列地址开始,到页的末尾,通过以最大tRC速率重复脉冲RE#来读取数据。
(2)随机读取
随机数据读取命令允许用户指定一个新的列地址,以便可以读取单个或多个地址的数据。在正常的页读取(00h-30h)序列之后启用随机读取模式。在初始页读取之后,通过写入05h-E0h命令序列以及新的列地址(2周期)可以输出随机数据。
在页内可以无限制地发出随机数据读取命令。只能读取当前页上的数据。脉冲RE#引脚将顺序输出数据。
11、BLOCK ERASE Operation
块擦除操作
(1)块擦除
擦除是在块级别进行的。例如,MT29F4G08AAA设备有4096个擦除块,每个块组织为64页,每页2112字节(2048+64字节)。每个块是132K字节(128K+4K字节)。块擦除命令每次操作一个块。需要三个周期的地址BA[18:6]和PA[5:0]。虽然加载了页地址PA[5:0],但对于块擦除操作来说,它们是“无关紧要”的,并且被忽略。有关地址的详细信息,请参见第13页的表3。
实际的命令序列是一个两步过程。首先,将擦除设置(60h)命令写入命令寄存器。然后,向设备写入三个周期的地址。接下来,将擦除确认(D0h)命令写入命令寄存器。在WE#的上升沿,R/B#变低,控制逻辑自动控制定时和擦除验证操作。在整个tBERS擦除时间内,R/B#保持低电平。可以使用读取状态(70h)命令来检查块擦除操作的状态。当位6=1时,擦除操作完成。位0表示通过/失败条件,其中0=通过。
12、One-Time Programmable (OTP) Area
一次性可编程区域
这款美光NAND Flash设备提供了一个受保护的一次性可编程NAND Flash存储区。设备上有十个完整页(每页2112字节)的OTP数据可用,并且整个范围保证是好的。OTP区域只能通过OTP命令访问。客户可以按照他们希望的任何方式使用OTP区域;典型的用途包括编程序列号或其他数据以永久存储。
在美光NAND Flash设备中,OTP区域离开工厂时处于未写入状态(所有位都是“1”)。编程或部分页编程允许用户仅在OTP区域内编程“0”位。OTP区域不能被擦除,即使它没有受到保护。保护OTP区域只是防止对OTP区域进行进一步编程。虽然OTP区域被称为“一次性可编程”,但美光提供了一种独特的方式来编程和验证数据——在永久保护它并防止未来更改之前。
OTP编程和保护通过两个独立的操作完成。首先,使用OTP数据编程(A0h-10h)命令,OTP页在一个操作中完全编程,或最多进行四次部分页编程序列。以类似的方式,可以在OTP区域内的其他页上进行编程。其次,使用OTP数据保护(A5h-10h)命令,OTP区域被永久保护,防止进一步编程。无论是否受到保护,始终可以使用OTP数据读取(AFh-30h)命令读取OTP区域内的页。
为了确定设备在OTP操作期间是否忙碌,可以监测R/B#或使用读取状态(70h)命令。在OTP操作期间及其后,禁止使用双平面/多芯片读取状态(78h)命令。
(1)OTP数据程序
OTP数据编程(A0h-10h)命令用于将数据写入OTP区域内的页。可以一次性编程整个页,或者一个页可以被部分编程最多四次。OTP页没有擦除操作。
OTP数据编程允许编程到OTP页的一个偏移量,使用两字节的列地址(CA[11:0])。该命令与随机数据输入(85h)命令不兼容。如果OTP区域已被保护,OTP数据编程命令将不会执行。
要使用OTP数据编程命令,发出A0h命令。发出5个地址周期:前2个地址周期是列地址,剩余3个周期选择范围从02h-00h-00h到0Bh-00h-00h内的页。接下来,写入1到2112字节的数据。数据输入完成后,发出10h命令。内部控制逻辑自动执行适当的编程算法,并控制编程和验证所需的必要时序。程序验证仅检测未成功写入“0”的“1”。
在阵列编程时间(tPROG)期间,R/B#变低。读取状态(70h)命令是OTP数据编程操作期间唯一有效的命令。状态寄存器的位5将反映R/B#的状态。如果位7是“0”,则表示OTP区域已被保护;否则,它将是“1”。
当设备准备好时,读取状态寄存器的位0以确定操作是否通过或失败。
每个OTP页最多可以编程四次。
13、RESET Operation
重置操作
(1)重置
重置命令用于将存储器设备置于已知状态,并中止正在进行的命令序列。
在设备处于忙状态时,可以中止读取、编程和擦除命令。正在编程的内存位置或正在擦除的块的内容不再有效。数据可能被部分擦除或编程,并且无效。命令寄存器被清除,并准备好接受下一个命令。数据寄存器和缓存寄存器的内容被标记为无效。
当WP#为高电平时,状态寄存器包含值E0h;否则,它被写入值60h。在将重置命令写入命令寄存器后,R/B#变低tRST。
上电后,必须对所有CE#发出重置命令。设备将忙最多1ms。在初始重置命令和OTP操作期间及其后,禁止使用双平面/多芯片读取状态(78h)命令。
14、WRITE PROTECT Operation
写保护操作
(1)写保护操作
1、删除启用
2、删除禁用
3、程序启用
4、程序禁用
15、Error Management
错误管理
这款NAND Flash设备的规格是每4096个总可用块中至少有4016个有效块(NVB)。这意味着设备在出厂时可能包含无效块。一个无效块是包含一个或多个坏位的块。随着使用,可能会有更多的坏块出现。然而,在整个产品的耐用寿命期间,可用块的总数不会低于NVB。
尽管NAND Flash存储器设备可能包含坏块,但它们可以在提供坏块管理和错误更正算法的系统中相当可靠地使用。这种软件环境确保了数据完整性。
内部电路将每个块与其他块隔离,因此坏块的存在不会影响NAND Flash阵列其余部分的操作。
每个CE#的第一块(物理块地址00h)在出厂时保证在ECC下有效(最多1000次编程/擦除周期)。这为存储引导代码和关键引导信息提供了一个可靠的位置。
NAND Flash设备出厂时已擦除。工厂在出货前通过将除了FFh以外的数据编程到每个坏块的第一页或第二页的第一备用位置(列地址2048)来识别无效块。
系统软件应在NAND Flash设备上执行任何编程或擦除操作之前,检查每个块的第一页和第二页上的第一个备用地址。然后可以创建一个坏块表,允许系统软件绕过这些区域。工厂测试在最坏情况下进行。因为标记为“坏”的块可能是边缘性的,如果块被擦除,可能无法恢复这些信息。
随着时间的推移,一些内存位置可能无法正确编程或擦除。为了确保在整个NAND Flash设备的使用寿命内正确存储数据,需要采取以下预防措施:
• 编程、擦除或内部数据移动操作后检查状态。
• 在典型使用条件下,每528字节数据至少使用1位ECC。
• 使用坏块管理和磨损均衡算法。
16、Electrical Characteristics
电特性
(1)绝对最大额定参数
(相对于VSS的电压)
上标列出的应力超过这些值可能会对设备造成永久性损坏。这只是一个应力评级,并不保证设备在这些或任何其他超出本规范操作部分所示条件的条件下能正常工作。长时间暴露在绝对最大额定条件下可能会影响可靠性。
(2)推荐的操作条件
17、Timing Diagrams
时序图 (部分介绍)
(1)命令锁存周期
(2)地址锁存周期
(3)输入数据锁存周期
相关文章:

datasheet芯片数据手册—新手入门学习(二)【8-18】
参考芯片手册已经上传,可自行下载 因为芯片参考手册内容比较多,故再一次介绍本文内容主要讲解章节。 目录 8、内容介绍 命令真值表 9、Command Definitions 10、READ Operations (1)页面读取操作 (2ÿ…...

UE5 双手握剑的实现(逆向运动学IK)
UE5 双手握剑的实现 IK 前言 什么是IK? UE官方给我们提供了很多对于IK处理的节点,比如ABRIK、Two Bone IK、Full Body IK 、CCD IK等,但是看到这,很多人就好奇了,什么是IK? 首先我们来看看虚幻小白人的骨…...
Java中的接口(Interface)及其与抽象类的区别
一、技术难点 在Java中,接口是一种完全抽象的类,主要用于定义一组方法的规范,但不提供具体的实现。接口的技术难点主要体现在以下几个方面: 方法的定义与实现分离:接口只定义了方法的签名,没有方法体&…...

代码随想录算法训练营第十四天(py)| 二叉树 | 递归遍历、迭代遍历、统一迭代
1 理论基础 1.1 二叉树的种类 满二叉树 只有度为0和2的节点,且度为0的节点在同一层。 深度为k,有2^k-1个节点 完全二叉树 除了最底层可能没填满,其余每层节点数都达到最大。并且最底层节点全部集中在左边。 二叉搜索树 是一个有数值…...
Golang并发编程-协程goroutine初体验
文章目录 前言一、Goroutine适合的使用场景二、Goroutine的使用1. 协程初体验 三、WaitGroupWaitGroup 案例一WaitGroup 案例二 总结 前言 学习Golang一段时间了,一直没有使用过goroutine来提高程序执行效率,在一些特殊场景下,还是有必须开启…...

驱动与系统学习网址
DRM(Direct Rendering Manager)学习简介-CSDN博客 Android Qcom Display学习(零)-CSDN博客 https://blog.csdn.net/hexiaolong2009/category_9705063.htmlhttps://blog.csdn.net/hexiaolong2009/category_9705063.htmlRender Hell —— 史上最通俗易懂…...
OAuth2.0
OAuth2.0 OAuth2.0是一种授权框架,用于授权第三方应用访问用户资源的方式。它允许用户将自己的信息(如照片、视频等)存储在一个服务提供商中,然后授权第三方应用访问这些信息,而无需提供用户名和密码给第三方应用。OAu…...
测试testing10
测试testing10...
在Java中实现泛型(Generics)的深入解析
在Java中,泛型(Generics)是一个强大的工具,它允许我们在编译时定义类型参数,使代码更加灵活、可重用和类型安全。下面,我将从技术难点、面试官关注点、回答吸引力以及代码举例四个方面,详细解析…...
每周题解:繁忙的都市
题目链接 繁忙的都市 题目描述 城市 C 是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市 C 的道路是这样分布的:城市中有 n n n 个交叉路口,有些交叉路口之间有道路相连,两…...

linux之防火墙工具
netfilter Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中。 Netfilter在内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户…...
【Python】—— 高阶函数
目录 (一)体验高阶函数 (二)内置高阶函数 2.1 map() 2.2 reduce() 2.3 filter() Python中的高阶函数是指那些接受函数作为参数,或者返回函数作为结果的函数。这种特性让Python的函数编程能力非常强大&…...

逻辑分析仪 - 采样率/采样深度
采样深度(Sampling Depth) 采样深度指的是逻辑分析仪在一次捕获过程中可以记录的最大样本数量。简单来说,采样深度越大,逻辑分析仪可以记录的数据量就越多。这对于分析长时间的信号变化或复杂的信号序列非常重要。 采样率&#…...
【Maven打包将resources/lib/下的jar也打包进jar包中】
Maven打包将resources/lib/下的jar也打包进jar包中 !!!少走弯路 第一步 resources/lib/下引入jar ftp4j-1.7.2.jar替换为自己jar包的名称 <dependency><groupId>it.sauronsoftware.ftp4j</groupId><artifactId>ft…...

基于Java的地震震中附近城市分析实战
目录 前言 一、空间数据说明 1、空间查询 二、Java后台开发 1、模型层设计与实现 2、控制层设计与实现 三、Leaflet地图开发 1、地震震中位置展示 2、附近城市展示 3、成果展示 总结 前言 随着全球气候变化和地壳活动的不断演变,地震作为一种自然灾害&…...

【C语言】指针(三)
目录 一、字符指针 1.1 ❥ 使用场景 1.2 ❥ 有关字符串笔试题 二、数组指针 2.1 ❥ 数组指针变量 2.2 ❥ 数组指针类型 2.3 ❥ 数组指针的初始化 三、数组指针的使用 3.1 ❥ 二维数组和数组名的理解 3.2 ❥ 二维数组传参 四、函数指针 4.1 ❥ 函数的地址 4.2 ❥ 函数…...

【Linux】从零开始认识进程间通信 —— 管道
送给大家一句话: 人要成长,必有原因,背后的努力与积累一定数倍于普通人。所以,关键还在于自己。 – 杨绛 从零开始认识进程间通信 1 为什么要进程间通信2 进程如何通信3 进程通信的常见方式4 管道4.1 什么是管道4.2 管道通信的系…...

Top3专业课150满分,怎么考的?
这个系列会邀请上岸学长学姐进行经验分享~ 今天经验分享的同学是小马哥上海交大819的全程班学员,专业课150分满分,这位同学也是819期末考试的第一名,非常厉害!大家吸吸欧气! 初试成绩单 前言 先介绍下自己࿰…...
Windows Presentation Foundation(WPF)要点总结
Windows Presentation Foundation(WPF)是微软推出的一种用于构建Windows桌面应用程序的框架。自从WPF在.NET Framework 3.0中引入以来,它以其强大的功能和灵活性,逐渐成为开发人员构建现代、富用户界面应用程序的首选。本文将概述…...

【研发日记】嵌入式处理器技能解锁(一)——多任务异步执行调度的三种方法
文章目录 前言 Timer中断调度 Event中断调度 StateFlow调度 分析和应用 总结 参考资料 前言 近期在一些嵌入式系统开发项目中,在使用嵌入式处理器时,遇到了挺多费时费力的事情。所以利用晚上和周末时间,在这些方面深入研究了一下&…...

2025年6月6日第一轮
2025年6月6日 The rapid in Chiese industdy is developnig e,and it is From be in a enjoy a deep is developing The drone industry in China is developing The drone industy in china develops rapidly and is in a leading position in in the world. The dro…...

12-Oracle 23ai Vector 使用ONNX模型生成向量嵌入
一、Oracle 23ai Vector Embeddings 核心概念 向量嵌入(Vector Embeddings) -- 将非结构化数据(文本/图像)转换为数值向量 - - 捕获数据的语义含义而非原始内容 - 示例:"数据库" → [0.24, -0.78, 0.5…...

服务器数据恢复—服务器raid5阵列崩溃如何恢复数据?
服务器数据恢复环境&故障: 某品牌型号为X3850服务器上有一组由14块数据盘和1块热备盘组建的raid5磁盘阵列。 服务器在正常使用过程中突然崩溃,管理员查看raid5阵列故障情况的时发现磁盘阵列中有2块硬盘掉线,但是热备盘没有启用。 服务器数…...
iOS 门店营收表格功能的实现
iOS 门店营收表格功能实现方案 核心功能需求 数据展示:表格形式展示门店/日期维度的营收数据排序功能:支持按营收金额、增长率等排序筛选功能:按日期范围/门店/区域筛选交互操作:点击查看详情、数据刷新数据可视化:关…...

传统业务对接AI-AI编程框架-Rasa的业务应用实战(番外篇2)-- Rasa 训练数据文件的清理
经过我的【传统业务对接AI-AI编程框架-Rasa的业务应用实战】系列 1-6 的表述 已经实现了最初的目标:将传统平台业务(如发票开具、审核、计税、回款等)与智能交互结合,通过用户输入提示词或语音,识别用户意图和实体信…...

Flutter:下拉框选择
 文档地址dropdown_button2 // 限价、市价 状态final List<String> orderTypes [普通委托, 市价委托];String? selectedOrderType 普通委托;changeOrderType(String …...

力扣-17.电话号码的字母组合
题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 class Solution {List<String> res new ArrayList<…...
bat批量去掉本文件夹中的文件扩展名
本文本夹内 批量去掉本文件夹中的文件扩展名 假如你有一些文件,你想去掉他们的扩展名 有没有方便的办法呢 今天我们就分享一种办法。 下面,就来看看吧。 首先我们新建一个记事本,把名字改为,批量去掉本文件夹中的文件扩展名.txt 然…...

小黑一层层削苹果皮式大模型应用探索:langchain中智能体思考和执行工具的demo
引言 小黑黑通过探索langchain源码,设计了一个关于agent使用工具的一个简化版小demo(代码可以跑通),主要流程: 1.问题输入给大模型。 2.大模型进行思考,输出需要执行的action和相关思考信息。 3.通过代理&…...

《绩效管理》要点总结与分享
目录 绩效管理与目标设定 绩效管理的循环:PDCA 绩效目标的设定要点 绩效设定的工具:SMART法则 绩效跟踪与评估 刻板印象:STAR法 晕轮效应:对比评价法 近因效应:关键事项评估表 绩效面谈 面谈前准备工作 汉堡…...