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