前几天跟同事聊到我们常用的各种存储器,比如硬盘,DDR内存条的一些知识,突然发现大概知道是啥意思,但是说出来又感觉含糊不清,今天咱们一起来梳理一下。
我们将按如下框架来说明:
从计算机的角度来看:
易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。
易失性存储器的特点:掉电丢失数据,但存取数据速度很快。
非易失性存储器的特点:掉电不丢失数据,可用于长期存储数据。
易失性存储器的代表是RAM(Random Access Memory),即随机存储器。
RAM相当于计算机中的内存,是程序运行的临时场所。好比办公室,上班时间有人(临时数据),下班后就没人了(掉电丢失)。
按照存储结构,RAM又分为两种,一种为DRAM(Dynamic RAM)即动态随机存储器,另一种为SRAM(Static RAM)即静态随机存储器。
1.1、DRAM
电容C存储电荷后,即使地址线被拉低使得Q关断,但电容C依旧会对周围空间释放电荷造成数据丢失,所以需要定期对DRAM构造的存储单元进行刷新操作。
DRAM存储单元结构示意图
DRAM保留数据的时间很短,速度比SRAM慢,不过它比任何的ROM都要快,从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM。
DRAM又可以分为SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SRAM和DDR5 SRAM。
SDRAM(SynchronousDRAM)同步动态随机存储器,即数据的读写需要时钟来同步。仅在时钟的上升沿将数据采样并进行存储处理,即一个CLK周期,只采样一次数据。
DDR SRAM相比SDRAM,速度上更快,在时钟的上升沿和下降沿都对数据进行了采样存储处理,即一个CLK周期,采样两次数据,故命名为Double Data Rate SDRAM(DDR SDRAM)。而DDR2,DDR3,DDR4和DDR5则在时钟频率上进行了提升。
1.2、SRAM
该存储单元由T1、T2、T3、T4构成锁存结构来实现数据的保存,无需定期刷新操作。
SRAM存储单元结构示意图
它的速率很快,是目前读写最快的存储设备了,但成本比较高,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
DRAM和SRAM主要区别
DRAM一般用于主存,SRAM一般用于cache(高速缓存)
DRAM必须定时刷新,运行速度慢,集成度高,发热量小,成本低。
SRAM是访问时间短的片上存储器,DRAM是访问时间长的片外存储器。因此SRAM 比 DRAM 快。
SRAM很贵,而 DRAM 很便宜。
高速缓冲存储器是SRAM的一种应用,而DRAM用于主存储器。
由于使用了大量的晶体管,SRAM的结构很复杂。而DRAM易于设计和实现。
非易失性存储器种类比较多,分别是ROM、FLASH以及外部大容量存储器。
2.1、ROM(Read-Only Memory)只读存储器
ROM相当于计算机中的硬盘,我们的操作系统就是装在计算机硬盘之中,每次开机后都是启动硬盘中的程序。
ROM好比是住房,是我们真正的的容身之所(程序本身或者常量、固定数据等,掉电非易失)。
ROM分类:
MASKROM:真正意义上的只读存储器,一次性由厂家用特殊工艺固化,用户无法修改。
EEPROM:可实现重复擦写,直接用电路控制,不需要专门的设备来进行擦写。且操作单位为字节,并不需要操作整个芯片。目前已是主流。
2.2、FLASH
FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据,同时可以快速读取数据其存储特性,相当于硬盘。U盘和MP3里用的就是这种存储器。
近些年来,在嵌入式系统中,FLASH用作存储Bootloader,操作系统,程序代码或者直接当硬盘使用。
FLASH分类:
NOR FLASH得益于地址线和数据线分开,可以以“字节”读写数据,所以允许程序直接在上面运行。NOR一般只用来存储少量的代码,因为其读取速度快,多用来存储操作系统等重要信息;
NOR的特点是无需专门的接口电路、传输效率高,它是属于芯片内执行,不必再把代码读到系统RAM中。
NAND FLASH相当于PC系统中的硬盘,容量大,用于存储安装软件之类的。
NAND Flash是通过物理方法保存数据的,既然是用物理方法就必须得有损耗,所以它的寿命是有限的,写入超过一定次数后就会报废。
NAND FLASH对比NOR FLASH在成本上有很大的优势,但是存在坏块问题(NAND通常是以块为单位进行擦除,块内有一位失效整个块就会失效)。
NAND FLASH要在上面读写数据,外部要加主控和电路设计。
生产厂家主要有:东芝、美光、intel、HYNIX、三星。
2.3、eMMC
eMMC(Embedded Multi Media Card,嵌入式多媒体卡)为MMC协会所订立的, 它的内部是把NAND flash+主控IC封装在一起。
eMMC在物联网广泛应用,一般在移动设备,比如手机,平板电脑,一体工控机等等,总之一些硬件空间紧凑的地方。
eMMC优点是除了可以得到大容量的空间(这一点,只用NAND FLASH多堆叠也可以做到)外,还可以管理NAND (坏块处理,ECC,FFS)等。
eMMC(BGA封装)
eMMC现在主要是eMMC5.1,eMMC5.2,至此后,久未更新。
据说eMMC可能被UFS逐步取代,UFS闪存传输速率远超eMMC闪存,实际未知。
推荐阅读▼