终于有人说清楚了什么是DRAM什么是NAND Flash
所有使用者对“存储器”这个名词可是一点都不陌生,因为所有的电子产品都必须用到存储器,且通常用到不只一种存储器。不过对于存储器种类、规格与形式,很多人容易搞混。比如,最近价格贵到炸的NANDFlash,产业新闻里常常提到的DRAM,还有SRAM、SDRAM、DDR3、DDR4、NORFlash…这些又是什么?
先来一段百度百科。
存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存,港台称之为记忆体)。外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等。
而简单来说,DRAM就是我们一般在用的内存,而NANDFlash闪存,它在做的事情其实是硬盘。
(这段是给电脑小白的科普,大家可以酌情跳过)
不熟悉PC知识的朋友常常在选购设备时问,硬盘和内存到底有什么差别?我硬盘容量明明有1TB,但PC还是跑得很慢哎?
硬盘和内存的差异,在于把电源关掉后、空间中储存的数据还会不会留着。就算关掉电源,硬盘的数据也不会消失。
但我们要运算数据时,如果CPU要直接从硬盘里面抓数据,时间会太久。所以”内存”会作为中间桥梁,先到硬盘里面复制一份进来、再让CPU直接到内存中拿数据做运算。这样会比直接去硬盘抓数据,快约数百万倍。
打开任务管理器,就可以看到现在执行中程序占掉的内存空间,很多人就在骂Chrome耗费的运算资源很高,内存使用率高于其他浏览器,多开几个分页内存就被吃完了。
所以简单来说,计算机在运作就像是办公一样,喝饮料、看书本、听音响…想一次使用越多东西、桌面(内存)就要越大。但其他一时间没有要用到的东西,都会放在抽屉(硬盘)里面。所以硬盘就算再大,你一次想执行很多任务,还是得要看内存大小。
内存的处理速度比硬盘更快,但断电之后数据会消失,且价格也比硬盘贵。
当然存储器的层次结构里面还有更多细节。参见后文。
简单来说,CPU里面也有一个储存空间,叫做Register。要运算时、CPU会从内存中把数据载入Register、再让Register中存的数字做运算,运算完再将结果存回内存中。毕竟CPU和内存终究还是两片不同的芯片,没有在同一片芯片里直接抓数据快。
还有一个概念是Cache,这是CPU和内存之间的中间桥梁。
速度来讲,就是:CPU里面的Register>Cache>内存>硬盘。越上层(越靠近CPU),速度就越快、价格越高、容量越低。
存储器的分类
电的存储器是指电写电读的存储器,主要分为两大类,如图一所示:
易失性存储器(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。
可以记住一个简单的结论:SRAM比较快、DRAM比较慢;SRAM比较贵、DRAM比较便宜。
这是我们平常在计算机中使用的内存,更精确的说法应该叫”内存模块”(MemoryModule)。一个内存模块实际上就是由一块小电路板、再加上几块的DRAM芯片构成。图标中的内存模块上一共有8个DRAM芯片。让我们把一个DRAM芯片的内部结构剖开看看,会看到一个储存数组(MemorryArray)。
CPU会给这个储存数组”行地址”和”列地址”,就可以选出一个”储存单元”。常见的储存单元包含了4bit或8bit,每一个bit都会采用一个电路结构,我们称为DRAM的一个”基本储存单元”。
这个基本储存单元中包含了一个晶体管匹配一个电容。然后就可以视电容器是否有充电电荷存在、来判别目前的记忆状态。
“写入内存”的动作,就是由外部的数据线、对电容进行充电或放电,从而完成写入1或0的数字数据。
DRAM使用一个晶体管(MOS)与一个电容来储存一个位的资料(一个0或一个1),如图四(a)所示,当晶体管(MOS)不导通时没有电子流过,电容没有电荷,代表这一个位的资料是0,如图四(b)所示;当晶体管(MOS)导通时(在闸极施加正电压),电子会由源极流向汲极,电容有电荷,代表这一个位的资料是1,为了要将这些流过来的电荷“储存起来”,因此必须使用一个微小的电容,如图四(c)所示,DRAM就是因为电容需要时间充电,所以速度比SRAM还慢。
▲图四:动态随机存取存储器(DRAM)的结构与工作原理示意图。
由于电容会有漏电的现象,导致电位差不足而使记忆消失,因此除非电容经常周期性地充电,否则无法确保数据能长久保存起来。
由于每个DRAM基本储存单元的电路结构非常的简单,所以功耗低、价格也较低。这样一来用低成本就能制造出大储存容量的DRAM芯片。缺点就是读写的速度慢(电容要充电放电),影响了DRAM的性能。
SRAM的结构则较为复杂,一共有六个晶体管构成。我们能分别用M1、M2、M3到M6进行标记。这六个晶体管合起来才能保存一个bit。
SRAM芯片和DRAM芯片不太一样,不需要分成行地址和列地址分别选择,而且SRAM的设计相对来说又更加灵活,一个地址对应的储存单元数量可以是8bit、10bit,或32bit、40bit、64bit都行。
另外,晶体管的开关速度远比电容充电放电的速度还快,所以相对于DRAM、SRAM的读写速度比DRAM快很多。
然而SRAM中要储存一个bit就得用到六个晶体管。晶体管的数量一多、就会造成芯片的面积变大,从而带来集成电路难以变得更小、还有价格更贵的问题。
(SRAM的价格比起DRMA要高达1000倍以上。比如2010年世代––—SRAM的每单位储存价格是$60/MB,DRAM则是$0.06/MB。)
同时每个晶体管都要耗电,晶体管越多、功耗就越高。考虑到价格高和功耗大,目前只能在一些很严苛的地方来使用SRAM,比如上面提到的快取(Cache)。
故目前”主存储器”还是使用DRAM技术,但小块用来拉速度的”快取”就是采用SRAM。然而无论是DRAM还是SRAM,一不供应电源就会丧失储存的数据,所以都叫做挥发性内存。
铁电随机存取存储器FRAM
动态随机存取存储器(DRAM)是以一个晶体管加上一个电容来储存一个位(1bit)的资料,由于传统DRAM的电容都是使用“氧化矽”做为绝缘体,氧化矽的介电常数不够大(K值不够大),因此不容易吸引(储存)电子与电洞,造成必须不停地补充电子与电洞,所以称为“动态”,只要电脑的电源关闭,电容所储存的电子与电洞就会流失,DRAM所储存的资料也就会流失。
要解决这个问题,最简单的就是使用介电常数够大(K值够大)的材料来取代“氧化矽”为绝缘体,让电子与电洞可以储存在电容里不会流失。目前业界使用“钛锆酸铅”(PZT)或“钽铋酸锶”(SBT)这种介电常数很大(K值很大)的“铁电材料”(Ferroelectricmaterial)来取代氧化矽,则可以储存电子与电洞不会流失,让原本“易失性”的动态随机存取存储器(DRAM)变成“非易失性”的存储器称为“铁电随机存取存储器”(FerroelectricRAM,FRAM)。
NANDFlash又是什么呢?
继续讲讲非易失性的部分:
Flash(闪存)由于具备了重量轻、体积小、功率低等优点,被应用在各类电子产品的硬盘上。Flash又可以分成NOR型Flash和NAND型Flash。
NORFlash比NANDFlash更早导入市场。读取的速度较快,但写入的速度慢、价格也比NANDFlash贵。
目前用来储存操作系统的程序代码或重要数据,比如拿来做ROM。像是生产NORFlash的台厂旺宏就是因为打入任天堂Switch主机的ROM供应链,今年营收上看攀升。
NANDFlash写入的速度快、价格较低,故目前以NANDFlash最为普遍。现在的USB硬盘和手机储存空间,就是用NANDFlash为主流技术。
另外,固态硬盘(SolidStateDrive,SSD)也是以NAND型Flash为基础所建构的储存装置。SSD不像传统硬盘(HDD)中有马达、读写臂等零件。速度慢、功耗高,对震动又相当敏感,很难用在小型行动装置中。
SSD在读写数据时不会有噪音,耐震、传输速度快、重量又能缩减到HDD十分之一以上,现在已经成为个人计算机和笔记本电脑的主流储存设备。
总结:
依照停止供应电源的话、是否还能保留数据,分成”易失性”与”非易失性”存储。
易失性存储分成DRAM和SRAM。
SRAM更快但价格更贵,所以主存储器多用DRAM、快取多用SRAM。
非易失性存储分成ROM和Flash。主要用来作为硬盘。
Flash又分成NORFlash与NANDFlash,现在硬盘多以NANDFlash构成的SSD为主。
▲Q:看看一天到晚听到的DRAM、SRAM、Flash等内存厂商又分别代表哪层?
来源:Technews,寫點科普,請給指教。