ROM & RAM

  • ROM(Read Only Memory)

    ROM在系统停止供电的时候仍然可以保持数据,如光盘CD-ROM,可以保存文件,且只能读取。

  • RAM(Random Access Memory)

    RAM通常都是在掉电之后就丢失数据,如计算机的内存条就是RAM,关机后内存数据被自动清空。

PROM & EPROM && EEROM

ROM又可分为几类

  • PROM

    可编程的ROM,但只能写入一次(有点像光盘,只能刻录一次),这种是早期的产品,现在已经不用了。

  • EPROM

    通过紫外光的照射擦出原先的程序,现在也不用了。

  • EEPROM

    电可擦除,如学习单片机时用到的AT24C02芯片,大小为2K,用于保存少量掉电不丢失的数据,单片机通过IIC来读写这个EEPROM的内容。

SRAM & DRAM

RAM又可分为两大类

  • SRAM(Static RAM)

    SRAM即静态RAM,读写速度非常快,但价格也较贵,用于CPU的一级缓冲,二级缓冲。

    单片机中也有SRAM,如STM32F103VET6具有64K的SRAM,用于程序运行时变量、堆栈的暂存等,另外,还可通过FSMC接口来扩展外部SRAM,如1M字节的IS62WV51216外部SRAM芯片,用于需要大量数据计算的场合(跑算法、GUI)

  • DRAM(Dynamic RAM)

    即动态RAM,保留数据的时间很短,速度也比SRAM慢(但比任何的ROM快),计算机内存就是DRAM。

    DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAMDDR RAM、RDRAM、SGRAM以及WRAM等。

    • SDRAM(Synchronous Dynamic RAM)

      同步动态随机存储器,主要不要误以为它是上面两种的组合!同步指存储器工作需要同步时钟,动态指刷新来保证数据不丢失,随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。

    • DDR RAM

      计算机内存条常说的DDR3、DDR4。

NAND Flash & NOR Flash

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具有电可擦除可编程(EEPROM)的功能,还不会断电丢失数据,同时可以快速读取数据(NVRAM的优势),U盘使用这种存储器。

  • Flash

    单片机中的flash,就是用于保存程序,如STM32F103VET6具有512K的Flash。

    单片机还可以外接Flash,如W25Q128,16M大小,可用于保存图片等较大的数据,单片机通过SPI来读写其内容。

  • NOR Flash

    它的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。

    NOR的特点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不必再把代码读到系统RAM中。在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

  • NAND Flash

    NANDFlash的存储容量比NORFlash大,如K9F1208U08为64M。它没有采取内存的随机读取技术,而是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还配了一块小的NOR Flash来运行启动代码。

    NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口

  • 两者对比

    • NOR Flash的读取速度比NAND稍快一些。
    • NAND Flash的写入速度比NOR快很多。
    • NAND Flash的4ms擦除速度远比NOR的5s快。  
    • NAND Flash擦除单元更小,相应的擦除电路更少。
    • NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易的存取其内部的每一字节。
    • NAND Flash使用复杂的I/O口串行存取数据,8个引脚用来传送控制、地址和数据信息,时序较复杂。
    • NOR Flash一般容量较小,工艺较复杂,所以成本较高。
    • NAND Flash的生产工较为简单,因此其容量较大,价格更低。

eMMC

eMMC (Embedded Multi Media Card),即嵌入式多媒体卡,是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC由Nand flash、Nand flash控制器以及标准接口封装组成。