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