在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5641|回复: 10

[转帖]NAND Flash的寻址方式

[复制链接]
发表于 2004-3-28 18:44:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
这两天整理的,发出来和大家共享.
NAND Flash Addressing Mode
NAND Flash的寻址方式和NAND Flash的memory组织方式紧密相关。NAND Flash的数据是以
bit的方式保存在memory cell,一般来说,一个cell中只能存储一个bit。这些cell以8个
或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的
位宽。
这些Line会再组成Page,通常是528Byte/page或者264Word/page。然后,每32个page形成
一个Block,Sizeof(block)=16kByte
Block是NAND Flash中最大的操作单元,擦除就是按照block为单位完成的,而
编程/读取是按照page为单位完成的。
所以,按照这样的组织方式可以形成所谓的三类地址:
-Block Address
-Page Address
-Column Address
首先,必须清楚一点,对于NAND Flash来讲,地址和命令只能在I/O[7:0]上传递,数据宽度
可以是8位或者16位,但是,对于x16的NAND Device,I/O[15:8]只用于传递数据。清楚了这
一点,我们就可以开始分析NAND Flash的寻址方式了。
->以528Byte/page 总容量512Mbit+512kbyte的NAND器件为例:
因为1 block=16kbyte,512Mbit=64Mbyte,Numberof(block)=1024
1block=32page, 1page=528byte=512byte(Main Area)+16byte(Spare Area)
用户数据保存在main area中。
512byte需要9bit来表示,对于528byte系列的NAND,这512byte被分成1st half和2nd half,
各自的访问由所谓的pointer operation命令来选择,也就是选择了bit8的高低。因此A8就是
halfpage pointer(这是我给出的一个名字),A[7:0]就是所谓的column address。
32个page需要5bit来表示,占用A[13:9],即该page在块内的相对地址
Block的地址是由A14以上的bit来表示,例如512Mb的NAND,共4096block,因此,需要12个bit
来表示,即A[25:14],如果是1Gbit的528byte/page的NAND Flash,则block address用
A[26:24]表示。而page address就是blcok address|page address in block
NAND Flash的地址表示为:
Block Address|Page Address in block|halfpage pointer|Column Address
地址传送顺序是Column Address,Page Address,Block Address。
由于地址只能在I/O[7:0]上传递,因此,必须采用移位的方式进行。
例如,对于512Mbit x8的NAND flash,地址范围是0~0x3FF_FFFF,只要是这个范围内的数值
表示的地址都是有效的。
以NAND_ADDR为例:
第1步是传递column address,就是NAND_ADDR[7:0],不需移位即可传递到I/O[7:0]上
而halfpage pointer即bit8是由操作指令决定的,即指令决定在哪个halfpage上进行读写,
而真正的bit8的值是don't care的。
第2步就是将NAND_ADDR右移9位,将NAND_ADDR[16:9]传到I/O[7:0]上
第3步将NAND_ADDR[24:17]放到I/O上
第4步需要将NAND_ADDR[25]放到I/O上
因此,整个地址传递过程需要4步才能完成,即4-step addressing。
如果NAND Flash的容量是256Mbit以下,那么,block adress最高位只到bit24,因此寻址
只需要3步。
下面,就x16的NAND flash器件稍微进行一下说明。
由于一个page的main area的容量为256word,仍相当于512byte。但是,这个时候没有所谓
的1st halfpage和2nd halfpage之分了,所以,bit8就变得没有意义了,也就是这个时候
bit8完全不用管,地址传递仍然和x8器件相同。除了,这一点之外,x16的NAND使用方法和
x8的使用方法完全相同。

Written on Mar 17,2004
Copyright by mYthorON
转载请注明作者和出处。
发表于 2004-3-28 20:46:42 | 显示全部楼层

[转帖]NAND Flash的寻址方式

不错!
发表于 2007-11-17 14:37:11 | 显示全部楼层
谢谢分享.
发表于 2007-11-19 17:57:38 | 显示全部楼层
memory 找位址的呀!!
謝謝你呢!!
學習中!!
发表于 2007-11-26 12:11:01 | 显示全部楼层
很详细的讲解 啊。
发表于 2007-12-4 01:48:22 | 显示全部楼层
经验之谈~谢谢楼主~
发表于 2008-1-1 16:05:07 | 显示全部楼层
不错。。。。。。。。。。。。。。。
发表于 2008-1-1 17:28:17 | 显示全部楼层
以前在学校学习的时候知道很多memory是由地址线决定容量的,在实际中根据地址线计算出来好像不对
不知道是否有复用其它I/O呢?
发表于 2008-3-13 11:44:57 | 显示全部楼层
俺N年前发的,这里也被转载了。现在看,这些文档太小儿科了
发表于 2009-1-14 10:44:00 | 显示全部楼层
支持这种不需费用的.真正有用的东西.
好贴!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-2-3 17:07 , Processed in 0.021988 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表