NAND_FLASH详解
- 格式:ppt
- 大小:2.82 MB
- 文档页数:10


NandFlash简介分类:Linux2013-03-06 14:34 2945人阅读评论(0) 收藏举报Flash Memory中文名字叫闪存,是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。
从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flash,还有其他比较常见的入硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存,不论是以前的SDRAM,DDR SDRAM,还是现在的DDR2,DDR3等,都是断电后,数据就没了。
FLASH的分类:功能特性分为两种:一种是NOR型闪存,以编码应用为主,其功能多与运算相关;另一种为NAND型闪存,主要功能是存储资料,如数码相机中所用的记忆卡。
NOR FLASH和NAND FLASHNOR和NAND是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM 一统天下的局面。
紧接着,1989年,东芝公司发表了NAND flash结结,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。
NOR的读速度比NAND稍快一些。
NAND的写入速度比NOR快很多。
NAND的4ms擦除速度远比NOR的5s快。
大多数写入操作需要先进行擦除操作。
NAND的擦除单元更小,相应的擦除电路更少在NOR Flash中, 所有的存储区域都保证是完好的, 同时也拥有相同的耐久性。
在硬模中专门制成了一个相当容量的扩展存储单元—他们被用来修补存储阵列中那些坏的部分,这也是为了保证生产出来的产品全部拥有完好的存储区域。
为了增加产量和降低生产成本, NAND Flash 器件中存在一些随机bad block 。
为了防止数据存储到这些坏的单元中, bad block 在IC烧录前必须先识别。
一、NANDflash的物理组成NANDFlash的数据是以bit的方式保存在memorycell,一般来说,一个cell中只能存储一个bit。
这些cell以8个或者16个为单位,连成bitline,形成所谓的byte(x8)/word(x16),这就是NANDDevice的位宽。
这些Line会再组成Page,(NANDFlash有多种结构,我使用的NANDFlash是K9F1208,下面内容针对三星的K9F1208U0M),每页528Bytes(512byte(MainArea)+16byte(SpareArea)),每32个page形成一个Block(32*528B)。
具体一片flash上有多少个Block视需要所定。
我所使用的三星k9f1208U0M具有4096个block,故总容量为4096*(32*528B)=66MB,但是其中的2MB是用来保存ECC校验码等额外数据的,故实际中可使用的为64MB。
NANDflash以页为单位读写数据,而以块为单位擦除数据。
按照这样的组织方式可以形成所谓的三类地址:ColumnAddress:StartingAddressoftheRegister.翻成中文为列地址,地址的低8位PageAddress:页地址BlockAddress:块地址对于NANDFlash来讲,地址和命令只能在I/O[7:0]上传递,数据宽度是8位。
二、NANDFlash地址的表示512byte需要9bit来表示,对于528byte系列的NAND,这512byte被分成1sthalfPageRegister和2ndhalfPageRegister,各自的访问由地址指针命令来选择,A[7:0]就是所谓的columnaddress(列地址),在进行擦除操作时不需要它,why?因为以块为单位擦除。
32个page需要5bit来表示,占用A[13:9],即该page在块内的相对地址。
A8这一位地址被用来设置512byte的1sthalfpage还是2ndhalfpage,0表示1st,1表示2nd。
NANDFlash原理和使用一、NAND Flash的原理NAND Flash基于浮栅效应晶体管(Floating Gate Field Effect Transistor)的工作原理进行存储数据。
每个存储单元包含一个浮动栅和一个控制栅,通过对控制栅施加电压,可以改变浮动栅中电子的分布状态。
当浮动栅的电荷状态表示0时,电子充分存储在浮动栅中;而当浮动栅的电荷状态表示1时,几乎没有电子存储在浮动栅中。
数据的写入和擦除是NAND Flash的两个重要操作。
写入数据时,首先需要根据所需的数据位序列确定相应的单元位置,然后通过施加一定的电压对浮动栅进行充、放电,以改变电子的位状态。
擦除数据时,需要对整个块进行一次性的擦除操作,将所有存储单元的电子位状态恢复为0。
同时,为了提高存储密度和读写性能,NAND Flash还使用了一些技术,如多层单元(Multi-Level Cell,MLC)和三层单元(Triple-Level Cell,TLC)来实现在每个存储单元中存储多位数据。
二、NAND Flash的使用1. 存储器层面:NAND Flash因其非易失性和快速读写性能被广泛应用于存储器中,取代了传统的硬盘驱动器。
固态硬盘(SSD)是其中的典型应用,它不仅在电脑中使用,也可以用于服务器、云存储等领域。
2. 智能手机和平板电脑:NAND Flash被广泛应用于智能手机和平板电脑中的存储器,用于存储操作系统、应用程序和用户数据。
由于NAND Flash具有快速的读写速度和较小的体积,可实现轻薄设计,因此非常适合移动设备。
3. 数字相机和摄像机:NAND Flash也用作数码相机和摄像机中的存储媒介,用于保存拍摄的照片和视频。
相比于传统的存储卡,NAND Flash 存储器具有更高的读写速度和更大的容量,可以满足高清拍摄的需求。
4. 汽车电子:随着汽车电子的普及,NAND Flash也开始在汽车的娱乐系统、导航系统和车载电子控制单元中得到应用。
友善之臂K9F1208U0C PCB04-5位,12代表512M位,也就是64M字节熟悉一下NandFlash的硬件:1主要的引脚:I/O0 —I/O7:数据输入输出端,命令,数据,地址复用端口(LDATA0-LDATA7)R/B: 准备忙输出(RnB)CE:芯片使能(nFCE)CLE: 命令锁存使能(CLE)ALE:地址锁存使能(ALE)WE:写使能(nFWE)RE:读使能(nFRE)2Mini2440的一些引脚设置:和寄存器设置:(NCON(Advflash), GPG13(页大小), GPG14(地址周期), GPG15(总线宽度)–参考引脚配置)#define rGSTATUS0 (*(volatile unsigned *)0x560000ac) //External pin status3NandFlash启动时,代码小于4k与大于4k的情况:在三星的NAND Flash 中,当CPU从NAND Flash开始启动时,CPU会通过内部的硬件将NAND Flash开始的4KB数据复制到称为“Steppingstone”的4KB 的内部RAM中,起始地址为0,然后跳到地址0处开始执行。
这也就是我们为什么可以把小于4KB的程序烧到NAND Flash中,可以运行,而当大于4KB时,却没有办法运行,必须借助于NAND Flash的读操作,读取4KB以后的程序到内存中。
4NandFlash的存储结构以及读写原理:4.1NandFlash中的块,页,位宽:●NAND Flash的数据是以bit的方式保存在memory cell(存储单元)一般情况下,一个cell中只能存储一个bit。
这些cell以8个或者16个为单位,连成bit line ,形成所谓的byte(x8)/word(x16),这就是NAND Flash的位宽。
这些Line会再组成Pape(页)。
然后是每32个page形成一个Block,所以一个Block(块)大小是16k.Block是NAND Flash中最大的操作单元。