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