CN111951876A - 具有写检测功能和动态冗余的mram芯片及其数据读写方法 - Google Patents

具有写检测功能和动态冗余的mram芯片及其数据读写方法 Download PDF

Info

Publication number
CN111951876A
CN111951876A CN201910404345.6A CN201910404345A CN111951876A CN 111951876 A CN111951876 A CN 111951876A CN 201910404345 A CN201910404345 A CN 201910404345A CN 111951876 A CN111951876 A CN 111951876A
Authority
CN
China
Prior art keywords
address
write
error
data
replacement
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.)
Granted
Application number
CN201910404345.6A
Other languages
English (en)
Other versions
CN111951876B (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.)
Shanghai Ciyu Information Technologies Co Ltd
Original Assignee
Shanghai Ciyu Information Technologies Co Ltd
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 Shanghai Ciyu Information Technologies Co Ltd filed Critical Shanghai Ciyu Information Technologies Co Ltd
Priority to CN201910404345.6A priority Critical patent/CN111951876B/zh
Publication of CN111951876A publication Critical patent/CN111951876A/zh
Application granted granted Critical
Publication of CN111951876B publication Critical patent/CN111951876B/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
    • 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/1673Reading or sensing circuits or methods
    • 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/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种具有写检测功能和动态冗余的MRAM芯片及其数据读写方法,MRAM芯片包括MRAM主存储单元、若干个外围电路、写入寄存器、写入检测电路、纠错控制器及冗余存储区;MRAM主存储单元和外围电路用于配合执行读写操作;写入寄存器用于暂存待写入地址和待写入数据;MRAM主存储单元每进行一次写入操作,则对应增加一个写入检测电路,以在写入操作失败时向纠错控制器发送报错信号;纠错控制器中设有写入队列和非易失寄存器组,响应于接收到报错信号,纠错控制器控制将待写入数据放入写入队列,每组非易失性寄存器包括出错地址、替换地址、标识和计数器,标明该写入替换为永久性或暂时性,计数器用于针对暂时性的写入替换标明替换地址被使用的次数。

Description

具有写检测功能和动态冗余的MRAM芯片及其数据读写方法
技术领域
本发明涉及半导体芯片领域,特别涉及一种具有写检测功能和动态冗余的MRAM芯片及其数据读写方法。
背景技术
MRAM是一种新的内存和存储技术,可以像SRAM/DRAM一样快速随机读写,还可以像Flash闪存一样在断电后永久保留数据。
它的经济性非常好,单位容量占用的硅片面积非常小,比SRAM有很大的优势;其制造工艺中需要的附加光罩数量较少,比嵌入式NOR Flash的成本优势更大。它的性能也相当好,读写时延接近SRAM,功耗则比闪存低得多。而且MRAM不像DRAM以及Flash那样与标准CMOS半导体工艺不兼容。MRAM可以和逻辑电路集成到一个芯片中。MRAM的原理,是基于一个叫做MTJ(磁性隧道结)的结构。它是由两层铁磁性材料夹着一层非常薄的非铁磁绝缘材料组成的,如图1和图2所示。
下面的一层铁磁材料是具有固定磁化方向的参考层,上面的铁磁材料是可变磁化方向的记忆层,它的磁化方向可以和固定磁化层相平行或反平行(如图1和图2所示)。由于量子物理的效应,电流可以穿过中间的隧道势垒层,但是MTJ的电阻和可变磁化层的磁化方向有关。前一种情况电阻低,后一种情况电阻高。
读取MRAM的过程就是对MTJ的电阻进行测量。使用比较新的STT-MRAM技术,写MRAM也比较简单:使用比读更强的电流穿过MTJ进行写操作。一个自下而上的电流把可变磁化层置成与固定层平行的方向(如图1所示),自上而下的电路把它置成反平行的方向(如图2所示)。
要达到取代DRAM,部分取代SRAM的目标,MRAM的速度有所不足。读出速度可以做得很快,但写入速度,受到写入脉冲长度的物理制约。
把写入脉冲缩短,不一定发生写入失败,只是逐步地,错误率就会上升到不可接受的程度。所以,只要芯片的纠错能力提高,写入的速度也可以很大程度地提高。
另一个提高写速度的方法是加大写电压,不过,加大电压会影响芯片的使用寿命,可能导致少数单元提前损坏。
另一方面,在制造过程中也会有一些损坏的单元,一般用冗余单元来处理。但目前没有一个综合的解决方案,把制造缺陷、提前损坏和加速写入造成的错误综合处理。
专利公布号为US10115446的美国专利,首次提出了error buffer,但关于怎样检测写入错误,怎样判断,没有提供具体的解决办法,本领域技术人员并不能实施该专利的技术方案。
发明内容
为了解决现有技术的问题,本发明利用写入状态检测电路,在ECC校验检测电路的这个基础上,结合冗余存储区,对制造缺陷、提前损坏和加速写入造成的错误提出了综合处理的解决方案,技术方案如下:
一方面,本发明提供了一种具有写检测功能和动态冗余的MRAM芯片,包括MRAM主存储单元和若干个外围电路,所述外围电路包括地址解码器、读写控制器及输入输出控制器,所述MRAM芯片还包括写入寄存器、写入检测电路、纠错控制器及冗余存储区;
所述MRAM主存储单元和外围电路用于配合执行读写操作;
所述写入寄存器用于暂存待写入地址和待写入到该地址的待写入数据;
所述MRAM主存储单元每进行一次写入操作,则对应增加一个写入检测电路;若一个bit的写入操作失败,则所述写入检测电路产生一个报错信号并将其发送给所述纠错控制器;
所述纠错控制器中设有写入队列和非易失寄存器组,所述非易失性寄存器组包括多组非易失性寄存器,响应于接收到报错信号,所述纠错控制器控制将所述写入寄存器中对应于写入操作失败的待写入数据放入所述写入队列,进而产生将该数据写入所述冗余存储区中替换地址的请求,每组非易失性寄存器包括出错地址、替换地址、标识和计数器,所述出错地址为所述写入寄存器中对应于该次失败写入操作的待写入地址,所述标识用于标明所述冗余存储区对应于该次失败写入操作的写入替换为永久性或暂时性,所述计数器用于针对暂时性的写入替换标明所述替换地址被使用的次数。
进一步地,在所述MRAM芯片收到的写指令中的写入地址在出错地址或写入队列的地址中的前提下,若所述出错地址对应的写入替换为永久性的,则将写指令中的待写入数据写入所述冗余存储区中的替换地址;若所述出错地址对应的写入替换为暂时性的,则清除替换地址和所述替换地址中的数据,保留出错地址和计数器中的数据,并在MRAM主存储单元中的写入地址写入所述待写入数据。
进一步地,当接收到所述纠错控制器中的写入请求时,比较所述写入请求中的地址和所述非易失性寄存器中的出错地址是否吻合,若不吻合,则在所述非易失性寄存器组中选择一个空闲寄存器组,在所述空闲寄存器组中写入数据,并将所述替换地址写入所述寄存器组,把数据存入替换地址,并标明该替换为暂时的,计数器为1;若吻合,则将所述替换地址写入所述寄存器组,把数据存入替换地址,并计数器加1;若计数器增加至超过预设的阈值,则将所述冗余存储区对应于该次失败写入操作的写入替换标明为永久性。
进一步地,若所述MRAM芯片在出厂测试中发现损坏单元,则用所述纠错控制器中的标明为永久性的替换地址取代所述损坏单元。
进一步地,所述纠错控制器中的写入队列本身也具有地址,若所述MRAM芯片收到的读指令中的地址为写入队列的地址,则返回所述写入队列中与所述地址相对应的数据。
进一步地,所述冗余存储区是所述MRAM主存储单元外部的独立存储单元,所述MRAM主存储单元与冗余存储区均包含ECC校验检测电路,所述MRAM主存储单元与冗余存储区能够并行进行读写操作。
另一方面,本发明提供了一种基于上述MRAM芯片的数据读取方法,包括以下步骤:
MRAM芯片将接收到的读取指令发送至纠错控制器,所述读取指令包括读取地址;
纠错控制器比较所述读取地址与纠错地址存储单元中存储的出错地址及写入队列中的地址;
若所述读取地址在所述出错地址中,则匹配对应的替换地址,并返回冗余存储区中的该替换地址的数据;
又若所述读取地址在所述写入队列中的地址中,则返回写入队列中该地址的数据;
否则返回MRAM主存储单元中该读取地址的数据。
再一方面,本发明提供了一种基于上述MRAM芯片的数据写入方法,包括以下步骤:
MRAM芯片将接收到的写入指令发送至纠错控制器,所述写入指令包括写入地址和待写入数据;
纠错控制器比较所述写入地址与纠错地址存储单元中存储的出错地址及写入队列中的地址;
若所述写入地址在所述出错地址中或所述写入队列中,若所述出错地址对应的写入替换为永久性的,则将写指令中的待写入数据写入所述冗余存储区中的替换地址;若所述出错地址对应的写入替换为暂时性的,则清除替换地址和所述替换地址中的数据,保留出错地址和计数器中的数据,并在MRAM主存储单元中的写入地址写入所述待写入数据;
若所述写入地址不在所述出错地址中或所述写入队列中,则在MRAM主存储单元中的写入地址写入所述待写入数据。
进一步地,所述数据写入方法还包括处理纠错控制器中的写入请求,包括以下操作:
比较所述写入请求中的地址和所述非易失性寄存器中的出错地址是否吻合,若不吻合,则在所述非易失性寄存器组中选择一个空闲寄存器组,在所述空闲寄存器组中写入数据,并将所述替换地址写入所述寄存器组,把数据存入替换地址,并标明该替换为暂时的,计数器为1;
若吻合,则将所述替换地址写入所述寄存器组,把数据存入替换地址,并计数器加1;
若计数器增加至超过预设的阈值,则将所述冗余存储区对应于该次失败写入操作的写入替换标明为永久性。
进一步地,通过以下方法判断写入操作失败:
若写操作发生的错误bit数量超过预设值,则判定为写入操作失败;
若写操作发生的错误bit数量没有超过预设值,则所述纠错控制器比较所述写入地址与纠错地址存储单元中存储的出错地址及写入队列中的地址,若所述写入地址在所述出错地址中或所述写入队列中,则删除相关的记录,否则继续进行写入操作。
本发明提供的具有写检测功能和动态冗余的MRAM芯片能够产生以下有益效果:
a.能够解决使用损坏问题,使得可以增加写入电压,进一步提高速度;
b.提供了一个经济的写纠错、使用损坏、制造损坏的综合解决方案;
c.在保证高速写入的同时,解决了出错的问题;
d.可靠、可量产的写入检测电路;
e.增加纠错冗余存储,比增强ECC的纠错功能更加经济。后者需要在每个字上进一步增加纠错Bit磁性隧道结和MOS管;
f.应用在于对待机功耗要求很严格的物联网和可穿戴电子设备等领域。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的可变磁化层置成与固定层平行方向的磁性隧道结的结构示意图;
图2为现有技术中的可变磁化层置成与固定层反向平行方向的磁性隧道结的结构示意图;
图3为现有技术提供的MRAM的记忆单元的结构示意图;
图4为现有技术中MRAM芯片的结构示意图;
图5为现有技术中使用芯片上的高阻态或低阻态记忆单元作为参考单元的MRAM芯片的结构示意图;
图6为本发明实施例提供的具有写检测功能和动态冗余的MRAM芯片的结构示意图;
图7为本发明实施例提供的含写检测功能的写电路的结构示意图;
图8为本发明实施例提供的具有写检测功能和动态冗余的MRAM芯片进行数据读取的方法流程图;
图9为本发明实施例提供的具有写检测功能和动态冗余的MRAM芯片进行数据写入的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
每个MRAM的记忆单元由一个MTJ和一个MOS管组成。MOS管的gate连接到芯片的Word Line(以下简称WL位线)负责接通或切断这个单元,MTJ和MOS管串接在芯片的BitLine(以下简称BL位线)上。读写操作在Bit Line上进行,如图3所示。一个MRAM芯片由一个或多个MRAM存储单元的阵列组成,每个阵列有若干外部电路,如图4所示:
行地址解码器把收到的地址变成Word Line的选择;
列地址解码器把收到的地址变成Bit Line的选择;
读写控制器控制Bit Line上的读(测量)写(加电流)操作;
输入输出控制和外部交换数据。
MRAM的读出电路需要检测MRAM记忆单元的电阻。由于MTJ的电阻会随着温度等而漂移,一般的方法是使用芯片上的一些已经被写成高阻态或低阻态记忆单元作为参考单元,如图5所示。再使用读出放大器(Sense Amplifier)来比较记忆单元和参考单元的电阻。
在本发明的一个实施例中,提供了一种具有写检测功能和动态冗余的MRAM芯片,如图6所示,所述MRAM芯片包括MRAM主存储单元和若干个外围电路,所述外围电路包括地址解码器、读写控制器及输入输出控制器,所述MRAM芯片还包括写入寄存器、写入检测电路、纠错控制器及冗余存储区;
所述MRAM主存储单元和外围电路用于配合执行读写操作;
所述写入寄存器用于暂存待写入地址和待写入到该地址的待写入数据;
所述MRAM主存储单元每进行一次写入操作,则对应增加一个写入检测电路;若一个bit的写入操作失败,则所述写入检测电路产生一个报错信号并将其发送给所述纠错控制器;
所述纠错控制器中设有写入队列和非易失寄存器组,所述非易失性寄存器组包括多组非易失性寄存器,响应于接收到报错信号,所述纠错控制器控制将所述写入寄存器中对应于该次失败写入操作的待写入数据放入所述写入队列,进而产生将该数据写入所述冗余存储区中替换地址的请求,每组非易失性寄存器包括出错地址、替换地址、标识和计数器,所述出错地址为所述写入寄存器中对应于该次失败写入操作的待写入地址,所述标识用于标明所述冗余存储区对应于该次失败写入操作的写入替换为永久性或暂时性,所述计数器用于针对暂时性的写入替换标明所述替换地址被使用的次数。
本发明提出增加一个写入状态检测电路,如果写入后发现了写入错误,就把数据留在寄存器内。下一个周期,把数据写入冗余存储区,同时不耽误处理新的读写指令。所述写入状态检测电路的电路示意图如图7所示。
在所述MRAM芯片收到的写指令中的写入地址在出错地址或写入队列的地址中的前提下,若所述出错地址对应的写入替换为永久性的,则将写指令中的待写入数据写入所述冗余存储区中的替换地址;若所述出错地址对应的写入替换为暂时性的,则清除替换地址和所述替换地址中的数据,保留出错地址和计数器中的数据,并在MRAM主存储单元中的写入地址写入所述待写入数据。
当接收到所述纠错控制器中的写入请求时,比较所述写入请求中的地址和所述非易失性寄存器中的出错地址是否吻合,若不吻合,则在所述非易失性寄存器组中选择一个空闲寄存器组,在所述空闲寄存器组中写入数据,并将所述替换地址写入所述寄存器组,并计数器为1;若吻合,则标明所述冗余存储区对应于该次失败写入操作的写入替换为暂时性,并计数器加1;若计数器增加至超过预设的阈值,则将所述冗余存储区对应于该次失败写入操作的写入替换标明为永久性;
若所述MRAM芯片在出厂测试中发现损坏单元,则用所述纠错控制器中的标明为永久性的替换地址取代所述损坏单元。
进一步地,所述纠错控制器中的写入队列本身也具有地址,若所述MRAM芯片收到的读指令中的地址为写入队列的地址,则返回所述写入队列中与所述地址相对应的数据。
进一步地,所述MRAM主存储单元包括一个或多个MRAM记忆单元阵列,每个MRAM记忆单元包括磁性隧道结和MOS管,所述磁性隧道结与MOS管的漏极串联在所述MRAM芯片的BL位线上,所述MOS管的栅极与所述MRAM芯片的WL位线连接。
进一步地,所述地址解码器包括行地址解码器和列地址解码器,所述行地址解码器用于将收到的地址转化为WL位线的选择,所述列地址解码器用于将收到的地址转化为BL位线的选择。
进一步地,所述冗余存储区是所述MRAM主存储单元外部的独立存储单元,所述MRAM主存储单元与冗余存储区均包含ECC校验检测电路,所述MRAM主存储单元与冗余存储区能够并行进行读写操作;
若所述写入检测电路在写脉冲终止前检测到写操作已经完成,则提前终止写操作;若在截止至写脉冲终止时,没能检测到写操作已经完成,则向所述纠错控制器输出报错信号。
优选地,所述MRAM主存储单元与冗余存储区均包含ECC校验检测电路。
本发明的要点如下:
1.MRAM芯片包含主内存区,冗余存储区,纠错控制器,写入队列。
2.纠错控制器包括寄存器组和写入队列,如下:
a)内含批量的非易失的寄存器组,每组寄存器包括:
i.出错地址,也就是被替换的主内存地址;
ii.替换地址,冗余存储区中该地址保存出错地址的数据;
iii.永久标识,标明这个替换是永久的还是暂时的;
iv.计数器,对于非永久的替换,标明这个替换地址被使用的次数。
b)写入队列,包含每一个需要被写入非易失寄存器组的地址和数据。
3.写入寄存器,包含被写入的地址和将要写入的数据。在写入操作的同时,这两个数据保留在这个寄存器内。
4.在主存储的每一个写入单元,增加一个写入检测电路。如果一个bit的写入操作失败了,写入检测电路产生一个信号。报给纠错控制器。
5.冗余存储区是额外的一部分存储单元。可以和主存储区并行进行读写操作。
本发明的MRAM芯片运行模式如下:
1.芯片出场测试中发现的损坏单元,用纠错控制器中用永久的替换地址取代
2.读写的具体步骤如下:
a)当MRAM芯片收到读写指令时,纠错控制器比较收到的地址和其内部的错误地址,以及写入队列中的地址:
i.如果地址不在其中,继续正常读写操作,同时检查写入队列中是否有写入请求。如果有,处理写入请求;
ii.如果地址在其中:
1.如果是读指令,返回冗余单元/写入队列中的数据;
2.如果是写指令,并且出错地址是被永久替换的,把数据写入冗余存储区中的替换地址;
3.如果是写指令,出错地址是被临时替换的,清除替换地址,和替换地址中的数据,保留出错地址和计数器中的数据,继续普通的写操作,并跟踪写入结果。
b)当一次正常读写指令完成时,如果是读操作,继续;如果是写操作:
i.如果写操作发生的错误bit数量没有超过预设值,继续;
ii.如果写操作发生的错误bit数量超过预设值,将写入寄存器中的数据放入纠错控制器的写入队列中,产生写入请求。
c)当处理纠错控制器中的写入请求时,比较地址和非易失存储器中的出错地址:
i.如果没有吻合,在非易失存储器中寻找一个没有使用过的寄存器组,写入出错地址,在冗余存储区中寻找一个空闲的替换地址并写入数据,把替换地址写入寄存器组,把数据存入替换地址,并标明该替换为暂时的,计数器为1,标明非永久替换。
ii.如果有吻合,如果不是永久替换,计数器加1,如果不存在替换地址,在冗余存储器中找一个替换地址并写入,把数据存入替换地址;
iii.如果计数器增加后超过了预设值,将该替换标明为永久的。
在本发明的一个实施例中,提供了一种基于上述MRAM芯片的数据读取方法,如图8所示,包括以下步骤:
S11、MRAM芯片将接收到的读取指令发送至纠错控制器,所述读取指令包括读取地址;
S12、纠错控制器比较所述读取地址与纠错地址存储单元中存储的出错地址及写入队列中的地址;
S131、若所述读取地址在所述出错地址中,则匹配对应的替换地址,并返回冗余存储区中的该替换地址的数据;
S132、又若所述读取地址在所述写入队列中的地址中,则返回写入队列中该地址的数据;
S133、否则返回MRAM主存储单元中该读取地址的数据。
在本发明的另一个实施例中,提供了一种基于上述MRAM芯片的数据写入方法,如图9所示,包括以下步骤:
S21、MRAM芯片将接收到的写入指令发送至纠错控制器,所述写入指令包括写入地址和待写入数据;
S22、纠错控制器比较所述写入地址与纠错地址存储单元中存储的出错地址及写入队列中的地址;
S23、若所述写入地址在所述出错地址中或所述写入队列中,若所述出错地址对应的写入替换为永久性的,则执行S231、将写指令中的待写入数据写入所述冗余存储区中的替换地址;若所述出错地址对应的写入替换为暂时性的,则执行S232、清除替换地址和所述替换地址中的数据,保留出错地址和计数器中的数据,并在MRAM主存储单元中的写入地址写入所述待写入数据;
S24、若所述写入地址不在所述出错地址中或所述写入队列中,则在MRAM主存储单元中的写入地址写入所述待写入数据。
进一步地,所述的MRAM芯片的数据写入方法还包括在步骤S24之后进行以下操作,如图9所示:
S25、写入检测电路检测写入操作状况,若写入操作失败,则向纠错控制器发送报错信号;
S26、写入队列产生写入请求。
进一步地,本发明还包括处理纠错控制器中的写入请求,如图9所示,处理操作包括以下操作:
比较所述写入请求中的地址和所述非易失性寄存器中的出错地址是否吻合,若不吻合,则在所述非易失性寄存器组中选择一个空闲寄存器组,在所述空闲寄存器组中写入数据,并将所述替换地址写入所述寄存器组,把数据存入替换地址,并标明该替换为暂时的,计数器为1;
若吻合,则将所述替换地址写入所述寄存器组,把数据存入替换地址,并计数器加1;
若计数器增加至超过预设的阈值,则将所述冗余存储区对应于该次失败写入操作的写入替换标明为永久性。
进一步地,本发明通过以下方法判断写入操作失败:
若写操作发生的错误bit数量超过预设值,则判定写入操作失败;
否则所述纠错控制器比较所述写入地址与纠错地址存储单元中存储的出错地址及写入队列中的地址,若所述写入地址在所述出错地址中或所述写入队列中,则删除相关的记录,否则继续进行写入操作。
本发明最好的实施方法为:主存储和冗余存储都包含ECC(增加校验bit进行纠错)。例如在一个32或64bit的字中,增加能够纠正两个bit错误的ECC。此时,b)ii中的预设值为2或者3。当写检测电路,探测到超过2-3个bit的写入错误时,动用纠错冗余存储。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种具有写检测功能和动态冗余的MRAM芯片,包括MRAM主存储单元和若干个外围电路,所述外围电路包括地址解码器、读写控制器及输入输出控制器,其特征在于,还包括写入寄存器、写入检测电路、纠错控制器及冗余存储区;
所述MRAM主存储单元和外围电路用于配合执行读写操作;
所述写入寄存器用于暂存待写入地址和待写入到该地址的待写入数据;
所述MRAM主存储单元每进行一次写入操作,则对应增加一个写入检测电路;若一个bit的写入操作失败,则所述写入检测电路产生一个报错信号并将其发送给所述纠错控制器;
所述纠错控制器中设有写入队列和非易失寄存器组,所述非易失性寄存器组包括多组非易失性寄存器,响应于接收到报错信号,所述纠错控制器控制将所述写入寄存器中对应于写入操作失败的待写入数据放入所述写入队列,进而产生将该数据写入所述冗余存储区中替换地址的请求,每组非易失性寄存器包括出错地址、替换地址、标识和计数器,所述出错地址为所述写入寄存器中对应于该次失败写入操作的待写入地址,所述标识用于标明所述冗余存储区对应于该次失败写入操作的写入替换为永久性或暂时性,所述计数器用于针对暂时性的写入替换标明所述替换地址被使用的次数。
2.根据权利要求1所述的MRAM芯片,其特征在于,在所述MRAM芯片收到的写指令中的写入地址在出错地址或写入队列的地址中的前提下,若所述出错地址对应的写入替换为永久性的,则将写指令中的待写入数据写入所述冗余存储区中的替换地址;若所述出错地址对应的写入替换为暂时性的,则清除替换地址和所述替换地址中的数据,保留出错地址和计数器中的数据,并在MRAM主存储单元中的写入地址写入所述待写入数据。
3.根据权利要求1或2所述的MRAM芯片,其特征在于,当接收到所述纠错控制器中的写入请求时,比较所述写入请求中的地址和所述非易失性寄存器中的出错地址是否吻合,若不吻合,则在所述非易失性寄存器组中选择一个空闲寄存器组,在所述空闲寄存器组中写入数据,并将所述替换地址写入所述寄存器组,把数据存入替换地址,并标明该替换为暂时的,计数器为1;若吻合,则将所述替换地址写入所述寄存器组,把数据存入替换地址,并计数器加1;若计数器增加至超过预设的阈值,则将所述冗余存储区对应于该次失败写入操作的写入替换标明为永久性。
4.根据权利要求1所述的MRAM芯片,其特征在于,若所述MRAM芯片在出厂测试中发现损坏单元,则用所述纠错控制器中的标明为永久性的替换地址取代所述损坏单元。
5.根据权利要求1所述的MRAM芯片,其特征在于,所述纠错控制器中的写入队列本身也具有地址,若所述MRAM芯片收到的读指令中的地址为写入队列的地址,则返回所述写入队列中与所述地址相对应的数据。
6.根据权利要求1所述的MRAM芯片,其特征在于,所述冗余存储区是所述MRAM主存储单元外部的独立存储单元,所述MRAM主存储单元与冗余存储区均包含ECC校验检测电路,所述MRAM主存储单元与冗余存储区能够并行进行读写操作。
7.一种基于权利要求1-6中任意一项所述的MRAM芯片的数据读取方法,其特征在于,包括以下步骤:
MRAM芯片将接收到的读取指令发送至纠错控制器,所述读取指令包括读取地址;
纠错控制器比较所述读取地址与纠错地址存储单元中存储的出错地址及写入队列中的地址;
若所述读取地址在所述出错地址中,则匹配对应的替换地址,并返回冗余存储区中的该替换地址的数据;
又若所述读取地址在所述写入队列中的地址中,则返回写入队列中该地址的数据;
否则返回MRAM主存储单元中该读取地址的数据。
8.一种基于权利要求1-6中任意一项所述的MRAM芯片的数据写入方法,其特征在于,包括以下步骤:
MRAM芯片将接收到的写入指令发送至纠错控制器,所述写入指令包括写入地址和待写入数据;
纠错控制器比较所述写入地址与纠错地址存储单元中存储的出错地址及写入队列中的地址;
若所述写入地址在所述出错地址中或所述写入队列中,若所述出错地址对应的写入替换为永久性的,则将写指令中的待写入数据写入所述冗余存储区中的替换地址;若所述出错地址对应的写入替换为暂时性的,则清除替换地址和所述替换地址中的数据,保留出错地址和计数器中的数据,并在MRAM主存储单元中的写入地址写入所述待写入数据;
若所述写入地址不在所述出错地址中或所述写入队列中,则在MRAM主存储单元中的写入地址写入所述待写入数据。
9.根据权利要求8所述的MRAM芯片的数据写入方法,其特征在于,还包括处理纠错控制器中的写入请求,包括以下操作:
比较所述写入请求中的地址和所述非易失性寄存器中的出错地址是否吻合,若不吻合,则在所述非易失性寄存器组中选择一个空闲寄存器组,在所述空闲寄存器组中写入数据,并将所述替换地址写入所述寄存器组,把数据存入替换地址,并标明该替换为暂时的,计数器为1;
若吻合,则将所述替换地址写入所述寄存器组,把数据存入替换地址,并计数器加1;
若计数器增加至超过预设的阈值,则将所述冗余存储区对应于该次失败写入操作的写入替换标明为永久性。
10.根据权利要求9所述的MRAM芯片的数据写入方法,其特征在于,通过以下方法判断写入操作失败:
若写操作发生的错误bit数量超过预设值,则判定为写入操作失败;
若写操作发生的错误bit数量没有超过预设值,则所述纠错控制器比较所述写入地址与纠错地址存储单元中存储的出错地址及写入队列中的地址,若所述写入地址在所述出错地址中或所述写入队列中,则删除相关的记录,否则继续进行写入操作。
CN201910404345.6A 2019-05-15 2019-05-15 具有写检测功能和动态冗余的mram芯片及其数据读写方法 Active CN111951876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910404345.6A CN111951876B (zh) 2019-05-15 2019-05-15 具有写检测功能和动态冗余的mram芯片及其数据读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910404345.6A CN111951876B (zh) 2019-05-15 2019-05-15 具有写检测功能和动态冗余的mram芯片及其数据读写方法

Publications (2)

Publication Number Publication Date
CN111951876A true CN111951876A (zh) 2020-11-17
CN111951876B CN111951876B (zh) 2022-06-03

Family

ID=73335748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910404345.6A Active CN111951876B (zh) 2019-05-15 2019-05-15 具有写检测功能和动态冗余的mram芯片及其数据读写方法

Country Status (1)

Country Link
CN (1) CN111951876B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771143A (en) * 1972-06-01 1973-11-06 Burroughs Corp Method and apparatus for providing alternate storage areas on a magnetic disk pack
JPH03160697A (ja) * 1989-11-17 1991-07-10 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US5153880A (en) * 1990-03-12 1992-10-06 Xicor, Inc. Field-programmable redundancy apparatus for memory arrays
CN1723449A (zh) * 2003-11-06 2006-01-18 罗姆股份有限公司 存储器装置、存储器控制方法和显示装置
CN107430558A (zh) * 2015-03-09 2017-12-01 东芝存储器株式会社 半导体存储装置
CN107516545A (zh) * 2016-06-15 2017-12-26 上海磁宇信息科技有限公司 一种mram芯片及其自测试方法
CN107591177A (zh) * 2016-07-07 2018-01-16 上海磁宇信息科技有限公司 一种包含mram的芯片及其测试方法与维护方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771143A (en) * 1972-06-01 1973-11-06 Burroughs Corp Method and apparatus for providing alternate storage areas on a magnetic disk pack
JPH03160697A (ja) * 1989-11-17 1991-07-10 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US5153880A (en) * 1990-03-12 1992-10-06 Xicor, Inc. Field-programmable redundancy apparatus for memory arrays
CN1723449A (zh) * 2003-11-06 2006-01-18 罗姆股份有限公司 存储器装置、存储器控制方法和显示装置
CN107430558A (zh) * 2015-03-09 2017-12-01 东芝存储器株式会社 半导体存储装置
CN107516545A (zh) * 2016-06-15 2017-12-26 上海磁宇信息科技有限公司 一种mram芯片及其自测试方法
CN107591177A (zh) * 2016-07-07 2018-01-16 上海磁宇信息科技有限公司 一种包含mram的芯片及其测试方法与维护方法

Also Published As

Publication number Publication date
CN111951876B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
USRE48178E1 (en) Semiconductor memory device
US9170879B2 (en) Method and apparatus for scrubbing accumulated data errors from a memory system
JP6209646B2 (ja) 不揮発性メモリのデータ管理方法およびシステム
US10102062B2 (en) Semiconductor storage device
US8775865B2 (en) Method and apparatus for scrubbing accumulated disturb data errors in an array of SMT MRAM memory cells including rewriting reference bits
US8054678B2 (en) Stuck-at defect condition repair for a non-volatile memory cell
JP2014110071A (ja) エラー訂正パリティビットによるmramスマートビット書き込みアルゴリズムの方法および装置
CN103247347A (zh) 提供智能存储器架构的方法和系统
KR102389259B1 (ko) 메모리 장치 및 메모리 장치의 동작 방법
US10229752B2 (en) Memory device correcting data error of weak cell
US7325157B2 (en) Magnetic memory devices having selective error encoding capability based on fault probabilities
US9595354B2 (en) Nonvolatile memory refresh
CN107516545A (zh) 一种mram芯片及其自测试方法
CN111951876B (zh) 具有写检测功能和动态冗余的mram芯片及其数据读写方法
JP2007026477A (ja) 不揮発性記憶装置
CN111899783B (zh) 一种利用写检测的高速mram芯片及其数据读写方法
CN111863059A (zh) 具有动态冗余功能的mram芯片
TW202137205A (zh) 記憶體裝置
JP2010080006A (ja) 磁気メモリの試験方法および試験装置
CN112289352B (zh) 具有ecc功能的mram系统及其操作方法
TW202020875A (zh) 半導體記憶裝置
US11532375B2 (en) Latch circuit and memory device including the same
CN110097904B (zh) 使用打磨参考单元的mram电路及其读写方法
CN116312669A (zh) 存储阵列、存储单元及其数据读写方法
CN111951845A (zh) 一种分级管理冗余存储的mram芯片

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