ROM、RAM和FLASH

8/29/2022 9:51:13 AM
936
0

一、ROM

ROM(Read Only Memory),只读存储器。用来存储和保护数据。

 

ROM特性:

1. ROM数据不能随意更新,但在任何时候都可以读

2. 掉电可保留数据

 

ROM分类:

1. PROM:可编程一次性(无法修改的ROM)

2. EPROM: 紫外线可擦除可编程的ROM

3. EEPROM: 电可擦除可编程的ROM

a. 按字节进行删除和重写,所以写入时间很长,写入很慢

b. 可以随机访问和修改任何一个字节

c. 目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512k

二、RAM

RAM(Random Access Memory),随机存取存储器。 是与CPU直接交换数据的内部存储器,也叫内存。

 

RAM特性:掉电不保存

 

RAM分类:

1. 静态RAM(static RAM/SRAM)

a. SRAM速度非常快,不需要刷新电路即能保存数据,是目前最快的存储设备

b. 集成度比较低,非常昂贵,多用于一级缓存、二级缓存(L1/L2 Cache)

2. 动态RAM(Dynamic RAM/DRAM)

2.1 DRAM特点

a. DRAM保留数据的时间很短,需要内存刷新电路,每隔一段时间,刷新充电一次,否则数据会消失

b. 速度比SRAM慢,不过它比任何ROM都要快

c. 价格便宜,内存一般都是DRAM

2.2 DRAM分类(有很多种,其中一种是DDR RAM)

a. DDR RAM(Date-Rate RAM): 这种RAM可以在一个时钟读写两次数据


内存工作原理:

一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。

但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;

刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;

若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

 

三、Flash

 

Flash特性:

1. 可擦除可编程,跟EEPROM一样

2. 断电不会丢失

3. 可以快速读取数据

4. Flash跟EEPROM最大的区别是Flash按扇区操作,相对于EEPROM的改进就是擦除时不再以字节为单位,而是以块为单位

Flash有两种:

1. NOR Flash

a. 用户可以直接运行装载在NOR Flash中的代码(主要是因为有XIP技术,片上执行,不像NAND flash得将代码复制到RAM中才可以执行),这样可以减少SRAM的容量从而节约了成本。

b. 地址线和数据线分开,可以实现RAM一样的随机寻址,可以读取任意一个字节

c. 但擦除还是要以块为单位

2. NADN Flash

a. 数据线和地址线复用,不能利用地址线随机寻址。读取只能按页

总而言之,NOR flash和NAND flash比较,NOR可以支持随机访问,支持XIP,NAND不行;NOR容量小,读的比NAND快;NAND的容量较大,虽然读起来也快;NOR 写擦除都很慢,所以一般放代码段,而NAND写和擦除都很快,所以没有这个应用上的限制。

Flash工作原理:

Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),Flash的内部存储是MOSFET,里面有个悬浮门(Floating Gate),是真正存储数据的单元。

数据在Flash内存单元中是以电荷(electrical charge) 形式存储的。

存储电荷的多少,取决于图中的外部门(external gate)所被施加的电压,其控制了是向存储单元中冲入电荷还是使其释放电荷。

而数据的表示,以所存储的电荷的电压是否超过一个特定的阈值Vth来表示。

 

对于数据的表示,单个存储单元中内部所存储电荷的电压,和某个特定的阈值电压Vth,相比,如果大于此Vth值,就是表示1,反之,小于Vth,就表示0;

对于nand Flash的数据的写入1,就是控制External Gate去充电,使得存储的电荷够多,超过阈值Vth,就表示1了。

而对于写入0,就是将其放电,电荷减少到小于Vth,就表示0了

全部评论



提问