NAND FLASH 原理

NAND FLASH 原理

http://www.360doc.com/content/12/0522/21/21412_212888167.shtml

闪存保存数据的原理:

与DRAM以电容作为存储元件不同,闪存的存储单元为三端器件,与场效应管有相同的名称:源极、漏极和栅极。栅极与硅衬底之间有二氧化硅绝缘层,用 来保护浮置栅极中的电荷不会泄漏。采用这种结构,使得存储单元具有了电荷保持能力,就像是装进瓶子里的水,当你倒入水后,水位就一直保持在那里,直到你再 次倒入或倒出,所以闪存具有记忆能力。

与场效应管一样,闪存也是一种电压控制型器件。NAND型闪存的擦和写均是基于隧道效应,电流穿过浮置栅极与硅基层之间的绝缘层,对浮置栅极进行充 电(写数据)或放电(擦除数据)。而NOR型闪存擦除数据仍是基于隧道效应(电流从浮置栅极到硅基层),但在写入数据时则是采用热电子注入方式(电流从浮 置栅极到源极)。

下面主要介绍NAND FLASH的工作原理。

一、NAND flash的物理组成

NAND Flash 的数据是以bit的方式保存在存储单元(memory cell),一般来说,一个单元中只能存储一个bit。这些单元以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16), 这就是NAND Device的位宽。这些Line会再组成页(page),以所用的samsumg的256M x 8 Bit K9F2G08R0A芯片为例:每页2112Bytes(2kbyte(Main Area)+64byte(Spare Area)),空闲区通常被用于ECC、耗损均衡(wear leveling)和其它软件开销功能,尽管它在物理上与其它页并没有区别。每64个页形成一个块(block 128kB)。具体一片flash上有多少个块视需要所定。

NAND flash以页为单位读写数据,而以块为单位擦除数据。按照这样的组织方式可以形成所谓的三类地址:
Column Address:Starting Address of the Register. 翻成中文为列地址,地址的低8位
Page Address :页地址
Block Address :块地址
对于NAND Flash来讲,地址和命令只能在I/O[7:0]上传递,数据宽度是8位。

二、NAND Flash地址的表示

2112byte 需要12bit来表示,对于2112byte系列的NAND,这2112byte被分成1st half Page Register和2nd half Page Register,各自的访问由地址指针命令来选择,A[11:0]就是所谓的column address(列地址),在进行擦除操作时不需要它,因为以块为单位擦除。64个page需要6bit来表示,占用A[17:12],即该page在块内的相对地址。A11这一位地址被用来设置512byte的1st half page还是2nd half page,0表示1st,1表示2nd。Block的地址是由A18以上的bit来表示。

如2048MB的NAND flash(实际中由于存在spare
area,故都大于这个值),共131,072block,因此,需要11个bit来表示,即A[28:18]。而page
address就是blcok address|page address in block 。NAND Flash 的地址表示为: Block
Address|Page Address in block|Column Address 地址传送顺序是Column Address,Page Address,Block Address
由于地址只能在I/O[7:0]上传递,因此,必须采用移位的方式进行。 以K9F2G08R0A 为例:
第1 步是传递column address,就是NAND_ADDR[7:0],不需移位即可传递到I/O[7:0]上。
第2 步就是将NAND_ADDR 右移8位,将NAND_ADDR[11:8]传到I/O[7:0]上;
第3 步将NAND_ADDR[19:12]放到I/O上;
第4步需要将NAND_ADDR[27:20]放到I/O上;
因此,整个地址传递过程需要4 步才能完成,即4-step addressing。 如果NAND Flash 的容量是32MB(256Mbit)以下,那么,block adress最高位只到bit24,因此寻址只需要3步。

引脚定义:

CLE:Command Latch Enable。命令锁存使能。CLE输入信号控制操作模式命令进入内部命令寄存器的加载过程,当CLE高电平有效时,从IO端口输入的命令在\WE上升沿时被锁存进命令寄存器中。

ALE:Address Latch Enable。地址锁存使能。ALE信号被用于控制地址信息或输入数据进入内部地址/数据寄存器内。ALE高电平时,地址信息在/WE上升沿时被锁存到寄存器内;ALE低电平事,输入数据在/WE上升沿时被锁存到寄存器内。

CE#:chip enable。芯片启动。如果没有检测到 CE 信号,那么, NAND 器件就保持待机模式,不对任何控制信号作出响应。

WE#:Write Enable。写使能。WE# 负责将数据、地址或指令写入 NAND 之中。

RE#:Read Enable 。读使能。RE# 允许输出数据缓冲器。

R/B#:Ready/Busy。就绪/忙。 如果NAND器件忙,R/B# 信号将变低。该信号是漏极开路,需要采用上拉电阻。

I/O1-8:做为设备传输地址信息、数据和指令的端口。

NFC原理:

术语解释:

M3IF:Multi-Master Memory Interface

EMI :External Memory Interface

NFC:NAND Flash Controller

处理器访问闪存(flash memory device)过程:

处理器发出访问闪存的请求到M3IF,M3IF通过EMI AHB MUX将请求转发给NFC,NFC然后通过EMI I/O MUX访问外部闪存设备。从闪存中返回的数据将沿原路返回给处理器。

M3IF的作用:

提供一个可以访问多个内存设备的平台,将处理器对不同内存设备的访问请求转发给相应的内存控制器和内存设备。除了NFC,还有ESDRAMC/MDDRC,PCMCIA,WEIM的内存控制器。

EMI AHB MUX和I/O MUX的作用:

实现各个不同的内存控制器和内存设备间的I/O引脚复用。

NFC的作用:使集成电路IC对闪存设备的访问标准化并隐藏其中复杂的访问过程。

各个组件的引脚对应关系如下表所示:

其中IC I/O是处理器MCIMX27L的外部引脚。


NFC


EMI

IC I/O Flash

device

IPP_NFC_WRITE_DATA_OUT[15:0] IPP_DO_NFC_WRITE_DATA_OUT[15:0] D[15:0] I/O[15:0]
IPP_NFC_READ_DATA_TA_IN[15:0] IPP_IND_NFC_READ_DATA_IN[15:0] D[15:0] I/O[15:0]
IPP_NFC_WE_OUT IPP_NFC_WE_OUT NFWE_B WE
IPP_NFC_WP_OUT IPP_NFC_WP_OUT NFWP_B WP
IPP_NFC_RE_OUT IPP_NFC_RE_OUT NFRE_B RE
IPP_NFC_ALE_OUT IPP_NFC_ALE_OUT NFALE ALE
IPP_NFC_CLE_OUT IPP_NFC_CLE_OUT NFCLE CLE
IPP_NFC_CE_OUT IPP_NFC_CE_OUT NFCE_B CE
IPP_NFC_RB_IN IPP_NFC_RB_IN NFRB R/B

部分引脚信号功能说明:

IPP_IND_NFC_READ_DATA_IN[15:0]:              外部设备从I/O MUX/PADS读取数据。

IPP_DO_NFC_WRITE_DATA_OUT[15:0]:      NFC写入数据到I/O MUX/PADS。

NFCE :Flash Chip Enable.                                      当闪存处于Busy状态或正在读写时,该信号为低电平。

NFRE:Flash Read Enable.                                  该信号低电平有效。作用时将数据从闪存中输出到I/O总线上,允许NFC读取数据。

NFWE:Flash Write Enable.                                上升沿触发。允许向内存写入命令、数据或地址信息。

NFCLE:Flash Command Latch Enable.          高电平有效。控制命令数据写入命令寄存器中。

NFALE:Flash Address Latch Enable.            高电平有效。控制地址数据写入地址寄存器中。

NFWP:Flash Write Protect.                               只有在电源启动时(Power up)低电平有效。作用是在电源启动或切换时防止意外操作或擦除数据。

NFRB:Flash Ready/Busy.                                  指示闪存的工作状态,低电平表示闪存正在进行读写操作,高电平表示空闲状态。

AHB MUX和EMI I/O MUX的引脚复用:

由EMI的概述可知,几个内存控制器会使用总线引脚复用:PCMCIA,EIM,SDRAMC和NFC。

引脚的共享复用是一个各个进程的优先级分配问题,具体的优先级分配在M3IF中完成。

NFC对于Flash memory Device的具体读写操作在此不再详述,详见参考手册的第19章。

心得:

1.NC引脚:表示不需要将任何线路连接到NC引脚,NC引脚是为将来的需要保留的。
2.查询具体芯片的datasheet有个比较好的网站:www.alldatasheet.com,非常全面。
3.AHB:主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总
线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分
段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。
AHB系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输
都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多
路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块
(dummy Master)所组成。
4.MUX: 多通道多路复用器
5.gule logic:中文含意是“胶连逻辑”,它是连接复杂逻辑电路的简单逻辑电路的统称。例如,
一个ASIC芯片可能包含许多诸如微处理器存储器功能块或者通信功能块之类的功能单元,
这些功能单元之间通过较少的粘合逻辑连接起来。在印制板(PCB)层,粘合逻辑可以使用
具有较少逻辑门的“粘合芯片”实现,例如PAL、GAL、CPLD等。
6.glueless interface:(无粘接接口),不粘于某一特类个体(RAM 或 ROM 或 flash)。这芯片
的接口规格一般有超过一种业界规格,使其接口并不局限于一种制式。如NFC中的接口可
以同时有8-Bit和16-Bit两种传输模式。

nand nor区别:

http://jinren1010.spaces.eepw.com.cn/articles/article/item/15556#

时间: 2024-10-25 04:18:34

NAND FLASH 原理的相关文章

Nand Flash原理(二)

K9F2G08U0B的存储阵列 图 2-1 K9F2G08U0B的存储阵列 由图2-1,我们可以知道:K9F2G08U0B的一页为(2K+64)字节(2K 表示的是 main 区容量,64表示的是 spare 区容量),它的一块为 64 页,而整个设备包括了2048个块.这样算下来一共有 2112M 位容量,如果只算 main 区容量则有256M 字节(即 256M×8 位). 要实现用 8 个 IO 口来要访问这么大的容量,如图 2-1 所示:K9F2G08U0A 规定了用 5 个周期来实现.

nand Flash原理

6.1.3) Block 块 一个 Nand Flash (的 chip,芯片) 由很多个块(Block)组成,块的大小一般是 128KB, 256KB, 512KB,此处是 128KB.其他的小于 128KB 的,比如 64KB,一般都是下面将要介绍到的small block的Nand Flash. 块 Block,是Nand Flash的擦除操作的基本/最小单位. 6.1.4) Page 页 每个块里面又包含了很多页(page) .每个页的大小,对于现在常见的Nand Flash多数是2KB

Nand Flash与Nor Flash的区别

区别:http://zhidao.baidu.com/question/1068445.html?qbl=relate_question_0&word=Serial%20Flash%20%D3%EBNand%C7%F8%B1%F0 Nand Flash原理:http://blog.chinaunix.net/uid-22731254-id-3622773.html

ECC校验原理以及在Nand Flash中的应用

     本篇文章主要介绍ECC基本原理以及在Nand Flash中的应用,本文记录自己对ECC校验原理的理解和学习. ECC介绍      ECC,全称为Error Correcting Code,错误纠正码,这是一种编码方式,用于在于可以在一定程度上自行发现和纠正传输过程中发生的错误.      香农在1948年发表的<通信的数学理论>中的信道编码定理指出:主要采取适当的纠错码,就可以在多类信道上传输消息,其误码率可以任意小.经过历代人们的持续努力,找出了许多好的信道编码方法,满足许多实用

Nand Flash 控制器工作原理

对 Nand Flash 存储芯片进行操作, 必须通过 Nand Flash 控制器的专用寄存器才能完成.所以,不能对 Nand Flash 进行总线操作.而 Nand Flash 的写操作也必须块方式进行.对 Nand Flash 的读操作可以按字节读取.   Nand Flash 控制器特性 1. 支持对 Nand Flash 芯片的读.检验.编程控制 2. 如果支持从 Nand Flash 启动, 在每次重启后自动将前 Nand Flash 的前 4KB 数据搬运到 ARM 的内部 RAM

Nand flash 芯片工作原理

Nand flash 芯片型号为 Samsung K9F1208U0B,数据存储容量为 64MB,采用块页式存储管理.8 个 I/O 引脚充当数据.地址.命令的复用端口. 芯片内部存储布局及存储操作特点 一片 Nand flash 为一个设备(device), 其数据存储分层为: 1 设备(Device) = 4096 块(Blocks) 1 块(Block) = 32 页/行(Pages/rows)  ;页与行是相同的意思,叫法不一样 1 块(Page) = 528 字节(Bytes) = 数

NAND flash学习所获----(Zac)

Nand Falsh外围电路:peripheral circuit 1.Nand flash里至少有2个state Machine(controller),即2个主控. 一个主控:负责处理前端事情. 一个主控:负责后端任务处理. 2.DDC:Dynamic Data cache(包括SDC,PDC,TDC,DDC1,DDC2),有的解析为Page buffer,或者sense Amps. 镁光的NAND flash:L94C:单die 8G,L95B:单die 16G 大致的物理结构图: 所以体

NAND Flash操作技术详解

NAND Flash是构成固态存储的基本存储单元其采用IO的接口方式与控制器相连.控制器对NAND Flash进行操作时需要通过命令交互的方式对NAND Flash进行操作.下面对NAND Flash的操作进行解析可以发现在研发FTL的时候可以充分发掘NAND Flash提供的操作命令来优化读写性能.分析介绍的NAND Flash以Micron提供的MT29F16G08AA为蓝本.该芯片能够提供16Gb 的存储容量具体性能指标如下所示 Organization –     Page size:

NAND FLASH控制器

一.nand flash访问原理 地址空间概念 nand的编址 nand命令  命令,地址,数据 使用S3C2440的nand flash控制器访问nand flash 前几个编译出来的文件都小于4k,读出来放到SDRAM中去 SDRAM.dm9000地址-->2440地址 nand 没有地址总线 片内内存:SDRAM:网卡:寄存器  都是CPU统一编址 写地址,读数据   连续读一页                           只进行了读操作,擦除,oob访问都没有 二.源码分析