SRAM、DRAM与flash

SRAM、DRAM、flash的区别


SRAM

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

DRAM

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

SRAM、DRAM与flash

SDRAM以及DDR都属于DRAM。2016年开始DDR4 SDRAM逐渐普及,如今DDR5也即将上市。

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. 电荷泄露
    nor flash(武汉新芯)
    目前flash主要分为两类:nand flash(武汉长存)和nor flash(武汉新芯)

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 个比特。

一个存储单元内部,是通过不同的电压等级,来表示其所存储的信息的。

nor flash

nor flash与cpu通信有串行(spi)和并行两种。而nand flash需要专门的NFI(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盘等都属于这类型。

上一篇:SVN总结


下一篇:RAM(SRAM,DRAM,SSRAM,SDRAM,DDR)、ROM(PROM,EPROM,EEPROM)、PSRAM、FLASH(NOR FLASH,NAND FLASH)