說(shuō)到存儲(chǔ)器,大家都能談?wù)搸拙?,但也僅此而已。RAM、ROM、EEPROM和Flash......都是存儲(chǔ)器的一種,但你知道它們有何區(qū)別?有何特點(diǎn)?分別用在哪種場(chǎng)合?恐怕沒(méi)幾個(gè)人能講清楚。
做人,不能膚淺!要有深度!有內(nèi)涵!對(duì)于自己感興趣的話題,要一探究竟,搞得明明白白!
看了上面這些五花八門(mén)的半導(dǎo)體存儲(chǔ)器,估計(jì)你很頭大,別急,且聽(tīng)我一一道來(lái)。
從人類文明誕生以來(lái),我們就一直在尋求能夠有效存儲(chǔ)信息的方式。從結(jié)繩記事、甲骨文、竹簡(jiǎn)、紙張到今天的閃存、量子存儲(chǔ),腳步從未停止。
最早的信息存儲(chǔ)介質(zhì)是繩子,那個(gè)時(shí)候,文字還沒(méi)出現(xiàn),人類以結(jié)繩進(jìn)行計(jì)數(shù)、記事。繩子上打結(jié)的數(shù)量表示事物的多少,而結(jié)的大小和形狀則表示其他信息,如部落發(fā)生的大事、天災(zāi)人禍以及歷法等。
后來(lái),出現(xiàn)了文字,人們把獸骨、龜甲、竹簡(jiǎn)等當(dāng)作文字的載體。
但這些載體能夠記錄的信息有限,如何大量、高效地存儲(chǔ)信息成為一道難題。
后來(lái),紙出現(xiàn)了,西漢(公元前202年-8年)初期,中國(guó)人發(fā)明了造紙術(shù),這是對(duì)人類文明的巨大貢獻(xiàn),因?yàn)樽阅且院?,信息的記錄、傳播和繼承變得容易了。
幾千年以來(lái),人類存儲(chǔ)信息的介質(zhì)就是紙張,一直沒(méi)變過(guò)。
到了現(xiàn)代以后,存儲(chǔ)介質(zhì)又發(fā)生了很大的變化,如:選數(shù)管、穿孔卡片、磁帶、軟盤(pán)、光盤(pán)等。
由于本文的重點(diǎn)不是介紹存儲(chǔ)系統(tǒng)發(fā)展史,因此,在此一筆帶過(guò),下面重點(diǎn)討論半導(dǎo)體存儲(chǔ)器。
半導(dǎo)體存儲(chǔ)器,顧名思義,就是用半導(dǎo)體材料作為介質(zhì)進(jìn)行信息存儲(chǔ)的器件。信息的本質(zhì)是什么?其實(shí)就是“0”和“1”。一個(gè)圖片、一段視頻、一段代碼,在存儲(chǔ)器中都是以“0”和“1”的形式存在的。
半導(dǎo)體存儲(chǔ)器利用半導(dǎo)體介質(zhì)儲(chǔ)存電荷以實(shí)現(xiàn)信息存儲(chǔ),存儲(chǔ)與讀取過(guò)程就是電荷的儲(chǔ)存或釋放。
按大類來(lái)分,半導(dǎo)體存儲(chǔ)器分為易失性存儲(chǔ)器(RAM)和非易失性存儲(chǔ)器(ROM)。
隨機(jī)存儲(chǔ)器(Random Access Memory),簡(jiǎn)稱RAM,它可以讓用戶臨時(shí)存儲(chǔ)和訪問(wèn)數(shù)據(jù)、程序,訪問(wèn)速度很快,但其存儲(chǔ)的內(nèi)容在斷電后會(huì)丟失。電腦的內(nèi)存就是一種典型的RAM。
RAM進(jìn)一步又可分為DRAM(Dynamic Random Access Memory動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)和SRAM(Static Random Access Memory,靜態(tài)隨機(jī)存儲(chǔ)器)。
SRAM在工作時(shí)不需要刷新,而DRAM在工作時(shí)需要定期刷新,否則數(shù)據(jù)就會(huì)丟失,由此,SRAM的速度也要遠(yuǎn)大于DRAM。
SRAM依靠觸發(fā)器存儲(chǔ)數(shù)據(jù),花費(fèi)6個(gè)晶體管才能存儲(chǔ)1bit;DRAM依靠電容存儲(chǔ),每個(gè)存儲(chǔ)元(1bit)只需1個(gè)電容和1個(gè)晶體管,有電流時(shí)為1,無(wú)電流時(shí)為0。DRAM放置久了,電荷則會(huì)流失,而SRAM則不存在電荷泄漏問(wèn)題。
基于以上特性,SRAM一般用在更高速CPU和較低速DRAM之間的緩存,即高速緩沖存儲(chǔ)器(Cache),容量一般只有幾十K到幾十M,DRAM則用于電腦、手機(jī)等電子產(chǎn)品的主內(nèi)存,容量一般在百M(fèi)或GB級(jí)別。
DRAM根據(jù)不同的標(biāo)準(zhǔn)和規(guī)格,又可以分為如下幾類:
SDRAM(Synchronous Dynamic Random Access Memory):SDRAM是最早出現(xiàn)的DRAM類型之一,它與傳統(tǒng)的DRAM相比,在數(shù)據(jù)傳輸上更具有效率,SDRAM通常以其運(yùn)行速度命名,例如PC66、PC100、PC133等。
DDR(Double Data Rate):DDR SDRAM是目前最常見(jiàn)和廣泛使用的DRAM類型之一。它采用雙倍數(shù)據(jù)傳輸技術(shù),能夠在每個(gè)時(shí)鐘內(nèi)傳輸兩個(gè)數(shù)據(jù)位。DDR按代稱為DDR1、DDR2、DDR3、DDR4等,每一代都有不同的頻率和帶寬,性能逐步提升。
GDDR(Graphics Double Data Rate):GDDR是專門(mén)為圖形處理器(GPU)設(shè)計(jì)的高速DRAM類型。它在DDR基礎(chǔ)上進(jìn)行了優(yōu)化,具有更高的帶寬和更快的數(shù)據(jù)傳輸速度。GDDR也按代分為GDDR3、GDDR4、GDDR5等,每一代都增加了帶寬和性能。
LPDDR(Low Power Double Data Rate):LPDDR是一種低功耗的移動(dòng)設(shè)備專用DRAM,它在DDR基礎(chǔ)上進(jìn)行了優(yōu)化,以提供更高的能效和較低的功耗,按代分為L(zhǎng)PDDR3、LPDDR4、LPDDR5等,每一代都提升了能效和性能。
RAM先討論到這里,下面說(shuō)ROM。
電源關(guān)閉時(shí),RAM不能保留數(shù)據(jù),這個(gè)時(shí)候就需要ROM了。只讀存儲(chǔ)器(Read Only Memory)簡(jiǎn)稱ROM。
百度百科上對(duì)ROM的解釋是ROM只能讀出無(wú)法寫(xiě)入信息,這種說(shuō)法在很久以前可能是對(duì)的,但放在現(xiàn)在可能會(huì)誤導(dǎo)大家。
早期的ROM真的是只讀,出廠啥樣就永遠(yuǎn)啥樣,定型了,比如電腦主板的BIOS就是存儲(chǔ)在ROM中的,每次開(kāi)機(jī)流程都一樣,從出廠到報(bào)廢,BIOS完全不用變。
但是隨著時(shí)代的發(fā)展,需求越來(lái)越多,ROM變得不那么只讀了。
所以出現(xiàn)了PROM(可編程只讀存儲(chǔ)器),給用戶的芯片是空白的,用戶寫(xiě)一次之后就變成只讀了。
這顯然無(wú)法滿足需求,因?yàn)橛脩魧?xiě)一次后可能還想改,于是允許用紫外線擦除重寫(xiě)的EPROM(可擦除可編程只讀存儲(chǔ)器)被發(fā)明了。EPROM與PROM相似,但它可以使用紫外線來(lái)擦除數(shù)據(jù),并允許用戶多次重寫(xiě)數(shù)據(jù),在編程前需要先擦除整個(gè)芯片,因此擦除和編程過(guò)程比較耗時(shí)。
用紫外線照射擦除太麻煩了,所以EEPROM(電可擦除可編程只讀存儲(chǔ)器)橫空出世,不同于EPROM,EEPROM可以通過(guò)在電路上加電脈沖來(lái)擦除數(shù)據(jù),而不需要紫外線照射,并且支持反復(fù)擦寫(xiě)和編程,操作更加方便。
EEPROM有時(shí)候被稱為E方PROM,因?yàn)橛袃蓚€(gè)E,即E的平方,簡(jiǎn)稱E方。
EEPROM掉電后數(shù)據(jù)不丟失,可以保存100年,可以擦寫(xiě)100萬(wàn)次。EEPROM可靠、電路復(fù)雜、成本也高,所以其容量一般都在512K以下。
此外,EEPROM讀寫(xiě)是按字節(jié)操作的,所以雖然靈活,但速度比較慢,顯然不適宜存儲(chǔ)程序。
所以,就有了Flash ROM(閃存存儲(chǔ)器),簡(jiǎn)稱Flash,它也是可電擦除的,因此,F(xiàn)lash是一種廣義的EEPROM。
Flash的改進(jìn)主要在于擦寫(xiě)時(shí)不再以字節(jié)為單位,而是以塊為單位,從而簡(jiǎn)化了電路,降低了成本,擦寫(xiě)速度得到了提升,這顯然成為存儲(chǔ)程序的完美載體!
汽車(chē)上的單片機(jī)程序就是存儲(chǔ)在Flash中的,這樣便于擦除和編寫(xiě),易于軟件更新與刷寫(xiě)。
Flash進(jìn)一步又可細(xì)分為NOR Flash和NAND Flash。
NOR Flash將數(shù)據(jù)線和地址線分開(kāi),可以實(shí)現(xiàn)RAM一樣的隨機(jī)尋址功能,可以讀取任何一個(gè)字節(jié),但擦除仍然要按塊來(lái)擦除。NOR Flash成本較高,容量相對(duì)小,常見(jiàn)的有128KB、256KB、1MB、2MB等。
NAND Flash數(shù)據(jù)線和地址線復(fù)用,不能利用地址線隨機(jī)尋址,讀取只能按頁(yè)來(lái)讀取,同樣,擦除仍然要按塊來(lái)擦除。NAND Flash比較便宜,容量大,更適合存儲(chǔ)大量的數(shù)據(jù)。
NOR Flash適用于程序代碼并行讀寫(xiě)存儲(chǔ),NAND Flash適用于數(shù)據(jù)或文件的串行讀寫(xiě)存儲(chǔ),用戶不能直接運(yùn)行NAND Flash上的代碼,所以很多開(kāi)發(fā)板除了使用NAND Flash外,還需要使用一塊小的NOR Flash來(lái)運(yùn)行啟動(dòng)代碼。
最后介紹一下eMMC。
eMMC是embedded MultiMediaCard的簡(jiǎn)稱,即嵌入式多媒體卡,它是將Nand?Flash和Flash Controller和eMMC接口等封裝在一起的小型存儲(chǔ)系統(tǒng)。
這樣做的好處是簡(jiǎn)化了存儲(chǔ)系統(tǒng)設(shè)計(jì),降低了開(kāi)發(fā)復(fù)雜度。因?yàn)樯a(chǎn)Nand Flash的廠商很多,每家生成的產(chǎn)品特性都有差異,程序員需要針對(duì)這些特性做兼容性開(kāi)發(fā),而eMMC則規(guī)定了統(tǒng)一的協(xié)議接口,程序員只需要根據(jù)協(xié)議開(kāi)發(fā),就能兼容各個(gè)廠商的eMMC產(chǎn)品。
此外,eMMC的讀寫(xiě)性能更好,其在Nand Flash的基礎(chǔ)上,加入了Cache、Memory array等技術(shù),大大提高了讀寫(xiě)速度。
eMMC的存儲(chǔ)容量很大,從4GB到256GB都有。
汽車(chē)存儲(chǔ)應(yīng)用分布
eMMC曾為智能手機(jī)而生,如今在汽車(chē)領(lǐng)域得到了廣泛應(yīng)用,T-Box、車(chē)機(jī)、ADAS等均有使用。
文章讀到這里,相信大家對(duì)半導(dǎo)體存儲(chǔ)器的了解又更深入了一些,以后跟別人聊起RAM、ROM等,再也不心虛了。
歡迎大家關(guān)注本公眾號(hào),學(xué)習(xí)汽車(chē)相關(guān)知識(shí),每天進(jìn)步一點(diǎn)點(diǎn)!