所有使用者對(duì)“存儲(chǔ)器”這個(gè)名詞可是一點(diǎn)都不陌生,,因?yàn)樗械碾娮赢a(chǎn)品都必須用到存儲(chǔ)器,且通常用到不只一種存儲(chǔ)器,。不過對(duì)于存儲(chǔ)器種類,、規(guī)格與形式,很多人容易搞混,。比如,最近價(jià)格貴到炸的 NAND Flash,,產(chǎn)業(yè)新聞里常常提到的DRAM,,還有SRAM、SDRAM、DDR 3,、DDR 4,、NOR Flash … 這些又是什么? 先來一段百度百科,。 存儲(chǔ)器是用來存儲(chǔ)程序和數(shù)據(jù)的部件,,對(duì)于計(jì)算機(jī)來說,有了存儲(chǔ)器,,才有記憶功能,,才能保證正常工作。存儲(chǔ)器的種類很多,,按其用途可分為主存儲(chǔ)器和輔助存儲(chǔ)器,,主存儲(chǔ)器又稱內(nèi)存儲(chǔ)器(簡稱內(nèi)存,港臺(tái)稱之為記憶體),。外儲(chǔ)存器是指除計(jì)算機(jī)內(nèi)存及CPU緩存以外的儲(chǔ)存器,,此類儲(chǔ)存器一般斷電后仍然能保存數(shù)據(jù)。常見的外存儲(chǔ)器有硬盤,、軟盤,、光盤、U盤等,。 而簡單來說,,DRAM就是我們一般在用的內(nèi)存,而NAND Flash 閃存,,它在做的事情其實(shí)是硬盤,。
存儲(chǔ)器的分類 電的存儲(chǔ)器是指電寫電讀的存儲(chǔ)器,,主要分為兩大類,,如圖一所示: 易失性存儲(chǔ)器(Volatile Memory,VM):電源開啟時(shí)資料存在,,電源關(guān)閉則資料立刻流失(資料揮發(fā)掉),,例如:SRAM、DRAM,、SDRAM,、DDR-SDRAM 等。 非易失性存儲(chǔ)器(Non-Volatile Memory,,NVM):電源開啟時(shí)資料存在,,電源關(guān)閉資料仍然可以保留,例如:ROM,、PROM,、EPROM、EEPROM,、Flash ROM,、FRAM、MRAM,、RRAM,、PCRAM 等。
存儲(chǔ)器的單元 存儲(chǔ)器的“單元”(Cell)是指用來存取資料的最小結(jié)構(gòu),,如果含有一個(gè)晶體管(Transistor)與一個(gè)電容(Capacitor)則稱為“1T1C”;如果含有一個(gè)晶體管(Transistor)與一個(gè)電阻(Resistor)則稱為“1T1R”,;如果含有一個(gè)二極體(Diode)與一個(gè)電阻(Resistor)則稱為“1D1R”,。 存儲(chǔ)器的每個(gè)“單元”不一定只能儲(chǔ)存 1 個(gè)位的資料,由于我們對(duì)存儲(chǔ)器容量的要求越來越高,,每個(gè)“單元”能儲(chǔ)存的資料越來越多,,依照每個(gè)“單元”能儲(chǔ)存的資料位數(shù)又分為:單層單元(Single-Level Cell,SLC),、多層單元(Multi-Level Cell,,MLC)、三層單元(Triple-Level Cell,,TLC),、四層單元(Quad-Level Cell,QLC)等,。 存儲(chǔ)器層次結(jié)構(gòu)(Memory hierarchy) 要了解電子產(chǎn)品的各種存儲(chǔ)器配置,,就必須先介紹“存儲(chǔ)器層次結(jié)構(gòu)”(Memory hierarchy)觀念,。存儲(chǔ)器層次結(jié)構(gòu)是指如何將儲(chǔ)存容量不同、運(yùn)算速度不同,、單位價(jià)格不同的多種存儲(chǔ)器妥善分配,,才能達(dá)到最大的經(jīng)濟(jì)效益,使產(chǎn)品的運(yùn)算速度合理,、儲(chǔ)存容量合理,、產(chǎn)品價(jià)格合理。 圖二為存儲(chǔ)器階層示意圖,,由上而下依序?yàn)闀捍嫫?、快取存?chǔ)器、主存儲(chǔ)器,、輔助存儲(chǔ)器: 暫存器(Register,,也譯為寄存器):在處理器內(nèi),用來設(shè)定處理器的功能,,主要是“暫時(shí)儲(chǔ)存”設(shè)定值的地方,。 快取存儲(chǔ)器(Cache memory,翻譯版本有緩存,,快取緩存區(qū),,快取存儲(chǔ)器;臺(tái)灣翻譯為快取,。):在處理器內(nèi),,執(zhí)行程序時(shí)“暫時(shí)儲(chǔ)存”程序與資料的地方,通常以 SRAM 制作,。 主存儲(chǔ)器(Main memory):在處理器外,,“暫時(shí)儲(chǔ)存”程序與資料的地方,通常以 DRAM 制作,,目前已經(jīng)改良成 SDRAM 或 DDR,。 輔助存儲(chǔ)器(Assistant memory):在處理器外,“永久儲(chǔ)存”程序與資料的地方,,包括:快閃存儲(chǔ)器,、磁盤機(jī)、光盤機(jī),、磁帶機(jī)等,。 不同種類的存儲(chǔ)器分別有不同的儲(chǔ)存容量、工作速度,、單位價(jià)格: 儲(chǔ)存容量:輔助存儲(chǔ)器(GB)> 主存儲(chǔ)器(MB)> 快取存儲(chǔ)器(KB)> 暫存器(B),。 工作速度:輔助存儲(chǔ)器(1ms)< 主存儲(chǔ)器(10ns)< 快取存儲(chǔ)器(1ns)< 暫存器(1ns)。 單位價(jià)格:輔助存儲(chǔ)器 < 主存儲(chǔ)器 < 快取存儲(chǔ)器 < 暫存器。
存儲(chǔ)器的應(yīng)用 所有的電子產(chǎn)品都必須用到存儲(chǔ)器,,而且通常用到不只一種存儲(chǔ)器,由于存儲(chǔ)器的種類繁多,,常常讓使用者混淆,,我們簡單說明不同存儲(chǔ)器之間的差異,圖三為手機(jī)主要芯片的系統(tǒng)方塊圖(System block diagram),,包括:應(yīng)用處理器(Application processor),、基帶處理器(Baseband processor)、運(yùn)動(dòng)控制器(Motion Controller),。 應(yīng)用處理器主要是執(zhí)行操作系統(tǒng)(Operating System,OS)與應(yīng)用程序(Application program,,App),,暫存器與快取存儲(chǔ)器目前都是內(nèi)建在處理器內(nèi),其中暫存器用來設(shè)定處理器的功能,,用來設(shè)定暫存器數(shù)值的程序,,也就是用來趨動(dòng)硬件的軟件程序又稱為“固件”(Firmware);快取存儲(chǔ)器是在執(zhí)行程序時(shí)用來“暫時(shí)儲(chǔ)存”程序與資料的地方,,由于在處理器內(nèi)離運(yùn)算單元比較近,,可以縮短程序與資料來回的時(shí)間,加快程序的執(zhí)行速度因此稱為“Cache”,。 由于快取存儲(chǔ)器成本較高因此容量不大,,如果執(zhí)行程序時(shí)放不下,則可以退一步放在主存儲(chǔ)器內(nèi),,可是目前主存儲(chǔ)器所使用的 SDRAM 或 DDR,,屬于易失性存儲(chǔ)器,電源關(guān)閉則資料立刻流失,,因此關(guān)機(jī)后資料必須儲(chǔ)存在非易失性的輔助存儲(chǔ)器內(nèi),,早期輔助存儲(chǔ)器使用磁盤機(jī)、光盤機(jī),、磁帶機(jī)等,,由于半導(dǎo)體制程的進(jìn)步,目前大多使用快閃存儲(chǔ)器(Flash ROM),,或所謂的固態(tài)硬盤(Solid State Disk,,SSD),固態(tài)硬盤其實(shí)也是使快閃存儲(chǔ)器制作,。 由于快取存儲(chǔ)器(SRAM)與主存儲(chǔ)器(SDRAM,、DDR)是執(zhí)行程序用來“暫時(shí)儲(chǔ)存”程序與資料的地方,與處理器內(nèi)的運(yùn)算單位直接使用匯流排(Bus)連接,,一般都是用“位”(bit)來計(jì)算容量,;而輔助存儲(chǔ)器是“永久儲(chǔ)存”程序與資料的地方,,由于一個(gè)位組(Byte)可以儲(chǔ)存一個(gè)半型字,因此一般都是用“位組”(Byte)來計(jì)算容量,。
靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM:Static RAM) 以 6 個(gè)晶體管(MOS)來儲(chǔ)存 1 個(gè)位(1bit)的資料,而且使用時(shí)“不需要”周期性地補(bǔ)充電源來保持記憶的內(nèi)容,,故稱為“靜態(tài)”(Static),。 SRAM 的構(gòu)造較復(fù)雜(6 個(gè)晶體管儲(chǔ)存 1 個(gè)位的資料),不使用電容所以存取速度較快,,但是成本也較高,,因此一般都制作成對(duì)容量要求較低但是對(duì)速度要求較高的存儲(chǔ)器,例如:中央處理器(CPU)內(nèi)建 256KB,、512KB,、1MB 的“快取存儲(chǔ)器”(Cache memory),一般都是使用 SRAM,。 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM:Dynamic RAM) 以一個(gè)晶體管(MOS)加上一個(gè)電容(Capacitor)來儲(chǔ)存一個(gè)位(1bit)的資料,,而且使用時(shí)“需要”周期性地補(bǔ)充電源來保持記憶的內(nèi)容,故稱為“動(dòng)態(tài)”(Dynamic),。 DRAM 構(gòu)造較簡單(一個(gè)晶體管加上一個(gè)電容),,由于電容充電放電需要較長的時(shí)間造成存取速度較慢,但是成本也較低,,因此一般制作成對(duì)容量要求較高但是對(duì)速度要求較低的存儲(chǔ)器,,例如:個(gè)人電腦主機(jī)板通常使用 1GB 以上的 DDR-SDRAM 就是屬于一種 DRAM。由于處理器的速度越來越快,,傳統(tǒng) DRAM 的速度已經(jīng)無法滿足要求,,因此目前都改良成 SDRAM 或 DDR-SDRAM 等兩種型式來使用。 同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM:Synchronous DRAM) 中央處理器(CPU)與主機(jī)板上的主存儲(chǔ)器(SDRAM)存取資料時(shí)的“工作時(shí)脈”(Clock)相同,,故稱為“同步”(Synchronous),。由于 CPU 在存取資料時(shí)不需要“等待”(Wait)因此效率較高,SDRAM 的存取速度較 DRAM 快,,所以早期電腦主機(jī)板上都是使用 SDRAM 來取代傳統(tǒng) DRAM,,不過目前也只有少數(shù)工業(yè)電腦仍然使用 SDRAM。 可以記住一個(gè)簡單的結(jié)論:SRAM 比較快,、 DRAM 比較慢,;SRAM 比較貴、DRAM 比較便宜,。 這是我們平常在計(jì)算機(jī)中使用的內(nèi)存,,更精確的說法應(yīng)該叫”內(nèi)存模塊”(Memory Module)。一個(gè)內(nèi)存模塊實(shí)際上就是由一塊小電路板、再加上幾塊的 DRAM 芯片構(gòu)成,。圖標(biāo)中的內(nèi)存模塊上一共有 8 個(gè) DRAM 芯片,。讓我們把一個(gè) DRAM 芯片的內(nèi)部結(jié)構(gòu)剖開看看,會(huì)看到一個(gè)儲(chǔ)存數(shù)組(Memorry Array),。 CPU 會(huì)給這個(gè)儲(chǔ)存數(shù)組”行地址”和”列地址”,,就可以選出一個(gè)”儲(chǔ)存單元”。常見的儲(chǔ)存單元包含了 4 bit 或 8 bit,,每一個(gè) bit 都會(huì)采用一個(gè)電路結(jié)構(gòu),,我們稱為 DRAM 的一個(gè)”基本儲(chǔ)存單元”。 這個(gè)基本儲(chǔ)存單元中包含了一個(gè)晶體管匹配一個(gè)電容,。然后就可以視電容器是否有充電電荷存在,、來判別目前的記憶狀態(tài)。 “寫入內(nèi)存”的動(dòng)作,,就是由外部的數(shù)據(jù)線,、對(duì)電容進(jìn)行充電或放電,從而完成寫入 1 或 0 的數(shù)字?jǐn)?shù)據(jù),。 DRAM 使用一個(gè)晶體管(MOS)與一個(gè)電容來儲(chǔ)存一個(gè)位的資料(一個(gè) 0 或一個(gè) 1),如圖四(a)所示,,當(dāng)晶體管(MOS)不導(dǎo)通時(shí)沒有電子流過,,電容沒有電荷,代表這一個(gè)位的資料是 0,,如圖四(b)所示,;當(dāng)晶體管(MOS)導(dǎo)通時(shí)(在閘極施加正電壓),電子會(huì)由源極流向汲極,,電容有電荷,,代表這一個(gè)位的資料是 1,為了要將這些流過來的電荷“儲(chǔ)存起來”,,因此必須使用一個(gè)微小的電容,,如圖四(c)所示,DRAM 就是因?yàn)殡娙菪枰獣r(shí)間充電,,所以速度比 SRAM 還慢,。
由于電容會(huì)有漏電的現(xiàn)象,,導(dǎo)致電位差不足而使記憶消失,,因此除非電容經(jīng)常周期性地充電,否則無法確保數(shù)據(jù)能長久保存起來,。 由于每個(gè) DRAM 基本儲(chǔ)存單元的電路結(jié)構(gòu)非常的簡單,,所以功耗低、價(jià)格也較低。這樣一來用低成本就能制造出大儲(chǔ)存容量的 DRAM 芯片,。缺點(diǎn)就是讀寫的速度慢(電容要充電放電),,影響了 DRAM 的性能。 SRAM 的結(jié)構(gòu)則較為復(fù)雜,,一共有六個(gè)晶體管構(gòu)成,。我們能分別用 M1、M2,、M3 到 M6 進(jìn)行標(biāo)記,。這六個(gè)晶體管合起來才能保存一個(gè) bit。 SRAM 芯片和 DRAM 芯片不太一樣,,不需要分成行地址和列地址分別選擇,,而且 SRAM 的設(shè)計(jì)相對(duì)來說又更加靈活,一個(gè)地址對(duì)應(yīng)的儲(chǔ)存單元數(shù)量可以是 8 bit,、10 bit,,或 32 bit、40 bit,、64 bit 都行,。 另外,晶體管的開關(guān)速度遠(yuǎn)比電容充電放電的速度還快,,所以相對(duì)于 DRAM,、SRAM 的讀寫速度比 DRAM 快很多。 然而 SRAM 中要儲(chǔ)存一個(gè) bit 就得用到六個(gè)晶體管,。晶體管的數(shù)量一多,、就會(huì)造成芯片的面積變大,從而帶來集成電路難以變得更小,、還有價(jià)格更貴的問題,。 (SRAM 的價(jià)格比起 DRMA 要高達(dá) 1000 倍以上。比如 2010 年世代––—SRAM 的每單位儲(chǔ)存價(jià)格是 $60/MB,,DRAM 則是 $0.06/MB,。) 同時(shí)每個(gè)晶體管都要耗電,晶體管越多,、功耗就越高,。考慮到價(jià)格高和功耗大,,目前只能在一些很嚴(yán)苛的地方來使用 SRAM,,比如上面提到的快取 (Cache)。 故目前”主存儲(chǔ)器”還是使用 DRAM 技術(shù),,但小塊用來拉速度的”快取”就是采用 SRAM,。然而無論是 DRAM 還是 SRAM,,一不供應(yīng)電源就會(huì)喪失儲(chǔ)存的數(shù)據(jù),所以都叫做揮發(fā)性內(nèi)存,。 鐵電隨機(jī)存取存儲(chǔ)器 FRAM 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)是以一個(gè)晶體管加上一個(gè)電容來儲(chǔ)存一個(gè)位(1bit)的資料,,由于傳統(tǒng) DRAM 的電容都是使用“氧化矽”做為絕緣體,氧化矽的介電常數(shù)不夠大(K 值不夠大),,因此不容易吸引(儲(chǔ)存)電子與電洞,,造成必須不停地補(bǔ)充電子與電洞,所以稱為“動(dòng)態(tài)”,,只要電腦的電源關(guān)閉,,電容所儲(chǔ)存的電子與電洞就會(huì)流失,DRAM 所儲(chǔ)存的資料也就會(huì)流失,。 要解決這個(gè)問題,,最簡單的就是使用介電常數(shù)夠大(K 值夠大)的材料來取代“氧化矽”為絕緣體,讓電子與電洞可以儲(chǔ)存在電容里不會(huì)流失,。目前業(yè)界使用“鈦鋯酸鉛”(PZT)或“鉭鉍酸鍶”(SBT)這種介電常數(shù)很大(K 值很大)的“鐵電材料”(Ferroelectric material)來取代氧化矽,,則可以儲(chǔ)存電子與電洞不會(huì)流失,讓原本“易失性”的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)變成“非易失性”的存儲(chǔ)器稱為“鐵電隨機(jī)存取存儲(chǔ)器”(Ferroelectric RAM,,F(xiàn)RAM),。 NAND Flash 又是什么呢?繼續(xù)講講非易失性的部分: Flash(閃存)由于具備了重量輕,、體積小,、功率低等優(yōu)點(diǎn),被應(yīng)用在各類電子產(chǎn)品的硬盤上,。Flash 又可以分成 NOR 型 Flash 和 NAND 型 Flash。 NOR Flash 比 NAND Flash 更早導(dǎo)入市場,。讀取的速度較快,,但寫入的速度慢、價(jià)格也比 NAND Flash 貴,。 目前用來儲(chǔ)存操作系統(tǒng)的程序代碼或重要數(shù)據(jù),,比如拿來做 ROM。像是生產(chǎn) NOR Flash 的臺(tái)廠旺宏就是因?yàn)榇蛉肴翁焯?Switch 主機(jī)的 ROM 供應(yīng)鏈,,今年?duì)I收上看攀升,。 NAND Flash 寫入的速度快、價(jià)格較低,,故目前以 NAND Flash 最為普遍?,F(xiàn)在的 USB 硬盤和手機(jī)儲(chǔ)存空間,就是用 NAND Flash 為主流技術(shù),。 另外,,固態(tài)硬盤(Solid State Drive, SSD)也是以 NAND 型 Flash 為基礎(chǔ)所建構(gòu)的儲(chǔ)存裝置,。SSD 不像傳統(tǒng)硬盤(HDD)中有馬達(dá)、讀寫臂等零件,。速度慢,、功耗高,對(duì)震動(dòng)又相當(dāng)敏感,,很難用在小型行動(dòng)裝置中,。 SSD 在讀寫數(shù)據(jù)時(shí)不會(huì)有噪音,耐震,、傳輸速度快,、重量又能縮減到 HDD 十分之一以上,現(xiàn)在已經(jīng)成為個(gè)人計(jì)算機(jī)和筆記本電腦的主流儲(chǔ)存設(shè)備,。 總結(jié): 依照停止供應(yīng)電源的話,、是否還能保留數(shù)據(jù),分成”易失性”與”非易失性”存儲(chǔ),。
|
|