NAND和NOR Flash 完全应用笔记(应用调试篇)
本文要点:
- 给出了华为三星及英特尔的常用FLASH参考电路;
- 结合datasheet解说2 bit以及4 bit的NAND FLASH;
- 调试思路总结以及简单的调试经验分享;
- 最新的3D Xpoint技术介绍。
首先,我要用这张图来说明存储器近70年的发展历程,纵观这70年的发展,可以发现主要是在容量,速度以及寿命等方面出现了飞跃式增长。
然后,给出实际工程中的常见几种应用电路。
(1) 第一种应用:
NOR FLASH和NAND FLASH的工程应用电路如下图所示,电路结构很简单,是非常常用的电路单元,就不多说了
(2) 第二种应用
还有一种应用电路也很常用,目前的实际工程也经常使用,就是2 bit或者4 bit NAND FLASH的应用单元电路,硬件工程师在选取器件时,有一项规格参数就是让选择X1/X2/X4的这一项,这个就是用来选择几个bit的,电路形式略有不同,如下图所示。
图中可以看出,复用了几个pin,然后结合MISO和MISO就组成了D0, D1, D2以及D3。具体说明可以从器件SPEC中可以查到,如下图所示。
(3) 第三种应用
这种应用也很常见,如下图所示,就是多片SPI FLASH通过不同的片选信号,连接到CPU上工作的线路图。也很简单,但是是常用的电路模块,也需要牢记的。
[调试经验]
分享一个早期调试一个主板上的SPI FLASH的经验。
- 在主板上验证一个新的SPI FLASH, 焊接好后,外挂的ROM芯片始终不工作,焊接也没问题
反复检查后,发现主系统主要是采用1.8V供电,但是SPI ROM则是3.3V供电,如果要用25XX芯片,则需要采用Level Shift电路。或者采用第二种方案:是采用winbond的1.8V的芯片W25Q32XX换上这块芯片后,系统工作了。
[新技术进展]
3D Xpoint是自NAND Flash推出以来,最具突破性的一项存储技术。比NAND速度快1000倍以上,寿命是NAND的1000倍以上。并且具备以下四点优势,3D Xpoint被看做是存储产业的一个颠覆者:
(1)比NAND Flash快1000倍;
(2)成本只有DRAM的一半;
(3)使用寿命是NAND的1000倍;
(4)密度是传统存储的10倍;
因为这些优点,集中的解决了目前存储器存在的痛点。
- 存储器的性能是PC设备上目前的短板。HDD<SSD<内存带宽<高速缓存。
- DRAM:易失性难以解决,也就是存储需要不停供电,断电就会丢失存储的数据。DRAM只是不断地在预取值和总线上进行调整,核心的存储架构变化不大。
- NAND:使用寿命、延迟不尽如人意,即使是性能最好的SLC NAND颗粒,其寿命也比DRAM小得多。
目前最快的DDR4内存,仍旧只能充当暂存器。
原理简要说明:
3D XPoint的工作原理与NAND存在着根本性的不同。NAND通过绝缘浮置栅极捕获不同数量的电子以实现bit值定义,而3D XPoint则是一项以电阻为基础的存储技术成果,其通过改变单元电阻水平来区分0与1。
3D XPoint的存储单元可以以3D方式进行堆叠,从而进一步提升存储密度。在英特尔的官方宣传中,3D XPoint拥有NAND类似的容量和DRAM类似的性能。包括比NAND速度快(应该是指延迟低)1000倍以上,寿命是NAND的1000倍以上,数据密度则达到了DRAM的十倍以上。如此屌炸天的性能,你,怕不怕?
以下是NAND和NOR Flash的应用调试笔记:
对于NAND Flash,其操作包括擦除和编程,擦除的最小单位是块(block),编程的最小单位是页(page)。由于页的大小比块小很多,因此NAND Flash的读、写、擦等速度比NOR Flash要快很多,而擦除操作比读操作要慢。
对于NOR Flash,其操作包括擦除和编程,擦除和编程的最小单位都是位(bit)。NOR Flash的读速度比NAND Flash要快很多,但由于位(bit)级别的擦除和编程操作非常慢,因此NOR Flash的擦除和编程速度比NAND Flash要慢很多。
在使用NAND或NOR Flash时,需要注意其擦除和编程的操作细节,比如擦除和编程的最小单位、擦除和编程的速度等。此外,还需要注意其地址映射、容量、接口类型等其他参数。
在使用NAND或NOR Flash时,需要进行坏块管理和数据保护。对于坏块管理,可以通过出厂前测试并记录坏块位置来实现;对于数据保护,可以通过备份、校验等方式来确保数据的安全性。
在使用NAND或NOR Flash时,需要注意其电源、时钟等硬件电路的设计,以确保其正常工作。同时,还需要进行软件调试和优化,以确保程序的正确性和性能。
总之,在使用NAND或NOR Flash时,需要注意其操作细节和其他参数,并进行坏块管理和数据保护,以确保其正常工作和数据的安全性。