第13课【嵌入式常见存储器类型】ROM RAM 一次性 DDR双倍速率 Flash

目录

  • 存储器
    • 易失性存储器
      • RAM
        • DRAM
          • SDRAM
          • DDR SDRAM
        • SRAM
        • DRAM/SRAM总结
    • 非易失性存储器
      • ROM
        • MASK ROM
        • OTPROM
        • EPROM
        • EEPROM
      • FLASH

存储器

存储器是组成计算机的重要部分,它可以存储数据,能让计算机拥有“记忆”。目前根据断电后,存储的数据是否会丢失的特性,可以将存储器分为两大类:

  • 易失性存储器:这类存储器在断电后,内部存储的数据就会消失。计算机中的内存就属于非易失性存储器
  • 非易失性存储器:这类存储器在断电后,内部存储的数据不会消失。典型例子就是计算机中的硬盘

两者各有特点,易失性存储器的数据存取速度会比非易失性存储器快,而非易失性存储器通常能持久的保存数据。两者通过细分还有以下分类,如图:

易失性存储器

RAM

RAM指的是Random Access Memory 随机访问存储器,随机访问指的是数据的读写速度和其存储位置无关的特性,随机存储器数据存取时间都相同。在过去,计算机数据是通过磁鼓这种顺序存储器来存储的,其存储介质是磁性涂层,涂层附着在圆筒之上,读写数据时,需要按照顺序读写磁性涂层,越靠后的数据读取时间越长,数据的读写速度和其存储位置相关,不能和RAM一样直接访问特定数据块。现在的RAM已经专门用于指代易失性存储器

根据RAM内的存储器件机制的不同,RAM还分为DRAM(Dynamic RAM 动态随机存储器)和SRAM(Static RAM 静态随机存储器)

DRAM

DRAM的核心元件是电容,理想情况下,用充满电荷的电容表示逻辑1,放尽电荷的电容表示逻辑0。而实际情况下,表示1的电容往往会自行放电,导致其电荷量偏低,表示0的电容往往会自行充电,导致其电荷量偏高,所以DRAM的电路中需要定期去刷新每个电容的状态,其名称中的“动态”指的就是定期动态刷新的特性,定期刷新操作会对电荷量超过1/2的电容进行充电,对电荷量低于1/2的电容进行放电,以确保数据的准确性

SDRAM

DRAM的通讯方式还分为同步和异步两种,两者通过是否需要时钟信号进行区分。同步通讯需要时钟信号,通讯速度相对较快,所以应用范围也比较广。SDRAM指的是Synchronous Dynamic RAM 异步动态随机存储器,采用同步通讯方式,在时钟信号的上升沿,对数据信号进行采样,此时采样到的电平数据是有效数据,具体通讯时序图如下:

DDR SDRAM

为了进一步提高SDRAM的通讯速度,人们设计出了DDR SDRAM(Double Data Rate SDRAM),其存储特性和SDRAM几乎相同。只不过相对于SDRAM的仅在时钟上升沿对数据进行采样,DDR SDRAM会在时钟上升沿和下降沿都对数据进行采样,这样在一个时钟周期里,DDR SDRAM的数据读写效率会是SDRAM的两倍

而DDR II SDRAM,DDR III SDRAM相对于DDR SDRAM,区别并不大,只是在支持的时钟频率上有所提升

SRAM

与DRAM不同,SRAM的核心元件是锁存器,锁存器在通电情况下,保存的数据可以不丢失,而且也不用频繁刷新充电/放电。其结构如下图

DRAM/SRAM总结

DRAM和SRAM各有特点,DRAM结构简单,核心元件仅为一个电容,所以它制造时的集成程度较高,同等容量的制造成本也相对较低。但也由于其核心元件为电容的缘故,需要去定期刷新电容的电荷量,这种定期刷新的操作会让存储以外的控制电路等变得复杂,同时刷新操作也会影响数据读写的速度,所以DRAM的读写速度相对较慢

非易失性存储器

ROM

ROM指的是Read Only Memory 只读存储器,在过去想要长期的保存数据,需要通过难以恢复的手段改变存储器中电路:例如熔断内部线路,掩膜等等,这样的存储器用户很难再次去改变其中的数据,在当时被称为ROM。到后来,技术上已经发展出了EPROM ,EEPROM,Flash等可擦写的存储器,使得任何人都可以轻松修改存储器中的数据,但习惯上依旧把这样的存储器成为ROM,用于持久的存储数据

MASK ROM

MASK ROM是正宗的ROM 只读存储器。在工厂生产MASK ROM时,会通过特殊MASK掩膜工艺将数据保存到MASK ROM中,这种工艺是不可逆的,一旦写入,就不可以修改。其优点是工艺成熟,生产成本低,可以用来存储某些不可修改或不支持修改的数据,例如产品序列号,MAC地址等

OTPROM

OTP ROM指的是One Time Programmable ROM 一次性编程ROM。这种存储器,在生产时,不会写入任何数据,用户使用时,可以通过特殊的编程器向其写入数据,但写入操作只能执行一次,写入数据后,便不可以再修改

EPROM

EPROM指的是Erasable Programmable ROM 可擦除编程ROM。这种存储器属于OTP ROM的升级版,其中的数据可以通过特殊的编程器进行擦出和写入,编程器的原理主要是靠紫外线照射,所以对使用环境的光线有一定要求。目前此ROM已经被EEP ROM取代,很少使用

EEPROM

EEP ROM指的是Electric Erasable Programmable ROM电可擦除编程ROM。这种存储器无需使用特别的编程器,只需要通过内部的控制电路通过电信号就可以进行数据的擦除和写入。而且可以按照字节去修改数据,无需整片擦除

FLASH

Flash被称为闪存,属于可以重复擦出的存储器。但Flash的容量相对于EEP ROM要大得多,而且Flash的数据擦除写入操作,是基于多个字节的,例如会将4096个字节当做一个扇区,以扇区作为单位进行数据读写操作。Flash根据存储单元的特性,分为NOR Flash和NAND Flash。以下为两者特性的对比:

Nor Flash和NAND Flash在写入数据前都需要对存储单元进行擦除操作,而在其他的特性上,两者差别非常大,是它们之间的数据线和地址线硬件设计上是否分离导致的

Nor Flash的数据线与地址线分离,可以按字节读写数据,并且只要通过地址线输入一个地址,就可以立刻通过数据线获得地址对应的数据,无需任何等待和中间操作,这完全符合CPU的译指需求;而NAND Flash的数据线地址线共用,只能通过块读写数据,通过地址线输入一个地址,并不能马上得到对应的数据,这不符合CPU的译指需求,若代码或数据存储于NAND Flash上,直接进行数据读写操作会非常慢,可以将其加载到速度更快的RAM中,再间接的数据进行所需的操作。相对于RAM,虽然NAND Flash速度上差了很多个数量级,读写单元也不同,但仍可以将NAND Flash看作是一种断电不丢失数据的RAM

在坏块方面,当存在某一个位存储单元失效时,NAND Flash由于只能通过块进行读写,所以损坏位存储单元所在的整个块都会失去作用;对于Nor Flash类似,坏块的影响只波及了所在字节。由于坏块的存在,Flash芯片需要EDC/ECC探测,错误更正算法来确保数据的正确性

在应用领域上,Nor Flash由于其读取速度快,支持随机读写,支持XIP特性等特点,运用在经常需要更新和读取代码的场合,如嵌入式设备,机顶盒等固件存储。NAND Flash由于写入速度快,支持连续读写,制造成本低等特点,被运用在U盘,固态硬盘制造等领域

本文链接:https://my.lmcjl.com/post/2018.html

展开阅读全文

4 评论

留下您的评论.