TF厂家:NAND Flash

8086/8088有七种基本的寻址方式:立即寻找,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。
NAND Flash的寻址方式和NAND Flashmemory组织方式紧密相关。NAND Flash的数据是以bit的方式保存在memory cell,一般来说,一个cell中只能存储一个bit。这些cell8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些Line会再组成Page,通常是528Byte/page或者264Word/page。然后,每32page形成一个BlockSizeof(block)=16kByte BlockNAND Flash中最大的操作单元,擦除就是按照block为单位完成的,而编程/读取是按照page为单位完成的。所以,按照这样的组织方式可以形成所谓的三类地址:
-Block Address
-Page Address
-Column Address
首先,对于NAND Flash来讲,地址和命令只能在I/O[7:0]上传递,数据宽度可以是8位或者16位,但是,对于x16NAND DeviceI/O[15:8]只用于传递数据。清楚了这一点,我们就可以开始分析NAND Flash的寻址方式了。
528Byte/page 总容量512Mbit+512kbyteNAND器件为例:因为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 half2nd half, 各自的访问由所谓的pointer operation命令来选择,也就是选择了bit8的高低。因此A8就是halfpage pointer(这是我给出的一个名字),A[7:0]就是所谓的column address32page需要5bit来表示,占用A[13:9],即该page在块内的相对地址Block的地址是由A14以上的bit来表示,例如512MbNAND,共4096block,因此,需要12bit 来表示,即A[25:14],如果是1Gbit528byte/pageNAND Flash,则block addressA[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 x8NAND flash,地址范围是0~0x3FF_FFFF,只要是这个范围内的数值表示的地址都是有效的。

2015-12-18 08:55:20