第十二章——嵌入式系统的存储体系

前言:
   计算机第十二章节主要知识点。

1 知识点介绍

  • 存储器部件的分类
  • 存储器的组织和构造
  • 常见的嵌入式系统存储设备

2 存储器部件的分类

  按在系统中的地位分类

  • 主存储器(Main Memory简称内存或主存)
  • 辅助存储器(Auxiliary Memory, Secondary Memory, 简称辅存或外存)。

  内存通常用来容纳当前正在使用的或要经常使用的程序和数据,CPU可以直接对内存进行访问。

  • 内存一般都用快速存储器件来构成,内存的存取速度很快,但内存空间的大小受到地址总线位数的限制。
  • 系统软件中如引导程序、监控程序或者操作系统中的基本输入/输出部分BIOS都是必须常驻内存。

  更多的系统软件和全部应用软件则在用到时由外存传送到内存。
  外存也是用来存储各种信息的,存放的是相对来说不经常使用的程序和数据,其特点是容量大。

  • 外存总是和某个外部设备相关的,常见的外存有软盘、硬盘、U盘、光盘等。
  • CPU要使用外存的这些信息时,必须通过专门的设备将信息先传送到内存中。

  按存储介质分类。

  • 磁存储器(Magnetic Memory)
  • 半导体存储器
  • 光存储器(Optical Memory)
  • 激光光盘存储器(Laser Optical Disk)

3 信息存取方式分类

  按信息存取方式分类。

  • 随机存取存储器(Random Access Memory, RAM)
  • 只读存储器(Read Only Memory, ROM)

  随机存取存储器是一种在机器运行期间可读、可写的存储器,又称读写存储器。

Storage.png

4 存储器的组织和结构

  存储器的参数:容量、数据宽度。
  存储器的容量是描述存储器的基本参数,如4MB。存储器的表示不唯一,不同表示方法有不同的数据宽度。
  在存储器内部,数据是存放在二维阵列存储单元中。

  • 阵列以二维的形式存储,给出的n位地址被分成行地址和列地址(n = r + c)。r是行地址数,c是列地址数。
  • 行列选定一个特定存储单元。

Construction.png

5 常见的嵌入式系统存储设备

5.1 RAM(随机存储器)

  • RAM可以被读和写,地址可以以任意次序被读。

  常见RAM的种类有。

  • SRAM(Static RAM,静态随机存储器)
  • DRAM(Dynamic RAM,动态随机存储器)

  SRAM笔DRAM运行速度快,SRAM笔DRAM耗电多,DRAM需要周期性刷新。

5.2 ROM(只读存储器)

  • ROM在烧入数据后,无需外加电源来保存数据,断电后数据不丢失,但速度较慢,适合存储需长期保留的不变数据。
  • 在嵌入式系统中,ROM用于存储固定数据和程序。

  常见ROM有。

  • Mask ROM(掩膜ROM)
  • PROM(Programmable ROM,可编程ROM)
  • EPROM(Erasable Programmable ROM,可擦写ROM)
  • EEPROM(电可擦除可编程ROM,也可表示为E2PROM)
  • Flash ROM(闪存存储器)

5.3 ROM的种类与选型

  • 常见ROM的种类
  • 常见ROM的特点

5.4 常见ROM的种类

  ROM在烧入数据后,无需外加电源来保存数据,断电后数据不丢失,但速度较慢,适合存储需要长期保留的不变数据。
 &emps;在嵌入式系统中,ROM用于存储固定数据和程序。
  常见ROM有。

  • Mask ROM(掩膜ROM):一次性由厂家写入数据的ROM,用户无法修改。
  • PROM(Programmable ROM,可编程ROM):出厂时厂家没有写入数据,保留里面的内容为全0或全1,由用户来编程一次性写入数据。
  • EPROM(Erasable Programmable ROM,可擦写ROM):可以通过紫外光的照射,擦掉原先的程序,芯片可重复擦除和写入。写入时间较长。
  • EEPROM(电可擦除可编程ROM,也可表示为E2PROM):通过加电擦除原编程数据,通过高压脉冲可以写入数据。
  • Flash ROM(闪速存储器):断电不会丢失数据,快速读取,电可擦写可编程。

5.5 常见ROM的特点

  PROM、EPROM、EEPROM的共同之处。

  • 可编程的只读存储器
  • 属于非易失性元件
  • 芯片为有限次写入

  PROM、EPROM、EEPROM的不同之处。

  • PROM为一次编程器件,EPROM为电编程、紫外线擦除器件、EEPROM电编程、电擦写
  • PROM编程元件为:熔丝型开关或者非熔丝型开关(PLICE:多晶硅)
  • EPROM编程元件:叠栅型(SIMOS)浮栅。
  • EEPROM编程元件:隧道型(FLOTOX)浮栅。

5.6 Flash的种类与选型

  • Flash的种类
  • Flash的特点

5.6.1 Flash的种类

  Flahs memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。
  但在使用Flash Memory时,必须根据其自身特性,对存储系统进行特殊设计,已保证系统的性能达到最优。
  Flash Memory是一种非易失性存储器NVM(Non-Volatile Memory),根据结构的不同可以分为:NOR Flash、NAND Flash。

5.6.2 Flash的特点

5.6.2.1 共同特点

  区块结构:Flash Memory在物理结构上分成若干个区块,区块之间互相独立。

  • NOR Flash把整个存储区分成若干个扇区(Sector)
  • NAND Flash把整个存储区分成若干个块(Block)
  • 可以对以块或扇区为单位的内存单元进行先擦写和再编程

  先擦后写:由于Flash Memory的写操作只能将数据位从1写0,而不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1。

  • 擦操作的最小单位是一个区块,而不是单个字节。

  操作指令:除了NOR Flash的读,Flash Memory的其他操作不能像RAM那样,直接对目标地址进行总线操作。

  • 例如执行一次写操作,它必须输入一串特殊的指令(NOR Flash),或者完成一段时序(NAND Flash)才能将数据写入到Flash Memory中。

&mesp; 位反转。

  • 所有Flash Memory器件存在位交换现象。
  • Flash Memory在读写数据时,偶尔会产生一位或几位数据错误,即位反转。
  • 位反转无法避免,只能通过其他手段对产生的结果进行事后处理。
  • 位反转的问题多见于NAND Flash。供货商建议使用NAND Flash的时候,同时使用EDC/ECC(错误探测/错误纠正)算法。以确保可靠性。

  坏块。

  • Flash Memory在使用过程中,可能导致某些区块的损坏。
  • 区块一旦损坏,将无法进行修复。
  • NAND Flash中的坏块是随机分布的,尤其是NAND Flash在出厂时就可能存在这样的坏块(已经被标识出)。
  • NAND Flash需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。
  • 如果对已损坏的区块进行操作,可能会带来不可预测的错误。
5.6.2.2 不同特点
  • 应用程序可以直接在NOR Flash内运行,不需要再把代码读到系统RAM中运行。
  • NOR Flash的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
  • NAND Flash结构可以达到高存储密度,写入和擦除的速度很快,应用NAND Flash的困难在于需要特殊的系统接口。

  性能比较。

  • NAND Flash执行擦除操作是十分简单的。
  • NOR型内存则要求在进行擦除前先要将目标块内所有的位都写为0。
  • 由于擦除NOR Flash时是以64~128kB为单位的块进行的,执行一个写入/擦除操作的时间为5s。
  • 擦除NAND Flash是以8~32kB的块进行的,执行相同的操作最多只需要4ms。
  • NOR Flash的读速度笔NAND Flash稍快一些。
  • NAND Flash的写入速度笔NOR Flash快很多。
  • NAND Flash的随机读取能力差,适合大量数据的连续读取。
  • NAND Flash的4ms擦除速度远比NOR Flash的5s快。

  接口差别。

  • NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
  • NAND Flash地址、数据和命令共用8位总线/16位总线,每次读写都要使用复杂的I/O接口串行地存取数据,8位总线/16位总线用来传送控制、地址和资料信息。

  NAND Flash读和写操作采用512B的块,类似硬盘管理操作。

  • 因此,基于NAND的闪存可以取代硬盘或其他块设备。

  容量成本。

  • NOR Flash容量通常在1~8MB之间。主要应用在代码存储介质中。
  • NAND Flash用在8MB以上的产品当中。适用于资料存储。

  寿命。

  • NAND Flash中每个块的最大擦写次数是一百万次。
  • NOR Flash的擦写次数是十万次。
  • NAND Flash除了具有10:1的块擦除周期优势,典型的NAND Flash块尺寸要比NOR型闪存小8倍,每个NAND Flash的内存块在给定的时间内删除次数要少一些。

  软件支持。

  • 在NOR Flash上运行代码不需要任何的软件支持。
  • 在NAND Flash上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD)。
  • NAND Flash和NOR Flash在进行写入和擦除操作时都需要MTD。

  市场定位。

  • NOR Flash:对数据可靠性要求较高的代码存储u、通常产品、网络处理等领域,也被称为代码闪存(Code Flash)。
  • NAND Flash:对存储容量要求较高的MP3、存储卡、U盘等领域,也被称为数据闪存(Data Flash)。

5.6.3 例题

  1. 在嵌入式系统设计中,一般包含多种类型的存储资源,比如ROM、EEPROM、NAND Flash、Nor Flash、DDR、SD卡等。下面关于这些资源的描述中,正确是()。

A. EEPROM是电不可擦除的ROM
B. Nand Flash上面的代码不能直接运行
C. NOR Flash上面的代码不能直接运行,需要通过加载的过程
D. ROM是用来存储数据的,其上面的数据可以随意更新,任意读取

5.7 RAM的种类与选型

  • 常见RAM的种类
  • 常见RAM的特点

5.7.1 RAM的种类

  RAM可以被读和写,地址可以以任意次序被读。常见RAM的种类有。

  • SRAM(Static RAM,静态随机存储器)
  • DRAM(Dynamic RAM,动态随机存储器)
  • DDRAM(Double Data Rate SDRAM,双倍速率随机存储器)

  SRAM比DRAM运行速度快,但制造成本高,DRAM需要周期性刷新。
  DDRAM是SDRAM的下一代产品,与SDRAM本质相同。

  • SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器。

5.7.2 RAM的特点

  SRAM。

  • SRAM表示静态随机存取存储器。
  • 只要供电它就会保持一个值,没有刷新周期
  • 由触发器构成基本单元,集成度低
  • 每个SRAM存储单元由6个晶体管组成,成本较高
  • 速率较高,常用于高速缓冲存储器

SRAM.png

  通常SRAM有4种引脚。

  • CE:片选信号,低电平有效。
  • R/W:读写控制信号。
  • ADDRESS:一组地址线。
  • DATA:用于数据传输的一组双向信号线。

  DRAM。

  • DRAM表示动态随机存取存储器。
  • 是一种以电荷形式进行存储的半导体存储器。
  • 存储单元由1个晶体管和1个电容器组成,数据存储在电容器中。
  • 必须定时刷新,因此DRAM在使用时必须配合DRAM控制器。
  • 为了提高系统的数据吞吐能力,可以采用多种技术提高DRAM系统的性能,包括:页模式、EDO、同步DRAM。

DRAM.png

  DRAM的接口比较复杂,通常有以下引脚

  • CE:片选信号,低电平有效。
  • R/W:读写控制信号。
  • RAS:行地址选通信号,通常接地址的高位部分。
  • CAS:列地址选通信号,通常接地址的低位部分。
  • ADDRESS:一组地址线。
  • DATA:用于数据传输的一组双向信号线。

DRAM_.png

  SDRAM。

  • SDRAM表示同步动态随机存取存储器。
  • 同步是指内存工作需要同步时钟,内部的命令发送与数据的传输都以它为基准。
  • 动态是指存储器阵列需要不断的刷新来保证数据不丢失。
  • 通常只能工作在133MHz的主频。
  • SDRAM可读/可写,不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器。

  DDRAM。

  • DDRAM表示双倍速率同步动态随机存取存储器,也称DDR。
  • 基于SDRAM技术。
  • 双倍预取技术,即在内存芯片内部的数据宽度是外部接口数据宽度的2倍,使峰值的读写速度达到输入时钟速率的2倍。
  • 允许在时钟脉冲的上升沿和下降沿均传输数据。
  • 在133MHz的主频下,DDR内存宽度可以达到 $133 \times 64b \div 8 \times 2 = 2.1GB/s$ 。
  • 差分输入方式。

5.7.3 例题

  1. 嵌入式存储器系统设计中,一般使用3种存储器接口电路:NOR Flash接口、NAND Flash接口和SDRAM接口电路,以下叙述中错误的是(C)。

A. 系统引导程序可以放在NOR Flash中,也可以放在NAND Flash
B. 存储在NOR Flash中的程序可以直接运行
C. 存储在NAND Flash中的程序可以直接运行
D. SDRAM不具有掉电保持数据的特性,其访问速度要大于Flash存储器。

5.8 外部存储器的种类与型号

  • 常见外存的种类
  • 硬盘
  • 光盘
  • 标准存储卡(CF卡)
  • 安全数据卡(SD卡)

5.8.1 外存的种类

  外部存储器:也称辅助存储器,简称外存或辅存。

  • 容量比主存大、读取速度较慢
  • 通常用来存放需要永久保存的或相对来说暂时不用的程序和数据

ExternalStorage.png

  硬盘存储器具有存储容量大,使用寿命长,存取速度较快的特点,也是在嵌入式系统中常用的外存。
  硬盘存储器的硬件包括。

  • 硬盘控制器(适配器)
  • 硬盘驱动器
  • 连接电缆

  硬盘控制器(Hard Disk Controller,简称HDC)对硬盘进行管理,并在主机和硬盘之间传送数据。硬盘控制器以适配卡的形式插在主板上或直接集成在主板上,然后通过电缆与硬盘驱动器相连。
  硬盘驱动器(Hard Disk Drive,简称HDD)中有盘片、磁头、主轴电机(盘片旋转驱动机构)、磁头定位机构、读/写电路和控制逻辑等。

5.8.2 硬盘

  硬盘存储器可分为:温切斯特盘和非温切斯特盘两类。

  • 温切斯特盘是根据温切斯特技术设计制造的,它的磁头、盘片、磁头定位机构、主轴、甚至连续/写驱动电路等都被密封在一个盘盒内,构成一个头-盘组合体。
  • 温切斯特盘的防尘性能好,可靠性高,对使用环境要求不高。
  • 非温切斯特盘的磁头和盘片等不是密封的,通常只能用于中型、大型计算机机房中。

  最常见的硬盘接口是IDE(ATA)和SCSI两种,一些移动硬盘采用PCMCIA或USB接口。
  SCSI(Small Computer System Interface,小型计算机系统接口)不是专为硬盘设计的,是一种总线型接口。

  • SCSI独立于系统总线工作,其系统占用率极低,但其价格昂贵
  • 具有这种接口的硬盘大多用于服务器等高端应用场合。

5.8.3 光盘

  • 光盘:用光学方式读/写信息的圆盘。
  • 光盘存储器:以光盘为存储介质的存储器。

  光盘的类型。

  • CD-ROM:Compact Disc Read Only Memory
  • CD-R:采用WORM(Write One Read Many)标准
  • CD-RW:可重复读/写
  • DVD-ROM:通用数字化多功能光盘,简称高容量CD

5.8.4 标准存储卡(CF卡)

  CF存储卡是由美国SanDisk公司于1994年研制成功的。
  CF卡的大小为 $43mm \times 36mm \times 3.3mm$ ,CF卡同时还支持3.3v和5v的电压,可以在这两种电压下工作。
  CF卡(Compact Flash)接口具有PCMCIA-ATA功能,可以工作在IDE接口模式,也可以工作在PC Card模式。
  CF卡主要在PDA、笔记本电脑、数码相机和包括台式机在内的各种设备。

5.8.5 安全数据卡(SD卡)

  SD卡是由日本松下公司、东芝公司和美国SanDisk公司于1999年8月共同研制开发而成的。
  SD卡是根据MMC卡开发的,但是基本上两者还是不同的产品,只是在设计时考虑到兼容问题,所以在大多数情况下这两种产品能互换,它笔MMC卡多了一个进行数据著作权保护功能。
  多用于MP3、数码相机、电子图书、微型电脑和AV器材等。尺寸大小比MMC卡略微厚一些, $32mm \times 24mm \times 2.1mm$ 。