SRAM、DRAM與flash
1. SRAM
SRAM是靜態隨機存取存儲器,由六管組成(4管組成的兩個反相器+2管位線控制),存取速度極快,但成本也極高,主要用於CPU內的一級緩存cache。
2. DRAM
DRAM是動態隨機存取存儲器,相比SRAM結構簡單(1管+1電容),密度高,成本較低。需要周期性的充放電(定期刷新),屬於易失性存儲器設備。

SDRAM以及DDR都屬於DRAM。2016年開始DDR4 SDRAM逐漸普及,如今DDR5也即將上市。
3. FLASH
Flash即閃存,flash E2PROM memory
,結合了rom和ram的長處,常用作存儲boot loader、bios,或者直接當硬盤使用,如SSD、SD card、U盤等。值得注意的是,此處的flash區別於LIDAR中快速大面積掃描硬件(fast large area scan hardware
)的定義。與傳統硬盤相比,flash質量輕、體積小、能耗低,但有以下局限:
-
需要先擦寫后寫入:寫入時只能將原有的1(default)改寫為0,除非擦除整塊,否則不能將寫入的0改寫為1
-
塊擦除次數受限:需要擦寫均衡、壞塊檢測
-
讀寫干擾:通常使用ECC算法校驗和校正
-
電荷泄露
目前flash主要分為兩類:NAND flash(武漢長存)和NOR flash(武漢新芯)。
3.1 NAND flash
NAND flash寫入速度、擦除速度比NOR flash快很多,讀取速度相近,但NAND flash不支持片上執行,需要較為復雜的驅動控制,並且只能按塊讀取,而NOR flash可以隨機按字節讀取。
NAND flash根據每個存儲單元內存儲比特個數的不同,可以分為 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三類。其中,在一個存儲單元中,SLC 可以存儲 1 個比特,MLC 可以存儲 2 個比特,TLC 則可以存儲 3 個比特。
一個存儲單元內部,是通過不同的電壓等級,來表示其所存儲的信息的。
3.2 NOR flash
NOR flash與cpu通信有串行(spi)和並行兩種。而NAND flash需要專門的nand flash interface與host並行通信。
Flash還有raw flash以及managed flash之分,對於raw flash,host端的軟件復雜度高,需要有專門的驅動和控制,NOR Flash 和 NAND Flash 都屬於這類型;Managed Flash 在其內部集成了 Flash Controller,用於完成擦寫均衡、壞塊管理、ECC校驗等功能,可以減少host端控制的復雜度,eMMC、SD card、U盤等都屬於這類型。