NAND Flash 与 NOR Flash间的区别

2024-05-12 03:36
文章标签 区别 flash nand

本文主要是介绍NAND Flash 与 NOR Flash间的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

非易失性存储器是一种即使未通电也能保持其内容的存储器。非易失性存储器可以有不同的形式:

  • ROM – 只读存储器,数据写入一次,允许多次读取访问。

  • PROM – 可编程只读存储器,数据写入一次(不是在制造过程中,而是以后的任何时候),允许多次读取访问。

  • EPROM – 可擦除的可编程只读存储器,可以通过紫外线照射擦除内容后重新编程。

  • EEPROM – 电可擦除可编程只读存储器,可通过电压脉冲擦除。它可以被重写有限的次数。它仅在有限的时间内存储数据。

  • Flash EEPROM – 比EEPROM更先进,速度更快。允许以块的形式擦除和存储数据,但不允许以字节为单位。

Flash目前非常流行,主要有两种最流行的类型:NOR Flash和NAND Flash。

用途

  • NOR 内存用于存储代码和执行。允许快速随机访问内存阵列中的任何位置。
  • NAND存储器用于数据存储。需要相对较长的随机访问。编程和擦除比NAND存储器更容易。
  • NAND内存的成本比NOR内存便宜。

内存架构

  • NOR 和 NAND 闪存将信息存储在由浮栅晶体管制成的存储单元中。

  • 在 NOR 闪存中,每个存储单元的一端连接到源线,另一端直接连接到类似于 NOR 门的位线。

  • 在NAND闪存中,多个存储单元串联连接,类似于NAND门。
    NAND AND NOR

  • NOR闪存提供足够的地址线来映射所有存储器范围。它提供快速随机访问和较短的读取时间。缺点包括较大的单元尺寸,导致更高的bit成本以及较慢的写入和擦除速度,一旦NOR存储单元足够大,就会使其变得昂贵。

  • NAND存储单元体积更小,成本更低,具有更高的编程与擦除速度。但是,它的读取速度较低,不允许随机访问。代码执行是不同的,NAND内存比NOR内存更复杂,NAND闪存的代码执行是通过将内容隐藏到RAM来实现的,这与直接从NOR闪存执行代码不同。

  • NOR整个生命周期表现好 ,不会发生比特翻转。

  • NAND另一个主要缺点是存在坏块,NAND闪存在器件的整个生命周期内会发生比特翻转,因此需要在提供纠错码(ECC)功能。

内存容量

  • NAND存储器的密度远高于NOR闪存的密度,这主要是因为其每比特成本较低。
  • 由于其较高的密度,NAND闪存主要用于数据存储应用。

擦除、读取和写入

  • 在 NOR 和 NAND闪存中,存储器被组织成擦除块。此体系结构有助于在保持性能的同时保持较低的成本。例如,较小的块大小可实现更快的擦除周期。无论块有多小,需要的块数量越大,闪存的芯片尺寸就越大。

  • 由于其每比特成本较低,与 NOR 闪存相比,NAND 闪存可以更经济高效地支持更小的擦除块。

  • NAND 闪存中的擦除操作很简单,而在 NOR 闪存中,每个字节都需要用“0”写入才能擦除。这使得 NOR 闪存的擦除操作比 NAND 闪存慢得多。

  • 在NAND闪存中,使用多路复用地址和数据总线访问内存。典型的 NAND 闪存使用 8 位或 16 位多路复用地址/数据总线,并带有附加信号,例如芯片使能、写入使能、读取使能、地址锁存使能、命令锁存使能和就绪/忙。NAND闪存需要提供命令(读取、写入或擦除),然后是地址和数据。这些额外的操作使NAND闪存的随机读取速度大大变慢。例如,某NAND 闪存需要 30μS,而某NOR 闪存需要 120ns,NAND 的速度慢了 250 倍。

  • 为了克服或减少读取速度较慢的限制,内存通常以 NAND 闪存中的page形式读取,每页都是擦除block的较小细分。仅在每个读取周期开始时,才使用地址和命令周期按顺序读取一页的内容。

  • NAND 闪存的顺序访问持续时间通常低于 NOR 闪存设备中的随机访问持续时间。在NOR闪存的随机存取架构下,每个读取周期都需要切换地址线,从而累积顺序读取的随机存取。随着要读取的数据块大小的增加,NOR 闪存中的累积延迟变得大于 NAND 闪存。因此,NAND闪存的顺序读取速度更快。但是,由于 NAND 闪存的初始读取访问持续时间要长得多,因此只有在传输大型数据块时,性能差异才会显现出来。

  • NAND 和 NOR 闪存,在重新编程之前,都应擦除闪存设备。在这两种闪存技术中,只有当块为空时,才能将数据写入块。NOR Flash 的擦除操作已经很慢,这使得写入操作更加缓慢。在NAND闪存中,与读取类似,数据通常以page为单位写入或编程。

功耗

  • 在初始上电期间,NOR 闪存通常比 NAND 闪存需要更多的电流。但是,NOR 闪存的待机电流远低于 NAND闪存。两种闪存的瞬时有功功率相当。因此,有功功率由内存处于活动状态的持续时间决定。NOR 闪存在随机读取方面具有优势,而 NAND闪存在擦除、写入和顺序读取操作方面的功耗相对较低。

可靠性

  • 闪存存在一种称为比特翻转bit-flipping的现象,其中某些位可能会被反转。
  • 这种现象在NAND闪存中比在NOR闪存中更常见。出于良率考虑,NAND闪存在出厂时随机散布着随机的坏块。随着擦除和编程周期在NAND闪存的整个生命周期中继续进行,更多的存储单元会损坏。
  • 因此,坏块处理是NAND闪存的强制性功能。另一方面,NOR 闪存附带零坏块,在内存的生命周期内坏块累积非常低。
  • 因此,在存储数据的可靠性方面,NOR 闪存比 NAND 闪存更具优势。

数据保留

  • 可靠性的另一个方面是数据保留,NOR Flash具有优势。
  • 但是编程和擦除周期的数量也是同时需要考虑的重要特征。

这篇关于NAND Flash 与 NOR Flash间的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981491

相关文章

解读@ConfigurationProperties和@value的区别

《解读@ConfigurationProperties和@value的区别》:本文主要介绍@ConfigurationProperties和@value的区别及说明,具有很好的参考价值,希望对大家... 目录1. 功能对比2. 使用场景对比@ConfigurationProperties@Value3. 核

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

什么是ReFS 文件系统? ntfs和refs的优缺点区别介绍

《什么是ReFS文件系统?ntfs和refs的优缺点区别介绍》最近有用户在Win11Insider的安装界面中发现,可以使用ReFS来格式化硬盘,这是不是意味着,ReFS有望在未来成为W... 数十年以来,Windows 系统一直将 NTFS 作为「内置硬盘」的默认文件系统。不过近些年来,微软还在研发一款名

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@