常用存储器介绍

常用存储器介绍
21.1. 存储器种类
存储器是计算机结构的重要组成部分。存储器是用来存储程序代码和数据的部件,有了存储器计算机才具有记忆功能。基本的存储器种类见 图21_1。
图 21‑1 基本存储器种类
存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。其中的“易失/非易失”是指存储器断电后,它存储的数据内容是否会丢失的特性。由于一般易失性存储器存取速度快,而非易失性存储器可长期保存数据,它们都在计算机中占据着重要角色。在计算机中易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。
21.2. ram存储器
ram是“random access memory”的缩写,被译为随机存储器。所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。这个词的由来是因为早期计算机曾使用磁鼓作为存储器,磁鼓是顺序读写设备,而ram可随机读取其内部任意地址的数据,时间都是相同的,因此得名。实际上现在ram已经专门用于指代作为计算机内存的易失性半导体存储器。
根据ram的存储机制,又分为动态随机存储器dram(dynamic ram)以及静态随机存储器sram(static ram)两种。
21.2.1. dram
动态随机存储器dram的存储单元以电容的电荷来表示数据,有电荷代表1,无电荷代表0,见 图21_2。 但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,因此它需要定期刷新操作,这就是“动态(dynamic)”一词所形容的特性。刷新操作会对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保证数据的正确性。
图 21‑2 dram存储单元
21.2.1.1. sdram
根据dram的通讯方式,又分为同步和异步两种,这两种方式根据通讯时是否需要使用时钟信号来区分。图21_3 是一种利用时钟进行同步的通讯时序,它在时钟的上升沿表示有效数据。
图 21‑3 同步通讯时序图
由于使用时钟同步的通讯速度更快,所以同步dram使用更为广泛,这种dram被称为sdram(synchronous dram)。
21.2.1.2. ddr sdram
为了进一步提高sdram的通讯速度,人们设计了ddr sdram存储器(double data rate sdram)。 它的存储特性与sdram没有区别,但sdram只在上升沿表示有效数据,在1个时钟周期内,只能表示1个有数据; 而ddr sdram在时钟的上升沿及下降沿各表示一个数据,也就是说在1个时钟周期内可以表示2位数据,在时钟频率同样的情况下, 提高了一倍的速度。至于ddrii和ddriii,它们的通讯方式并没有区别,主要是通讯同步时钟的频率提高了。
当前个人计算机常用的内存条是ddriii sdram存储器,在一个内存条上包含多个ddriii sdram芯片。
21.2.2. sram
静态随机存储器sram的存储单元以锁存器来存储数据,见 图21_4。 这种电路结构不需要定时刷新充电,就能保持状态(当然,如果断电了,数据还是会丢失的),所以这种存储器被称为“静态(static)”ram。
图 21‑4 sram存储单元
同样地,sram根据其通讯方式也分为同步(ssram)和异步sram,相对来说,异步sram用得比较广泛。
21.2.3. dram与sram的应用场合
对比dram与sram的结构,可知dram的结构简单得多,所以生产相同容量的存储器,dram的成本要更低,且集成度更高。 而dram中的电容结构则决定了它的存取速度不如sram,特性对比见 表21‑1。
表 21‑1 dram与sram对比
特性 dram sram
存取速度 较慢 较快
集成度 较高 较低
生产成本 较低 较高
是否需要刷新 是 否
所以在实际应用场合中,sram一般只用于cpu内部的高速缓存(cache),而外部扩展的内存一般使用dram。
21.3. 非易失性存储器
非易失性存储器种类非常多,半导体类的有rom和flash,而其它的则包括光盘、软盘及机械硬盘。
21.3.1. rom存储器
rom是“read only memory”的缩写,意为只能读的存储器。由于技术的发展,后来设计出了可以方便写入数据的rom, 而这个“read only memory”的名称被沿用下来了,现在一般用于指代非易失性半导体存储器, 包括后面介绍的flash存储器,有些人也把它归到rom类里边。
21.3.1.1. mask rom
mask(掩膜) rom就是正宗的“read only memory”,存储在它内部的数据是在出厂时使用特殊工艺固化的,生产后就不可修改,其主要优势是大批量生产时成本低。当前在生产量大,数据不需要修改的场合,还有应用。
21.3.1.2. otprom
otprom(one time programable rom)是一次可编程存储器。这种存储器出厂时内部并没有资料,用户可以使用专用的编程器将自己的资料写入,但只能写入一次,被写入过后,它的内容也不可再修改。在nxp公司生产的控制器芯片中常使用otprom来存储密钥。
21.3.1.3. eprom
eprom(erasable programmable rom)是可重复擦写的存储器,它解决了prom芯片只能写入一次的问题。这种存储器使用紫外线照射芯片内部擦除数据,擦除和写入都要专用的设备。现在这种存储器基本淘汰,被eeprom取代。
21.3.1.4. eeprom
eeprom(electrically erasable programmable rom)是电可擦除存储器。eeprom可以重复擦写,它的擦除和写入都是直接使用电路控制,不需要再使用外部设备来擦写。而且可以按字节为单位修改数据,无需整个芯片擦除。现在主要使用的rom芯片都是eeprom。
21.3.2. flash存储器
flash存储器又称为闪存,它也是可重复擦写的储器,部分书籍会把flash存储器称为flash rom,但它的容量一般比eeprom大得多,且在擦除时,一般以多个字节为单位。如有的flash存储器以4096个字节为扇区,最小的擦除单位为一个扇区。根据存储单元电路的不同,flash存储器又分为nor flash和nand flash,见表 21‑2。
表 21‑2 nor flash 与nand flash特性对比
特性 nor flash nand flash
同容量存储器成本 较贵 较便宜
集成度 较低 较高
介质类型 随机存储 连续存储
地址线和数据线 独立分开 共用
擦除单元 以“扇区/块”擦除 以“扇区/块”擦除
读写单元 可以基于字节读写 必须以“块”为单位读写
读取速度 较高 较低
写入速度 较低 较高
坏块 较少 较多
是否支持xip 支持 不支持
nor与nand的共性是在数据写入前都需要有擦除操作,而擦除操作一般是以“扇区/块”为单位的。而nor与nand特性的差别,主要是由于其内部“地址/数据线”是否分开导致的。
由于nor的地址线和数据线分开,它可以按“字节”读写数据,符合cpu的指令译码执行要求,所以假如nor上存储了代码指令,cpu给nor一个地址,nor就能向cpu返回一个数据让cpu执行,中间不需要额外的处理操作。
而由于nand的数据和地址线共用,只能按“块”来读写数据,假如nand上存储了代码指令,cpu给nand地址后,它无法直接返回该地址的数据,所以不符合指令译码要求。表 21‑2中的最后一项“是否支持xip”描述的就是这种立即执行的特性(execute in place)。
若代码存储在nand上,可以把它先加载到ram存储器上,再由cpu执行。所以在功能上可以认为nor是一种断电后数据不丢失的ram,但它的擦除单位与ram有区别,且读写速度比ram要慢得多。
另外,flash的擦除次数都是有限的(现在普遍是10万次左右),当它的使用接近寿命的时候,可能会出现写操作失败。由于nand通常是整块擦写,块内有一位失效整个块就会失效,这被称为坏块,而且由于擦写过程复杂,从整体来说nor寿命较长。由于可能存在坏块,所以flash存储器需要“探测/错误更正(edc/ecc)”算法来确保数据的正确性。
由于两种flash存储器特性的差异,nor flash一般应用在代码存储的场合,如嵌入式控制器内部的程序存储空间。而nand flash一般应用在大数据量存储的场合,包括sd卡、u盘以及固态硬盘等,都是nand flash类型的。
在本教程中会对如何使用ram、eeprom、flash存储器进行实例讲解。

STM32串口中断接收不定长报文介绍
简述电机传感器控制的各个层面
德国开发出一种新型固态电池 不到1个小时就能充足电
Celgard 宣布扩大韩国锂离子电池隔板厂的产能
电热鼓风干燥箱产品特点的简单描述
常用存储器介绍
报道称LG新能源即将完成纽扣型锂电池的研发
关于智能加速度计和高性能陀螺仪的联系和应用
飞行器导航与控制企业理工导航发布2022第一季度报告
IGBT模块在高湿环境应用失效的预防措施
大型工业区污水管PH传感器监测
一体成型电感的线材选型以及绕线工艺焊接工艺
plc控制柜功能
使用光学传感器检测颗粒
浅谈电线电缆编织层那些你所不知道的作用
【虹科分享】想保障制药无菌生产,您需要的是验证
打HI标的情感智能电动汽车阿维塔11正式亮相
镭神智能低速无人驾驶补盲激光雷达——CH32R&C32W步入量产新阶段
信驰达CC2642R-Q1远距离车规蓝牙模块RF-BM-2642QB1I上线
PCB设计中安全距离的规则注意事项