CN110265074A - 一种层次化多重冗余的磁性随机存储器及其运行方法 - Google Patents
一种层次化多重冗余的磁性随机存储器及其运行方法 Download PDFInfo
- Publication number
- CN110265074A CN110265074A CN201810200945.6A CN201810200945A CN110265074A CN 110265074 A CN110265074 A CN 110265074A CN 201810200945 A CN201810200945 A CN 201810200945A CN 110265074 A CN110265074 A CN 110265074A
- Authority
- CN
- China
- Prior art keywords
- mapping table
- row
- block
- value
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/161—Digital 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 details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/165—Auxiliary circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种层次化多重冗余的磁性随机存储器,包括控制电路、错误检测和校正电路、存储模块、行列地址映射表、块地址映射表;存储模块由K+K’个数据块组成,其中K个数据块是普通块,另外K’个数据块是冗余块;每个数据块有M+M’行、N+N’列,其中M个行是普通行,另外M’个行是冗余行,其中N个列是普通列,另外N’个列是冗余行。本发明通过在不同层次上的冗余,避免了对每一块/行/列都配置专门的失效地址映射表,使用错误检测和校正电路进行实时的错误检测和失效地址映射表更新。从而以较低的成本,使MRAM芯片在部分存储单元失效的情况下仍然能正常工作。
Description
技术领域
本发明涉及一种存储装置,具体涉及一种层次化多重冗余的磁性随机存储器及其操作方法,属于半导体存储技术领域。
背景技术
MRAM是一种新的内存和存储技术,可以像SRAM/DRAM一样快速随机读写,还可以像Flash闪存一样在断电后永久保留数据。它的经济性相当地好,单位容量占用的硅片面积比SRAM有很大的优势,比在此类芯片中经常使用的NOR Flash也有优势,比嵌入式NOR Flash的优势更大。它的性能也相当好,读写时延接近最好的SRAM,功耗则在各种内存和存储技术最优。而且MRAM不像DRAM以及Flash那样与标准CMOS半导体工艺不兼容,MRAM可以和逻辑电路集成到同一个芯片中。
MRAM的读出电路需要检测MRAM记忆单元(磁性隧道结)的电阻。由于磁性隧道结的电阻可能会因为生产工艺、读写次数、温度等原因漂移,从而导致数据错误(读出的数据比特与之前最近一次写入的数据比特相反)。为解决这一问题,可以加入冗余部分,在MRAM的某些部分出现问题时,用冗余部分将其替换。而电路的正确性检测,可以在芯片生产后,或是使用过程中,通过控制芯片将测试数据写入并读出后与写入数据相比较实现。
对于冗余电路而言,关键在于成本和效果的权衡。冗余部分放的太多,则存储电路和相应控制电路特别是地址映射表的成本高;冗余部分不足,则在电路失效时,没有足够的替换。另外对失效电路的检测操作也比较复杂,需要大量的时间和额外的读写操作。并且,检测不够实时,在两次检测当中出现的电路失效只有到下一次检测时才知道,中间仍有数据丢失的风险。若检测频率过高,则一方面消耗***资源,另一方面也导致记忆单元的磨损。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是:MRAM在使用过程中的持久性问题。
为了解决上述技术问题,本发明提供了一种层次化多重冗余的磁性随机存储器,包括控制电路、错误检测和校正电路、存储模块、行列地址映射表、块地址映射表;存储模块由K+K’个数据块组成,其中K个数据块是普通块,另外K’个数据块是冗余块;每个数据块有M+M’行、N+N’列,其中M个行是普通行,另外M’个行是冗余行,其中N个列是普通列,另外N’个列是冗余行;每个冗余块、每个冗余行和每个冗余列均有一个已占用状态位,已占用状态位的初始值均为0。
进一步地,行列地址映射表中共有I条记录,每一条记录对应普通行中的一个失效行或普通列中的一个失效列,I大于或者等于M’+N’。
进一步地,行列地址映射表中每一条记录包括以下条目及条目信息:
a)有效位,表示该条记录是否有效,初始值为0;
b)替换标志位,表示该行/该列是否需被替换,初始值为0;
c)行列标志,表示是行或者列;
d)错误计数,表示该行/该行出错的次数,初始值为0;
e)行列地址,表示出错行/出错列的地址;
f)映射地址,表示出错行/出错列被映射到的冗余行/冗余列的地址。
进一步地,L个行列地址映射表构成一个行列地址映射表池,其中每个行列地址映射表对应块地址映射表中的一条记录,块地址映射表中的记录条数大于或等于L。
进一步地,块地址映射表中每一条记录包括以下条目及条目信息:
a)有效位,表示该条记录是否有效,初始值为0;
b)替换标志位,表示该块是否需被替换,初始值为0;
c)映射表地址,表示该块对应的行列地址映射表;
d)行计数,表示当前块中出错行总个数,初始值为0;
e)列计数,表示当前块中出错列总个数,初始值为0;
f)块地址,表示出错块的地址;
g)映射地址,表示出错块被映射到的冗余块的地址。
进一步地,数据从存储模块中读出后,如果检测到数据有错误,那么往块地址映射表和行列地址映射表中写入信息。检测方法包括:
a)错误检测和校正电路根据校验位检测;
b)控制电路或者外部电路(如中央处理器)将测试数据写入磁性随机存储器并读出,将读出的数据与写入值相比较。
进一步地,包括如下步骤:
步骤一、往块地址映射表的一条空记录中写入块地址映射表条目信息;
步骤二、根据块地址映射表中记录的块地址映射表条目信息,去操作相应的行列地址映射表;
步骤三、往行列地址映射表中写入行列地址映射表条目信息;
步骤四、向行列地址映射表中的某一条记录写入或更新行错误信息;
步骤五、向行列地址映射表中的某一条目写入或更新列错误信息;
步骤六、向块地址映射表中的某一条记录写入或更新替换标志位信息;
步骤七、向块地址映射表中的某一条记录写入或更新块映射地址并相应操作冗余块。
上述一种层次化多重冗余的磁性随机存储器的运行方法如下:
在块地址映射表条目中的行计数或列计数被更新时,如果行计数更新后的值大于或等于冗余行数M’,或者,列计数更新后的值大于或等于冗余列数N’,则将块地址映射表中的替换标志位的值设为1。在将块地址映射表某一条记录的替换标志位的值设为1时,此条记录对应的普通块成为失效块,暂时停止外部对存储模块的读写,为失效块分配一个冗余块,并将冗余块的已占用状态位的值设为1,并将失效块的数据复制到分配来的冗余块中;如果已无可分配的冗余块,则放弃后续操作,向控制电路报告错误。
进一步地,步骤三中,依次匹配以下(1)~(6)所列的选择条件:
(1)已分配的记录;
(2)有效位的值为0的记录;
(3)替换标志位的值为0的记录;
(4)错误计数的值为0的记录;
(5)错误计数的值最小的记录;
(6)最早被更新的记录;
在行列地址映射表中找到匹配上述选择条件的记录,在该条记录中写入行列地址映射表条目信息;如果找不到匹配上述选择条件的记录,则放弃写入,将块地址映射表中的替换标志位的值设置为1,将所述块地址映射表中的映射表地址复位,并将原所对应行列地址映射表全部复位。
进一步地,步骤四中,将行列地址映射表中的有效位的值设置为1,行列标志的值设为行,将行地址写入,将错误计数的值加1;
然后比较错误计数的值Cm和行错误阈值Tm,若Cm大于Tm,则将替换标志位的值设置为1,并在相应的块地址映射表的条目中将行计数的值加1,同时暂时停止外部对磁性随机存储器的读写,为该失效行分配一条冗余行,将该冗余行的已占用状态位的值设置为1,并将失效行的数据复制到该冗余行中。
进一步地,步骤五中,将行列地址映射表中的有效位的值设置为1,行列标志的值设为列,将列地址写入,将错误计数的值加1;
然后比较错误计数的值Cn和列错误阈值Tn,若Cn大于Tn,则将替换标志位的值设置为1,并在相应的块地址映射表的条目中将列计数的值加1,同时暂时停止外部对磁性随机存储器的读写,为该失效列分配一条冗余列,将该冗余列的已占用状态位的值设置为1,并将失效列的数据复制到该冗余列中。
进一步地,在块地址映射表条目中的行计数或列计数被更新时,如果行计数更新后的值大于或等于冗余行数M’,或者,列计数更新后的值大于或等于冗余列数N’,则将块地址映射表中的替换标志位的值设为1。
进一步地,在将块地址映射表某一条记录的替换标志位的值设为1时,此条记录对应的普通块成为失效块,暂时停止外部对存储模块的读写,为失效块分配一个冗余块,并将冗余块的已占用状态位的值设为1,并将失效块的数据复制到分配来的冗余块中;如果已无可分配的冗余块,则放弃后续操作,向控制电路报告错误。
在读写存储模块时,首先经过控制电路,然后选择执行以下操作:
a)将存储模块的块地址与块地址映射表中有效位和替换标志位的值都为1的条目中的块地址相比较,如果相同,则将该块地址替换为条目中的映射地址;
b)将块地址与块地址映射表中有效位的值为1但替换标志位的值不为1的条目中的块地址相比较,如果相同的话,再看行计数和列计数,如果行计数或者列计数不为0,则根据条目中的映射表地址去看相应的行列地址映射表;
c)将行地址与行列地址映射表中有效位和替换标志位的值都为1且行列标志位为行的条目中的行地址相比较,如果相同,则将行地址替换为条目中的映射地址;
d)将列地址与行列地址映射表中有效位和替换标志位的值都为1且行列标志位为列的条目中的列地址相比较,如果相同,则将列地址替换为条目中的映射地址。
本发明的有益效果:本发明提出了一种层次化多重冗余设计的MRAM芯片,通过在不同层次上的冗余,避免了对每一块/行/列都配置专门的失效地址映射表,而只需要将有限的失效地址映射表进行动态分配。本发明还提出了使用错误检测和校正电路进行实时的错误检测和失效地址映射表更新。从而以较低的成本,使MRAM芯片在部分存储单元失效的情况下仍然能正常工作,并且通过对失效存储单元的实时检测,很大程度上降低了数据被存入失效单元从而出错的概率,而且不需要专门的检测时间段,也不需要主控芯片的介入,提升了MRAM芯片的性能和易用性。
附图说明
图1是本发明中的层次化多重冗余的磁性随机存储器的芯片架构示意图;
图2是本发明中的行列地址映射表的示意图;
图3是本发明中的块地址映射表的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。需说明的是,本发明附图均采用简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明提供了一种层次化多重冗余的磁性随机存储器及其运行方法。本发明使用层次化的多重冗余设计,对阵列(块)、行、列分别配置冗余电路。在出错时,首先替换失效的行或列。在一块内失效的行或列较多时,则替换该块。
在本实施例中,冗余层次为两层:一层为块,一层为行/列。当然,也可以分更多的层次,如块内再分页、行内再分字,并为相应层次配置冗余电路。对电路失效的检测则由错误检测和校正电路在数据读取时实时完成,或者由控制电路或者外部电路(如中央处理器)将测试数据写入磁性随机存储器并读出,将读出的数据与写入值相比较而实现。
一个MRAM芯片中,分为K个数据块,每个数据块中有M行、N列,即M×N阵列。在这一芯片中,配置K’个冗余数据块,每个数据块中配置M’行冗余行和N’列冗余列,即(M+M’)×(N+N’)阵列。每一冗余块、冗余行或冗余列均有一个已占用状态位,初始值为0。例如,一个MRAM芯片中,共有512块数据,配置16个冗余数据块。每一块数据是一个512×512的阵列,配置8行冗余行和8行冗余列。每个冗余块、冗余行、冗余列都有一个已占用状态位,共32位。
行列地址映射表中的每一条对应一失效行或失效列,共有I条,I一般应大于或等于冗余行列数目(M’+N’)。行列地址映射表可以有L个,构成一个行列地址映射表池,其中每个行列地址映射表对应块地址映射表中的一条,块地址映射表的条数大于或等于L。
设计一个行列地址映射表,其中包括:
a)有效位,表示当前条目是否有效,初始值为0;
b)替换标志位,表示该行/列是否需被替换,初始值为0;
c)行列标志,表示是行还是列;
d)错误计数,表示当前行/列出错的次数,初始值为0;
e)行列地址,表示出错行/列的地址;
f)映射地址,表示出错行/列被映射到哪一个冗余行/列;
具体地,行列地址映射表共32个,每个16行,每行25比特,其中有效位1比特、替换标志位1比特、行列标记位1比特、错误计数4比特、行列地址9比特、映射地址9比特。行错误检测阈值为2比特,列错误检测阈值为1比特。行错误次数阈值为4,列错误次数阈值为8。
再设计一个块地址映射表,其中包括:
a)有效位,表示当前条目是否有效,初始值为0;
b)替换标志位,表示该块是否需被替换,初始值为0;
c)映射表地址,表示该块对应哪一个行列地址映射表;
d)行计数,表示当前块总的出错行个数,初始值为0;
e)列计数,表示当前块总的出错列的个数,初始值为0;
f)块地址,表示出错块的地址;
g)映射地址,表示出错块被映射到哪一个冗余块。
具体地,块地址映射表共32行,每行33比特,其中有效位1比特、替换标志位1比特、映射表地址5比特、行计数4比特、列计数4比特、块地址9比特、映射地址9比特。
本实施例中,对16MByte的MRAM芯片共使用了约6.37%的额外存储单元和约2.46%的映射表,就较好的解决了MRAM芯片部分储存单元失效的问题。
以下内容详细阐述上述层次化多重冗余的磁性随机存储器的运行方法。
在常规的数据读写时,数据从MRAM储存阵列中读出后经过错误检测和校正电路,如果检测到有错误,往块地址映射表和行列地址映射表中写入信息。
a)在往块地址映射表中写入时,
i.首先看是否已有为该地址分配的记录,如有,更新该条记录;
ii.如无已分配记录,则寻找有效位为0的记录,若找到,则将信息写入;
iii.如果在块地址映射表中找不到有效位为0的记录,则在所有有效位为1且替换标志位为0的记录中找出行列错误计数值均为0的一条,将该条记录清零,然后写入新的内容,同时清除该条记录对应的行列地址映射表信息;
iv.如果仍然找不到,则放弃写入,向控制芯片报告错误,显示已无可用的冗余块地址映射表。
b)根据块地址映射表中的记录,去操作相应的行列地址映射表。
c)在往行列地址映射表中写入时,
i.首先看是否已有为该地址分配的记录,如有,更新该条记录;
ii.如无已分配记录,则寻找有效位为0的记录,若找到,则将信息写入;
iii.如果在行列地址映射表中找不到有效位为0的记录,则在所有有效位为1且替换标志位为0的记录中找出错误计数值最小的一条(若有多条,则取最早被更新的一条),将该条记录清零,然后写入新的内容;
iv.如果仍然找不到,则放弃写入,将块地址映射表中的替换标志位置1,将块地址映射表中的映射表地址复位(置为全1),并将所对应行列地址映射表全部复位。
d)向行列地址映射表中的某一条目写入或更新行错误信息,
i.将有效位置为1,行列标志分布置为行,将行地址写入,将错误计数器加1;
ii.比较错误计数器的值Cm和行错误阈值Tm,若Cm大于Tm,则将替换标志位置为1,并在相应的块地址映射表的条目中将行计数器加1,同时暂时停止外部对MRAM阵列的读写,为该失效行分配一条冗余行,将冗余行的已占用状态位置为1,并将失效行的数据复制到分配的冗余行中。
e)向行列地址映射表中的某一条目写入或更新列错误信息,
i.将有效位置为1,行列标志分布置为列,将列地址写入,将错误计数加1;
ii.比较错误计数器的值Cn和列错误阈值Tn,若Cn大于Tn,则将替换标志位置为1,并在相应的块地址映射表的条目中将列计数器加1,同时暂时停止外部对MRAM阵列的读写,为该失效列分配一条冗余列,将冗余列的已占用状态位置为1,并将失效列的数据复制到分配的冗余列中。
f)在块地址映射表条目中的行列计数器被更新时,如果行计数器更新后的值大于等于冗余行数M’或者列计数器更新后的值大于等于冗余列数N’,则将替换标志位置为1。
g)在将块地址映射表某一条的替换标志位置为1时,要暂时停止外部对MRAM阵列的读写,为该失效块分配一冗余块,将冗余块的已占用状态位置为1,并将失效块的数据复制到分配的冗余块中。
h)在将块地址映射表某一条的替换标志位置为1时,如果已无可分配的冗余块,则放弃后续操作,向控制芯片报告错误,显示已无可用的冗余块。
在读写MRAM芯片时,首先经过控制电路,
a)将块地址与块地址映射表中有效位和替换标志位都为1的条目中块地址相比较,如果相同的话将块地址替换为条目中的映射地址
b)将块地址与块地址映射表中有效位为1但替换标志位不为1的条目中的块地址相比较,如果相同的话再看行计数器和列计数器,如果行计数器或者列计数器不为0,则根据条目中的映射表地址去看相应的行列地址映射表
c)将行地址与行列地址映射表中有效位和替换标志位都为1且行列标志位为行的条目中的行地址相比较,如果相同的话将行地址替换为条目中的映射地址
d)将列地址与行列地址映射表中有效位和替换标志位都为1且行列标志位为列的条目中的列地址相比较,如果相同的话将列地址替换为条目中的映射地址。
本发明属于半导体芯片领域,其最重要的应用在于对待机功耗要求很严格的物联网和可穿戴电子设备等领域。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (14)
1.一种磁性随机存储器,其特征在于,包括控制电路、错误检测和校正电路、存储模块、行列地址映射表、块地址映射表;所述存储模块由K+K’个数据块组成,其中K个所述数据块是普通块,另外K’个所述数据块是冗余块;每个所述数据块有M+M’行、N+N’列,其中M个所述行是普通行,另外M’个所述行是冗余行,其中N个所述列是普通列,另外N’个所述列是冗余行;每个所述冗余块、每个所述冗余行和每个所述冗余列均有一个已占用状态位,所述已占用状态位的初始值均为0。
2.根据权利要求1所述的一种磁性随机存储器,其特征在于,所述行列地址映射表中共有I条记录,每一条所述记录对应所述普通行中的一个失效行或所述普通列中的一个失效列,I大于或者等于M’+N’。
3.根据权利要求2所述的一种磁性随机存储器,其特征在于,所述行列地址映射表中每一条记录包括以下条目及条目信息:
a)有效位,表示该条记录是否有效,初始值为0;
b)替换标志位,表示该行/该列是否需被替换,初始值为0;
c)行列标志,表示是行或者列;
d)错误计数,表示该行/该行出错的次数,初始值为0;
e)行列地址,表示出错行/出错列的地址;
f)映射地址,表示出错行/出错列被映射到的冗余行/冗余列的地址。
4.根据权利要求3所述的一种磁性随机存储器,其特征在于,L个所述行列地址映射表构成一个行列地址映射表池,其中每个所述行列地址映射表对应所述块地址映射表中的一条记录,所述块地址映射表中的记录条数大于或等于L。
5.根据权利要求4所述的一种磁性随机存储器,其特征在于,所述块地址映射表中每一条记录包括以下条目及条目信息:
a)有效位,表示该条记录是否有效,初始值为0;
b)替换标志位,表示该块是否需被替换,初始值为0;
c)映射表地址,表示该块对应的行列地址映射表;
d)行计数,表示当前块中出错行总个数,初始值为0;
e)列计数,表示当前块中出错列总个数,初始值为0;
f)块地址,表示出错块的地址;
g)映射地址,表示出错块被映射到的冗余块的地址。
6.根据权利要求5所述的一种磁性随机存储器的运行方法,其特征在于,数据从所述存储模块中读出后经所述错误检测和校正电路处理,如果检测到所述数据有错误,那么往所述块地址映射表和所述行列地址映射表中写入条目信息。
7.根据权利要求6所述的一种磁性随机存储器的运行方法,其特征在于,所述控制电路或者外部电路将测试数据写入所述磁性随机存储器并读出,将读出的数据与所述测试数据的写入值相比较,如果不一致,则往所述块地址映射表和所述行列地址映射表中写入所述条目信息。
8.根据权利要求7所述的一种磁性随机存储器的运行方法,其特征在于,包括如下步骤:
步骤一、往所述块地址映射表的一条空记录中写入块地址映射表条目信息;
步骤二、根据所述块地址映射表中记录的所述块地址映射表条目信息,去操作相应的行列地址映射表;
步骤三、往所述行列地址映射表中写入行列地址映射表条目信息;
步骤四、向所述行列地址映射表中的某一条记录写入或更新行错误信息;
步骤五、向所述行列地址映射表中的某一条记录写入或更新列错误信息。
9.根据权利要求8所述的一种磁性随机存储器的运行方法,其特征在于,所述步骤三中,依次匹配以下(1)~(6)所列的选择条件:
(1)已分配的记录;
(2)有效位的值为0的记录;
(3)替换标志位的值为0的记录;
(4)错误计数的值为0的记录;
(5)错误计数的值最小的记录;
(6)最早被更新的记录;
在所述行列地址映射表中找到匹配上述选择条件的记录,在该条记录中写入所述行列地址映射表条目信息;如果找不到匹配上述选择条件的记录,则放弃写入,将所述块地址映射表中的替换标志位的值设置为1,将所述块地址映射表中的映射表地址复位,并将原所对应行列地址映射表全部复位。
10.根据权利要求8所述的一种磁性随机存储器的运行方法,其特征在于,步骤四中,将所述行列地址映射表中的有效位的值设置为1,行列标志的值设为行,将行地址写入,将错误计数的值加1;
然后比较错误计数的值Cm和行错误阈值Tm,若Cm大于Tm,则将替换标志位的值设置为1,并在相应的块地址映射表的条目中将行计数的值加1,同时暂时停止外部对所述磁性随机存储器的读写,为该失效行分配一条冗余行,将该冗余行的已占用状态位的值设置为1,并将失效行的数据复制到该冗余行中。
11.根据权利要求8所述的一种磁性随机存储器的运行方法,其特征在于,步骤五中,将所述行列地址映射表中的有效位的值设置为1,行列标志的值设为列,将列地址写入,将错误计数的值加1;
然后比较错误计数的值Cn和列错误阈值Tn,若Cn大于Tn,则将替换标志位的值设置为1,并在相应的块地址映射表的条目中将列计数的值加1,同时暂时停止外部对所述磁性随机存储器的读写,为该失效列分配一条冗余列,将该冗余列的已占用状态位的值设置为1,并将失效列的数据复制到该冗余列中。
12.根据权利要求8所述的一种磁性随机存储器的运行方法,其特征在于,在所述块地址映射表条目中的所述行计数或所述列计数被更新时,如果所述行计数更新后的值大于或等于冗余行数M’,或者,所述列计数更新后的值大于或等于冗余列数N’,则将所述块地址映射表中的替换标志位的值设为1。
13.根据权利要求12所述的一种磁性随机存储器的运行方法,其特征在于,在将所述块地址映射表某一条记录的替换标志位的值设为1时,此条记录对应的普通块成为失效块,暂时停止外部对所述存储模块的读写,为所述失效块分配一个冗余块,并将所述冗余块的已占用状态位的值设为1,并将所述失效块的数据复制到分配来的所述冗余块中;如果已无可分配的冗余块,则放弃后续操作,向所述控制电路报告错误。
14.根据权利要求13所述的一种磁性随机存储器的运行方法,其特征在于,在读写所述存储模块时,首先经过所述控制电路,然后选择执行以下操作:
a)将存储模块的块地址与所述块地址映射表中有效位和替换标志位的值都为1的条目中的块地址相比较,如果相同,则将该块地址替换为条目中的映射地址;
b)将块地址与所述块地址映射表中有效位的值为1但替换标志位的值不为1的条目中的块地址相比较,如果相同的话,再看行计数和列计数,如果行计数或者列计数不为0,则根据条目中的映射表地址去看相应的行列地址映射表;
c)将行地址与行列地址映射表中有效位和替换标志位的值都为1且行列标志位为行的条目中的行地址相比较,如果相同,则将行地址替换为条目中的映射地址;
d)将列地址与行列地址映射表中有效位和替换标志位的值都为1且行列标志位为列的条目中的列地址相比较,如果相同,则将列地址替换为条目中的映射地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810200945.6A CN110265074B (zh) | 2018-03-12 | 2018-03-12 | 一种层次化多重冗余的磁性随机存储器及其运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810200945.6A CN110265074B (zh) | 2018-03-12 | 2018-03-12 | 一种层次化多重冗余的磁性随机存储器及其运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110265074A true CN110265074A (zh) | 2019-09-20 |
CN110265074B CN110265074B (zh) | 2021-03-30 |
Family
ID=67911455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810200945.6A Active CN110265074B (zh) | 2018-03-12 | 2018-03-12 | 一种层次化多重冗余的磁性随机存储器及其运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110265074B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214448A (zh) * | 2020-10-10 | 2021-01-12 | 中科声龙科技发展(北京)有限公司 | 异质集成工作量证明运算芯片的数据动态重构电路及方法 |
CN113704142A (zh) * | 2021-09-02 | 2021-11-26 | 海飞科(南京)信息技术有限公司 | 片上存储的地址重映射电路 |
CN117708000A (zh) * | 2024-02-05 | 2024-03-15 | 成都佰维存储科技有限公司 | 数据的随机写入方法、装置、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4660179A (en) * | 1983-12-16 | 1987-04-21 | Fujitsu Limited | Semiconductor memory device with switching for redundant cells |
US20030179643A1 (en) * | 2002-03-19 | 2003-09-25 | Winograd Gil I. | Efficient column redundancy techniques |
US20040145946A1 (en) * | 2003-01-27 | 2004-07-29 | Renesas Technology Corp. | Non-volatile semiconductor device having a means to relieve a deficient erasure address |
CN101587744A (zh) * | 2009-06-19 | 2009-11-25 | 上海微小卫星工程中心 | 一种大规模flash存储阵列的多层次数据冗余方法 |
WO2014047225A1 (en) * | 2012-09-18 | 2014-03-27 | Mosys, Inc. | Substitute redundant memory |
CN103907097A (zh) * | 2011-09-30 | 2014-07-02 | 美国网域存储技术有限公司 | 用于控制虚拟存储器具存储装置分配的智能 |
CN102543171B (zh) * | 2012-02-17 | 2015-01-21 | 北京时代全芯科技有限公司 | 一种具有冗余电路的相变存储器及其实现冗余的方法 |
CN104679893A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种基于大数据的信息检索方法 |
US20160179422A1 (en) * | 2014-12-19 | 2016-06-23 | Samsung Electronics Co., Ltd. | Method of performing garbage collection and raid storage system adopting the same |
CN106354652A (zh) * | 2015-07-15 | 2017-01-25 | 上海华虹集成电路有限责任公司 | 非易失性存储器读写控制电路及方法 |
CN106782666A (zh) * | 2015-11-25 | 2017-05-31 | 北京大学深圳研究生院 | 一种三维堆叠存储器 |
-
2018
- 2018-03-12 CN CN201810200945.6A patent/CN110265074B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4660179A (en) * | 1983-12-16 | 1987-04-21 | Fujitsu Limited | Semiconductor memory device with switching for redundant cells |
US20030179643A1 (en) * | 2002-03-19 | 2003-09-25 | Winograd Gil I. | Efficient column redundancy techniques |
US20040145946A1 (en) * | 2003-01-27 | 2004-07-29 | Renesas Technology Corp. | Non-volatile semiconductor device having a means to relieve a deficient erasure address |
CN101587744A (zh) * | 2009-06-19 | 2009-11-25 | 上海微小卫星工程中心 | 一种大规模flash存储阵列的多层次数据冗余方法 |
CN103907097A (zh) * | 2011-09-30 | 2014-07-02 | 美国网域存储技术有限公司 | 用于控制虚拟存储器具存储装置分配的智能 |
CN102543171B (zh) * | 2012-02-17 | 2015-01-21 | 北京时代全芯科技有限公司 | 一种具有冗余电路的相变存储器及其实现冗余的方法 |
WO2014047225A1 (en) * | 2012-09-18 | 2014-03-27 | Mosys, Inc. | Substitute redundant memory |
US20160179422A1 (en) * | 2014-12-19 | 2016-06-23 | Samsung Electronics Co., Ltd. | Method of performing garbage collection and raid storage system adopting the same |
CN104679893A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种基于大数据的信息检索方法 |
CN106354652A (zh) * | 2015-07-15 | 2017-01-25 | 上海华虹集成电路有限责任公司 | 非易失性存储器读写控制电路及方法 |
CN106782666A (zh) * | 2015-11-25 | 2017-05-31 | 北京大学深圳研究生院 | 一种三维堆叠存储器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214448A (zh) * | 2020-10-10 | 2021-01-12 | 中科声龙科技发展(北京)有限公司 | 异质集成工作量证明运算芯片的数据动态重构电路及方法 |
CN112214448B (zh) * | 2020-10-10 | 2024-04-09 | 声龙(新加坡)私人有限公司 | 异质集成工作量证明运算芯片的数据动态重构电路及方法 |
CN113704142A (zh) * | 2021-09-02 | 2021-11-26 | 海飞科(南京)信息技术有限公司 | 片上存储的地址重映射电路 |
CN113704142B (zh) * | 2021-09-02 | 2022-06-14 | 海飞科(南京)信息技术有限公司 | 片上存储的地址重映射电路 |
CN117708000A (zh) * | 2024-02-05 | 2024-03-15 | 成都佰维存储科技有限公司 | 数据的随机写入方法、装置、电子设备及存储介质 |
CN117708000B (zh) * | 2024-02-05 | 2024-05-07 | 成都佰维存储科技有限公司 | 数据的随机写入方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110265074B (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10732847B2 (en) | Optimistic read operation | |
CN108376120B (zh) | 用于管理在非易失性存储器***中写入块的***和方法 | |
US7545689B2 (en) | Method and apparatus for improving yield in semiconductor devices by guaranteeing health of redundancy information | |
CN101996689B (zh) | 存储器错误处理方法 | |
US9996417B2 (en) | Data recovery in memory having multiple failure modes | |
CN103019873B (zh) | 一种存储器故障单元的替换方法及装置、数据存储*** | |
CN100422962C (zh) | 半导体存储装置 | |
CN102023815B (zh) | 在固态存储器中实现raid | |
CN103119569B (zh) | 基于存储条的非易失性多级存储器操作 | |
US6236602B1 (en) | Dynamic configuration of storage arrays | |
US9875810B2 (en) | Self-identifying memory errors | |
US8467258B2 (en) | Method and apparatus for bit cell repair | |
CN110265074A (zh) | 一种层次化多重冗余的磁性随机存储器及其运行方法 | |
US20100037102A1 (en) | Fault-tolerant non-volatile buddy memory structure | |
US9875064B2 (en) | Storage system architecture for improved data management | |
CN109308933A (zh) | 存储器修复方案 | |
US11442666B2 (en) | Storage system and dual-write programming method with reverse order for secondary block | |
US4528665A (en) | Gray code counter with error detector in a memory system | |
CN104750577B (zh) | 面向片上大容量缓冲存储器的任意多位容错方法及装置 | |
CN109273042A (zh) | Nand存储器及其访问方法、访问装置 | |
US8661320B2 (en) | Independent orthogonal error correction and detection | |
JPH05225074A (ja) | メモリシステム及びデータ記憶装置 | |
CN205541960U (zh) | 一种与非型闪存中坏列的处理装置及与非型闪存 | |
US20230045156A1 (en) | Method and Storage System with a Non-Volatile Bad Block Read Cache Using Partial Blocks | |
JPH03134900A (ja) | 記憶装置 |
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 |