datasheet芯片数据手册—新手入门学习(二)【8-18】

2024-05-24 12:28

本文主要是介绍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)输入数据锁存周期

这篇关于datasheet芯片数据手册—新手入门学习(二)【8-18】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.