非易失性存储设备的制作方法

文档序号:6737060阅读:80来源:国知局
专利名称:非易失性存储设备的制作方法
技术领域
本发明的实施例通常涉及非易失性存储设备和相关操作方法。更具体地来说,本发明的实施例涉及非易失性存储设备和相关编程方法。
背景技术
多种非易失性存储设备采用电阻材料来存储数据。例如,相变随机存取存储器 (PRAM)、电阻RAM(RRAM)、电铁体RAM(FRAM)、和磁性RAM(MRAM)者采用电阻材料来存储数据。与通过使用电荷来存储数据的、诸如动态随机存取存储器(DRAM)和闪存等的其它形式的存储器相反,使用电阻材料的设备趋向于通过物理改变电阻材料来存储数据。例如,PRAM 通常使用诸如硫属化物合金(chalcognide alloy)等的相变材料的不同状态来存储数据, RRAM通常采用可变电阻材料的不同电阻值来存储数据,FRAM通常采用铁电体材料的极化现象来存储数据,而MRAM通常响应铁电体材料的磁化状态,使用磁隧道结(MTJ)薄膜的电阻变化来存储数据。为了说明一种可以将电阻材料用于存储数据的方法,现在将更具体地描述示例性的PRAM。PRAM中的相变材料,通常为硫属化物,能够在非晶相与晶相之间稳定地转变。非晶相和晶相(或态)呈现不同电阻值,所述不同电阻值用于区别存储设备中的存储单元的不同逻辑状态。具体来说,非晶相呈现较高电阻,而晶相呈现较低电阻。PRAM使用非晶态来表示逻辑“1”(或数据“1”),而使用晶态来表示逻辑“0”(或数据“0”)。在PRAM设备中,晶态称为“置位状态”,而非晶态称为“复位状态”。因此,PRAM 中的存储单元通过将存储单元中的相变材料设定为晶态来存储逻辑“0”,而存储单元通过将相变材料设定为非晶态来存储逻辑“1”。例如,在美国专利号6,487,113和6,480,438中公开了各种PRAM设备。通过将相变材料加热到高于预定熔化温度的第一温度,然后快速冷却该材料, PRAM中的相变材料被转换到非晶态。通过在低于熔化温度而高于结晶温度的第二温度将相变材料持续加热一段时间,相变材料被转换到晶态。因此,通过如上所述的加热和冷却,在非晶态与晶态之间转换PRAM的存储单元中的相变材料,从而将数据编程到PRAM中的存储单元。PRAM中的相变材料通常包括包含锗(Ge)、锑(Sb)、和碲(Te)的化合物,即,“GST” 化合物。GST化合物非常适合PRAM,因为其可以通过加热和冷却在非晶态与晶态之间快速转变。除了 GST化合物之外,或作为GST化合物的替换,也可以在相变材料中使用各种其它的化合物。其它化合物的例子包括但并不局限于诸如GaSb、InSb、InSe、Sb2Te3和GeTe等的两种元素化合物,诸如GeSbTe、GaSeTe, InSbTe, SnSb2Te4和InSbGe等的三种元素化合物, 或诸如 AglnSbTe、(GeSn) SbTe、GeSb (SeTe)和 Te81Ge15Sb2S2 等的四种元素化合物。
PRAM中的存储单元称为“相变存储单元”。相变存储单元通常包括上电极、相变材料层、下电极触点、下电极、和存取晶体管(access transistor)。通过测量相变材料层的电阻在相变存储单元上执行读操作,并且通过如上所述加热并冷却相变材料层在相变存储单元上执行编程操作。
一般而言,通过将电“置位”或“复位”脉冲施加到电极,以便将相变材料层改变到 “置位”或“复位”状态,从而进行编程操作。通常,将数据“0”编程到存储单元所需要的时间大约是将数据“1”编程到存储单元所需要的时间的5倍。例如,编程数据“0”所需要的时间可以大概为600纳秒,而编程数据“1”所需要的时间可以大概为120纳秒。
遗憾的是,传统PRAM设备可以同时接收多位的输入,却不能将所述位同步编程到相应存储单元。例如,PRAM可以通过多个管脚接收16个输入,但是PRAM不能同步访问16 个相变存储单元。导致这个缺陷的一个原因如下如果编程一个相变存储单元需要1毫安的电流,那么同步编程16个相变存储单元就需要16毫安的电流。此外,如果驱动电路提供电流的效率为10%,那么实际上同步编程16个存储单元就需要160毫安的电流。但是,通常都没有将传统PRAM设备配备成提供如此高值的电流。
由于PRAM设备中的编程驱动器只能提供限量电流,可以将多个相变存储单元的编程操作分成几个“分区编程操作”,每个分区编程操作仅需要编程全部相变存储单元所需要的总电流的一小部分。在每个分区编程操作中,编程较大组之中的一小组(即,一“分区”)存储单元。例如,可以通过将16个相变存储单元两两分成八组(即,“分区”),并且在八个连续分区编程操作中同步编程具有两个存储单元的每组中的两个存储单元,从而编程一组16个相变存储单元。
为了防止不必要的电流消耗和编程失败,PRAM设备也可以执行验证读操作以便验证每个选择存储单元的编程状态。为了执行验证读操作,将要编程到选择存储单元中的编程数据被存储在诸如编程缓冲器等的临时存储位置中。接下来,将编程数据编程到选择单元。然后,读取选择存储单元中存储的数据,并且将其与临时存储位置中存储的编程数据相比较。如果临时存储位置中存储的数据与选择存储单元中存储的数据不同,则验证读操作表明编程失败。否则,验证读操作表明编程成功。
图1是图解说明了一种用于操作使用了分区编程操作的PRAM设备的传统方法的概念上的时间图。为了进行说明,将假设PRAM设备的编程操作通过使用8个分区编程操作将16位的数据编程到16个分成8对(或组)的选择存储单元。
参见图1,使用多个编程循环(L = 1至11)在PRAM设备中编程数据。在每个编程循环开始之前,执行验证读操作以在选择存储单元之中检测还未被成功编程的存储单元。 此后,在其中至少有一个存储单元还未被成功编程的存储单元组——称为“失败组”上执行分区编程操作(顺便提一下,还未被成功编程的单个存储单元将称为“失败单元”)。在图 1的例子中,八个分区编程操作①至⑧分别对应于八个单元组。
在编程操作中,所有八组存储单元通常都作为失败组开始。因此,在第一编程循环 (L= 1)中,通常都对八组中的每组执行分区编程操作。在第二编程循环(L =幻中,假设第三组和第四组已经被成功编程了,则在所有八组中除了第三组和第四组之外的组上执行分区编程操作。类似地,在剩下的编程循环中,由于越来越多的组已被成功编程,所以越来越少的组被编程。
不幸的是,诸如以上所描述的传统处理没有考虑到这个事实将数据“0”和数据 “1”编程到选择存储单元需要不同的编程时间。因此,会要求每个分区编程操作的持续时间跟用于编程数据“0”的置位脉冲的持续时间一样长,即使对应于分区编程操作的一些存储单元将只要与数据“1”一起被编程。因此,执行编程操作所需要的时间会不必要地变长了。

发明内容
本发明的实施例提供非易失性存储设备和相关方法,其能够减少执行编程操作所需要的时间量。根据本发明的一个实施例,提供一种用于在非易失性存储设备中执行编程操作的方法。所述设备包括存储单元阵列,其中存储单元阵列包括多个非易失性存储单元。所述方法包括以下步骤在编程操作的第一编程间隔期间,在从多个非易失性存储单元中选择的多个选择存储单元之中的第一组中编程具有第一逻辑状态的数据;并且在第一编程间隔之后的、编程操作的第二编程间隔期间,在选择存储单元之中的第二组中编程具有不同于第一逻辑状态的第二逻辑状态的数据。根据本发明的另一实施例,提供一种用于在非易失性存储设备中执行编程操作的方法。所述设备包括存储单元阵列,其中存储单元阵列包括多个非易失性存储单元。所述方法包括以下步骤在多个非易失性存储单元中识别第一组“a”( “a”是自然数)个失败非易失性存储单元,其中所述第一组失败非易失性存储单元将被编程为第一逻辑状态,并且在编程操作的第一编程间隔期间,通过采用“m”( “m”是自然数)个分区编程操作(division program operation)来编程具有第一逻辑状态的第一组失败非易失性存储单元;以及在多个非易失性存储单元中识别第二组“b”( “b”是自然数)个失败非易失性存储单元,其中所述第二组失败非易失性存储单元将被编程为第二逻辑状态,并且在第一编程间隔之后的、 编程操作的第二编程间隔期间,通过采用“η”( “η”是自然数)个分区编程操作来编程具有第二逻辑状态的这组失败非易失性存储单元。根据本发明的另一实施例,提供一种非易失性存户设备。所述设备包括存储单元阵列和编程电路,其中所述存储单元阵列包括多个非易失性存储单元。所述编程电路被适配成在编程操作的第一编程间隔期间,在从多个非易失性存储单元中选择的多个选择存储单元之中的第一组中编程具有第一逻辑状态的数据,并且进一步被适配成在第一编程间隔之后的、编程操作的第二编程间隔期间,在所述选择存储单元之中的第二组中编程具有不同于第一逻辑状态的第二逻辑状态的数据。根据本发明的再一实施例,提供一种非易失性存储设备。所述设备包括存储单元阵列和编程电路,其中所述存储单元阵列包括多个非易失性存储单元。所述编程电路适用于在多个非易失性存储单元中识别第一组“a”( “a”是自然数)个失败非易失性存储单元, 其中所述第一组失败非易失性存储单元将被编程为第一逻辑状态,并且在编程操作的第一编程间隔期间,通过采用“m”( “m”是自然数)个分区编程操作来编程具有第一逻辑状态的第一组失败非易失性存储单元,并且进一步适用于在多个非易失性存储单元中识别第二组 “b”( “b”是自然数)个失败非易失性存储单元,其中所述第二组失败非易失性存储单元将被编程为第二逻辑状态,并且在第一编程间隔之后的、编程操作的第二编程间隔期间,通过采用“η” ( “η”是自然数)个分区编程操作来编程具有第二逻辑状态的这组失败非易失性存储单元。
根据本发明的另一实施例,一种非易失性存储设备包括分成多个单元组的多个非易失性存储单元、比较单元、状态标志信号生成单元、编程验证指定单元、编程脉冲生成单元、和编程驱动器。比较单元将从多个非易失性存储单元中读取的多个验证数据与多个非易失性存储单元中将要被编程的多个编程数据相比较,并且输出用于表明其验证数据和编程数据彼此不同的多个失败非易失性存储单元的比较信号。状态标志信号生成单元生成表明其中将要编程具有特定逻辑状态的编程数据的多个非易失性存储单元的状态标志信号。编程验证指定单元接收比较信号和状态标志信号,并且生成指定信号以指定用于失败非易失行存储单元中的编程数据的多个分区编程操作。编程脉冲生成单元接收指定信号, 并且在分区编程操作期间提供置位脉冲控制信号和复位脉冲控制信号。编程驱动器接收编程数据、置位脉冲控制信号、和复位脉冲控制信号,并且生成置位脉冲或复位脉冲。


参照附图描述本发明的实施例。在全部附图中,类似的附图标记表示类似的示例元件、部件、和步骤。在附图中
图1是图解说明一种用于操作采用了分区编程操作和验证读操作的PRAM设备的传统方法的概念时间图2是图解说明一种用于编程根据本发明的实施例的PRAM设备的方法的概念时间图3是图解说明一种用于编程根据本发明的另一实施例的PRAM设备的方法的概念时间图4A和4B是图解说明根据本发明的实施例的、用于调整分区编程操作的执行时间(timing)的技术的概念图5A和5B是图解说明根据本发明的另一实施例的、用于调整分区编程操作的执行时间的技术的概念图6是图解说明根据本发明的再一实施例的、用于调整分区编程操作的执行时间的技术的概念图7是图解说明用于在根据本发明的实施例的PRAM设备中执行编程操作的方法的流程图8是图解说明根据本发明的实施例的PRAM设备的方框图9是图解说明图8的PRAM设备中的编程验证指定单元的实施例的方框图10是图解说明图8的PRAM设备中的编程脉冲生成单元所输出的置位脉冲控制信号的例子的时间图;以及
图11是图解说明一种用于在根据本发明的实施例的PRAM设备中执行编程操作的方法的流程图。
具体实施方式
以下参照相应附图描述本发明的示例性实施例。这些实施例作为教导示例提出。 通过所附的权利要求来定义本发明的实际范围。
尽管将PRAM设备用于说明本发明的几个实施例,但是需要理解的是,可以以各种不同形式来实施本发明。例如,可以用使用电阻材料的其他类型的非易失性存储设备,诸如 RRAM、FRAMjP MRAM 等,来替代 PRAM 设备。图2和3是图解说明根据本发明的选择实施例的、用于编程PRAM设备的方法的概念时间图。参见图2和3,同时编程将要编程为相同状态的选择存储单元。例如,可以首先编程将要用数据“0”编程的选择存储单元,随后编程将要用数据“1”编程的选择存储单元。类似地,可以以基于其预期状态的顺序编程能够存储一位以上的选择存储单元,例如,可以以数据“ 0 ”、数据“ 1”、数据“ 2 ”等的顺序编程数据。在本发明的选择实施例中,用于PRAM设备的编程方法包括分区编程操作和验证读操作。但是,本发明并不局限于使用这些类型的操作。例如,分区编程操作可以不用伴随着验证读操作,反之亦然,或者不用分区编程操作和验证读操作也可以执行编程操作。参见图2,在根据本发明的实施例的PRAM设备中,在编程间隔RW期间,将数据“ 1,, 编程到选择存储单元,并且在编程间隔SW期间,将数据“0”编程到一小组选择存储单元。
编程间隔RW持续11个编程循环RL = 1至11,而编程间隔SW持续2个编程循环 SL=I和2。在每个编程循环之前,执行验证读操作VERIFY_READ。在每个编程循环期间, 仅在包含至少一个尚未被成功编程的存储单元的存储单元组、即“失败组”上执行分区编程操作。为了进行说明,将假设通过16个输入/输出(IO)管脚将16位的数据同时输入到 PRAM设备。然后例如在以下表1中所示,将16个位编程到两两分成8组的16个选择相变存储单元。在表1的示例中,第一组由对应于第0和第810管脚100和108的存储单元组成,第二组由对应于第1和第910管脚IOl和109的存储单元组成,等等。将数据同步编程到每组的两个存储单元中,尽管在不同的时间编程不同组中的存储单元。为了进行说明,假设将要编程到选择存储单元的数据通过标注(Iable) “编程数据”具有表1中所示的值。具体来说,数据“1”和“0”将被分别编程到对应于IO管脚0和 8的存储单元,数据“1”和“1”将被分别编程到对应于IO管脚2和10的存储单元,等等。表2示出了将要在编程间隔RW和编程间隔SW期间被编程的存储单元组。从表2 中可以了解,在编程间隔RW期间编程所有存储单元组,而在编程间隔SW期间编程其中有至少一个存储单元将要用数据“0”编程的存储单元组。表 权利要求
1.一种非易失性存储设备,所述设备包括 多个非易失性存储单元,其被分成多个单元组;比较单元,用于将从多个非易失性存储单元中读取的多个验证数据与多个非易失性存储单元中将要被编程的多个编程数据相比较,并且输出用于表明其验证数据和编程数据彼此不同的多个失败非易失性存储单元的比较信号;状态标志信号生成单元,用于生成表明其中将要编程特定逻辑状态的编程数据的多个非易失性存储单元的状态标志信号;编程验证指定单元,用于接收比较信号和状态标志信号,并且生成指定信号以指定用于失败非易失性存储单元中的编程数据的多个分区编程操作;编程脉冲生成单元,用于接收指定信号,并且在分区编程操作期间提供置位脉冲控制信号和复位脉冲控制信号;和编程驱动器,用于接收编程数据、置位脉冲控制信号、和复位脉冲控制信号,并且生成置位脉冲或复位脉冲。
2.如权利要求1所述的设备,其中所述编程数据包括具有第一逻辑状态的数据和具有第二逻辑状态的数据;并且其中所述状态标志信号表明将要用具有第一逻辑状态的数据编程的存储单元、和将要用具有第二逻辑状态的数据编程的存储单元。
3.如权利要求2所述的设备,其中所述第一逻辑状态对应于逻辑“1 ”,而所述第二逻辑状态对应于逻辑“0”。
4.如权利要求2所述的设备,其中编程控制信号控制所述状态标志信号生成单元是生成用于表明将要用具有第一逻辑状态的数据编程的多个非易失性存储单元的状态标志信号,还是生成用于表明将要用具有第二逻辑状态的数据编程的多个非易失性存储单元的状态标志信号。
5.如权利要求1所述的设备,其中所述编程验证指定单元包括指定逻辑单元,用于接收比较信号和状态标志信号,并且生成用于指定多个失败单元组的编程顺序的指定信号,通过使用所述编程顺序来进一步指定将在所述失败单元组上执行的多个分区编程操作,其中所述多个失败单元组包括将被编程为特定逻辑状态的失败非易失性存储单元。
6.如权利要求1所述的设备,进一步包括模式选择单元,用于接收模式控制信号,并且生成用于选择分区编程模式的多个模式选择信号;其中所述编程验证指定单元包括多个通门,对应于所述多个模式选择信号,所述多个通门的每个接收对应的一个模式选择信号,并且选择性地传送比较信号;和指定逻辑单元,用于接收比较信号和状态标志信号,并且生成用于指定多个失败单元组的编程顺序的指定信号,通过使用所述编程顺序来进一步指定将在所述失败单元组上执行的多个分区编程操作,其中所述多个失败单元组包括将被编程为特定逻辑状态的失败非易失性存储单元。
7.如权利要求1所述的设备,其中所述多个非易失性存储单元是相变存储单元。
全文摘要
在非易失性存储设备中,通过在编程操作的第一编程间隔期间,在从多个非易失性存储单元中所选择的多个选择存储单元之中的第一组中编程具有第一逻辑状态的数据,随后在第一编程间隔之后的编程操作的第二编程间隔期间,在所选择的存储单元之中的第二组中编程具有不同于第一逻辑状态的第二逻辑状态的数据,在多个非易失性存储单元上执行编程操作。
文档编号G11C16/10GK102496387SQ20111042336
公开日2012年6月13日 申请日期2007年9月4日 优先权日2006年9月4日
发明者李光振, 郭忠根, 金杜应 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1