FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。

现在的单片机,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM主要是用以在程序运行保存一些需要掉电不丢失的数据.

1、RAM
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。

SRAM和DRAM区别
RAM有两大类:

一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。

另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。

DRAM
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

2、ROM
ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。
手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势)
ROM(EPROM)作为它们的存储设备,然而近年来 Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。
目前Flash主要有两种NOR Flash和NADN Flash。

3、Flash
NOR Flash
NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。(一般程序运行需要将程序从EPROM中读取到RAM中然后运行,但是NOR FLASH可以直接读取运行。)
NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NOR flash占据了容量为1~16MB闪存市场的大部分。

NAND Flash
NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。
  NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。

一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH。

NOR和NAND 比较
1、性能比较:

● NOR的读速度比NAND稍快一些。
● NAND的写入速度比NOR快很多。
● NAND的4ms擦除速度远比NOR的5s快。
● 大多数写入操作需要先进行擦除操作。
● NAND的擦除单元更小,相应的擦除电路更少。

2、接口差别:

NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。

3、容量和成本:

NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储。

4、可靠性和耐用性:

A) 寿命(耐用性)
  在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。

B) 位交换
在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特(bit)位会发生反转或被报告反转了。
位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。
这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。

5、易于使用:

可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。
由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。

完!!!

STM32----FLASH和EEPROM的区别相关推荐

  1. DRAM、NAND Flash、Nor Flash、EEPROM的区别和应用领域

    DRAM.NAND Flash.Nor Flash.EEPROM的区别和应用领域 mark,后面补充

  2. FLASH和EEPROM的区别

    FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低 ...

  3. STC8学习笔记(一)stc8内部储存器分类(SRAM、ROM、FLASH、EEPROM)

    基于stc8A8K的内部储存分类 数据储存器--RAM 内部 RAM 内部扩展RAM 外部扩展RAM 程序储存器--ROM stc8a8k 将 数据定义到ROM EEPROM FLASH与EEPROM ...

  4. STM32F10x Flash 模拟 EEPROM

    STM32F10x芯片本身没有集成EEPROM,替代方案是用片上Flash来模拟EEPROM.Flash与EEPROM的区别主要是:一.EEPROM可以按位擦写,而Flash只能按块(页)擦除:二.F ...

  5. flash 和 eeprom 区别和关系、nor flash和nand flash区别

    1.FLASH存储器和EEPROM存储器的区别 2.EEPROM介绍及与Flash区别_VirtuousLiu的博客-CSDN博客_eeprom 3.基础--ROM, RAM, FLASH, SSD, ...

  6. Flash、EEPROM、SRAM的区别与理解

    Flash.EEPROM.SRAM的区别与理解 1. Flash.EEPROM.SRAM的区别 (1) Flash存储器 Flash适用于速度要求高.容量要求大.掉电时要求数据不丢失的场合. (2) ...

  7. 【正点原子STM32连载】 第四十五章 FLASH模拟EEPROM实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

    第四十五章 FLASH模拟EEPROM实验 STM32本身没有自带EEPROM,但是STM32具有IAP(在应用编程)功能,所以我们可以把它的FLASH当成EEPROM来使用.本章,我们将利用STM3 ...

  8. 【正点原子STM32连载】第四十二章 FLASH模拟EEPROM实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  9. Flash,EEPROM区别

    flash是用来存储代码的,在运行过程中不能改:EEPROM是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为12:00,后来在运行中改为6:00,这是保存在EEPROM里,不 ...

最新文章

  1. mysql command type_mysql command line client 使用命令
  2. 进程线程005 SwapContext函数分析
  3. 转: eclipse 快捷键列表(功能清晰版本)
  4. c++大作业迷宫游戏 规定时间内完成_孩子写作业慢的7种原因及其解决对策
  5. Vue中token刷新及token过期的实现
  6. 2017.9.4 黑白棋 失败总结
  7. 查看tsfresh提取(时间)序列特征的变量含义
  8. eclipse报错 : One or more constraints have not been satisfied.
  9. 【Java】Java日志框架Logback的简单例子
  10. Java出现OutOfMemoryError
  11. 2008-8-26~2008-9-4 出差报告
  12. 换个角度看历史——《军事里的中国史》
  13. 深度学习-图神经网络总结
  14. c语言中的16进制坐标计算器,16进制计算器
  15. (翻译)预览(Preview)
  16. 怎么样给Oracle数据库中的表添加列?
  17. 解决联想电脑自带麦克风不能使用
  18. 计算机科学技术手抄报,【科技创新手抄报资料50】_关于科技创新的手抄报内容资料...
  19. 微信小程序获取输入框(input)内容
  20. IEEE-754标准与浮点数运算

热门文章

  1. 键盘输入 vs 复制粘贴
  2. java解决异常_聊聊Java中的异常及处理
  3. 【渝粤题库】陕西师范大学201771 中国古代文学(一) 作业
  4. ESP32 LVGL8.1 ——Style multiple styles 多种风格样式 (Style 12)
  5. 最好用的文字锁屏APP的使用教程
  6. ServU与IIS冲突原因:80、443端口占用
  7. FPGA和eeprom通信
  8. vuex 是什么? 以及它的基本使用
  9. 如何彻底修复DNS污染呢?
  10. 服装ERP应用 四 从手工到Web 2 0时代的VIP客户管理