嵌入式存储器分类
存儲器分類
內存(RAM)
SRAM
DRAM
外存(ROM)
PROM
EPROM
EEPROM
FLASH
SPI flash
Nor、Nand
eMMC
SD、TF
HDD
SSD
存儲器有兩種,一種是斷電之后會丟失信息,叫做易失性存儲器(volatile memory);一種是斷電后仍然可以保存信息,叫做非已失性存儲器(nonvolatile memory)。其中SRAM和DRAM是易失性存儲器,經常還會被統稱為RAM(Random-Access Memory),隨機訪問存儲器,也叫做主存或內存。非易失性存儲器人們也稱為ROM(Read-Only Memory),這里就不能僅僅以字面意思去理解,ROM字面意思是只讀存儲器,但有很多ROM既可以讀也可以寫,ROM稱為外存。這些名詞似乎都無法準確進行概括去區分,甚至在不同的環境中會有不同的意思,對于剛學習計算機的人會有困惑,但是很多東西似乎也是約定俗成,只要我們知道他們的功能就不會理解錯誤。
例如怎么理解內存和外存呢?我覺得一定是你已經明白了,你才知道。但你是怎么明白的,一定不是從書上看到的概念:內存,存取速度快,容量小;外存,存取速度慢,容量大。我以前看到這樣的描述也覺得說了等于沒說。我就會想,為什么速度快就是內存,有多快,比誰快,慢的就不能當內存嗎?直到我知道CPU是如何執行指令,程序的代碼和數據如何被存放和加載的,計算機局部性原理,存儲器層次結構,可能才對這些概念有一個更深的認識,知道為什么這樣去設計,這些概念也會隨著技術的發展會有變化。本人也是能力有限,無法說明白這些存儲器更深層次的區別,不過也給大家提供一個思路。
內存(RAM)
隨機訪問存儲器分為兩類,靜態的(SRAM)和動態的(DRAM)。
?
SRAM
SRAM將每個位存儲在一個雙穩態的存儲器單元里。每個單元是用一個六晶體管電路來實現的,在供電期間保留數據。這使得每個內存單元相對較大,并限制了SRAM在低密度內存中的使用。SRAM能夠提供更快的數據訪問,使用更少的待機電量,但往往比DRAM更昂貴。SRAM一般用來作為高速緩存存儲器。
DRAM
DRAM為每個存儲器位使用一個晶體管和一個小電容。 由于電容不會無限期地保持電荷,因此必須經常對DRAM單元進行充電(刷新)以避免丟失內容。 這些較小的存儲單元允許DRAM用于高密度,低成本的存儲器,但通常比SRAM慢。DRAM一般用來作為主存。
外存(ROM)
PROM
PROM,Programmable ROM,可編程只讀存儲器。只能被編程一次。PROM的每個存儲單元有一種熔絲,通過高壓電流將其熔絲“燒”斷以將其設置為1或0,這過程不可逆,因此數據只能燒寫一次。
EPROM
EPROM,Erasable Programmalbe ROM,可擦寫可編程只讀存儲器。EPROM對PROM來說是一個很大的改進,因為不僅可以燒寫所需的數據或程序,而且還可以進行多次燒寫。早期的EPROM有一個透明的石英窗口,將它們石英窗口暴露于紫外線(UV)中,可以將它們擦除。對EPROM寫數據是通過特殊設備來完成的。
EEPROM
EEPROM,Electrically Erasable PROM,電可擦寫可編程只讀存儲器。這是對早期EPROM的改進,因為它不再需要紫外線來擦除存儲芯片,因此不需要特殊的設備進行寫入。取而代之的是,只需要向芯片上的一個引腳施加特殊的電壓就可以了。EEPROM要求一次寫入或擦除一個字節的數據。
?
?
FLASH
FLASH,Flash Memory,閃存。flash是基于EEPROM發展的,區別是EEPROM要求一次寫入或擦除一個字節的數據,而閃存則允許以塊為單位寫入或擦除數據,這使閃存速度更快。
SPI flash
flash以接口不同可以分為傳統flash和SPI flash,傳統flash的接口不一,CLE、ALE、CE、RE等,使用的管腳數量也不一,因此難以使用。而后面的SPI flash的接口就SPI總線,統一接口可以方便隨時更換不同廠家的flash而不需要修改電路設計和代碼,并且SPI flash使用的管腳數量比傳統的flash更少。
Nor、Nand
flash memory有兩種架構,Nor和Nand。
Nor,容量小,價格高,Nor通常用于代碼存儲和執行。 Nor允許快速隨機訪問存儲器陣列中的任何位置,部件壽命期內所有存儲單元(bit)都是良好的以及可以直接從Nor閃存中執行代碼。
Nand,容量大,價格低,通常用于數據存儲。 Nand閃存需要一段時間去初始化才能工作,部件壽命期內大概98%的存儲單元(bit)是良好的,意味著還有2%的存儲單元(bit)是故障,因此需要使用數據校驗算法(ECC)。寫入和擦除時間比Nor快得多。
?
?
eMMC
eMMC,embedded Multi-Media Controller。是Nand和閃存控制器集成在同一芯片封裝。Nor和Nand閃存最初不需要單獨的硬件閃存控制器,并且將這部分此功能移交給軟件處理。硬件閃存控制器的主要功能一是糾錯和編碼(ECC);功能二實現了FTL(Flash Translation Layer,閃存轉換層),該FTL進行類似于磁盤的塊訪問并將其轉換為有意義的Nand操作,以及執行損耗均衡和塊節省。eMMC適用于高性能應用,例如用于智能手機,平板電腦,導航系統和數碼相機等便攜式消費電子產品。
SD、TF
SD,Secure Digital Memory Card,數字安全記憶卡。SD卡和eMMC非常相似,區別就是eMMC一般焊接在主板上,而SD卡是可以拔插的。
?
?
TF,TransFLash,也稱為Micro SD卡,其實本質上和SD卡是一個東西,只是外形不同,名稱不同,開發的公司不同而已。市面上還有TF卡插頭適配器,可以直接轉換為SD卡。
HDD
磁盤,Hard Disk Drive,HDD。使用旋轉盤片為基礎的非易失性存儲器,它在平整的磁性表面存儲和檢索數字數據,數據通過離磁性表面很近的磁頭由電磁流來改變極性的方式被寫入到磁盤上,數據可以通過盤片被讀取,原理是磁頭經過盤片的上方時盤片本身的磁場導致讀取線圈中電氣信號改變。(維基百科)
?
?
SSD
SSD,solid-state drive,固態硬盤。SSD也是和eMMC一樣由Nand和閃存控制器組成,可以理解eMMC通常是一個閃存芯片而SSD是多個閃存芯片,SSD容量會更大;SSD使用SATA、PCIe、M2等接口,傳輸速度比eMMC的SPI接口更快;eMMC常用于移動設備中,SSD常用于PC。
?
總結
- 上一篇: Head First 设计模式
- 下一篇: iOS申请真机调试证书 图文详解