NAND和NOR闪存有什么区别?


37

有什么区别,您将在哪里使用?

Answers:


22

有很多折衷选择。

维基百科还:

尽管增加了晶体管,但接地线和位线的减少仍使布局更密集,每个芯片的存储容量更大。另外,通常允许NAND闪存包含一定数量的故障(用于BIOS ROM的NOR闪存应无故障)。制造商试图通过将晶体管的尺寸缩小到可以可靠制造的尺寸以下来最大化可用存储量,以至于进一步减少将增加故障数量的速度快于增加可用总存储量的尺寸。

因此,NOR闪存可以更轻松地进行寻址,但密度甚至不及后者。

如果您看一下相当不错的比较PDF。

NOR具有较低的待机功率,易于执行代码,读取速度也很高。

NAND具有更低的有功功率(写入位更快,成本更低),更高的写入速度(很多),更高的容量,每位的成本更低,并且非常易于文件存储使用。由于在将其用于代码执行时读取速度较低,因此您确实需要对其进行重影以进行夯实。

引用上面有一个大表的一小部分...

NAND闪存的特性是:高密度,中等读取速度,高写入速度,高擦除速度以及间接或I / O类访问。NOR Flash的特点是密度低,读取速度快,写入速度慢,擦除速度慢以及随机访问接口。


22

NAND闪存更便宜,因此,您可以使用它。缺点是它不那么可靠。NAND闪存在大多数操作中速度更快,但值得注意的例外是小的随机访问读取。如果要从内存中的随机地址读取几个字节,则NOR速度更快。对于大内存读取,NAND表现相当不错,并且在足够大的块上实际上胜过NOR。

大多数嵌入式操作系统都包含用于纠正NAND Flash中错误的代码。也有带有硬件纠错功能的微控制器。真正的问题发生在引导时-一级引导加载程序没有纠错代码,并且它们还没有配置内存控制器以运行硬件ECC。这有点麻烦,因为您尚未加载ECC代码,因此无法正确加载ECC代码。

为了解决这个问题,一些内存制造商会指定芯片的某个区域,保证该区域没有错误(前4 kB或类似的东西)。您在其中放置了带有软件ECC的引导加载程序(例如U-boot),无任何错误地将其读出,然后使用它来读出OS内核,并在进行过程中更正错误。您还可以将引导加载程序存储在串行闪存中,并且仅将NAND闪存用于OS内核或文件系统之类的大型内容。

我发现这份Atmel应用说明非常有用:http : //www.atmel.com/dyn/resources/prod_documents/doc6255.pdf


2
NAND闪存可靠性较低的一个后果是,虽然NAND闪存设备允许随机读取单个字节(设置时间很少),但实际上读不到一页,除非其中包含较小块的纠错信息(例如,一个人可以将每个字节写为16位,并且能够检测所有的单位和双位错误,但代价是只能存储一半的信息。
supercat

5

NOR允许随机访问,但NAND不允许(仅页面访问)。

维基百科

NOR和NAND闪存的名称来自存储单元之间互连的结构。在NOR闪存中,单元与位线并联连接,从而可以分别读取和编程单元。单元的并行连接类似于CMOS NOR门中晶体管的并行连接。在NAND闪存中,单元串联连接,类似于NAND门。串联连接比并行连接消耗更少的空间,从而降低了NAND​​闪存的成本。它本身并不能防止NAND单元被单独读取和编程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.