http://forum.eepw.com.cn/thread/309531/1

注:最近自己在看相关知识,特此记入,方便后续自己查看,顺便与需要的朋友共享,仅作学习之用,不做它用。

EEPROM、FLASH、NOR FLASH、NAND FLASH其实都属于FLASH。

EEPROM是按字节为单位进行擦写的FLASH,而之后发展的FLASH都是以块为单位,为了区别,对前者称为EEPROM,而将后者统称为FLASH。

一、EEPROM

EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。

EEPROM是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的。 

二、NOR FLASH 和 NAND FLASH

根据硬件上存储原理的不同,Flash Memory 主要可以分为 NOR Flash 和 NAND Flash 两类。

(1)、NOR FLASH

NOR Flash 根据与 CPU 端接口的不同,可以分为 Parallel NOR Flash 和 Serial NOR Flash 两类。
       Parallel NOR Flash 可以接入到 Host 的 SRAM/DRAM Controller 上,所存储的内容可以直接映射到 CPU 地址空间,不需要拷贝到 RAM 中即可被 CPU 访问,因而支持片上执行。Serial NOR Flash 的成本比 Parallel NOR Flash 低,主要通过 SPI 接口与 Host 连接。

图片: Parallel NOR Flash 与 Serial NOR Flash

鉴于 NOR Flash 擦写速度慢,成本高等特性,NOR Flash 主要应用于小容量、内容更新少的场景,例如 PC 主板 BIOS、路由器系统存储等。

(2)、NAND FLASH

NAND Flash 需要通过专门的 NFI(NAND Flash Interface)与 Host 端进行通信,如下图所示:

图片:NAND Flash Interface

NAND Flash 根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。

NAND Flash 的一个存储单元内部,是通过不同的电压等级,来表示其所存储的信息的。在 SLC 中,存储单元的电压被分为两个等级,分别表示 0 和 1 两个状态,即 1 个比特。在 MLC 中,存储单元的电压则被分为 4 个等级,分别表示 00 01 10 11 四个状态,即 2 个比特位。同理,在 TLC 中,存储单元的电压被分为 8 个等级,存储 3 个比特信息。

图片: SLC、MLC 与 TLC

NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。下图 中,给出了特定工艺和技术水平下的成本和寿命数据。

相比于 NOR Flash,NAND Flash 写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的 eMMC 内部的 Flash Memory 都属于 NAND Flash,PC 中的固态硬盘中也是使用 NAND Flash。

(3)、 NOR FLASH 和 NAND FLASH 差异

NOR FLASH 和 NAND FLASH 主要的差异如下所示:

·         NAND Flash 读取速度与 NOR Flash 相近,根据接口的不同有所差异;

·         NAND Flash 的写入速度比 NOR Flash 快很多;

·         NAND Flash 的擦除速度比 NOR Flash 快很多;

·         NAND Flash 最大擦次数比 NOR Flash 多;

·         NOR Flash 支持片上执行,可以在上面直接运行代码;

·         NOR Flash 软件驱动比 NAND Flash 简单;

·         NOR Flash 可以随机按字节读取数据,NAND Flash 需要按块进行读取。

·         大容量下 NAND Flash 比 NOR Flash 成本要低很多,体积也更小;

(注:NOR Flash 和 NAND Flash 的擦除都是按块块进行的,执行一个擦除或者写入操作时,NOR Flash 大约需要 5s,而 NAND Flash 通常不超过 4ms。)

三、Raw Flash 和 Managed Flash

由于 Flash Memory 存在按块擦写、擦写次数的限制、读写干扰、电荷泄露等的局限,为了最大程度的发挥 Flash Memory 的价值,通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为 FTL(Flash Translation Layer)。

在具体实现中,根据 FTL 所在的位置的不同,可以把 Flash Memory 分为 Raw Flash 和 Managed Flash 两类。

图片: Raw Flash 和 Managed Flash

(1)、Raw Flash
       在此类应用中,在 Host 端通常有专门的 FTL 或者 Flash 文件系统来实现坏块管理、擦写均衡等的功能。Host 端的软件复杂度较高,但是整体方案的成本较低,常用于价格敏感的嵌入式产品中。通常我们所说的 NOR Flash 和 NAND Flash 都属于这类型。

(2)、Managed Flash
       Managed Flash 在其内部集成了 Flash Controller,用于完成擦写均衡、坏块管理、ECC校验等功能。相比于直接将 Flash 接入到 Host 端,Managed Flash 屏蔽了 Flash 的物理特性,对 Host 提供标准化的接口,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 Flash 进行特殊的处理。eMMC、SD Card、UFS、U 盘等产品是属于 Managed Flash 这一类。

EEPROM、FLASH、NOR FLASH、NAND FLASH 区别、关系总结相关推荐

  1. nor flash启动与nand flash启动的区别

    1)接口区别: NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来.类似于memory的随机访问方式,在nor flash上可以直接运行程序, NAND Flash地址线和数据线在一 ...

  2. 3D Xpoint技术与NAND Flash、3D NAND Flash及DRAM的比较

    1.NAND颗粒:浮栅极物理结构单元,通过电压驱动电子,由电压值来判定bit位0或1.分为SLC.MLC.TLC三种flash颗粒,擦除次数分别为1万-10万.1千-1万.几百-1千次.寿命是NAND ...

  3. 如何自动识别是NOR flash 启动还是NAND flash启动

    Norflash启动时: 4K的内部SRAM都被映射到了0x40000000-0x40001000 Nandflash启动时: 4K的内部SRAM都被映射到了0x40000000,同时还被映射到了0x ...

  4. nand flash和nor flash的这几点区别你知道吗?

    这篇文章讲解nand flash和nor flash的特点和区别,不涉及存储原理的讲解 (一)Flash简介 FLASH是一种存储芯片,全名叫Flash EEPROM Memory,通地过程序可以修改 ...

  5. EEPROM,NOR Flash,NAND Flash,eMMC,UFS,SSD分别和主要参数及特性

    EEPROM.NOR Flash.NAND Flash.eMMC.UFS.SSD都是非易失性存储器,但它们在架构.存储容量.读写速度.功耗.价格等方面存在不同,具体如下: EEPROM:EEPROM( ...

  6. NAND FLASH 内存详解与读写寻址方式

    目录: 第一章 绪论 1.1 课题来源 1.2 研究背景与意义     1.2.1 Flash介绍     1.2.2 NAND Flash介绍     1.2.3 NAND Flash与NOR Fl ...

  7. NAND FLASH 读写操作 简介

    NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...

  8. nand flash 个人觉得写得比较好的文章

    [详解]如何编写Linux下Nand Flash驱动 版本:v2.2.1 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flas ...

  9. nand flash 经典 全面 ------如何编写Linux下Nand Flash驱动

    Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开 ...

  10. 【详解一】Nand Flash 编写驱动之前要了解的知识

    1.1. 一些相关的名词的解释 1.1.1. Non-Volatile Memory非易失性存储器 NVM,即NV (RAM)Memory,断电数据也不会丢失的存储器,比如Nand Flash,Nor ...

最新文章

  1. CSP:CSP认证考试:202109-1(数组推导)满分答案,Java版
  2. php的辅助工具下载,PHPTools 工具包(让你的EditPlus可以调试PHP)
  3. python dict 字典 清空
  4. 深究 ElasticSearch 查询的秘密
  5. 战神引擎修改服务器时间,修改战神引擎手游进入游戏公告内容教程
  6. 我的python渗透测试工具箱之自制netcat
  7. VC windows 多网卡情况下 获取当前网卡ip地址
  8. 使用自定义卫语句写出更简洁的代码
  9. 用计算机弹猪猪侠数字,猪猪侠之挑战数字
  10. matlab whos命令
  11. 第一代90后IT毕业生调查:不想做IT民工,想做马云
  12. 不登录mysql 执行sql_不登录到MySQL执行SQL语句
  13. getBoundingClientRect()兼容性处理
  14. 2015年c语言等级考试题1 10 2分,2015年计算机二级《C语言》精选练习题及答案(2)...
  15. 八大数据结构-数组 栈 队列 链表 树 散列表 堆 图
  16. 【托业】【新托业TOEIC新题型真题】学习笔记1--题库一--P1~4
  17. STM32读取MPU6050陀螺仪
  18. pku_oj: W11-01 最大素数问题 (C++)
  19. 关于α测试与β测试的区别
  20. 【板栗糖GIS】CAD照片底色为黑色如何调整为白色

热门文章

  1. 知识整理的八种笔记方法
  2. 利用Matlab求解函数导数并绘图
  3. 64位lua引擎如何支持32位luac编译出来的二进制字节码?
  4. html 打开 app,h5页面打开app
  5. atmega128 单片机 玩具电子琴 蜂鸣器 电子琴
  6. IDEA 文件对比功能图解
  7. Nutch简介(转2)
  8. Cell插件在J2EE系统中的应用
  9. Android开发之获取GPS位置案例源码详解
  10. 模式识别和机器学习的区别