本文主要是介绍EEPROM和FLASH,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
存储器分为两大类:RAM和ROM。RAM:程序执行的空间,如计算机RAM,再我们点击桌面应用软件时,操作系统将应用程序对应该的执行文件加载到计算机的RAM中运行。如果应用程序需要的RAM超过实际计算机的RAM内存,引出“虚拟内存”的概念,将一部分程序不经常使用的数据放到硬盘中,待需要的时候才提取出来。
ROM:最初不能重写,内容由出厂写死。后来出现了PROM,PROM只能写入一次,如果出现错误则需要更换芯片。随着时间的推移,终于出现了可紫外线擦除的EEPROM,但是每次擦除时需要放置在紫外线下照射半小时,比较耗费时间。最终ROM进化到了可以随意修改的EEPROM了。
EEPROM:Electrically Eraseable Programmable Read-Only Memory,翻译过来是:电可擦除可编程只读存储器。
EEPROM按照擦除的方式可以分为:狭义的EEPROM和广义的EEPROM;
狭义的EEPROM:按字节为单位的擦写的EEPROM;可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的。
广义的EEPROM:按块擦除的EEPROM,称为FLASH。
FLASH在擦除时不再以字节为单位,而是以块为单位,简化了电路,数据密度更高,降低了成本。可以达到M级别的存储空间。
FLASH又可分为NOR FLASH和NAND FLASH。
NOR FLASH数据线和地址线分开,可以实现RAM一样的随机寻址功能,可以读取任何一个字节,但是擦除按块来擦。
NAND FLASH同样是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。读取只能按页来读取。
读取速度:由于NAND FLASH引脚上复用,因此读取速度比NOR FLASH慢一点,但是擦除和写入速度比NOR FLASH快很多。NAND FLASH内部电路更简单,因此数据密度大,体积小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的。
用寿命上:NAND FLASH的擦除次数是NOR FLASH的数倍。而且NAND FLASH可以标记坏块,从而使软件跳过坏块,因此存储空间会越来越小,这也就是U盘使用的时间越长存储空间越小的原因;而NOR FLASH 一旦损坏便无法再用。
因为NOR FLASH可以进行字节寻址,所以程序可以在NOR FLASH中运行。嵌入式系统多用一个小容量的NOR FLASH存储引导代码,用一个大容量的NAND FLASH存放文件系统和内核。
原文地址:http://blog.csdn.net/yuanlulu/article/details/6163106。
这篇关于EEPROM和FLASH的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!