所有使用者对“存储器”这个名词可是一点都不陌生,因为所有的电子产品都必须用到存储器,且通常用到不只一种存储器,说它是一种“战略物资”也不为过!不过对于存储器种类、规格与形式,很多人容易搞混,例如:身为“执行”程序(资料)的 DRAM ,以及“储存”程序与资料的 Flash ROM 就是一例,这篇专辑将由浅入深为大家介绍各种新型存储器的结构与运作模式。
存储器的分类
电的存储器是指电写电读的存储器,主要分为两大类,如图一所示:
挥发性存储器(Volatile Memory,VM):电源开启时资料存在,电源关闭则资料立刻流失(资料挥发掉),例如:SRAM、DRAM、SDRAM、DDR-SDRAM 等。
非挥发性存储器(Non-Volatile Memory,NVM):电源开启时资料存在,电源关闭资料仍然可以保留,例如:ROM、PROM、EPROM、EEPROM、Flash ROM、FRAM、MRAM、RRAM、PCRAM 等。
▲ 图一:存储器的分类。
存储器的单元
存储器的“单元”(Cell)是指用来存取资料的最小结构,如果含有一个晶体管(Transistor)与一个电容(Capacitor)则称为“1T1C”;如果含有一个晶体管(Transistor)与一个电阻(Resistor)则称为“1T1R”;如果含有一个二极体(Diode)与一个电阻(Resistor)则称为“1D1R”。
存储器的每个“单元”不一定只能储存 1 个位的资料,由于我们对存储器容量的要求越来越高,每个“单元”能储存的资料越来越多,依照每个“单元”能储存的资料位数又分为:单层单元(Single-Level Cell,SLC)、多层单元(Multi-Level Cell,MLC)、三层单元(Triple-Level Cell,TLC)、四层单元(Quad-Level Cell,QLC)等。
存储器阶层(Memory hierarchy)
要了解电子产品的各种存储器配置,就必须先介绍“存储器阶层”(Memory hierarchy)观念。存储器阶层是指如何将储存容量不同、运算速度不同、单位价格不同的多种存储器妥善分配,才能达到最大的经济效益,使产品的运算速度合理、储存容量合理、产品价格合理。
图二为存储器阶层示意图,由上而下依序为暂存器、快取存储器、主存储器、辅助存储器:
暂存器(Register):在处理器内,用来设定处理器的功能,主要是“暂时储存”设定值的地方。
快取存储器(Cache memory):在处理器内,执行程序时“暂时储存”程序与资料的地方,通常以 SRAM 制作。
主存储器(Main memory):在处理器外,“暂时储存”程序与资料的地方,通常以 DRAM 制作,目前已经改良成 SDRAM 或 DDR。
辅助存储器(Assistant memory):在处理器外,“永久储存”程序与资料的地方,包括:快闪存储器、磁盘机、光盘机、磁带机等。
不同种类的存储器分别有不同的储存容量、工作速度、单位价格:
储存容量:辅助存储器(GB)> 主存储器(MB)> 快取存储器(KB)> 暂存器(B)。
工作速度:辅助存储器(1ms)< 主存储器(10ns)< 快取存储器(1ns)< 暂存器(1ns)。
单位价格:辅助存储器 < 主存储器 < 快取存储器 < 暂存器。
▲ 图二:存储器阶层示意图。
存储器的应用
所有的电子产品都必须用到存储器,而且通常用到不只一种存储器,由于存储器的种类繁多,常常让使用者混淆,我们简单说明不同存储器之间的差异,图三为手机主要芯片的系统方块图(System block diagram),包括:应用处理器(Application processor)、基带处理器(Baseband processor)、运动控制器(Motion Controller)。
应用处理器主要是执行操作系统(Operating System,OS)与应用程序(Application program,App),暂存器与快取存储器目前都是内建在处理器内,其中暂存器用来设定处理器的功能,用来设定暂存器数值的程序,也就是用来趋动硬件的软件程序又称为“固件”(Firmware);快取存储器是在执行程序时用来“暂时储存”程序与资料的地方,由于在处理器内离运算单元比较近,可以缩短程序与资料来回的时间,加快程序的执行速度因此称为“快取”(Cache)。
由于快取存储器成本较高因此容量不大,如果执行程序时放不下,则可以退一步放在主存储器内,可是目前主存储器所使用的 SDRAM 或 DDR,属于挥发性存储器,电源关闭则资料立刻流失,因此关机后资料必须储存在非挥发性的辅助存储器内,早期辅助存储器使用磁盘机、光盘机、磁带机等,由于半导体制程的进步,目前大多使用快闪存储器(Flash ROM),或所谓的固态硬盘(Solid State Disk,SSD),固态硬盘其实也是使快闪存储器制作。
由于快取存储器(SRAM)与主存储器(SDRAM、DDR)是执行程序用来“暂时储存”程序与资料的地方,与处理器内的运算单位直接使用汇流排(Bus)连接,一般都是用“位”(bit)来计算容量;而辅助存储器是“永久储存”程序与资料的地方,由于一个位组(Byte)可以储存一个半型字,因此一般都是用“位组”(Byte)来计算容量。
▲ 图三:手机主要芯片的系统方块图(System block diagram)。
静态随机存取存储器(SRAM:Static RAM)
以 6 个电晶体(MOS)来储存 1 个位(1bit)的资料,而且使用时“不需要”周期性地补充电源来保持记忆的内容,故称为“静态”(Static)。
SRAM 的构造较复杂(6 个电晶体储存 1 个位的资料),不使用电容所以存取速度较快,但是成本也较高,因此一般都制作成对容量要求较低但是对速度要求较高的存储器,例如:中央处理器(CPU)内建 256KB、512KB、1MB 的“快取存储器”(Cache memory),一般都是使用 SRAM。
动态随机存取存储器(DRAM:Dynamic RAM)
以一个电晶体(MOS)加上一个电容(Capacitor)来储存一个位(1bit)的资料,而且使用时“需要”周期性地补充电源来保持记忆的内容,故称为“动态”(Dynamic)。
DRAM 构造较简单(一个电晶体加上一个电容),由于电容充电放电需要较长的时间造成存取速度较慢,但是成本也较低,因此一般制作成对容量要求较高但是对速度要求较低的存储器,例如:个人电脑主机板通常使用 1GB 以上的 DDR-SDRAM 就是属于一种 DRAM。由于处理器的速度越来越快,传统 DRAM 的速度已经无法满足要求,因此目前都改良成 SDRAM 或 DDR-SDRAM 等两种型式来使用。
同步动态随机存取存储器(SDRAM:Synchronous DRAM)
中央处理器(CPU)与主机板上的主存储器(SDRAM)存取资料时的“工作时脉”(Clock)相同,故称为“同步”(Synchronous)。由于 CPU 在存取资料时不需要“等待”(Wait)因此效率较高,SDRAM 的存取速度较 DRAM 快,所以早期电脑主机板上都是使用 SDRAM 来取代传统 DRAM,不过目前也只有少数工业电脑仍然使用 SDRAM。
DRAM 使用一个电晶体(MOS)与一个电容来储存一个位的资料(一个 0 或一个 1),如图四(a)所示,当电晶体(MOS)不导通时没有电子流过,电容没有电荷,代表这一个位的资料是 0,如图四(b)所示;当电晶体(MOS)导通时(在闸极施加正电压),电子会由源极流向汲极,电容有电荷,代表这一个位的资料是 1,为了要将这些流过来的电荷“储存起来”,因此必须使用一个微小的电容,如图四(c)所示,DRAM 就是因为电容需要时间充电,所以速度比 SRAM 还慢。
▲ 图四:动态随机存取存储器(DRAM)的结构与工作原理示意图。
动态随机存取存储器的缺点
动态随机存取存储器(DRAM)是以一个电晶体加上一个电容来储存一个位(1bit)的资料,由于传统 DRAM 的电容都是使用“氧化矽”做为绝缘体,氧化矽的介电常数不够大(K 值不够大),因此不容易吸引(储存)电子与电洞,造成必须不停地补充电子与电洞,所以称为“动态”,只要电脑的电源关闭,电容所储存的电子与电洞就会流失,DRAM 所储存的资料也就会流失。
要解决这个问题,最简单的就是使用介电常数够大(K 值够大)的材料来取代“氧化矽”为绝缘体,让电子与电洞可以储存在电容里不会流失。目前业界使用“钛锆酸铅”(PZT)或“钽铋酸锶”(SBT)这种介电常数很大(K 值很大)的“铁电材料”(Ferroelectric material)来取代氧化矽,则可以储存电子与电洞不会流失,让原本“挥发性”的动态随机存取存储器(DRAM)变成“非挥发性”的存储器称为“铁电随机存取存储器”(Ferroelectric RAM,FRAM)。
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。