没有合适的资源?快使用搜索试试~ 我知道了~
首页NAND flash组成结构及驱动解读
NAND Flash 的数据是以bit的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些Line会再组成Page,(NAND Flash 有多种结构,我使用的NAND Flash 是K9F1208,下面内容针对三星的K9F1208U0M),每页528Bytes(512byte(Main Area)+16byte(Spare Area)),每32个page形成一个Block(32*528B)。具体一片flash上有多少个Block视需要所定。我所使用的三星 k9f1208U0M具有4096个block,故总容量为4096*(32*528B)=66MB,但是其中的2MB是用来保存ECC校验码等额外数据 的,故实际中可使用的为64MB。 NAND flash以页为单位读写数据,而以块为单位擦除数据。按照这样的组织方式可以形成所谓的三类地址:
资源详情
资源评论
资源推荐

【August】【2007 年 03 月】【NAND ash 组成结构及驱动解
读】
Author:August0703
最近忙着面试,刚去过几家不错的公司,开始还是很有自信的,但是
到后来都是被问得落荒而逃,许多学过的东西真的是不深,如果他们
给我机会,我想我会拒绝,我要塌下心来往深里钻,下面就面试时被
问到的一个问题作深入研究。
Fisrt part :
NAND ash 和 NOR ash 的不同
NOR ash 采用位读写,因为它具有 sram 的接口,有足够的引脚来
寻址,可以很容易的存取其内部的每一个字节。NAND ash 使用复
杂的 I/O 口来穿行地存取数据。8 个引脚用来传送控制、地址和数据信
息。NAND 的读和写单位为 512Byte 的页,擦写单位为 32 页的 块。
● NOR 的读速度比 NAND 稍快一些。
● NAND 的写入速度比 NOR 快很多。
● NAND 的 4ms 擦除速度远比 NOR 的 5s 快。
● 大多数写入操作需要先进行擦除操作。
● NAND 的擦除单元更小,相应的擦除电路更少。
在 NOR 器件上运行代码不需要任何的软件支持,在 NAND 器件上进

行同样操作时,通常需要驱动程序,也就是内存技术驱动程序
(MTD),NAND 和 NOR 器件在进行写入和擦除操作时都需要 MTD。
---------摘抄自网上流传很广的《NAND 和 NOR ash 的区别》
Second part:
NAND Flash 结构与驱动分析
一、NAND ash 的物理组成
NAND Flash 的数据是以 bit 的方式保存在 memory cell,一般来说,
一个 cell 中只能存储一个 bit。这些 cell 以 8 个或者 16 个为单位,连
成 bit line,形成所谓的 byte(x8)/word(x16),这就是 NAND
Device 的位宽。这些 Line 会再组成 Page,(NAND Flash 有多种结
构,我使用的 NAND Flash 是 K9F1208,下面内容针对三星的
K9F1208U0M),每页 528Bytes(512byte(Main Area)
+16byte(Spare Area)),每 32 个 page 形成一个
Block(32*528B)。具体一片 ash 上有多少个 Block 视需要所定。我
所使用的三星 k9f1208U0M 具有 4096 个 block,故总容量为
4096*(32*528B)=66MB,但是其中的 2MB 是用来保存 ECC 校
验码等额外数据 的,故实际中可使用的为 64MB。
NAND ash 以页为单位读写数据,而以块为单位擦除数据。按照这
样的组织方式可以形成所谓的三类地址:
Column Address:Starting Address of the Register. 翻成中文

为列地址,地址的低 8 位
Page Address :页地址
Block Address :块地址
对于 NAND Flash 来讲,地址和命令只能在 I/O[7:0]上传递,数据宽
度是 8 位。
二、NAND Flash 地址的表示
512byte 需要 9bit 来表示,对于 528byte 系列的 NAND,这
512byte 被分成 1st half Page Register 和 2nd half Page
Register,各自的访问由地址指针命令来选择,A[7:0]就是所谓的
column address(列地址),在进行擦除操作时不需要它,why?
因为以块为单位擦除。32 个 page 需要 5bit 来表示,占用 A[13:9],
即该 page 在块内的相对地址。A8 这一位地址被用来设置 512byte
的 1st half page 还是 2nd half page,0 表示 1st,1 表示
2nd。Block 的地址是由 A14 以上的 bit 来表示。
例如 64MB(512Mb)的 NAND ash(实际中由于存在 spare
area,故都大于这个值),共 4096block,因此,需要 12 个 bit 来表
示,即 A[25:14],如果是 128MB(1Gbit) 的 528byte/page 的
NAND Flash,则 block address 用 A[26:14]表示。而 page
address 就是 blcok address|page address in block NAND
Flash 的地址表示为: Block Address|Page Address in block|
halfpage pointer|Column Address 地址传送顺序是 Column
剩余10页未读,继续阅读












安全验证
文档复制为VIP权益,开通VIP直接复制

评论7