所有使用者对「內存」这个名词可是一点都不陌生,因为所有的电子产品都必须用到內存,且通常用到不只一种內存,说它是一种「战略物资」也不为过!不过对于內存种类、规格与形式,很多人容易搞混,例如:身为「执行」程序(数据)的DRAM,以及「储存」程序与数据的FlashROM就是一例,这篇专辑将由浅入深为大家介绍各种新型內存的结构与运作模式。
內存的分类
电的內存是指电写电读的內存,主要分为两大类,如图一所示:
挥发性內存(VolatileMemory,VM):电源开启时数据存在,电源关闭则数据立刻流失(数据挥发掉),例如:SRAM、DRAM、SDRAM、DDR-SDRAM等。
非挥发性內存(Non-VolatileMemory,NVM):电源开启时数据存在,电源关闭数据仍然可以保留,例如:ROM、PROM、EPROM、EEPROM、FlashROM、FRAM、MRAM、RRAM、PCRAM等。
▲图一:內存的分类。
內存的单元
內存的「单元」(Cell)是指用来存取数据的最小结构,如果含有一个晶体管(Transistor)与一个电容(Capacitor)则称为「1T1C」;如果含有一个晶体管(Transistor)与一个电阻(Resistor)则称为「1T1R」;如果含有一个二极管(Diode)与一个电阻(Resistor)则称为「1D1R」。
內存的每个「单元」不一定只能储存1个位元的数据,由于我们对內存容量的要求愈来愈高,每个「单元」能储存的数据愈来愈多,依照每个「单元」能储存的数据位数又分为:单层单元(Single-LevelCell,SLC)、多层单元(Multi-LevelCell,MLC)、三层单元(Triple-LevelCell,TLC)、四层单元(Quad-LevelCell,QLC)等。
內存阶层(Memoryhierarchy)
要了解电子产品的各种內存配置,就必须先介绍「內存阶层」(Memoryhierarchy)观念。內存阶层是指如何将储存容量不同、运算速度不同、单位价格不同的多种內存妥善分配,才能达到最大的经济效益,使产品的运算速度合理、储存容量合理、产品价格合理。
图二为內存阶层示意图,由上而下依序为寄存器、缓存內存、主內存、辅助內存:
寄存器(Register):在处理器内,用来设定处理器的功能,主要是「暂时储存」设定值的地方。
缓存內存(Cachememory):在处理器内,执行程序时「暂时储存」程序与数据的地方,通常以SRAM制作。
主內存(Mainmemory):在处理器外,「暂时储存」程序与数据的地方,通常以DRAM制作,目前已经改良成SDRAM或DDR。
辅助內存(Assistantmemory):在处理器外,「永久储存」程序与数据的地方,包括:闪存、磁碟机、光盘机、磁带机等。
不同种类的內存分别有不同的储存容量、工作速度、单位价格:
储存容量:辅助內存(GB)>主內存(MB)>缓存內存(KB)>寄存器(B)。
工作速度:辅助內存(1ms)<主內存(10ns)<缓存內存(1ns)<寄存器(1ns)。
单位价格:辅助內存<主內存<缓存內存<寄存器。
▲图二:內存阶层示意图。
內存的应用
所有的电子产品都必须用到內存,而且通常用到不只一种內存,由于內存的种类繁多,常常让使用者混淆,我们简单说明不同內存之间的差异,图三为手机主要芯片的系统方框图(Systemblockdiagram),包括:应用处理器(Applicationprocessor)、基频处理器(Basebandprocessor)、运动控制器(MotionController)。
应用处理器主要是执行操作系统(OperatingSystem,OS)与应用程序(Applicationprogram,App),寄存器与缓存內存目前都是内置在处理器内,其中寄存器用来设定处理器的功能,用来设定寄存器数值的程序,也就是用来趋动硬件的软件程序又称为「固件」(Firmware);缓存內存是在执行程序时用来「暂时储存」程序与数据的地方,由于在处理器内离运算单元比较近,可以缩短程序与资料来回的时间,加快程序的执行速度因此称为「缓存」(Cache)。
由于缓存內存成本较高因此容量不大,如果执行程序时放不下,则可以退一步放在主记忆体内,可是目前主內存所使用的SDRAM或DDR,属于挥发性內存,电源关闭则数据立刻流失,因此关机后数据必须储存在非挥发性的辅助记忆体内,早期辅助內存使用磁碟机、光盘机、磁带机等,由于半导体制程的进步,目前大多使用闪存(FlashROM),或所谓的固态硬盘(SolidStateDisk,SSD),固态硬盘其实也是使闪存制作。
由于缓存內存(SRAM)与主內存(SDRAM、DDR)是执行程序用来「暂时储存」程序与数据的地方,与处理器内的运算单位直接使用总线(Bus)连接,一般都是用「位」(bit)来计算容量;而辅助內存是「永久储存」程序与数据的地方,由于一个字节(Byte)可以储存一个半型字,因此一般都是用「字节」(Byte)来计算容量。
▲图三:手机主要芯片的系统方框图(Systemblockdiagram)。
静态随机存取內存(SRAM:StaticRAM)
以6个晶体管(MOS)来储存1个位元(1bit)的数据,而且使用时「不需要」周期性地补充电源来保持记忆的内容,故称为「静态」(Static)。
SRAM的构造较复杂(6个晶体管储存1个位元的数据),不使用电容所以存取速度较快,但是成本也较高,因此一般都制作成对容量要求较低但是对速度要求较高的內存,例如:中央处理器(CPU)内置256KB、512KB、1MB的「缓存內存」(Cachememory),一般都是使用SRAM。
动态随机存取內存(DRAM:DynamicRAM)
以一个晶体管(MOS)加上一个电容(Capacitor)来储存一个位(1bit)的数据,而且使用时「需要」周期性地补充电源来保持记忆的内容,故称为「动态」(Dynamic)。
DRAM构造较简单(一个晶体管加上一个电容),由于电容充电放电需要较长的时间造成存取速度较慢,但是成本也较低,因此一般制作成对容量要求较高但是对速度要求较低的內存,例如:个人电脑主板通常使用1GB以上的DDR-SDRAM就是属于一种DRAM。由于处理器的速度愈来愈快,传统DRAM的速度已经无法满足要求,因此目前都改良成SDRAM或DDR-SDRAM等两种型式来使用。
同步动态随机存取內存(SDRAM:SynchronousDRAM)
中央处理器(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值很大)的「铁电材料」(Ferroelectricmaterial)来取代氧化硅,则可以储存电子与电洞不会流失,让原本「挥发性」的动态随机存取內存(DRAM)变成「非挥发性」的內存称为「铁电随机存取內存」(FerroelectricRAM,FRAM)。
精彩评论