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、内容介绍

本文主要介绍下方红色标题内容

  1. Features(特性或特点):一般概述了产品的主要优势和技术规格。

  2. Part Numbering Information (部件编号信息):这一部分通常包含如何识别不同NAND闪存部件的信息,包括它们的型号、版本和任何特定的标识符。

  3. General Description (一般描述):这里会提供NAND闪存的概述,可能包括它的用途、主要特点和优势。

  4. Architecture (架构):详细介绍NAND闪存的内部结构,包括它的组织方式和如何管理数据。

  5. Addressing (寻址):解释如何对NAND闪存中的数据进行寻址,即如何指定和访问存储在闪存中的特定数据。

  6. Memory Mapping (内存映射):描述如何将NAND闪存映射到系统的内存地址空间中,允许像访问RAM一样的访问方式。

  7. Array Organization (数组组织):介绍NAND闪存中数据的物理布局,包括块、页和平面的组织方式。

  8. Bus Operation (总线操作):涉及NAND闪存与系统总线之间的通信协议和时序要求。

  9. Command Definitions (命令定义):列出NAND闪存支持的所有命令,以及每个命令的功能和用法。

  10. Error Management (错误管理):介绍NAND闪存在操作过程中如何处理错误,可能包括纠错码(ECC)和其他机制。

  11. Electrical Characteristics (电气特性):提供NAND闪存的电气参数,如电压、电流、耐压等。

  12. Timing Diagrams (时序图):展示NAND闪存在不同操作下的时序要求,对于确保系统兼容性至关重要。

  13. Package Dimensions (封装尺寸):描述NAND闪存的物理封装类型和尺寸,这对于物理设计和安装非常重要。

命令真值表

9、Command Definitions

命令定义

此图一种存储器或类似设备的命令集及其相应的操作参数。表格列出了不同的命令代码、数据有效性、命令地址周期、命令周期中的状态以及可能的备注。下面是对表格内容的逐项解释:

  1. Command: 命令,这是存储器芯片接收的指令代码,以十六进制形式表示。
  2. Command Cycle 1: 第一个命令周期,这通常是指命令被发送到存储器后,存储器开始执行该命令的第一个阶段。
  3. Number of Address Cycles: 地址周期数量,这表示执行命令时需要的地址设置的周期数。
  4. Data Cycles Required1: 第一个数据周期所需的数据量,这表示在第一个数据周期中需要传输的数据量。
  5. Command Cycle 2: 第二个命令周期,如果命令需要多个阶段来完成,这将是第二个阶段。
  6. Valid During Busy: 在忙碌期间有效,这表示在存储器忙于执行前一个命令时,是否可以发送新的命令。
  7. 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)输入数据锁存周期

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

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

相关文章

YTM32的flash应用答疑-详解写保护功能

YTM32的flash应用答疑-详解写保护功能 文章目录 YTM32的flash应用答疑-详解写保护功能IntroductionPrincipleOperation & DemonstrationDemo #1 验证基本的写保护功能Demo #2 编程CUS_NVR设定EFM_ADDR_PROT初值Demo #3 启用写保护后试试块擦除操作 Conclusion Introduction…

报名倒计时两周|2024 OpenTiny 开源之夏项目直播解读回顾

5月16日,OpenTiny 开源社区成功举办了以《OpenTiny 开源之夏项目解读直播》为主题的直播活动。此次直播中,华为云的高级前端工程师曾令卡、华为云的高级前端工程师伍其和与10位开源之夏技术专家携手组成项目导师团,面向广大开发者一同深入探讨…

Java类和对象(五)—— 抽象类、接口、Object类和内部类

抽象类 在继承体系下,父类有些方法可能是要被重写的,如果我们事先就知道某些方法需要重写的话,我们可以不用在父类里面具体实现这个方法,这时候我们会用到抽象方法,这时候我们会用到关键字abstract关键字来修饰 publ…

BatBot智慧能源管理平台,更加有效地管理能源

随着能源消耗的不断增加,能源管理已成为全球面临的重要问题。BatBot智慧能源管理作为一种的能源管理技术,促进企业在用能效率及管理有着巨大的提升。 BatBot智慧能源管理是一种基于人工智能技术的能源管理系统,通过智能分析和优化能源使用&…

【JAVA |再谈接口、Object、内部类】Object类中子类重写,Cloneable 接口、比较器、内部类

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈 ✨✨ 帅哥美女们,我们共同加油!一起…

Internet动态路由选择—RIP与OSPF

刚做完网络层动态路由选择的实验,写下此篇记录实验过程,巩固学习成果。 参考书目:《计算机网络》北京理工大学出版社-刘阳老师编 路由选择可分为两种策略: - 静态路由选择策略 - 动态路由选择策略 静态路由即管理员手动配置路由…

Java 商品入库系统 案例

测试类 package 练习.商品入库系统;import java.util.ArrayList; import java.util.Scanner; public class Test {public static final int Enrool 1;public static final int Search 2;public static final int Delect 3;public static final int Exit 4;public static…

在docker上部署postgresSQL主从

文章目录 一、主从规划二、创建PostgresSQL的Docker镜像三、主库部署1、建立pgsql主库的data地址2、启动docker镜像3、docker内操作4、修改配置文件 四、部署从数据库1、建立psql备库的data地址2、启动docker镜像3、备库从主库同步4、检查是否同步 五、测试主从数据库 一、主从…

【深度强化学习】关于同一设备上cuda和gpu计算结果不一致问题

文章目录 问题描述关于seed: 跟原文一致补充:万能seed 问题结论cpu和gpu差异来源分析浮点数精度的差异补充报错:Expected all tensors to be on the same device!常见运算上的差异累加运算的差异exp运算的差异matmul运算的差异 forward上的差异&#xff…

机器学习云环境搭建

在 https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html 下载对应版本的 OBS Broswer 软件,如图,红框内的为安装文件,蓝色框内的为对应安装文件的校验文件(无需下载) 以 64 位机为例,下载完…

景源畅信电商:抖店需要的成本高吗?

在数字化时代的浪潮中,短视频平台迅速崛起,成为连接用户与商家的新桥梁。抖音作为其中的佼佼者,不仅改变了人们的娱乐方式,也催生了新型的电商模式——抖店。许多人好奇,入驻这样一个充满活力的平台,需要承…

618知识狂欢,挑本好书,点亮智慧生活!

618精选编程书单:提升你的代码力 一年一度的618又到啦!今年的618就不要乱买啦,衣服买多了会被淘汰,电子产品买多了会过时,零食买多了会增肥,最后怎么看都不划算。可是如果你购买知识,坚持阅读&a…

后端之路第二站(正片)——SprintBoot之:分层解耦

很抽象,我自己也不好理解,仅作为一个前端转后端的个人理解 一、先解释一个案例,以这个案例来分析“三层架构” 这里我先解释一下黑马程序员里的这个案例,兄弟们看视频的可以跳过这节课:Day05-08. 请求响应-响应-案例_…

【webrtc】m98:Call的创建及Call对音频接收处理

call中多個流共享相同的辅助组件 这几个是与外部共用的 线程传输send控制module 线程任务队列工厂call的辅助组件中各种统计以及接收测的cc是自己创建的 call自己的多个辅助组件是外部传递来的 call 创建多个接收流 这里用一个set 来保存所有指针,并没有要map的意思:

【因果推断从入门到精通二】随机实验3

目录 检验无因果效应假说 硬币投掷的特殊性何在? 检验无因果效应假说 无因果效应假说认为,有些人存活,有些人死亡,但接受mAb114治疗而不是ZMapp与此无关。在174例接受mAb14治疗的患者中,113/17464.9%存活了28天&…

Java入门基础学习笔记47——ArrayList

什么是集合呢? 集合是一种容器,用来装数据的,类似数组。 有数组,为什么还要学习集合呢? 数组定义完成并启动后,长度就固定了。 而集合是大小可变,开发中用的最多的。 集合的特点:大…

汇聚荣科技有限公司优点有哪些?

在当今快速发展的科技时代,企业之间的竞争愈发激烈。作为一家专注于科技创新与研发的公司,汇聚荣科技有限公司凭借其卓越的技术实力和创新能力,在业界树立了良好的口碑。那么,汇聚荣科技有限公司究竟有哪些优点呢?接下来&#xf…

C++利用TinyXML读取XML文件

TinyXML是什么? TinyXML是一个轻量级的C XML解析器,它提供了一种简单的方法来解析和操作XML文档。TinyXML被设计为易于使用和集成到C项目中,并且非常适合处理小型XML文件。 以下是TinyXML的一些主要特点和优点: 轻量级: T…

OSPF问题

.ospf 选路 域内 --- 1类,2类LSA 域间 --- 3类LSA 域外 --- 5类,7类LSA --- 根据开销值的计算规则不同,还分为类型1和类型2 ospf 防环机制 区域内防环:在同一OSPF区域内,所有路由器通过交换链路状态通告&#xff…