用于编程存储器阵列的方法和设备的制作方法

文档序号:6776611阅读:117来源:国知局
专利名称:用于编程存储器阵列的方法和设备的制作方法
技术领域
背景技术
存储器单元,例如反熔丝一次编程(OTP)存储器单元,可含有在编程存储器阵 列中的所有存储器单元后被激活的泄漏路径。泄漏路径的激活可由数种机制导致。举 例来说,泄漏路径可由存在于直到反熔丝断裂才在电方面被人们察觉的位置上的缺陷 造成。 一旦所述反熔丝断裂并且形成细丝,那么此缺陷可在两个字线之间、两个位线 之间或一个字线和一个位线之间提供短路。泄漏路径也可由经编程存储器单元的逆向 泄漏的轻微改变而造成。尽管选择存储器单元时并非用于读取目的,但未选择的逆向 泄漏增加断电泄漏并且可触发存储器单元的不正确读取。泄漏路径也可由高压编程期 间局部加热或电迁移引发的弱缺陷泄漏中的轻微改变造成。此改变可足以在存储器读 取期间局部降低读取电压或读取电流,导致读出不正确的值。所有这些机制中的一个 共同之处是问题并不总能在编程存储器阵列的任何具体位期间检测到,而是可能在编 程存储器阵列的数个位后检测到。

发明内容
本发明由随附权利要求界定,此部分中的所有内容均不应视为限定所述权利要求。
简要说来,下文所述优选实施例提供用于编程存储器阵列的方法和设备。在一个 优选实施例中,编程存储器阵列中的字线。在编程各个字线后,设法检测所述字线上 的缺陷。如果检测到缺陷,那么用冗余字线修复所述字线。然后将所述字线重新编程 并重新检查是否有缺陷。在另一个优选实施例中,在编程各个字线后,设法检测所述 字线上的缺陷。如果检测到缺陷,那么将所述字线与先前编程的相邻字线一起修复。 在再一个优选实施例中,在编程各个字线后,设法检测所述字线和先前编程的相邻字 线上的缺陷。如果在所述字线上检测到缺陷,那么用冗余字线修复所述字线和所述先 前编程的相邻字线。本发明提供另外一些优选实施例中,每个本文所述优选实施例可 单独使用或彼此间可组合使用。
现在将参照附图阐述所述优选实施例。


图1为优选实施例的存储器装置的方块图。
图2为显示两个相邻字线中缺陷的影响的示图。
图3A-3D为优选实施例的两遍编程技术的示图。
图4A-4D为优选实施例的编程技术的示图,在所述编程技术中如果在给定字线上 检测到缺陷,那么修复所述字线和先前编程的相邻字线。
图5A-5C为优选实施例的编程技术的示图,在所述编程技术中设法检测刚编程的 字线以及先前编程的相邻字线上的缺陷。
具体实施例方式
图1为优选实施例的存储器装置100的方块图。存储器装置IOO包括主存储器阵 列110、冗余存储器阵列120和与主存储器阵列110和冗余存储器阵列120耦联的冗 余控制逻辑部分130。主和冗余存储器阵列110、 120各自包括相应的字线140、 150 和位线(未图示),并且存储器单元形成于各存储器阵列110、 120的字线140、 150 与位线的交叉处。主存储器阵列110、 120也包括由冗余控制逻辑部分130使用的冗余 指针160。虽然在图1中显示为分开的阵列,但主和冗余存储器阵列110、 120可集成 在一个存储器阵列中。在一个优选实施例中,存储器装置采用包括外部电连接器的模 块式紧縮手持单元形式,例如存储器卡或棒,所述外部电连接器可与主机装置(例如 数码相机、数码自动播放器或其他便携式消费产品)耦联。
主和冗余存储器阵列110、 120各自包括多个存储器单元。所述存储器单元可采 用任何适宜形式并且可为一次写入(即一次编程)、多次写入、或数次编程。所述存储 器单元可呈单层构造(即两维阵列)或呈多个层彼此竖直堆叠于单个硅衬底上的构造 (即三维阵列),如颁予Johnson等人的美国专利第6,034,882号和颁予Knall等人的美 国专利第6,420,215号中所述,所述两个专利案均让与本发明的受让人并且特此以引用 方式并入。虽然优选地所述存储器单元包括半导体材料,但可使用其他材料,例如(但 不限于)相变材料和非晶态固体以及那些用于MRAM和有机被动元件阵列的材料, 如特此以引用方式并入的美国专利第6,055,180号中所述。重要的是应注意,除非在随 附权利要求中明确提出,否则不应将随附权利要求视为规定存储器装置的具体类型(例 如一次写入或多次写入)或存储器阵列的具体类型(例如二维或三维)。本发明将使用 包括串联电容器和二极管的反熔丝存储器单元来举例说明这些优选实施例。在未经编 程状态,所述反熔丝存储器单元不导电,因为无电流通过电容器。然而,当编程时, 通过击穿电容器而形成细丝,并且,在编程状态,所述反熔丝存储器单元通过所述细 丝导电。如背景技术中所述,主存储器阵列110中可存在缺陷。本文所述"缺陷"指 使得泄漏路径激活而触发存储器单元的不正确读取的任何机制。缺陷包括(但不限于) 存在于直到反熔丝存储器中的反熔丝断裂才在电方面被人们察觉的位置上的缺陷、导 至未经选择的逆向泄漏而增加断电泄漏并触发存储器单元的不正确读取的缺陷、以及
由高压编程期间的局部加热或电迁移诱发的缺陷。
图2显示多个字线(字线A、字线B、字线C)和位于两个存储器单元210、 220 之间的缺陷(显示为椭圆形200)。字线A与字线B相邻,而字线B与字线C相邻。 此物理布置使得缺陷位于相邻字线A和B上。应注意,尽管所述缺陷显示于存储器单 元中(在电容器与二极管之间),但本文件将称所述缺陷位于字线A和B上(或字线 A和B包括所述缺陷),因为所述缺陷可激活泄漏路径而触发存储器单元沿所述字线 的不正确读取。缺陷200可导致自存储器单元210、 220读出不正确的数据,因为在编 程存储器单元210、 220后,缺陷200使字线A与字线B短接。当设法读取字线A上 的存储器单元210时,将例如2V的读取电压施加至字线A,而其他的字线保持在例 如0V。由于缺陷200导致短路,字线A将因与相邻字线B交战而得不到整个2V (尽 管将其驱动至2V)。如图2所示,所述短路使字线A上的电压降低为IV (而非2V) 而字线B上的电压升高为IV (而非OV)。 1V的中间电压不足以在字线A的所有位中 导电,沿字线A的存储器单元210可读取为未经编程而非经编程。同时,字线B上的 中间电压IV可能足以使得意外地读取字线B上的数据而非字线A上的数据。
图1中的冗余控制逻辑部分130可用于使用冗余阵列120中的冗余阵列字线150 来修复具有缺陷的主阵列字线140。(应注意,由冗余控制逻辑130提供的传输中的冗 余方案也可用于检测其他类型的错误(即不是由"缺陷"导致的错误))。在此实施例 中,主阵列110中的各主阵列字线140可存储冗余指针160来将字线140指派给冗余 阵列120中的相应字线150。在生产拣选期间标记为坏的或在编程期间发现为坏的主 阵列字线140可通过写入指向冗余阵列120中的行的冗余指针160来用冗余阵列120 中的字线150替换。应注意,冗余阵列字线150可以任何期望方式与主阵列字线140 相关联,例如通过使用直接映射、集合相关映射或完全相关映射算法,举例来说。
运行中,冗余控制逻辑部分130检测主阵列110中已编程的字线140上是否存在 缺陷。如果在字线140上检测到缺陷,那么用冗余阵列120中的字线150修复字线140。 当冗余阵列120中的代换字线150取代主阵列110中字线140的位置时,那么字线140 被"修复"。冗余指针160存储在主阵列110中与坏字线140相关联的位置中。当接收 到坏字线140的存储器地址连同读取或写入操作时,与字线140相关联的冗余指针160 被读取并将冗余控制逻辑部分130指向冗余阵列120中的修复字线150。美国专利第 6,868,022号、美国专利申请案第US 2003-0115518 Al号和美国专利申请案第 11/024,516号提供优选和替代冗余方案的额外信息,所述专利和专利申请案均让于本 发明的受让人并且特此以引用方式并入。
可使用各种机制来设法检测字线上的缺陷。在一个实施例中,将信息逐页写入至 主存储器IIO,并且冗余控制逻辑部分130包括页缓冲器。(出于简便的目的,本文件 将假定各字线可存储一页信息。当然,可使用其他构造方案。)运行时,在用存储在所 述页缓冲器中的信息编程主阵列110中的各字线后,回读所述字线,并且将存储在所 述字线中的信息与存储在所述页缓冲器中的信息进行比较。自所述字线回读的信息与 存储在所述页缓冲器中的信息间的失配表明在所述字线上存在缺陷(或某另一类型的 错误)。如上所述,如果在主阵列110的字线上检测到缺陷,那么用冗余阵列120中的 冗余字线修复所述字线,并且将适宜的冗余指针160写在主阵列110中。(如上所述, 代替或除在编程期间将字线标记为坏的(即"传输中的冗余")夕卜,可在生产拣选期间 将字线标记为坏的。)
与检测影响多个字线的缺陷相关的一个困难是,只有在编程所述字线中的至少两 个后才可检测所述缺陷。以图2中所示缺陷200为例,只有在编程字线B后才能观察 到字线A上的缺陷200。在编程字线A或B之前,缺陷200不影响字线A或B并且 检测不到,因为其位于电容器的另一侧(即不管缺陷200是否存在,所述两个位均显 示为开路。)编程字线A后,仍检测不到缺陷200,因为字线B上的未经编程存储器 单元220的电容器使得缺陷200不能使字线A与字线B短接。然而,编程字线B后, 出现图2中的状况,并且产生上述短路问题。
冗余控制逻辑部分130可以解决此问题的方式设计。 一个实施例使用"两遍"编 程解决方案。通常将存储器阵列视为具有第一和第二字线(所用术语"第一"和"第 二"为通称,不一定指存储器阵列中的确切的第一和第二字线),其中所述第一字线包 括仅在所述第二字线编程后才检测到的缺陷(如同上述实例中的字线A)。在编程各个 字线后,设法检测所述字线上的缺陷,并且如果检测到缺陷,那么用冗余字线修复所 述字线。这被视为第一遍编程。实施第二遍编程,重复上述举动。由于所述第二字线 已在所述第一遍编程中被编程,所以当在所述第二遍编程中重新编程所述第一字线时, 检测到所述第一字线中的缺陷并且修复所述第一字线。现在将结合图3A-3D进一步举 例说明此实施例。
图3A-3D显示当以两遍编程方案将页0-4编程入字线A-E中时的编程步骤顺序。 在所述两遍的每一遍中,在用信息页编程各个字线后,自所述字线回读所述信息页并 将其与存储在页缓冲器中的信息进行比较。失配表明存在缺陷(或某另一类型的错误),
且实施修复操作。应注意,虽然此实例中的一遍编程包括五个字线,但一遍编程可含 有较少或较大数目的字线。举例来说, 一遍编程可仅包括两个字线或包括存储器阵列 中的所有字线。
图3A图解说明在第一遍编程期间在将信息页(页0)编程入字线A中后的主和 冗余存储器阵列IIO、 120 (在字线A和B中有缺陷,如上所述)。尽管字线A含有缺 陷,但却检测不到缺陷,因为字线B尚未编程。换句话说,尚未产生使得字线A上的 缺陷能被检测到的短路。因此,当信息被读出字线A时,其将与存储在页寄存器中的 信息相匹配(假定不发生其他错误)。接下来,将页1编程入字线B中(参见图3B)。 现在字线A和B均被编程,在所述两个字线间产生短路。当从字线B读出的信息与存 储在页寄存器中的字线B的信息不匹配时检测到缺陷,并通过将页1编程入冗余阵列 120中的字线中而修复字线B。在主阵列110中编程指向冗余阵列120中的所述字线 的冗余指针160。所述第一遍编程操作继续进行,页2、 3和4被分别成功编程入主阵 列110中的字线C、 D和E中(参见图3C)。然后所述第一遍编程操作结束。尽管现 在己修复字线B,但字线A中的页O现在却遭到破坏。
在所述第一遍编程操作结束后,第二遍编程操作开始,重复上述举动。然而,此 时,在将页O编程入字线A中后,现在存在于字线A和B之间的短路(但在第一次 编程字线A时不存在)使得检测到缺陷。响应于所检测到的缺陷,通过将页0编程入 冗余阵列120中的字线中而修复字线A,并且将适宜的冗余指针160编程在主阵列110 中。所述第二遍编程操作继续进行并且在将页4编程入字线E后结束。因此,在所述 第一遍编程期间检测到字线B上的缺陷并且修复字线B,而在所述第二遍编程期间检 测到字线A上的缺陷并且修复字线A。
图4A-4D图解说明另一实施例。如同上文结合图3A-3D所述的实施例,编程多 个主阵列字线140,并且在编程每一字线140后,设法检测所述字线上的缺陷。然而, 在此实施例中,如果在给定字线上检测到缺陷,那么不仅用冗余字线150修复所述字 线,而且也修复先前编程的相邻字线。现在参看图4A,将页O编程入字线A。如同图 3A,尽管字线A包含缺陷,但不能检测到缺陷,因为尚未编程字线B来在字线A和 B之间产生短路。在图4B中编程继续进行,将页1编程入字线B。现在字线A和B 均被编程,检测到字线B中的缺陷,并且使用冗余阵列字线150修复字线B。在此实 施例中,冗余控制逻辑部分130也使用冗余阵列字线150修复字线A,如图4C中所 示。然后编程操作继续进行,将页2、 3和4分别成功编程入主阵列110的字线C、 D 和E中(参见图4D)。
由此阐释可看出,此实施例通过避免重新编程不含缺陷的字线而降低进行完整的 两遍编程的带宽开销。换句话说,此实施例通过仅重新编程第一遍编程失败的字线和 先前编程的相邻字线而实现高质量和高带宽的编程。(在替代的实施例中,如果在给定 字线(例如字线B)上检测到缺陷,不仅修复所述字线(例如字线B)和所述先前编 程的相邻字线(例如字线A),而且也修复尚待编程的相邻字线(例如字线C))。
在再一实施例中,冗余控制逻辑部分130 (设计有足够大的页缓冲器)不是设法 检测刚编程的字线上的缺陷,而是可设法检测所述字线以及先前编程的相邻字线上的 缺陷。图5A-5C图解说明此实施例。在图5A中,将页O编程入字线A中。如同先前 的图中,尽管字线A含有缺陷,但不能检测到缺陷,因为尚未编程字线B。在图5B 中,将页1编程入字线B中。然而,不是回读以及比较存储在字线B中的信息,而是 同时回读字线A和B并且与页缓冲器中的相应信息进行比较。此将不仅检测字线B 中的错误,而且检测字线A中的错误,字线A中的错误现在之所以可检测是因为字线 A和B之间存在短路。然后用冗余阵列字线150修复所述两个字线。然后所述编程操 作继续进行,将页2、 3禾卩4分别成功编程入主阵列110中的字线C、 D和E中(参见 图5C)。
有数种替代方案可用于这些优选实施例。举例来说,在上述实施例中,通过回读 一字线并且将其内容与存储在页寄存器中的信息进行比较来设法检测字线上的缺陷。
不是使用分开的读取操作逐个字线地测定一字线的内容是否与页缓冲器的内容相匹 配,而是在设法编程各存储器单元的同时感测存储器单元的编程/未经编程状态。此在
编程的同时进行感测的技术详细描述于美国专利第6,574,145号中,所述专利让与本发 明的受让人并且特此以引用方式并入。并且,在上述实施例中,冗余控制逻辑部分130 提供传输中的冗余/自修复功能。在替代实施例中,代替冗余/自修复"芯片上"支持的 是,与所述存储器装置通信的主机装置负责冗余操作。另外,应注意,上述"传输中 的"自修复功能可于在现场(由终端用户)编程主阵列110时或在工厂(例如当用数 据编程主阵列IIO或测试主阵列110时)使用。
另外,重新编程可使用完全相同的条件或使用不同的边际设置来适应重新编程条 件,从而标注出并且由此修复受薄弱缺陷影响的存储器单元。整个存储器的编程可能 因为存在降低所选择位上的有效电压或有效电流的泄漏而产生边际0单元(应编程至 导通状态的单元),或因为在所选择位或位线上存在增加所选择位上的电流的泄漏而产 生边际1单元(应在断开状态不编程的单元)。边际0单元可用低读取电压和/或高读 取参考电流检测。边际l单元可用高读取电压和/或低读取参考电流检测。 一遍缺省编 程同时具有l单元和o单元的边际。因此可通过仅用缺省1单元和0单元边际编程整
个存储器两次或通过两遍编程步骤使用不同的边际来达成高合格率。上述说明内容应 理解为举例说明本发明可采用的所选形式,而非界定本发明。本发明的范畴仅将由随
附权利要求书(包括所有等效内容在内)来界定。最后,应注意,本文所述任何优选
实施例的任何方面均可单独使用或彼此间组合使用。
权利要求
1、一种用于编程存储器阵列的方法,所述方法包括(a)编程存储器阵列中的第一和第二字线,其中所述第一字线包括仅在编程所述第二字线后才可检测到的缺陷;(b)在编程各个字线后(b1)设法检测所述字线上的缺陷;和(b2)如果检测到缺陷,那么用冗余字线修复所述字线;和(c)重复(a)和(b),从而在第二次实施(a)和(b)时检测所述第一字线上的所述缺陷并且修复所述第一字线。
2、 如权利要求1所述的方法,其中在第一次实施(a)和(b)时检测所述第二字线上 的所述缺陷并且修复所述第二字线。
3、 如权利要求1所述的方法,其中在所述存储器阵列中所述第一字线与所述第 二字线相邻。
4、 如权利要求1所述的方法,其中所述存储器阵列包括多个一次写入存储器单元。
5、 如权利要求4所述的方法,其中所述一次写入存储器单元包括反熔丝存储器单元。
6、 如权利要求1所述的方法,其中所述存储器阵列包括三维存储器阵列,所述 三维存储器阵列包括多个彼此竖直堆叠在单个硅衬底上的存储器单元层。
7、 如权利要求1所述的方法,其中(a)包括编程第一和第二字线和所述存储器阵 列中的至少一另外的字线。
8、 如权利要求l所述的方法,其中(bl)包括读取存储在所述字线中的信息并且将 所述读取信息与存储在缓冲器中的信息进行比较。
9、 一种用于编程存储器阵列的方法,所述方法包括(a) 编程存储器阵列中的多个字线;和(b) 在编程各个字线后,(bl)设法检测所述字线上的缺陷;和(b2)如果检测到缺陷,那么用冗余字线修复所述字线和先前编程的相邻字线,从而修复所述先前编程的相邻字线,即使在编程所述先前编程的相邻字线后未检 测到所述先前编程的相邻字线上的缺陷。
10、 如权利要求9所述的方法,其中(b2)包括如果检测到缺陷,那么用冗余字线修复所述字线、先前编程的相邻字线和尚待编程的相邻字线。
11、 如权利要求9所述的方法,其中所述存储器阵列包括多个一次写入存储器单元。
12、 如权利要求11所述的方法,其中所述一次写入存储器单元包括反瑢丝存储器单元。
13、 如权利要求9所述的方法,其中所述存储器阵列包括三维存储器阵列,所述 三维存储器阵列包括多个彼此竖直堆叠在单个硅衬底上的存储器单元层。
14、 如权利要求9所述的方法,其中(bl)包括读取存储在所述字线中的信息并且 将所述读取信息与存储在缓冲器中的信息进行比较。
15、 一种用于编程存储器阵列的方法,所述方法包括-(a) 编程存储器阵列中的多个字线;和(b) 在编程各个字线后,(bl)设法检测所述字线和先前编程的相邻字线上的缺陷;和(b2)如果在所述字线上检测到缺陷,那么用冗余字线修复所述字线和所述先 前编程的相邻字线,从而修复所述先前编程的相邻字线,即使在编程所述先前编程的 相邻字线后未检测到所述先前编程的相邻字线上的缺陷。
16、 如权利要求15所述的方法,其中所述存储器阵列包括多个一次写入存储器 单元。
17、 如权利要求16所述的方法,其中所述一次写入存储器单元包括反熔丝存储 器单元。
18、 如权利要求15所述的方法,其中所述存储器阵列包括三维存储器阵列,所 述三维存储器阵列包括多个彼此竖直堆叠在单个硅衬底上的存储器单元层。
19、 如权利要求15所述的方法,其中(bl)包括读取存储在所述字线和先前编程的 相邻字线中的信息并且将所述读取信息与存储在缓冲器中的信息进行比较。
全文摘要
本发明揭示用于编程存储器阵列的方法和设备。在一个实施例中,在编程各个字线后,设法检测所述字线上的缺陷。如果检测到缺陷,那么用冗余字线修复所述字线。然后重新编程所述字线并重新检查是否有缺陷。在另一个实施例中,在编程各个字线后,设法检测所述字线上的缺陷。如果检测到缺陷,那么将所述字线与先前编程的相邻字线一起修复。在再一个实施例中,在编程各个字线后,设法检测所述字线和先前编程的相邻字线上的缺陷。如果在所述字线上检测到缺陷,那么用冗余字线修复所述字线和所述先前编程的相邻字线。
文档编号G11C29/00GK101189683SQ200680019980
公开日2008年5月28日 申请日期2006年6月13日 优先权日2005年6月22日
发明者于承恩, 本迪克·克莱韦兰, 锋 李, 李泰元, 嘉 杨, 杨晓宇 申请人:桑迪士克3D公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1