存儲器是用來存儲程序和各類數據信息的記憶部件。存儲器可分爲主存儲器(簡稱主存或內存)和輔助存儲器(簡稱輔存或外存)兩大類。和CPU直接交換信息的是主存。主存的工做方式是按存儲單元的地址存放或讀取各種信息,統稱訪問存儲器。計算機的存儲器可分紅內存儲器和外存儲器。內存儲器在程序執行期間被計算機頻繁地使用,而且在一個指令週期期間是可直接訪問的。外存儲器要求計算機從一個外貯藏裝置例如磁帶或磁盤中讀取信息。
存儲器分爲易失性存儲器和非易失性存儲器。易失性存儲器分SRAM和DRAM;非易失性存儲器以Nor-flash和Nand-flash爲典型表明。html
DRAM cell結構由1個MOS和1個電容組成,由電容是否帶電荷來區分0和1。不過,因爲電容漏電流的緣由,DRAM沒法長時間保存數據,須要「動態」刷新(刷新週期在亞ms級別)。
dom
SRAM cell有多種不一樣結構,下圖爲6個MOS組成的SRAM cell。M1/M二、M3/M4分別爲2個反相器,在供電情形下能夠鎖住0/1信息,不需動態刷新。
spa
無論是Nor-flash仍是Nand Flash,單位cell的結構都相似以下,爲雙gate的MOS結構。中間一層floating gate無漏電存在,能夠保存住電荷而實現非易失。
3d
Floating gate上電荷轉移須要外加電壓實現。在Control gate和溝道之間施加的反向電壓能夠去除電荷,也即擦除erase操做。在Control gate和溝道或source 之間施加正向電壓能夠將電荷轉移到floating gate上。
code
經過NOR FLASH的結構原理圖,可見每一個Bit Line下的基本存儲單元是並聯的,當某個Word Line被選中後,就能夠實現對該Word的讀取,也就是能夠實現位讀取(即Random Access),且具備較高的讀取速率。
htm
(1)基本存儲單元的並聯結構決定了金屬導線佔用很大的面積,所以NOR FLASH的存儲密度較低,沒法適用於須要大容量存儲的應用場合,即適用於code-storage,不適用於data-storage。
(2)基本存儲單元的並聯結構決定了NOR FLASH具備存儲單元可獨立尋址且讀取效率高的特性,所以適用於code-storage,且程序能夠直接在NOR 中運行(即具備RAM的特性)。
(3)NOR FLASH寫入採用了熱電子注入方式,效率較低,所以NOR寫入速率較低,不適用於頻繁擦除/寫入場合。blog
經過NAND FLASH的結構原理圖,可見每一個Bit Line下的基本存儲單元是串聯的,NAND讀取數據的單位是Page,當須要讀取某個Page時,FLASH 控制器就不在這個Page的Word Line施加電壓,而對其餘全部Page的Word Line施加電壓(電壓值不能改變Floating Gate中電荷數量),讓這些Page的全部基本存儲單元的D和S導通,而咱們要讀取的Page的基本存儲單元的D和S的導通/關斷狀態則取決於Floating Gate是否有電荷,有電荷時,Bit Line讀出‘0’,無電荷Bit Line讀出‘1’,實現了Page數據的讀出,可見NAND沒法實現位讀取(即Random Access),程序代碼也就沒法在NAND上運行。
內存
基本存儲單元的串聯結構減小了金屬導線佔用的面積,Die的利用率很高,所以NAND FLASH存儲密度高,單bit成本低。適用於須要大容量存儲的應用場合,即適用於data-storage。get