CN103019873A - 一种存储器故障单元的替换方法及装置、数据存储*** - Google Patents
一种存储器故障单元的替换方法及装置、数据存储*** Download PDFInfo
- Publication number
- CN103019873A CN103019873A CN201210509033XA CN201210509033A CN103019873A CN 103019873 A CN103019873 A CN 103019873A CN 201210509033X A CN201210509033X A CN 201210509033XA CN 201210509033 A CN201210509033 A CN 201210509033A CN 103019873 A CN103019873 A CN 103019873A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- replacement
- mapping table
- storer
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明适用于数据处理领域,提供一种存储器故障单元的替换方法及装置、数据存储***,其中所述方法包括:根据读取地址读取主存储器中对应数据,并检测所述数据是否正确;若所述数据错误,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;若所述数据正确,则将所述数据直接返回至处理器。使用本方法即使主存储器存储单元中出现了多处错误,亦可通过映射表获取正确的数据,并且替换存储器的容量也非常小,成本和功耗都很低。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种存储器故障单元的替换方法及装置、数据存储***。
背景技术
常用的半导体随机存取存储器可以分为动态随机存取存储器DRAM和静态随机存取存储器SRAM两大类,DRAM具有集成度高、速度快等特点,主要用作***的内存;SRAM可以达到更高的速度,不需要定时刷新,但是集成度较低,因此主要用作高速缓存。
DRAM和SRAM都通过电荷来保存信息,例如DRAM是根据晶体管栅极电容是否存有电荷来表示1或0,SRAM是根据晶体管的导通或截止来表示1或0。它们在外部宇宙射线或芯片封装材料中放射性元素的影响下,电荷状态可能发生变化,例如从1变成0,导致保存的信息出现变化。这种现象称为软失效,但是其中的存储单元并未损坏,只是信息发生变化而已,可以通过重新写入数据将其纠正。此外,芯片工作电压的波动、电磁干扰也会引起软失效,随着半导体生产工艺的不断改进,DRAM和SRAM的集成度越来越高,工作电压也在不断降低,因此软失效的几率在不断增加。同时,存储器也会有个别存储单元出现硬失效,这种故障无法通过重新写入数据进行纠正,从该存储单元中读出来的数据可能一直是1、一直是0或者不确定。
存储器中保存的是***运行的代码和数据,如果其中的内容发生变化,会产生意料不到的结果,甚至可能使得***运行失常或死机。
为了解决存储单元的失效问题,现有技术中通过采用ECC(Error Check andCorrection,检错纠错)算法,在现有存储器的基础上新增一片校验存储器(例如内存条上有9个存储器芯片,其中8个是数据存储器,1个是校验存储器),两者共用同一个通道。每次向存储器写入数据时,将根据ECC算法得到的校验数据也一起写入校验存储器,从存储器读出数据时,也一起读出校验存储器中的数据,并根据ECC算法检测是否发生了错误。如果出现了单比特错误,ECC算法可以将其纠正,得到正确的数据。但ECC算法的纠错能力很有限,一般只能纠正单个比特的错误,如果发生多个比特错误将无法纠正。同时,虽然ECC算法将读出的单比特错误纠正了,但存储器中的内容仍然是错误的,如果此后再发生一个比特的失效就无法纠正了。
为此,现有技术为了进一步提高纠错能力,将两个完全相同的存储器组成镜像或锁步方式,使用两个通道与存储控制器连接。其中镜像方式是将两个存储器的内容组成一一对应的关系,当检测到其中一个存储器的数据出错时,再从另一个存储器取数据,因此可以容忍整个存储器失效;锁步方式是将两个存储器通道组合成一个逻辑通道,采用了更先进的纠错算法,可以容忍单个存储器芯片失效。但是显然,所述镜像方式和锁步方式都要求使用两组容量、速度完全一样的存储器,增加了***成本和功耗。
发明内容
鉴于上述问题,本发明提供一种存储器故障单元的替换方法及装置和数据存储***,旨在解决现有技术中,通过增加校验存储器,采用ECC算法的纠错能力很有限,以及采用镜像方式或锁步方式增加了***成本和功耗的技术问题。
第一方面,所述存储器故障单元的替换方法包括:根据读取地址读取主存储器中对应数据;检测所述数据是否正确;若所述数据错误,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;若所述数据正确,则将所述数据直接返回至处理器。
在第一方面的第一种可能的实现方式中,所述根据读取地址读取主存储器中对应数据,并检测所述数据是否正确步骤之前,还包括:根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,若所述数据错误,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器步骤,具体包括:若所述数据错误且无法纠正,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器。
结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,若所述数据错误但可以纠正,则将纠正后的数据返回至处理器。
结合第一方面第二种可能的实现方式,在第四种可能的实现方式中,若所述数据错误且无法纠正,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器步骤,具体包括:若所述数据错误且无法纠正,同时映射表中存在所述读取地址,则根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器。
结合第一方面第四种可能的实现方式中,在第五种可能的实现方式中,若所述数据错误且无法纠正,同时映射表中不存在所述读取地址,则分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并输出重启指令。
结合第一方面第三种可能的实现方式,在第六种可能的实现方式中,所述若所述数据错误但可以纠正,则将纠正后的数据返回至处理器步骤,具体包括:若所述数据错误但可以纠正,同时映射表中存在所述读取地址,则将纠正后的数据返回至处理器。
结合第一方面地六种可能的实现方式,在第七种可能实现的方式中,若所述数据错误但可以纠正,同时映射表中不存在所述读取地址,则将纠正后的数据返回至处理器,再分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并将纠正后数据写入所述空白地址对应的存储单元。
结合第一方面的第五种或第七种可能的实现方式,在第八中可能的实现方式中,在写入新的映射表项时若已达到映射表的容量上限,则随机选取一个映射表项替换为所述新的映射表项;或者,在映射表中按照顺序顺次替换所述新的映射表项;或者,将最近最少使用的映射表项替换为所述新的映射表项。
结合第一方面第八中可能的实现方式,在第九种可能的实现方式中,在写入新的映射表项时若已达到映射表的容量上限,则同时向处理器输出中断告警。
第二方面,所述存储器故障单元的替换装置包括:读取检测单元,用于根据读取地址读取主存储器中对应数据,并检测所述数据是否正确;替换数据返回单元,用于当所述读取检测单元检测到所述数据错误时,映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;数据直接返回单元,用于当所述读取检测单元检测到所述数据正确时,将所述数据直接返回至处理器。
在第二方面的第一种可能的实现方式中,所述装置还包括:数据写入单元,用于根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述替换数据返回单元包括:替换返回模块,用于当所述数据错误且无法纠正时,在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器;纠正返回模块,用于当所述数据错误但可以纠正时,将纠正后的数据返回至处理器。
结合第二方面第二种可能的实现方式,在第三种可能的实现方式中,所述替换返回模块包括:替换返回组件,用于当所述数据错误且无法纠正,同时映射表中存在所述读取地址时,根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器;刷新重启组件,用于当所述数据错误且无法纠正,同时映射表中不存在所述读取地址时,分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并输出重启指令。
结合第二方面第二种可能的实现方式,在第四种可能的实现方式中,所述纠正返回模块包括:纠正直接返回组件,用于当所述数据错误但可以纠正,同时映射表中存在所述读取地址时,将纠正后的数据返回至处理器;纠正刷新写入组件,用于当所述数据错误但可以纠正,同时映射表中不存在所述读取地址时,分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并将纠正后数据写入所述空白地址对应的存储单元。
第三方面,所述数据存储***包括用于控制读写操作的存储控制器、用于向存储控制器发送读写指令的处理器,所述存储控制器的第一通道接口连接有主存储器,第二通道接口连接有替换存储器,所述存储控制器中保存有第一映射表,所述存储控制器还包括存储器故障单元的替换装置,其中所述第一映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据。
在第三方面的第一种可能的实现方式中,所述替换存储器中还保存有与所述第一映射表内容相同的第二映射,所述第一映射表刷新时,所述第二映射表同步刷新。在第三方面的第二种可能的实现方式中,所述存储控制器还连接有映射表存储器,所述映射表存储器中保存有与所述第一映射表内容相同的第二映射表,所述第一映射表刷新时,所述第二映射表同步刷新。
结合第三方面的第一种、第二种可能的实现方式,在第三方面的第三种可能的实现方式中,当储控制器所在单板重启时,储控制器将替换存储器或映射表存储器中保存的第二映射表加载更新到本地的第一映射表中。
结合第三方面以及第三方面的第一种、第二种、第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述主存储器为动态随机存取存储器DRAM或静态随机存取存储器SRAM;所述替换存储器为DRAM、SRAM或相变存储器PCRAM。
在本发明实施例中,通过增加了一块位于独立通道的小容量替换存储器,该替换存储器中保存有主存储器中故障单元对应的正确数据,主存储器的故障单元的地址与替换存储器的对应正确数据的地址作为一个映射表项存储在映射表中,在读取主存储器中的数据时,若检测到数据有误,可以通过查找映射表,找到故障单元地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,因此本发明实施例增加了一个用于存储故障单元替换数据的替换存储器,能够识别出主存储器的故障单元,即使出现了多处错误,亦可在替换存储器中获取正确的数据,同时,由于存储单元故障概率很小,访问替换存储器的概率也很小,因此对***整体读写性能影响很小,并且替换存储器的容量也非常小,成本和功耗都很低。
附图说明
图1是本发明第一实施例提供的一种存储器故障单元的替换方法的流程图;
图2是本发明第二实施例提供的一种存储器故障单元的替换方法的流程图;
图3是本发明第三实施例提供的一种存储器故障单元的替换方法的流程图;
图4是本发明第四实施例提供的一种存储器故障单元的替换装置的结构方框图;
图5是本发明第五实施例提供的一种存储器故障单元的替换装置的结构方框图;
图6是本发明第六实施例提供的一种存储器故障单元的替换装置的结构方框图;
图7是本发明第七实施例提供的一种数据存储***的结构图;
图8是本发明第七实施例提供的另一种数据存储***的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明在现有主存储器之外增加了一个小容量的替换存储器,所述替换存储器位于独立的通道接口连接到存储控制器,所述替换存储器中存储有主存储器中故障单元的对应的正确数据,主存储器的故障单元的地址与替换存储器的对应正确数据的地址作为一个映射表项存储在映射表中,通过查找映射表找到故障单元地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种存储器故障单元的替换方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
步骤S101、根据读取地址读取主存储器中对应数据;
步骤S102、检测所述数据是否正确。
当需要读取主存储器的数据时,处理器发出读数据指令,所述读数据指令包括主存储器中数据的读取地址。在具体实现时,将该读取地址保存在地址寄存器中,供后续查找映射表;在获取到读取地址对应的数据时,将该数据保存到数据寄存器中,存储控制器中的检测纠错单元对所述数据进行校验。
步骤S103、若所述数据错误,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据。
在本发明实施中,映射表保存在存储控制器中,映射表保存有主存储器中故障单元的地址和替换存储器中对应替换地址的映射关系,每个映射关系作为一个映射表项存储,作为一种具体实现方式,存储格式如下:
主存储器故障单元地址 | 替换存储器替换地址 |
故障单元地址1 | 替换地址1 |
故障单元地址2 | 替换地址2 |
...... | ...... |
故障单元地址N | 替换地址N |
所述映射表的容量可以事先确定,这与主存储器的容量大小和失效概率有关,通常主存储器的失效概率很小,因此映射表的容量可以比较小,例如对于1GB容量的主存储器,其映射表可以选择64、128或256个映射表项。
当检测到所述数据存在错误时,当前读取地址所对应的存储单元可以认为是故障单元,根据读取地址(亦即映射表中的故障单元地址)在所述映射表中查找对应的替换地址,替换存储器中所述替换地址对应的替换数据就是所述故障单元对应的正确数据,将该替换数据返回至处理器,供处理器后续处理即可。
步骤S104、若所述数据正确,则将所述数据直接返回至处理器。
当检测所述数据正确,可以将所述数据返回至处理器,供处理器后续处理即可。
在本发明实施例中,即使故障单元中出现了多处数据错误,只需查找映射表找到故障单元对应的替换地址,从替换存储器中找到所述替换地址对应的替换数据返回至处理器即可,该替换数据就是故障单元对应的正确数据。此外,由于主存储器的存储单元失效的概率很小,所以访问替换存储器基本不会影响***效率。
实施例二:
图2示出了本发明第二实施例提供的一种存储器故障单元的替换方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
步骤S201、根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元。
当需要向主存储器写入数据时,判断所述映射表中存在所述写入地址,若存在,则将数据同时写入主存储器和替换存储器中对应的存储单元;否则数据只写入主存储器中对应的存储单元。
所述映射表中存储的是主存储器中的故障单元的地址与替换存储器中对应的替换地址的映射表项,在需要向主存储器写入数据时,处理器会发出一个写数据指令,所述写数据指令包括需要向主存储器写入数据的写入地址,查找映射表中是否存在所述写入地址,步骤S202、根据读取地址读取主存储器中对应数据;
步骤S203、检测所述数据是否正确。
步骤S202-S203与步骤S101-S102相同,此处不再赘述。
步骤S204、若所述数据错误,同时判断所述数据是否可纠正。
在本步骤中,通过预设的校验算法检测数据,主存储器中存储有数据以及所述数据相应的校验位,在读取数据的同时获取相应的校验位,再对所述数据用校验算法计算,得到的结果与所述获取的校验位进行比对,即可检测出所述数据是否存在错误以及是否可纠正。具体的,可以通过输出一个2bit的状态信号error来表示不同的检测状态。如可以设置当检测出所述数据正确,则error=0;当检测出所述数据存在错误并可以纠正,则error=1;当检测出所述数据错误但不可纠正,则error=2。
步骤S205、若所述数据错误且不可纠正,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器。
若通过比对检测位,发现所述数据不可纠正,这里数据能否纠正与校验位的位数和校验算法有关,比如对于常用的ECC算法,只能发现错误并能纠错一位,当数据出现2位或者更多位数数据错误,则无法进行纠错。在本步骤中,若出现此种情况,所述数据存在错误但不可纠正,那么再查找映射表,根据映射表中的映射表项,找到当前读取地址(亦即故障单元地址)所对应的替换地址,在替换存储器中获取所述替换地址对应的替换数据作为正确的数据返回至处理器。因此,在本步骤中可以实现对于无法纠错的情况,通过访问替换存储器亦可得到正确的数据结果。
步骤S206、若所述数据错误但可纠正,将纠正后的数据返回至处理器。
若通过校验算法可以进行错误纠正,则直接将纠正后的数据返回至处理器。由于访问替换存储器获取正确数据的效率较低,因此在本步骤中,在可以通过校验算法纠正数据时,就无需访问替换存储器,这样可以进一步提高数据读取效率。
步骤S207、若所述数据正确,则将所述数据直接返回至处理器。
本发明实施例与实施例一不同在于,本实施例为了提高数据读取效率,当检测到数据出错时还要判断数据错误是否可纠正,若数据可纠正就无需通过查找映射表访问替换存储器,如此总体上减少了替换存储器的访问次数,提高了数据读取效率;此外还增加了数据写入步骤,得到一个比较完整的技术方案。
实施例三:
图3示出了本发明第三实施例提供的一种存储器故障单元的替换方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
步骤S301、根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元;
步骤S302、根据读取地址读取主存储器中对应数据;
步骤S303、检测所述数据是否正确;
步骤S304、若所述数据错误,同时判断所述数据是否可纠正。
步骤S301-S304与步骤S201-S204相同,此处不再赘述。
步骤S305、若所述数据无法纠正,再查找映射表中是否存在所述读取地址。
作为具体实施方式,本发明实施例可以通过输出一个2bit的状态信号error来表示不同的检测状态。如可以设置当检测出所述数据正确,则error=0;当检测出所述数据存在错误并可以纠正,则error=1;当检测出所述数据错误但不可纠正,则error=2。那么在本步骤中,输出信号error=2,进一步将所述读取地址与映射表中的表项进行比对,即可判断出映射表中是否存在所述读取地址,具体的,可以通过输出不同的电平信号来表示不同的判断结果,例如当映射表中存在所述读取地址,可以输出一个高电平的match信号来表示,当映射表中不存在所述读取地址时,可以输出一个低电平的match信号来表示。
步骤S306、若所述数据错误且无法纠正,同时映射表中存在所述读取地址,则根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器。
作为具体的实施方式,本实施例中当输出的error=2、match信号为高电平时,即可认定所述数据错误且无法纠正,同时映射表中存在所述读取地址,替换存储器中保存有正确数据,此时根据读取地址所对应的替换地址,获取替换存储器中对应存储单元中的替换数据,该替换数据作为正确的数据返回至处理器。
步骤S307、若所述数据错误且无法纠正,同时映射表中不存在所述读取地址,则分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并输出重启指令。
作为具体的实施方式,本实施例中当输出的error=2、match信号为低电平时,即可认定所述数据错误且无法纠正,同时映射表中不存在所述读取地址,此时刷新映射表,即分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并输出重启指令给处理器,使处理器所在单板重启。
在本实施例中,刷新映射表的目的是为了避免重启之后所述读取地址再次出现不可纠正的错误,分配一个替换存储器的空白地址与所述读取地址对应,此后每次往该出错的读取地址执行写操作时,都会同时往替换存储器中所述的空白地址写入一份相同的数据,从而保证以后不会在该地址出现无法恢复的错误数据。
步骤S308、若所述数据可以纠正,再查找映射表中是否存在所述读取地址。
本步骤与步骤S304区别在于,本步骤中数据可以纠正,同样作为具体实施方式,本步骤中,输出信号error=1,进一步将所述读取地址与映射表中的表项进行比对,即可判断出映射表中是否存在所述读取地址,同样可以通过输出一个高电平的match信号来表示当映射表中存在所述读取地址,通过输出一个低电平的match信号来表示映射表中不存在所述读取地址。
步骤S309、若所述数据错误但可以纠正,同时映射表中存在所述读取地址,则将纠正后的数据返回至处理器。
作为具体的实施方式,本步骤中当输出的error=1、match信号为高电平时,即可认定所述数据错误但可以纠正,同时映射表中存在所述读取地址,此时直接将纠正后的数据返回至处理器。
步骤S310、若所述数据错误但可以纠正,同时映射表中不存在所述读取地址,则将纠正后的数据返回至处理器,再分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并将纠正后数据写入所述空白地址对应的存储单元。
作为具体的实施方式,本步骤中当输出的error=1、match信号为低电平时,即可认定所述数据错误但可以纠正,同时映射表中不存在所述读取地址,此时将纠正后的数据返回至处理器,再刷新映射表,即分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,再纠正后数据写入所述空白地址对应的存储单元。
在本实施中,因为主存储器内的故障单元内的错误是会积累的,例如当前发生的是可纠正的单比特错误,此后又有一个比特发生变化,这样再次读取该地址的数据时就会超出校验算法的纠错能力,这里分配一个替换存储器的空白地址,写入所述正确数据,就可以避免这种故障单元中出现多处错误的情况。
步骤S311、若所述数据正确,则将所述数据直接返回至处理器。
当输出error=0,表明当前检测的数据没有错误,此时可以直接将数据返回至处理器。
作为优选的,考虑到映射表的容量是有限的,如果主存储器的故障单元不断增加,可能会超过映射表的容量,当已达到映射表容量上限时,还需写入新的映射表项,比如本实施例中的步骤S306和S309,此时需要通过某种替换方法来更新映射表项。作为具体的操作方式,这里可以随机选取一个映射表项替换为所述新的映射表项;或者,在映射表中按照顺序顺次替换所述新的映射表项(例如映射表容量为N,新增的第N+1个表项覆盖第一个表项,第N+2个表项覆盖第2个表项等);或者,将最近最少使用的映射表项替换为所述新的映射表项。显然这只是列举的三种映射表更新方式,本发明实施例包括但不限于此。作为优选实施方式,还需要向处理器产生中断告警,要求维护人员更换主存储器,避免由于映射表容量不足造成主存储器的错误无法修复而出现问题。
在本发明实施例中,根据读取数据的状态(包括是否存在错误、存在错误时能否纠正)以及映射表中是否存在所述读取地址来决定对数据的具体操作。在具体实现时,根据error信号和match信号的状态来决定数据操作方式。实施例二实现的前提是映射表中存在所述读取地址,而本实施例针对这种情况提供了一个更为完整的技术方案。
实施例四:
图4示出了本发明第四实施例提供的一种存储器故障单元的替换装置的结构方框图,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的存储器故障单元的替换装置包括:
数据读取单元401,用于根据读取地址读取主存储器中对应数据;
数据检测单元402,用于检测所述数据是否正确;
替换数据返回单元403,用于当所述读取检测单元检测到所述数据错误时,映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;
数据直接返回单元404,用于当所述读取检测单元检测到所述数据正确时,将所述数据直接返回至处理器。
本实施例中,数据读取单元401接收处理器发出读数据指令,根据其中包含的读取地址获取主存储器中相应数据,控制数据检测单元402对所述数据进行检测,若检测出所述数据有误,则替换数据返回单元403在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中,所述映射表保存有主存储器中故障单元的地址和替换存储器中对应替换地址的映射关系,每个映射关系作为一个映射表项存储;若检测出所述数据正确,则数据直接返回单元404将所述数据返回至处理器,供处理器后续处理。在本发明实施例中,即使故障单元中出现了多处数据错误,只需查找映射表找到故障单元对应的替换地址,从替换存储器中找到所述替换地址对应的替换数据返回至处理器即可,此外,由于主存储器的存储单元失效的概率很小,所以访问替换存储器基本不会影响***效率。
实施例五:
图5示出了本发明第五实施例提供的一种存储器故障单元的替换装置的结构方框图,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的存储器故障单元的替换装置包括:
数据写入单元51,用于根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元。
数据读取单元52,用于根据读取地址读取主存储器中对应数据;
数据检测单元53,用于检测所述数据是否正确;
替换数据返回单元54,用于当所述数据检测单元检测到所述数据错误时,映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;
数据直接返回单元55,用于当所述数据检测单元检测到所述数据正确时,将所述数据直接返回至处理器。
其中,所述替换数据返回单元54包括:
替换返回模块541,用于当所述数据错误且无法纠正时,在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器;
纠正返回模块542,用于当所述数据错误但可以纠正时,将纠正后的数据返回至处理器。
本实施例中,替换数据返回单元还要根据错误数据是否可纠正做出相应操作。具体的,可以通过输出一个2bit的状态信号error来表示不同的检测状态。如可以设置当检测出所述数据正确,则error=0;当检测出所述数据存在错误并可以纠正,则error=1;当检测出所述数据错误但不可纠正,则error=2。若通过比对检测位,发现所述数据不可纠正,替换返回模块查找映射表,根据映射表中的映射表项,找到当前读取地址(亦即故障单元地址)所对应的替换地址,在替换存储器中获取所述替换地址对应的替换数据作为正确的数据返回至处理器。若通过校验算法可以进行错误纠正,则纠正返回模块将纠正后的数据返回至处理器。本实施例为了提高数据读取效率,当检测到数据出错时还要判断数据错误是否可纠正,若数据可纠正就无需通过查找映射表访问替换存储器,如此总体上减少了替换存储器的访问次数,提高了数据读取效率。
实施例六:
图6示出了本发明第六实施例提供的一种存储器故障单元的替换装置的结构方框图,为了便于说明仅示出了与本发明实施例相关的部分。
本发明实施例提供的存储器故障单元的替换装置包括:
数据写入单元61,用于根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元。
数据读取单元62,用于根据读取地址读取主存储器中对应数据;
数据检测单元63,用于检测所述数据是否正确;
替换数据返回单元64,用于当所述读取检测单元检测到所述数据错误时,映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;
数据直接返回单元65,用于当所述读取检测单元检测到所述数据正确时,将所述数据直接返回至处理器。
其中,所述替换数据返回单元64包括:
替换返回模块641,用于当所述数据错误且无法纠正时,在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器;
纠正返回模块642,用于当所述数据错误但可以纠正时,将纠正后的数据返回至处理器。
所述替换返回模块641包括:
替换返回组件6411,用于当所述数据错误且无法纠正,同时映射表中存在所述读取地址时,根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器;
刷新重启组件6412,用于当所述数据错误且无法纠正,同时映射表中不存在所述读取地址时,分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并输出重启指令。
所述纠正返回模块642包括:
纠正直接返回组件6421,用于当所述数据错误但可以纠正,同时映射表中存在所述读取地址时,将纠正后的数据返回至处理器;
纠正刷新写入组件6422,用于当所述数据错误但可以纠正,同时映射表中不存在所述读取地址时,分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并将纠正后数据写入所述空白地址对应的存储单元。
本实施例在确定错误数据能否纠正的同时,还要根据所述读取地址是否存在于映射表中,具体实现时,通过输出信号error和match来标识不同的工作状况,当输出的error=2、match信号为高电平时,即可认定所述数据错误且无法纠正,同时映射表中存在所述读取地址,替换返回组件根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器;当输出的error=2、match信号为低电平时,即可认定所述数据错误且无法纠正,同时映射表中不存在所述读取地址,刷新重启组件刷新映射表,并输出重启指令给处理器;当输出的error=1、match信号为高电平时,即可认定所述数据错误但可以纠正,同时映射表中存在所述读取地址,纠正直接返回组件直接将纠正后的数据返回至处理器;当输出的error=1、match信号为低电平时,即可认定所述数据错误但可以纠正,同时映射表中不存在所述读取地址,此时将纠正后的数据返回至处理器,再刷新映射表,再纠正后数据写入所述空白地址对应的存储单元。
作为优选的,考虑到映射表的容量是有限的,如果主存储器的故障单元不断增加,可能会超过映射表的容量,当已达到映射表容量上限时,还需写入新的映射表项,此时需要通过某种替换方法来更新映射表项,作为具体的操作方式,这里可以随机选取一个映射表项来替换所述新的映射表项;或者,在映射表中按照顺序顺次替换所述新的映射表项(例如映射表容量为N,新增的第N+1个表项覆盖第一个表项,第N+2个表项覆盖第2个表项等);或者,选取最近最少使用的映射表项来替换所述新的映射表项。显然这只是列举的三种映射表更新方式,本发明实施例包括但不限于此。作为优选实施方式,还需要向处理器产生中断告警,要求维护人员更换主存储器,避免由于映射表容量不足造成主存储器的错误无法修复而出现问题。
由于本实施例中,在数据错误且无法纠正,同时映射表中不存在所述读取地址时,需要刷新映射表可以避免重启之后所述读取地址再次出现不可纠正的错误;在数据错误但可以纠正,同时映射表中不存在所述读取地址时,通过刷新映射表可以避免故障单元中出现多处错误无法纠正的情况。
实施例7:
图7示出了本发明第七实施例提供的一种数据存储***的结构图,为了便于说明仅示出了与本发明实施例相关的部分。
所述数据存储***包括:所述***包括用于控制读写操作的存储控制器1、用于向存储控制器发送读写指令的处理器2,所述存储控制器1的第一通道接口连接有主存储器3,第二通道接口连接有替换存储器4,所述存储控制器1中保存有第一映射表11,所述存储控制器1还包括存储器故障单元的替换装置12,其中所述第一映射表11保存有主存储器3中故障单元地址和替换存储器4中对应正确数据的地址的映射关系,所述替换存储器4用于保存主存储器中故障单元所对应的正确数据。
本实施例中主存储器3和替换存储器4与存储控制器1采用独立的通道接口,使得两者互不干扰。处理器2发出数据读取指令时,存储器故障单元替换装置12根据读取地址读取数据,并通过检测数据是否存在错误、存在错误时是否可纠正、以及当前读取地址是否在映射表中,来决定不同的操作。存储控制器中存储有映射表。具体的在本实施例中,通过error信号和match信号来标识不同的工作状况,当error=0,表明所述数据不存在错误,直接将所述数据返回至处理器;当error=1、match为高电平,表明所述数据错误但可以纠正,同时映射表中存在所述读取地址,此时直接将纠正后的数据返回至处理器;当error=1、match信号为低电平时,表明所述数据错误但可以纠正,同时映射表中不存在所述读取地址,此时将纠正后的数据返回至处理器,再刷新映射表,将纠正后数据写入所述空白地址对应的存储单元;当error=2、match信号为高电平时,表明所述数据错误且无法纠正,同时映射表中存在所述读取地址,此时根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器;当error=2、match信号为低电平时,表明所述数据错误且无法纠正,同时映射表中不存在所述读取地址,此时刷新映射表,并输出重启指令给处理器,处理器将所在单板重启。因此可以通过检测error信号和match信号不同状态来执行相应操作。
当处理器2发出写数据指令时,数据写入装置13通过match信号的电平状态来判断第一映射表中是否存在所述写入地址。当match信号为低电平时,表明第一映射表中不存在所述写入地址,直接将数据写入所述主存储器中对应的存储单元;当match信号为高电平时,表明第一映射表中存在所述写入地址,该写入地址对应的存储单元为故障单元,此时需要将数据同时写入主存储器中所述写入地址对应的存储单元,以及替换存储器中对应替换地址所对应的存储单元,这样保证故障单元中的数据同步,以便当主存储器出现错误时可以从替换存储器中得到正确的数据。
作为优选实施方式,所述替换存储器4中还保存有与所述第一映射表内容相同的第二映射表6,这样在单板复位重启或重新上电时,存储控制器1都会自动将替换存储器4的第二映射表加载到自身的第一映射表中,然后开始按第一映射表工作。存储控制器1每次刷新第一映射表时,都要同时更新替换存储器中的第二映射表,保持两者的一致性。如果用户更换了主存储器3,这里可以通过单板提供的命令将存储控制器1和替换存储器4中的映射表全部清除,然后重新开始工作。
作为另一种实现方式,如图8所示,所述第二映射表6亦可保存在与存储控制器1连接的独立的映射表存储器5中,述第一映射表刷新时,所述第二映射表同步刷新。
本实施例中所述的存储器,包括主存储器、替换存储器均可采用DRAM、SRAM,由于替换存储器的容量要求不高,考虑到成本问题,所述替换存储器和映射表存储器还可以采用PCRAM,在单板复位重启或重新上电时,PCRAM上的内容都不会丢失,保证单板运行可靠性。PCRAM还可以像DRAM、SRAM一样按字节修改内容,不用先擦除,读写性能仅比DRAM、SRAM低一个数量级,PCRAM与DRAM、SRAM通过电荷来保存信息不同,PCRAM是利用材料处于晶态、非晶态的不同电阻值来保存信息的,不受宇宙射线、放射性元素的影响,因此不会有软失效问题。
虽然替换存储器采用PCRAM时性能比主存储器低,但是由于替换存储器的容量很小(例如主存储器容量1GB,替换存储器容量256Byte),处理器访问到这些地址的概率很低(仅当从主存储器读出的数据有错且不可纠正、match为高电平这种情况才会完全依赖从替换存储器得到的数据),所以主存储器的平均访问性能并不会降低太多。举例来说,假设主存储器的访问时间是5ns,访问比例是99.9%,替换存储器的访问时间是50ns,访问比例是0.1%,那么总的平均访问时间是5*99.9%+50*0.1%=5.045ns,性能降低了(5.045-5)/5=0.9%,不到1%。
综上所述,本发明实施例增加了一块位于独立通道的小容量替换存储器,该替换存储器中保存有主存储器中故障单元的数据,主存储器的故障单元的地址与替换存储器的对应存储单元的地址作为一个映射表项存储在映射表中,在读取主存储器中的数据时,若检测到数据有误,可以通过查找映射表,找到故障单元地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,因此本发明实施例增加了一个用于存储故障单元替换数据的替换存储器,能够识别出主存储器的故障单元,即使出现了多处错误,亦可在替换存储器中获取正确的数据,同时,由于存储单元故障概率根小,访问替换存储器的概率也很小,因此对***整体读写性能影响很小,并且替换存储器的容量也非常小,成本和功耗都很低。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种存储器故障单元的替换方法,其特征在于,所述方法包括:
根据读取地址读取主存储器中对应数据;
检测所述数据是否正确;
若所述数据错误,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;
若所述数据正确,则将所述数据直接返回至处理器。
2.如权利要求1所述方法,其特征在于,所述根据读取地址读取主存储器中对应数据步骤之前,还包括:
根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元。
3.如权利要求1或2所述方法,其特征在于,所述若所述数据错误,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器包括:
若所述数据错误且无法纠正,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器。
4.如权利要求3所述方法,其特征在于,还包括:
若所述数据错误但可以纠正,则将纠正后的数据返回至处理器。
5.如权利要求3所述方法,其特征在于,若所述数据错误且无法纠正,则在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器步骤,具体包括:
若所述数据错误且无法纠正,同时映射表中存在所述读取地址,则根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器。
6.如权利要求5所述的方法,其特征在于,还包括:
若所述数据错误且无法纠正,同时映射表中不存在所述读取地址,则分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并输出重启指令。
7.如权利要求4所述方法,其特征在于,所述若所述数据错误但可以纠正,则将纠正后的数据返回至处理器步骤,具体包括:
若所述数据错误但可以纠正,同时映射表中存在所述读取地址,则将纠正后的数据返回至处理器。
8.如权利要求7所述的方法,其特征在于:还包括:
若所述数据错误但可以纠正,同时映射表中不存在所述读取地址,则将纠正后的数据返回至处理器,再分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并将纠正后数据写入所述空白地址对应的存储单元。
9.如权利要求6或8所述方法,其特征在于,在写入新的映射表项时若已达到映射表的容量上限,则随机选取一个映射表项替换为所述新的映射表项;或者,在映射表中按照顺序顺次替换所述新的映射表项;或者,将最近最少使用的映射表项替换为所述新的映射表项。
10.如权利要求9所述方法,其特征在于,在写入新的映射表项时若已达到映射表的容量上限,则同时向处理器输出中断告警。
11.一种存储器故障单元的替换装置,其特征在于,所述装置包括:
数据读取单元,用于根据读取地址读取主存储器中对应数据;
数据检测单元,用于检测所述数据是否正确;
替换数据返回单元,用于当所述读取检测单元检测到所述数据错误时,映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器,其中所述映射表保存有主存储器中故障单元地址和替换存储器中对应替换地址的映射关系,所述替换存储器用于保存主存储器中故障单元所对应的正确数据;
数据直接返回单元,用于当所述读取检测单元检测到所述数据正确时,将所述数据直接返回至处理器。
12.如权利要求11所述装置,其特征在于,所述装置还包括:
数据写入单元,用于根据写入地址将数据写入主存储器中对应的存储单元,若映射表中存在所述写入地址,将所述数据同时替换存储器中对应的存储单元。
13.如权利要求11或12所述装置,其特征在于,所述替换数据返回单元包括:
替换返回模块,用于当所述数据错误且无法纠正时,在映射表中查找所述读取地址对应的替换地址,从替换存储器中获取所述替换地址对应的替换数据并返回至处理器;
纠正返回模块,用于当所述数据错误但可以纠正时,将纠正后的数据返回至处理器。
14.如权利要求13所述装置,其特征在于,所述替换返回模块包括:
替换返回组件,用于当所述数据错误且无法纠正,同时映射表中存在所述读取地址时,根据读取地址所对应的替换地址,从替换存储器中获取对应的替换数据并返回至处理器;
刷新重启组件,用于当所述数据错误且无法纠正,同时映射表中不存在所述读取地址时,分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并输出重启指令。
15.如权利要求13所述装置,其特征在于,所述纠正返回模块包括:
纠正直接返回组件,用于当所述数据错误但可以纠正,同时映射表中存在所述读取地址时,将纠正后的数据返回至处理器;
纠正刷新写入组件,用于当所述数据错误但可以纠正,同时映射表中不存在所述读取地址时,分配一个替换存储器的空白地址与所述读取地址对应,作为新的映射表项写入映射表,并将纠正后数据写入所述空白地址对应的存储单元。
16.一种数据存储***,其特征在于,所述***包括用于控制读写操作的存储控制器(1)、用于向存储控制器发送读写指令的处理器(2),所述存储控制器(1)的第一通道接口连接有主存储器(3),第二通道接口连接有替换存储器(4),所述存储控制器(1)中保存有第一映射表(11),所述存储控制器(1)还包括如权利要求11-15所述的存储器故障单元的替换装置,其中所述第一映射表(11)保存有主存储器(3)中故障单元地址和替换存储器(4)中对应正确数据的地址的映射关系,所述替换存储器(4)用于保存主存储器中故障单元所对应的正确数据。
17.如权利要求16所述***,其特征在于,所述替换存储器(4)中还保存有与所述第一映射表内容相同的第二映射表(6),所述第一映射表刷新时,所述第二映射表同步刷新。
18.如权利要求16所述***,其特征在于,所述存储控制器(1)还连接有映射表存储器(5),所述映射表存储器(5)中保存有与所述第一映射表内容相同的第二映射表(6),所述第一映射表刷新时,所述第二映射表同步刷新。
19.如权利要求17或18所述***,其特征在于,当储控制器(1)所在单板重启时,储控制器(1)将替换存储器(4)或映射表存储器(5)中保存的第二映射表加载更新到本地的第一映射表中。
20.如权利要求16-19任一项所述***,其特征在于,所述主存储器(3)为动态随机存取存储器DRAM或静态随机存取存储器SRAM;所述替换存储器(4)为DRAM、SRAM或相变存储器PCRAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210509033.XA CN103019873B (zh) | 2012-12-03 | 2012-12-03 | 一种存储器故障单元的替换方法及装置、数据存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210509033.XA CN103019873B (zh) | 2012-12-03 | 2012-12-03 | 一种存储器故障单元的替换方法及装置、数据存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103019873A true CN103019873A (zh) | 2013-04-03 |
CN103019873B CN103019873B (zh) | 2016-08-10 |
Family
ID=47968503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210509033.XA Active CN103019873B (zh) | 2012-12-03 | 2012-12-03 | 一种存储器故障单元的替换方法及装置、数据存储*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103019873B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111895A (zh) * | 2014-07-25 | 2014-10-22 | 记忆科技(深圳)有限公司 | 一种利用dram不良品的方法 |
CN105260263A (zh) * | 2015-09-16 | 2016-01-20 | 深圳怡化电脑股份有限公司 | 一种验钞磁性数据的动态矫正方法和*** |
CN105954666A (zh) * | 2016-04-19 | 2016-09-21 | 上海华虹宏力半导体制造有限公司 | 动态数据的快速写入方法 |
CN107408066A (zh) * | 2015-03-25 | 2017-11-28 | 爱信艾达株式会社 | 存储器控制器 |
CN107451001A (zh) * | 2016-05-02 | 2017-12-08 | 三星电子株式会社 | 存储装置、存储装置的操作方法和计算装置的操作方法 |
CN109101362A (zh) * | 2018-06-28 | 2018-12-28 | 广州视源电子科技股份有限公司 | 通信校正方法、装置、可读存储介质及从机 |
CN110058951A (zh) * | 2019-04-24 | 2019-07-26 | 核芯互联科技(青岛)有限公司 | 一种修复rom内部少量数据错误的方法和装置 |
CN110851374A (zh) * | 2018-08-20 | 2020-02-28 | 旺宏电子股份有限公司 | 预比对***及预比对方法 |
CN111506460A (zh) * | 2020-04-16 | 2020-08-07 | Oppo广东移动通信有限公司 | 内存故障的处理方法、装置、移动终端及存储介质 |
CN112286707A (zh) * | 2020-10-26 | 2021-01-29 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位***及方法 |
CN113360323A (zh) * | 2021-07-02 | 2021-09-07 | 西安紫光国芯半导体有限公司 | 一种众核计算电路、堆叠芯片和容错控制方法 |
WO2021196621A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113661451A (zh) * | 2019-04-16 | 2021-11-16 | 三菱电机株式会社 | 程序创建辅助装置、程序创建辅助方法及程序 |
CN114063905A (zh) * | 2021-10-13 | 2022-02-18 | 武汉光迅电子技术有限公司 | 日志存储方法、日志存储装置、存储设备和存储介质 |
WO2022116706A1 (zh) * | 2020-12-03 | 2022-06-09 | 华为技术有限公司 | 一种纠错方法及装置 |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11869615B2 (en) | 2020-04-01 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
CN117472291A (zh) * | 2023-12-27 | 2024-01-30 | 苏州元脑智能科技有限公司 | 数据块的校验方法和装置、存储介质及电子设备 |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11922023B2 (en) | 2020-04-01 | 2024-03-05 | Changxin Memory Technologies, Inc. | Read/write method and memory device |
WO2024093299A1 (zh) * | 2022-10-31 | 2024-05-10 | 华为技术有限公司 | 一种存储器故障修复方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2332290A (en) * | 1997-11-14 | 1999-06-16 | Memory Corp Plc | Memory management unit incorporating memory fault masking |
US20090164872A1 (en) * | 2007-12-21 | 2009-06-25 | Sun Microsystems, Inc. | Prediction and prevention of uncorrectable memory errors |
US20110099419A1 (en) * | 2009-10-23 | 2011-04-28 | International Business Machines Corporation | Solid state drive with flash sparing |
CN102063380B (zh) * | 2010-12-31 | 2012-11-21 | 北京握奇数据***有限公司 | 一种向非易失性存储器写入数据的方法及装置 |
-
2012
- 2012-12-03 CN CN201210509033.XA patent/CN103019873B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2332290A (en) * | 1997-11-14 | 1999-06-16 | Memory Corp Plc | Memory management unit incorporating memory fault masking |
US20090164872A1 (en) * | 2007-12-21 | 2009-06-25 | Sun Microsystems, Inc. | Prediction and prevention of uncorrectable memory errors |
US20110099419A1 (en) * | 2009-10-23 | 2011-04-28 | International Business Machines Corporation | Solid state drive with flash sparing |
CN102063380B (zh) * | 2010-12-31 | 2012-11-21 | 北京握奇数据***有限公司 | 一种向非易失性存储器写入数据的方法及装置 |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111895A (zh) * | 2014-07-25 | 2014-10-22 | 记忆科技(深圳)有限公司 | 一种利用dram不良品的方法 |
CN107408066A (zh) * | 2015-03-25 | 2017-11-28 | 爱信艾达株式会社 | 存储器控制器 |
CN107408066B (zh) * | 2015-03-25 | 2020-10-23 | 爱信艾达株式会社 | 存储器控制器 |
CN105260263B (zh) * | 2015-09-16 | 2019-01-11 | 深圳怡化电脑股份有限公司 | 一种验钞磁性数据的动态矫正方法和*** |
CN105260263A (zh) * | 2015-09-16 | 2016-01-20 | 深圳怡化电脑股份有限公司 | 一种验钞磁性数据的动态矫正方法和*** |
CN105954666B (zh) * | 2016-04-19 | 2019-01-04 | 上海华虹宏力半导体制造有限公司 | 动态数据的快速写入方法 |
CN105954666A (zh) * | 2016-04-19 | 2016-09-21 | 上海华虹宏力半导体制造有限公司 | 动态数据的快速写入方法 |
CN107451001A (zh) * | 2016-05-02 | 2017-12-08 | 三星电子株式会社 | 存储装置、存储装置的操作方法和计算装置的操作方法 |
CN107451001B (zh) * | 2016-05-02 | 2022-07-05 | 三星电子株式会社 | 存储装置、存储装置的操作方法和计算装置的操作方法 |
CN109101362A (zh) * | 2018-06-28 | 2018-12-28 | 广州视源电子科技股份有限公司 | 通信校正方法、装置、可读存储介质及从机 |
CN110851374A (zh) * | 2018-08-20 | 2020-02-28 | 旺宏电子股份有限公司 | 预比对***及预比对方法 |
CN110851374B (zh) * | 2018-08-20 | 2023-04-14 | 旺宏电子股份有限公司 | 预比对***及预比对方法 |
CN113661451A (zh) * | 2019-04-16 | 2021-11-16 | 三菱电机株式会社 | 程序创建辅助装置、程序创建辅助方法及程序 |
CN110058951A (zh) * | 2019-04-24 | 2019-07-26 | 核芯互联科技(青岛)有限公司 | 一种修复rom内部少量数据错误的方法和装置 |
WO2021196621A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11922023B2 (en) | 2020-04-01 | 2024-03-05 | Changxin Memory Technologies, Inc. | Read/write method and memory device |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11869615B2 (en) | 2020-04-01 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
CN111506460A (zh) * | 2020-04-16 | 2020-08-07 | Oppo广东移动通信有限公司 | 内存故障的处理方法、装置、移动终端及存储介质 |
CN111506460B (zh) * | 2020-04-16 | 2023-08-29 | Oppo广东移动通信有限公司 | 内存故障的处理方法、装置、移动终端及存储介质 |
CN112286707A (zh) * | 2020-10-26 | 2021-01-29 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位***及方法 |
CN112286707B (zh) * | 2020-10-26 | 2024-04-05 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位***及方法 |
WO2022116706A1 (zh) * | 2020-12-03 | 2022-06-09 | 华为技术有限公司 | 一种纠错方法及装置 |
CN113360323A (zh) * | 2021-07-02 | 2021-09-07 | 西安紫光国芯半导体有限公司 | 一种众核计算电路、堆叠芯片和容错控制方法 |
CN114063905A (zh) * | 2021-10-13 | 2022-02-18 | 武汉光迅电子技术有限公司 | 日志存储方法、日志存储装置、存储设备和存储介质 |
CN114063905B (zh) * | 2021-10-13 | 2024-04-02 | 武汉光迅电子技术有限公司 | 日志存储方法、日志存储装置、存储设备和存储介质 |
WO2024093299A1 (zh) * | 2022-10-31 | 2024-05-10 | 华为技术有限公司 | 一种存储器故障修复方法及装置 |
CN117472291B (zh) * | 2023-12-27 | 2024-03-22 | 苏州元脑智能科技有限公司 | 数据块的校验方法和装置、存储介质及电子设备 |
CN117472291A (zh) * | 2023-12-27 | 2024-01-30 | 苏州元脑智能科技有限公司 | 数据块的校验方法和装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103019873B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019873A (zh) | 一种存储器故障单元的替换方法及装置、数据存储*** | |
US10304515B2 (en) | Refresh circuitry | |
CN101996689B (zh) | 存储器错误处理方法 | |
US9600362B2 (en) | Method and apparatus for refreshing and data scrubbing memory device | |
US9087614B2 (en) | Memory modules and memory systems | |
US8689041B2 (en) | Method for protecting data in damaged memory cells by dynamically switching memory mode | |
US9015558B2 (en) | Systems and methods for error detection and correction in a memory module which includes a memory buffer | |
CN112837725A (zh) | 半导体存储器件和操作半导体存储器件的方法 | |
US8874979B2 (en) | Three dimensional(3D) memory device sparing | |
CN101379566B (zh) | 用于修复高速缓存阵列中单元的装置、***和方法 | |
US8869007B2 (en) | Three dimensional (3D) memory device sparing | |
US10754724B2 (en) | Memory device for detecting a defective memory chip | |
US9075741B2 (en) | Dynamic error handling using parity and redundant rows | |
CN101477480B (zh) | 内存控制方法、装置及内存读写*** | |
US11392454B2 (en) | Memory controllers, memory systems and memory modules | |
CN112116945A (zh) | 半导体存储器设备和存储器*** | |
EP3971901A1 (en) | Dram with combined scrubbing with combined refresh and scrubing operation | |
CN102117236A (zh) | 使集成存储器控制器能透明地与有缺陷存储器装置工作 | |
US20240192862A1 (en) | Automated Error Correction with Memory Refresh | |
CN104750577A (zh) | 面向片上大容量缓冲存储器的任意多位容错方法及装置 | |
Noda et al. | A soft-error-immune maintenance-free TCAM architecture with associated embedded DRAM | |
CN110058955B (zh) | 具有错误纠正功能的内存和相关内存*** | |
CN103310848A (zh) | 一种使用存储器的方法和装置 | |
US10297304B1 (en) | Memory device and operating method thereof | |
KR20160139155A (ko) | 에러 보정 기능을 갖는 메모리 장치 및 그의 에러 보정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |