外行解说-NVM Non-Volatile Memory
感谢当年的Jimmy,花了一个月时间让我学会了Flash,虽然没做过Flash但是这个入门足以让我很精通,时至今日我依然能够靠我的笔记写完所有的东西。
存储器(Memory),是现代电子系统中用于保存二进制数据信息的记忆设备,它根据控制器指定的位置存入和取出信息。正是有了存储器,我们的计算机和电子设备才有了记忆功能,比如每个身份证才能对应不同的人,每个sim卡对应一个手机号等等。按照用途分我们的存储器分为两类,一类是用于电路在工作过程中存储临时信息,比如地址编码或者临时堆栈等,只能有电才工作断电就复位了,这类存储器叫做动态随机存储器(RAM: Random Access Memory),比如DRAM、SRAM(后面再专题讲SRAM和DRAM)。而另外一种是用来永久存储数据信息的,即使断电还依旧保存着数据,叫做只读存储器(ROM: Read Only Memory),比如EEPROM, OTP/MTP、Flash。其中RAM的SRAM和DRAM都是由Intel在1970年发明的,而EPROM和EEPROM也是Intel分别于1971年和1979年发明的,直到1984年Toshiba发明了flash才带动了闪存的巨大发展。
随着物联网和大数据趋势的来临,数据存储必将是兵家必争之地。紫光收购美光失败,转战收购西部数据(WD),再由西部数据曲线收购Sandisk进军NAND Flash。Intel大连Fab68厂由于PC产业的巨大衰退不得不斥资55亿美元改造成NAND Flash厂。可想而知未来NAND Flash存储器的重要性。单纯从产值角度讲存储器和微处理器占整个半导体产业的22%和19%,可以说是整个半导体产业的基石,要想在半导体行业混得好,就抢这两个吧~当然我们今天学习的重点就是非挥发性存储器(Non-Volatile-Memory),也就是断电可以继续存储的存储器。
很多时候大家一讲到NVM,都会想到Flash。但是这两者是不一样的,Flash只是NVM的一种。NVM是指断电数据不会消失的意思,所以ROM (EPROM/EEPROM)、Flash、FeRAM/MRAM(铁电/磁电)都算。我十年前做PIE的时候第一个产品是0.5um mask ROM,那就是最古老的NVM了 (当然fuse也可以算是一种OTP的NVM),它的实现过程就是通过一张ROM code光罩选择性打NMOS Array的implant实现每个bit的NMOS是ON还是OFF来实现“0”和“1”,这就是BANK后面用不同光罩实现编程的,比较简单。
1、浮栅技术(FG: Floating Gate)
抛开上面讲的ROM Code implant,还有FeRAM/MRAM也不是我们讨论的重点。其他的所有NVM的精髓都有Floating Gate (浮栅) ,它和普通的MOSFET差异在于它是双层Poly,上面的Poly是Control Gate (控制栅) ,通过对浮栅充电(Charge)并且浮栅被包裹在绝缘体(oxide)里面而实现“0”和“1”的存储,再细分包括EPROM/OTP(电编程UV光擦除),EEPROM/MTP(电编程电擦除),Flash(电编程电擦除)。
话说这个浮栅(FG: Floating Gate)和上面的控制栅(CG: Control Gate)一起,当控制栅加上电压Vg之后,控制栅会通过下面的浮栅产生耦合作用使得沟道开启,产生热载流子通过浮栅下面的Tunnel oxide隧穿进入浮栅从而达到Program的目的。而这个耦合的要求是尽可能耦合的越高越容易开启,简单点理解就是电容CG与FG之间的介质层(ONO)电容越大越容易让控制栅的电压转嫁给浮栅从而间接开启沟道,这就是耦合作用。而这个耦合是由控制栅与浮栅之间的电容以及浮栅与沟道之间的栅氧的比例决定的,这就是传说中的Gate Coupling Ratio (GCR)。实际上这个GCR测试是靠浮栅MOSFET的Vt以及flash cell的Vt的比值来计算出来的。
2、浮栅充电(Program)/放电(Erase)机理
如果要实现数据的存储,也就是要对浮栅充电或放电实现program和Erase的过程,最终完成“0”和“1”的写入并存储。但是如何实现这个浮栅电子的写入和擦除?我们姑且称之为电荷转移(Charge Transfer),书面定义为使得电荷穿过介质层(如OX或者ONO)进入浮栅或者从浮栅里面擦除。
一般情况下这个电荷转移有四种方式:CHEI、SSI、FN、BTBT。其实这些原理都是利用了MOSFET的漏电,在Gate端通过电压控制使其主动进入到浮栅里面去。是不是很有意思?让我们逐个来学习一下。
1) CHEI (Channel Hot Electron Injection): 我们在常规MOSFET里面,HCI injection容易进入GOX形成Gate Leak,当然在浮栅存储器里面就被trap在浮栅里面program了。但是在浮栅存储器里面它可是program好不好的关键。曾听说施敏教授发明这个技术的时候灵感来自于咖啡撒泼了,想到如何让热载流子变废为宝?
为了能够有效programing,必须Gate高压(8~12V)感应到浮栅上(4~6V),Drain端4~5V。0.5us~10us/cell,200~500uA/cell。
2) SSI (Source Side Injection): 这就是我们的1.5T Split-Gate,在source端放一个Select-MOS,而这个select-MOS的drain就是cell的source,这样在select-MOS的drain端产生的Hot-Carrier就可以从cell的source端注入到浮栅里面去。而这个select-MOS的gate就是select-gate,可以把它与control gate合在一起形成split gate。这样的bit cell面积比2T的面积小,更容易做high density。0.5us~10us/cell,1~5uA/cell,优势与CHEI相比如何?
3) FN Tunneling: 主要利用介质氧化层的FN Tunnel特性将电子program和Erase到浮栅里面去。(FN Tunnel的原理请参阅:http://ic-garden.cn/?p=680)。100us~100ms/cell,10-5~10-3uA/cell。看你是要超低电荷还是需要速度了?
举个例子,1.5T的Split-Gate里面的Erase就是靠Poly-Poly的tips的电场让浮栅电荷通过FN tunneling释放掉。
4) Band-to-Band Tunneling: 这个主要是利用GIDL产生的带间隧穿漏电让它注入(inject)到浮栅里面去。GIDL原理:http://ic-garden.cn/?p=489。
总结,当完成Charge transfer之后,我们的Flash Cell的浮栅里面有了负电荷也就相当于我们的MOSFET栅极下面有负电荷了,所以我们的Vt会变高(因为需要Extra电压抵消它),所以我们常说Program-High/Erase-Low就是这个意思。而它的I-V曲线和常规的MOSFET不太一样,主要是因为Program使得Vt变高,所以Isat变低,后面等充电完成后又逐渐回到饱和Isat。
3、Flash与EPROM/EEPROM的区别: 话说这flash和EPROM以及EEPROM都是floating gate器件,他们到底区别是什么?
EPROM是靠Hot-Electron program然后用UV Erase,EEPROM的program和Erase都是靠FN-Tunneling完成的。而Flash是靠Hot-Electron Program然后靠FN-Tunneling Erase掉。所以EPROM+EEPROM=Flash。
而对于EEPROM和Flash来讲,虽然Erase都是FN-Tunneling,但是EEPROM是按照by-bit Erase的,而Flash是common source的,所以是Block Erase的。
4、Flash Cell的分类:
1) ETOX (EPROM Tunnel OXide): 这是Intel于1988年的专利,也是业界使用的Flash Cell的标准。从bit-line看过去,它就是标准的double-poly cell,所以为了区分后面提到的Split-Gate,又称之为Stack-Gate Flash Cell。
2) Split Gate: 这就是上面提到的SSI (Source-Side Injection)在Flash Cell的Drain-Side串联一个Select-MOS结构,然后把select-Gate与cell的Control-Gate合在一起就是1.5T split-gate了。很多Embedded都是用这种cell。
5、NAND与NOR Flash的区别及应用: 上面才提过Flash Cell的种类,接下来如何把这些cell连接起来?串联还是并联?这就是我们讲的NAND还是NOR。所以NAND-Flash的字面意思就是逻辑运算里面的“AND”或者“与”,就是把每个bit都串联起来,一般是16bit在一条bit-line上一个挨一个最后一个contact连出去就行了。而NOR-Flash则是把每个bit并联起来,一个bit一个contact,然后把这些contact通过一条Word-Line连出去就行了。所以光这一条区别就知道哪个密度大了吧?这就是为什么存储器一定要用NAND-Flash了。
难道NOR就一无是处?答案肯定是错的!虽然NAND密度大,但是它毕竟是串联的,到最后一个bit肯定需要时间的,所以它的Access-Time比较长,另外根据基尔荷夫电压定律,串联电压肯定逐渐降低,为了保证最后一个bit能够program,所以必须higher program/erase电压。那NAND的缺点自然就是NOR的优点了,它是并联的自然它就可以随便选择任何一个bit了,而且Access时间短速度快,所以通常NOR主要用于非存储类的应用,比如电子设备的代码存储不需要太大的容量但是对速度要求高。而NAND主要用于存储设备如SSD硬盘。
6、Flash技术的Concern:
1) Charge Pump: Flash-Cell的工作需要完成3个动作,一个Program、一个Erase、一个Normal Read。除了Normal Read是器件的正常工作电压外,Program和Erase都需要高电压来完成,而这个高电压怎么来?就是需要Charge-Pump产生。而Charge-Pump的主要concern就是Leakage-Path,比如GIDL。
2) Disturb(串扰): 这个比较容易理解,高密度下的bit与bit之间总会产生干扰的,通常分为Gate-Disturb和Drain-Disturb,前者Gate-Disturb表示选了W/L不选B/L下,旁边的B/L串扰导致的该bit的被soft-program了。而后者的Drain-Disturb则表示选了B/L不选择W/L的时候,相邻的W/L带来的串扰导致该bit被soft-erase了。这个还比较容易通过CP测试screen掉。
3) Over Erase: 同一个bit-line上的cell,容易受相邻的program干扰导致soft-erase,所以在下一次正式Erase的时候它就Over-Erase了。所以Over-Erase随着cycling次数越多,它越严重,这可是可靠性问题啊。但主要发生在NOR flash上。
4) Cycling/Data-Retention: 我们知道所有的Program和Erase都是要电子来回穿过Oxide,这样的过程会damage我们的Oxide甚至软击穿,所以我们擦写的次数以及擦写次数多了后Oxide还能存储浮栅电荷多久?这就是长期可靠性问题。通常Cycling/Endurance的要求是Flash >20~100K次,而EEPROM要求100K~1M次。
还有SONOS技术(Si-ONO-Si),它主要是single-poly靠ONO在两边的OD-edge program/erase电荷的,制程比较简单。至此,我所懂的Flash技术应该就到此了,欢迎补充讨论学习。
都在说NVMe协议 那么它到底是什么鬼?
1NVMe协议的定义及特点
在过去的2016年,几乎全球所有的存储大厂都推出了基于NVMe协议的固态硬盘产品,一时间NVMe协议几乎成为了行业最为热门的词汇。
那么,NVMe协议到底是什么?它和传统的AHCI协议又有哪些异同?下面,我们一起来看。
NVMe协议的定义及特点
NVMe,全称为Non-Volatile Memory Express,我们拆开翻译,Non-Volatile Memory中文译名为非易失性存储器。
熟悉存储的都知道,存储器根据断电后是否能够存储数据为标准分为易失性和非易失性,我们常用的优盘、闪存卡等存储产品就是非易失性存储器,当然固态硬盘产品也是非易失性存储器了。而此处的Express,就是类似于PCIe中那个e,指的是通道或是规范。
NVMe是基于非易失性存储器的传输规范
一般常识性的理解,NVMe是一种基于非易失性存储器的传输规范,NVMe规范由包含90多家公司在内的工作小组所定制,Intel是主要领头人,小组成员包括美光、戴尔、三星、Marvell、NetAPP、EMC、IDT等公司。
此规范目的在于充分利用PCI-E通道的低延时以及并行性,还有当代处理器、平台与应用的并行性,在可控制的存储成本下,极大的提升固态硬盘的读写性能,降低由于AHCI接口带来的高延时,彻底解放SATA时代固态硬盘的极致性能。
就存储整个流程来说,NVMe不仅仅是逻辑上的协议接口,还是一种指令标准,一种指定协议,它的出现彻底颠覆了存储行业长期以来以ATA为核心底层的存储逻辑,掀起了一场实至名归的存储革命。
2NVMe协议和SATA的异同及小结
NVMe协议和SATA的异同
SATA是一种物理接口类型,执行的AHCI协议标准,是目前最为廉价和常见的固态硬盘接口,缺点便是有着6Gbps的极限读写限制,无法满足专业领域对于无延时、极致读写的要求。
NVMe协议和SATA的异同
PCIe实际上是通道协议,在物理表现上就是主板上那些PCIe接口。这些通道协议,属于总线协议,能够直接连接CPU,因而几乎没有延时,成为NVMe标准的绝佳伴侣。而在AHCI标准时代,受制于协议,几乎无法发挥PCIe的实际性能,同时根据传输速度不同,PCIe还可分为X2/X4/X8。
M.2接口,在固态硬盘领域,更多的是用于和传统的SATA固态硬盘进行区分的名词。根据主控执行的协议不同,M.2接口又分为NVMe协议以及AHCI协议的固态硬盘。根据协议不同,M.2固态硬盘在性能上也会有着相当的差异。
小结:
基于NVMe协议的PCIe固态硬盘,无论是在性能和实用性上,都远超传统基于AHCI的SATA接口固态硬盘,可以说是固态硬盘行业发展的未来。
而传统的SATA接口固态硬盘,则会在制造成本降低的大背景下,成为普通装机首选。
相关问答
NVRAM是什么?_作业帮[回答]NVRAM非易失性随机访问存储器(Non-VolatileRandomAccessMemory),是指断电后仍能保持数据的一种RAM.如果通俗地解释非易失性存储器,那就是指那...
nv2是什么意思?"NV2"可能指的是网络协议的一种类型,特指“Non-VolatileVersion2”(非易失性版本2)。这种协议通常用于无线网络中,旨在提供更稳定、可靠的数据传输,特别是....
什么是NVRAM?NVRAM(Non-VolatileRandomAccessMemory)是非易失性随机访问存储器,即断电之后,所存储的数据不丢失的随机访问存储器。NVRAM里有一个专门移动数据的处.....
NV是什么意思?NV指的是非易失性存储器(non-volatilememory),缩写为NVRAM。数据一旦写入NV,即使掉电也不会丢掉,下次重启,仍然会保留原有设置。NV指的是非易失性存储器(non...
volatile uint i=((P3&0X00)4); 为什么报 non -address/-constantP3&0X00)4表示把P2高四位置一后右移4位,然后按位或,得到的是00000000是二进制数,而int是十进制的整型数据,当然不行了再问:呵呵,我初学,再追问一...
nvme怎么保证数据安全?为了保证NVMe(Non-VolatileMemoryExpress)的数据安全,可以采取多种措施。首先,使用强大的加密算法对数据进行加密,确保数据在传输和存储过程中不被窃取或...
vocs和非甲烷总烃有什么区别?非甲烷总烃又称非甲烷烃。根据《大气污染物综合排放标准》(GB16297-1996)以及《大气污染物排放标准详解》,非甲烷总烃指除甲烷以外所有碳氢化合物的总称,主要...
nvme是几寸的?NVMe并不是一个尺寸,而是一种协议,全称为“Non-VolatileMemoryExpress”,用于SSD(固态硬盘)与计算机之间数据传输的接口协议。NVMe的设计目的是为了更好地...
TR 911 SE-KN支持nvme协议?不支持NVMe协议。因为TR911SE-KN是一款USB3.1Gen2Type-C接口的移动硬盘,它使用的是固态硬盘而非NVMe协议的SSD,因此不支持NVMe协议。NVMe是一种高性能、...
名词解释:存储技术 - 懂得卡片式存储设备卡片式存储设备算来算去只有几种,而且都是利用半导体技术来储存资料。存储卡的原理和RAM一样,区别只在于是否使用“Volatile"或“Non...