嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

存储器主要可分类为:

  • 只读储存器(ROM)
  • 闪存(Flash)
  • 随机存取存储器(RAM)
  • 光/磁介质储存器

嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

一、ROM(只读存储器)

  • 不可编程ROM
  • 可编程ROM:PROM
  • 可擦除可编程ROM:EPROM
  • 电可擦除可编程ROM:E2PROM(E2PROM完全可以用软件来擦写,已经非常方便了)

二、Flash(闪存)

  • 用于存储设备固件(软件)和配置信息的芯片
  • 特性:
    • 长期保存数据,掉电不丢失数据,读写速度一般
    • 容量:1MB-4GB都有
    • 贴片式:TSOP、BGA封装
  • 两种主要的Flash闪存技术:
    • Nor(或非) Flash
    • Nand(与非) Flash
  • 历史发展:Intel于1988年首先开发出Nor Flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了 Nand Flash结构,每位的成本被大大降低

Nor Flash

  • NOR Flash和CPU的接口属于典型的类SRAM接口(如下图所示),不需要增加额外的控制电路

嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

  • NOR Flash的特点是可芯片内执行(eXecute In Place,XIP),程序可以直接在NOR内运行
  • CFI接口:公共闪存接口(Common Flash Interface,CFI)是一个从NOR Flash器件中读取数据的公开、标准接 口。它可以使系统软件查询已安装的Flash器件的各种参数,包括器件阵列结构参数、电气和时间参数以 及器件支持的功能等。如果芯片不支持CFI,就需使用JEDEC(Joint Electron Device Engineering Council, 电子电器设备联合会)了。JEDEC规范的NOR则无法直接通过命令来读出容量等信息,需要读出制造商 ID和设备ID,以确定Flash的大小
  • SPI接口:目前NOR Flash可以使用SPI接口进行访问以节省引脚。相对于传统的并行NOR Flash 而言,SPI NOR Flash只需要6个引脚就能够实现单I/O、双I/O和4个I/O口的接口通信,有的SPI NOR Flash 还支持DDR模式,能进一步提高访问速度到80MB/s
  • 特点:
    • 易读难写
    • 带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节
    • 容量一般较小,为1~16MB
    • 虽然难写,但是仍然可以通过特殊工具进行写入
    • 可以直接运行代码,所以被用来存储BootLoader、BIOS

嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

Nand Flash 

  • NAND Flash和CPU的接口必须由相应的控制电路进行转换,当然也可以通过地址线或GPIO产生NAND Flash接口的信号
  • NAND Flash以块方式进行访问,不支持芯片内执行
  • 与NOR Flash的类SRAM接口不同,一个NAND Flash的接口主要包含如下信号:
    • I/O总线:地址、指令和数据通过这组总线传输,一般为8位或16位。
    • 芯片启动(Chip Enable,CE#):如果没有检测到CE信号,NAND器件就保持待机模式,不对任何控制信号做出响应
    • 写使能(Write Enable,WE#):WE#负责将数据、地址或指令写入NAND之中。
    • 读使能(Read Enable,RE#):RE#允许数据输出。
    • 指令锁存使能(Command Latch Enable,CLE):当CLE为高电平时,在WE#信号的上升沿,指令将 被锁存到NAND指令寄存器中
    • 地址锁存使能(Address Latch Enable,ALE):当ALE为高电平时,在WE#信号的上升沿,地址将被 锁存到NAND地址寄存器中
    • 就绪/忙(Ready/Busy,R/B#):如果NAND器件忙,R/B#信号将变为低电平。该信号是漏极开路, 需要采用上拉电阻
  • 特点:
    • 可读可写
    • 使用复杂的IO口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。Nand读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于Nand的存储器就可以取代硬盘或其他块设备。大部分CPU不可直接寻址,需要驱动程序,常用于存储数据
    • 单纯的用来存储数据,固态硬盘、U盘都是这种。一般存放文件系统、内核
    • 不能用来执行代码,因为没有栈堆等信息,所以只能用来存放数据

嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

位反转

  • 由于Flash固有的电器特性,在读写数据过程中,偶然会产生1位或几位数据错误,即位反转,NAND Flash发生位反转的概率要远大于NOR Flash。位反转无法避免,因此,使用NAND Flash的同时,应采用错误探测/错误更正(EDC/ECC)算法

块擦除

  • Flash的编程原理都是只能将1写为0,而不能将0写为1。因此在Flash编程之前,必须将对应的块擦除,而擦除的过程就是把所有位都写为1的过程,块内的所有字节变为0xFF
  • Nor Flash与Nand Flash的区别:
    • Nor Flash:以64~128KB的块为例,执行一个写入/擦除操作的时间为5s。每个块的最大擦写次数是十万次
    • Nand Flash:以8~32KB的块为例,执行一个写入/擦除操作最多只需要4ms。每个块的最大擦写次数是一百万次
  • 另外,Flash还存在一个负载均衡的问题,不能老是在同一块位置进行擦除和写的动作,这样容易导致坏块

Nor Flash与Nand Flash的其他区别

  • ①NAND Flash较NOR Flash容量大,价格低
  • ②NAND Flash的擦除、编程速度远超过NOR Flash
  • ③Nand的擦除单元更小,相应的此处电路更少

三、RAM(随机存取存储器)

  • 概念:内存,一般在电路板上有多个引脚的芯片,就是内存芯片
    • 这里说的内存一般都是运行内存,对应计算机的内存条。通常人们说的存储内存对应计算机中的硬盘(外存)
  • 分类:
    • ①静态RAM(SRAM)
      • SRAM是静态的, 只要供电它就会保持一个值,SRAM没有刷新周期
      • 每个SRAM存储单元由6个晶体管组成
    • ②动态RAM(DRAM)
      • ​​​​​​​DRAM以电荷形式进行存储,数据存储在电容器中。由于电容器会因漏电而出现电荷丢失,所以DRAM器件需要定期刷新
      • DRAM存储单元由1个晶体管和1个电容器组成
      • 通常所说的SDRAM、DDR SDRAM皆属于DRAM的范畴,它们采用与CPU外存控制器同步的时钟工作(注意,不是与CPU的工作频率一致)。与SDRAM相比,DDR SDRAM同时利用了时钟脉冲的上升沿 和下降沿传输数据,因此在时钟频率不变的情况下,数据传输频率加倍。此外,还存在使用 RSL(Rambus Signaling Level,Rambus发信电平)技术的RDRAM(Rambus DRAM)和Direct RDRAM
  • 特性:
    • 临时存储数据,掉电会丢失数据,读写速度快
    • 容量:1MB-4GB都有
    • 贴片式:TSOP、BGA封装

嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

DPRAM:双端口RAM

  • DPRAM的特点是可以通过两个端口同时访问,具有两套完全独立的数据总线、地址总线和读写控制 线,通常用于两个处理器之间交互数据,如下图所示:

嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

  • 当一端被写入数据后,另一端可以通过轮询或中断获知,并读取其写入的数据。由于双CPU同时访问DPRAM时的仲裁逻辑电路集成在DPRAM内部,所以 需要硬件工程师设计的电路原理比较简单
  • DPRAM的优点是通信速度快、实时性强、接口简单,而且两边处理器都可主动进行数据传输
  • 除了双端口RAM以外,目前IDT等芯片厂商还推出了多端口RAM,可以供3个以上的处理器互通数据

CAM:内容寻址RAM

  • CAM是以内容进行寻址的存储器,是一种特殊的存储阵列RAM,它的主要工作机制就是同时将一个 输入数据项与存储在CAM中的所有数据项自动进行比较,判别该输入数据项与CAM中存储的数据项是否 相匹配,并输出该数据项对应的匹配信息
  • 如下图所示,在CAM中,输入的是所要查询的数据,输出的是数据地址和匹配标志。若匹配(即搜 寻到数据),则输出数据地址。CAM用于数据检索的优势是软件无法比拟的,它可以极大地提高系统性 能

嵌入式(硬件):02---存储器(只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光/磁介质储存器)

FIFO存储器:先进先出队列

  • FIFO存储器的特点是先进先出,进出有序,FIFO多用于数据缓冲。FIFO和DPRAM类似,具有两个访 问端口,但是FIFO两边的端口并不对等,某一时刻只能设置为一边作为输入,一边作为输出。
  • 如果FIFO的区域共有n个字节,我们只能通过循环n次读取同一个地址才能将该片区域读出,不能指 定偏移地址。对于有n个数据的FIFO,当循环读取m次之后,下一次读时会自动读取到第m+1个数据,这 是由FIFO本身的特性决定的

四、光/磁介质储存器

  • IDE(Integrated Drive Electronics)接口可连接硬盘控制器或光驱,IDE接口的信号与SRAM类似。人 们通常也把IDE接口称为ATA(Advanced Technology Attachment)接口,不过,从技术角度而言,这并不准 确。其实,ATA接口发展至今,已经经历了ATA-1(IDE)、ATA-2(Enhanced IDE/Fast ATA,EIDE)、 ATA-3(FastATA-2)、Ultra ATA、Ultra ATA/33、Ultra ATA/66、Ultra ATA/100及Serial ATA(SATA)的发 展过程
  • 很多SoC集成了一个eFuse电编程熔丝作为OTP(One-Time Programmable,一次性可编程)存储器。 eFuse可以通过计算机对芯片内部的参数和功能进行配置,这一般是在芯片出厂的时候已经设置好了

 

 

 

 

上一篇:Windows Azure 微软公有云体验(一) 网站、SQL数据库、虚拟机


下一篇:ftp 229