首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > NAND Flash Addressing Mode
【标  题】:NAND Flash Addressing Mode
【关键字】:NAND,Flash,Addressing,Mode
【来  源】:http://www.cublog.cn/u/7051/showart.php?id=177205

NAND Flash Addressing Mode

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)=16kByteBlock是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。
//k9f1208
00h Command(Read) : Defines the starting address of the 1st half of the register.
01h Command(Read) : Defines the starting address of the 2nd half of the register.

由于地址只能在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的使用方法完全相同
Debian 小技巧:【上一篇】
Quick Reference (chapter 5):【下一篇】
【相关文章】
  • FLASH调用ASP生成的XML数据
  • FLASH与数据库通信问题
  • inside the c++ object model(第一章 关于对象)
  • Asp中如何统计flash的点击率
  • 屏蔽Flash右键菜单的几种方法
  • nand nor
  • GSP set Modem dialin
  • FLASHHH!!! 的蒙太奇表现------富媒体的文艺复兴时期已经催生(1)
  • Domain Model:业务流程
  • 用DedeCms 3.0.1实现幻灯片Flash效果
  • 【随机文章】
  • 1.6 基础ActionScript程序(2)
  • 将数据窗口打印到文件中
  • Solaris使用技巧
  • NULL对象的实现
  • 请不要做浮躁的人
  • PM本来想偷下懒的
  • 从IIS转到SQL数据库安全
  • 从轻松试卷 v4.03 的破解看 r fl z 的妙用(1)
  • ASP.NET运行机制 和 图片盗链问题
  • 基于模糊数学理论的ERP实施顾问素质评价模型
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.