NAND FLASH 原理闪存保存数据的原理:与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以页为单位读写数据,而以块为单位擦除数据。按照这样的组织方式可以形成所谓的三类地址: 二、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来表示。 引脚定义: 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的外部引脚。
部分引脚信号功能说明: 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引脚是为将来的需要保留的。 |
|