对非易失性存储器器件进行编程的方法

文档序号:6772671阅读:79来源:国知局
专利名称:对非易失性存储器器件进行编程的方法
技术领域
示例性实施例涉及一种对非易失性存储器器件进行编程的方法。
背景技术
存在对能够被电编程和电擦除并且在即使没有供电的情况下也能够保持其数据 的非易失性存储器器件的日益增加的需要。此外,期望高度集成的并且能够存储大量数据 的高容量存储器器件。该非易失性存储器器件可以例如是串行耦合在一起以形成一个单元 串的多个存储器单元,其中每个存储器单元阵列包括多个单元串。非易失性存储器器件的每个单元串具有如下结构,其中多个存储器单元耦合在位 线和源线之间。通过该串结构,可以减少位线和源线之间的接触的数量并且可以使存储器 单元的尺寸是小的,由此实现高容量存储器。然而,该串结构带来了如下顾虑,其中由于存 储器单元的单元电流随着存储器单元的尺寸的减小而变得更小,因此访问速度是低的。在多电平单元中,不同于典型的存储器器件,非易失性存储器器件的一个存储器 单元可以存储2位或更多位的数据(即,多电平形式)。即,存储器单元可以通过控制在存 储器单元的浮栅处捕获的电荷量而具有阈值电压的多个分布,使得存储各种状态的数据。 由于该多电平单元(MLC)编程方法可以使存储器单元的存储器容量显著增加,因此正被广 泛使用。在多电平单元(MLC)编程方法中,两个或更多个逻辑页的数据被编程到一个物理 页中。然而,由于数个逻辑页的数据被编程到一个物理页中,因此为执行编程操作而花费的 时间是相对长的并且执行编程操作的过程是相对复杂的。此外,随着阈值电压分布的数量 的增加,阈值电压的分布之间的宽度变窄。因此,减少了读取裕量,这带来了关于准确读取 数据的顾虑。

发明内容
示例性实施例涉及一种对非易失性存储器器件进行编程的方法,其通过在被编程 为具有高阈值电压的存储器单元中,在编程电压上升到某个电压电平之前不提供编程电 压,能够减少因编程操作期间的位线放电而出现的电流消耗、编程验证操作次数、以及总编 程时间。根据本公开的方面,提供了一种对非易失性存储器器件进行编程的方法,使得存 储器单元具有第一和第二阈值电压分布中的一个。该方法包括初始数据设定步骤,向将被 编程为具有第二阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于禁 止编程的数据;第一编程和验证步骤,执行编程和验证操作;第一数据设定步骤,当编程脉 冲被提供了超过N次(其中N是自然数)时,向将被编程为具有第二阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于执行编程操作的数据;以及第二编程和验 证步骤,执行编程和验证操作。根据本公开的另一方面,提供了一种对非易失性存储器器件进行编程的方法,其 中非易失性存储器器件具有存储器单元并且每个存储器单元具有第一至第四阈值电压分 布中的一个。该方法包括初始数据设定步骤,向将被编程为具有第三和第四阈值电压分布 的存储器单元所耦合的页缓冲器的第一锁存器输入用于禁止编程的数据;第一编程和验证 步骤,执行编程和验证操作;第一数据设定步骤,当编程脉冲被提供了超过N次(其中N是 自然数)时,向将被编程为具有第三阈值电压分布的存储器单元所耦合的页缓冲器的第一 锁存器输入用于执行编程操作的数据;第二编程和验证步骤,执行编程和验证操作;第二 数据设定步骤,当编程脉冲被提供了超过M次(其中M>N且M是自然数)时,向将被编程 为具有第四阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于执行编 程操作的数据;以及第三编程和验证步骤,执行编程和验证操作。根据本公开的又一方面,提供了一种对非易失性存储器器件进行编程的方法,其 中非易失性存储器器件具有耦合到位线和字线的存储器单元并且进一步具有页缓冲器,这 些页缓冲器各自耦合到位线中的一个或更多个。该方法包括初始数据设定步骤,向页缓冲 器中的所选择的页缓冲器的第一至第三锁存器输入数据,使得存储器单元中的所选择的存 储器单元被编程为各自具有第一至第四阈值电压分布中的一个,并且改变第一锁存器的数 据,使得将被编程为具有第三和第四阈值电压分布的存储器单元被禁止编程;第一编程和 验证步骤,响应于第一锁存器的数据状态执行编程和验证操作;第二编程和验证步骤,当编 程脉冲被提供了超过N次(其中N是自然数)时,设定第一数据以改变第一锁存器的数据, 使得可以对将被编程为具有第三阈值电压分布的存储器单元进行编程,并且响应于第一锁 存器的数据状态执行编程和验证操作;以及第三编程和验证步骤,当编程脉冲被提供了超 过M次(其中M是大于N的自然数)时,设定第二数据以改变第一锁存器的数据,使得可以 对将被编程为具有第四阈值电压分布的存储器单元进行编程,并且响应于第一锁存器的数 据状态执行编程和验证操作。根据本公开的再一方面,提供了一种对非易失性存储器器件进行编程的方法,其 中擦除单元被编程为具有N个阈值电压分布中的一个并且N是自然数。该方法包括如下步 骤设定不同的编程脉冲,用于对将被编程为具有阈值电压分布的存储器单元的每个组执 行编程操作,在提供了某个数量的编程脉冲之前禁止对存储器单元进行编程,并且当达到 某个数量的编程脉冲时执行编程操作。在该情况中,对于将被编程为具有比用于所执行的 编程操作的阈值电压分布更高的阈值电压分布的存储器单元,设定更大数量的编程脉冲。


图IA示出了根据本公开的示例性实施例的非易失性存储器器件;图IB是示出图IA中示出的存储器单元阵列的存储器块中的一个的详细示图;图IC是图IA中示出的页缓冲器的电路图;图2是示出根据本公开的示例性实施例的、已被执行编程操作的存储器单元的阈 值电压分布的示图;图3是图示根据本公开的示例性实施例的非易失性存储器器件的编程操作的时
7序图;图4A至4C是示出根据将被编程的存储器单元的数量的位线放电电流量的示图;图5A是图示根据本公开的示例性实施例的编程操作的流程图;图5B是图示图5A中示出的数据设定过程的流程图;图5C是图示图5A中示出的第一数据设定过程的流程图;图5D是图示图5A中示出的第二数据设定过程的流程图;并且图6A和6B是示出其中执行根据本公开的示例性实施例的编程操作的时间期间的 电流量的示图。
具体实施例方式下面将参照附图详细描述本公开的示例性实施例。附图被提供用于允许本领域的 普通技术人员理解本公开的实施例的范围。图IA示出了根据本公开的示例性实施例的非易失性存储器器件。参照图1A,非易失性存储器器件100包括存储器单元阵列110、页缓冲器部件120、 Y解码器130、X解码器140、电压提供部件150和控制部件160。存储器单元阵列110包括多个存储器块BK(未示出)。每个存储器块BK包括耦合 到位线BL和字线WL的多个存储器单元。假设根据本公开的示例性实施例的非易失性存储 器器件100的存储器单元是能够存储2位数据的多电平单元(MLC)。然而,也考虑了使用各 自能够存储超过2位的数据的多电平单元。对应于各个物理页的字线中的每一个包括最低有效位(LSB)页和最高有效位 (MSB)页的逻辑页。页缓冲器部件120包括各自耦合到一个或更多个位线BL的页缓冲器PB。在如图 IA中示出的本公开的示例性实施例中,一个页缓冲器PB耦合到包括偶位线BLe和奇位线 BLo的一对位线BL。页缓冲器PB用于编程和数据读取操作并且被配置为根据锁存数据状态执行编程 验证操作。Y解码器130用于响应于控制部件160的控制信号而实现针对页缓冲器PB的数据 输入和输出路径。X解码器140被配置为响应于控制部件160的控制信号选择字线,并且X解码器 140耦合到用于提供操作电压的全局线。电压提供部件150生成用于编程和验证操作以及数据读取或擦除操作的电压并 且将所生成的电压提供给全局线。控制部件160输出用于编程、编程验证、数据读取、以及擦除的操作的控制信号。图IB是示出图IA中示出的存储器单元阵列的存储器块BK中的一个的详细示图。参照图1B,存储器单元阵列110包括多个存储器块BK。每个存储器块BK包括多 个单元串CS。每个单元串CS包括第一至第三十二存储器单元CO至C31、漏极选择晶体管 DST和源极选择晶体管SST。单元串CS的漏极选择晶体管DST的漏极耦合到各个位线BL,并且其源极选择晶体 管SST的源极耦合到公共源线SL。
漏极选择晶体管DST的栅极耦合到共有的漏极选择线DSL,并且源极选择晶体管 SST的栅极耦合到共有的源极选择线SSL。第一至第三十二存储器单元CO至C31的栅极分别耦合到第一至第三十二字线WLO 至 WL31。耦合到一个或更多个位线BL的页缓冲器PB被构造如下。图IC是图IA中示出的页缓冲器PB的电路图。参照图1C,页缓冲器PB包括第一感测部件121、预充电部件122、第一至第三锁存 器部件123至125、和第二感测部件126。第一感测部件121耦合在位线BL和第一感测节点SOl之间并且被配置为感测位 线BL的电压以改变第一感测节点SOl的电压电平。预充电部件122对第一感测节点SOl预充电。第一锁存器部件123被配置为存储 将被编程的并且用于数据编程操作的数据。第二和第三锁存器部件124和125用于存储标 志信息。第二和第三锁存器部件124和125用于识别将用于对存储器单元进行编程并且控 制验证操作的阈值电压分布中的一个。第二感测部件126感测第一感测节点SOl的电压电平并且将第二感测节点S02耦 合到地节点。页缓冲器PB进一步包括用于缓存程序的缓存锁存器和用于数据输入和输出的数 据输入和输出电路。然而,图IB仅示出了那些与说明本公开的示例性实施例相关的组件。下面更详细地描述页缓冲器PB的电路配置。第一感测部件121包括第一 NMOS (N型金属氧化物半导体)晶体管附。预充电部 件122包括第一 PMOS (P型金属氧化物半导体)晶体管Pl。第一至第三锁存器部件123至125包括第二至第十六NMOS晶体管N2至附6以及 第一至第三锁存器Ll至L3。第二感测部件126包括第十七NMOS晶体管附7。第一 NMOS晶体管附耦合在位线BL和第一感测节点SOl之间。感测控制信号 PBSENSE被输入到第一 NMOS晶体管m的栅极。第一 PMOS晶体管Pl耦合在电源输入端子和第一感测节点SOl之间。预充电控制 信号PRECHS0_N0被输入到第一 PMOS晶体管Pl的栅极。第二 NMOS晶体管N2耦合在第一感测节点SOl和节点MB_N之间。第一数据传输 信号MTRAN被输入到第二 NMOS晶体管N2的栅极。第一锁存器Ll耦合在节点MB和节点MB_N之间。第一锁存器Ll是具有两个交叉 耦合的反相器的锁存器电路。第三NMOS晶体管N3耦合在节点MB和第二感测节点S02之间。第四NMOS晶体管 N4耦合在节点MB_N和第二感测节点S02之间。第一重置信号MRST被输入到第三NMOS晶体管N3的栅极。第一设定信号MSET被 输入到第四NMOS晶体管N4的栅极。第五和第六NMOS晶体管N5和N6耦合在第一感测节点SOl和地节点之间。第二 数据传输信号F1S0SET_N被输入到第五NMOS晶体管N5的栅极。节点Fl耦合到第六NMOS 晶体管N6的栅极。第七和第八NMOS晶体管N7和N8耦合在第一感测节点SOl和地节点之间。第三数据传输信号F1S0SET被输入到第七NMOS晶体管N7的栅极。节点F1_N耦合到第八NMOS 晶体管N8的栅极。第二锁存器L2耦合在节点Fl和节点F1_N之间。第二锁存器L2包括两个交叉耦 合的反相器。第九NMOS晶体管N9耦合在节点Fl和第二感测节点S02之间。第十NMOS晶体管 NlO耦合在节点F1_N和第二感测节点S02之间。第二重置信号FIRST被输入到第九NMOS 晶体管N9的栅极。第二设定信号FlSET被输入到第十NMOS晶体管WO的栅极。第—^一和第十二 NMOS晶体管Nll和N12耦合在第一感测节点SOl和地节点之间。 第四数据传输信号F2S0SET_N被输入到第十一 NMOS晶体管mi的栅极。第十二 NMOS晶体 管W2的栅极耦合到节点F2。第十三和第十四NMOS晶体管N13和N14耦合在第一感测节点SOl和节点F2_N之 间。第五数据传输信号F2S0SET被输入到第十三NMOS晶体管W3的栅极。第十四NMOS晶 体管W4的栅极耦合到节点F2_N。第三锁存器L3耦合在节点F2和节点F2_N之间。第三锁存器L3包括两个交叉耦 合的反相器。第十五NMOS晶体管N15耦合在节点F2和第二感测节点S02之间。第十六NMOS 晶体管N16耦合在节点F2_N和第二感测节点S02之间。第三重置信号F2RST被输入到第十五NMOS晶体管附5的栅极。第三设定信号 F2SET被输入到第十六NMOS晶体管W6的栅极。第十七NMOS晶体管N17耦合在第二感测节点S02和地节点之间。第十七NMOS晶 体管m7的栅极耦合到第一感测节点soi。作为使用上述页缓冲器PB执行编程操作的结果,存储器单元阵列110的存储器单 元具有如下阈值电压分布。图2是示出根据本公开的示例性实施例的已被执行编程操作的存储器单元的阈 值电压分布的示图。参照图2,在完成关于最低有效位(LSB)页和最高有效位(MSB)页的编程操作之 后,最初处于第一阈值电压分布210(即,擦除单元状态)的存储器单元的阈值电压可以保 持在第一阈值电压分布210,或者转变到第二至第四阈值电压分布220至240中的任何一 个。下面,仅说明在对最低有效位(LSB)页进行编程之后对最高有效位(MSB)页进行 编程的方法作为示例。下面针对例如具有上述电路配置的页缓冲器PB,描述根据本公开的示例性实施例 的编程操作。图3是图示根据示例性实施例的非易失性存储器器件的编程操作的时序图。参照图3,为了执行编程操作,非易失性存储器器件100首先对所有位线BL进行预 充电。接着,根据耦合到所选择的位线的页缓冲器PB中存储的数据状态,维持所选择的位 线的预充电状态或者使所选择的位线放电。通过向相应的字线提供编程电压逐页地执行编程操作。因此,非易失性存储器器 件100对包括耦合到应被禁止编程的存储器单元的位线的所有位线进行预充电以防止/减少沟道升压。因此,位线放电时间期间消耗的电流量根据一页中的将被编程的存储器单元的数 量而变化。换言之,随着将被编程的存储器单元的数量增加,预充电的位线中的经历放电的 位线的数量也增加。因此,总放电电流增加。图4A至4C是示出根据将被编程的存储器单元的数量的放电电流量的示图。从图4A可见,放电电流随着将被编程的存储器单元的数量的增加而升高。此外,从图4B和4C可见,编程电压随着编程脉冲的每次重复而升高,并且放电电 流随着编程操作的进行而下降。这是因为,随着编程操作的进行,被完全编程且变为禁止编 程状态的存储器单元的数量增加。特别地,在能够存储2位或更多位的数据的多电平单元(MLC)中,借助关于每个阈 值电压分布的编程,看到放电电流随着编程操作的进行而下降。在关于图2中示出的每个阈值电压分布的编程中的电流放电中,将被编程为具有 第二阈值电压分布220的存储器单元在初始编程操作之后被禁止编程,这是因为它们在最 初提供编程电压Vpgm时被编程了。可以看到,对于对第三和第四阈值电压分布230和240进行编程而言,用于电流放 电的时间较长。这是因为,当编程电压Vpgm上升到某个电平时,将被编程为具有第三和第 四阈值电压分布230和240的存储器单元达到编程通过(program pass)状态。因此,可以看到,总放电电流量随着编程电压Vpgm的上升或者随着编程脉冲而下 降。在本公开的示例性实施例中,应被编程为具有高阈值电压的存储器单元在编程电 压Vpgm上升到某个电平之前不会达到编程通过状态。这里,在其中以从低电压开始到高电 压的方式提供编程电压Vpgm的情况和其中立刻提供高编程电压Vpgm的情况之间,将被编 程为具有高阈值电压的存储器单元的编程速度不会明显不同。出于该原因,使用禁止对存 储器单元编程的方法,其中在到达某个编程脉冲或者某个编程电压之前,将被编程为具有 高阈值电压分布的存储器单元被禁止编程。图5A是图示根据本公开的示例性实施例的编程操作的流程图。在本公开的示例性实施例中,描述了其中对各自能够存储2位的数据的多电平单 元(MLC)进行编程的示例。假设例如,通过同一方法已完成对最低有效位(LSB)页的编程 操作,下面仅描述对最高有效位(MSB)页的编程操作。通过关于最高有效位(MSB)页的编程操作,相应的存储器单元的阈值电压被设定 为第一至第四阈值电压分布210至240。这里,A、B、C和D分别表示其中相应的存储器单 元将被编程为具有第一至第四阈值电压分布210至240的四种情况。出于MSB页编程操作的目的,在步骤S501中设定存储在页缓冲器PB的第一至第 三锁存器Ll至L3中的数据状态。下面的表1示出了其中根据情况A、B、C和D将数据输入到第一至第三锁存器Ll 至L3的示例。表 1ABCDMB_N1000F1_N0110F2_N1100在如上所述输入MB_N、F1_N和F2_N的初始数据之后,防止/禁止对应于情况C和 D的存储器单元而非对应于情况B的存储器单元被编程。针对该目的设定初始数据。图5B是图示图5A中示出的数据设定过程的流程图。对于初始数据设定S501,在步骤S551中加载如表1中示出的数据。接着,在步骤S553中对第一感测节点SOl进行预充电。在第一感测节点SOl已被 预充电的情况下,在步骤S557中提供高电平的第二数据传输信号F1S0SET_N,并且在步骤 S559中提供高电平的第五数据传输信号F2S0SET,由此改变第一感测节点SOl的电压。接 着,在步骤S561中向第一锁存器部件123提供高电平的第一重置信号MRST,因此改变第一 锁存器Ll的数据状态。在步骤S553至S561之后,在例如关于将存储器单元编程为具有第三阈值电压分 布的情况C中,节点MB_N的数据状态从状态“0”变为状态“ 1 ”。接着,在步骤S563中再次对第一感测节点SOl进行预充电。在步骤S565中提供 高电平的第三数据传输信号F1S0SET,并且在步骤S567中提供高电平的第五数据传输信号 F2S0SET,由此改变第一感测节点SOl的电压。接着,在步骤S569中提供高电平的第一重置信号MRST,因此改变节点MB_N的数据 状态。更具体地,下面描述根据数据设定过程的A、B、C和D的情况中的节点MB_N的数据 状态的改变。首先,在情况A中,节点MB_N的数据状态是“1”,节点FlN的数据状态是“0”,并且 节点F2_N的数据状态是“1”。当对第一感测节点SOl进行预充电并且随后提供高电平的第二数据传输信号 F1S0SET_N时,第五NMOS晶体管N5导通。由于节点F1_N的数据具有状态“0”,节点Fl的 数据具有状态“1”,因此第六NMOS晶体管N6也导通。即,第一感测节点SOl被放电。如果 第一感测节点SOl被放电,则当随后提供高电平的第五数据传输信号F2S0SET时,第一感测 节点SOl维持放电状态而与节点F2_N的数据状态无关。此外,如果第一感测节点SOl被放电,则节点MB_N的数据状态不改变。因此,在情 况A中,节点MB_N处的数据状态“ 1,,保持原样。同时,在情况A中,当再次对第一感测节点SOl进行预充电并且随后提供高电平的 第三数据传输信号F1S0SET时,第七NMOS晶体管N7导通。然而,由于节点F1_N具有数据 状态“0”,因此第一感测节点SOl未被放电。接着,当提供高电平的第五数据传输信号F2S0SET时,第十三NMOS晶体管N13导 通。在该情况中,由于节点F2_N具有数据状态“1”,因此第十四NMOS晶体管N14也导通。
12因此,第一感测节点SOl被放电,并且节点MB_N的数据不改变。在情况A中,作为执行步骤 S551至S569的结果,在图5A中的初始数据设定步骤S501之后维持初始加载状态(节点 MB_N 处的 “ 1 ”)。下面描述对应于将存储器单元编程为具有第二阈值电压分布的情况B。首先,在其中对第一感测节点SOl进行预充电的状态下,提供高电平的第二数据 传输信号F1S0SET_N。在该情况中,由于节点Fl具有数据状态“0”,因此第一感测节点SOl 未被放电。当提供高电平的第五数据传输信号F2S0SET时,第十三NMOS晶体管W3导通。 这里,节点F2_N具有数据状态“1”。因此,由于第一感测节点SOl被放电,所以节点MB_N的 数据状态不改变。接着,当再次对第一感测节点SOl进行预充电并且随后提供高电平的第三数据传 输信号F1S0SET时,第七NMOS晶体管N7导通。在该情况中,由于节点F1_N具有数据状态 “1”,因此第一感测节点SOl被放电。即,节点MB_N的数据状态不改变。在情况B中,作为 执行步骤S551至S569的结果,初始数据加载状态(节点MB_N处的“0”)不改变。下面描述对应于将存储器单元编程为具有第三阈值电压分布的情况C。当在第一感测节点SOl已预充电的情况下提供高电平的第二数据传输信号 F1S0SET_N时,第五NMOS晶体管N5导通。在该情况中,由于节点Fl具有数据状态“0”,因 此第一感测节点SOl未被放电。接着,当提供高电平的第五数据传输信号F2S0SET时,第十三NMOS晶体管N13导 通。然而,由于节点F2_N具有数据状态“0”,因此第一感测节点SOl维持在预充电状态。因 此,第十七NMOS晶体管N17保持导通,并且第二感测节点S02耦合到地节点。当提供高电平的第一重置信号MRST时,第三NMOS晶体管N3导通。因此,由于节 点MB耦合到地节点,所以节点MB_N的数据状态变为“ 1 ”。在节点MB_N的数据状态已变为“1”的状态下,当对第一感测节点SOl进行预充电 并且提供高电平的第三数据传输信号F1S0SET时,第七NMOS晶体管N7导通。在该情况中, 由于节点F1_N具有数据状态“1”,因此第一感测节点SOl被放电。因此,节点MB_N维持数 据状态“1”。作为初始数据设定的结果,在对应于将存储器单元编程为具有第三阈值电压分布 的情况C中,节点MB_N的数据状态从“0”变为“1”,并且因此设定了禁止编程。下面描述对应于将存储器单元编程为具有第四阈值电压分布的情况D。当对第一感测节点SOl进行预充电并且随后提供高电平的第二数据传输信号 F1S0SET_N时,第五NMOS晶体管N5导通。这里,节点Fl具有数据状态“ 1 ”。因此,第一感 测节点SOl被放电,并且因此节点MB_N的数据状态不改变。接着,当对第一感测节点SOl进行预充电并且随后提供高电平的第三数据传输信 号F1S0SET时,第七NMOS晶体管N7导通。在该情况中,由于节点F1_N具有数据状态“0”, 因此第一感测节点SOl维持预充电状态。接着,当提供高电平的第五数据传输信号F2S0SET时,第十三NMOS晶体管N13导 通。然而,由于节点F2_N具有数据状态“0”,因此第一感测节点SOl维持预充电状态。因此,当提供高电平的第一重置信号MRST时,在情况D中的节点MB_N的数据状态 从“0”变为“1”。换言之,在对应于将存储器单元编程为具有第四阈值电压分布的情况D中,设定了禁止编程。通过针对表1中的上述数据执行图5B的步骤,如表2中所示,设定关于每种情况 A、B、C和D的第一至第三锁存器的数据。表2
ABCDMB_N1X11F1_N0110F2_N1100在表2中,标记“X”指示当对应于情况B的存储器单元变为编程通过时,情况B变 为数据状态“1”。在如上文所述完成初始数据设定过程之后,在步骤S503中执行编程和验证操作。 在步骤S503中执行编程和验证操作时,由于仅执行对于对应于将存储器单元编程为具有 第二阈值电压分布的情况B的编程操作,并且对于情况C和D已设定了禁止编程(其中被 编程为具有情况C和D的存储器单元被禁止编程),因此仅需要使用第一验证电压PVl来执 行编程验证操作。因此,由于可以减少正在放电的位线的数量,因此可以减少电流消耗。随后在步骤S505中确定对应于情况B而进行编程的存储器单元是否是编程通过。 如果作为确定结果,相应的存储器单元被确定为是编程通过,则认为完成了针对对应于情 况B而被编程为具有第二阈值电压分布的所有存储器单元的编程操作。接着,在步骤S511 中执行第一数据设定过程。此外,在该编程通过中,被编程为具有第二阈值电压分布(情况 B)的所有存储器单元处于编程状态。因此,在随后的编程验证操作中,禁止使用第一验证电 压PVl的验证操作,由此减少用于执行编程验证操作的时间。然而,如果作为步骤S505中的确定结果,相应的存储器单元被确定为不是编程通 过,则再次提供编程脉冲。在步骤S507中确定编程脉冲是否已被提供了超过N次。如果作 为确定结果,确定编程脉冲仍未被提供超过N次,则在步骤S509中按步长电压使编程电压 Vpgm上升,在步骤S503中再次执行编程和验证操作。然而,如果作为步骤S507中的确定结果,确定编程脉冲已被提供了超过N次,则在 步骤S511中执行第一数据设定过程。因此,在将被编程为具有情况B的所有存储器单元已 被编程之后或者在编程脉冲被提供了超过N次之后,执行编程操作,用于对应于情况C将存 储器单元编程为具有第三阈值电压分布。为此,执行第一数据设定过程。下面参照图5C详细描述步骤S511中的第一数据设定过程。图5C是图示图5A中示出的第一数据设定过程的流程图。参照图5C,首先,在步骤S571中对第一感测节点SOl进行预充电。接着,在步骤 S573中提供高电平的第二数据传输信号F1S0SET_N并且在步骤S575中提供高电平的第五 数据传输信号F2S0SET,由此改变第一感测节点SOl的电压电平。接着,在步骤S577中提供
14高电平的第一设定信号MSET,因此改变节点MB_N的数据状态。更具体地,在对应于将存储器单元编程为具有第一阈值电压分布的情况A中,当 对第一感测节点SOl进行预充电并且随后提供高电平的第二数据传输信号F1S0SET_N时, 第五NMOS晶体管N5导通。在该情况中,节点Fl具有数据状态“1”。由于第一感测节点SOl 被放电,因此节点MB_N的数据状态(如表2中关于情况A示出的,先前是“1”)不改变。在对应于将存储器单元编程为具有第二阈值电压分布的情况B中,当对第一感测 节点SOl进行预充电并且随后提供高电平的第二数据传输信号F1S0SET_N时,第五NMOS晶 体管N5导通。此外,由于节点Fl具有数据状态“0”,因此第一感测节点SOl维持预充电状 态。接着,当提供高电平的第五数据传输信号F2S0SET时,第十三NMOS晶体管N13导 通。由于节点F2_N具有数据状态“1”,因此第一感测节点SOl被放电。因此,节点
数据状态不改变。在对应于将存储器单元编程为具有第三阈值电压分布的情况C中,当对第一感测 节点SOl进行预充电并且随后提供高电平的第二数据传输信号F1S0SET_N时,第五NMOS晶 体管N5导通。由于节点Fl具有数据状态“0”,因此第一感测节点SOl维持预充电状态。接着,当提供高电平的第五数据传输信号F2S0SET时,第十三NMOS晶体管N13导 通。因此,由于节点F2_N具有数据状态“0”,所以第一感测节点SOl维持预充电状态,并且 第十七NMOS晶体管N17也保持导通。当提供高电平的第一设定信号MSET时,由于第NMOS晶体管N4导通,因此节点MB_ N的数据状态(如表2中关于情况C示出的,先前是“1”)变为“0”。因此,可以执行随后的 编程操作。在对应于将存储器单元编程为具有第四阈值电压分布的情况D中,当对第一感测 节点SOl进行预充电并且随后提供高电平的第二数据传输信号F1S0SET_N时,第五NMOS晶 体管N5导通。在该情况中,由于节点Fl具有数据状态“1”,因此第一感测节点SOl被放电, 并且节点MB_N的数据状态(如表2中关于情况D示出的,先前是“1”)不改变。如果如图5C中所示执行第一数据设定过程,则在情况C中,节点MB_N的数据状态 变为“0”。因此,当执行随后的编程操作时,可以执行位线放电操作,用于对应于情况C将存 储器单元编程为第三阈值电压分布。当位线被放电时,完成编程操作。S卩,在第一数据设定过程之后,在步骤S513中执行编程和验证操作。随后在步骤 S515中确定分别对应于情况B和C而被编程为具有第二阈值电压分布(如果在步骤S503 至S509中,将被编程为具有第二阈值电压分布的一些存储器单元未被成功编程)和第三阈 值电压分布的存储器单元是否是编程通过。如果作为确定结果,相应的存储器单元被确定 为是编程通过,则认为完成了针对对应于情况B和C而被编程为具有第二或第三阈值电压 分布的所有存储器单元的编程操作。接着,在步骤S521中执行第二数据设定过程。第二数 据设定过程是改变对应于情况D而将被编程为具有第四阈值电压分布的存储器单元所耦 合的页缓冲器PB的节点MB_N的数据状态,以便具有数据状态“0”的操作。然而,如果作为步骤S515中的确定结果,相应的存储器单元被确定为不是编程通 过,则再次提供编程脉冲。在步骤S517中确定编程脉冲是否已被提供了超过M次。这里, “M”是大于“N”的自然数。即,在编程脉冲被提供N次之后,执行第一数据设定过程,使得可以针对对应于情况C而将被编程为具有第三阈值电压分布的存储器单元执行编程操作。接 着,通过提供M次编程脉冲,仅对分别对应于情况B和C而将被编程为具有第二和第三阈值 电压分布的存储器单元执行编程操作。如果作为步骤S517中的确定结果,确定编程脉冲仍未被提供超过M次,则在步骤 S519中按步长电压使编程电压Vpgm上升,并且该过程返回其中重复编程和验证操作的步 马聚S513ο然而,如果作为步骤S517中的确定结果,确定编程脉冲已被提供了超过M次,则在 步骤S521中执行第二数据设定过程。图5D是图示图5Α中示出的第二数据设定过程的流程图。参照图5D,首先,在步骤S581中对第一感测节点SOl进行预充电。接着,在步骤 S583中提供高电平的第三数据传输信号F1S0SET并且在步骤S585中提供高电平的第五数 据传输信号F2S0SET,由此改变第一感测节点SOl的电压。接着,提供高电平的第一设定信号MSET,因此改变节点ΜΒ_Ν的数据状态。更具体地,在情况A中,当对第一感测节点SOl进行预充电并且随后提供高电平的 第三数据传输信号F1S0SET时,第七NMOS晶体管Ν7导通。节点F1_N具有数据状态“0”,并 且第一感测节点SOl维持预充电状态。当提供高电平的第五数据传输信号F2S0SET时,第十三NMOS晶体管N13导通。因 此,由于节点F2_N具有数据状态“ 1 ”,所以第一感测节点SOl被放电,并且节点MB_N的数据 状态不改变。在情况B中,当对第一感测节点SOl进行预充电并且随后提供高电平的第三数据 传输信号F1S0SET时,第七NMOS晶体管N7导通。由于节点F1_N具有数据状态“ 1”,因此第 一感测节点SOl被放电。因此,节点MB_N的数据状态不改变。在情况C中,由于节点F1_N具有数据状态“1”,因此第一感测节点SOl被放电,并 且因此节点MB_N的数据状态不改变。在情况D中,节点F1_N具有数据状态“0”。因此,即使第七NMOS晶体管N7导通, 第一感测节点SOl仍维持预充电状态。接着,当提供高电平的第五数据传输信号F2S0SET 时,第十三NMOS晶体管N13导通。由于节点F2_N具有数据状态“0”,因此第一感测节点SOl维持预充电状态,并且第 十七NMOS晶体管N17保持导通。当提供高电平的第一设定信号MSET时,第四NMOS晶体管 N4导通,并且节点MB_N具有数据状态“0”。因此,仅在情况D中,节点MB_N的数据状态通过第二数据设定过程而改变。在完成第二数据设定过程之后,在步骤S523中执行编程和验证操作。随后在步骤 S525中确定编程验证操作是否是通过。如果作为确定结果,编程验证操作被确定为是通过, 则在步骤S531中完成编程操作。然而,如果作为步骤S525中的确定结果,编程验证操作被确定为不是通过,则在 步骤S527中确定编程脉冲是否已被提供了超过P次。这里,“P”是大于“M”的自然数并且 其指示可以提供的编程脉冲的最大数量。如果作为步骤S527中的确定结果,确定编程脉冲已被提供了超过P次,则在步骤 S533中不执行进一步的编程操作,将编程状态信息指示为失败,并且结束编程操作。
然而,如果作为步骤S527中的确定结果,确定编程脉冲仍未被提供超过P次,则在 步骤S529中再次使编程电压Vpgm上升,并且该过程返回步骤S523。根据示例性实施例,在所施加的编程脉冲的数量达到某个次数或更大之前,可以 禁止关于将被编程为具有高阈值电压的存储器单元的编程操作。因此,可以减少位线被放 电时消耗的电流。图6A和6B是示出其中执行根据本公开的示例性实施例的编程操作的时间期间的 放电电流的示图。参照图6A,尽管响应于编程脉冲提供了编程电压Vpgm,但是防止/禁止关于分别 对应于情况B、C和D而将被编程为具有第二、第三和第四阈值电压分布的适当的存储器单 元的编程操作。因此,可以减少电流消耗。因此,较之图4B中示出的总电流消耗,可以显著减少总电流消耗。此外,根据示例,在执行禁止编程操作的时间期间,还可以禁止/防止关于相应的 阈值电压分布的禁止编程操作的验证操作。因此,由于减少了验证操作的次数,因此可以减 少为执行整个编程操作而花费的时间。如上文所述,按照根据本公开的对非易失性存储器器件进行编程的方法,当执行 编程验证操作时,在编程电压上升到某个电压之前,将被编程为具有高阈值电压分布的存 储器单元被禁止编程。因此,在编程操作中,可以减少来自正在放电的位线的电流消耗。此 外,通过不执行对应于被禁止的编程操作的验证操作,可以减少为执行整个编程操作而花 费的时间。
权利要求
一种对非易失性存储器器件进行编程的方法,其中,所述非易失性存储器器件具有存储器单元并且每个存储器单元具有第一和第二阈值电压分布中的一个,所述方法包括初始数据设定步骤,向将被编程为具有第二阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于禁止编程的数据;第一编程和验证步骤,执行编程和验证操作;第一数据设定步骤,在N是自然数的情况下,当编程脉冲被提供了超过N次时,向将被编程为具有第二阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于执行编程操作的数据;以及第二编程和验证步骤,执行编程和验证操作。
2.如权利要求1所述的方法,其中,具有第一阈值电压分布的存储器单元的阈值电压 小于具有第二阈值电压分布的存储器单元的阈值电压。
3.如权利要求1所述的方法,其中,当在第一编程和验证步骤中执行所述验证操作时, 不对将被编程为具有第二阈值电压分布的存储器单元执行所述验证操作。
4.如权利要求3所述的方法,其中,当在第二编程和验证步骤中执行所述验证操作时, 对将被编程为具有第一阈值电压分布的存储器单元和将被编程为具有第二阈值电压分布 的存储器单元顺序执行所述验证操作。
5.一种对非易失性存储器器件进行编程的方法,其中,所述非易失性存储器器件具有 存储器单元并且每个存储器单元具有第一至第四阈值电压分布中的一个,所述方法包括初始数据设定步骤,向将被编程为具有第三和第四阈值电压分布的存储器单元所耦合 的页缓冲器的第一锁存器输入用于禁止编程的数据; 第一编程和验证步骤,执行编程和验证操作;第一数据设定步骤,在N是自然数的情况下,当编程脉冲被提供了超过N次时,向将被 编程为具有第三阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于执 行编程操作的数据;第二编程和验证步骤,执行编程和验证操作;第二数据设定步骤,在M > N且M是自然数的情况下,当所述编程脉冲被提供了超过M 次时,向将被编程为具有第四阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器 输入用于执行编程操作的数据;以及第三编程和验证步骤,执行编程和验证操作。
6.如权利要求5所述的方法,其中将被编程为具有第一阈值电压分布的存储器单元处于擦除状态, 被编程为具有第三阈值电压分布的存储器单元的阈值电压高于被编程为具有第二阈 值电压分布的存储器单元的阈值电压,并且被编程为具有第四阈值电压分布的存储器单元的阈值电压高于被编程为具有第三阈 值电压分布的存储器单元的阈值电压。
7.如权利要求6所述的方法,其中,初始数据设定步骤包括以下步骤根据来自第一至第四阈值电压分布的、将被编程的数据的特定阈值电压分布,输入将 被编程的数据到第一锁存器,并且将数据输入到页缓冲器的第二和第三锁存器;以及 响应于第二和第三锁存器的数据状态,改变第一锁存器的数据状态。
8.如权利要求7所述的方法,其中,根据第二和第三锁存器的数据状态改变第一锁存 器的数据状态的步骤包括以下步骤对页缓冲器的感测节点进行预充电;响应于第二锁存器的第一节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据;以及响应于第二锁存器的第二节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据。
9.如权利要求8所述的方法,其中,第一数据设定步骤包括以下步骤对所述感测节点进行预充电;以及响应于第二锁存器的第一节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据。
10.如权利要求8所述的方法,其中,第二数据设定步骤包括以下步骤对所述感测节点进行预充电;以及响应于第二锁存器的第二节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据。
11.如权利要求5所述的方法,其中,第三编程和验证步骤包括以下步骤在P是大于M 的自然数的情况下,当所述编程脉冲被提供了超过P次时,指示编程失败,并且结束编程操作。
12.如权利要求5所述的方法,其中,在第一编程和验证步骤中,不对被编程为具有第 三和第四阈值电压分布的存储器单元执行第一验证操作。
13.如权利要求12所述的方法,其中,在第二编程和验证步骤中,不对被编程为具有第 四阈值电压分布的存储器单元执行第二验证操作。
14.如权利要求13所述的方法,其中,不对被编程为具有被确定为是编程通过的阈值 电压分布的存储器单元执行所述各验证操作。
15.一种对非易失性存储器器件进行编程的方法,其中,所述非易失性存储器器件具有 耦合到位线和字线的存储器单元,并且进一步具有页缓冲器,所述页缓冲器各自耦合到所 述位线中的一个或更多个,所述方法包括初始数据设定步骤,向所述页缓冲器中的所选择的页缓冲器的第一至第三锁存器输入 数据,使得所述存储器单元中的所选择的存储器单元被编程为各自具有第一至第四阈值电 压分布中的一个,并且改变第一锁存器的数据,使得将被编程为具有第三和第四阈值电压 分布的存储器单元被禁止编程;第一编程和验证步骤,响应于第一锁存器的数据状态执行编程和验证操作;第二编程和验证步骤,在N是自然数的情况下,当编程脉冲被提供了超过N次时,设定 第一数据以改变第一锁存器的数据,使得能够对将被编程为具有第三阈值电压分布的存储 器单元进行编程,并且响应于第一锁存器的数据状态执行编程和验证操作;以及第三编程和验证步骤,在M是大于N的自然数的情况下,当所述编程脉冲被提供了超过 M次时,设定第二数据以改变第一锁存器的数据,使得能够对将被编程为具有第四阈值电压 分布的存储器单元进行编程,并且响应于第一锁存器的数据状态执行编程和验证操作。
16.如权利要求15所述的方法,其中将被编程为具有第一阈值电压分布的存储器单元处于擦除状态,被编程为具有第三阈值电压分布的存储器单元的阈值电压高于被编程为具有第二阈 值电压分布的存储器单元的阈值电压,以及被编程为具有第四阈值电压分布的存储器单元的阈值电压高于被编程为具有第三阈 值电压分布的存储器单元的阈值电压。
17.如权利要求16所述的方法,其中,初始数据设定步骤包括以下步骤根据来自所述第一至第四阈值电压分布的、将被编程的数据的特定阈值电压分布,输 入将被编程的数据到第一锁存器,并且将数据输入到第二和第三锁存器;以及响应于第二和第三锁存器的数据状态,改变第一锁存器的数据状态。
18.如权利要求17所述的方法,其中,响应于第二和第三锁存器的数据状态改变第一 锁存器的数据状态的步骤包括以下步骤对页缓冲器的感测节点进行预充电;响应于第二锁存器的第一节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据;以及响应于第二锁存器的第二节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据。
19.如权利要求18所述的方法,其中,第一数据设定步骤包括以下步骤对所述感测节点进行预充电;以及响应于第二锁存器的第一节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据。
20.如权利要求18所述的方法,其中,第二数据设定步骤包括以下步骤对所述感测节点进行预充电;以及响应于第二锁存器的第二节点的数据状态使所述感测节点放电,响应于第三锁存器的 第一节点的数据状态使所述感测节点放电,并且随后响应于所述感测节点的电压电平改变 第一锁存器的数据。
21.如权利要求15所述的方法,其中,第三编程和验证步骤包括以下步骤在P是大于 M的自然数的情况下,当所述编程脉冲被提供了超过P次时,将编程状态信息指示为编程失 败,并且结束编程操作。
22.如权利要求15所述的方法,其中,在第一编程和验证步骤中,不对被编程为具有第 三和第四阈值电压分布的存储器单元执行第一验证操作。
23.如权利要求22所述的方法,其中,在第二编程和验证步骤中,不对被编程为具有第 四阈值电压分布的存储器单元执行第二验证操作。
24.如权利要求23所述的方法,其中,不对被编程为具有被确定为是编程通过的阈值 电压分布的存储器单元执行所述各验证操作。
25.一种对非易失性存储器器件进行编程的方法,其中,擦除单元被编程为各自具有N 个阈值电压分布中的一个,并且N是自然数,所述方法包括以下步骤设定不同的编程脉冲,用于对将被编程为具有所述阈值电压分布的存储器单元的每 个组执行编程操作,在提供了某个数量的所述编程脉冲之前禁止对所述存储器单元进行编 程,并且当达到所述某个数量的所述编程脉冲时执行所述编程操作,其中,对于将被编程为具有比用于所执行的编程操作的阈值电压分布更高的阈值电压 分布的存储器单元,设定更大数量的所述编程脉冲。
全文摘要
本发明涉及一种对非易失性存储器器件进行编程的方法。该方法包括初始数据设定步骤,向将被编程为具有第二阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于禁止编程的数据;第一编程和验证步骤,执行编程和验证操作;第一数据设定步骤,当编程脉冲被提供了超过N次(其中N是自然数)时,向将被编程为具有第二阈值电压分布的存储器单元所耦合的页缓冲器的第一锁存器输入用于执行编程操作的数据;以及第二编程和验证步骤,执行编程和验证操作。
文档编号G11C16/02GK101937707SQ201010216299
公开日2011年1月5日 申请日期2010年6月29日 优先权日2009年6月29日
发明者朴成济, 韩正哲 申请人:海力士半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1