常见存储器的区别分析

存储技术

608人已加入

描述

  今天给大家总结一下我们常见的存储器的一些区别;这些常见的存储器在平时的学习和工作当中是经常都会接触的,如果我们对它们有一个非常熟悉的了解,对我们理解一些东西还是非常有帮助的。

  一、从存储器的层次展开讲:

  如下图图1所示,是在看深入理解计算机操作系统书里面讲解到的存储器层次结构图:

  存储器

  图1

  当然这里涉及到的存储器类型没有那么多,我们今天主要来分享:RAM ROM flash NORflash Nandflash sram sdram ddr等常见存储器,下面我们就来开始正式来分享了:

  1、ram和rom:

  ram(random access memory):它是一种随机存储器。存储单元的内容可以按需要来随意取出或者存入,而且存取的速度与存储单元的位置无关;同时它也有缺点,就是在断电的时候,它里面保存的内容全部会被丢失;它主要的作用就是存储代码和数据供CPU 在需要的时候调用;按照存储信息的不同,我们又可以把它分为两种类型的存储器(下面会专门介绍这两种存储器,这里先不介绍):

  静态随机存储器(static ram,简称sram)

  动态随机存储器(dynamic ram,简称dram)

  rom(read-only memory):它是一种只读存储器,也就是说它只能读出事先规定的存储数据,一旦存储进去后,就不能对里面的数据进行修改了,而且它不会因为断电了而丢失数据。

  2、sram和sdram:

  sram:它是一种静态随机存储器(static ram,简称sram),一般的话,这种存储器不需要刷新电路就能保存它内部存储的数据。它的特点是:读写速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲,三级缓冲(在我们上面的存储器的层次结构可以看到。)。

  dram:它是一种动态随机存储器(dynamic ram,简称dram),但是它与静态随机存储器就不同了,动态随机存取存储器,需要不断的刷新,才能保存数据。它的特点是:保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的(内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的“动态”,指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作)。

  3、flash:flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在以往,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,它用作存储Bootloader以及操作系统或者程序代码,或者直接当硬盘使用(U盘)。而flash又被分为两种类型:

  NOR Flash

  NADN Flash

  这两种flash应该是我们平时见的最多的存储器了,下面我们来着重来看一下他们的区别:

  (1)性能比较:

  任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。

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

  由此可见:

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

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

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

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

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

  (2)接口差别:

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

  NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。

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

  (3)成本上:

  NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。

  NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还加上了一块小的NOR Flash来运行启动代码。

  一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的“闪盘”,可以在线擦除。

  (4)易于使用:

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

  由于nandflash需要I/O接口,所以要复杂得多。各种NAND器件的存取方法因厂家而异。

  在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。

  (5)寻址:

  NAND每次读取数据时都是指定块地址、页地址、列地址,列地址就是读的页内起始地址,每次都是先将数据读入页缓冲区内,再 由I/O输入地址 在缓冲区内寻址,其实这里列地址,只是指定起始地址的作用。NAND是 以页 为基本单位 操作的。写入数据也是首先在页面缓冲区内缓冲,数据首先写入这里,再写命令后,再统一写入页内。因此NAND页缓冲区的作用就是,保证芯片的按页的读、写操作,是I/O操作与芯片操作的接口、桥梁,因为数据是从I/O输入的,又是每次一个字节,因此需要缓冲。即使每次改写一个字节,都要重写整个页,因为它只支持页写,而且如果页内有未擦除的部分,则无法编程,在写入前必须保证页是空的。

  NOR的 读、写 是字节为基本单位操作的,但擦除 是以扇区操作的。综上所述在芯片操作上,NAND要比NOR快很多,因为NAND是页操作的而NOR是字节操作的。

  (6)应用:

  NAND 正是基于这种构造:块、页,无法字节寻址,页读写本身就靠的是内部复杂的串、并行转换 ,因此也没有很多地址引脚,所以其地址、数据线共用,所以容量可以做的很大 。 NOR 是和SRAM一样的可随机存储的,也不需要驱动,因此,其地址就有限,所以容量普遍较小,其实是受限于地址线。 基于以上几点,

  在工业领域,NOR 用的较多,特别是程序存储,少量数据存储等。

  在消费领域,大量数据存储,NAND较多。
责任编辑人:CC

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分