闪存

快闪存储器英文Flash Memory),简称闪存,是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如存储卡闪存盘。闪存是一种特殊的、以宏塊抹写的EEPROM。早期的闪存进行一次抹除掉就会清除掉整颗芯片上的数据。

闪存的成本远较可以字节为单位写入的EEPROM来的低,也因此成为非易失性固态存储最重要也最广为采纳的技术。像是PDA, 笔记本电脑, 数字随身听, 数码相机与手机上均可见到闪存。此外,闪存在游戏主机上的采用也日渐增加,藉以取代存储游戏数据用的EEPROM或带有电池的SRAM

闪存是非易失性的存储器。这表示单就保存数据而言, 它是不需要消耗电力的。此外闪存也具有相当低的读取延迟(虽然没有电脑主存的DRAM那么快)。与硬盘相比,闪存也有更佳的动态抗震性。这些特性正是闪存被移动装置广泛采用的原因。闪存还有一项特性:当它被制成存储卡时非常可靠──即使浸在水中也足以抵抗高压与极端的温度。

虽然闪存在技术上属于EEPROM,但是 “EEPROM” 这个字眼通常特指非快闪式、以小区块为清除单位的EEPROM。它们典型的清除单位是字节。 因为老式的EEPROM抹除循环相当缓慢,相形之下快闪记体较大的抹除区块在写入大量数据时带给其显著的速度优势。

晟碟 Cruzer Titanium 闪存盘的 印刷电路板上的 Samsung闪存(左)与 单片机(右)

目录

[隐藏]

[编辑] 历史

闪存(无论是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,包括MultiMediaCardSecure DigitalMemory StickxD卡。

[编辑] 运作原理

NOR flash 的写入与其在硅晶上的结构

闪存将数据存储在由浮闸晶体管组成的记忆单元数组内,在单阶存储单元(Single-level cell, SLC)设备中,每个单元只存储1位的信息。而多阶存储单元(Multi-level cell, MLC)设备则利用多种电荷值的控制让每个单元可以存储1位以上的数据。

[编辑] NOR Flash

借由热电子注入写入一个NOR Flash记忆单元(将其在逻辑上设为 0)
借由量子穿隧抹除一个NOR Flash记忆单元(将其在逻辑上设为 1)

闪存的每个存储单元类似一个标准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”值。

  • 1. 对CG施加高电压(通常大于5V)。
  • 2. 现在通道是开的,所以电子可以从源极流入汲极(想像它是NMOS晶体管)。
  • 3. 源-汲电流够高了,足以导致某些高能电子越过绝缘层,并进入绝缘层上的FG,这种过程称为热电子注入

由于汲极与CG间有一个大的、相反的极性电压,借由量子穿隧效应可以将电子拉出FG,所以能够地用这个特性抹除NOR Flash单元(将其重设为“1”状态)。现代的NOR Flash芯片被分为若干抹除片段(常称为区扇(Blocks or sectors)),抹除操作只能以这些区块为基础进行;所有区块内的记忆单元都会被一起抹除。不过一般而言,写入NOR Flash单元的动作却可以单一字节的方式进行。

虽然抹写都需要高电压才能进行,不过实际上现今所有闪存芯片是借由芯片内的电荷帮浦产生足够的电压,所以只需要一个单一的电压供应即可。

[编辑] NAND Flash

NAND flash 一个闪存存储单元

NAND 闸闪存利用穿隧注入(Tunnel injection)写入,以及穿隧释放(Tunnel release)抹除。NAND Flash在今天的闪存盘与多数存储卡上都可看到。

[编辑] SLC

传统上,每个存储单元内存储1个信息位,称为单阶存储单元(single-level cell, SLC),使用这种存储单元的闪存也称为单阶存储单元闪存(SLC flash memory),或简称SLC闪存。SLC闪存的优点是传输速度更快,功率消耗更低和存储单元的寿命更长。然而,由于每个存储单元包含的信息较少,其每百万字节需花费较高的成本来生产。由于快速的传输速度,SLC闪存技术会用在高性能的存储卡。

[编辑] MLC

多阶存储单元闪存(Multi-level cell flash memory, MLC flash memory)可以在每个存储单元内存储2个以上的信息位,其“多阶”指的是电荷充电有多个能阶(即多个电压值),如此便能存储多个位的值于每个存储单元中。借由每个存储单元可存储更多的位,MLC闪存可降低生产成本,但比起SLC闪存,其传输速度较慢,功率消耗较高和存储单元的寿命较低,因此MLC闪存技术会用在标准型的存储卡。另外,如飞索半导体的MirrorBit®技术,也是属于这一类技术。

[编辑] 产业界

根据DRAMeXchange的研究报告,2007年全球Flash产业的市场规模为133亿6千8百万美元,2008年则是114亿1千8百万美元,整体营收降低了14.6%,主要的原因是受到产品平均单价下滑的影响。[1]

按照2008年的数据,全球Flash产业中,韩国厂商三星 (Samsung)市占率高达40.4%(46亿1千4百万美元),其次是日本厂商东芝 (Toshiba)的28.1%(32亿5百万美元),第三是韩国厂商Hynix的15.1%(17亿2千7百万美元) ,第4为美国厂商美光 (Micron)7.9%(8亿9千7百万美元),第5为美国厂商英特尔(Intel)5.8%(6亿6千万美元),第6是欧洲厂商恒忆(Numonyx,STMicro)2.6%(营收为2亿9千5百万美元)。[2]

先前稍早其他的来源有提到苹果公司是第3大的闪存买家, 大约消耗了全球Flash总产量的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)等只读式应用,这些设备往往在使用年限内也只会写入一次或少数几次而已。

[编辑] 低级访问

闪存芯片的低级接口通常与通过支持外界的寻址总线行随机存取的DRAMROMEEPROM等存储器不同。 NOR Flash本身为读取操作(支持随机存取)提供外部寻址总线;至于解锁、抹除与写入则须以区块-区块(Block-by-block)的方式进行,典型的区块大小为64、128或256字节。NAND Flash所有的动作都必须以区块性基础(Block-wise fashion)运行,包含读、写、解锁与抹除。

[编辑] NOR Flash

从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的写入速度一般来说会慢很多。

[编辑] NAND Flash

东芝在1989年发表了NAND Flash架构,这种存储器的访问方式类似硬盘之类的区块性存储设备,每个区块构成几个页。一般来说这些页的尺寸为512、2048或4096字节。各个页之间彼此会有几个字节的关系性(一般而言是12~16位组),这些空间用于存储调试与纠错校验和。以下是一些典型的区块大小与其内部包含的关连性尺寸:

  • 每32个512位组的页包含1个16kB的关连性区块
  • 每64个2048位组的页包含1个128kB的关连性区块
  • 每64个4096字节的页包含1个256kB的关连性区块
  • 每128个4096字节的页包含1个512kB的关连性区块

当写入创建在这种“页”的基础上时,抹除便只能以区块性的方法进行。NAND Flash还有一项限制就是区块内的数据只能串行性的写入。操作次数(Number of Operations, NOPs)则代表区扇可以被写入的次数。目前MLC的NOPs是1;而SLC则是4。 NAND Flash也要求设备驱动程序软件或分离的控制芯片进行坏区管理,例如SD卡内部便包含坏区管理与耗损平衡的电路。当一个逻辑区被高级软件访问时,实际绘测的工作由驱动程序或控制器进行。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值