具体实施方式
以下描述关于闪存编程及读取技术,其中编程速度及读取速度系随高级的电力消耗结构而增加。
存储器装置概要
图1为说明存储器装置100之例示高度实行的方块图。存储器装置100可以是实行如集成电路的闪存。
如图1所示,存储器装置100包括核心阵列102。核心阵列102可包括高密度存储器单元阵列,例如SONOS型(硅-氧化物-氮化物-氧化物-硅)存储器单元,其中该氮化物层系作为电荷储存组件。具体而言,核心阵列102可包括大致上相同的存储器单元之多个M×N存储器阵列。如下将详细描述者,核心阵列102可以是后续的存取内存,其中存储器单元可以在指定群组中存取,例如页或部分页(partialpages)。以此方法,跟NAND相似者相比,核心阵列102可采取接口结构以允许高速数据传输及资料缓冲,甚至比NAND相似者更好,不管该存储器装置100内在实际的NOR阵列结构。实际上,在符合本发明原理之一个实施例中,资料页可涉及核心阵列102中之存储器单元之一连串的列(例如四条连续的字符线)。应了解到资料页可包括任何适合数量的列。逻辑上,页可视为具有预定尺寸的页区块,存储器装置100藉由该页区块而存取。在一个实施例中,存储器装置100之该页尺寸约为两千个位组(亦即2k bytes)。
核心阵列102可藉由透过地址线104提供页的地址给地址序列发生器(address sequencer)106。地址序列发生器106可接收地址输入值并将他们分配给Y译码器108及X译码器110。译码器108及110可译码该地址值致使由该接收地址所指之该存储器单元之该源极、栅极和漏极可以激活而使他们的资料值被读取、编程或抹除。该译码地址在欲使用之该存储器阵列中指定适当的实际线路。例如,资料页可被激活而平行读出核心阵列102。该读取之资料可在被记录入输入/输出(I/O)缓冲器114之前写入输出内存112并透过I/O线116读出。Y译码器108亦可包括适当的感测放大器电路。感测放大器可用以感测核心阵列102中之该存储器单元之该编程或非编程状态。符合本发明之感测放大器可以是低功率感测放大器,如下之附加详细描述。
在某些实施例中,可实行阵列102中之该等存储器单元使得各存储器单元能储存两个或更多个位。在一个此种每个存储器单元有多位的技术(称为镜位(MirrorBitTM))中,藉由在存储器单元之相对两侧上储存两个实际不同的电荷而能使快闪存储器阵列的本质密度加倍。各个电荷,表示在单元内之位,用作为资料之二进制单元(例如,“1”或“0”)。可单独读取或编程存储器单元之一侧而与储存于该单元之相对侧之数据无关。
输出内存112可包括静态随机存取内存(static random accessmemory,SRAM)或动态随机存取内存(dynamic random access memory,DRAM)类型之内存作为核心阵列102与I/O缓冲器114之间的内存快取。输出内存112因此可以是挥发性内存(亦即,当关闭电源时即失去其资料),且与核心阵列102之该存储器单元相比,可以是高速内存。
亦如图1所示,存储器装置100能包括一些帮助读取/写入核心阵列102的附加逻辑组件。尤其,如图中所示,存储器装置100包括状态控制组件120、编程电压产生器122、抹除电压产生器124及选择开关126。这些组件系图标于图1作为分离的组件。应了解到由两个或更多个之这些组件所执行之功能可选择地由单一组件执行。
状态控制组件120可执行根据一些的控制信号而命令存储器装置100之功能的状态机(state machine),如图标之信号,例如重设线132、写入激活(write enable,WE)线134、位组线(byte line)136、芯片激活(CE)线138、输出激活(OE)线140以及读取控制、写入保护等。重设线132,当激活时,会导致存储器装置100之硬件重新设定。写入激活线134能使资料写入核心阵列102。位组线136选择该输出数据总线之宽度。例如,位组线136可使I/O线116作用为8位数据总线或16位数据总线,视位线136之状态而定。芯片激活线138能使资料读取/写入存储器装置100。当芯片激活线138保持在其指定的非主动位准时,该存储器装置100之输出接脚可处于高阻抗(非主动)状态。为激活该存储器装置100,芯片激活线138可保持在其主动状态。输出激活线140能从核心阵列102读取资料并透过I/O线116输出该资料。
编程电压产生器122及抹除电压产生器124可产生从/至核心阵列102读取、写入及抹除所需的适当电压。例如,在一个实施例中,核心阵列102可需要相当高电压以抹除及编程核心阵列102中之该存储器单元。这些高电压可由编程电压产生器122及抹除电压产生器124提供。
习知的编程电压产生器典型地包括电荷泵(charge pump)用以增加或放大电压源而达到在阵列102中编程一个或更多个位所需的电压位准。电荷泵,如在该技术领域中所一般习知的,可包括一连串的级(stage),而各级包括二极管及电容器以“推动”电荷经过该电荷泵的各级而提供比输入供给电压较高的输出电压。然后此输出电压可施加在该存储器单元之各部分作为电压脉冲。
不幸地,电荷泵典型地为存储器装置上最大的电力消耗源(例如电流)。此外,此种电荷泵典型地具有约45%之效率。例如,具有1.8伏特输入电压的存储器装置且在编程操作期间需要1.0毫安的输出电流及7.0伏特输出电压,发现习知的电荷泵需要约8.64毫安的电流来编程该装置。
根据符合本发明原理之一个实施例,编程电压产生器122可包括典型地由电荷泵执行用以执行该电压放大的直流变换器123。直流变换器123藉由包含电感器(inductor)而执行电压放大。经发现使用直流变换器123结合习知编程电压产生器122可导致改善的效率约80%。因此,就上述该范例而言,编程1.8伏特的装置仅需约4.86毫安的电流。
选择开关126可包括连接至核心阵列102的选择晶体管。各选择开关可用以控制一连串的存储器单元,例如存储器单元行。
图2为说明实行在核心区域102中之存储器单元阵列之例示部份的图标,标为存储器阵列210。该阵列包括一些大致上相同的存储器单元201。各存储器单元201包括漏极202、源极203及堆栈栅极区域204。漏极202及源极203根据该施加电压可在存储器单元内交换并可彼此互相转换。示于图2之该组态包括各连接至一列中之一些存储器单元之该栅极区域204的字符线(字符线WL1至WLN)。各位线排列正交于阵列210中之该等字符线。该等位线包括各连接至一个或更多个附加位线215的总体位线(global bit lines)(GBLi-1至GBLi+4)。透过总体位线GBL施加在附加位线215的电压可藉由选择晶体管(亦称作选择开关)S0至S7控制。
如图2所示,选择晶体管S0至S7可设置在选择晶体管的重复群组225中。在一些群组的对应选择晶体管可由相同控制信号控制。例如,激活选择晶体管S0可连接连至S0之该特定位线至施加至GBLi、GBLi+2等的电压。假使选择晶体管S1亦激活,则GBLi+1、GBLi+3等将亦连接至存储器阵列210中之一些存储器单元之该相对的源极/漏极。藉由也激活字符线WL,各群组225中之一个存储器单元可使其源极、漏极和栅极端皆激活,因而允许此选择存储器单元201之编程或读取。在群组225内选择特定存储器单元201的范例中(例如图2之虚线圆圈内之该存储器单元),假定电压施加在WL1且S0及S1打开且电压施加在Gbli及GBLi+1。此时,此单元具有电压施加至其栅极、源极和漏极并可编程或读取。在其它群组225之其它存储器单元201能基于激活相同的WL及选择晶体管而同时被选择。
虽然只有六条总体位线及四条字符线显示于图2中,但是熟习该技术领域者将了解典型的存储器单元架构将包括许多更多的单元在一个阵列中。例如,在一个实施例中,核心阵列102可包括多个存储器单元阵列,各存储器单元阵列包含2048条位线及256条字符线。该2048条位线对应至选择晶体管的256个八存储器单元群组(eight memory cellgroup)225。
虽然于核心区域102中之该存储器单元201系组构为NOR内存,但在某些实施例中,存储器装置100之该外围区域电路可提供呈现出通常由NAND型闪存所提供的外接接口。在此情况中,从使用者/电路设计者的观点来看,即使核心区域102已用作为NOR型闪存存储器装置100100能有效地视为NAND型快闪装置。
图3为更详细说明存储器单元201之其中一个例示的剖面图。存储器单元201可形成于基板310上并包括漏极202、源极203和堆栈栅极204。基板310可由半导体材料形成,例如硅、锗或硅锗。漏极和源极区域202及203可以是掺杂n型杂质的区域,例如磷或砷。如前所述,根据该施加电压值,漏极和源极区域202及203的功能可以反向。
如图3所示,堆栈栅极204形成于信道区域315上。堆栈栅极204包括,包含有相当薄的栅极介电层320之一些层、电荷储存层322、第二介电层324及控制栅极328。介电层320可包括氧化物,例如氧化硅(例如SiO2)。
电荷储存层322可形成于栅极介电层320上并可包括介电材料,例如氮化物(例如氮化硅)。层322作为存储器单元201的电荷储存层。
电荷储存层322可用以储存一个或更多个信息位。在一个例示实施例中,电荷储存层322可藉由将该第一及第二电荷局限至电荷储存层322之个别左右两侧而储存代表两个分离的资料位的电荷。该存储器单元201之该两个电荷之各个电荷可藉由例如信道热电子注入(channel hot electron injection)而单独编程,以储存电荷在该电荷储存层322之个别侧。以此种方式,于电荷储存层322中之电荷变成有效地捕陷于电荷储存层322之各个别侧上,并且该存储器阵列之密度可较每单元仅储存一个资料位的存储器装置有所增加。在其它的实施例中,电荷储存层322可储存代表各个存储器单元201之三个或更多个数据位的电荷。
第二介电层324可形成于层322上并可包括多层结构,例如第一氧化硅层325及第二高介电常数(high-K)层326。High-K层326可包括例如氧化铝,例如Al2O3。介电层325及326可一起作为存储器单元201之层间栅极介电层的功能。在其它实施例中,介电层324可包括单一层,例如氧化硅或氧化铝。
控制栅极328可形成于第二介电层324上方。控制栅极328可由例如多晶硅形成并可连接至存储器单元201之该字符线。
在操作中,存储器装置100之核心区域102可藉由信道热电子注入制程将电子注入电荷储存层322中而进行编程。该注入电子被捕陷(trapped)在电荷储存层322中直到执行抹除操作为止。
核心阵列102中之存储器单元201可藉由施加相当高电压(例如7伏特)至其中一条该字符线WL(例如WL1),有效地施加该电压至耦接至WL1之该存储器单元的控制栅极328而编程。同时,电压可施加跨于群组225之其中一个该存储器单元的漏极202和源极203。例如,可施加约5伏特至GBLi而GBLi+1可接地。而且,选择晶体管S0及S1可藉由施加适当电压至S1而导通。这些电压在该激活的存储器单元(例如图2中圈起的存储器单元)中沿着从该源极到该漏极之该信道长度产生垂直及横向的电场。这些电场导致电子被拉离该源极并开始加速朝向该漏极。当他们沿该信道长度移动时,他们便获得能量。假使一些之电子获得足够能量时,他们便能跳过该介电层320之电位障进入电荷储存层322之一侧而被捕陷。该补陷之电子改变该存储器单元之电子特性。在读取操作中,该漏极与源极端系互相交换。例如,可藉由施加约3伏特至WL1、将GBLi接地并施加约1.5伏特至GBLi+1而执行该对应的读取操作。
当两个位储存在电荷储存层322中时,该第二位系以相似于该第一位的方式编程,除了源极和漏极端两者在方向上为反向外。图4为说明图3之该例示存储器单元的剖面图。此外,图4说明当存储器单元201用来储存代表两个单独位的电荷时的读取及编程方向。存储器单元201包括在电荷储存层322内的两个分离的电荷储存区域432及434。各储存区域432及434可定义一个位。为编程该左边区域432或读取该右边区域434,区域203作为漏极并接受相对于区域202之高电压,该区域202作为源极。为编程该右边区域434或读取该左边区域432,区域202作为该漏极并接受相对于区域203之高电压,该区域203作为源极。图4之箭号系图标电荷流动方向。
存储器装置编程
如前所述,根据本发明之原理,一列之多个存储器单元201(亦即该存储器单元201具有共同的字符线)可藉由激活字符线及在不同群组225中成对的选择晶体管S0至S7而同时或平行地编程平行编程多个存储器单元201在概念上能被视为在“编程窗”内编程多个存储器单元。在此所述之该例示实施例中,该编程窗尺寸将被描述为256个位宽。也就是说,编程以256位块(chunks)中执行。熟习该技术领域者将了解可使用其它的编程窗尺寸,例如512位。
图6为说明典型的NOR存储器装置之例示编程的流程图。如在该技术领域中已知,在习知的NOR存储器阵列中,8位群组(例如八个8位群组)之第一组系初步被辨识(步骤600)。然后各个8位群组接着可被编程(步骤602)。在编程该第一组之各个8位群组后,整个该第一组(例如64位)则经过编程验证(步骤604)。然后决定是否整个该字符线经过编程(步骤606)。如果是,则该操作便终止;然而,如果该整个字符线未经过编程,则程序回到步骤602来编程下一组。重复该程序直到整个该字符线被编程/验证为止。
不幸的是,该编程/验证操作之速度会由于该高编程电压的间歇上下跳动及该感测放大器电路的周期性而降低。
根据本发明之原理,相同实际的阵列,可电性分离为一连串的编程窗/子窗。一旦完成,以窗为基础的编程操作可沿着整个该字符线执行而不需利用该输出内存缓冲器112重新设定该高压电路或感测放大器电路。该输出内存缓冲器112可用以储存来自该使用者的编程数据及来自感测放大器电路108的验证数据。因此,大大地减少类似传统系统在切换操作模式时所需花费的额外时间因而改善装置效率。
图5显示一个编程窗515。编程窗515可包括用以写入核心区域102的256位。基于该编程窗515中各个该位,存储器装置100可判定是否对应至该位之该实际的存储器单元201或存储器单元201之部分需要被编程。编程窗515可进一步细分为子窗520,例如藉由将编程窗520之该256位细分为四个64位窗。就一个512位编程窗而言,可使用四个128位子窗。然后该四个64位窗500可平行编程至核心区域102。藉由同时编程使用64位编程子窗的存储器装置100,可完成该装置之编程比习知的NOR存储器装置快约八倍。对128位编程子窗而言,速度可增加至十六倍。
在此将根据64位子窗520进一步描述内存编程。熟习该技术领域者将了解到可使用其它的编程子窗尺寸。例如,如上简述,128位子窗可用在该编程窗为512位时。而且,具有包含子窗之编程窗之概念可另外实行为没有子窗的单一编程窗或更多数量之子窗(例如八个或更多)。
因为平行编程需要同时施加编程脉冲至许多存储器单元,因此会有需要额外电源来完成该编程的风险。例如,使用习知的编程技术,就64位编程窗而言,需要在单一编程操作期间编程64个位。这种需求会超过现有电源供给的能力或编程电压产生器122的电源管理能力。
为有效地使用该电源,可使用在此称为反编程方法(inverseprogramming method)之编程技术作为功耗状态管理架构以确保最多,在任何单一编程操作期间只有这些平行位的一半量(亦即32个位)实际上需要被编程至他们个别的存储器单元。另外,与该实质资料无关的内存组态位亦需要和这些32个(最多量)位编程。这些组态位可包括位例如多余位、指示位及动态参考位。在一个实施例中,五个组态位之最大值需要针对各个子窗520作编程,给最大总计37位用以针对各个64位子窗520作编程。
在操作中,该反编程方法根据子窗520中之资料动态地选择如何解译编程单元201。例如,假使未编程(non-programmed)存储器单元201(亦即没有储存电荷的单元)通常被解译为逻辑1(1),而子窗520包括所有的逻辑0(0),而没有编程子窗520中之所有的位(亦即64位),则子窗520中该未编程存储器单元201可被解译为对应至逻辑0。以此方法不编程子窗520之所有64位则子窗520中没有位需要被编程,而能够省下许多时间及电力。在此范例中,少如一个组态位(例如该指示位)经过编程以指示该子窗之该存储器单元以反方式(inverse manner)被解译,其中反编程存储器单元对应至逻辑0,而不是习知的逻辑1。
该反编程技术能有利地致使编程的每位低于平均的电力流失且每编程窗较少的最大电流。依此范例,考虑需要0.1毫安以编程一个存储器单元及使用64位编程窗的例示情况。没有在此描述之该编程技术时,该64位编程窗需要总电流64毫安之多来进行编程。假使编程电压产生器122被限制在供给例如4毫安的电流,则不能使用64位窗。然而,以该上述的编程技术,64位编程窗所需之最大总电流能降至几乎一半(约3.3毫安)来编程32位外加该组态位(例如该指示位)。在此情况中,可使用64位编程窗而不超过该编程电压产生器122的能力。
图7为说明存储器装置(例如存储器装置100)之例示编程的流程图。编程窗(例如编程窗515)系可获得并包括被写入内存之该等位(步骤700)。如前所述,一个编程窗可能的尺寸可以是256位编程窗。该编程窗可以被分为子窗520,例如四个64位子窗(步骤701)。然后,对应至编程窗515之该字符线可藉由施加相当高的电压(例如9V)至该字符线而激活(步骤702)。然后,对应至各子窗520之数据可接着写入存储器单元201。在某些可能的实施例中,可同时写入多个子窗。
就将写入之选择子窗520而言,存储器装置100中之逻辑,例如Y译码器电路108或状态控制120之逻辑可判定该选择子窗中哪个位需要编程(步骤703)。该反编程方法可用以将需要编程之存储器单元201的所需数量减到最小。
核心阵列102之物理特性系当以习知方式同时编程大量的位时会导致负脉冲讯号(pulse undershoot)。例如,阵列102可配置以包括“高”组态及长位线。该电位负脉冲讯号可定义为该脉冲之峰值振幅与所期望之稳态脉冲位准之差。在编程含有许多欲编程之位(例如32位)之子窗后,此时负脉冲讯号最为剧烈。在此情况,因为各个长位线需要固定的电流供给,因此编程电压产生器122会经历大电流消耗。在习知操作中,这也许需要时间延迟及大充电电流来使能够编程下一个子窗。
根据符合本发明之一个实施例,可藉由在施加任何编程脉冲之前对与该编程操作相关联之该位线预先充电而避免或降低此负脉冲讯号情况(步骤704)。在一个实施例中,该位线系预先充电至电压供应(Vcc)位准(例如从约1.8至约3.3伏特)。藉由预先充电对应至欲编程之该单元201的该位线,该位线系能较快达到且稳定在所期望的电压位准。另外,由于该位线已预先充电而能降低使该位线产生脉冲所需之该充电电流。再者,藉由不对所有位线预先充电,系能避免不必要的电力消耗。在位线预先充电后,对应至欲编程之该存储器单元201之该位线可藉由使该位线产生脉冲而激活(步骤705)。
如前所述,实际上所需要被编程者可为该64位编程窗520的一半或少于该64位。该未编程群组之该选择晶体管S0至S7可保持在“关闭”状态(亦及非激活)。也就是说,对于各个该未编程群组不会有电压施加在该选择晶体管S0至S7之栅极。
图8为说明例示字符线(WL)及八个存储器单元801-1至801-8之群组的图标,其中各个存储器单元藉由对应的选择晶体管S0至S7控制位线。64位编程窗520可对应至此种存储器单元201群组之各个64位内之一个位。作为范例,假定在存储器单元801-2之该左边位将被编程在此情况中,存储器单元801-2之该左侧为漏极且存储器单元801-2之该右侧为源极。因此,电压(例如约4.5伏特)可施加至位线GBLi,选择晶体管S0可激活,位线GBLi+1可接地且选择晶体管S1可激活。施加至WL、GBLi及GBLi+1之电压可由编程电压产生器122产生。
在编程该电流子窗后,在编程窗515之其它子窗重复步骤703至705(步骤706)。在编程由该编程窗515或子窗520指定之该内存位后,执行编程验证步骤以确保施加至各存储器单元之该编程电压适当地提高将被编程之各存储器单元之临限电压至预定参考电压或大于该参考电压以实际地编程该适当的存储器单元。根据本发明之原理,编程验证步骤可包括同时或平行验证该编程窗中之各位(步骤708)。在符合本发明之一个实施例中,可平行编程验证256位。藉由同时验证编程窗515中之所有256位,存储器装置100之编程验证完成可较习知的NOR存储器装置快约十六至三十二倍。就512位编程窗而言,此速度优点系增加至六十四倍之多。
图9为说明根据本发明原理之步骤708至710之一个例示验证程序的流程图。在图7之步骤706判定该编程窗之各个存储器单元经过编程后(或者是,多个编程窗中之各个存储器单元),施加读取或验证字符线电压至该编程窗(步骤900)。接着,在与该编程窗有关之各位线上感测电压,其中该编程窗系使用一些包含于Y译码器/感测放大器电路108内之分离的感测放大器(步骤902)。例如,假使要平行验证或读取256位,则需要256个感测放大器。
然后将该感测电压与参考电压作比较(步骤904)。然后将与该感测测量相关之资料读入内存112(步骤906)。因为使用了分离的感测放大器(各位线一个),因此随着同步验证的位数量增加,执行平行验证所需的电力消耗系大致上增加。为减缓这种电力需求,符合本发明原理之存储器装置100可包括在感测放大器电路108上之低电力感测放大器以利于在该平行验证操作期间降低电力消耗。
接着,判定是否各编程窗或子窗经过验证。如上所述,可平行验证多个编程窗或子窗,因而改善编程速度。假使判定需要验证附加的编程窗,则该程序移至下一个编程窗(步骤910)且该程序回到步骤902。
假使判定所有编程窗已经过验证,接着便判定是否该感测电压达到或超过该参考电压(步骤912)。假使判定任何该感测电压没有达到或超过该感测电压,则该程序回到图7之步骤705,其系施加附加的编程脉冲且该正在编程位则再次经过编程验证。然而,假使判定各测量位达到或超过该参考电压,则该编程窗被视为经过验证且对该电流编程窗或编程窗群组结束该程序。根据本发明之原理,可同时验证多个编程窗。另外,本发明之该编程及验证程序可操作在页模式而连结各个操作之多条字符线(例如四条字符线)。
存储器装置100中之编程验证及读取操作大致上与在装置程序100中需要辨识各存储器单元201之该编程状态之各程序者相似。该两者操作间之差异在于施加在目前正在读取/验证之单元201之栅极的电压。图10为说明根据本发明原理之一个例示读取程序的流程图。最初,可施加读取字符线电压至与欲读取之该编程窗有关之该字符线(步骤1000)。接着,在与该编程窗有关之各位线上感测电压,其中该编程窗系使用一些包含于Y译码器/感测放大器电路108内之分离的感测放大器(步骤1002)。例如,假使要平行验证或读取256位,则需要256个感测放大器。
然后将该感测电压与参考电压作比较(步骤1004)。然后将与该感测测量相关之资料读入内存112(步骤1006)。因为使用了分离的感测放大器(各位线一个),随着同时读取的位数量增加,执行平行读取所需的电力消耗系实质上增加。为了减缓这种电力需求,符合本发明原理之存储器装置100可包括在感测放大器电路108上之低电力感测放大器以利于在该平行读取操作期间降低电力消耗。
接着,判定是否各编程窗或子窗经过读取。如上所述,可平行读取多个编程窗或子窗,因而改善读取速度。假使判定需要读取额外的编程窗,则该程序移至下一个编程窗(步骤1010)且该程序回到步骤1002。假使判定已经读取所有的编程窗,则该读取操作终止。
结论
如上所述,可执行一些编程技术(例如平行处理及电源管理)以大致上增加NOR为基础之存储器装置的编程速度及电力效能。由此产生的存储器装置仍能展现出NOR为基础之装置的码品质(code-quality)效能,同时进一步展现出可与习知的NAND基础快闪存储器装置相比拟甚或超越的编程与页读取速度及有效的电源管理能力。
前面本发明之例示实施例的叙述系提供说明与叙述,但非意于已完全揭示或限制本发明于所揭露之特定形式。藉由实作本发明或鉴于上述教导系可能作各种的修饰及改变。
此外,关于图6所述之一连串的步骤,该步骤顺序在符合本发明之其它实施例中可以不同。另外,非相依性步骤可平行实行。
在本发明之叙述中,没有任何组件、步骤或指示应被视为本发明中关键或必要的,除非有明确描述者。而且,于原文说明书中所用之冠词“a”系包含一个或多个项目。如指仅有一个时,系使用“one”或相似表示法。再者,“基于(based on)”系指“至少部分基于”,除非有明确描述其不是。