NORSRAMSDRAMNAND结构和容量计算文档格式.docx

上传人:b****2 文档编号:1010463 上传时间:2023-04-30 格式:DOCX 页数:25 大小:705.86KB
下载 相关 举报
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第1页
第1页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第2页
第2页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第3页
第3页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第4页
第4页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第5页
第5页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第6页
第6页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第7页
第7页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第8页
第8页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第9页
第9页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第10页
第10页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第11页
第11页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第12页
第12页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第13页
第13页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第14页
第14页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第15页
第15页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第16页
第16页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第17页
第17页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第18页
第18页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第19页
第19页 / 共25页
NORSRAMSDRAMNAND结构和容量计算文档格式.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

NORSRAMSDRAMNAND结构和容量计算文档格式.docx

《NORSRAMSDRAMNAND结构和容量计算文档格式.docx》由会员分享,可在线阅读,更多相关《NORSRAMSDRAMNAND结构和容量计算文档格式.docx(25页珍藏版)》请在冰点文库上搜索。

NORSRAMSDRAMNAND结构和容量计算文档格式.docx

◎优点,速度快,不必配合内存刷新电路,可提高整体的工作效率。

◎缺点,集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。

◎SRAM使用的系统:

○CPU与主存之间的高速缓存。

○CPU内部的L1/L2或外部的L2高速缓存。

○CPU外部扩充用的COAST高速缓存。

○CMOS146818芯片(RT&CMOSSRAM)。

主要用途:

SRAM主要用于二级高速缓存(Level2Cache)。

它利用晶体管来存储数据。

与DRAM相比,SRAM的速度快,但在相同面积中SRAM的容量要比其他类型的内存小。

  

SRAM

SRAM的速度快但昂贵,一般用小容量的SRAM作为更高速CPU和较低速DRAM之间的缓存(cache).SRAM也有许多种,如AsyncSRAM(AsynchronousSRAM,异步SRAM)、SyncSRAM(SynchronousSRAM,同步SRAM)、PBSRAM(PipelinedBurstSRAM,流水式突发SRAM),还有INTEL没有公布细节的CSRAM等。

  基本的SRAM的架构如图1所示,SRAM一般可分为五大部分:

存储单元阵列(corecellsarray),行/列地址译码器(decode),灵敏放大器(SenseAmplifier),控制电路(controlcircuit),缓冲/驱动电路(FFIO)。

SRAM是静态存储方式,以双稳态电路作为存储单元,SRAM不象DRAM一样需要不断刷新,而且工作速度较快,但由于存储单元器件较多,集成度不太高,功耗也较大。

3.SDRAM结构和容量分析

●SDRAM基础知识

SDRAM:

SynchronousDynamicRandomAccessMemory,同步动态随机存取存储器。

同步是指Memory工作需要步时钟,内部的命令的发送与数据的传输都以它为基准。

动态是指存储阵列需要不断的刷新来保证数据不丢失。

随机是指数据不是线性依次存储,而是由指定地址进行数据读写。

SDRAM从发展到现在已经经历了四代,分别是:

第一代SDRSDRAM,第二代DDRSDRAM,第三代DDR2SDRAM,第四代DDR3SDRAM.

第一代与第二代SDRAM均采用单端(Single-Ended)时钟信号,第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。

SDRSDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。

之后的第二,三,四代DDR(DoubleDataRate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。

如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。

DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1666。

例如:

HY57V641620:

HY57V641620引脚分布:

●HY57V641620有12根地址线。

但要注意:

SDRAM的行地址和列地址是公用这12根地址线的。

行地址:

A11~A0,列地址:

A7~A0。

RAS#行地址锁存有效时,地址为行地址,A11~A0。

CAS#列地址锁存有效时,地址为列地址,A7~A0。

●HY57V641620有两个Bank地址。

AB1,BA0.用于片内4个组BanK的选择。

●HY57V641620有16位数据总线:

DQ15~DQ0。

所以HY57V641620的容量计算公式是:

容量=212(行地址)X28(列地址)X16(数据位数)X22(片内bank数)bit

=220X16X4bit

=1MX2X4Byte

=8MB

 

4.NANDflash结构和容量分析

●NANDFLASH和NORFLASH的区别

NANDFLASH在对大容量的数据存储需要中日益发展,到现今,所有的数码相机、多数MP3播放器、各种类型的U盘、很多PDA里面都有NANDFLASH的身影。

1.Flash的简介

NORFlash:

◆程序和数据可存放在同一片芯片上,拥有独立的数据总线和地址总线,能快速随机地读取,允许系统直接从Flash中读取代码执行,而无需先将代码下载至RAM中再执行

◆可以单字节或单字编程,但不能单字节擦除,必须以块为单位或对整片执行擦除操作,在对存储器进行编程之前需要对块或整片进行预编程和擦除操作。

NANDFLASH

◆以页为单位进行读写操作,1页为256B或512B;

以块为单位进行擦除操作,1块为4KB、8KB或16KB。

具有快编程和快擦除的功能

◆数据、地址采用同一总线,实现串行读取。

随机读取速度慢且不能按字节随机编程

◆芯片尺寸小,引脚少,是位成本(bitcost)最低的固态存储器

◆芯片存储位错误率较高,推荐使用ECC校验,并包含有冗余块,其数目大概占1%,当某个存储块发生错误后可以进行标注,并以冗余块代替

◆Samsung、TOSHIBA和Fujistu三家公司支持采用NAND技术NANDFlash。

目前,Samsung公司推出的最大存储容量可达8Gbit。

NAND主要作为SmartMedia卡、CompactFlash卡、PCMCIAATA卡、固态盘的存储介质,并正成为Flash磁盘技术的核心。

2.NANDFLASH和NORFLASH的比较

1)性能比较

flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。

任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。

NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。

执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。

这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。

  ●NOR的读速度比NAND稍快一些。

  ●NAND的写入速度比NOR快很多。

  ●NAND的4ms擦除速度远比NOR的5s快。

  ●大多数写入操作需要先进行擦除操作。

  ●NAND的擦除单元更小,相应的擦除电路更少。

2)接口差别

NORflash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。

NAND器件使用复杂的I/O口来串行地存取数据,共用8位总线(各个产品或厂商的方法可能各不相同)。

8个引脚用来传送控制、地址和数据信息。

NAND读和写操作采用512字节的页和32KB的块为单位,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。

3)容量和成本

NANDflash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格,大概只有NOR的十分之一。

NORflash占据了容量为1~16MB闪存市场的大部分,而NANDflash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、SecureDigital、PCCards和MMC存储卡市场上所占份额最大。

4)可靠性和耐用性

采用flahs介质时一个需要重点考虑的问题是可靠性。

对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。

可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。

在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。

NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。

5)位交换(错误率)

所有flash器件都受位交换现象的困扰。

在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。

一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。

如果只是报告有问题,多读几次就可能解决了。

当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。

位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。

这个问题对于用NAND存储多媒体信息时倒不是致命的。

当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。

6)坏块处理

NAND器件中的坏块是随机分布的。

以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。

NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。

现在的FLSAH一般都提供冗余块来代替坏块如发现某个块的数据发生错误(ECC校验),则将该块标注成坏块,并以冗余块代替。

这导致了在NANDFlash中,一般都需要对坏块进行编号管理,让每一个块都有自己的逻辑地址。

7)易于使用

可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。

由于需要I/O接口,NAND要复杂得多。

各种NAND器件的存取方法因厂家而异。

在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。

向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。

8)软件支持

当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。

在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。

使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian和Intel等厂商所采用。

驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。

在掌上电脑里要使用NANDFLASH存储数据和程序,但是必须有NORFLASH来启动。

除了SAMSUNG处理器,其他用在掌上电脑的主流处理器还不支持直接由NANDFLASH启动程序。

因此,必须先用一片小的NORFLASH启动机器,在把OS等软件从NANDFLASH载入SDRAM中运行才行。

9)主要供应商

NORFLASH的主要供应商是INTEL,MICRO等厂商,曾经是FLASH的主流产品,但现在被NANDFLASH挤的比较难受。

它的优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵。

NANDFLASH的主要供应商是SAMSUNG和东芝,在U盘、各种存储卡、MP3播放器里面的都是这种FLASH,由于工艺上的不同,它比NORFLASH拥有更大存储容量,而且便宜。

但也有缺点,就是无法寻址直接运行程序,只能存储数据。

另外NANDFLASH非常容易出现坏区,所以需要有校验的算法。

Nand-flash存储器是flash存储器的-种,其内部采用非线性宏单元模式,为固态大容量存储器的实现提供了廉价有效的解决方案。

Nand-flash存储器具有容量较大,改写速度快,适用于大量资料的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。

  内存和NOR型闪存的基本存储单元是bit,用户可以随机访问任何一个bit的信息。

而NAND型闪存的基本存储单元是页(Page)(可以看到,NAND型闪存的页就类似硬盘的扇区,硬盘的一个扇区也为512字节)。

每一页的有效容量是512字节的倍数。

所谓的有效容量是指用于数据存储的部分,实际上还要加上16字节的校验信息,因此我们可以在闪存厂商的技术资料当中看到“(512+16)Byte”的表示方式。

目前2Gb以下容量的NAND型闪存绝大多数是(512+16)字节的页面容量,2Gb以上容量的NAND型闪存则将页容量扩大到(2048+64)字节。

  NAND型闪存以块为单位进行擦除操作。

闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入,因此擦除操作是闪存的基本操作。

一般每个块包含32个512字节的页,容量16KB;

而大容量闪存采用2KB页时,则每个块包含64个页,容量128KB。

每颗NAND型闪存的I/O接口一般是8条,每条数据线每次传输(512+16)bit信息,8条就是(512+16)×

8bit,也就是前面说的512字节。

但较大容量的NAND型闪存也越来越多地采用16条I/O线的设计,如三星编号K9K1G16U0A的芯片就是64M×

16bit的NAND型闪存,容量1Gb,基本数据单位是(256+8)×

16bit,还是512字节。

  寻址时,NAND型闪存通过8条I/O接口数据线传输地址信息包,每包传送8位地址信息。

由于闪存芯片容量比较大,一组8位地址只够寻址256个页,显然是不够的,因此通常一次地址传送需要分若干组,占用若干个时钟周期。

NAND的地址信息包括列地址(页面中的起始操作地址)、块地址和相应的页面地址,传送时分别分组,至少需要三次,占用三个周期。

随着容量的增大,地址信息会更多,需要占用更多的时钟周期传输,因此NAND型闪存的一个重要特点就是容量越大,寻址时间越长。

而且,由于传送地址周期比其他存储介质长,因此NAND型闪存比其他存储介质更不适合大量的小容量读写请求。

  和磁盘类似,NANDFlash读写数据的基本粒度为页(page),然而读、写数据所需的时间却不一样,一般写入时间是读出的3到10倍。

此外,Flash不允许数据的直接覆盖写,必须首先擦除旧有数据才能写入新的,而擦除的粒度为块(block),通常一个块包含有64个页。

擦除的速度是很慢的,而且每一块的擦除次数也有限,平均为100万次。

下面将给出一个例子来具体说明NANDFlash的特点。

下面是三星K9K8G08U0M芯片的Flash组织结构图。

NANDFlash组织结构图

从图中可以看出,整个Flash的容量为8448Mbit,其中含有8192个物理块,每块包含64个页,每页除了2K的数据区之外,还有64字节的额外空间(又成为OOB)用于存放错误校验码等信息。

除了Flash的主体,我们还可以看到一个一页大小的数据寄存器。

事实上,每一次Flash的读写操作都需要使用这个寄存器来完成。

例如,读操作实际上分成两个阶段,首先是把指定地址中的整页数据载入到寄存器中(时间为20微秒),然后再从寄存器输出数据,可以连续输出,也可以根据指定偏移量随机输出,且随机输出的次数不限(每个字节的输出周期为20纳秒);

而写操作也分为两个阶段,第一阶段是把数据从外界输入到寄存器,可以整页输入,也可以随机输入,且随机输入的次数不限,每字节的输入周期也是20纳秒,第二阶段便是把寄存器中的数据固化到Flash上,时间为200微秒,每一页原则上只能有一次固化操作,然而大部分NANDFlash(如本例)允许在同一页中的几个片断按照先后顺序分几次写入,本例中为4次,这种情况叫做partialpageprogramming。

除了partialpageprogramming,NANDFlash还有另外一种有意思的操作,也和数据寄存器相关,叫做copy-back。

就是说,当某个数据页需要被复制到新的位置时,只需将其载入到数据寄存器中,然后根据接收到的目标地址将该页数据固化到Flash上新的位置,这样就省去了整页数据在寄存器和RAM之间的输入输出过程。

另外,在数据被载入到寄存器之后,Flash允许程序使用随机输入数据的方式改写该页的部分内容,然后再固化到目标位置。

●NAND基础知识

vcell:

NANDFlash的数据是以bit的方式保存在memorycell,一般来说,一个cell中只能存储一个bit。

vBitline:

这些cell以8个或者16个为单位,连成bitline,形成所谓的byte(x8)/word(x16),这就是NANDDevice的位宽。

这些Line会再组成Page.

NANDflash,largepage大小为2048字节,Smallpage为512字节

vNandflash以页为单位读写数据,而以块为单位擦除数据。

v按照这样的组织方式可以形成所谓的三类地址:

BlockAddress|PageAddress|ColumnAddress

v对于NANDFlash来讲,地址和命令只能在I/O[7:

0]上传递,数据宽度是8位。

而数据位可以是8位,或者16位,是根据IO的口的数量来决定的。

vNANDFLASH主要以页(page)为单位进行读写,以块(block)为单位进行擦除。

FLASH页的大小和块的大小因不同类型块结构而不同,块结构有两种:

小块(图7)和大块(图8),小块NANDFLASH包含32个页,每页512+16字节;

大块NANDFLASH包含64页,每页2048+64字节。

v其中,512B(或1024B)用于存放数据,16B(64B)用于存放其他信息(包括:

块好坏的标记、块的逻辑地址、页内数据的ECC校验和等)。

NAND设备的随机读取得效率很低,一般以页为单位进行读操作。

系统在每次读一页后会计算其校验和,并和存储在页内的冗余的16B内的校验和做比较,以此来判断读出的数据是否正确。

v大块和小块NANDFLASH都有与页大小相同的页寄存器,用于数据缓存。

当读数据时,先从NANDFLASH内存单元把数据读到页寄存器,外部通过访问NANDFLASHI/O端口获得页寄存器中数据(地址自动累加);

当写数据时,外部通过NANDFLASHI/O端口输入的数据首先缓存在页寄存器,写命令发出后才写入到内存单元中。

●NandFlash有多种结构

(1)下面针对三星K9F1208U0M,页面为512byte,IO数据为8位。

K9F1208U0M:

512Mbit=64MByte。

1Block=16KByte,

Numberof(block)=4096

1Block=32Page

1Page由3个分区,mainarea的两个分区,和sarearea三个分区组成

1Page=528Byte=512Byte(MainArea)+16Byte(SpareArea)

用户数据保存在mainarea中。

●首先,必须清楚一点,对于NANDFlash来讲,地址和命令只能在I/O[7:

0]上传递,数据宽度可以是8位或者16位,但是,对于x16的NANDDevice,I/O[15:

8]只用于传递数据。

●512byte需要9bit来表示,对于528byte系列的NAND,这512byte被分成1sthalf和2ndhalf,各自的访问由所谓的pointeroperation命令来选择,也就是选择了bit8的高低。

因此A8就是halfpagepointer(这是我给出的一个名字),A[7:

0]就是所谓的columnaddress。

A8这一位地址被用来设置512byte的1sthalfpage还是2ndhalfpage,0表示1st,1表示2nd。

Block的地址是由A14以上的bit来表示。

A8是由硬件寄存器决定的。

选择哪半个page是由IO传输的命令控制的。

具体参照datasheet,如下图:

28=256byte256bytex2=512byte(A8)

●32个page需要5bit来表示,占用A[13:

9],即该page在块内的相对地址,即pageaddress。

25=32page(一个block有32个page)

●Block的地址是由A14以上的bit来表示,例如512Mb的NAND,共4096block,因此,需要12个bit来表示,即A[25:

14],如果是1Gbit的528byte/page的NANDFlash,则blockaddress用A[26:

14]表示。

2(26-14+1)=8192blocks(总共有这些block)

2(26-9+1)+2(7-0+1)=226=67108864page(总共有这些pages)

在编程上面可以这样:

NANDFlash的地址表示为:

BlockAddress|PageAddr

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2