电阻式存储器中的位故障的实时纠正的制作方法

文档序号:10557214阅读:260来源:国知局
电阻式存储器中的位故障的实时纠正的制作方法
【专利摘要】用于纠正电阻式存储器设备中的位故障的系统和方法包括:将存储器设备划分成第一存储器排和第二存储器排。第一单位修复(SBR)阵列被存储在第二存储器排中,其中第一SBR阵列被配置成存储第一存储器排的第一行中的第一故障位中的故障的第一指示。第一存储器排和第一SBR阵列被配置成在存储器存取操作期间被并行地存取。类似地,存储在第一存储器排中的第二SBR阵列可以存储第二存储器排中的位故障的指示,其中第二SBR阵列和第二存储器排可以被并行地存取。因而,第一和第二存储器排中的位故障可以被实时地纠正。
【专利说明】电阻式存储器中的位故障的实时纠正
[0001 ] 公开领域
[0002]所公开的各实施例涉及检测和纠正电阻式存储器中的位故障。更具体地,示例性实施例涉及基于通过电阻式存储器阵列(诸如磁阻式随机存取存储器(MRAM))能够同时存取的单位修复(SBR)阵列对该电阻式存储器阵列的位的软故障或硬故障的实时修复。
【背景技术】
[0003]硬故障和软故障常见于电阻式存储器设备的存储器单元中。此类故障可以例如作为在使用磁性元件的非易失性存储器技术的磁阻式随机存取存储器(MRAM)中看到。更具体地,MRAM包括磁性隧道结(MTJ)单元,它包括将钉扎层与自由层分开的势皇层。自由层的极化可通过在特定方向施加电流以使钉扎层和自由层的极性或基本对准或相反来反转。通过MTJ的电路径的电阻取决于钉扎层和自由层的极化的对准而变化。电阻方面的这一变化可被用于对MTJ单元进行编程并且读取MTJ单元,如本领域中所已知的。
[0004]势皇层通常是从易击穿的材料(诸如MgO)形成的薄绝缘层。具体地,随着器件技术进步以及MTJ元件尺寸的缩减,势皇层可能在相对较小的压力等级下被容易地击穿。此类击穿可导致硬故障,硬故障由于永久性或长期破坏而无法被容易地修复,这与可容易修复的软故障形成对比。
[0005]具体地,不可修复的故障或硬故障要求替换故障单元。然而,一旦存储器阵列被封装,要替换存储器阵列中的各个位单元是不可行的。因而,代替由于故障位单元而替换整个存储器阵列,硬故障通常使用替换行(或列)来处置。更具体地,存储器阵列的故障位首先被检测;例如,在存储器阵列上运行测试宏以检测故障位单元。故障位单元所处的行(和/或列)例如在一次性可编程(OTP)且通常为非易失性存储器(NVM)阵列(在存储器阵列外部)中被指出。OTP NVM阵列保持关于包括故障位单元的故障行的信息。
[0006]替换行接着被提供以用于故障行。这些替换行是整个故障行的副本,但其中故障位单元由健康或正常运行的位单元替换。替换行通常是存储器阵列中已经被要求用于存储存储器阵列的其余部分中故障行的副本的那些行。由于OTP NVM存取时间较慢,因此在实践中,关于故障行的信息在系统上电时被加载到快速寄存器中,例如,磁阻式随机存取存储器(MRAM)内部寄存器。因而,每一次在存储器阵列上尝试存储器存取时,MRAM内部寄存器被检查以确定存储器存取地址是否包含在其中,以便查明期望存储器存取行是否是故障行。如果据称的存储器存取对应于故障行,则存储器存取地址被重新路由到存储器阵列中提供该故障行的对应替换行的地址。因而,代替故障行,对应替换行被选择以供存储器存取。
[0007]还将以上技术扩展到存储器阵列的各端口而非位单元可能被破坏的情况。例如,如果存储器阵列的输入/输出(1)端口被检测为发生故障,则提供替换10(或“R10”)。可能通过故障1端口要求存取的存取地址被重新路由到替换10。更具体地,在一个已知实现中,OTP NVM可被配置成存储整个故障1的替换10,从而使得在期望存取涉及故障1的情形中,替换1从内部MRAM寄存器获取,如上所述。在另一已知实现中,OTP NVM可被配置成将替换1信息存储在各个区段中,其中存储器阵列可以被划分成多个区段(比如举例来说η个相等区段),n个区段中的每一个区段包括多个行。为η个区段中的每一个区段创建替换1信息,从而使得特定区段m的替换1涉及该区段m内的故障10。因而,如果区段m具有故障10,并且期望存储器存取地址落在区段m之下,则对应的替换1可以仅针对区段m来进行检索,而非检索整个替换10。相应地,与存储整个替换1的先前实现相比,这一实现仅要求OTP NVM中消耗的替换1空间的1/n。
[0008]不管所选的OTPNVM的具体实现如何,用于处置故障位单元或1的以上常规技术在若干方面是有缺陷的。首先,这些技术是较慢且耗时的;而且,此类技术无法在运行中被执行。这是因为此类技术要求多次存储器阵列存取,由于在典型的存储器阵列设计中一次最多只能存取一行,并且试图存取故障行、经历内部MRAM寄存器、并且接着存取替换行或替换1的过程招致多个时钟周期或者换言之高等待时间。其次,替换行和/或替换1消耗存储器阵列上宝贵的空间,并且因此,替换行的数目通常受到限制,从而对能够被有效地处置的故障行和/或故障1的数目施加了限制。因而,传统技术不仅仅较慢,而且不适用于故障的实时修复,在无法为所有故障提供有效替换行和/或替换1的情况下常规技术还可能导致不准确性。
[0009]概述
[0010]各示例性实施例涉及检测和纠正电阻式存储器中的位故障。更具体地,示例性实施例涉及基于通过电阻式存储器阵列(诸如磁阻式随机存取存储器(MRAM))能够同时存取的单位修复(SBR)阵列对该电阻式存储器阵列的位的软故障或硬故障的实时修复。
[0011]例如,各实施例可涉及被划分成第一存储器排和第二存储器排的电阻式存储器设备。第一单位修复(SBR)阵列被存储在第二存储器排中,其中第一SBR阵列被配置成存储第一存储器排的第一地址处的第一行中的第一故障位中的故障的第一指示。第一存储器排和第一 SBR阵列被配置成在存储器存取操作期间被并行地存取。类似地,存储在第一存储器排中的第二 SBR阵列可以存储第二存储器排中的位故障的指示,其中第二 SBR阵列和第二存储器排可以被并行地存取。因而,第一和第二存储器排中的位故障可以被实时地纠正。
[0012]相应地,一示例性实施例涉及一种纠正存储器阵列中的位故障的方法,该方法包括:将存储器阵列划分成第一排和第二排,确定存储在第一排中的第一行中的第一故障位中的故障,以及将第一故障位的第一指示存储在第一单位修复(SBR)阵列中,其中第一SBR阵列被存储在第二排中以允许在存储器存取操作期间对第一排和第一 SBR阵列的并行存取。
[0013]另一示例性实施例涉及一种存储器设备,包括:第一存储器排,第二存储器排,以及存储在第二存储器排中的第一单位修复(SBR)阵列,第一SBR阵列被配置成存储第一存储器排的第一行中的第一故障位中的故障的第一指示,其中第一存储器排和第一 SBR阵列被配置成在存储器存取操作期间被并行地存取。
[0014]另一示例性实施例涉及一种存储器系统,包括:第一存储器排,用于确定存储在第一存储器排中的第一行中的第一故障位中的故障的装置,以及用于存储第一故障位的第一指示的装置,以使得第一存储器排以及该用于存储的装置在存储器存取操作期间能够并行存取。
[0015]又一示例性实施例涉及一种包括代码的非瞬态计算机可读存储介质,该代码在由处理器执行时使得处理器执行用于纠正存储器阵列中的位故障的操作,该非瞬态计算机可读存储介质包括:用于确定存储在存储器阵列的第一存储器排中的第一行中的第一故障位中的故障的代码,以及用于存储第一故障位的第一指示的代码,以使得第一存储器排以及用于存储的装置在存储器存取操作期间能够并行存取。
[0016]附图简述
[0017]给出附图以助益各种实施例的描述,并且提供这些附图仅仅是为了解说实施例而非对其进行限制。
[0018]图1是根据各示例性实施例的被配置成用于实时故障位修复的示例性存储器设备结构的图解。
[0019]图2A-D解说了当故障位指示与故障位是否必须被翻转有关时具有同时故障位修复的读操作。
[0020]图2E-H解说了当故障位指示与故障位是否必须被翻转有关时具有同时故障位修复的写操作。
[0021]图3A-D解说了当故障位指示包括故障位的正确值时具有同时故障位修复的读操作。
[0022]图3E-H解说了当故障位指示包括故障位的正确值时具有同时故障位修复的写操作。
[0023]图4是根据本公开的各方面的纠正存储器阵列中的位故障的示例性方法的流程图描绘。
[0024]详细描述
[0025]在以下针对具体实施例的描述和相关附图中公开了各种实施例的各方面。可以设计替换实施例而不会脱离本发明的范围。另外,各种实施例的众所周知的元素将不被详细描述或将被省去以免煙没各种实施例的相关细节。
[0026]措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实施例不必被解释为优于或胜过其他实施例。同样,术语“实施例”并不要求所有实施例都包括所讨论的特征、优点、或工作模式。
[0027]本文所使用的术语仅出于描述特定实施例的目的,而并不旨在限定各实施例。如本文所使用的,单数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”、“具有”、“包含”和/或“含有”在本文中使用时指明所陈述的特征、整数、步骤、操作、元素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或其群组的存在或添加。
[0028]各示例性实施例克服了用于处置存储器阵列中的故障的常规技术的上述缺陷。相应地,各实施例包括可被划分成两个或更多个排的示例性存储器阵列结构。例如,包括MRAM单元的存储器阵列可以被拆分成第一排和第二排。在此类结构中,如果存储器阵列是64位宽,则每一行的较高有效或上部32位将被存储在第一排中,而各个行的较低有效或下部32位将被存储在第二排中。代替例如在常规技术中存储故障位行的整个替换行,各实施例可被配置成仅存储示例性结构中故障位的地址,在本文中被称为单位修复(SBR)阵列。更具体地,SBR阵列可包括位级粒度的地址,它定点具体的故障位,而非包括故障位的整个故障行。相应地,存储器阵列内的可用存储器空间被更高效地利用,因为需要较少的存储空间来存储故障位的地址,而非存储包括故障位的整个故障行。
[0029]在其它方面,对应于第一排的数据行的故障位的第一SBR阵列可以被形成在存储器阵列的第二排内,而对应于第二排中的数据行的故障位的第二SBR阵列可以被形成在第一排内。在示例性存储器阵列中,提供了用于对第一排和第二排进行并行或同时存取的逻辑和控制装置,从而允许对第一排例如连同其对应的第一 SBR阵列的并行存取。以此方式,据称的对例如第一排的第一行的存储器存取可以与存取来自第二排的第一 SBR阵列并行地执行。相应地,与常规技术相比,各实施例还可改善存储器存取速度。
[0030]现在参考图1,解说了示例性存储器设备100的示意图,其中存储器设备100可被配置成纳入与位故障(尤其是硬故障)的修复有关的各示例性方面。在一个实施例中,存储器设备100可以是包括MTJ位单元的电阻式存储器,诸如MRAM。更具体地,存储器设备100包括存储器阵列,它是示例性地为64位宽,并且被拆分成第一和第二32位宽的存储器排,被解说为第一排102a和第二排102b。第一 SBR阵列104a可以存储涉及第一排102a中的故障位的地址(例如,第一 SBR阵列104a可以存储对应于第一排102a中的第一故障位的第一地址);并且类似地,第二 SBR阵列104b可以存储涉及第二排102b中的故障位的地址。在所解说的实施例中,存储器设备100可包括520个行,其中第一排102a和第二排102b包括512个行,并且相应的第一和第二 SBR阵列104a-b包括8行。
[0031]在一示例中,第一排102a的位单元105a可以被确定为故障位,其中故障位105a可属于数据字线或故障行106a。对应地,第一 SBR阵列104a可包括被指定为SBR阵列条目107a的条目。SBR阵列条目107a可包括故障位105a的地址以及指示故障位105a在故障行106a内的位位置的列地址(CA),故障位105a的地址可包括对应于故障行106a的字线偏移。此外,SBR阵列条目107a可包括指示所存储的地址与当前故障有关还是作废的有效位,以及1号(如果存在对应于故障位105a的故障1的话)。在一些方面,如果故障1按照先前所述的分段方式被确定,则1号可以对应于故障行106a所属的特定区段。表示SBR阵列条目107a所需的位数例如显著小于存储整个故障行106a可能所需的位数(如常规技术中所看到的)。因而,若干条目(诸如SBR阵列条目107a)可以被存储在例如第一SBR阵列104a的8行的每一行内。
[0032]地址命令110可以被存储器设备100接收以进行例如对外部源的读/写操作,外部源诸如处理器或存储器控制器(未示出)。全局控制逻辑116可被配置成接收地址命令110,并且解码器114被配置成将涉及地址命令110的存取定向到第一和/或第二排102a-b的相关行。地址命令110可基于所选的特定实现而包括32位操作以及全64位操作。例如,64位写命令可包括到第一排102a的上部32位的总线DIN 11 la[63: 32]以及到第二排102b的总线DINlllb[31:0]上的数据。类似地,64位读命令可被用于读出来自第一排102a的上部32位的DOUT 112a[63:32]以及来自第二排 102b 的 DOUT 112b[31:0]上的数据。
[0033]为了辅助读数据和写数据,提供了包括局部数据线(LDP)118a-b和全局数据线(GDP)120a-b的读逻辑和写逻辑块。LDP 118a_b可包括读逻辑或读电路系统以及写电路系统,读逻辑或读电路系统包括感测放大器;而GDP 120a-b可包括接收机和数据输出缓冲器。在写操作的情形中,写入数据通过块⑶P 120a-b从总线DIN llla_b接收,并且相应地被转发到LDP 118a-boLDP 118a_b中的写逻辑或写电路系统可以将写入数据分别驱动进入对应的第一和第二排102a-b的位线。对于读操作,在LDP 118a_b中包括感测放大器的读电路系统可以分别感测来自对应的第一和第二排102a-b的位单元数据并且将该位单元数据转发到⑶P 120a-boGDP 120a_b可以将读数据驱动输出到总线DOUT 112a_b上。
[0034]为了辅助确定位故障,可以提供纠错机制以周期性地检查存储在第一和第二排102a-b内的数据的完整性或正确性。为了辅助这一过程,纠错码(ECC)位106a和106b分别被添加到第一和第二排102a-b的每一行。ECC的功能在本领域是公知的,其中冗余的ECC位或奇偶位被添加到数据位群,从而使得ECC位可以被用于确定在数据位群内是否发生一个或多个错误。现在将参考图2A-H中解说的操作(诸如读、写、和/或数据擦写/刷新)来讨论基于图1的示例性存储器设备100的结构进行故障位修复的细节。
[0035]参照图2A-B,解说了根据各示例性实施例的用于填充SBR阵列的初始设立操作集。图2A-B包括流程图,该流程图包括可以在示例性刷新或数据擦写过程期间执行的步骤序列。尽管示例性方面涉及不要求刷新操作(诸如在易失性存储器(诸如动态随机存取存储器(DRAM)中常见的)的非易失性存储器(诸如MRAM),但类似的操作可被周期性地执行以确定故障。例如,在初始设立阶段期间并且在周期性循环中,第一和第二排102a-b中的每一行可以被读出,其中存储的数据的正确性使用对应的ECC位108a-b来验证,并且接着被写回。根据各示例性实施例,软故障可以在这一类似刷新的数据擦写操作期间被修理,而硬故障可以被标记以供修复处置。还将理解,在这一上下文中描述的刷新/故障检测操作无需仅在初始或周期性刷新过程期间被执行,而是在另一方面,故障检测和修复处置也可作为存储器存取(诸如读或写操作)的一部分来完成。
[0036]更具体地,在步骤或框202中,在刷新/数据擦写或读操作期间,上述行106a被读出。使用来自ECC块108a的对应ECC位,检查行106a的正确性。行106a中存储的示例值在图2A-B中指示。在这一运行中的示例中,检测到位105a是不正确的,并且偏离其预期值,该预期值由指向行106a的其余位内的位105a的指针所指示。然而,单单这一偏离不足以确定该错误是由软故障引起(可通过写回来纠正)还是由硬故障(需要进一步的注意,例如通过在第一SBR阵列104a中创建条目)引起。
[0037]因而,该过程继续至框204,其中,对位105a执行纠错(在二进制表示中,等于使位105a从错误值反转或翻转),并且在框206中,行106a被写回第一排102a内,其中位105a经过翻转/纠正,并且希望该错误是将通过重写正确值来纠正的软故障。
[0038]在框208(开始于图2B)中,行106a再一次被读出,以确定该错误在框206中是否被修理。出于解释实施例的目的,将假定,位105a已经经历了硬故障,该硬故障将无法通过在框206中重写正确值来修复。相应地,认识到在框208中,位205a是故障位,具有无法通过重写正确值来修理的硬故障,诸如位于位205a的MTJ单元的MgO势皇击穿。将领会,在一些情形中,此类硬故障无需是持久的,并且随着时间推移,基于任何数目的因素,硬故障可能变得被修理也是可能的,这些内容将不在本公开中讨论。为了计及此类情景,先前描述的有效位将被用于确保SBR阵列中的条目指向当前存在的硬故障。
[0039]相应地,移动到框210,位105a中的硬故障被记录在第一SBR阵列104a中,并且假定第一SBR阵列104a具有可用于存储对故障位105a的指示的存储空间。尽管示例性SBR阵列(例如第一 SBR阵列104a)能够比常规技术保持更多的故障指示,然而要认识到,这些示例性SBR阵列在容量上也是受限的(例如,8行32位的容量,在当前示例中提供了用于每一行中的一个或多个故障位指示的存储空间)。因而,如果用于存储故障位指示的可用容量被指示,则可以采用合适的替换策略来盖写现有条目并且为新条目腾出空间。如果一些条目包含无效条目,如它们有效位字段所指示的,则这些条目可以被删除。如果所有条目都是有效的,则诸如高速缓存存储器架构中的最近最少使用(LRU)方案之类的替换策略是一种可能的替换策略,而本领域技术人员将认识到,替代的替换策略也可在本公开的范围内被采用。
[0040]继续参考框210,在第一 SBR阵列104a中创建SBR阵列条目107a,其中有效字段可以被设置,并且字线偏移字段可涉及故障行106a(例如,在图2A-B中被描绘为涉及字线(WL) =“10”),并且列地址可指示故障位105a在故障行106a内的位置(例如,在图2A-B中被描绘为涉及列地址(CA)=5)。更具体地,通过这一格式,如果SBR阵列条目107a设置了有效字段,则其指示在于位105a的值必须被翻转(例如,位105a可能由于故障被卡在与其预期正确值相反的值处)。因而,在这一阶段,第一 SBR阵列104a将填充有存在针对第一排102a中的位105a的硬故障的指示。类似地,第一和第二排102a_b两者中的所有其它行可被擦写并且分别在第一和第二 SBR阵列104a-b中记录故障。
[0041]参考图2C-D,解说了针对示例性读操作的与图2A-B类似格式的操作流程,并且现在将继续参考第一排102a的行106a来进行描述。例如,组合地参考图1,地址命令110可以被接收以用于对行106a执行读,以生成期望的输出DOUT 112a [ 63: 32 ]。相应地,全局控制块116将对第一排102a的行106a发起读操作,同时读出第一SBR阵列104a。在一些方面,基于收到的读地址,全局控制块116将能够确定第一SBR阵列104a中存在针对行106a的条目,SBR阵列条目107a。
[0042]因而,在框212中,对行106a的读操作将通过从第一排102a读出行106a来发起,同时从第一 SBR阵列104a读出对应的SBR阵列条目107a。将确定在位105a中存在故障。
[0043]在框214中,从行106a中读出的值基于SBR阵列条目107a中设置的有效位通过翻转故障位105a被修改或反转。在一些情形中,存储在SBR阵列条目107a中的值也可首先对照其自己的ECC位(如针对第一SBR阵列104a在框212中示出的)来检查以确保SBR阵列条目本身没有被破坏。
[0044]返回到框212,示出了附加方面,它们可以是可任选的特征并且无需在所有情形中影响框212和214中的以上描述。具体地,在框212中,ECC位可能已经在行106a内的附加位而非位105a中指示错误。该第二错误可能是由软故障或硬故障引起的,因为在图2B的框210中为行106a在第一SBR阵列104a中创建了条目。因而,在框216(图2D中示出)中,该第二错误位的纠正还可在读出行106a的同时但在最终在DOUT 112a[ 63:32 ]上输出正确值之前被执行。
[0045]现在转向图2E-F,解说了示例性写操作的第一形式,其中新的字或新的行(诸如新的第一行)被写入第一排102a的现有第一行。例如,接收自DIN 11 la[63: 32]的新的第一行值例如通过LDP 118a的辅助要被写入现有第一行(行106a)。这一形式涉及这样一种情形,其中据称的到位105a的新写入值与故障位105a的当前存储值相同,这将在下文进一步解释。再次,当地址命令110指示期望进行写操作时,全局控制块116例如将在第一SBR阵列104a中指示存在针对行106a的SBR阵列条目107a。在此之后,写过程继续到框222。
[0046]在框222中,对行106a执行预读,其中在将新值写入行106a之前行106a首先被读出。来自第一 SBR阵列104a的SBR阵列条目107a也被读出以确定行106a的哪个位具有故障指示。再次,SBR阵列条目107&本身可以首先使用第一 SBR阵列104a的ECC位被测试正确性。
[0047]接着,在框224中,要被写入行106a的数据可以与已经存在于行106a中的数据作比较,例如以便仅选择性地将根据来自DIN llla[63:32]的传入数据需要被修改的位写回。由于行106a中已经存在的32位中的一些很有可能与要被写入的新32位是共同的,因此节省对将与其现有值保持不修改的那些位值的写功率是有利的。对仅修改位的选择性写入可以通过对从预读可用的行106a中的现有位以及针对写操作要被写入行106a的对应位执行逐位XOR (异或)函数来实现。
[0048]然而,不像行106a中的其余位,如果在重写之后,基于故障地址107a中的指示该位将被反转或翻转,则故障位105a无需被重写。在阐明这一过程的数字解释中,将假定,SBR阵列条目107a中的有效位指示位105a需要被翻转,其中位105a的值当前处于错误值“O”。因而,存储在SBR阵列条目107a中的当前指示转换成位105a的正确值为“I”的要求。因而,如果根据期望写操作的完成,值“I”要被写入位105a,则这可以通过令该值保持其初期预读值“O”来实现,从而使得当位105a被读出时,它将通过故障地址107a中的指示被翻转。
[0049]在框226(参见图2F)中,被确定为与行106a中的现有位不同的位(S卩,需要被写入的位)(除了位105a,因为该情形可能基于框224)被写回到行106a中以完成写过程。根据写操作的完成,对应的ECC位基于行106a中经更新的值被更新。
[0050]在一些情形中,将理解,框224可以被略去,并且框226可以被修改为盖写从DINllla[63:32]到达行106a的新数据位的全部32位。尽管这可能无法实现通过避免写功率不必要地写入无需被修改的位可看到的相同功率节省,如上在框224和226中所描述的,但盖写全部32位可以使增加的复杂性的功率节省与成本节省(例如,逐位XOR逻辑可以被避免)之间进行折衷。如果新数据的全部32位在行106a中被盖写,则后续刷新操作(例如,根据图2A-B)可以被执行以相应地更新第一 SBR阵列104a。
[0051]现在参照图2G-H,解说了在图2E-F中描述的写操作的第二形式,其中据称的到位105a的新写入值与故障位105a的预读值相同。图2G-H与图2E-F的重大差别仅在于图2E-F的框224和226,并且因而这些差别已经通过在图2G-H中将对应的框标记为224’和226’来表明。由于图2G-H在所有其它方面基本类似于图2E-H,因此以下描述将不会停留于这些相似处而是着重于差别。
[0052]更具体地,图2G-H表示其中写入数据在对应于位105a的位置中包括值的示例,该值与在框222中从行106a的预读中读出的位105a的值相同。然而,已经知晓的是,位105a具有在SBR阵列条目107a中设置的有效位,从而表明位105a需要被翻转。因而,在数字示例中,如果位105a从行106a中被读出为值“O”,则已经知晓的是其预期值为“I”,因为读取的值“O”是错误的。然而,如果新写入要具有写入位105a的值“O”,则“O”将是位105a处的正确值,并且因而基于SBR阵列条目107a中设置的有效值不应被翻转。相应地,对应于值“O”的位105a中的错误指示必须被移除。
[0053]因而,在图2E-H中将数据写入行106a的过程与以上在图2E-F中描述的过程不同之处在于:在图2D的框224’中,看到要被写入位105a的数据值与从位105a读出的数据值相同,但从位105a读出的数据值先前被SBR阵列条目107a中设置的有效位记录为错误值。相应地,根据写操作,不需要在位105a处执行盖写,因为据称的值已经匹配于从行106a读出的值。类似于图2C的框224,出于框224’中的写操作的目的,将从它们当前存储的值进行修改的所有其它位可以被更新(记住,再次,在替换实施例中,可以通过使功率折衷并且将DIN Illa[63:32]的所有位写入行106a并且按需更新第一 SBR阵列104a来避免框224’)。
[0054]因而,在框226’(如图2H中描绘的)中,如果到位105a的写入值匹配于位105a的预读值,则SBR阵列条目107a可以基于重置有效值而被删除或者被无效。
[0055]现在参考图3A-H,描绘了替换实施例,其中示例性SBR阵列中的条目格式与以上关于图2A-H中描述的那些不同。显著的是,根据图3A-H的这些替换实施例的示例性SBR阵列中的一个或多个条目包括用于指示由存储在其中的故障地址所指示的故障位的正确值的附加字段,被称为“正确字段”。换言之,代替在先前描述的实施例中基于有效位来指示故障位必须被翻转或不翻转,本文的替换实施例的SBR阵列条目显式地存储必须存在于所标识的故障位处的正确值。相应地,在这些替换实施例中,第一SBR阵列104a的条目(诸如SBR阵列条目107 ’ a(未分开解说))包括对应于故障位105a的故障地址,其中故障地址107 ’ a包括如同之前那样针对有效位和故障1号的字段,并且附加地还包括指示正确数据位值的写入数据位字段。因而,如果SBR阵列条目107’a指示有效条目,则位105a的正确值由写入数据位字段来提供。替换实施例在其它方面基本类似于与先前描述的那些实施例,并且相应地,以下描述将着重于它们的差别而略去对类似方面的重复。
[0056]更详细地,涉及初始设立或用于填充示例性SBR阵列的刷新操作的图3A-B的框302-308基本类似于图2A-B的框202-208。显著的差别在于框310,其中不像图2B的框210,故障位105a的正确值被写入为SBR阵列条目107’a在其写入数据位字段中创建的条目。
[0057]将以上差别牢记于心,现在将参考图3C-D进行对按照以上SBR阵列条目107’a具有故障位105a指示的故障行106a的读操作的描述,其中框312-316在许多方面类似于图2C-D的框212-216。在框312中,SBR阵列条目107’a与其指示故障位105a的正确值的附加字段一起读出,连同行106a的读出一起。
[0058]不像在图2C的框214中所讨论的翻转操作,在图3C的框314中,行106a的读出值通过将故障位105a替换为从SBR阵列条目107’a的写入数据值字段中导出的其正确值来修改。
[0059]类似于图2D的框216,在图3D的框316中执行差错检查,并且在DOUT 112a[63:32]上输出经纠正的数据之前基于ECC位按需执行附加纠正。
[0060]现在参考图3E-H,分别解说了基于故障位预读值是否不同于据称的新写入值的对行106a的写操作的第一和第二形式。然而,不像图2E-F和图G-H之间的区别,在图3E-F与图3G-H之间实际上没有差别,因为故障位105a的正确值可从SBR阵列条目107’a获得,并且因而不需要包括针对故障位预读值是否不同于据称的新写入值的特别关心。
[0061 ] 更具体地,图3E、3G的框322和图2E、2G的框222是类似的,其中对行106a执行预读,其中在将新值写入行106a之前行106a首先被读出。然而,在图3E的框324(其中据称的到故障位105a的新写入值不同于故障位105a的预读值)以及在图3G的框324’(其中据称的到故障位105a的新写入值不同于故障位105a的预读值)两者中,据称的新写入值是否被写入行106a中的位105a是无关紧要的。这是因为在图3F的框326以及图3H的框326’两者中,正确值将无论如何都在故障地址107’a的写入数据值位字段中被更新。
[0062]再次,将理解,在替换实现中,除了框324和324’中描绘的那些之外,例如,写入具有新写入值的整个行106a而非仅仅写入不同于先前存储位的那些位以将功率节省与设计简化进行折衷也是可能的。
[0063]将领会,各实施例包括用于执行本文中所公开的过程、功能和/或算法的各种方法。例如,如图4所解说的,一实施例可包括一种纠正存储器阵列(例如,存储器设备100)中的位故障的方法,该方法包括:将存储器阵列划分成第一排(例如,第一排102a)和第二排(例如,第二排102b)——框402;确定存储在第一排中的第一行(例如,第一行106a)中的第一故障位(例如,位105a)中的故障——框404;以及将第一故障位的第一指示(例如,SBR阵列条目107a)存储在第一单位修复(SBR)阵列(例如,第一SBR阵列104a)中,其中第一SBR阵列被存储在第二排中以允许在存储器存取操作期间对第一排和第一 SBR阵列的并行存取——框406。
[0064]本领域技术人员将领会,信息和信号可使用各种不同技术和技艺中的任何一种来表示。例如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
[0065]此外,本领域技术人员将领会,结合本文中所公开的实施例描述的各种解说性逻辑块、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
[0066]结合本文中所公开的实施例描述的方法、序列和/或算法可直接在硬件中、在由处理器执行的软件模块中、或者在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或者本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。
[0067]相应地,本发明的实施例可包括实施用于在电阻式存储器设备中的故障位修复的方法的计算机可读介质。相应地,本发明并不限于所解说的示例且任何用于执行文本所描述的功能性的手段均被包括在本发明的实施例中。
[0068]尽管上述公开示出了本发明的解说性实施例,但是应当注意到,在其中可作出各种更换和改动而不会脱离如所附权利要求定义的本发明的范围。根据本文中所描述的本发明实施例的方法权利要求的功能、步骤和/或动作不必按任何特定次序来执行。此外,尽管本发明的要素可能是以单数来描述或主张权利的,但是复数也是已料想了的,除非显式地声明了限定于单数。
【主权项】
1.一种纠正存储器阵列中的位故障的方法,所述方法包括: 将所述存储器阵列划分成第一排和第二排; 确定存储在第一排中的第一行中的第一故障位中的故障;以及将第一故障位的第一指示存储在第一单位修复(SBR)阵列中,其中第一SBR阵列被存储在第二排中以允许在存储器存取操作期间对第一排和第一 SBR阵列的并行存取。2.如权利要求1所述的方法,其特征在于,所述第一指示包括第一故障位在第一行中的第一地址以及用于指示第一故障位的值因所述故障而被反转的有效字段。3.如权利要求2所述的方法,其特征在于,在第一行的读操作或刷新操作期间: 确定第一SBR阵列包括第一行中的第一故障位的第一指示;以及 反转在第一地址处从第一行读出的位值。4.如权利要求2所述的方法,其特征在于,在将新第一行写入第一排的第一行的写操作期间: 确定第一 SBR阵列包括第一行中的第一故障位的第一指示; 读出存储在第一排中的第一行; 将所述新第一行的位值与在基于第一地址的第一故障位的位置处读出的第一行作比较; 将所述新第一行写入第一排;以及 基于所述比较来更新第一指示。5.如权利要求4所述的方法,其特征在于,进一步包括,将所述新第一行的所有位与读出的第一行作比较,以及选择性地仅将所述新第一行中不同于读出的第一行的位写入第一排。6.如权利要求1所述的方法,其特征在于,所述第一指示包括第一故障位在第一行中的第一地址、以及包括第一故障位的正确值的正确字段。7.如权利要求6所述的方法,其特征在于,在第一行的读操作或刷新操作期间: 确定第一SBR阵列包括第一行中的第一故障位的第一指示;以及 用第一地址处的所述正确值替换从第一行读出的位值。8.如权利要求6所述的方法,其特征在于,在将新第一行写入第一排的第一行的写操作期间: 确定第一 SBR阵列包括第一行中的第一故障位的第一指示; 读出存储在第一排中的第一行; 将所述新第一行的位值与在基于第一地址的第一故障位的位置处读出的第一行作比较; 将所述新第一行写入第一排;以及 基于所述比较来更新第一指示。9.如权利要求6所述的方法,其特征在于,进一步包括,将所述新第一行的所有位与读出的第一行作比较,以及选择性地仅将所述新第一行中不同于读出的第一行的位写入第一排。10.如权利要求1所述的方法,其特征在于,所述存储器阵列是MRAM阵列,并且所述故障包括对应于形成在第一故障位处的磁性隧道结(MTJ)单元的势皇层的MgO击穿的硬故障。11.一种存储器设备,包括: 第一存储器排; 第二存储器排;以及 存储在第二存储器排中的第一单位修复(SBR)阵列,第一SBR阵列被配置成存储第一存储器排的第一行中的第一故障位中的故障的第一指示,其中第一存储器排和第一 SBR阵列被配置成在存储器存取操作期间被并行地存取。12.如权利要求11所述的存储器设备,其特征在于,所述第一指示包括第一故障位在第一行中的第一地址以及用于指示第一故障位的值因所述故障而被反转的有效字段。13.如权利要求12所述的存储器设备,其特征在于,进一步包括读逻辑,其被配置成: 确定第一SBR阵列包括第一行中的第一故障位的第一指示;以及 反转在第一地址处从第一行读出的位值。14.如权利要求12所述的存储器设备,其特征在于,进一步包括写逻辑,其被配置成: 确定第一 SBR阵列包括第一行中的第一故障位的第一指示; 读出存储在第一排中的第一行; 将要被写入的新第一行的位值与在基于第一地址的第一故障位的位置处读出的第一行作比较; 将所述新第一行写入第一排;以及 基于所述比较来更新第一指示。15.如权利要求14所述的存储器设备,其特征在于,所述写逻辑被进一步配置成将所述新第一行的所有位与读出的第一行作比较,以及选择性地仅将所述新第一行中不同于读出的第一行的位写入第一排。16.如权利要求11所述的存储器设备,其特征在于,所述第一指示包括第一故障位在第一行中的第一地址、以及包括第一故障位的正确值的正确字段。17.如权利要求16所述的存储器设备,其特征在于,进一步包括读逻辑,其被配置成: 确定第一SBR阵列包括第一行中的第一故障位的第一指示;以及 用第一地址处的所述正确值替换从第一行读出的位值。18.如权利要求16所述的存储器设备,其特征在于,进一步包括写逻辑,其被配置成: 确定第一 SBR阵列包括第一行中的第一故障位的第一指示; 读出存储在第一排中的第一行; 将要被写入的新第一行的位值与在基于第一地址的第一故障位的位置处读出的第一行作比较; 将所述新第一行写入第一排;以及 基于所述比较来更新第一指示。19.如权利要求16所述的存储器设备,其特征在于,所述写逻辑被进一步配置成将所述新第一行的所有位与读出的第一行作比较,以及选择性地仅将所述新第一行中不同于读出的第一行的位写入第一排。20.如权利要求11所述的存储器设备,其特征在于,所述存储器阵列是MRAM阵列,并且所述故障包括对应于形成在第一故障位处的磁性隧道结(MTJ)单元的势皇层的MgO击穿的硬故障。21.—种存储器系统,包括: 第一存储器排; 用于确定存储在第一存储器排中的第一行中的第一故障位中的故障的装置;以及 用于存储第一故障位的第一指示的装置,以使得第一存储器排以及所述用于存储第一指示的装置在存储器存取操作期间能够并行存取。22.如权利要求21所述的存储器系统,其特征在于,包括: 用于确定在第一行的读操作或刷新操作期间所述用于存储第一指示的装置包括第一行中的第一故障位的第一指示的装置;以及 用于用第一地址处的正确值替换从第一行读出的位值的装置。23.如权利要求21所述的存储器系统,其特征在于,包括: 用于确定在将新第一行写入第一排的第一行的写操作期间所述用于存储第一指示的装置包括第一行中的第一故障位的第一指示的装置; 用于读出存储在第一排中的第一行的装置; 用于将所述新第一行的位值与在基于第一地址的第一故障位的位置处读出的第一行作比较的装置; 用于将所述新第一行写入第一排的装置;以及 用于基于所述比较来更新第一指示的装置。24.—种包括代码的非瞬态计算机可读存储介质,所述代码在由处理器执行时使得所述处理器执行用于纠正存储器阵列中的位故障的操作,所述非瞬态计算机可读存储介质包括: 用于确定存储在所述存储器阵列的第一存储器排中的第一行中的第一故障位中的故障的代码;以及 用于存储第一故障位的第一指示以使得第一存储器排以及所述第一指示在存储器存取操作期间能够并行存取的代码。
【文档编号】G11C29/00GK105917413SQ201480072470
【公开日】2016年8月31日
【申请日】2014年12月12日
【发明人】T·金, S·金, J·P·金
【申请人】高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1