NOR闪存基础知识
电子产品因数据存储、内部指令执行、系统数据交换等功能需要,往往在设计上有一定存储空间的需求。单片机自身的存储有时不能满足实际应用的需要。因此,电子工程师在产品设计时会采用各种闪存(Flash Memory)芯片。
NOR闪存和NAND闪存
嵌入式工程师或者电子工程师在选择闪存时必须考虑很多因素:采用哪种类型的架构(NOR或NAND)?是选择串行接口(serial)还是并行接口(parallel)?是否需要纠错码(ECC)?等等。如果处理器或控制器只支持一种类型的接口,选择起来就相对容易。然而现实情况往往并非如此。这里我们先来认识一下闪存的两种架构:NOR和NAND。
NOR架构的布线和结构如下图所示。每个记忆单元互相独立,都有一段直连到地,组成一个类似NOR闸(或称“或非门”)的电路。当两个字线中有一个字线(Word Line)被拉低(0)时,相应的位线(Bit Line)就会被拉高(1)。而想要位线被拉低,则需要两个字线都拉低。
NOR Flash 闪存在硅上的布线和结构 (图片来源:维基百科)
NAND架构的布线和结构如下图所示。多个(通常是8个)记忆单元以类似NAND闸(或称“与非门”)的方式彼此串联。当所有的字线都拉高(1)时,位线就被拉低(0)。
NAND Flash 闪存在硅上的布线和结构 (图片来源:维基百科)
NOR闪存架构提供了足够的地址线来映射整个内存范围。这使其具有随机访问和读取时间短的优势,成为“代码执行”的理想选择。NOR架构另一个优点是在闪存的使用寿命内每个储存单元的好坏情况都是可知的。缺点包括单元尺寸较大,导致每比特成本较高,且写入和擦除速度较慢。
相比之下,NAND架构与NOR架构相比,单元尺寸更小,写入和擦除速度更高。缺点包括读取速度较慢,且采用I/O映射型或间接接口,比较复杂,不允许随机访问。另一个主要缺点是存在坏块。NAND Flash在出厂时通常有98%的单元正常工作,在产品的整个使用寿命中可能会发生额外的故障(坏块),因此需要在器件内部设置纠错码(ECC)功能。
总结NOR架构与NAND架构的区别如下:
一般来说,对于需要较低容量、快速随机读取访问和较高数据可靠性的应用,如代码执行所需,NOR闪存是一个很好的选择。比如,在物联网和人工智能技术蓬勃发展的今天,NOR闪存就可以应用在很多设备上来存储、运行程序以让产品更加智能。而NAND闪存则是数据存储等应用的理想选择,因为这些应用需要更高的内存容量和更快的写入和擦除操作,因此SSD等都是使用NAND闪存。
目前NOR闪存市场占有率排名靠前的有华邦(台湾)、旺宏(台湾)、兆易创新(中国大陆)、赛普拉斯(美国)、美光(美国)。行业内主流NOR Flash产品的工艺节点仍为65nm。合肥恒烁半导体在2020年4月推出50nm高速低功耗产品,中国大陆半导体厂家已经开始在NOR闪存的赛道奋起直追。而NAND 市场占有率主要集中在三星(韩国)、东芝(日本)、西部数据(美国)、美光(美国)、英特尔(美国)、SK海力士(韩国)等传统大厂手上,国产厂商与之还存在一定技术差距。但也有好消息传来:长江存储在2020年初宣布将跳过96层,直接量产128层闪存,惟具体时间表还没有公布。
NOR闪存的电气接口
NOR闪存刚问世时,采用的是带有并行地址和数据总线的并行接口。随着密度的增长,并行接口的信号数逐渐提高,使得电路设计变得更加困难。在这种情况下NOR闪存的接口开始向串行发展,但相较并行接口其性能受到一定的影响。下面讨论几种采用不同接口方式的NOR闪存。
并行NOR闪存的电气接口
顾名思义,并行NOR闪存使用类似SRAM的并行地址和数据总线与存储器控制器进行接口。市场上的并行NOR Flash器件一般支持8位(8-bit)或16位(16-bit)数据总线。地址总线的宽度取决于Flash的容量。地址总线的宽度可以用以下公式计算:
总线宽度 = log2 (以bit计的总容量 / 以bit计的数据总线宽度)
根据此公式我们可以算出具有16位数据总线的2-Gbit(256MB)NOR闪存将有27条地址线。一个256MB的内存如果使用并行接口的话,算上片选、重置等脚位后将会有30多个电气接口,给电路设计带来很大的难度。
我们再来看看除了地址线以外并行接口还需要哪些信号:
并行NOR闪存的接口方式(图片来源:赛普拉斯)
不难看出并行NOR闪存使用的接口数会非常多,给电路设计带来很大困难。因此目前大多数的NOR闪存都采用了串行接口。
串行NOR闪存的电气接口
串行接口的接口数量大大减少,可以实现更小的器件封装和更简单的PCB布线。缺点是牺牲了NOR闪存的主要优势之一,即直接随机存储访问。
串行NOR闪存通常使用串行外设接口(标准SPI)协议与存储器控制器连接。为了实现更高的速度,可以使用双SPI(Dual SPI)和四SPI(QUAD SPI)接口。
标准SPI 通常就称SPI,它是一种串行外设接口规范,有4根引脚信号:CLK, CS, MOSI, MISO。而Dual SPI 只是针对闪存的SPI接口而言,不是针对所有SPI外设。对于闪存的SPI链接,全双工模式并不常用,因此Dual SPI扩展了MOSI和MISO的用法,让它们工作在半双工,以加倍数据传输。也就是对于闪存的Dual SPI,可以发送一个命令字节进入Dual模式,这样MOSI变成SIO0,MISO变成SIO1,一个时钟周期内就能传输2个bit数据。而Qual SPI 与Dual SPI类似,再增加了两根I/O线(SIO2, SIO3),可以在一个时钟周期内传输4个bit。我们以合肥恒烁半导体出品的32M-bit(4MB) NOR闪存ZB25VQ32B为例:
Datasheet of ZB25VQ32B(ZBIT Semi)
从ZB25VQ32B的规格书我们可以看到,在数据传输方式上,该NOR闪存同时支持Standard SPI、Dual SPI和Quad SPI三种方式。得益于串行接口,ZB25VQ32B的封装采用SOP-8(5.3mm x 7.9mm)和DFN-8(3mm x 4mm)这种8个管脚的小型封装,大大简化了电路设计。
ZB25VQ32B的管脚与封装
ZB25VQ32B的管脚说明如下:
ZB25VQ32B 管脚及说明
串行NOR闪存的接口方式(图片来源:赛普拉斯)
跟并行传输每个时钟周期可以传输8或者16个bit数据比,串行接口的传输速率低了很多(每个时钟至多4bit),但是这是硬件设计上的必要妥协。市面上大多数的串行NOR闪存在不同厂商之间都是兼容封装的,因此即使在设计阶段完成后,也可以很容易地更换器件。这使得开发人员不仅可以在不同厂商之间进行更换,还可以迁移到其他更大或更小容量的NOR闪存器件上,而不必完全重新设计系统。以合肥恒烁半导体3V ZB25系列NOR闪存为例,以下不同容量的闪存之间都采用了相同的封装,电子工程师可以根据产品设计需要选择合适的产品:
8MBit, ZB25VQ8016MBit, ZB25VQ1632MBit, ZB25VQ32128MBit, ZB25VQ128等等NOR闪存应用的电路原理图
以ZB25VQ32这类SOP-8封装的NOR闪存为例:
C1 = 100nF, R1 = 50Ω, R2 = 10KΩ, R3 = 100KΩ
声明:本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。
如何透过堆栈芯片的技术解决闪存容量不足、减少芯片脚位数,以及降低系统设计的复杂度
消费者对于产品的要求已经不满足于现状,在行动运算装置上,不断追求功能更多且更轻薄的产品。从前需要在笔电上作业的工作,现在早已经可以在智能型手机上完成。更不用说现在的智能型手表还能透过跟智能型手机连结而做到以前想象不到的事情。
在许多非常在意微小化电路空间的设计中,随着数据量的增加,储存器占用的空间对于微型化设计来说非常的关键。闪存的NOR通常用来储存开机程序,而NAND通常用来储存大量数据。在电路板设计时,都必须为这些闪存IC预留焊接空间。
串行式NOR和NAND闪存因为脚位少,更有利于微小型系统的设计。而华邦电子所生产的串行式NOR和NAND闪存约占全世界出货量的30%,在串行式闪存的出货量更是世界第一。华邦电所发明的 Quad Serial Peripheral Interface (QSPI) 是带宽更高、更高速的传输接口,可用来取代传统多脚位并列式闪存的应用,譬如,用于微控制器和主芯片之间的连接。
为了符合微型化趋势的设计理念,华邦电提出了创新的应用方法,把串行式闪存NOR和NAND芯片堆栈在同一个芯片封装中。 这个方法取代了在电路设计中,必须要使用两个单独芯片,进而能节省电路设计的空间。
在这篇文章当中,主要说明了在传统上使用上,两个或多个堆栈芯片的应用情境中所会遭遇到的瓶颈与难题,并说明如何藉由华邦电所提出的堆栈芯片解决方案来解决这些问题,来进一步提高产品的效能!
使用堆栈内存芯片的好处
通常在一个小型的装置会使用一个16Mbit的NOR闪存来储存开机程序,,另外会用另一个1Gbit的NAND闪存来储存数据或操作系统。NOR闪存具有快速读取的优势,可让系统进行随机存取,适用于需要经常快速读取数据的应用。而NAND闪存具有较快的写入速度,价格上也较512Mbit以上的NOR闪存来的便宜。
现行一般的设计大都是使用个别的NOR和NAND闪存来和主芯片连接。
然而现行分别使用两个内存的设计能透过华邦提供的SpiStack系列堆栈产品(如下图1) 来达成相同的设计结果。好处是能使电路板设计上减少一个内存组件,让电路设计更有弹性进而减少电路板的大小。
图1. 外观尺寸较小的NOR闪存堆栈在NAND闪存上方。两个芯片透过封装打线固定在基板上。
应用上除了NOR加上NAND的堆栈,还可以是NOR加NOR或是NAND加NAND的堆栈组合。例如原来设计是用512Mbit的NAND需要扩增到1Gbit,但有可能1Gbit NAND的封装尺寸可能与原先使用的512Mbit不一样,导致需要更改电路板设计。而使用华邦这样有弹性的堆栈芯片组合,用两个512Mbit NAND加NAND的芯片堆栈在原来的封装中,不但可以让内存容量增大为两倍,还省去重新设计板子的问题。
堆栈芯片的主要概念是要减少芯片脚位,让电路设计简化和减少重新设计所需的工作。不过华邦推出的堆栈芯片方案不但能够完全不增加芯片脚位来维持电路设计的弹性,还能进一步改善读写效能。
低脚位数的堆栈芯片方案
堆栈芯片一个主要的挑战在于:如何让主芯片或微控制器跟堆栈在同一个封装里面的闪存作沟通。为了避免在SPI通讯接口上的冲突,主芯片会透过芯片选择(CS)的硬件讯号来选择要存取的SPI接口闪存。
在其它厂家的堆栈芯片作法,芯片选择(CS)是透过硬件讯号来实现,所以若是两个芯片的堆栈就需要两个芯片选择(CS)的脚位,若是三个芯片的堆栈就需要三个芯片选择(CS)的脚位,依此类推。
显然地这样的堆栈芯片作法,增加了很多芯片选择(CS)的脚位,当然在电路板上也需要较多的空间给这些讯号线。
图2. 堆栈芯片用软件方式来实现芯片选择(CS),仅需要一根芯片选择(CS)讯号。
然而透过华邦最新推出的W25M SpiStack系列闪存,可以解决这个问题,主芯片藉由使用软件的方式透过一个芯片选择(CS)的指令来选择要存取的闪存芯片 (如图2)。 在堆栈芯片里的每一个芯片都有独立不冲突的标识符(ID),透过标识符(ID)可让软件执行芯片选择(CS)并知道现在正在存取的芯片是哪一个。
因为是透过软件的方式由一个芯片选择(CS)的指令来选择要存取的闪存芯片,可让2~4个芯片封装在标准的8-pin SOP 或 8-pad SON 封装中 (如图3)。然而其他厂商堆栈芯片的作法必须多出相对应的芯片选择脚位(CS),因而通常需要使用16-pin SOP or 24-ball BGA 相对尺寸较大的封装而增加电路设计的复杂度。
图 3. 透过软件实现方式让3个堆栈芯片可以封装在一个8-pin脚位的封装中。
对于开发者而言,要实现华邦SpiStackTM的多芯片选择(CS)指令相当容易。 “C2h”指令可用于选择任一堆栈芯片来存取 (如图4),不管现在芯片状态为何,都可在任一时间作切换去选择芯片。
图4. 在C2h指令使用各芯片的唯一标识符作选取。
如何达到较快速的读取和写入操作效能
相较于SRAM和DRAM而言,写入速度慢是闪存本质的特性。系统常遇到的一个情况是当要读取闪存时,若刚好先前有执行过写入的指令,这时若要读取闪存则需要等待写入程序的完成,如此一来就浪费系统在等待的时间。另一个作法是执行指令让写入程序先暂停,等待读取完所需的数据后,再执行回复写入指令让先前未完成的写入程序继续执行,但这样的作法不但让执行上变的复杂,也拖慢真正要读取与写入的时间。
华邦推出的堆栈芯片可以透过同时操作避免掉前述的问题。也就是当一个芯片正再进行写入或擦除的程序时,可以同时间的去读取另外一个芯片 (如图5)。
图5. 在华邦闪存的两个堆栈芯片中,当一个芯片在执行写入或抹除时,主芯片可以对另外一个芯片同时去作读取、 写入或抹除的程序。
如同先前的叙述,在SPI接口上同一时间一次只能选取到一个芯片,但是华邦SpiStackTM技术是可以让两个芯片同时进行操作。例如,当一个芯片在进行写入或抹除程序时可同时对另一个芯片作读取,或是当一个芯片在进行写入或抹除程序时也可对另一个芯片同时下达写入或抹除的指令。
在很多的应用中,若能够使用同时操作的程序就能够大幅提升记忆体操作的效能。 这代表华邦SpiStackTM在操作上能够比其他只能单一执行一个程序的操作方式更快更有效率。
提供同质与异质的闪存堆栈搭配组合
华邦的SpiStack堆栈芯片解决方案提供客户多种的闪存容量与封装组合,包含同构型的内存堆栈(例如NOR+NOR 或 NAND+NAND) 或是异质性的内存堆栈 (例如 NOR+NAND) 等组合。华邦作为世界级的内存设计和制造商,能够提供最多样化的产品组合来满足客户对内存容量和封装的需求。
有弹性的设计和使用普遍的封装是开发设计者对于选用内存的重要考虑, 这样目的是可以让之后的设计可以直接更换不同容量的内存而不需要作电路的变更。
目前已经可以供货的SpiStack堆栈芯片产品包含:
•a 16Mbit NOR + 1Gbit NAND
•a 32Mbit NOR + 1Gbit NAND
•a 64Mbit NOR + 1Gbit NAND
•a 128Mbit NOR + 1Gbit NAND
•a 512Mbit NOR consisting of two 256Mbit NOR dies
•a 2Gbit NAND consisting of two 1Gbit NAND dies
更多在2018年即将供货的产品组合在华邦电子的SpiStack产品型录当中,其中也可透过客户提出的需求来计划供货。
更多电子工程华邦相关产品专辑,请参考
相关问答
8引脚25系列Flash 闪存 芯片的引脚 定义 是什么?主要引脚定义说明:1、RB:读\忙,低电平有效。2、RE:读使能,低电平有效。3、CE:芯片选中使能,低电平有效。4、VCC:3.3V电源主要引脚定义说明:1、RB:读\...
PIC16F72中文资料,只要简单介绍下?这种功能强大的(200纳秒指令执行)且易于程序(只有35个单词的指示)的CMOS基于闪存的8位微控制器包Microchip的强大石化??架构成一个28引脚封装,向上兼容PIC1...
U盘的部件有哪些各自有什么作用[回答]1、主要的有,主板,主控和闪存芯片。2、主板是电路基础,主控主要是记录U盘的驱动的。闪存芯片主要是记录文件的,存储的。1、主要的有,主板,主控和...
esp8266和esp32有什么区别?esp32和esp8266的区别一:两款芯片都属于32位处理器。esp32是双核160MHz至240MHzCPU,而esp8266是单核处理器,运行频率为80MHz。esp32和esp8266的...
34063和33063芯片是不是一样的?技术还可以通过预分析用户可能拍摄的场景,提供优化的算法,实现精确曝光和白平衡。33063芯片是MP3解码芯片。这是一款基于RISC的数字信号处理器,其带有可...3...
mps1513集成电路引脚功能?mps1513集成电路引脚采用的是麒麟9000处理器,这款处理器的性能还算是十分强大的,它支持5G双模全网通功能,并且它的安兔兔跑分已经突破了70万分,并且支持满血...
VBAT什么意思?"VBAT"可以表示不同的含义,具体取决于上下文。以下是几种常见的解释:1.VBAT(VirtualBattery):在电子设备中,VBAT指的是一种虚拟电池,用于提供电源给...
p127p65电源芯片引脚 定义 ?p127p65电源芯片引脚采用的是对称式的立体声双扬声器,支持5G双模全网通功能,它采用高通骁龙870处理器,它的跑分达到了70万分以上,另外它还支持满血的闪存,...
华为的内销p10采用emmc 闪存 ,主板重新设计,那么减配的是否单单是 闪存 呢?emmc跟ufs的针脚不一样的,是需要重新设计的,emmc的引脚是“回”字形状,外三排,里面一排,ufs的引脚是对称排列的,3排,2排,竖着的“二”字形状的,不可能直...em...
STM32是什么啊,是32位的单片机吗 - Jackson周嘉诚 的回答 -...STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M内核(ST'sproductportfoliocontainsacomprehensiv...