NOR,SRAM,SDRAM,NAND结构和容量计算_第1页
NOR,SRAM,SDRAM,NAND结构和容量计算_第2页
NOR,SRAM,SDRAM,NAND结构和容量计算_第3页
NOR,SRAM,SDRAM,NAND结构和容量计算_第4页
NOR,SRAM,SDRAM,NAND结构和容量计算_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NORflash,NANDflash,SDRAM结构和容量分析1.NORflash结构和容量分析例如:HY29LV160。引脚分别如图:孙切可叩”All|孙川中|咿I411NC诩"RES£TNCNC叫叫晒响胡I叩I皿|叩|邪|则mnrrn14TSOP48mnnroZUB>1L=S1-S-J.1)11111171tvI5-1J1312?S-0D-r小岫峋叫叫叫叫wlMI%WIKI同KlIgMI峋呜OE>%CEt明FHPPPREUEUrFPFFPFE20T,曲叫项D01<4MALX-r)帕WE:RESET!EYTE=帅5;h1RY'BYi4ffHY29

2、LV160有20根地址线,16位的数据线所以:容量=220(地址线)X16(数据位数)bit=1MX16bit=1MX2B=2MB2.SRAM简单介绍SRAM是英文StaticRAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(DynamicRandomAccessMemory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上S

3、RAM存储器要占用一部分面积。SRAM一种是置于CPU与主存间的高速缓存,它有两种规格:一种是固定在主板上的高速缓存(CacheMemory);另一种是插在卡槽上的COAST(CacheOnAStick)扩充用的高速缓存,另外在CMOS芯片146818的电路里,它的内部也有较小容量的128字节SRAM,存储我们所设置的配置数据。还有为了加速CPU内部数据的传送,自80486CPU起,在CPU的内部也设计有高速缓存,故在PentiumCPU就有所谓的L1Cache(一级高速缓存)和L2Cache(二级高速缓存)的名词,一般L1Cache是内建在CPU的内部,L2Cache是设计在CPU的外部,但

4、是PentiumPro把L1和L2Cache同时设计在CPU的内部,故PentiumPro的体积较大。最新的PentiumII又把L2Cache移至CPU内核之外的黑盒子里。SRAM显然速度快,不需要刷新的操作,但是也有另外的缺点,就是价格高,体积大,所以在主板上还不能作为用量较大的主存。现将它的特点归纳如下:优点,速度快,不必配合内存刷新电路,可提高整体的工作效率。缺点,集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。OSRAM使用的系统:OCPU与主存之间的高速缓存。OCPU内部的L1/L2或外部的L2高速缓存。OCPU外部扩充用的COAST高速缓存。O

5、CMOS146818芯片(RT&CMOSSRAM)。主要用途:SRAM主要用于二级高速缓存(Level2Cache)。它利用晶体管来存储数据。与DRAM相比,SRAM的速度快,但在相同面积中SRAM的容量要比其他类型的内存小。SRAM的速度快但昂贵,一般用小容量的SRAM作为更高速CPU和较低速DRAM之间的缓存(cache).SRAM也有许多种,如AsyncSRAM(AsynchronousSRAM,异步SRAM)、SyncSRAM(SynchronousSRAM,同步SRAM)、PBSRAM(PipelinedBurstSRAM,流水式突发SRAM),还有INTEL没有公布细节的C

6、SRAM等。基本的SRAM的架构如图1所示,SRAM一般可分为五大部分:存储单元阵列(corecellsarray),彳T/列地址译码器(decode),灵敏放大器(SenseAmplifier),控制电路(controlcircuit),缓冲/驱动电路(FFIO)。SRAM是静态存储方式,以双稳态电路作为存储单元,SRAM不象DRAM一样需要不断刷新,而且工作速度较快,但由于存储单元器件较多,集成度不太高,功耗也较大。3.SDRAM结构和容量分析SDRAM基础知识SDRAM:SynchronousDynamicRandomAccessMemory,同步动态随机存取存储器。同步是指Memory

7、工作需要步时钟,内部的命令的发送与数据的传输都以它为基准。动态是指存储阵列需要不断的刷新来保证数据不丢失。随机是指数据不是线性依次存储,而是由指定地址进行数据读写。SDRAM从发展到现在已经经历了四代,分别是:第一代SDRSDRAM,第二代DDRSDRAM,第三代DDR2SDRAM,第四代DDR3SDRAM.第一代与第二代SDRAM均采用单端(Single-Ended)时钟信号,第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。SDRSDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据

8、读写速率也为100或133MHz。之后的第二,三,四代DDR(DoubleDataRate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。DDR的读写频率从DDR200至UDDR400,DDR2从DDR2-400至UDDR2-800,DDR3从DDR3-800至UDDR3-1666。例如:HY57V641620:HY57V641620引脚分布:表M2引脚信号描近引0名称描述CLK时耕石片时於维人工CKE对鼾使能片内时斜信

9、号控制.CS户选禁上疝便能除CLK、UKE工DQV外涧所有典人信轨Bao*Qa生地址近押阳于片内4个组的增祥.AllAO地址总修,例址山11-4匹列地址1一丁口*1总比T充电好志IALORASiCAS,WE个地址领存虹地址领存写便能嬖:匕:臣女值其/RAS,/CAS和怎定义相应的操柞.LDQM-LDQY文鸣I。星触在二支式F理刽等、爆;“在写嗅式卜群藤沟人致梆DQkDQrt数掘总嵯显据裁入输出引脚VTJDVSS电幽地内部也菊度渣川避冲屯地VDDQVSSQ电那他输出黝-电湄,地SC未连接HY57V641620有12根地址线。但要注意:SDRAM的行地址和列地址是公用这12根地址线的。行地址:A1

10、1A0,列地址:A7A0。RAS#行地址锁存有效时,地址为行地址,A11A0oCAS#列地址锁存有效时,地址为列地址,A7A0。HY57V641620有两个Bank地址。AB1,BA0,用于片内4个组BanK的选择。HY57V641620有16位数据总线:DQ15DQ0。所以HY57V641620的容量计算公式是:容量=212(行地址)X28(列地址)X16(数据位数)X22(片内bank数)bit=220X16X4bit=1MX2X4Byte=8MB4.NANDflash结构和容量分析NANDFLASH和NORFLASH的区另fjNANDFLASHE对大容量的数据存储需要中日益发展,到现今,

11、所有的数码相机、多数MP3播放器、各种类型的U盘、很多PDA里面者B有NANDFLASH勺身影。1. Flash的简介NORFlash:程序和数据可存放在同一片芯片上,拥有独立的数据总线和地址总线,能快速随机地读取,允许系统直接从Flash中读取代码执行,而无需先将代码下载至RAM中再执行可以单字节或单字编程,但不能单字节擦除,必须以块为单位或对整片执行擦除操作,在对存储器进行编程之前需要对块或整片进行预编程和擦除操作。NANDFLASH以页为单位进行读写操作,1页为256B或512B;以块为单位进行擦除操作,1块为4KR8KB或16KB具有快编程和快擦除的功能数据、地址采用同一总线,实现串行

12、读取。随机读取速度慢且不能按字节随机编程芯片尺寸小,引脚少,是位成本(bitcost)最低的固态存储器芯片存储位错误率较高,推荐使用ECC校验,并包含有冗余块,其数目大概占1%当某个存储块发生错误后可以进行标注,并以冗余块代替SamsungTOSHIB街口Fujistu三家公司支持采用NANDJj术NANDFlash。目前,Samsung公司推出的最大存储容量可达8GbitoNANDi要彳乍为SmartMedia卡、CompactFlash卡、PCMCIAATA#、固态盘的存储介质,并正成为Flash磁盘技术的核心。2. NANDFLASK口NORFLASH勺比较1) 性能比较flash闪存是

13、非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任彳flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAN谭件执行擦除操作是十分简单的,而NORW要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NO谭件时是以64128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以832KB的块进行的,执行相同的操作最多只需要4m4执行擦除时块尺寸的不同进一步拉大了NO街口NADN1间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR勺单元中进行。这样,

14、当选择存储解决方案时,设计师必须权衡以下的各项因素。 NOR的读速度比NANDi快一些。 NAND的写入速度比NO映很多。 NAND的4ms擦除速度远比NOR勺5s快。 大多数写入操作需要先进行擦除操作。 NAND的擦除单元更小,相应的擦除电路更少。2) 接口差别NORflash带有SRA限口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NAN端件使用复杂的I/O口来串行地存取数据,共用8位总线(各个产品或厂商的方法可能各不相同)。8个引脚用来传送控制、地址和数据信息。NANDt和写操作采用512字节的页和32KB的块为单位,这一点有点像硬盘管理此类操作,很自然地,基于NAND

15、)勺存储器就可以取代硬盘或其他块设备。3) 容量和成本NANDflash的单元尺寸几乎是NO谭件的一半,由于生产过程更为简单,NAND吉构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格,大概只有NOR勺十分之一。NORflash占据了容量为116MB闪存市场的大部分,而NANDflash只是用在8128MB的产品当中,这也说明NORfc要应用在代码存储介质中,NANDg合于数据存储,NAN匪CompactFlash、SecureDigital、PCCards和MMC?储卡市场上所占份额最大。4) 可靠性和耐用性采用flahs介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF

16、勺系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NORWNAND勺可靠性。在NAND闪存中每个块的最大擦写次数是一百万次,而NOR勺擦写次数是十万次。NAN*储器除了具有10比1的块擦除周期优势,典型的NAN四尺寸要比NO谭件小8倍,每个NAN*储器块在给定的时间内的删除次数要少一些。5) 位交换(错误率)所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND生的次数要比NO尊),一个比特位会发生反转或被报告反转了。一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就

17、可能解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC瘴法。位反转的问题更多见于NAND闪存,NAND勺供应商建议使用NAND闪存的时候,同时使用EDC/EC第法。这个问题对于用NAN*储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC(统以确保可靠性。6) 坏块处理NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。NAN需件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。现在的FLSAH一般都提供冗余块来代替坏块如发现某个块的数据发生错

18、误(ECC校验),则将该块标注成坏块,并以冗余块代替。这导致了在NANDFlash中,一般都需要对坏块进行编号管理,让每一个块都有自己的逻辑地址。7) 易于使用可以非常直接地使用基于NOR)勺闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。由于需要I/O接口,NAN嚷复杂得多。各种NAN瑞件的存取方法因厂家而异。在使用NAN瑞件时,必须先写入驱动程序,才能继续执行其他操作。向NAN渊件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAN瑞件上自始至终都必须进行虚拟映射。8) 软件支持当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算

19、法的软件,包括性能优化。在NO喘件上运行代码不需要任何的软件支持,在NANDB件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NANDNO襦件在进行写入和擦除操作时都需要MTD使用NO襦件时所需要的MT国相对少一些,许多厂商都提供用于NO儒件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian和Intel等厂商所采用。驱动还用于对DiskOnChip产品进行仿真和NAN皿存的管理,包括纠错、坏块处理和损耗平衡。在掌上电脑里要使用NANCFLASH储数据

20、和程序,但是必须有NORFLASHt启动。除了SAMSUNG理器,其他用在掌上电脑的主流处理器还不支持直接由NANDFLASHY动程序。因此,必须先用一片小的NORFLASH启动机器,在把OS等软件从NANDFLASK入SDRA成运行才行。9) 主要供应商NORFLASH勺主要供应商是INTEL,MICRO等厂商,曾经是FLASH的主流产品,但现在被NANDFLAS挤的比较难受。它的优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵。NANDFLASH勺主要供应商是SAMSUNG东芝,在U盘、各种存储卡、MP箍放器里面的都是这种FLASH由于工艺上的不同,它比NORFLASIffi

21、有更大存储容量,而且便宜。但也有缺点,就是无法寻址直接运行程序,只能存储数据。另外NANDFLAS俳常容易出现坏区,所以需要有校验的算法。Nand-flash存储器是flash存储器的-种,其内部采用非线性宏单元模式,为固态大容量存储器的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快,适用于大量资料的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP34身听记忆卡、体积小巧的U盘等。内存和NOR1闪存的基本存储单元是bit,用户可以随机访问任何一个bit的信息。而NAND1闪存的基本存储单元是页(Page)(可以看到,NAND型闪存的页就

22、类似硬盘的扇区,硬盘的一个扇区也为512字节)。每一页的有效容量是512字节的倍数。所谓的有效容量是指用于数据存储的部分,实际上还要加上16字节的校验信息,因此我们可以在闪存厂商的技术资料当中看到“(512+16)Byte”的表示方式。目前2Gb以下容量的NAND型闪存绝大多数是(512+16)字节的页面容量,2Gb以上容量的NAND1闪存则将页容量扩大到(2048+64)字节。NAN理闪存以块为单位进行擦除操作。闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入,因此擦除操作是闪存的基本操作。一般每个块包含32个512字节的页,容量16KB;而大容量闪存采用2KB页时

23、,则每个块包含64个页,容量128KR每颗NANE®闪存的I/O接口一般是8条,每条数据线每次传输(512+16)bit信息,8条就是(512+16)X8bit,也就是前面说的512字节。但较大容量的NAND型闪存也越来越多地采用16条I/O线的设计,如三星编号K9K1G16U0A勺芯片就是64Mx16bit的NANE®闪存,容量1Gb,基本数据单位是(256+8)X16bit,还是512字节。寻址时,NAN例闪存通过8条I/O接口数据线传输地址信息包,每包传送8位地址信息。由于闪存芯片容量比较大,一组8位地址只够寻址256个页,显然是不够的,因此通常一次地址传送需要分若干

24、组,占用若干个时钟周期。NAND的地址信息包括列地址(页面中的起始操作地址)、块地址和相应的页面地址,传送时分别分组,至少需要三次,占用三个周期。随着容量的增大,地址信息会更多,需要占用更多的时钟周期传输,因此NAND1闪存的一个重要特点就是容量越大,寻址时间越长。而且,由于传送地址周期比其他存储介质长,因此NAND©闪存比其他存储介质更不适合大量的小容量读写请求。和磁盘类似,NANDFlash读写数据的基本粒度为页(page),然而读、写数据所需的时间却不一样,一般写入时间是读出的3到10倍。止匕外,Flash不允许数据的直接覆盖写,必须首先擦除旧有数据才能写入新的,而擦除的粒度为

25、块(block),通常一个块包含有64个页。擦除的速度是很慢的,而且每一块的擦除次数也有限,平均为100万次。下面将给出一个例子来具体说明NANDFlash的特点。下面是三星K9K8G08U0MK片的Flash组织结构图。512KPages(=8,192Blocks)1Block=64Pages.(128K+4k)Byte1Page=(2K+64)Bytes1Block二12K+54)Bx64Pages=(128K+4K)Bytes1Device=(2K+64)Bx64Pagesx8r192Bic=Bh44&Mbits8bit2KEJytes64BytesNANDFlash组织结构图从

26、图中可以看出,整个Flash的容量为8448Mbit,其中含有8192个物理块,每块包含64个页,每页除了2K的数据区之外,还有64字节的额外空间(又成为OOB用于存放错误校验码等信息。除了Flash的主体,我们还可以看到一个一页大小的数据寄存器。事实上,每一次Flash的读写操作都需要使用这个寄存器来完成。例如,读操作实际上分成两个阶段,首先是把指定地址中的整页数据载入到寄存器中(时间为20微秒),然后再从寄存器输出数据,可以连续输出,也可以根据指定偏移量随机输出,且随机输出的次数不限(每个字节的输出周期为20纳秒);而写操作也分为两个阶段,第一阶段是把数据从外界输入到寄存器,可以整页输入,

27、也可以随机输入,且随机输入的次数不限,每字节的输入周期也是20纳秒,第二阶段便是把寄存器中的数据固化到Flash上,时间为200微秒,每一页原则上只能有一次固化操作,然而大部分NANDFlash(如本例)允许在同一页中的几个片断按照先后顺序分几次写入,本例中为4次,这种情况叫做partialpageprogramming。除了partialpageprogramming,NANDFlash还有另外一种有意思的操作,也和数据寄存器相关,叫做copy-back。就是说,当某个数据页需要被复制到新的位置时,只需将其载入到数据寄存器中,然后根据接收到的目标地址将该页数据固化到Flash上新的位置,这样

28、就省去了整页数据在寄存器和RAM之间的输入输出过程。另外,在数据被载入到寄存器之后,Flash允许程序使用随机输入数据的方式改写该页的部分内容,然后再固化到目标位置。NAND基础知识cell:NANDFlash的数据是以bit的方式保存在memorycell,一般来说,一个cell中只能存储一个bit。Bitline:这些cell以8个或者16个为单位,连成bitline,形成所谓的byte(x8)/word(x16),这就是NANDDevice的位宽。这些Line会再组成Page.NANDflash,largepage大小为2048字节,Smallpage为512字节Nandflash以页为

29、单位读写数据,而以块为单位擦除数据。按照这样的组织方式可以形成所谓的三类地址:BlockAddress|PageAddress|ColumnAddress对于NANDFlash来讲,地址和命令只能在I/O7:0上传递,数据宽度是8位。而数据位可以是8位,或者16位,是根据IO的口的数量来决定的。NANDFLASH主要以页(page)为单位进行读写,以块(block)为单位进行擦除。FLASH页的大小和块的大小因不同类型块结构而不同,块结构有两种:小块(图7)和大块(图8),小块NANDFLASH包含32个页,每页512+16字节;大块NANDFLASH包含64页,每页2048+64字节。其中,

30、512B(或1024B)用于存放数据,16B(64B)用于存放其他信息(包括:块好坏的标记、块的逻辑地址、页内数据的ECC校验和等)。NAND设备的随机读取得效率很低,一般以页为单位进行读操作。系统在每次读一页后会计算其校验和,并和存储在页内的冗余的16B内的校验和做比较,以此来判断读出的数据是否正大块和小块NANDFLASH都有与页大小相同的页寄存器,用于数据缓存。当读数据时,先从NANDFLASH内存单元把数据读到页寄存器,外部通过访问NANDFLASHI/O端口获得页寄存器中数据(地址自动累加);当写数据时,外部通过NANDFLASHI/O端口输入的数据首先缓存在页寄存器,写命令发出后才

31、写入到内存单元中。NandFlash有多种结构(1)下面针对三星K9F1208U0M,页面为512byte,IO数据为8位K9F1208U0M:512Mbit=64MByte。1Block=16KByte,Numberof(block)=40961Block=32Page1Page由3个分区,mainarea的两个分区,和sarearea三个分区组成1Page=528Byte=512Byte(MainArea)+16Byte(SpareArea)用户数据保存在mainarea中首先,必须清楚一点,对于NANDFlash来讲,地址和命令只能在I/O7:0上传递,数据宽度可以是8位或者16位,但是

32、,对于x16的NANDDevice,I/O15:8只用于传递数据。512byte需要9bit来表示,对于528byte系列的NAND,这512byte被分成1sthalf和2ndhalf,各自的访问由所谓的pointeroperation命令来选择,也就是选择了bit8的高低。因此A8就是halfpagepointer(这是我给出的一个名字),A7:0就是所谓的columnaddress。A8这一位地址被用来设置512byte的1sthalfpage还是2ndhalfpage,0表示1st,1表示2nd。Block的地址是由A14以上的bit来表示。A8是由硬件寄存器决定的。选择哪半个page

33、是由IO传输的命令控制的。具体参照datasheet,如下图:PointerOperationofK9K1G08X0A(X8)SamsungNANDFlashhasthreeaddresspointercommandsasasubstituteforthetwomostsignificantcolumnaddresses00h')mmandsetsthepointerto'A'area(0-255byte).01h*commandsetsthepointerto*BarB3(256*511byte),arxi'50h*commandsetshspointerto

34、*Carea(512-527byte).Withthesecommands,thestartingcolumnaddresscanbesettoanyofawhole;929(0-527byte).*00h*or'50h*rssustaineduntilanotheraddresspointercommandsmputtad.*01h*command,hoover,tseffectivemlyforoneoperaton.AfteranyoperationofRead.Program.Erase,Reset.Pnver_Upisexecutedoncewrth*01h'comm

35、and,theaddresspointerreturnsto*A*areabyitself.Toprogramdatastartingfrom'A'or*Carea,*00h*or'50h*commandmustbeinputted»fore'83h'commandiswritten.Acomptetereadoperationpriorto'80h*commandisnotnecessary.ToprogramdatastartingfromB'mrea,01h'8mmandmustbeinputtedbefore&#

36、39;80h'8Emandgwritten.CommandPointerpositionAreaOOh0-255byte1sthalfarray(A)01h256-511byte2ndhalfarray(B)50h512-527bytesparearray(C)Table2.DestinationofthepointerWaea(OOrare)a*ea(01noae)(SO-3y金)256Byte256Byte16ByteJ1.N|廿|C|iirraA!ps”2Poma,aeect!co*n*PaEdpOn.Olh.50)28=256byte256bytex2=512byte(A8)3

37、2个page需要5bit来表示,占用A13:9,即该page在块内的相对地址,即pageaddress。25=32page(一个block有32个page)Block的地址是由A14以上的bit来表示,例如512Mb的NAND,共4096block,因止匕,需要12个bit来表示,即A25:14,如果是1Gbit的528byte/page的NANDFlash,贝blockaddress用A26:14表示。226-14+1)=8192blocks(总共有这些block)226-9+1+27-0+1)=226=67108864page(总共有这些pages)在编程上面可以这样:NANDFlash的

38、地址表示为:BlockAddress|PageAddressinblock|halfpagepointer|ColumnAddress地址传送顺序是ColumnAddress,PageAddress,BlockAddress。例如一个地址:0x00aa55aa00000000101010100101010110101010由于地址只能在I/O7:0上传递,因此,必须采用移位的方式进行。例如,对于512Mbitx8的NANDflash,地址范围是00x3FF_FFFF,只要是这个范围内的数值表示的地址都是有效的。以NAND_ADDR为例:第1步是传递columnaddress,就是NAND_AD

39、DR7:0,不需移位即可传递到I/O7:0上,而halfpagepointer即bit8是由操作指令决定的,即指令决定在哪个halfpage上进行读写,而真正的bit8的值是don'tcare的。第2步就是将NAND_ADDR右移9位,将NAND_ADDR16:9传到I/O7:0上。第3步将NAND_ADDR24:17放到I/O上。第4步需要将NAND_ADDR25放到I/O上。因此,整个地址传递过程需要4步才能完成,即4-stepaddressing。如果NANDFlash的容量是32Mbit以下,那么,blockadress最高位只到bit24,因此寻址只需要3步。地址传递例子说明

40、:(1)对64MB,8位的nandflash来说:(4096个块,需要12位来表示)A25:14A13:9A7:0-BlockAddress-PageAddress-ColumnAddress故:第一次直接传A7:0;第二次将A16:9右移9位,再传它;第三次将A24:17右移17位,再传它;第四次将A25右移25位,再传它。因此,整个地址传递过程需要4步才能完成,即4-stepaddressing。对32MB,8位的nandflash来说:(2048个块,需要11位来表示)-BlockAddressA24:14-PageAddressA13:9-ColumnAddressA7:0故:第一次直

41、接传A7:0;第二次将A16:9右移9位,再传它;第三次将A24:17右移17位,再传它。以三星K9F1208flash为例,总容量=4096blocks*32(page/block)*512(byte/page)=64M即1block=32pages;1page=512byte(dataarea)+16bye(aparearea)=528bye读命令有两个,分别是Read1,Read2其中Read1用于读取DataField的数据,而Read2则是用于读取SpareField的数据。对于NandFlash来说,读操作的最小操作单位为Page,也就是说当我们给定了读取的起始位置后,读操作将从该

42、位置开始,连续读取到本Page的最后一个Byte为止(可以包括SpareField)要定位到flash中的某个byte地址要用到一下4个地址:1、ColumnAddress-表示数据在半页中的地址,大小范围为0255,用8位可以表示即A7:02、halfpagepointer-表示半页在整页中的位置,即在0255空间还是在256511空间,用1位即可表不,A8表不;3、PageAddress-表示页在块中的地址(即此页在此块中是第多少页,在031中选),大小范围031,用5位表示,即A13:9表示;4、BlockAddress-表示块在flash中的位置(即此块在flash中的位置-编号,在0

43、4095中选),大小范围04095,用12位可以表示,即A25:14表示;综上,要想定位到flash上的某一个byte需要将上面的四种地址拼合在一起形成完整的地址,地址(NAND_ADDR)完整表示如下:A25:14A13:9A8A7:0BlockPageAddresshalfpagepointerColumnAddressAddress由于地址只能在I/O7:0上传递,因此A25:0即26为地址只能分步顺序传入I/O7:0中,即串行方式一步一步传入。第一步、传递ColumnAddress,即NAND_ADDR7:0不需移位即可传递到I/O7:0上,而halfpagepointer即bit8是

44、由操作指令决定的,即指令决定在哪个halfpage上进行读写。而真正的bit8的值是don'tcare的。K9F1208提供了两个读指令,0x00''0x01。'这两个指令区别在于0x00CT以将A8置为0,选中上半页;而0x0何以将A8置为1,选中下半页。第二步、将NAND_ADDR右移9位,即NAND_ADDR16:9传递至UI/O7:0第三步、将NAND_ADDR再右移8位,NAND_ADDR24:17放至UI/O上第四步、将NAND_ADDR再右移8位,将NAND_ADDR25放至UI/O上四步后,整个地址传递完成,即4-stepaddressing-4

45、个cycle(二)下面针对,页面为256word(同为512byte),IO数据为16位x16DEVICESBlock=32PagesPage=264Words(256+8)由于一个page的mainarea的容量为256word,仍相当于512byte。但是,这个时候没有所谓的1sthalfpage和2ndhalfpage之分了,所以,bit8就变得没有意义了,也就是这个时候bit8完全不用管,地址传递仍然和x8器件相同。除了,这一点之外,x16的NAND使用方法和x8的使用方法完全相同。Table8、AddressDefinitionsAddressDefinitionA0-A7Colui

46、nnAddressA9A26PageAddressA9.A13AddressmBlockA14-A26BlockAddressASABissetLoworHighbythe00h0r0*+Connand,andisDon'tCareink!6devices256word需要8bit来表示,刚好A0A7的8位地址就够用了,所以不存在halfpage之说。Read1对于16位的device来说只有00H的命令,而没有01H的命令。而访问的区域只存在mainarea和sparearea。因datasheet是8位和16位公用的,所以setcommands的表格跟8位是一样的,只是01H的命令

47、对于16位的无效。具体如何参照datasheet,如下图:PointerOperationofK9K1G16X0A(X1SamsungNANDFlashhastwopointeroammanidlssetsubstitutefatthemostsignificantralumriaddress'30h'oammamdthepqrnterto'&and'50h'command辱thepointertoS'mrealN56Withthe&sMmmands.thesgrtingmlumn事dd目马号力匕目«.sttoafaA&

48、#39;h3isp3g&2-2B3Anrd)."00h!or53h'iaftLis.taiTHjuntilanioififlir3ddrswpaimtsrcam-mandmpustal.Tapragramdatastartmgfrom'A"or1Baraa.'33ti'a50h_csnmandmiifitbsinputtedbfffbre93h-sarnTnandie'A'rit-tan.Acornpteneadap9ratianprOrto93hcommaind乐no1力二目51slairy.CommandPDint

49、arpositionAra00h50h0-255Jvard25G=263wjrdmairii3TT3y(A)sparearray(B)Table3.Destinationofthepointer二DO".25=32page(一个block有32个page)Block的地址是由A14以上的bit来表示,例如512Mb的NAND,共4096block,因止匕,需要12个bit来表示,即A25:14,如果是1Gbit的528byte/page的NANDFlash,贝blockaddress用A26:14表示。226-14+1=8192blocks(总共有这些block)2(26-9+1)=

50、226=2097152page(总共有这些pages)其他诸如地址传递等与16位是一样的。可以参照8位的进行修改移用。12BKPa;es:±204fiBlocks)Figure2.K9F2G08XOAArrayOrganization2K0ylss64Byta(三)下面针对,页面为2Kbyte,IO数据为8位iBiock=4PasesI126KE*1Page2K+&4出产伯士1Stock=12K+64i0k6aPa;s=I13AK+4KJ日晔1口白m白=(2K+64iBx的白岩x2£-6B=2.11:Mbitsl.'O0I/OiI/O21.031/041.05I/O6MO?1stCycleAcAiA2A3AiA5AfiAt2naC种电AlAaA暗A11*L*L-L'L3rmCycleAllAuAyA-5AuAitAtSAi34tnCycleA2JA21A22A23A24AmAzeA2?5thCycleAza*LL*L*L*L,L*LNOTECa_r"A.H,。5a.Slid4二巴99oft七Rmmal*r.*LTjflt»3则2二内“"T*:tvc*gym白芍azztos-口/ofBzzp*sacyr*5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论