关于NAND FLASH的读写

2019-08-08 19:04发布

我用的是MICRON的NAND FLASH都是按页读写的,但是为什么在写读地址的时候,我要把5个字节的地址都写全呢?而不是只要写块地址和页地址?求高手解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhangmangui
1楼-- · 2019-08-08 23:16

以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。

1. 概述

        MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来传输数据、地址、指令。5个命令脚(CLE、ALE、CE#、WE#)实现NAND命令总线接口规程。3个附加的脚用作: 控制硬件写保护(WP#)、监视芯片状态(R/B#),和发起上电自动读特征(PRE-仅3V芯片支持)。注意, PRE功能不支持宽温芯片。

        MT29F2G08内部有2048个可擦除的块,每个块分为64个可编程的页,每个页包含2112字节(2048个字节作为数据存储区,64个备用字节一般作为错误管理使用)。

每个2112个字节的页可以在300us内编程,每个块(64x2112=132K)可以在2ms内被擦除。片上控制逻辑自动进行PROGRAM和ERASE操作。

        NAND的内部存储阵列是以页为基本单位进行存取的。读的时候,一页数据从内部存储阵列copy到数据寄存器,之后从数据寄存器按字节依次输出。写(编程)的时候,也是以页为基本单位的:起始地址装载到内部地址寄存器之后,数据被依次写入到内部数据寄存器,在页数据写入之后,阵列编程过程启动。

        为了增加编程的速度,芯片有一个CACHE寄存器。在CACHE编程模式,数据先写入到CACHE寄存器,然后再写入到数据寄存器,一旦数据copy进数据寄存器后,编程就开始。在数据寄存器被装载及编程开始之后,CACHE寄存器变为空,可以继续装载下一个数据,这样内部的编程和数据的装载并行进行,提高了编程速度。

        内部数据搬移命令(INTERNAL DATA MOVE)也使用内部CAHCE寄存器,通常搬移数据需要很长时间,通过使用内部CACHE寄存器和数据寄存器,数据的搬移速度大大增加,且不需要使用外部内存。

2. 功能框图

3. 管脚

名称
类型
描述
ALE
I
地址锁存使能。ALE为高时,在WE#下降沿,地址信息通过I/O[7:0]锁存片内的地址寄存器。如果传输的不是地址信息,ALE应该为低。
CE#
I
片选。一旦器件进入PROGRAM或ERASE操作,CE#可以变无效。
CLE
I
命令锁存使能。CLE为高时,在WE#上升沿,命令通过I/O[7:0]锁存到命令寄存器,当不传输命令时,CLE应该为低。
PRE
I
上电读使能。
RE#
I
读使能。
WE#
I
写使能。
WP#
I
写保护。当为低时候,所有的PROGRAM和ERASE都被禁止。
I/O[7:0]
I/O
数据输入/输出。传输命令、数据、地址。仅在读操作时,数据是输出。
R/B#, R/B2
O
准备好/忙。集电极开路输出。外部需要接上拉电阻,这个脚表示芯片正在进行PROGRAM或ERASE操作。在读操作期间,表示数据正从阵列中传输到串行数据寄存器中,一旦这些操作完成,R/B#回到High-Z状态。
Vcc
电源
电源
Vss


paraselene1
2楼-- · 2019-08-09 04:44
zhangmangui 发表于 2013-10-8 22:47
以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。1. 概述        MT29F2G08使用一个高度复用的8-b ...

谢谢,太感谢了哈,一对比,我发现,我看文档时漏看了好多信息
zhangmangui
3楼-- · 2019-08-09 06:25
paraselene1 发表于 2013-10-9 09:38
谢谢,太感谢了哈,一对比,我发现,我看文档时漏看了好多信息

我也不知道是什么原因 给你在网上找的
paraselene1
4楼-- · 2019-08-09 08:58
 精彩回答 2  元偷偷看……
zhangmangui
5楼-- · 2019-08-09 13:40
paraselene1 发表于 2013-10-9 13:40
就它上面写,虽然是按页读,但是他不一定从页的第一个位置开始读,你可以规定要读的页的起始地址,从那里 ...

谢谢分享

一周热门 更多>