存储器整体分成两大类:ram和rom,本文主要介绍下rom。
最初的rom不能编程,出厂时写入什么则是什么后期无法更改。第二阶段出现prom,但是只能写一次,生死由命。第三阶段出现了eprom,可以多次擦写。但是每次擦除要用紫外线照射。直到目前大家所熟知的eeprom出现,允许电擦除。
传统eeprom
可以随机访问和修改任何一个字节,允许开发人员往每个bit中写入0或者1,缺点:容量一般在几十~几百字节,很少有超过512K的,典型芯片24Cxx系列。
广义eeprom
flash从广义(电擦除的角度)上讲可以认为属于eeprom,但是其擦除不再以字节为单位,而是以块为单位。容量到达M级别的一般都是flash,常见的如W25Qxx系列。
flash又分为nor flash、nand flash
nor flash特点:数据线和地址线分开,实现ram一样的随机寻址,擦除按照块为单位,但是读取的最小单位为字节。W25Qxx属于spi flash,严格的讲spi只是一种总线接口,其属于nor flash范畴。
nand flash特点:数据线和地址线复用,不能随机寻址,擦除按照块来擦除,但是读取只能按页来。由于数据线和地址线复用因此读取速度上会比nor flash慢一些,写入速度会比n
or flash速度快不少,大容量的flash基本上是nand flash。
另外nand flash的擦除次数是nor flash的数倍,而nand flash可以标记坏块,从而软件跳过坏块即可。而nor flash则坏了就报废。