EEPROM与FLASH闪存到底区别在哪?
狭义的EEPROM特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的。
两者都是非易失性存储器。flash是用来存储代码的,在运行过程中不能改;EEPROM是用来保存用户数据,运行过程中可以改变,不怕掉电。
1、擦写方式不同
FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。。
一般来说eeprom中存放开机是用到的参数,不可丢失的变量等,而FLASH中会存放程序,记录文件等。
FLASH在写新的数据前必须先擦除,而且经常是只允许整页擦除,没有办法擦除一个字节,换句话说,只能成块的读写,特别是写。
EEPROM写之前不需要擦除,可以每次改写一个字节。当然,也有缺点,EEPROM读写速度慢,另外,容量比较小,也就是说EEPROM要贵。
2、使用情况不同
对单片机来说,关键性的数据,如传感器的标定数据,用户配置参数等,用EEPROM存储,而像文件等大容量的数据记录,或者经常读但很少写的数据,可以用FLASH闪存存储,像图片、字库、文件记录。
除了操作次数相当高外,操作时间也很短,基本上命令发完就完成了读写操作,不需要eeprom的写等待查询。
3、擦写次数不同
eeprom比flash多很多,一般flash数据保证保存10年擦写的次数在几千次(现在有些已经到了上万次),eeprom的数据比这个大,但普通eeprom也是有限制。
如果要“无限制”,可以选择FRAM,它虽然读一次和写一次都算一次操作,但操作次数可以到10的12次方级别,基本可以认为是无限。
flash分为nor flash和nand flash。nor flash数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节。但是擦除仍要按块来擦。
nand flash同样是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。读取只能按页来读取。(nandflash按块来擦除,按页来读,norflash没有页)
注:整理自网络