
快闪存储器(Flash memory),简称闪存,是一种记忆卡与随身碟。快闪存储器是一种特殊的、以大区块抹写的EEPROM。早期的快闪存储器进行一次抹除掉就会清除掉整颗芯片上的资料。
快闪存储器的成本远较可以字节为单位写入的EEPROM来的低,也因此成为非挥发性固态储存最重要也最广为采纳的技术。像是PDA, 手提电脑, 数位随身听, 数码相机与手机上均可见到快闪存储器。此外,快闪存储器在游戏主机上的采用也日渐增加,藉以取代储存游戏资料用的EEPROM或带有电池的SRAM。
快闪存储器是非挥发性的内存。这表示单就保存资料而言, 它是不需要消耗电力的。此外快闪存储器也具有相当低的读取延迟(虽然没有电脑主内存的DRAM那么快)。与硬盘相比,快闪存储器也有更佳的动态抗震性。这些特性正是快闪存储器被行动装置广泛采用的原因。快闪存储器还有一项特性:当它被制成记忆卡时非常可靠──即使浸在水中也足以抵抗高压与极端的温度。
虽然快闪存储器在技术上属于EEPROM,但是 “EEPROM” 这个字眼通常特指非快闪式、以小区块为清除单位的EEPROM。它们典型的清除单位是字节。 因为老式的EEPROM抹除循环相当缓慢,相形之下快闪记体较大的抹除区块在写入大量资料时带给其显著的速度优势。
目录 |
快闪存储器(无论是NOR型或NAND型)是舛冈富士雄博士在1984年于东芝公司工作时发明的。 据东芝表示快闪存储器的 “Flash” 是舛冈博士的同事所持有泉建议的。因为这种内存的抹除流程让他想起了相机的闪光灯。舛冈博士在1984年的加州旧金山IEEE国际电子元件大会(International Electron Devices Meeting, IEDM)上发表了这项发明。Intel看到了这项发明的巨大潜力,并于1988年推出第一款商业性的NOR Flash芯片。
NOR Flash需要很长的时间进行抹写,但是它提供完整的寻址与资料总线,并允许随机存取内存上的任何区域,这使的它非常适合取代老式的ROM芯片。当时ROM芯片主要用来储存几乎不需更新的程式码,例如电脑的BIOS或机上盒(Set-top Box)的固件。NOR Flash可以忍受一万到一百万次抹写循环,它同时也是早期的可移除式快闪储存媒体的基础。CompactFlash本来便是以NOR Flash为基础的,虽然它之后跳槽到成本较低的 NAND Flash。 东芝在1989年的国际固态电路学会(ISSCC)上发表了NAND Flash。NAND Flash具有较快的抹写时间, 而且每个储存单元的面积也较小,这让NAND Flash相较于NOR Flash具有较高的储存密度与较低的每位元成本。同时它的可抹除次数也高出NOR Flash十倍。然而NAND Flash 的I/O接口并没有随机存取外部寻址总线,它必须以区块性的方式进行读取,NAND Flash典型的区块大小是数百至数千位元。
因为多数微处理器与微控制器要求字节等级的随机存取,所以NAND Flash不适合取代那些用以装载程式的ROM。从这样的角度看来,NAND Flash比较像光碟、硬盘这类的次级储存装置。NAND Flash非常适合用于记忆卡之类的大量储存装置。第一款建立在NAND Flash基础上的可移除式储存媒体是SmartMedia,此后许多储存媒体也跟着采用NAND Flash,包括MultiMediaCard、Secure Digital、Memory Stick与xD卡。
快闪存储器将资料储存在由浮闸晶体管组成的记忆单元阵列内,在单阶储存单元(Single-level cell, SLC)装置中,每个单元只储存1位元的资讯。而多阶储存单元(Multi-level cell, MLC)装置则利用多种电荷值的控制让每个单元可以储存1位元以上的资料。
NOR 闸快闪存储器的每个储存单元类似一个标准MOSFET, 除了晶体管有两个而非一个闸极。在顶部的是控制闸(Control Gate, CG),如同其他MOS晶体管。但是它下方则是一个以氧化物层与周遭绝缘的浮闸(Floating Gate, FG)。这个FG放在CG与MOSFET通道之间。由于这个FG在电气上是受绝缘层独立的, 所以进入的电子会被困在里面。在一般的条件下电荷经过多年都不会逸散。当FG抓到电荷时,它部分屏蔽掉来自CG的电场,并改变这个单元的阀电压(VT)。在读出期间。利用向CG的电压,MOSFET通道会变的导电或保持绝缘。这视乎该单元的VT而定(而该单元的VT受到FG上的电荷控制)。这股电流流过MOSFET通道,并以二进制码的方式读出、再现储存的资料。在每单元储存1位元以上的资料的MLC装置中,为了能够更精确的测定FG中的电荷位准,则是以感应电流的量(而非单纯的有或无)达成的。 逻辑上,单层NOR Flash单元在默认状态代表二进制码中的“1”值,因为在以特定的电压值控制闸极时,电流会流经通道。经由以下流程,NOR Flash 单元可以被设定为二进制码中的“0”值。
由于汲极与CG间有一个大的、相反的极性电压,借由量子穿隧效应可以将电子拉出FG,所以能够地用这个特性抹除NOR Flash单元(将其重设为“1”状态)。现代的NOR Flash芯片被分为若干抹除片段(常称为区扇(Blocks or sectors)),抹除操作只能以这些区块为基础进行;所有区块内的记忆单元都会被一起抹除。不过一般而言,写入NOR Flash单元的动作却可以单一字节的方式进行。
虽然抹写都需要高电压才能进行,不过实际上现今所有快闪存储器芯片是借由芯片内的电荷帮浦产生足够的电压,所以只需要一个单一的电压供应即可。
NAND 闸快闪存储器利用穿隧注入(Tunnel injection)写入,以及穿隧释放(Tunnel release)抹除。NAND Flash在今天的随身碟与多数记忆卡上都可看到。
有一个来源指出在2008年Flash业界产销约值91亿美元,苹果公司是第三大的快闪存储器买家, 大约消耗总产量的13%。其他来源则认为快闪存储器市场在2006年时的规模超过20亿美元,占据全部半导体市场的8%;在内存半导体中则有34%的比重。
快闪存储器的一种限制在于即使它可以单一字节的方式读或写入,但是抹除一定是一整个区块。一般来说都是设定某一区中的所有位元为“1”,刚开始区块内的所有部份都可以写入,然而当有任何一个位元被设为“0”时,就只能借由清除整个区块来回复“1”的状态。换句话说快闪存储器(特别是NOR Flash)能提供随机读取与写入操作,却无法提供任意的随机覆写。不过其上的区块可以写入与既存的“0”值一样长的讯息(新值的0位元是旧值的0位元的超集合)。例如:有一小区块的值已抹除为1111,然后写入1110的讯息。接下来这个区块还可以依序写入1010、0010,最后则是0000。可是实做上少有算法可以从这种连续写入相容性得到好处,一般来说还是整块抹除再重写。 尽管快闪存储器的数据结构不能完全以一般的方式做更新,但这允许它以“标记为不可用”的方式删除讯息。这种技巧在每单元储存大于1位元资料的MLC装置中必须稍微做点修改。
另一项快闪存储器的限制是它有抹写循环的次数限制(大多商业性SLC快闪存储器保证“0”区有十万次的抹写能力,但其他区块不保证)。这个结果部分地被某些固件或档案系统为了在相异区块间安排写入操作而进行的计算写入次数与动态重测所抵销;这种技巧称为耗损平衡。另一种处理方法称为坏区管理(Bad Block Management, BBM)。这种方法是在写入时做验证并进行动态重测,如果有验证失败的区块就加以剔除。 对多数行动装置而言,这些磨损管理技术可以延长其内部快闪存储器的寿命(甚至超出这些装置的使用年限)。此外,遗失部分资料在这些装置上或许是可接受的。至于会进行大量资料读写循环的高可靠性资料储存应用则不建议使用快闪存储器。不过这种限制不适用于路由器与瘦客户端(Thin clients)等只读式应用,这些装置往往在使用年限内也只会写入一次或少数几次而已。
快闪存储器芯片的低阶接口通常与透过支援外界的寻址总线行随机存取的DRAM、ROM、EEPROM等内存不同。 NOR Flash本身为读取操作(支援随机存取)提供外部寻址总线;至于解锁、抹除与写入则须以区块-区块(Block-by-block)的方式进行,典型的区块大小为64、128或256字节。NAND Flash所有的动作都必须以区块性基础(Block-wise fashion)执行,包含读、写、解锁与抹除。
从NOR Flash读取资料的方式与从RAM读取资料相近,只要提供资料的位址,资料总线就可以正确的绘出资料。基于以上原因,多数微处理器可以将NOR Flash当作原地执行(Execute in place, XIP)内存使用,这意味着储存在NOR Flash上的程式不需复制到RAM就可以直接执行。由于NOR Flash没有原生坏区管理,所以一旦储存区块发生毁损,软件或驱动程式必须接手这个问题,否则可能会导致装置发生异常。 在解锁、抹除或写入NOR Flash区块时,特殊的指令会先写入已绘测的记忆区的第一页(Page)。接着快闪记忆芯片会提供可用的指令清单给实体驱动程式,而这些指令是由一般性快闪存储器接口(Common Flash memory Interface, CFI)所界定的。 与用于随机存取的ROM不同,NOR Flash也可以用在储存装置上;不过与NAND Flash相比,NOR Flash的写入速度一般来说会慢很多。
东芝在1989年发表了NAND Flash架构,这种内存的存取方式类似硬盘之类的区块性储存装置,每个区块构成几个页。一般来说这些页的尺寸为512、2048或4096字节。各个页之间彼此会有几个字节的关联性(一般而言是12~16字节),这些空间用于储存侦错与纠错的校验和。以下是一些典型的区块大小与其内部包含的关连性尺寸:
当写入建立在这种“页”的基础上时,抹除便只能以区块性的方法进行。NAND Flash还有一项限制就是区块内的资料只能序列性的写入。操作次数(Number of Operations, NOPs)则代表区扇可以被写入的次数。目前MLC的NOPs是1;而SLC则是4。 NAND Flash也要求装置驱动程式、软件或分离的控制芯片进行坏区管理,例如SD卡内部便包含坏区管理与耗损平衡的电路。当一个逻辑区被高阶软件存取时,实际绘测的工作由驱动程式或控制器进行
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History