闪存 101:NAND 闪存与 NOR 闪存

时间:2023-03-13

嵌入式系统设计人员在选择闪存时必须考虑很多因素:使用哪种类型的闪存架构,是选择串行接口还是并行接口,是否需要纠错码(ECC)等等。如果处理器或控制器只支持一种类型的接口,这会限制选项,因此内存可能很容易选择。然而,通常情况并非如此。例如,一些FPGA支持串行NOR Flash、并行NOR Flash和NAND Flash存储器来存储配置数据。同样的内存可用于存储用户数据,这使得选择合适的内存使用变得更加困难。在本系列文章中,将从 NOR 闪存和 NAND 闪存之间的差异开始讨论闪存的不同方面。

内存架构

闪存将信息存储在由浮栅晶体管制成的存储单元中。这些技术的名称解释了存储单元的组织方式。在 NOR Flash 中,每个存储单元的一端连接到源极线,另一端直接连接到类似于或非门的位线。在 NAND 闪存中,多个存储单元(通常为八个单元)串联连接,类似于与非门(见图 1)。

点击查看大图
图 1:NOR 闪存(左)具有类似于或非门的架构。同样,NAND Flash(右)类似于 NAND 门。()

NOR 闪存架构提供足够的地址线来映射整个内存范围。这提供了随机访问和读取时间短的优势,使其成为代码执行的理想选择。另一个优势是在部件的使用寿命内 100% 已知良好位。缺点包括更大的单元尺寸导致更高的每比特成本和更慢的写入和擦除速度。有关如何在嵌入式系统中使用 NOR 闪存的更多详细信息,请参阅并行 NOR 闪存概述。

相比之下,与 NOR 闪存相比,NAND 闪存具有更小的单元尺寸和更高的写入和擦除速度。缺点包括读取速度较慢和I/O映射类型或间接接口,更复杂且不允许随机访问。重要的是要注意,从 NAND 闪存执行代码是通过将内容映射到 RAM 来实现的,这与直接从 NOR 闪存执行代码不同。另一个主要缺点是存在坏块。NAND 闪存在出厂时通常有 98% 的好位,并且在部件的使用寿命期间会出现额外的位故障,因此需要在设备中提供纠错码 (ECC) 功能。

内存容量

与 NOR 闪存相比,NAND 闪存的密度要高得多,这主要是因为其每位成本较低。NAND 闪存通常具有 1Gb 到 16Gb 的容量。NOR 闪存的密度范围从 64Mb 到 2Gb。由于密度较高,NAND 闪存主要用于数据存储应用。

擦除、读取和写入

在 NOR 和 NAND 闪存中,存储器被组织成擦除块。这种架构有助于在保持性能的同时保持较低的成本。例如,较小的块大小可实现更快的擦除周期。然而,较小块的缺点是芯片面积和内存成本增加。由于每位成本较低,与 NOR 闪存相比,NAND 闪存可以更经济高效地支持更小的擦除块。目前可用的典型块大小范围为 NAND 闪存 8KB 至 32KB 和 NOR 闪存 64KB 至 256KB。

NAND Flash 中的擦除操作非常简单,而 NOR Flash 中的每个字节都需要写入'0'才能被擦除。这使得 NOR Flash 的擦除操作比 NAND Flash 慢得多。例如,S34ML04G2 赛普拉斯 NAND 闪存需要 3.5 毫秒来擦除一个 128KB 的块,而S70GL02GT赛普拉斯 NOR 闪存需要大约 520 毫秒来擦除一个类似的 128KB 扇区。这是将近150倍的差距。

如前所述,NOR Flash 内存有足够的地址和数据线来映射整个内存区域,类似于 SRAM 的操作方式。例如,具有 16 位数据总线的 2-Gbit (256MB) NOR 闪存将具有 27 条地址线,支持对任何内存位置的随机读取访问。在 NAND 闪存中,使用多路复用地址和数据总线访问内存。典型的 NAND 闪存使用 8 位或 16 位多路复用地址/数据总线和附加信号,例如芯片启用、写入启用、读取启用、地址锁存启用、命令锁存启用和就绪/忙碌。NAND Flash 需要提供命令(读、写或擦除),然后是地址和数据。这些额外的操作使得 NAND Flash 的随机读取速度变慢了很多。例如,S34ML04G2 NAND 闪存需要 30μS,而 S70GL02GT NOR 闪存需要 120ns。

为了克服或减少较慢读取速度的限制,内存通常作为 NAND 闪存中的页面读取,每个页面都是擦除块的较小细分。一页的内容仅在每个读取周期开始时按地址和命令周期顺序读取。NAND 闪存的顺序访问持续时间通常低于 NOR 闪存设备中的随机访问持续时间。NOR Flash 的随机访问架构,需要在每个读取周期切换地址线,从而累积顺序读取的随机访问。随着要读取的数据块大小的增加,NOR Flash 中的累积延迟变得大于 NAND Flash。因此,NAND 闪存可以更快地进行顺序读取。然而,由于 NAND Flash 的初始读取访问持续时间要长得多,

在这两种闪存技术中,只有当块为空时才能将数据写入块。NOR Flash 本来就很慢的擦除操作使得写入操作更慢。在NAND Flash中,与读取类似,数据通常以页(通常为2KB)为单位写入或编程。例如,使用 S34ML04G2 NAND 闪存单独写入一个页面需要 300μS。

为了加快写入操作,现代 NOR 闪存还采用类似于页面写入的缓冲区编程。例如,S70GL02GT NOR Flash 支持缓冲区编程,支持多字节编程,具有类似的单字写入超时。例如,对 512 字节数据的缓冲区编程可以实现 1.14MBps 的吞吐量。

能量消耗

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

可靠性

保存数据的可靠性是任何存储设备的一个重要方面。闪存存在一种称为位翻转的现象,其中某些位可能会反转。这种现象在NAND Flash中比在NOR Flash中更常见。出于成品率方面的考虑,NAND 闪存随附随机散布的坏块。随着擦除和编程循环在 NAND 闪存的整个生命周期中持续进行,更多的存储单元会坏掉。因此,坏块处理是 NAND 闪存的强制性功能。另一方面,NOR 闪存出厂时坏块为零,在内存的使用寿命期间坏块累积非常低。因此,在存储数据的可靠性方面,NOR Flash比NAND Flash更有优势。

数据保留

可靠性的另一个方面是数据保留,NOR Flash 在这方面再次占据优势。S70GL02GT NOR 闪存提供 20 年的数据保留,多 1K 次编程/擦除周期。S34ML04G2 NAND 闪存提供 10 年的典型数据保留期。

编程和擦除周期的数量曾经是一个需要考虑的重要特性。这是因为与 NOR 闪存相比,NAND 闪存过去提供的编程和擦除周期要好 10 倍。随着今天的技术进步,这不再是事实,因为现在两种记忆都具有可比性。例如,S70GL02GT NOR 和 S34ML04G2 NAND 都支持 100,000 个编程擦除周期。然而,由于 NAND 闪存中使用的块尺寸较小,因此每次操作擦除的区域较小。与 NOR 闪存相比,这导致了更长的整体寿命。

表 1 总结了本文中讨论的主要方面。

点击查看大图
表 1:NOR Flash 和 NAND Flash 的主要特性比较图,一般比较图和具体比较图。()

Nand 和 Nor 闪存有什么区别?

一般而言,NOR 闪存是需要较低容量、快速随机读取访问和较高数据可靠性(例如代码执行所需)的应用的选择。就其本身而言,NAND 闪存非常适合需要更高内存容量和更快写入和擦除操作的数据存储等应用。

在本系列的下一篇文章中,我们将重点介绍不同类型 NOR 闪存设备的电气接口,以及这如何影响设备选择和设计。

上一篇:TI - 推动增强现实抬头显示 (AR-HUD) 的未来发展
下一篇:满足 CAN 收发器的抗扰度要求

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料