SRAM、DRAM与flash

SRAM、DRAM与flash


1. SRAM

SRAM是静态随机存取存储器,由六管组成(4管组成的两个反相器+2管位线控制),存取速度极快,但成本也极高,主要用于CPU内的一级缓存cache。

2. DRAM

DRAM是动态随机存取存储器,相比SRAM结构简单(1管+1电容),密度高,成本较低。需要周期性的充放电(定期刷新),属于易失性存储器设备。

image-20210901141911992
figure. DRAM

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. 需要先擦写后写入:写入时只能将原有的1(default)改写为0,除非擦除整块,否则不能将写入的0改写为1

  2. 块擦除次数受限:需要擦写均衡、坏块检测

  3. 读写干扰:通常使用ECC算法校验和校正

  4. 电荷泄露

目前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盘等都属于这类型。

posted @ 2021-09-01 14:21  howie-zhao  阅读(1015)  评论(0编辑  收藏  举报