首页 / 专利库 / 资料储存系统 / 随机存取存储器 / 磁阻随机存取存储器 / 磁隧道结 / 存储器器件、错误校正码系统和校正错误的方法

存储器器件、错误校正码系统和校正错误的方法

阅读:217发布:2020-05-08

专利汇可以提供存储器器件、错误校正码系统和校正错误的方法专利检索,专利查询,专利分析的服务。并且存储器 器件(诸如MRAM器件)包括多个存储器宏,其中每个存储器宏包括存储器单元的阵列和第一ECC 电路 ,第一ECC电路配置为检测相应存储器宏中的数据错误。第二ECC电路远离多个存储器宏,并且通信地耦合到多个存储器宏中的每个。第二ECC电路配置为从多个存储器宏的第一ECC电路接收检测到的数据错误并且校正数据错误。本 发明 的 实施例 还涉及错误校正码系统和校正错误的方法。,下面是存储器器件、错误校正码系统和校正错误的方法专利的具体信息内容。

1.一种存储器器件,包括:
多个存储器宏,每个存储器宏包括存储器单元的阵列和第一错误校正码(ECC)电路,所述第一错误校正码电路配置为检测相应存储器宏中的数据错误;
第二错误校正码电路,远离所述多个存储器宏,并且通信地耦合到所述多个存储器宏中的每个,并且配置为从所述多个存储器宏的所述第一错误校正码电路接收检测到的数据错误,并且将校正的数据写入到存储器阵列。
2.根据权利要求1所述的存储器器件,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏。
3.根据权利要求2所述的存储器器件,其中,所述磁随机存取存储器宏的每个还包括:
磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:
磁隧道结元件;
存取晶体管,耦合到所述磁隧道结元件;
第一位线,耦合到所述存取晶体管;
第二位线,耦合到所述磁隧道结元件;
字线,耦合到所述存取晶体管的栅极;以及
局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线。
4.根据权利要求3所述的存储器器件,其中,所述第一错误校正码电路包括:
第一校正子s1发生器,耦合到所述第一位线和所述第二位线;
第二校正子s3发生器,耦合到所述第一位线和所述第二位线;
错误检查电路,耦合到所述第一校正子s1发生器和所述第二校正子s3发生器中的每个的输出。
5.根据权利要求4所述的存储器器件,其中,所述第二错误校正码电路包括:
编码器计算电路,耦合到所述局部输入输出电路;
校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;
校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;
校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;
伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出;
错误校正电路,耦合到所述局部输入输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;以及
校验位发生器电路,用于校正具有错误的所述磁随机存取存储器位单元。
6.根据权利要求3所述的存储器器件,其中所述第一错误校正码电路包括:
第一校正子s1发生器,耦合到所述第一位线和所述第二位线;
第二校正子s3发生器,耦合到所述第一位线和所述第二位线;
编码器计算电路,耦合到所述局部输入输出电路;
校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;
错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3发生器、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出。
7.根据权利要求6所述的存储器器件,其中,所述第二错误校正码电路包括:
所述校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;
校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;
伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出;
错误校正电路,耦合到所述局部输入-输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;以及
校验位发生器电路,用于校正具有错误的所述磁随机存取存储器位单元。
8.根据权利要求3所述的存储器器件,其中,所述第一错误校正码电路包括:
第一校正子s1发生器,耦合到所述第一位线和所述第二位线;
第二校正子s3发生器,耦合到所述第一位线和所述第二位线;
编码器计算电路,耦合到所述局部输入输出电路;
校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;
错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3发生器、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出;
校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;
校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;以及
伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出。
9.一种错误校正码系统,包括:
多个第一错误校正码电路,所述多个第一错误校正码电路中的每个配置为通信地耦合到相应的存储器阵列,并且配置为检测相应的存储器阵列中的数据错误;以及第二错误校正码电路,通信地耦合到所述多个第一错误校正码电路中的每个,并且配置为从所述多个第一错误校正码电路接收检测到的数据错误并且校正所述数据错误。
10.一种校正错误的方法,包括:
提供多个存储器宏,每个存储器宏包括存储器单元的阵列和第一错误校正码电路;
提供远离所述多个存储器宏并且通信地耦合到所述多个存储器宏中的每个的第二错误校正码电路;
刷新存储器阵列,包括利用所述第一错误校正码电路检查所述存储器阵列中的数据错误;
如果所述第一错误校正码电路识别到数据错误,则将检测到的数据错误发送到所述第二错误校正码电路;
通过所述第二错误校正码电路校正所述数据错误;以及
将校正的数据写入所述存储器阵列。

说明书全文

存储器器件、错误校正码系统和校正错误的方法

技术领域

[0001] 本发明实施例涉及存储器器件、错误校正码系统和校正错误的方法。

背景技术

[0002] 存储器广泛用于在数字系统中存储信息(数据和程序)。在系统操作期间,存储在存储器中的信息(位)可能由于各种原因而被损坏。损坏的一个可能原因是由于存储器内部和存储器外部之外的环境事件。一个这样的外部事件是粒子撞击。除了环境事件之外,还有其他原因导致位的损坏(故障)。当某个位损坏时,存储的信息会丢失,从而导致系统故障或数据丢失。因此,保护存储器内容的完整性很重要。已经使用了各种用于保护存储器内容免受损坏的方式。错误校正码(ECC)具有能够检测码字(数据字段和校验位)中的错误以及校正错误的优点。

发明内容

[0003] 本发明的实施例提供了一种存储器器件,包括:多个存储器宏,每个存储器宏包括存储器单元的阵列和第一错误校正码(ECC)电路,所述第一错误校正码电路配置为检测相应存储器宏中的数据错误;第二错误校正码电路,远离所述多个存储器宏,并且通信地耦合到所述多个存储器宏中的每个,并且配置为从所述多个存储器宏的所述第一错误校正码电路接收检测到的数据错误,并且将校正的数据写入到存储器阵列。
[0004] 本发明的另一实施例提供了一种错误校正码系统,包括:多个第一错误校正码电路,所述多个第一错误校正码电路中的每个配置为通信地耦合到相应的存储器阵列,并且配置为检测相应的存储器阵列中的数据错误;以及第二错误校正码电路,通信地耦合到所述多个第一错误校正码电路中的每个,并且配置为从所述多个第一错误校正码电路接收检测到的数据错误并且校正所述数据错误。
[0005] 本发明的另一实施例提供了一种校正错误的方法,包括:提供多个存储器宏,每个存储器宏包括存储器单元的阵列和第一错误校正码电路;提供远离所述多个存储器宏并且通信地耦合到所述多个存储器宏中的每个的第二错误校正码电路;刷新存储器阵列,包括利用所述第一错误校正码电路检查所述存储器阵列中的数据错误;如果所述第一错误校正码电路识别到数据错误,则将检测到的数据错误发送到所述第二错误校正码电路;通过所述第二错误校正码电路校正所述数据错误;以及将校正的数据写入所述存储器阵列。附图说明
[0006] 当结合附图进行阅读时,从以下详细描述可最佳理解本发明的各个方面。应该强调,根据工业中的标准实践,各个部件未按比例绘制并且仅用于说明的目的。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。此外,附图示出为本发明的实施例的示例,并且不旨在限制。
[0007] 图1是根据实施例的总体示出具有多个MRAM阵列的示例MRAM器件的框图,每个MRAM阵列具有专用且简化的ECC电路。
[0008] 图2是根据实施例的总体示出MRAM阵列内的示例MRAM单元的框图。
[0009] 图3是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0010] 图4是根据实施例的使用ECC逻辑处理来校正MRAM错误的方法的流程图
[0011] 图5是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0012] 图6是根据实施例的使用ECC逻辑处理来校正MRAM错误的方法的流程图。
[0013] 图7是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0014] 图8是根据实施例的使用ECC逻辑处理校正MRAM错误的方法的流程图。
[0015] 图9是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0016] 图10是根据实施例的使用ECC逻辑处理来校正MRAM错误的方法的流程图。
[0017] 图11是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0018] 图12是根据实施例的使用ECC逻辑处理校正MRAM错误的方法的流程图。
[0019] 图13是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0020] 图14是根据实施例的使用ECC逻辑处理来校正MRAM错误的方法的流程图。
[0021] 图15是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0022] 图16是根据实施例的使用ECC逻辑处理来校正MRAM错误的方法的流程图。
[0023] 图17是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理的框图。
[0024] 图18是根据实施例的使用ECC逻辑处理来校正MRAM错误的方法的流程图。
[0025] 图19是根据实施例的使用分级ECC逻辑处理来校正MRAM错误的方法的流程图。

具体实施方式

[0026] 以下公开内容提供了许多用于实现本发明的不同特征不同的实施例或实例。下面描述了组件和布置的具体实施例或实例以简化本发明。当然这些仅是实例而不旨在限制。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。如本文使用的,在第二部件上形成第一部件是指形成与第二部件直接接触的第一部件。此外,本发明可以在各个示例中重复参考数字和/或字母。该重复是为了简单和清楚的目的,并且其本身不指示所讨论的各个实施例和/或配置之间的关系。
[0027] 此外,为了便于描述,本文中可以使用诸如“在…下方”、“在…下面”、“下部”、“在…上面”、“上部”等的空间关系术语,以描述如图中所示的一个元件或部件与另一元件或部件的关系。除了图中所示的方位外,空间关系术语旨在包括器件在使用或操作工艺中的不同方位。装置可以以其它方式定位(旋转90度或在其它方位),并且在本文中使用的空间关系描述符可以同样地作相应地解释。
[0028] 存储器器件用于在半导体器件和系统中存储信息。流行的动态随机存取存储器(DRAM)单元包括开关和电容器。当电源切断时,DRAM不保持数据。即使在切断电源之后,非易失性存储器器件也能够保持数据。非易失性存储器器件的示例包括闪存、磁随机存取存储器(MRAM)、电随机存取存储器(FRAM)和相变随机存取存储器(PRAM)。MRAM使用隧道结处的磁化方向的变化来存储数据。FRAM使用铁电的极化特性来存储数据。PRAM使用由特定材料的相变引起的电阻变化来存储数据。
[0029] 存储器通常以二维阵列布置。存储器阵列可以是其自身或者嵌入在另一个器件中的器件,并且还可以包括许多存储器位单元。每个存储器位单元通常可以存储一位信息。存储器宏可以包括位单元的一个或多个阵列和其他逻辑电路,诸如驱动器缓冲器、时钟扇出电路、ECC电路和其他外周电路。
[0030] 某些类型的存储器器件(诸如MRAM)具有两种或多种电阻状态,这取决于两层或多层磁性材料(诸如铁磁材料)之间的磁化对准状态。更具体地,MRAM将数据存储在存储器单元中,该存储器单元具有由薄绝缘膜分隔开的两个叠加的磁性材料层。分层结构形成MRAM单元的磁隧道结(“MTJ”或“MTJ元件”)。这两层包括在固定磁场对准方向上永久磁化的磁层(该层称为“固定层”)和可变磁化的磁层(该层称为“自由层”)。自由层可以相对于永久磁化层在两个取向中的一个取向上被磁化。这两个取向的特征在于通过MTJ的叠加层的明显不同的串联电阻。可变层的磁场取向可以与永久磁层的磁场取向相同(平行)或者与永久磁层的磁场取向相反(反平行)。平行对准状态具有相对较低的电阻,而反平行对准状态具有较高的电阻。
[0031] 可以从它们的相对较高或较低的电阻(RH和RL)来感测MRAM单元的两个状态,它们表示存储在存储器中的位的不同二进制逻辑值。例如,RL(或高单元电流)可以被指定为逻辑“1”(“数据-1”);RH(或低单元电流)可以被指定为逻辑“0”(“数据-0”)。在某些实施例中,可以将参考电压施加到MRAM单元,并且所得到的单元电流可以用于确定单元是处于低电阻状态还是高电阻状态。在某些实施例中,感测放大器可用于将单元电流与参考电流进行比较。
[0032] 数据错误(诸如不是永久性的或代表对器件的物理损坏的软错误)可能由干扰误差、辐射效应或热效应引起。这些错误可能是确定性的,也可能是随机过程。包括软错误的数据错误率可能需要使用内置在MRAM器件芯片中的错误校正码方案(ECC)。ECC可用于检测和校正存储在存储器中的位错误。ECC通过生成ECC校验位(例如,冗余位或奇偶校验位)对数据进行编码,ECC校验位与数据一起存储在存储器器件中。数据和奇偶校验位一起形成码字。例如,为64位数据生成8个奇偶校验位的ECC通常可以检测两位错误并校正64位数据中的一位错误,称为SECDED代码、单错误校正(SEC)和双错误检测(DED)。
[0033] 可能需要额外的存储空间来存储与ECC一起使用的校验位。因此,可能需要额外的一个或多个存储器器件(例如,附加一个或多个芯片)来存储用于提供ECC能的校验位。在一些存储器阵列中,可以向阵列添加附加列以存储校验位(也称为奇偶校验位)。包括在存储器阵列的一行中的数据可以称为字。码字指的是包括在附加列中添加的字加奇偶校验位的数据串。如果码字包括具有K位和M个奇偶校验位的字部分,则码字长度N将是N=K+M。例如,可以为每个32位数据字提供8位奇偶校验的ECC存储器可以包括40位宽的接口,以访问具有32位数据的40位码字。类似地,可以为每个64位数据字提供8位奇偶校验的ECC存储器可以包括72位宽的接口,以访问具有64位数据的72位码字。
[0034] 为每个存储器阵列或宏提供ECC电路增加了器件的面积要求。最小化ECC电路所需的面积要求的可选方案是提供在存储器阵列或宏之间共享的全局ECC电路。然而,与为每个存储器阵列或宏提供ECC电路相比,使用共享ECC电路用于存储器阵列或宏的方案增加了将数据移入或传输到存储器阵列和ECC电路的能量消耗。
[0035] 检测码字中的位错误需要比位错误校正更少的操作,并且因此需要较少的电路来支持较少的操作。根据所公开的实施例,ECC电路的第一部分被提供在每个存储器宏的局部,而第二部分被实现为由存储器器件的所有存储器宏访问的共享的全局ECC。例如,ECC电路的错误检测方面可以实现为每个MRAM宏的第一局部ECC或一小组宏。ECC的错误校正方面被实现为支持许多MRAM宏的第二或全局ECC。以这种方式,只有局部ECC检测到的存储器错误必须被发送到全局ECC以进行错误校正。
[0036] 与给每个存储器阵列或宏提供局部完整ECC相比,具有局部和全局ECC实现的诸如此类的分级ECC结构可以通过减少开销ECC电路的面积来有效地平衡与错误校正相关的器件的面积要求和功耗,并且与提供共享的全局完整ECC相比,减少全局数据通信能量。通过仅将检测到的存储器错误移动或传播到全局ECC电路进行校正来减少全局数据通信能量,并且通过仅为每个存储器阵列或宏提供检测ECC电路来最小化器件面积要求,同时通过共享全局ECC电路提供错误校正电路。
[0037] 图1是根据本发明的一些实施例的总体示出具有多个存储器阵列的示例存储器器件的框图,每个存储器阵列具有专用且简化的ECC电路。在图1所示的示例中,存储器器件可以是MRAM器件100,但是其他存储器类型也在本发明的范围内。MRAM器件100包括多个存储器阵列102a-n、耦合到相应存储器阵列102a-n的局部ECC电路140a-n、耦合到相应存储器阵列102a-n和ECC电路140a-n的局部I/O电路106a-n、耦合到局部I/O电路106a-n的每个的控制器108、全局ECC电路160和全局I/O电路110。在所示实施例中,存储器宏130a-n可以包括局部存储器阵列102a-n、局部ECC 140a-n和局部I/O 106a-n。
[0038] 根据一些实施例,如果刷新间隔被适当地设计,则存储器刷新中的大多数读取操作应该相对无差错。在这种情况下,可以实现ECC方案,其中可以在局部执行简单的错误检测功能,从而产生更短的局部刷新数据路径120并且在刷新期间减少延迟。然后可以在多个宏130a-n之间共享包括错误校正的ECC电路,并且较长的全局刷新数据路径122将用于这种相对罕见的事件。在这样的方案中,仅具有错误检测的局部ECC电路140a-n所需的区域将分别需要显著更少的区域。
[0039] 已经开发了许多方案来实现ECC,包括汉明码、三模冗余等。例如,汉明码是一类二进制线性码,根据所使用的奇偶校验位的数量,其他码可以检测每个码字最多两个位错误,或者在不检测未校正错误的情况下校正一个位错误。已经开发了几种方案,但是通常,如果奇偶校验位被排列在码字内,使得不同的不正确位产生不同的错误结果,则可以识别出错误的位。对于有错误的码字,错误模式称为错误校正子,并识别出错误的位。这种校正子解码是解码具有错误的线性块码的高效方法。
[0040] 如本文所述,局部ECC 140a-n和全局ECC 160可以使用ECC编码器解码器来利用ECC编码和解码。ECC编码器可以包括向信息添加冗余以检测或校正错误的任何技术或算法。例如,错误校正码可以包括非二进制块码(诸如Reed-Solomon[255,239]或[255,221]码)、线性块码(诸如汉明码和Bose-ChaudhuriHocquenghem(BCH)码)、循环汉明码、Hadamard代码(诸如Hadamard[16,5]代码)、Golay代码(诸如Golay[23,12]代码、扩展Golay[24,12]代码或循环Golay[24,12]代码)、最大值长度移位寄存器代码、Reed-Muller代码、备用代码、Gappa代码、二进制和非二进制卷积码、双K码、turbo码、turbo乘积码、LDPC码、由将一个码封闭在另一个里面构成的级联码等。通过添加更多奇偶校验位,可以根据需要调整错误校正码的强度。例如,代码的强度可以通过最小汉明距离来测量。ECC解码器可以耦合到ECC编码器并用于计算码字的校正子。
[0041] 在一些实施例中,并且特别地,ECC解码器可以包括在局部ECC 140a-n中,并且对预定义的奇偶校验矩阵和码字执行矩阵乘法。可以根据所采用的ECC的类型来确定预定义的奇偶校验矩阵。例如,预定义的奇偶校验矩阵可以是(7,4)汉明码的7×3奇偶校验矩阵H。因此,ECC解码器输出由3位组成的3元组向量。ECC解码器用于基于(7,4)汉明码的原理检查编码的码字是否是有效码字。当ECC解码器产生的3元组向量(即校正子)等于(0,0,0)时,编码的码字被确定为有效码字。在这种情况下,仅需要确定码字有效的操作,并且利用局部刷新数据路径120。当ECC解码器产生的3元组向量在操作中不等于(0,0,0)时,确定编码的码字具有至少一个错误。在这种情况下,需要包括错误校正的更完整的ECC,并且利用全局刷新数据路径122。
[0042] 图2是总体示出MRAM器件100的示例的其他方面的框图。在所示实施例中,局部存储器阵列102a包括布置成行和列的多个MRAM位单元,诸如MRAM位单元200。MRAM位单元200包括存取晶体管212和MTJ元件214。MTJ元件214具有取决于其自由层的取向的可变电阻,并且可操作地耦合在存取晶体管212和位线204之间。存取晶体管212可操作地耦合在位线206和MTJ元件214之间,并且具有耦合到字线202的栅极。在读取或写入操作期间,将大于存取晶体管212的阈值电压的电压施加到字线202,由此“导通”存取晶体管212并允许电流从位线206通过MTJ元件214流到位线204。电流由能够感测并比较位线中的电流的感测放大器(未示出)检测并输出对应于MTJ元件214中的自由层的状态的逻辑高“1”或低“0”,并最终输出存储在MRAM位单元200中的数据(“1”或“0”)。通过正确地定时对字线施加电压并感测相应位线上的电流来执行对局部存储器阵列102a中的多个位单元中的任何位单元的存取。局部存储器阵列102a中的位单元的数据可以例如经由位线204和206发送到局部ECC电路。局部存储器阵列102a中的位单元的数据例如经由位线204和206通过局部I/O电路106a发送至和从如图1所示的宏130a外部的电路接收。
[0043] 图3是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理300的框图。在所示实施例中,ECC逻辑处理300包括局部ECC逻辑340和全局ECC逻辑360。在一些实施例中,局部ECC逻辑340提供有存储器阵列或宏,并且全局ECC逻辑360在多个存储器阵列或宏之间共享。例如,参考图1,局部ECC逻辑340可以对应于在局部存储器宏130a中提供有局部存储器阵列102a的局部ECC电路140a,并且全局ECC逻辑可以对应于全局ECC电路160,它在多个存储器宏130a-n之间共享。
[0044] 局部ECC逻辑340包括校正子s1发生器342、校正子s3发生器344和错误检查电路346。存储器阵列102a-n中的MRAM位单元200存储用于错误检测和校正的数据和奇偶校验位。在所示的示例中,ECC逻辑处理300对从局部存储器阵列102a读取的码字进行操作,例如,从MRAM宏130a读取的N位长度读出数据。在一些实施例中,仅需要校正子s1和s3来确定读出数据是否具有错误,因此仅需要对读出数据进行部分解码。校正子s1和s3可以是单个数字元素,或者校正子s1和s3可以各自是多个数字元素的矢量,或者校正子s1和s3可以是多个数字元素的矩阵。校正子s1发生器342使用预定义的奇偶校验矩阵对读出数据执行矩阵乘法以得到校正子s1,并且类似地,校正子s3发生器344对预定义的奇偶校验矩阵执行矩阵乘法以得到校正子s3。错误检查电路346配置为评估校正子s1和s3并确定读出数据(例如,码字)是否包含至少一个错误。
[0045] 在由错误检查电路346确定读出数据包含至少一个错误的情况下,需要对全局ECC逻辑360进行读出数据的完全解码。全局ECC逻辑360包括x^3(x的立方)计算电路351、编码器(EN)计算电路352、校验位发生器353、XOR(异或)计算电路354、逆计算电路355、诸如伽罗瓦域(GF)的有限域多计算电路356和错误校正电路362。在一些实施例中,EN计算电路352对读出数据进行操作并输出单个位,该单个位编码是否需要在校正之后将码字写回到局部存储器阵列102a。例如,EN计算电路352可以是BCH循环错误校正码的编码器级。在一些实施例中,EN计算电路352添加奇偶校验位,使得全局ECC逻辑360除了校正之外还可以具有附加的错误检测,例如,单错误校正双错误检测(SECDED)、双错误校正三错误检测(DECTED)等。在图3所示的实施例中,在局部ECC逻辑340中计算校正子s1和s3,并且由全局ECC逻辑360发送和使用校正子s1和s3。特别地,x^3计算电路351对校正子s1进行操作以得到s1^3,XOR计算电路354对校正子s3进行操作并且从立方计算电路351得到s1^3以比较s3和s1^3并且根据XOR真实表输出向量。逆计算电路355对校正子s1进行操作并输出校正子s1的逆,并且GF多计算电路356对逆计算电路355和XOR计算电路354的输出进行操作。在一些实施例中,GF多计算电路356可以是BCH循环错误校正码的解码器级,包括错误检测和错误校正。在一些实施例中,GF多计算电路356通过每个数据位的伽罗瓦域中的乘法和累加对码字进行操作,其中数据位被视为多项式的系数。GF多计算电路356的输出与读出数据和校正子s1一起输入到错误校正电路362。错误校正电路362的输出是经过错误校正的码字。然后,校验位发生器353对校正后的字(例如,没有奇偶校验位的数据)进行操作,根据所选择的ECC类型或方案的预定奇偶校验矩阵对奇偶校验位进行编码,形成要写入局部存储器阵列102a的校正后的码字。
[0046] 图4是使用图3中所示的ECC逻辑处理300来校正MRAM错误的方法400的流程图。方法400开始于步骤402,其中从读出数据计算校正子s1和s3,作为存储器阵列的存储器刷新操作的一部分。例如,读出来自包括局部存储器阵列102a-n的多个宏130a-n之一的码字,并且通过使用局部ECC电路140a-n内的预定义的奇偶校验矩阵对读出数据执行矩阵乘法来计算校正子s1和s3,局部ECC电路140a-n与局部存储器阵列102a-n相关联,读出数据在刷新周期期间从该局部存储器阵列102a-n产生。在一些实施例中,可以使用如图3所示的局部ECC逻辑340内的s1校正子发生器342和s3校正子发生器344来执行校正子s1和s3的计算。在步骤404中,评估校正子s1和s3以确定码字是否具有至少一个错误,例如,使用局部ECC逻辑340内的错误检查346。如果没有错误,则方法400针对该码字结束,并且在步骤402开始用于局部存储器阵列102a-n的刷新周期中的下一个码字。如果存在至少一个错误,则方法400前进到步骤406,其中将读出数据和校正子s1和s3输入到与多个局部宏相关联的全局ECC电路
160(诸如全局ECC逻辑360),局部宏包括已确定产生的当前读出数据具有至少一个错误的局部宏。例如,通过使用EN计算电路352,从读出数据确定在校正之后是否需要将码字写回到局部存储器阵列102a-n。例如,EN计算电路352可以是BCH循环错误校正码的编码器级。在一些实施例中,EN计算电路352添加奇偶校验位,使得全局ECC逻辑360除了校正之外还可以具有附加的错误检测,例如,单错误校正双错误检测(SECDED)、双错误校正三错误检测(DECTED)等。在步骤408中,由全局ECC逻辑360内的x^3计算电路351计算s1^3。在步骤410中,诸如通过全局ECC逻辑360内的XOR计算电路354计算输入s1^3和s3的XOR,并且诸如通过全局ECC逻辑360内的逆计算电路355计算s1的逆。在步骤412中,例如,通过GF多计算电路
356计算GF multi,使用来自逆s1和XOR计算的输出。在一些实施例中,GF多计算电路356可以是BCH循环错误校正码的解码器级,包括错误检测和错误校正。在一些实施例中,GF多计算电路356通过每个数据位的伽罗瓦域中的乘法和累加对码字进行操作,其中数据位被视为多项式的系数。在步骤414中,使用读出数据和GF multi和校正子s1计算的输出,诸如通过全局ECC逻辑360内的错误校正电路362计算校正的码字。在步骤416中,例如,从校正后的码字中提取校正的字(校正的数据),并且校验位发生器(例如全局ECC逻辑360内的校验位发生器353)根据所选择的ECC类型或方案,使用预定义的奇偶校验矩阵,对具有奇偶校验位的校正的数据进行编码。然后将校正和编码的码字写回到局部宏130a-n。
[0047] 图5是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理500的框图。在ECC逻辑处理500中,与图3的ECC逻辑处理300相比,校验位发生器353不再包括在全局ECC逻辑360中,而是包括在局部ECC逻辑340中。与ECC逻辑处理300的这种差异将编码奇偶校验位的操作卸载到校正的数据中并将得到的校正的码字写入到局部存储器阵列102a到与局部存储器阵列102a相关联的局部ECC逻辑340,使得全局ECC逻辑360不再负责编码奇偶校验位以及将校正的码字写回共享全局ECC逻辑360的多个宏的局部存储器阵列102a-n。
[0048] 图6是用于使用ECC逻辑处理500来校正MRAM错误的方法600的流程图。方法600类似于上面的方法400,不同之处在于,在步骤616中,在局部ECC而不是全局ECC内执行步骤416中包括的相同操作,将该工作卸载到局部ECC逻辑电路,如上面结合图5所述。具体地,步骤616包括从校正的码字提取校正的字,例如,校正的数据,并根据所选择的ECC类型或方案使用预定义的奇偶校验矩阵对具有奇偶校验位的校正数据进行编码,以及将校正和编码的码字写回到与局部ECC逻辑电路相关联的局部宏。
[0049] 图7是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理700的框图。ECC逻辑处理700类似于上面的ECC逻辑处理500,包括两个差异。第一个区别在于校正子s1发生器342和校正子s3发生器344在全局ECC逻辑360内被复制。在全局ECC逻辑360内复制校正子s1发生器342和校正子s3发生器344可以减少在整个分层ECC方案内所需的连接数量,并且也可以简化布局结构。例如,ECC逻辑处理300和500要求每个局部ECC电路140a-n和局部I/O电路106a-n支持读出数据和校验子s1和s3的传输,并且要求全局ECC电路160支持接收校正子s1和s3以及读出数据。相反,ECC逻辑处理700仅需要局部ECC电路140a-n和局部I/O电路来支持读出数据的传输,并且仅需要全局ECC电路160来支持接收读出数据。这样,在一些实施例中,可以使用ECC逻辑处理700来消除在局部I/O电路106a-n和全局ECC电路160之间传输校验子s1和s3所需的连接,这可以简化MRAM器件100的布局结构。
[0050] 第二个区别在于错误检测电路357包括在全局ECC逻辑360内。类似于错误检查电路346,错误检测电路357被配置为确定读出数据(例如码字)是否包含至少一个错误,但是在全局ECC逻辑360内这样做。错误检测电路357接收EN计算电路351的输出、s1、s3和s1^3作为输入,并输出读出数据是否包含至少一个错误。错误检测电路357可以输出读出数据中是否存在至少一个错误,或者读出数据中是否存在至少两个错误,并且可以输出读出数据中是否存在至少三个或多个错误。
[0051] 图8是使用ECC逻辑处理700校正MRAM错误的方法800的流程图。方法800类似于上面的方法600,具有两个不同之处。第一,步骤406被步骤806代替,其中在全局ECC电路160(例如全局ECC逻辑360)内计算s1和s3,而不是从方法400和600的步骤406中包括的相同操作输入。第二,在步骤408和410之间的步骤809中,在全局ECC电路160(例如,错误检测电路357)内计算读出数据中是否存在错误以及错误的数量。
[0052] 图9是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理900的框图。ECC逻辑处理900类似于上面的ECC逻辑处理700,具有四个差异。第一,在全局ECC逻辑360内不再复制校正子s1发生器342和校正子s3发生器。第二,立方计算电路351、EN计算电路352和错误检测电路357包括在局部ECC逻辑340中,而不再包括在全局ECC逻辑360中。局部ECC逻辑340中包括立方计算电路351、EN计算电路352和错误检测电路357,增加了局部ECC逻辑
340的计算效用和功率。对于经历相对较高的数据错误率的MRAM器件100,移动数据的能量消耗负担和由于对共享全局ECC电路160的卸载错误检测和校正操作导致的数据延迟都可以超过去除执行局部存储器宏130a-n中的那些操作的电路的面积节省优点。在这种情况下,通过增加局部执行的操作,通过调整与错误检查相关联的区域、能量消耗和数据延迟之间的平衡,可以提高MRAM器件100的效率。例如,通过包括EN计算和校正子s1立方计算,ECC逻辑处理900的局部ECC逻辑340还可以包括错误检测,例如,通过错误检测电路357,并且因此可以更精确地检测错误的数量,包括检测码字中是否存在错误以及码字和字内的错误的数量。
[0053] 第三个区别在于省略了错误检查电路351。第四个区别在于校验位发生器353再次包括在全局ECC逻辑360中而不是局部ECC逻辑340中,类似于ECC逻辑处理300。
[0054] 图10是使用ECC逻辑处理900校正MRAM错误的方法1000的流程图。方法1000类似于上面的方法800,具有四个差异。第一,在步骤402之后包括步骤1003,其中s1^3和EN分别由局部ECC逻辑340内的x^3计算电路351和EN计算电路352计算。第二,步骤404被替换为步骤1004,其中读出数据中是否存在错误和读出数据中的错误的数量由局部ECC逻辑340内的错误检测电路357计算,并且基于s1、s3、s1^3和EN计算。如果没有错误,则方法1000针对该码字结束,并且在方法1000的步骤402处开始针对局部存储器阵列102a的刷新周期中的下一个码字。第三,如果存在至少一个错误,则方法1000前进到步骤1006,其中将读出数据、校正子s1和s3、s1^3以及检测到的错误的数量输入到全局ECC逻辑360中。第四,方法1000用方法
400的步骤416替换方法800的步骤616,即,在方法1000的步骤416,从校正的码字中提取校正的字,例如,校正的数据,并且全局ECC逻辑360内的校验位发生器353根据所选择的ECC类型或方案,使用预定义的奇偶校验矩阵,对具有奇偶校验位的校正的数据进行编码,并且将校正和编码的码字写回到局部宏130a-n。
[0055] 图11是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理1100的框图。ECC逻辑处理1100类似于上面的ECC逻辑处理900,不同之处在于校验位发生器353不再包括在全局ECC逻辑360中,而是包括在局部ECC逻辑340中。如上结合图5的ECC逻辑处理500所述,该差异将编码奇偶校验位的操作卸载到校正的数据中,并将得到的校正的码字写入局部存储器阵列102a到与局部存储器阵列102a相关联的局部ECC逻辑360,使得全局ECC逻辑不再负责编码奇偶校验和为共享全局ECC逻辑360的多个存储器宏130a-n写入校正的码字。
[0056] 图12是使用ECC逻辑处理1100校正MRAM错误的方法1200的流程图。方法1200类似于上面的方法1000,不同之处在于步骤416被步骤616替换,使得从校正的码字提取校正的字,例如校正的数据,并根据所选择的ECC类型或方案使用预定义的奇偶校验矩阵对具有奇偶校验位的校正数据进行编码,并在局部ECC逻辑340内执行将校正和编码的码字写回到与局部ECC逻辑340相关联的局部存储器阵列102,例如使用方法600和800,而不是在全局ECC逻辑360内。
[0057] 图13是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理1300的框图。ECC逻辑处理1300类似于上面的ECC逻辑处理1100,不同之处在于,校正子s1发生器342、校正子s3发生器344和立方计算电路351在全局ECC逻辑360内被复制。如上结合图7所述,在全局ECC逻辑360内复制校正子s1发生器342、校正子s3发生器344和立方计算电路351可以减少整个分级ECC方案内所需的连接数量,并且还可以简化布局结构。
[0058] 图14是使用ECC逻辑处理1300校正MRAM错误的方法1400的流程图。方法1400类似于上面的方法1200,不同之处在于步骤1406替换步骤1006。换句话说,在局部ECC逻辑340内计算的那些量的复制的全局ECC逻辑360内计算校正子s1和s3以及s1^3。这代替从局部ECC逻辑340将这些量输入到全局ECC逻辑360中,如在方法1200的步骤1006中所做的那样。这样,方法1400的步骤1406包括将读出数据和从步骤1004检测到的错误数量输入到全局ECC逻辑360中,以及在全局ECC逻辑360内复制s1、s3和s1^3的计算。这类似于与图7的ECC处理700相关联的图8中所示的方法800中发生的复制。
[0059] 图15是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理1500的框图。ECC逻辑处理1500类似于上面的ECC逻辑处理900,不同之处在于XOR电路354、逆计算电路355和GF多计算电路356包括在局部ECC逻辑340中并且不再包括在内在全局ECC逻辑360中,在局部ECC逻辑340中包括XOR电路354、逆计算电路355和GF多计算电路356,增加了局部ECC逻辑的计算效用和功率。如上面结合ECC处理900和图9所述,通过随着数据错误率增加而增加局部执行的操作,通过调整与错误检查相关的区域、能量消耗和数据延迟之间的平衡,可以提高MRAM器件100的效率,例如通过在局部ECC电路140a-n内局部实现更多错误检查电路来折衷区域,以减少与将数据移动到共享全局ECC电路160相关联的数据延迟和能量消耗。例如,在ECC逻辑处理1500中,局部ECC逻辑340除了错误校正和编码以及将错误校正的数据写回到局部宏之外,在局部执行所有ECC操作。
[0060] 图16是使用ECC逻辑处理1500校正MRAM错误的方法1600的流程图。方法1600类似于上面的方法1000,具有五个不同。第一,方法1600用步骤1604替换方法1000的步骤1004。方法1600的步骤1604执行与方法1000的步骤1004相同的操作,即,基于s1、s3、s1^3和EN的计算,在局部ECC逻辑340内计算读出数据中是否存在错误以及错误的数量。唯一的区别在于,如果读出数据中确实存在错误,则步骤1604进行到方法1600的步骤1610,而不是步骤
1006。这是因为ECC逻辑处理1500中的局部ECC逻辑340内包括的附加电路。第二,步骤1006不在方法1600中执行,而是作为与方法1000的第三差异,步骤1610从方法1600中的步骤
1604进行。在步骤1610中,诸如通过XOR计算电路354,计算s1^3与s3的XOR,诸如通过局部ECC逻辑340内的逆计算电路355,计算逆s1。第四,在步骤1612中,在局部ECC逻辑340内计算GF multi,第五,在步骤1613中,将读出数据、检测到的错误数量、s1和GF多计算结果输入全局ECC逻辑360,并用于在方法1600的步骤414中计算校正的码字。
[0061] 图17是根据实施例的总体示出用于MRAM错误校正的示例ECC逻辑处理1700的框图。ECC逻辑处理1700类似于上面的ECC逻辑处理1500,不同之处在于校验位发生器353不再包括在全局ECC逻辑360中,而是包括在局部ECC逻辑340中。如上结合图5和图11所述,ECC逻辑处理1700的这种差异将编码奇偶校验位的操作卸载到校正数据中,并将得到的校正的码字写入局部存储器阵列102a到与局部存储器阵列102a相关联的局部ECC逻辑340,使得全局ECC逻辑360不再负责编码奇偶校验和为共享全局ECC逻辑360的多个存储器宏130a-n写入校正的码字。
[0062] 图18是使用ECC逻辑处理1700校正MRAM错误的方法1800的流程图。方法1800类似于上面的方法1600,不同之处在于步骤416被步骤616替换,使得从校正的码字提取校正的字,例如校正的数据,并根据所选择的ECC类型或方案使用预定义的奇偶校验矩阵对具有奇偶校验位的校正数据进行编码,并将校正和编码的码字写回到与局部ECC逻辑340相关联的局部存储器宏130,在局部ECC逻辑340内执行局部ECC逻辑340,诸如使用方法600、800、1200和1400,而不是在全局ECC逻辑360内。
[0063] 图19是根据一些实施例的使用分级ECC逻辑处理来校正MRAM错误的方法1900的流程图。方法1900开始于步骤1902,其中提供包括至少存储器单元阵列和局部ECC逻辑电路的多个存储器宏(例如,MRAM存储器宏130a-n)的每个。在一些实施例中,多个存储器宏包括局部存储器阵列102a-n,每个局部存储器阵列102a-n分别包括局部ECC逻辑140a-n。在步骤1904中,提供远离多个MRAM宏并耦合到多个MRAM宏中的每个的全局ECC逻辑电路。在一些实施例中,全局ECC逻辑电路包括全局ECC逻辑160。在步骤1906中,检查来自局部MRAM宏的数据,例如,作为刷新周期的一部分,其中在刷新周期中检查局部MRAM存储器的部分,例如,在局部ECC逻辑电路中检查读出数据或码字的错误。如果在特定码字中没有发现错误,则检查宏中的下一个码字,作为刷新周期的一部分。方法1900然后进行到步骤1908,其中,如果在局部宏的存储器阵列中发现至少一个错误,则检查并发现具有至少一个错误的数据(例如,具有至少一个错误的码字)与局部ECC逻辑电路内的计算电路的输出一起被发送到全局ECC逻辑。在步骤1910中,在全局ECC逻辑电路内校正具有至少一个错误的数据,并且在步骤
1912中,将校正的数据写回到局部宏存储器阵列。
[0064] 因此,所公开的示例为存储器器件提供错误检测和校正,更具体地,对于需要定期刷新的诸如MRAM的短保持存储器器件。通过使用分级ECC方法,其中一些ECC功能在局部提供给存储器宏,并且全局提供其他ECC功能,可以以足够低的错误率实现宏区域减小以及MRAM器件的功率降低。某些公开的实施例包括存储器器件,诸如MRAM存储器器件,具有多个存储器宏,每个存储器宏包括存储器单元的阵列和第一ECC电路。第一ECC电路配置为检测相应存储器宏中的数据错误。第二ECC电路远离多个存储器宏,并且通信地耦合到多个存储器宏中的每个。第二ECC电路配置为从多个存储器宏的第一ECC电路接收检测到的数据错误并且校正数据错误。
[0065] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏。
[0066] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏,其中,所述磁随机存取存储器宏的每个还包括:磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:磁隧道结元件;存取晶体管,耦合到所述磁隧道结元件;第一位线,耦合到所述存取晶体管;第二位线,耦合到所述磁隧道结元件;字线,耦合到所述存取晶体管的栅极;以及局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线。
[0067] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏,其中,所述磁随机存取存储器宏的每个还包括:磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:磁隧道结元件;存取晶体管,耦合到所述磁隧道结元件;第一位线,耦合到所述存取晶体管;第二位线,耦合到所述磁隧道结元件;字线,耦合到所述存取晶体管的栅极;以及局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线,其中,所述第一错误校正码电路包括:第一校正子s1发生器,耦合到所述第一位线和所述第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;错误检查电路,耦合到所述第一校正子s1发生器和所述第二校正子s3发生器中的每个的输出。
[0068] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏,其中,所述磁随机存取存储器宏的每个还包括:磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:磁隧道结元件;存取晶体管,耦合到所述磁隧道结元件;第一位线,耦合到所述存取晶体管;第二位线,耦合到所述磁隧道结元件;字线,耦合到所述存取晶体管的栅极;以及局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线,其中,所述第一错误校正码电路包括:第一校正子s1发生器,耦合到所述第一位线和所述第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;错误检查电路,耦合到所述第一校正子s1发生器和所述第二校正子s3发生器中的每个的输出,其中,所述第二错误校正码电路包括:编码器计算电路,耦合到所述局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出;错误校正电路,耦合到所述局部输入输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;以及校验位发生器电路,用于校正具有错误的所述磁随机存取存储器位单元。
[0069] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏,其中,所述磁随机存取存储器宏的每个还包括:磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:磁隧道结元件;存取晶体管,耦合到所述磁隧道结元件;第一位线,耦合到所述存取晶体管;第二位线,耦合到所述磁隧道结元件;字线,耦合到所述存取晶体管的栅极;以及局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线,其中所述第一错误校正码电路包括:第一校正子s1发生器,耦合到所述第一位线和所述第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;编码器计算电路,耦合到所述局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3发生器、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出。
[0070] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏,其中,所述磁随机存取存储器宏的每个还包括:磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:磁隧道结元件;存取晶体管,耦合到所述磁隧道结元件;第一位线,耦合到所述存取晶体管;第二位线,耦合到所述磁隧道结元件;字线,耦合到所述存取晶体管的栅极;以及局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线,其中所述第一错误校正码电路包括:第一校正子s1发生器,耦合到所述第一位线和所述第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;编码器计算电路,耦合到所述局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3发生器、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出,其中,所述第二错误校正码电路包括:所述校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出;错误校正电路,耦合到所述局部输入-输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;以及校验位发生器电路,用于校正具有错误的所述磁随机存取存储器位单元。
[0071] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏,其中,所述磁随机存取存储器宏的每个还包括:磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:磁隧道结元件;存取晶体管,耦合到所述磁隧道结元件;第一位线,耦合到所述存取晶体管;第二位线,耦合到所述磁隧道结元件;字线,耦合到所述存取晶体管的栅极;以及局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线,其中,所述第一错误校正码电路包括:第一校正子s1发生器,耦合到所述第一位线和所述第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;编码器计算电路,耦合到所述局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3发生器、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出;校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;以及伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出。
[0072] 在上述存储器器件中,其中,每个存储器宏包括磁随机存取存储器(MRAM)宏,其中,所述磁随机存取存储器宏的每个还包括:磁随机存取存储器位单元的阵列,每个所述磁随机存取存储器位单元包括:磁隧道结元件;存取晶体管,耦合到所述磁隧道结元件;第一位线,耦合到所述存取晶体管;第二位线,耦合到所述磁隧道结元件;字线,耦合到所述存取晶体管的栅极;以及局部输入输出电路,耦合到所述磁随机存取存储器位单元的所述第一位线和所述第二位线,其中,所述第一错误校正码电路包括:第一校正子s1发生器,耦合到所述第一位线和所述第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;编码器计算电路,耦合到所述局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3发生器、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出;校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;以及伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出,其中,所述第二错误校正码电路包括:错误校正电路,耦合到所述局部输入输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;以及校验位发生器电路,用于校正具有错误的所述磁随机存取存储器位单元。
[0073] 根据其他方面,ECC系统包括多个第一ECC电路。多个第一ECC电路中的每个配置为通信地耦合到相应的存储器阵列,并且配置为检测相应的存储器阵列中的数据错误。第二ECC电路通信地耦合到多个第一ECC电路中的每个,并且配置为从多个第一ECC电路接收检测到的数据错误并且校正数据错误。
[0074] 在上述ECC系统中,所述多个第一错误校正码电路中的每个包括:第一校正子s1发生器,耦合到第一位线和第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;和错误检查电路,耦合到所述第一校正子s1发生器和所述第二校正子s3发生器中的每个的输出;并且所述第二错误校正码电路包括:编码器计算电路,耦合到局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出;错误校正电路,耦合到所述局部输入输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;以及校验位发生器电路,用于校正具有错误的存储器单元。
[0075] 在上述ECC系统中,所述多个第一错误校正码电路中的每个包括:第一校正子s1发生器,耦合到第一位线和第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;编码器计算电路,耦合到局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;和错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出;所述第二错误校正码电路包括:校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;伽罗瓦域多重计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出;错误校正电路,耦合到所述局部输入输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;和校验位发生器电路,用于校正具有错误的存储器单元。
[0076] 在上述ECC系统中,所述多个第一错误校正码电路中的每个包括:第一校正子s1发生器,耦合到第一位线和第二位线;第二校正子s3发生器,耦合到所述第一位线和所述第二位线;编码器计算电路,耦合到局部输入输出电路;校正子s1^3计算电路,耦合到所述第一校正子s1发生器的输出;错误检查电路,耦合到所述第一校正子s1发生器、所述第二校正子s3、所述编码器计算电路和所述校正子s1^3计算电路中的每个的输出;校正子s1逆电路,耦合到所述第一校正子s1发生器的输出;校正子比较器,耦合到所述校正子s1^3发生器的输出和所述第二校正子s3发生器的输出;和伽罗瓦域多计算电路,耦合到所述校正子比较器的输出和所述校正子s1逆电路的输出;所述第二错误校正码电路包括:错误校正电路,耦合到所述局部输入输出电路、所述校正子s1发生器和所述伽罗瓦域多计算电路;以及校验位发生器电路,用于校正具有错误的存储器单元。
[0077] 根据又一些方面,一种方法包括提供多个存储器宏,每个存储器宏包括存储器单元的阵列和第一ECC电路。该方法还包括提供远离多个存储器宏并且通信地耦合到多个存储器宏中的每个的第二ECC电路,并且刷新存储器阵列包括利用第一ECC电路检查存储器阵列中的数据错误。如果第一ECC电路识别到数据错误,则该方法还包括将检测到的数据错误发送到第二ECC电路,通过第二ECC电路校正数据错误,以及将校正的数据写入存储器阵列。
[0078] 在上述方法中,其中利用所述第一错误校正码电路检查所述存储器阵列中的数据错误包括:基于从所述存储器阵列接收的数据生成校正子s1;基于从所述存储器阵列接收的数据生成校正子s3;基于所述校正子s1和所述校正子s3的错误检查。
[0079] 在上述方法中,其中利用所述第一错误校正码电路检查所述存储器阵列中的数据错误包括:基于从所述存储器阵列接收的数据生成校正子s1;基于从所述存储器阵列接收的数据生成校正子s3;基于所述校正子s1和所述校正子s3的错误检查,其中,用所述第二错误校正码电路校正所述数据错误包括:基于从所述存储器阵列接收的数据生成编码器;基于所述校正子s1生成校正子s1^3;基于所述校正子s1生成校正子s1逆;比较所述校正子s1^3和所述校正子s3;基于所述校正子s1逆以及所述校正子s1^3与所述校正子s3的比较生成伽罗瓦域多计算;基于所述编码器、所述校正子s1和所述伽罗瓦域多计算生成校验位错误校正;以及将所述校验位错误校正写入所述存储器阵列以校正错误。
[0080] 在上述方法中,其中,利用所述第一错误校正码电路检查所述存储器阵列中的所述数据错误包括:基于从所述存储器阵列接收的数据生成校正子s1;基于从所述存储器阵列接收的数据生成校正子s3;基于从所述存储器阵列接收的数据生成编码器;基于所述校正子s1生成校正子s^3;以及基于所述校正子s1、所述校正子s3、所述编码器和所述校正子s1^3的错误检查。
[0081] 在上述方法中,其中,利用所述第一错误校正码电路检查所述存储器阵列中的所述数据错误包括:基于从所述存储器阵列接收的数据生成校正子s1;基于从所述存储器阵列接收的数据生成校正子s3;基于从所述存储器阵列接收的数据生成编码器;基于所述校正子s1生成校正子s^3;以及基于所述校正子s1、所述校正子s3、所述编码器和所述校正子s1^3的错误检查,其中,利用所述第二错误校正码电路校正所述数据错误包括:基于所述校正子s1生成校正子s1逆;比较所述校正子s1^3和所述校正子s3;基于所述校正子s1逆以及所述校正子s1^3与所述校正子s3的比较生成伽罗瓦域多计算;基于所述编码器、所述校正子s1和所述伽罗瓦域多计算生成校验位错误校正;以及将所述校验位错误校正写入所述存储器阵列以校正错误。
[0082] 在上述方法中,其中,利用所述第一错误校正码电路检查所述存储器阵列中的所述数据错误包括:基于从所述存储器阵列接收的数据生成校正子s1;基于从所述存储器阵列接收的数据生成校正子s3;基于从所述存储器阵列接收的数据生成编码器;基于所述校正子s1生成校正子s1^3;基于所述校正子s1、所述校正子s3、所述编码器和所述校正子s1^3的错误检查;基于所述校正子s1生成校正子s1逆;比较所述校正子s1^3和所述校正子s3;以及基于所述校正子s1逆以及所述校正子s1^3与所述校正子s3的比较生成伽罗瓦域多计算。
[0083] 在上述方法中,其中,利用所述第一错误校正码电路检查所述存储器阵列中的所述数据错误包括:基于从所述存储器阵列接收的数据生成校正子s1;基于从所述存储器阵列接收的数据生成校正子s3;基于从所述存储器阵列接收的数据生成编码器;基于所述校正子s1生成校正子s1^3;基于所述校正子s1、所述校正子s3、所述编码器和所述校正子s1^3的错误检查;基于所述校正子s1生成校正子s1逆;比较所述校正子s1^3和所述校正子s3;以及基于所述校正子s1逆以及所述校正子s1^3与所述校正子s3的比较生成伽罗瓦域多计算,其中,用所述第二错误校正码电路校正所述数据错误包括:基于所述编码器、所述校正子s1和所述伽罗瓦域多计算生成校验位错误校正;以及将所述校验位错误校正写入所述存储器阵列以校正错误。
[0084] 上面概述了若干实施例的特征,使得本领域人员可以更好地理解本发明的方面。本领域人员应该理解,它们可以容易地使用本发明作为基底来设计或修改用于实施与本文所介绍实施例相同的目的和/或实现相同优势的其它工艺和结构。本领域技术人员也应该意识到,这种等同构造并且不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,本文中它们可以做出多种变化、替换以及改变。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈