常见存储器的区别分析

今天给大家总结一下我们常见的存储器的一些区别;这些常见的存储器在平时的学习和工作当中是经常都会接触的,如果我们对它们有一个非常熟悉的了解,对我们理解一些东西还是非常有帮助的。
一、从存储器的层次展开讲:
如下图图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较多。


汽车开关的关键技术自适应触觉的详细介绍
SMARTBoard交互式电子白板—互动教学首选!
全量通过!华为云 GaussDB 首批完成信通院全密态数据库评测
国家射频识别产业技术创新战略联盟标准正式发布
一位女IT工程师的职业经历
常见存储器的区别分析
3D三维扫描仪的扫描测量技术原理
微软:Cortana数字语音助理份额占19% Siri占36%
8位MCU将长期占据较大份额并持续增长?
土壤养分测定仪的功能特点
非公版最便宜GTX1080 Ti哪家强?七彩虹GTX1080Ti深度评测
智能智造美好生活,萤石智能家居创新向往的生活
iPhone XS/XS Max的信号问题
从IP到EDA,国产Chiplet生态进展如何?
高数值孔径EUV光刻:引领下一代芯片制造的革命性技术
MAX16814 Integrated, 4-Channel
印度已成摄像头设备制造的“新天地”
AI技术在医疗领域面临的五大挑战
三星Note8和iPhone8,会搭载光学指纹识别?一切太早
三大运营商的营销模式不应只打价格战,应跟时代同步创新求变