CN107408412B - 存储器装置及存储器系统 - Google Patents

存储器装置及存储器系统 Download PDF

Info

Publication number
CN107408412B
CN107408412B CN201580077306.XA CN201580077306A CN107408412B CN 107408412 B CN107408412 B CN 107408412B CN 201580077306 A CN201580077306 A CN 201580077306A CN 107408412 B CN107408412 B CN 107408412B
Authority
CN
China
Prior art keywords
data
bits
memory
syndrome
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580077306.XA
Other languages
English (en)
Other versions
CN107408412A (zh
Inventor
穂谷克彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Memory Corp filed Critical Toshiba Memory Corp
Publication of CN107408412A publication Critical patent/CN107408412A/zh
Application granted granted Critical
Publication of CN107408412B publication Critical patent/CN107408412B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1677Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

一个实施例的存储器装置包含:存储器元件,其存储数据及奇偶校验码;第一解码器,当在不对所述存储器装置进行外部存取的同时执行所述数据的清理时,所述第一解码器使用从所述数据及所述奇偶校验码产生的校正子来校正所述数据的单位中最大N个位的错误;及第二解码器,当执行所述数据的读取时,所述第二解码器使用所述校正子来校正所述数据的单位中最大M个位的错误。所述M个位表示小于所述N个位的数目个位。

Description

存储器装置及存储器系统
相关申请案的交叉参考
本申请案基于并主张2015年3月10日申请的第62/131,113号美国临时申请案的权益,所述临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明实施例涉及一种存储器装置及一种存储器系统。
背景技术
使用磁阻元件的存储器装置称为磁性存储器装置,所述磁性存储器装置包含于存储器系统中。
附图说明
图1图解说明根据第一实施例的存储器系统的功能块的实例;
图2示意性地图解说明根据第一实施例的包含于磁性存储器装置中的错误校正电路的结构的实例;
图3图解说明根据第一实施例的磁性存储器装置的状态如何改变;
图4图解说明根据第一实施例的存储器系统的读取操作的流程;
图5图解说明根据第一实施例的存储器系统的读取操作的另一实例的流程;
图6图解说明根据第一实施例的存储器系统的清理操作的流程;
图7示意性地图解说明根据第二实施例的包含于存储器控制器中的错误校正电路的结构的实例;
图8图解说明根据第二实施例的存储器系统的读取操作的流程;
图9图解说明根据第二实施例的存储器系统的清理操作的流程;
图10图解说明根据第二实施例的存储器系统中的命令序列的实例;
图11示意性地图解说明根据第三实施例的包含于存储器系统中的错误校正电路的结构的实例;
图12图解说明根据第三实施例的存储器系统的清理操作的流程;且
图13图解说明根据第三实施例的存储器系统中的命令序列的实例。
具体实施方式
磁性存储器装置包含多个存储器单元。每一存储器单元包含(举例来说)磁阻元件。所述磁阻元件可通过采取两个电阻状态中的任一者来存储数据。
然而,磁阻元件可能改变其电阻状态以无意地翻转所存储数据。
根据以下所描述实施例,经翻转数据被检测为错误,且所述数据在其中用户未存取磁性存储器装置的时间期间(即,其中存储器控制器未经由主机装置从用户接收指令并且未执行数据检查或未执行重新写入,换句话说,在磁性存储器装置的闲置时间中)被写回。此操作称为“清理”。根据以下实施例,可执行清理以改善存储器装置的可靠性,同时维持存储器装置的高速执行。具体来说,一个实施例的存储器装置包含:存储器元件,其存储数据及奇偶校验码;第一解码器,当在不对所述存储器装置进行外部存取的同时执行所述数据的清理时,所述第一解码器使用从所述数据及所述奇偶校验码产生的校正子来校正所述数据的单位中最大N个位的错误;及第二解码器,当执行所述数据的读取时,所述第二解码器使用所述校正子来校正所述数据的单位中最大M个位的错误。所述M个位表示小于所述N个位的数目个位。
下文将通过参考附图描述实施例。在图式中,类似组件将由相同参考符号指示。每一功能块未必需要如在以下实例中一样区分。举例来说,所述功能中的一些功能可由不同于下文所图解说明的那些功能块的功能块实施。此外,所图解说明功能块可划分为功能子块。
<第一实施例>
将描述根据本实施例的存储器装置及存储器系统。根据本实施例的存储器装置是磁性存储器装置,例如自旋转移扭矩(STT)型磁阻式随机存取存储器(MRAM)。在MRAM中,磁性隧穿结(MTJ)元件(其为磁阻元件)被用作存储器元件。
(1)存储器系统结构的实例
首先,通过参考图1,将描述根据本实施例的存储器系统的结构的实例。图1图解说明根据本实施例的存储器系统的示范性功能框图。
如图1中所图解说明,存储器系统10包含作为磁性存储器装置的STT型MRAM 1、存储器控制器2及主机装置3。
主机装置3给存储器控制器2下达操作指令,例如在MRAM 1中进行写入及读取操作。主机装置3通过连接线4可通信地连接到存储器控制器2。连接线4包含例如电源线、数据总线、命令线等等。
存储器控制器2根据来自主机装置3的指令将各种命令发射到MRAM 1,且指令MRAM1进行例如数据写入及读取操作等操作。存储器控制器2发射数据将被写入到其中地址及数据将从其被读取到MRAM 1的地址,且在MRAM 1的存储器区当中指定经受例如写入或读取等操作的区。
另外,存储器控制器2独立于来自主机装置3的指令将清理命令自主地发射到MRAM1,且给MRAM 1下达数据清理操作的指令。清理操作包含保持于存储器单元MC中的数据的检查及重新写入。可视需要执行数据的重新写入。
存储器控制器2包含控制器215、输入与输出控制器216及数据输入与输出单元CTR_DQ等等。控制器215控制存储器控制器2的整个操作,包含数据输入与输出单元CTR_DQ以及输入与输出控制器216的操作。数据输入与输出单元CTR_DQ经由连接线4连接到主机装置3且控制到主机装置3的数据的发射及从主机装置3的数据的接收。输入与输出控制器216包含数据输入与输出单元DQ_CTR且经由连接线5可通信地连接到MRAM 1。连接线5包含例如电源线、数据总线、命令线等等。
存储器控制器2的上述功能可通过例如中央处理单元(CPU)等处理器及例如只读存储器(ROM)及随机存取存储器(RAM)等硬件实施。举例来说,保持于ROM中的程序可在RAM上读取且RAM中的程序可由CPU执行以执行存储器控制器2的操作。
MRAM 1包含存储器单元阵列11、行解码器12、列控制器13、错误校正码(ECC)电路14、控制器15及输入与输出控制器16。MRAM 1根据来自存储器控制器2的各种类型的命令执行例如写入、读取及清理等操作。
存储器单元阵列11包含多个存储器单元MC。存储器单元MC连接到多个位线BL及与位线BL配对的对应位线/BL以及多个字线WL。
存储器单元MC包含MTJ元件及单元晶体管。MTJ元件可使用磁阻效应来保持数据。单元晶体管与MTJ元件串联连接且控制到MTJ元件的电流的供应及停止。
更具体来说,MTJ元件包含两个磁性层及介于两个磁性层之间的非磁性层。在第一磁性层中,磁化的定向或磁各向异性是不可变的。在第二磁性层中,磁化的定向或磁各向异性是可变的。当写入电流从第一磁性层流向第二磁性层时,两个磁性层的磁化的定向变得彼此平行。当两个磁性层的磁化定向是平行时,MTJ元件呈现最小电阻值。当写入电流从第二磁性层流向第一磁性层时,两个磁性层的磁化的定向变得彼此反平行。当两个磁性层的磁化定向是彼此反平行时,MTJ元件呈现最大电阻值。将表示两个不同电阻值的这两个状态指派给二进制数据。
行解码器12连接到字线WL。行解码器12根据行地址来选择字线WL中的一者。
列控制器13连接到位线对BL、/BL。列控制器13包含列解码器、列选择器、读出放大器、写入驱动器等等。列控制器13根据列地址来选择位线对BL、/BL当中的一对,且将数据写入到经选择存储器单元MC或从所述经选择存储器单元MC读出数据。
错误校正电路14处理来自存储器控制器2的写入数据且将所述写入数据传送到列控制器13。错误校正电路14校正从列控制器13接收的数据的错误。稍后将详细地描述错误校正电路14。
输入与输出控制器16控制MRAM 1与存储器控制器2之间的信号发射。输入与输出控制器16将来自存储器控制器2的命令及地址供应到控制器15。输入与输出控制器16也包含数据输入与输出单元DQ。数据输入与输出单元DQ受输入与输出控制器16控制以从存储器控制器2接收写入数据且将所述写入数据发射到错误校正电路14。此外,数据输入与输出单元DQ受输入与输出控制器16控制以将来自错误校正电路14的数据作为读取数据发射到存储器控制器2。
控制器15包含读取与写入控制器31、清理控制器32、寄存器33、命令解码器、锁存器、缓冲器、电压产生器等等。控制器15根据来自存储器控制器2的命令及地址来控制MRAM1的组件。
读取与写入控制器31控制从存储器单元阵列11读取数据及将数据写入到存储器单元阵列11。读取与写入控制器31根据命令及地址来控制行解码器12及列控制器13。因此,从由地址规定的一或多个存储器单元MC读取数据或将数据写入到所述一或多个存储器单元MC。
清理控制器32控制清理操作。在从存储器控制器2接收到清理命令后,清理控制器32即刻执行由存储器单元MC保持的数据的清理。对存储器单元MC的清理操作一次执行的程度称为清理执行单位且所述程度是提前确定的。清理执行单位可基于例如一起读取的存储器单元MC的数目来确定。或者,清理执行单位可基于存储器单元阵列11中的存储器单元MC的位置来确定。
清理控制器32可包含(举例来说)计数器CN。清理控制器32使用计数器CN来针对每一清理执行单位管理存储器单元MC的地址。计数器CN保持已是清理操作的最后目标的存储器单元MC的地址。每当MRAM 1接收清理命令且清理操作执行时,清理控制器32均使由计数器CN拥有的地址递增。
寄存器33保持关于清理操作的数据,例如保持错误数据的存储器单元MC的地址。
(2)错误校正电路结构的实例
现在将通过参考图2详细地描述错误校正电路14。图2示意性地图解说明根据本实施例的包含于磁性存储器装置中的错误校正电路的结构的实例。
如图2中所图解说明,错误校正电路14包含ECC编码器141,ECC解码器142M、142N,校正子产生器143及确定器144。
错误校正电路14通过ECC编码器141处理写入数据(1及0位的串)且将经处理数据传送到列控制器13。
具体来说,写入数据从存储器控制器2发射到数据输入与输出单元DQ。在数据输入与输出单元DQ中,输入与输出控制器16将写入数据划分为多个数据单位,其中每一数据单位具有预定数目个位。每一经划分数据单位也可称为(举例来说)ECC字。这些ECC字被传送到错误校正电路14。
ECC编码器141从ECC字产生错误校正码(奇偶校验码)且将所述奇偶校验码与ECC字耦合。所述奇偶校验码是遵从预定错误校正码产生规则形成且用于后续错误检测中的位串或类似物。ECC字的位的数目也遵从错误校正码产生规则而预定。
在错误校正电路14中所使用的错误校正码产生规则经配置以允许检测针对每一数据单位或(换句话说)ECC字具有最大N个位的错误。即,奇偶校验码是以使得所述奇偶校验码可用于具有最大N个位的错误的错误检测中的方式而遵从错误校正码产生规则产生。已经已知各种错误校正码产生规则。举例来说,用于错误校正电路14中的错误校正码产生规则可选自那些已知错误校正码产生规则。
ECC编码器141在(举例来说)写入操作期间执行数据处理。ECC字及奇偶校验码的集合被传送到列控制器13并写入于存储器单元MC中。
错误校正电路14使用ECC解码器142M或142N以及校正子产生器143来校正读取数据中的错误。
具体来说,错误校正电路14接收从存储器单元MC读取的数据。类似于写入时的数据,从存储器单元MC读取的数据包含ECC字及奇偶校验码的若干集合。
校正子产生器143根据遵从上文所描述的错误校正码产生规则的解码矩阵以及所述ECC字及奇偶校验码的所述集合来计算校正子。可(举例来说)通过使其中ECC字及奇偶校验码的所述集合串接的位串倍增而由解码矩阵获得校正子。所述校正子是包含数据的错误信息的位串或类似物。数据的错误信息可包含(举例来说)关于个别ECC字中的错误的存在或不存在的信息、关于错误的位位置的标识的信息、关于错误位的数目的信息等等。校正子产生器143遵从用于错误校正电路14中的错误校正码产生规则,且可产生能够检测针对每一数据单位具有最大N个位的错误的校正子。即,校正子产生器143使用能够检测针对每一数据单位具有最大N个位的错误的解码矩阵。
确定器144确定错误位的数目是否超过特定准则。具体来说,确定器144引用校正子来确定错误位的数目是否为零或者是否等于或小于M个位或N个位。
ECC解码器142N可基于包含于校正子中的错误信息而校正针对每一数据单位具有最大N个位的错误。ECC解码器142N通过利用校正子及遵从错误校正码产生规则的错误校正多项式执行操作来识别每一数据单位的最大N个位的错误位置等等。为识别每一数据单位的最大N个位的错误位置以借此实现错误校正,可使用(举例来说)具有N个未知数的一个N次方程式的错误校正多项式。在所识别的错误位置处,ECC解码器142N将数据“0”及数据“1”反转。因此,校正每一数据单位具有最大N个位的错误。ECC解码器142N在(举例来说)清理操作期间执行错误校正。
ECC解码器142M可根据包含于校正子中的错误信息而校正针对每一数据单位具有最大M个位的错误。M个位小于上文所提及的N个位。ECC解码器142M通过利用校正子及从用于ECC解码器142N中的错误校正多项式简化的多项式或更低次错误校正多项式执行操作来识别每一数据单位的最大M个位的错误位置等等。为识别每一数据单位的最大M个位的错误位置以借此实现错误校正,可使用(举例来说)具有M个未知数的一个M次方程式的错误校正多项式。ECC解码器142M反转位于所识别错误位置处的数据。因此,校正每一数据单位具有最大M个位的错误。ECC解码器142M在(举例来说)读取操作期间执行错误校正。
通过平衡(举例来说)用于错误校正所需的时间与用于数据所需的可靠性来确定例如N个位或M个位等错误位数目。随着待校正的位的数目增加,需要更长时间用于错误校正,且反之亦然。用于错误校正所需的时间也取决于待通过单次读取或清理操作处置的数据的大小。随着数据的大小增加,需要更长时间用于错误校正,且反之亦然。同时,随着可校正位的数目增加,数据的可靠性改善,且反之亦然。鉴于上文,可如下文确定例如N个位或M个位等错误位数目。
N表示在清理操作中每一数据单位的可校正错误位的最大数目。可执行清理操作以(举例来说)确保所保持数据的可靠性。因此,需要高可靠性。同时,通过使用(举例来说)不对MRAM 1或类似装置进行外部存取时的时间(即,在MRAM 1的闲置时间期间)执行清理操作,稍后将对此进行描述。即使在用于错误校正所花费的时间在某种程度上变得更长时,也将不会对MRAM 1的操作速度产生显著影响。此外,待由单次清理操作处置的数据的大小等效于上文所提及的清理执行单位。通过恰当地设定清理执行单位,可调整错误校正时间。因此,优选的是将N设定到归属于不影响MRAM 1的操作速度的范围内的最大可能值。
M表示在读取操作中每一数据单位的可校正错误位的最大数目。在读取操作中,MRAM 1需要将由存储器控制器2所请求的数据快速地发送到存储器控制器2。分配用于错误校正的时间,且因此读取操作期间可校正错误位的数目受到限制。在读取操作中,必须考虑数据掩码的处置、待读取数据的大小等等。鉴于这些观点,可校正错误位的数目也可受到局限。因此,将M设定到小于N的值以使对数据读取速度的影响最小化,同时维持读取数据所需的可靠性。
(3)存储器系统的操作实例
现在将通过参考图3到6描述存储器系统10的操作实例。
[磁性存储器装置的状态转变的实例]
首先将通过参考图3给出对MRAM 1的状态转变的实例的描述,各种操作是基于所述描述。图3图解说明根据本实施例的磁性存储器装置的状态如何改变。
如图3中所图解说明,MRAM 1具有闲置状态及现用状态。
在闲置状态中,MRAM 1不执行例如写入、读取及清理等操作。
在现用状态中,MRAM 1可执行例如写入或读取等操作。MRAM 1的状态响应于来自存储器控制器2的现用命令而从闲置状态改变为现用状态。在现用状态中,MRAM 1可接受例如来自存储器控制器2的写入命令或读取命令等命令。
相比来说,MRAM 1可将其状态从闲置状态直接改变为清理操作。即,MRAM 1在闲置状态中可从存储器控制器2接收清理命令。响应于所述清理命令,MRAM 1开始清理操作。清理操作包含一系列操作,例如读取、通过错误校正电路14校正错误及重新开始写入。此些操作也可称为“读取-修改-写入”操作。
鉴于上文,下文将描述例如写入、读取及清理等操作中的MRAM 1及存储器控制器2的操作的流程。
[写入操作的实例]
将描述存储器系统10的写入操作的实例。
在从主机装置3接收到写入指令后,存储器控制器2的控制器215发布写入命令且将具有写入数据的所述写入命令及写入的目的地地址发射到MRAM 1。
MRAM 1的输入与输出控制器16将写入命令及写入的目的地地址传送到控制器15。控制器15将写入的目的地地址的行地址传送到行解码器12,且将列地址传送到列控制器13。
MRAM 1的输入与输出控制器16也将写入数据划分为多个ECC字。经划分为ECC字的数据被传送到错误校正电路14。ECC编码器141从个别ECC字产生奇偶校验码且将所述ECC字与奇偶校验码串接。错误校正电路14将ECC字及奇偶校验码的若干集合输出到列控制器13。
行解码器12及列控制器13根据行地址及列地址选择写入目标存储器单元MC。控制器15的读取与写入控制器31根据写入命令将ECC字及奇偶校验码写入到经选择存储器单元MC。
然后写入操作完成。
[读取操作的实例]
现在将通过参考图4及5描述存储器系统10的读取操作的实例。图4图解说明根据本实施例的存储器系统的读取操作的流程。图5图解说明根据本实施例的存储器系统的读取操作的另一实例的流程。图4及5主要图解说明关于错误校正的操作。
如图4中所图解说明,在从主机装置3接收到读取指令后,存储器控制器2的控制器215发布读取命令且将所述读取命令与读取的源地址一起发射到MRAM 1(步骤S11)。
MRAM 1的输入与输出控制器16将读取命令及读取的源地址传送到控制器15。控制器15将读取的源地址的行地址传送到行解码器12,同时将列地址传送到列控制器13。
行解码器12及列控制器13根据所述行地址及所述列地址选择读取目标存储器单元MC。读取与写入控制器31致使列控制器13根据读取命令从经选择存储器单元MC读取数据。
列控制器13将读取数据传送到错误校正电路14。校正子产生器143从包含于读取数据中的ECC字及奇偶校验码计算校正子(例如,S1、S3、…、Sx)(步骤S12)。
确定器144从包含于校正子中的错误信息确定ECC字中的错误位的数目是否为零(步骤S13)。将确定结果发射到读取与写入控制器31。如果错误位的数目为零,那么读取与写入控制器31将ECC字按在错误校正电路14中的原样传送到输入与输出控制器16。
如果错误位的数目不为零,那么确定器144根据包含于校正子中的错误信息确定ECC字中的错误位的数目是否等于或小于M个位(步骤S14)。
如果错误位的数目等于或小于M个位,那么读取与写入控制器31致使ECC解码器142M对ECC字执行具有最大M个位的错误的校正(步骤S15)。读取与写入控制器31将已在ECC解码器142M中执行错误校正的数据传送到输入与输出控制器16。
利用读取与写入控制器31的控制,数据输入与输出单元DQ从ECC解码器142M接收ECC字或经错误校正数据,且将所述ECC字或所述数据作为读取数据发射到存储器控制器2(步骤S16)。
当错误位的数目大于M个位时,错误校正电路14发布警示而非执行错误校正(步骤S17)。MRAM 1将包含错误的数据发射到存储器控制器2。
存储器控制器2确定是否接收到警示,或关于所述警示的信号是否处于“H”电平(步骤S18)。举例来说,如果存储器控制器2在读取命令的发射之后的固定时间段内尚未接收到警示(即,关于所述警示的信号处于“L”电平),那么存储器控制器2确定读取操作已完成。
当存储器控制器2接收到警示时,致使发生警示的数据可包含许多错误使得所述数据按原样可是不可靠的。存储器控制器2可发布(举例来说)清理命令以便致使MRAM 1执行清理操作(步骤S19)。当清理操作完成时,存储器控制器2可致使MRAM 1再次读取数据以确认错误位的数目是否已降低。
存储器控制器2可通过执行除清理操作之外的操作来对警示的发生做出响应。存储器控制器2可发布(举例来说)写入命令以致使MRAM 1执行写入操作(重新写入操作)。为执行重新写入,需要数据能够以某种方式(例如通过维持待写入于存储器控制器2中的数据)提取。或者,存储器控制器2可根据来自主机装置3的指令发布(举例来说)擦除命令,且致使MRAM 1擦除包含许多错误的数据或禁止对此数据的存取。通过执行这些操作中的任一者,可消除不可靠数据。
如图5中所图解说明,除在步骤S13中确定零位的错误及在步骤S14-1中确定M个位的错误之外,确定器144也可在步骤S14-2中确定ECC字中的错误位的数目是否等于或小于N个位。确定器144因此获得关于错误位的数目的以下确定结果(a)到(d)。
(a)错误位的数目=0
(b)0<错误位的数目≤M个位
(c)M个位<错误位的数目≤N个位
(d)N个位<错误位的数目
如果获得确定结果(a)或(b),那么数据的错误已被校正且数据接着发射到存储器控制器2,如上文所描述(步骤S16)。
如果获得确定结果(c)或(d),那么警示被发射到存储器控制器2,如上文所描述(步骤S17)。在接收到警示后(步骤S18-1),存储器控制器2可取决于确定结果即刻以不同方式做出响应。即,存储器控制器2可通过致使MRAM 1执行(举例来说)清理操作(从步骤S18-2到步骤S19-1)而对确定结果(c)做出响应。存储器控制器2也可通过致使MRAM 1执行(举例来说)数据的重新写入(从步骤S18-2到步骤S19-2)而对确定结果(d)做出响应。
[清理操作的实例]
可响应于MTJ元件的电阻状态的无意改变来翻转保持于存储器单元MC中的数据。此数据将会包含错误。基于此观点,可通过清理操作检测数据中的错误且将校正数据写回到存储器单元MC。
存储器控制器2的控制器215致使MRAM 1定期或非定期地执行清理操作。在MRAM 1于(举例来说)已经过固定时间段或者读取指令等等已被多于发布固定次数之后进入闲置状态时,存储器控制器2可指令MRAM 1执行清理操作。存储器控制器2可在已于读取操作中检测到大于M个位的错误位数目时致使执行清理操作。
MRAM 1根据由上文所描述的清理控制器32管理的地址针对每一清理单位依序清理存储器单元MC。因此,在致使MRAM 1执行清理操作时不需要存储器控制器2规定存储器单元MC的地址。
下文将通过参考图6描述存储器系统10的清理操作的实例。图6图解说明根据本实施例的存储器系统的清理操作的流程。图6主要图解说明关于错误校正的操作。
如图6中所图解说明,存储器控制器2发布清理命令且将所述清理命令发射到MRAM1(步骤S21)。
MRAM 1的输入与输出控制器16将所述清理命令传送到控制器15。所述清理命令由控制器15的清理控制器32接收。在接收到所述清理命令后,清理控制器32从对应于由清理控制器32管理且经受清理操作的地址的存储器单元MC读取数据。即,清理控制器32控制行解码器12及列控制器13以在列控制器13上从经选择存储器单元MC读取数据。
列控制器13将读取数据传送到错误校正电路14。校正子产生器143从包含于读取数据中的ECC字及奇偶校验码计算校正子(例如,S1、S3、…、Sx)(步骤S22)。
确定器144确定ECC字中的错误位的数目是否为零(步骤S23)。如果错误位的数目为零,那么清理操作的流程继续进行到步骤S28。
如果错误位的数目不为零,那么确定器144确定ECC字中的错误位的数目是否等于或小于N个位(步骤S24)。
如果错误位的数目等于或小于N个位,那么清理控制器32致使ECC解码器142N对ECC字执行具有最大N个位的错误的校正(步骤S25)。读取与写入控制器31控制清理控制器32以将经错误校正数据写回到已是清理操作的目标的存储器单元MC(步骤S26)。
在不从存储器控制器2接收命令、数据或地址的情况下执行到存储器单元MC的数据的写回操作(重新写入操作)。以类似于上文所提及的写入操作的方式执行数据的写回操作的其余部分。即,错误校正电路14将经错误校正数据处理为ECC字及奇偶校验码的集合,ECC字及奇偶校验码的所述集合接着通过清理控制器32写入于存储器单元MC中。
如果错误位的数目大于N个位,那么错误校正电路14发布警示,且控制器15将所述警示发射到存储器控制器2(步骤S27)。
存储器控制器2确定所述警示是否处于“H”电平(步骤S28)。如果所述警示处于“L”电平,那么存储器控制器2确定清理操作已完成。
如果所述警示处于“H”电平且(举例来说)存储器控制器2保持所述数据,那么存储器控制器2发布写入命令以致使MRAM 1执行写入操作(步骤S29)。在写入操作完成之后,存储器控制器2可致使MRAM 1再次清理数据。存储器控制器2可通过执行除写入之外的操作来对警示的发生做出响应。
(4)本实施例的优点
根据本实施例,可基于以下特征(A)或(B)获得一或多个优点。
(A)根据本实施例,错误校正电路14包含ECC解码器142M、142N。当在不对MRAM1进行外部存取的同时执行数据清理时(即,在MRAM 1的闲置时间期间),ECC解码器142N使用校正子校正每一数据单位具有最大N个位的错误。当执行数据读取时,ECC解码器142M使用校正子校正每一数据单位具有最大M个位(M<N)的错误。
利用特征(A),MRAM 1可通过清理数据而将数据中错误位的数目抑制于所要范围内。保持于存储器单元MC中的数据的可靠性因此可得以改善。
利用特征(A),MRAM 1可在清理期间使用高校正能力执行错误校正。所保持数据的可靠性因此可进一步得以改善。尽管在校正能力进一步得以改善时将花费更长时间执行错误校正,但清理是使用MRAM 1处于闲置状态中时的时间段来执行。因此,可维持对包含MRAM1的整个存储器系统10的高速执行。
利用特征(A),MRAM 1可通过使错误校正能力在读取期间比在清理期间低而将读取数据快速地发射到存储器控制器2。因此可提高对整个存储器系统10的高速执行。
利用特征(A),MRAM 1可充分保证读取数据的可靠性,因为即使在读取期间错误位也被校正,只要错误位等于或小于M个位即可。
(B)在本实施例中,产生奇偶校验码及校正子以允许检测N位错误。
利用特征(B),两个ECC解码器142M、142N可使用共同奇偶校验码及校正子。因此,与在使用不同类型的奇偶校验码及校正子时的情形相比,错误校正电路14可包含简化结构。
利用特征(B),在与其中需要(举例来说)不同类型的奇偶校验码及校正子的情形相比时,在由ECC编码器141处理的数据中占用的奇偶校验码位的数目可受到抑制。此可得以实现,因为如果不使用共同奇偶校验码或类似物,那么两种类型的奇偶校验码(举例来说,其中一种类型用于M位校正且另一类型用于N位校正)彼此连接到ECC字。
利用特征(B),即使在读取期间也可执行具有最大N个位的错误的错误校正。因此,可取决于经检测错误的数目适当地处置数据。整个存储器系统10的可靠性因此可得以改善。
<第二实施例>
将通过参考图7到10描述本实施例。
本实施例不同于以上实施例之处在于存储器控制器22而非MRAM 21包含错误校正电路24。本实施例的其余部件类似于以上实施例之处在于MRAM 21、存储器控制器22以及包含MRAM 21及存储器控制器22的存储器系统分别类似于上文已描述的MRAM1、存储器控制器2以及存储器系统10。
(1)存储器系统结构的实例
将通过参考图7描述根据本实施例的MRAM 21及存储器控制器22的结构的实例。图7示意性地图解说明根据本实施例的包含于存储器控制器中的错误校正电路的结构的实例。
如图7中所图解说明,存储器控制器22包含错误校正电路24。错误校正电路24包含ECC编码器241,ECC解码器242M、242N,校正子产生器243及确定器244。
关于数据的发射及接收,错误校正电路24执行不同于以上实施例的错误校正电路14的操作的操作。稍后将通过使用操作的流程图描述数据的发射及接收。
错误校正电路24的其余部件及其中包含的组件类似于上文所描述的错误校正电路14。即,ECC编码器241等效于错误校正电路14的ECC编码器141。ECC解码器242M、242N分别等效于ECC解码器142M、142N。校正子产生器243等效于校正子产生器143。确定器244对应于确定器144。
(2)存储器系统的操作实例
接下来,将通过参考图8到10描述本实施例的存储器系统的操作实例。
[写入操作的实例]
首先,将描述MRAM 21及存储器控制器22的写入操作的实例。
在写入操作期间,错误校正电路24受存储器控制器22的控制器215控制以在存储器控制器22将写入数据发射到MRAM 21之前接收并处理写入数据。经处理数据通过存储器控制器22发射到MRAM 21且写入于存储器单元MC中。
[读取操作的实例]
现在将通过参考图8描述MRAM 21及存储器控制器22的读取操作的实例。图8图解说明根据本实施例的存储器系统的读取操作的流程。
如图8中所图解说明,控制器215将读取命令连同读取的源地址一起发射到MRAM21(步骤S31)。
读取与写入控制器31接收所述读取命令以从所述源地址处的存储器单元MC读取数据,且将所述数据作为读取数据发射到存储器控制器22(步骤S32)。所述读取数据包含ECC字及奇偶校验码的多个集合。将所述读取数据发射到校正子产生器243及ECC解码器242M。
校正子产生器243从读取数据计算校正子(步骤S33),且将所述校正子发射到确定器244。确定器244确定读取数据中的错误位的数目是否为零且如果不是,那么确定错误位的数目是否等于或小于M个位(步骤S34到S35)。将确定结果发射到控制器215。
如果错误位的数目为零,那么控制器215既不在ECC解码器242M中执行错误校正也不将数据写回到MRAM 1。接着,读取的流程继续进行到步骤S38。在步骤S38中,控制器215确定错误校正电路24是否已发布警示。如果错误位的数目为零且无警示发布,那么控制器215完成读取操作。
同时,如果错误位的数目大于零并且等于或小于M个位,那么控制器215致使ECC解码器242M对读取数据执行错误校正(步骤S36)。如果错误位的数目大于M个位,那么错误校正电路24发布警示(步骤S37)。步骤S36、S37继续到步骤S38。
在步骤S38中,当确定已发布警示时,控制器215致使MRAM 1执行清理操作或类似操作(步骤S39)。或者,存储器控制器22可执行如结合图4所提及的各种响应。
除确定0位及M个位的错误之外,本实施例的确定器244也可执行N个位的错误的确定,如图5中所图解说明。
[清理操作的实例]
现在将通过参考图9描述MRAM 21及存储器控制器22的清理操作的实例。图9图解说明根据本实施例的存储器系统的清理操作的流程。
如图9中所图解说明,存储器控制器22的控制器215将清理命令发射到MRAM 21(步骤S41)。
在接收到清理命令后,MRAM 21的清理控制器32受读取与写入控制器31控制以从位于保持于计数器CN中的地址处的存储器单元MC读取数据且将所述数据作为读取数据发射到存储器控制器22(步骤S42)。所述读取数据包含ECC字及奇偶校验码的多个集合。将所述读取数据发射到校正子产生器243及ECC解码器242N。
接着,存储器控制器22执行步骤S43到S46或者步骤S43到S45、S49及S50。步骤S43到S46、S49及S50类似于上文所描述的图8的步骤S33到S38,惟错误位的数目是N个位而非M个位,以及ECC解码器242N而非ECC解码器242M包含于图8的步骤S33到S38的描述中除外。
在步骤S46之后,控制器215将经错误校正数据发射到MRAM 21(步骤S47)。当MRAM21接收到数据时,清理控制器32参考计数器CN来获悉已在步骤S41中是清理命令的目标的存储器单元MC的地址,且将所接收数据写回到处于此地址的存储器单元MC(步骤S48)。步骤S48继续到步骤S50。
在步骤S50中,如果无警示发布,那么控制器215确定清理操作已完成。
相比来说,在步骤S50中,如果已发布警示,那么控制器215致使MRAM 21执行写入操作或类似操作(步骤S51),如同在图6的步骤S29中。或者,控制器215可执行除写入的执行之外的响应。
如上文所描述,MRAM 21不包含错误检测功能也不具有错误校正功能。举例来说,在写入、读取及清理操作期间,MRAM 21将从存储器控制器22接收的数据按原样写入到存储器单元MC且将从存储器单元MC读取的数据按原样发射到存储器控制器22。
将在下文中进一步描述MRAM 21与存储器控制器22之间的此相互作用。
[存储器系统中的命令序列的实例]
将通过参考图10描述以上操作中MRAM 21与存储器控制器22之间的命令序列的实例。图10是根据本实施例的存储器系统中的命令序列的实例。图10中所图解说明的命令序列是两个读取操作及后续清理操作的实例。在下文所描述的读取操作中,假定确定器244类似于图5中所图解说明的实例执行0位、M个位及N个位的整个错误确定。
在图10中,命令信号CMD从存储器控制器22经由包含于(举例来说)连接线5中的命令线发射到MRAM 21的输入与输出控制器16。错误检测信号(>0位)、错误检测信号(>N个位)及错误检测信号(>M个位)受(举例来说)确定器244控制且由控制器215引用。当错误位的经检测数目为0位时,错误检测信号(>0位)经设定到“L”电平,然而当错误位的经检测数目超过0位时,所述信号经设定到“H”电平。当错误位的经检测数目等于或小于N个位时,错误检测信号(>N个位)经设定到“L”电平,然而当错误位的经检测数目超过N个位时,所述信号经设定到“H”电平。当错误位的经检测数目等于或小于M个位时,错误检测信号(>M个位)经控制设定到电平“L”,然而当错误位的经检测数目超过M个位时,所述信号经设定到“H”电平。
如图10中所图解说明,当第一读取操作开始时,控制器215在命令线上将读取命令发射到MRAM 21。
在接收到读取命令后,读取与写入控制器31从读取目标存储器单元MC读取数据且将所述读取数据经由包含于连接线5中的数据总线发射到存储器控制器22。读取数据由校正子产生器243接收。校正子产生器243产生校正子。所述校正子经受由确定器244做出的错误确定。确定器244使用校正子来确定包含于读取数据中的错误位的数目。
关于从第一读取操作获得的读取数据,确定器244确定(举例来说)错误位的数目为零。因此,确定器244将所有错误检测信号(>0位)、错误检测信号(>M个位)及错误检测信号(>N个位)维持处于“L”电平。控制器215接收这三个错误检测信号且基于所述三个错误检测信号辨识错误位的数目为零。因此,控制器215不会致使ECC解码器242M执行数据的错误校正。
随后,当第二读取操作开始时,控制器215在命令线上将读取命令发射到MRAM 21。
在接收到读取命令后,MRAM 21从读取目标存储器单元MC读取数据且将所述读取数据发射到存储器控制器22。接下来,类似于第一读取操作的过程,确定器244确定(举例来说)错误位的数目超过M个位。接着,确定器244将错误检测信号(>0位)及错误检测信号(>M个位)的状态改变为“H”电平然而将错误检测信号(>N个位)的状态维持为“L”电平,且将这些信号发射到控制器215。控制器215接收“H”电平的错误检测信号(>0位)及“H”电平的错误检测信号(>M个位)并且基于所述信号辨识错误位的数目超过M个位。由于错误位的经检测数目超过M个位,因此控制器215不会致使ECC解码器242M执行错误校正并将警示发布到主机装置3。响应于错误位的经检测数目高于M个位,控制器215视需要采取适当措施。在图10中所图解说明的实例中,控制器215致使MRAM 21执行清理操作。
当清理操作开始时,控制器215在命令线上将清理命令发射到MRAM 21。
在接收到清理命令后,清理控制器32即刻从清理目标存储器单元MC读取数据且在数据总线上将所述读取数据发射到存储器控制器22。清理目标存储器单元MC为已是第二读取操作的目标的存储器单元MC。从清理目标存储器单元MC读取的数据由错误校正电路24接收。错误校正电路24通过类似于第一读取操作及第二读取操作的那些过程的过程来确定包含于读取数据中的错误位的数目。
确定器244确定(举例来说)包含于读取数据中的错误位的数目不为零并且等于或小于N个位。即,确定错误位的数目是在由ECC解码器242N进行的可校正范围内。确定器244将错误检测信号(>0位)的状态改变为“H”电平。控制器215接收“H”电平的错误检测信号(>0位)及“L”电平的错误检测信号(>N个位)并且基于所述信号辨识错误位的数目等于或小于N个位。因此,控制器215致使ECC解码器242N执行数据的错误校正。
控制器215在数据总线上将经错误校正数据发射到MRAM 21。读取与写入控制器31将经校正数据写回到源存储器单元MC。控制器215不发布新命令,例如数据写回命令。清理命令包含将数据写回的指令。当MRAM 21接收清理命令而不接收其它命令时,MRAM 21根据所述清理命令将所接收数据写回到源存储器单元MC。
(3)本实施例的优点
在本实施例中,存储器控制器22包含ECC解码器242M、242N。除以上实施例的优点之外,此还产生在下文所提及的一或多个优点。
MRAM 21可不包含错误校正功能。因此,在MRAM 21中不消耗用于错误检测功能的空间。MRAM 21的芯片中的空间因此可用于其它用途,或MRAM 21可是更小的。
MRAM 21的处理能力不被消耗用于错误校正。MRAM 21的处理能力可用于其它用途或MRAM 21的操作速度可增加。
存储器控制器22包含错误校正功能。对于减小存储器控制器22的大小的需要不比对于MRAM 21的需要那样严格。因此在存储器控制器22的芯片中将空间分配用于错误校正电路24相对容易。
存储器控制器22可承担错误校正。存储器控制器22的处理能力显著大于MRAM 21的处理能力。因此,存储器控制器22可在基本上不丢失存储器控制器22的操作特性的情况下执行错误校正。
<第三实施例>
将通过参考图11到13描述本实施例。
本实施例不同于以上实施例之处在于错误校正电路54分布于MRAM 51及存储器控制器52中。本实施例的其余部件类似于以上实施例之处在于MRAM 51、存储器控制器52以及包含MRAM 51及存储器控制器52的存储器系统分别类似于上文已描述的MRAM 1、存储器控制器2以及存储器系统10。
(1)存储器系统结构的实例
下文将通过参考图11描述根据本实施例的MRAM 51及存储器控制器52的结构的实例。图11示意性地图解说明根据本实施例的包含于存储器系统中的错误校正电路的结构的实例。
如图11中所图解说明,MRAM 51包含是错误校正电路54的一部分的错误校正电路54M。错误校正电路54M包含ECC编码器541、ECC解码器542M、校正子产生器543及确定器544。
存储器控制器52包含是错误校正电路54的一部分的错误校正电路54N。错误校正电路54N包含ECC解码器542N。
关于数据的发射及接收,错误校正电路54执行不同于以上实施例的错误校正电路14的那些操作的操作。稍后将通过使用操作的流程图描述数据的发射及接收。
错误校正电路54的其余部件及其中包含的组件类似于上文所描述的错误校正电路14的那些部件及组件。即,ECC编码器541等效于错误校正电路14的ECC编码器141。ECC解码器542M、542N分别等效于ECC解码器142M、142N。校正子产生器543等效于校正子产生器143。确定器544等效于确定器144。
(2)存储器系统的操作实例
现在将通过参考图12及13描述本实施例的存储器系统的操作实例。
[写入操作的实例]
MRAM 51中的错误校正电路54M包含用于处理写入数据以实现每一数据单位N个位的错误校正所需的所有必需组件。即,MRAM 51包含用于数据的写入以完成MRAM51中的数据写入处理所需的所有必需功能。
MRAM 51及存储器控制器52的写入操作的流程与上文所描述的第一实施例的流程相同。
[读取操作的实例]
MRAM 51中的错误校正电路54M包含用于处理读取数据以实现每一数据单位M个位的错误校正所需的所有必需组件。即,MRAM 51包含用于数据的读取以完成MRAM51中的数据读取处理所需的所有必需功能。
MRAM 51及存储器控制器52的读取操作的流程等同于图4及5中所图解说明的流程。
[清理操作的实例]
用于数据清理操作的必需功能单独提供于MRAM 51及存储器控制器52中。
现在将通过参考图12描述MRAM 51及存储器控制器52的清理操作的实例。图12图解说明根据本实施例的存储器系统的清理操作的流程。
如图12中所图解说明,存储器控制器52的控制器215将清理命令发射到MRAM 51(步骤S61)。
在接收到清理命令后,MRAM 51的清理控制器32受读取与写入控制器31控制以从保持于计数器CN中的地址处的存储器单元MC读取数据。
接着,错误校正电路54M执行步骤S62到S64及S68,或者步骤S62到S64及S69。步骤S62到S64及S68分别类似于图6的步骤S22到S24及S26。等效于图6的步骤S25的步骤S66通过存储器控制器52的控制器215的控制由ECC解码器542N执行。因此,将在步骤S62中计算的校正子连同来自步骤S63、S64的错误确定结果一起发射到存储器控制器52(步骤S65)。另外,将在步骤S66中经错误校正的数据重新发射到MRAM 51(步骤S67),且接着执行步骤S68。以上步骤S62到S64及S69分别类似于图6的步骤S22到S24及S27。
在步骤S70中,如果无警示发布,那么控制器215确定清理操作已完成。
相比来说,在步骤S70中,如果已发布警示,那么控制器215致使MRAM 51执行写入操作或类似操作(步骤S71),如同上文在图6的步骤S29中。或者,控制器215可执行除写入的执行之外的响应。
如上文所描述,在写入及读取操作期间MRAM 51可在MRAM 51本身的错误校正电路54M中自主处理从存储器控制器52接收的数据。在清理操作中,举例来说,MRAM51在错误校正电路54M中无法完成处理由存储器控制器52接收的数据。MRAM 51将从所接收数据计算的校正子发射到存储器控制器52,存储器控制器52继而执行错误校正。
将在下文中使用命令序列进一步描述MRAM 51与存储器控制器52之间的此相互作用。
[存储器系统中的命令序列的实例]
将通过参考图13描述以上操作中MRAM 51与存储器控制器52之间的命令序列的实例。图13是根据本实施例的存储器系统中的命令序列的实例。图13中所图解说明的命令序列是两个读取操作及后续清理操作的实例。在下文所描述的读取操作中,假定确定器544类似于上文图5中所图解说明的实例执行0位、M个位及N个位的整个错误确定。
将给出本实施例的命令序列与上文图10的实例的命令序列之间的差别的描述。
如图13中所图解说明,第一读取操作不同于图10的第一读取操作之处在于将由校正子产生器543计算的校正子用于由确定器544做出的错误确定,且接着将读取数据发射到存储器控制器52。
第二读取操作不同于图10的第二读取操作之处在于响应于由确定器544接收到错误确定而将警示从控制器15发射到存储器控制器52。
所述清理操作不同于图10的清理操作之处在于将响应于清理命令由校正子产生器543计算的校正子连同由确定器544做出的错误确定的结果一起发射到存储器控制器52。
此外,所述清理操作不同于图10的清理操作之处在于经发射到存储器控制器52的校正子由ECC解码器542N进行错误校正、经发射到MRAM 51且经写回到目标存储器单元MC。
已描述包含校正子产生器543的MRAM 51的错误校正电路54M的实例,但所述实例并不限于此。除错误校正电路54M的校正子产生器543之外或代替错误校正电路54M的校正子产生器543,存储器控制器52也可包含校正子产生器。即,MRAM 51及存储器控制器52两者均可包含校正子产生器。因此,存储器控制器52可在清理期间一致地执行错误校正而不致使MRAM 51在清理期间计算校正子。
上文已描述执行错误校正电路的MRAM 51中的错误校正电路54M的实例,但所述实例并不限于此。举例来说,除错误校正电路54M的确定器544之外或代替错误校正电路54M的确定器544,存储器控制器52的错误校正电路54N也可包含确定器且使用从MRAM 51发射的校正子来执行错误校正。在此情形中,存储器控制器52可通过校正错误、发布警示等等对错误确定的结果适当地做出响应。
(3)本实施例的优点
在本实施例中,存储器控制器52包含ECC解码器542N且MRAM 51包含ECC解码器542M。除以上实施例的优点之外,此还产生在下文所提及的一或多个优点。
在N位及M位错误校正功能当中,MRAM 51可不包含N位错误校正功能。实施N位错误校正功能的ECC解码器542N需要具有大于实施M位错误校正功能的ECC解码器542M的那些容量及占用面积的容量及占用面积。由于MRAM 51不负责N位错误校正功能,因此MRAM 51的芯片中的空间可用于其它用途且MRAM 51可是更小的。
MRAM 51可不包含N位错误校正功能。实施N位错误校正功能需要大于用于实施M位错误校正功能的处理能力的处理能力。由于MRAM 51不负责N位错误校正功能,因此MRAM 51中的处理能力可用于其它用途且MRAM 51的操作速度可得以改善。
因此,存储器控制器52包含ECC解码器542N。在存储器控制器52的芯片的空间中提供ECC解码器542N的影响可处于可允许水平。
因此,存储器控制器52可拥有N位错误的错误校正功能。执行N位错误的错误校正对存储器控制器52的处理能力的影响可处于可允许水平。
其它实施例
在上文所描述的实施例中,已给出在N位错误及M位错误两者的错误校正期间使用从相同奇偶校验码导出的相同校正子的实例的描述,但所述实例并不限于此。对N位错误及M位错误的错误校正可遵从不同错误校正码产生规则,可将两种不同类型的奇偶校验码串接到数据区段(ECC字),且可个别地计算校正子。在N位错误及M位错误的错误校正期间,根据对应于N位错误或M位错误的奇偶校验码计算不同校正子。
以上实施例中所描述的MTJ元件可是具有垂直磁各向异性的垂直磁化MTJ元件或具有水平磁各向异性的水平磁化MTJ元件。所述MTJ元件可是其中第二磁性层(具有可变磁化定向)位于第一磁性层(具有不可变磁化方向)下方的底部自由型(顶部钉扎型)MTJ元件。所述MTJ元件也可是其中第二磁性层位于第一磁性层上方的顶部自由型(底部钉扎型)MTJ元件。
在以上实施例中,已给出其中存储器装置是使用MTJ元件作为存储器元件的MRAM的实例的描述;然而所述实例并不限于此。存储器装置可被实施(举例来说)为电阻式随机存取存储器(ReRAM)、相变随机存取存储器(PRAM或PCRAM)等等。
虽然已描述特定实施例,但这些实施例仅以实例方式呈现,且并不打算限制本发明的范围。实际上,本文中所描述的新颖实施例可以多种其它形式体现;此外,可在不背离本发明的精神的情况下以本文中所描述的方法及系统的形式做出各种省略、替代及改变。所附权利要求书及其等效物打算涵盖将归属于本发明的范围及精神内的此些形式或修改。

Claims (19)

1.一种存储器装置,其包括:
存储器元件,其存储数据及奇偶校验码;
第一解码器,当在不对所述存储器装置进行外部存取的同时执行所述数据的清理时,所述第一解码器使用从所述数据及所述奇偶校验码产生的校正子来校正所述数据的单位中最大N个位的错误;及
第二解码器,当执行所述数据的读取时,所述第二解码器使用所述校正子来校正所述数据的单位中最大M个位的错误,其中所述M个位表示小于所述N个位的数目个位;其中
响应于清理命令,所述存储器装置进行以下操作:
从所述存储器元件读取所述数据及所述奇偶校验码,
从所述数据及所述奇偶校验码产生所述校正子,及
使用所述校正子来校正所述数据的所述错误,且
响应于读取命令,所述存储器装置进行以下操作:
从所述存储器元件读取所述数据及所述奇偶校验码,
从所述数据及所述奇偶校验码产生所述校正子,
使用所述校正子来校正所述数据的所述错误,及
发射其中所述错误已被校正的所述数据。
2.根据权利要求1所述的存储器装置,其进一步包括:
编码器,其从待写入于所述存储器元件中的数据产生所述奇偶校验码;及
校正子产生器,其从所述数据及所述奇偶校验码产生所述校正子,其中
所述奇偶校验码及所述校正子经产生以允许检测所述N个位的错误。
3.根据权利要求1所述的存储器装置,其中
当执行所述数据的所述清理时,将其中所述错误已被校正的所述数据写入于所述存储器元件中。
4.根据权利要求1所述的存储器装置,其中
在所述数据的所述清理期间,当所述数据的单位中错误位的所述数目大于所述N个位时发布警示。
5.根据权利要求1所述的存储器装置,其中
在所述数据的所述清理期间,当所述数据的单位中错误位的所述数目大于所述N个位时重新写入从外部接收的数据。
6.根据权利要求1所述的存储器装置,其中
在所述数据的所述读取期间,当所述数据的单位中错误位的所述数目大于所述M个位时发布警示。
7.根据权利要求1所述的存储器装置,其中
在所述数据的读取期间,当所述数据的单位中错误位的所述数目大于所述M个位时执行所述数据的所述清理或重新写入从外部接收的所述数据。
8.一种存储器系统,其包括:
存储器装置,其包含存储数据及奇偶校验码的存储器元件;
存储器控制器,其控制所述存储器装置;及
主机装置,其控制所述存储器控制器,其中
在所述数据的清理期间,所述存储器控制器进行以下操作
在不对所述存储器装置进行外部存取的同时将清理命令发射到所述存储器装置以从所述存储器元件读取所述数据及所述奇偶校验码,
从所述数据及所述奇偶校验码产生校正子,及
使用所述校正子来校正所述数据的单位中最大N个位的错误,且
在所述数据的读取期间,所述存储器控制器进行以下操作
将读取命令发射到所述存储器装置,且从所述存储器元件读取所述数据及所述奇偶校验码,
从所述数据及所述奇偶校验码产生校正子,及
使用所述校正子来校正所述数据的单位中最大M个位的错误,其中
所述M个位表示小于所述N个位的数目个位。
9.根据权利要求8所述的存储器系统,其中
所述奇偶校验码及所述校正子经产生以允许检测所述N个位的错误。
10.根据权利要求8所述的存储器系统,其中
所述存储器控制器包含
编码器,其产生所述奇偶校验码,
校正子产生器,其产生所述校正子,
第一解码器,其校正所述数据的单位中最大所述N个位的错误,及
第二解码器,其校正所述数据的单位中最大所述M个位的错误。
11.根据权利要求8所述的存储器系统,其中
在所述数据的所述清理期间,所述存储器控制器将其中所述错误已被校正的所述数据发射到所述存储器装置,且
所述存储器装置将其中所述错误已被校正的所述数据写入到所述存储器元件。
12.根据权利要求8所述的存储器系统,其中
当在所述数据的所述清理期间所述数据的单位中错误位的所述数目大于所述N个位时,或当在所述数据的所述读取期间所述数据的单位中错误位的所述数目大于所述M个位时,所述存储器控制器发布警示。
13.根据权利要求8所述的存储器系统,其中
在所述数据的所述清理期间,当所述数据的单位中错误位的所述数目大于所述N个位时,所述存储器控制器在写入期间连同写入命令重新发射所述数据,且
在所述数据的所述读取期间,当所述数据的单位中错误位的所述数目大于所述M个位时,所述存储器控制器将所述清理命令发射到所述存储器装置,或连同所述写入命令重新发射用于所述写入的所述数据。
14.一种存储器系统,其包括:
存储器装置,其包含存储数据及奇偶校验码的存储器元件;
存储器控制器,其控制所述存储器装置;及
主机装置,其控制所述存储器控制器,其中
在所述数据的清理期间,在不对所述存储器装置进行外部存取的同时,所述存储器控制器将清理命令发射到所述存储器装置,
响应于所述清理命令,所述存储器装置从所述存储器元件读取所述数据及所述奇偶校验码、从所述数据及所述奇偶校验码产生校正子及将所述校正子发射到所述存储器控制器,
在接收到所述校正子后,所述存储器控制器即刻使用所述校正子来校正所述数据的单位中最大N个位的错误,
在所述数据的读取期间,所述存储器控制器将读取命令发射到所述存储器装置,
响应于所述读取命令,所述存储器装置从所述存储器元件读取所述数据及所述奇偶校验码、从所述数据及所述奇偶校验码产生校正子、使用所述校正子来校正所述数据的单位中最大M个位的错误、将其中所述错误已被校正的所述数据发射到所述存储器控制器,其中所述M个位表示小于所述N个位的数目个位。
15.根据权利要求14所述的存储器系统,其中
所述奇偶校验码及所述校正子经产生以允许检测所述N个位的错误。
16.根据权利要求14所述的存储器系统,其中
所述存储器控制器包含第一解码器,所述第一解码器校正所述数据的单位中最大所述N个位的所述错误,且
所述存储器装置包含产生所述奇偶校验码的编码器、产生所述校正子的校正子产生器及校正所述数据的单位中最大所述M个位的所述错误的第二解码器。
17.根据权利要求14所述的存储器系统,其中
在所述数据的所述清理期间,所述存储器控制器将其中所述错误已被校正的所述数据发射到所述存储器装置,且
所述存储器装置将其中所述错误已被校正的所述数据写入到所述存储器元件。
18.根据权利要求14所述的存储器系统,其中
在所述数据的所述清理期间,当所述数据的单位中错误位的所述数目大于所述N个位时,所述存储器控制器发布警示,且
在所述数据的所述读取期间,当所述数据的单位中错误位的所述数目大于所述M个位时,所述存储器装置发布警示。
19.根据权利要求14所述的存储器系统,其中
在所述数据的所述清理期间,当所述数据的单位中错误位的所述数目大于所述N个位时,所述存储器控制器连同写入命令重新发射用于写入的所述数据,且
在所述数据的所述读取期间,当所述数据的单位中错误位的所述数目大于所述M个位时,所述存储器控制器将所述清理命令发射到所述存储器装置,或连同所述写入命令重新发射用于所述写入的所述数据。
CN201580077306.XA 2015-03-10 2015-09-10 存储器装置及存储器系统 Active CN107408412B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562131113P 2015-03-10 2015-03-10
US62/131,113 2015-03-10
PCT/JP2015/076371 WO2016143168A1 (en) 2015-03-10 2015-09-10 Memory device and memory system

Publications (2)

Publication Number Publication Date
CN107408412A CN107408412A (zh) 2017-11-28
CN107408412B true CN107408412B (zh) 2021-01-15

Family

ID=56879983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580077306.XA Active CN107408412B (zh) 2015-03-10 2015-09-10 存储器装置及存储器系统

Country Status (5)

Country Link
US (1) US10482990B2 (zh)
CN (1) CN107408412B (zh)
RU (1) RU2682843C1 (zh)
TW (1) TW201633301A (zh)
WO (1) WO2016143168A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10312944B2 (en) * 2017-03-17 2019-06-04 Micron Technology, Inc. Error correction code (ECC) operations in memory for providing redundant error correction
KR102410021B1 (ko) * 2017-11-20 2022-06-21 에스케이하이닉스 주식회사 메모리 컨트롤러 및 메모리 모듈을 갖는 메모리 시스템 및 그 메모리 시스템에서의 데이터 처리 방법
US11204835B2 (en) * 2018-10-12 2021-12-21 Supermem, Inc. Error correcting memory systems
US11461623B2 (en) * 2018-10-18 2022-10-04 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for defect-tolerant memory-based artificial neural network
US11416334B2 (en) * 2019-05-24 2022-08-16 Texas Instmments Incorporated Handling non-correctable errors
US11379156B2 (en) * 2020-08-19 2022-07-05 Micron Technology, Inc. Write type indication command

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510448A (zh) * 2008-02-14 2009-08-19 爱特梅尔公司 用于存储器的错误检测/校正方案
CN102820049A (zh) * 2011-06-09 2012-12-12 三星电子株式会社 用于刷新以及数据清理存储器件的方法和装置
WO2013014974A1 (en) * 2011-07-26 2013-01-31 Kabushiki Kaisha Toshiba Memory controller, semiconductor storage device, and decoding method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292869B1 (en) * 1998-08-31 2001-09-18 International Business Machines Corporation System and method for memory scrub during self timed refresh
US6349390B1 (en) * 1999-01-04 2002-02-19 International Business Machines Corporation On-board scrubbing of soft errors memory module
US20030009721A1 (en) * 2001-07-06 2003-01-09 International Business Machines Corporation Method and system for background ECC scrubbing for a memory array
US8619452B2 (en) 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
DE102005040916A1 (de) * 2005-08-30 2007-03-08 Robert Bosch Gmbh Speicheranordnung und Betriebsverfahren dafür
US7647526B1 (en) * 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
US8176388B1 (en) * 2007-06-20 2012-05-08 Marvell Israel (Misl) Ltd. System and method for soft error scrubbing
JP4956640B2 (ja) 2009-09-28 2012-06-20 株式会社東芝 磁気メモリ
US8347175B2 (en) 2009-09-28 2013-01-01 Kabushiki Kaisha Toshiba Magnetic memory
US9037928B2 (en) * 2012-01-01 2015-05-19 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair
US9679664B2 (en) 2012-02-11 2017-06-13 Samsung Electronics Co., Ltd. Method and system for providing a smart memory architecture
US9081693B2 (en) * 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Data type dependent memory scrubbing
US9454451B2 (en) * 2013-02-11 2016-09-27 Arm Limited Apparatus and method for performing data scrubbing on a memory device
JP6213345B2 (ja) * 2014-03-31 2017-10-18 富士通株式会社 転送装置、決定方法、及びデータ処理装置
KR102178137B1 (ko) * 2014-08-26 2020-11-12 삼성전자주식회사 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템
US9612908B2 (en) * 2015-02-20 2017-04-04 Qualcomm Incorporated Performing memory data scrubbing operations in processor-based memory in response to periodic memory controller wake-up periods
US20160336971A1 (en) * 2015-05-14 2016-11-17 U.S.A. Represented By The Administrator Of The National Aeronautics And Space Administration Consensus decoding algorithm for generalized reed-solomon codes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510448A (zh) * 2008-02-14 2009-08-19 爱特梅尔公司 用于存储器的错误检测/校正方案
CN102820049A (zh) * 2011-06-09 2012-12-12 三星电子株式会社 用于刷新以及数据清理存储器件的方法和装置
WO2013014974A1 (en) * 2011-07-26 2013-01-31 Kabushiki Kaisha Toshiba Memory controller, semiconductor storage device, and decoding method

Also Published As

Publication number Publication date
WO2016143168A1 (en) 2016-09-15
CN107408412A (zh) 2017-11-28
TW201633301A (zh) 2016-09-16
US20170372798A1 (en) 2017-12-28
RU2682843C1 (ru) 2019-03-21
US10482990B2 (en) 2019-11-19

Similar Documents

Publication Publication Date Title
CN107408412B (zh) 存储器装置及存储器系统
US10198221B2 (en) Methods of operating semiconductor memory devices with selective write-back of data for error scrubbing and related devices
US10705908B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating memory systems
US10090066B2 (en) Semiconductor memory devices, memory systems including the same and method of correcting errors in the same
US10404286B2 (en) Memory modules, memory systems including the same and methods of operating memory systems
US9483348B2 (en) Memory module, memory system having the same, and methods of reading therefrom and writing thereto
KR102324769B1 (ko) 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR102238706B1 (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9501352B2 (en) Memory device
KR20170121798A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20170045803A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10031865B2 (en) Memory system, storage device, and method for controlling memory system
KR102608908B1 (ko) 데이터의 오류를 정정하는 방법 및 이를 이용하는 반도체장치
KR20170060263A (ko) 반도체 메모리 장치 및 이의 동작 방법
CN105518800A (zh) 半导体存储器装置及其ecc方法
KR20180029803A (ko) 반도체장치 및 반도체시스템
US10804935B2 (en) Techniques for reducing latency in the detection of uncorrectable codewords
US10204700B1 (en) Memory systems and methods of operating semiconductor memory devices
WO2017043113A1 (en) Memory device
US20150067444A1 (en) Semiconductor storage device and memory system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Tokyo

Patentee after: Kaixia Co.,Ltd.

Address before: Tokyo

Patentee before: TOSHIBA MEMORY Corp.

Address after: Tokyo

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo

Patentee before: Pangea Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220112

Address after: Tokyo

Patentee after: Pangea Co.,Ltd.

Address before: Tokyo

Patentee before: TOSHIBA MEMORY Corp.

TR01 Transfer of patent right