前幾天跟同事聊到我們常用的各種存儲器,比如硬盤,DDR內(nèi)存條的一些知識,突然發(fā)現(xiàn)大概知道是啥意思,但是說出來又感覺含糊不清,今天咱們一起來梳理一下。
我們將按如下框架來說明:
從計算機的角度來看:
易失性存儲器最典型的代表是內(nèi)存,非易失性存儲器的代表則是硬盤。
易失性存儲器的特點:掉電丟失數(shù)據(jù),但存取數(shù)據(jù)速度很快。
非易失性存儲器的特點:掉電不丟失數(shù)據(jù),可用于長期存儲數(shù)據(jù)。
一、易失性存儲器
易失性存儲器的代表是RAM(Random Access Memory),即隨機存儲器。
RAM相當于計算機中的內(nèi)存,是程序運行的臨時場所。好比辦公室,上班時間有人(臨時數(shù)據(jù)),下班后就沒人了(掉電丟失)。
按照存儲結(jié)構(gòu),RAM又分為兩種,一種為DRAM(Dynamic RAM)即動態(tài)隨機存儲器,另一種為SRAM(Static RAM)即靜態(tài)隨機存儲器。
1.1、DRAM
電容C存儲電荷后,即使地址線被拉低使得Q關(guān)斷,但電容C依舊會對周圍空間釋放電荷造成數(shù)據(jù)丟失,所以需要定期對DRAM構(gòu)造的存儲單元進行刷新操作。
DRAM存儲單元結(jié)構(gòu)示意圖
DRAM保留數(shù)據(jù)的時間很短,速度比SRAM慢,不過它比任何的ROM都要快,從價格上來說DRAM相比SRAM要便宜很多,計算機內(nèi)存就是DRAM。
DRAM又可以分為SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SRAM和DDR5 SRAM。
SDRAM(SynchronousDRAM)同步動態(tài)隨機存儲器,即數(shù)據(jù)的讀寫需要時鐘來同步。僅在時鐘的上升沿將數(shù)據(jù)采樣并進行存儲處理,即一個CLK周期,只采樣一次數(shù)據(jù)。
DDR SRAM相比SDRAM,速度上更快,在時鐘的上升沿和下降沿都對數(shù)據(jù)進行了采樣存儲處理,即一個CLK周期,采樣兩次數(shù)據(jù),故命名為Double Data Rate SDRAM(DDR SDRAM)。而DDR2,DDR3,DDR4和DDR5則在時鐘頻率上進行了提升。
1.2、SRAM
該存儲單元由T1、T2、T3、T4構(gòu)成鎖存結(jié)構(gòu)來實現(xiàn)數(shù)據(jù)的保存,無需定期刷新操作。
SRAM存儲單元結(jié)構(gòu)示意圖
它的速率很快,是目前讀寫最快的存儲設(shè)備了,但成本比較高,所以只在要求很苛刻的地方使用,譬如CPU的一級緩沖,二級緩沖。
DRAM和SRAM主要區(qū)別
-
DRAM一般用于主存,SRAM一般用于cache(高速緩存)
-
DRAM必須定時刷新,運行速度慢,集成度高,發(fā)熱量小,成本低。
-
SRAM是訪問時間短的片上存儲器,DRAM是訪問時間長的片外存儲器。因此SRAM 比 DRAM 快。
-
SRAM很貴,而 DRAM 很便宜。
-
高速緩沖存儲器是SRAM的一種應(yīng)用,而DRAM用于主存儲器。
-
由于使用了大量的晶體管,SRAM的結(jié)構(gòu)很復(fù)雜。而DRAM易于設(shè)計和實現(xiàn)。
二、非易失性存儲器
非易失性存儲器種類比較多,分別是ROM、FLASH以及外部大容量存儲器。
2.1、ROM(Read-Only Memory)只讀存儲器
ROM相當于計算機中的硬盤,我們的操作系統(tǒng)就是裝在計算機硬盤之中,每次開機后都是啟動硬盤中的程序。
ROM好比是住房,是我們真正的的容身之所(程序本身或者常量、固定數(shù)據(jù)等,掉電非易失)。
ROM分類:
MASKROM:真正意義上的只讀存儲器,一次性由廠家用特殊工藝固化,用戶無法修改。
EEPROM:可實現(xiàn)重復(fù)擦寫,直接用電路控制,不需要專門的設(shè)備來進行擦寫。且操作單位為字節(jié),并不需要操作整個芯片。目前已是主流。
2.2、FLASH
FLASH存儲器又稱閃存,它結(jié)合了ROM和RAM的長處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會斷電丟失數(shù)據(jù),同時可以快速讀取數(shù)據(jù)其存儲特性,相當于硬盤。U盤和MP3里用的就是這種存儲器。
近些年來,在嵌入式系統(tǒng)中,F(xiàn)LASH用作存儲Bootloader,操作系統(tǒng),程序代碼或者直接當硬盤使用。
FLASH分類:
NOR FLASH得益于地址線和數(shù)據(jù)線分開,可以以“字節(jié)”讀寫數(shù)據(jù),所以允許程序直接在上面運行。NOR一般只用來存儲少量的代碼,因為其讀取速度快,多用來存儲操作系統(tǒng)等重要信息;
NOR的特點是無需專門的接口電路、傳輸效率高,它是屬于芯片內(nèi)執(zhí)行,不必再把代碼讀到系統(tǒng)RAM中。
NAND FLASH相當于PC系統(tǒng)中的硬盤,容量大,用于存儲安裝軟件之類的。
NAND Flash是通過物理方法保存數(shù)據(jù)的,既然是用物理方法就必須得有損耗,所以它的壽命是有限的,寫入超過一定次數(shù)后就會報廢。
NAND FLASH對比NOR FLASH在成本上有很大的優(yōu)勢,但是存在壞塊問題(NAND通常是以塊為單位進行擦除,塊內(nèi)有一位失效整個塊就會失效)。
NAND FLASH要在上面讀寫數(shù)據(jù),外部要加主控和電路設(shè)計。
生產(chǎn)廠家主要有:東芝、美光、intel、HYNIX、三星。
2.3、eMMC
eMMC(Embedded Multi Media Card,嵌入式多媒體卡)為MMC協(xié)會所訂立的, 它的內(nèi)部是把NAND flash+主控IC封裝在一起。
eMMC在物聯(lián)網(wǎng)廣泛應(yīng)用,一般在移動設(shè)備,比如手機,平板電腦,一體工控機等等,總之一些硬件空間緊湊的地方。
eMMC優(yōu)點是除了可以得到大容量的空間(這一點,只用NAND FLASH多堆疊也可以做到)外,還可以管理NAND (壞塊處理,ECC,F(xiàn)FS)等。
eMMC(BGA封裝)
eMMC現(xiàn)在主要是eMMC5.1,eMMC5.2,至此后,久未更新。
據(jù)說eMMC可能被UFS逐步取代,UFS閃存?zhèn)鬏斔俾蔬h超eMMC閃存,實際未知。