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)输入数据锁存周期

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker 开启 SSL 验证

最近看 OJ 项目的远程开发阶段,然后踩坑踩了 2 天😂 Docker 版本:在 CentOS 安装 sudo yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io Client: Docker Engine - CommunityVersion: 20.10.9API version: …

1673. 找出最具竞争力的子序列

题目 给定一个整数数组 nums 和一个正整数 k,返回长度为 k 且最具竞争力的 nums 子序列。 数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。 在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于…

Redis系统架构中各个处理模块是干什么的?no.19

Redis 系统架构 通过前面的学习,相信你已经掌握了 Redis 的原理、数据类型及访问协议等内容。本课时,我将进一步分析 Redis 的系统架构,重点讲解 Redis 系统架构的事件处理机制、数据管理、功能扩展、系统扩展等内容。 事件处理机制 Redis…

[论文精读]Variational Bayesian Last Layers

论文网址:Variational Bayesian Last Layers (arxiv.org) 论文代码:GitHub - VectorInstitute/vbll: Simple (and cheap!) neural network uncertainty estimation 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以…

leetcode437 路径总和III-哈希表+前缀和

题目 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节…

服务器数据恢复—EVA存储多块硬盘离线导致部分LUN丢失的数据恢复案例

服务器数据恢复环境: 1台某品牌EVA4400控制器3台EVA4400扩展柜28块FC硬盘。 服务器故障: 由于两块磁盘掉线导致存储中某些LUN不可用,某些LUN丢失,导致存储崩溃。 服务器数据恢复过程: 1、由于EVA4400存储故障是某些磁…

Web API——获取DOM元素

目录 1、根据选择器来获取DOM元素 2.、根据选择器来获取DOM元素伪数组 3、根据id获取一个元素 4、通过标签类型名获取所有该标签的元素 5、通过类名获取元素 目标:能查找/获取DOM对象 1、根据选择器来获取DOM元素 语法: document.querySelector(css选择…

python从0开始学习(十二)

目录 前言 1、字符串的常用操作 2、字符串的格式化 2.1 格式化字符串的详细格式(针对format形式) ​编辑 总结 前言 上一篇文章我们讲解了两道关于组合数据类型的题目,本篇文章我们将学习新的章节,学习字符串及正则表达式。 …

C++|红黑树(分析+模拟实现插入)

目录 一、概念 二、红黑树插入的实现 2.1红黑树节点的定义 2.2红黑树基础架构 2.3红黑树的插入 2.3.1按照二叉搜索树的规则插入新结点 2.3.2检测新插入节点,是否破坏红黑树性质来进行调整 2.3.2.1cur为红,p为红,g为黑,u存…

好用的桌面备忘录是哪个?备忘录软件哪个更好用?

备忘录软件已成为我们日常生活和工作中不可或缺的工具,它能帮助我们记录重要事项、安排日程,从而提高工作效率,减少遗忘。在繁忙的工作和生活中,一款好用的备忘录软件往往能让我们事半功倍。 在众多的备忘录软件中,敬…

Jenkins 构建 Web 项目:构建服务器和部署服务器分离的情况

构建命令 #!/bin/bash node -v pnpm -v pnpm install pnpm build:prod # 将dist打包成dist.zip zip -r dist.zip dist

2024年艺术鉴赏与文化传播国际会议(AACC 2024)

2024年艺术鉴赏与文化传播国际会议(AACC 2024) 2024 International Conference on Art Appreciation and Cultural Communication 【重要信息】 大会地点:贵阳 大会官网:http://www.icaacc.com 投稿邮箱:icaaccsub-co…

VS QT 里头文件的<>和““的区别

今天在跑项目的时候遇到这么个问题,在添加api宏定义的时候,不加显示无法识别的外部错误,加了显示找不到文件。反正就是怎么都是错的,但是我检查了CmakeLists、模块所在文件夹、项目路径都是没有问题的。非常奇怪。 然后就开始尝试…

一阶数字高通滤波器

本文的主要内容包含一阶高通滤波器公式的推导和数字算法的实现以及编程和仿真 1 计算公式推导 1.1.2 算法实现及仿真 利用python实现的代码如下: import numpy as np # from scipy.signal import butter, lfilter, freqz import matplotlib.pyplot as plt #2pifW…

【LeetCode 随笔】面试经典 150 题【中等+困难】持续更新中。。。

文章目录 380.【中等】O(1) 时间插入、删除和获取随机元素238.【中等】除自身以外数组的乘积134.【中等】 加油站135.【困难】分发糖果42.【困难】接雨水 🌈你好呀!我是 山顶风景独好 💝欢迎来到我的博客,很高兴能够在这里和您见面…

matlab使用教程(80)—修改图形对象的透明度

1.更改图像、填充或曲面的透明度 此示例说明如何修改图像、填充或曲面的透明度。 1.1坐标区框中所有对象的透明度 透明度值称为 alpha 值。使用 alpha 函数设置当前坐标区范围内所有图像、填充或曲面对象的透明度。指定一个介于 0(完全透明)和 1&#x…

第19讲:自定义类型:结构体

目录 1.结构体类型的声明1.1 结构体回顾1.1.1 结构的声明 特殊的结构声明1.3 结构的⾃引⽤ 2. 结构体内存的对齐2.2 为什么存在内存对⻬?2.3 修改默认对⻬数 3. 结构体传参4. 结构体实现位段4.1 什么是位段4.2 位段的内存分配4.3 位段的跨平台问题4.5 位段使⽤的注意事项 正文…

目标检测——无人机垃圾数据集

引言 亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 …

【ONE·MySQL || 事务】

总言 主要内容:介绍事务。理解事务概念(为什么存在),理解事务的四种属性(原子性、持久性、隔离性、一致性),理解事务的隔离级别(四种隔离级别,读写并发说明)。…

Java zip解压时候 malformed input off : 0, length : 1

public static void unzip(String zipFilePath, String destDirectory) {File dir new File(destDirectory);// 如果目标文件夹不存在,则创建if (!dir.exists()) {dir.mkdirs();}byte[] buffer new byte[1024];try (ZipInputStream zis new ZipInputStream(new F…