CN102779557B - 集成memory模块的芯片数据检测校正方法及系统 - Google Patents
集成memory模块的芯片数据检测校正方法及系统 Download PDFInfo
- Publication number
- CN102779557B CN102779557B CN201110123784.3A CN201110123784A CN102779557B CN 102779557 B CN102779557 B CN 102779557B CN 201110123784 A CN201110123784 A CN 201110123784A CN 102779557 B CN102779557 B CN 102779557B
- Authority
- CN
- China
- Prior art keywords
- address
- accessed
- region
- chip
- carry out
- 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
Links
Abstract
本发明公开一种集成memory模块的芯片数据检测校正方法,包括:接收对划分有多个区域的memory模块中的某一区域的某一地址进行访问的指令;在被访问区域外的每个区域中确定一个需要进行检测校正的地址;对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正。本发明还公开了一种集成memory模块的芯片数据检测校正系统以及芯片。采用本发明公开的方法、系统或芯片,能够对该芯片中未被访问的部分地址中的数据进行检测校正,提高芯片中存贮数据的可靠性。
Description
技术领域
本发明涉及数据维护领域,特别是涉及一种集成memory模块的芯片数据检测校正方法及系统。
背景技术
随着集成电路制造技术的不断进步以及芯片应用需求的不断提升,越来越多的芯片中都集成了memory模块用来存贮资料。
在集成有memory模块的芯片中,为了保证memory模块中存贮的数据的准确性,通常会采用错误检查和纠正(Error Checking and Correcting,ECC)电路对memory模块中的数据进行检测校正。
ECC电路的工作原理大致如下:当memory模块中的某一地址被访问时,ECC电路才会针对该地址存贮的数据进行检测校正。所以现有技术中,那些长时间不被访问的地址存贮的数据,将长期无法得到检测和校正。随着时间的累积,出错的数据将越来越多,最终使整个芯片系统崩溃。如果访问任意地址的数据时,都对所有地址的数据进行检测校正,虽然能够保证数据的准确性,但是又会严重降低芯片的处理性能。
发明内容
本发明的目的是提供一种集成memory模块的芯片数据检测校正方法及系统,能够在某一地址被访问时,同时对该芯片中未被访问的部分地址中的数据进行检测校正。
为实现上述目的,本发明提供了如下方案:
一种集成memory模块的芯片数据检测校正方法,包括:
接收对划分有多个区域的memory模块中的某一区域的某一地址进行访问的指令;
在被访问区域外的每个区域中确定一个需要进行检测校正的地址;
对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正。
优选的,所述区域为:对memory模块进行均等划分得到的;和/或,按照memory模块中各部分与干扰源之间的距离进行划分得到的;和/或,按照各部分存贮资料的重要程度进行划分得到的。
优选的,还包括:减少为某区域划分的地址的数目,以提高对该区域中地址进行检测校正的频率。
优选的,所述在被访问区域外的每个区域中确定一个需要进行检测校正的地址,包括:
通过在配置信息表中进行查询来确定需要进行检测校正的地址;
和/或,根据芯片被访问的次数来确定需要进行检测校正的地址。
优选的,所述通过在配置信息表中进行查询来确定需要进行检测校正的地址,包括:
查询配置信息表,获取除被访问区域外的每个区域中与被访问地址相对应的地址;
确定所述与被访问地址相对应的地址为需要进行检测校正的地址。
优选的,所述根据芯片被访问的次数来确定需要进行检测校正的地址,包括:
确定芯片被访问的次数;
对于被访问区域外的每个区域,根据芯片被访问的次数除以本区域的地址总数所得的余数,确定一个需要进行检测校正的地址。
一种集成memory模块的芯片数据检测校正系统,包括:
指令接收单元,用于接收对划分有多个区域的memory模块中的某一区域的某一地址进行访问的指令;
地址确定单元,用于在被访问区域外的每个区域中确定一个需要进行检测校正的地址;
检测校正单元,用于对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正。
优选的,所述地址确定单元包括:
配置信息表查询子单元,用于查询配置信息表,获取除被访问区域外的每个区域中与被访问地址相对应的地址;
第一地址确定子单元,用于确定所述与被访问地址相对应的地址为需要进行检测校正的地址。
优选的,所述地址确定单元包括:
访问次数确定单元,用于确定芯片被访问的次数;
第二地址确定子单元,用于对于被访问区域外的每个区域,根据芯片被访问的次数除以本区域的地址总数所得的余数,确定一个需要进行检测校正的地址。
一种集成memory模块的芯片,所述芯片划分有多个区域,每个区域均设置有对应的ECC电路,并且包括权利要求7-9任一项所述的系统。
根据本发明提供的具体实施例,本发明公开了以下技术效果:通过将memory模块划分为多个区域,在访问某一区域的某一地址时,对各个区域中相关地址进行检测校正,能够对该芯片中未被访问的部分地址中的数据进行检测校正,提高芯片中存贮数据的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的集成memory模块的芯片数据检测校正方法流程图;
图2为本发明实施例memory模块区域划分示意图;
图3为本发明实施例公开的集成memory模块的芯片数据检测校正系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种集成memory模块的芯片数据检测校正方法及系统。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参见图1,为本发明实施例公开的集成memory模块的芯片数据检测校正方法流程图。本发明公开的芯片中的memory模块被划分为多个区域。
如图1所示,该方法包括步骤:
S101:接收对划分有多个区域的memory模块中的某一区域的某一地址进行访问的指令;
S102:在被访问区域外的每个区域中确定一个需要进行检测校正的地址;
S103:对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正。
芯片中的memory模块被划分为多个区域。具体的,可以对memory模块进行均等划分,令每个区域的大小相等;也可以按照memory模块中各部分与干扰源之间的距离进行划分,将memory模块划分为大小不等的区域;还可以按照各部分存贮资料的重要程度进行划分,将memory模块划分为大小不等的区域。
步骤S102中需要进行检测校正的地址的确定,可以通过在配置信息表中进行查询来完成,也可以根据芯片被访问的次数来完成。
步骤S102通过在配置信息表中进行查询来完成时,其中的配置信息表,可以存储在ECC Configure中。配置信息表中存储有被访问地址与其它区域中需要进行检测校正的地址之间的对应关系。由该对应关系可知:访问任一地址时,除被访问区域外,其它区域中需要进行检测校正的地址是哪个。
对应于在配置信息表中进行查询来确定一个需要进行检测校正的地址,步骤S102可以包括:
查询配置信息表,获取除被访问区域外的每个区域中与被访问地址相对应的地址;
确定所述与被访问地址相对应的地址为需要进行检测校正的地址。
具体的,假设芯片中的memory模块如图2所示,被划分为8个区域,分别用字母A-H表示。仅以A、B两个区域为例:如果A区域与B区域具有相同的地址数目,例如都具有40个地址,那么可以令A区域与B区域的地址一一对应。这样,当A区域(或B区域)的地址都被访问过之后,相应的B区域(或A区域)的地址也就全部得到了检测校正。如果A区域的地址数目大于B区域的地址数目,则可以令A区域的多个地址与B区域的一个地址对应(即多对一),最终实现B区域的全部地址都与A区域的地址存在对应关系。显然,这种多对一的对应关系,也可以实现上述效果,即:当A区域(或B区域)的地址都被访问过之后,相应的B区域(或A区域)的地址也就全部得到了检测校正。如果A区域的地址数目小于B区域的地址数目,则令A区域的地址与B区域的地址一一对应后,B区域中仍然会有一部分地址不具有与其它区域地址的对应关系。这种情况下,可以令B区域的地址与其它区域(例如C区域)的地址相对应,则同样可以实现B区域的全部地址都与A或C区域的地址存在对应关系。
以上为,以A、B两个区域之间的地址的对应关系为例进行的说明。实际应用中,任意两个区域之间的地址都可以存在上述对应关系。此处不应理解为对本发明公开方法的限制。
步骤S102根据芯片被访问的次数来完成时,步骤S102可以包括:
确定芯片被访问的次数;
对于被访问区域外的每个区域,根据芯片被访问的次数除以本区域的地址总数所得的余数,确定一个需要进行检测校正的地址。
具体的,仍然假设芯片中的memory模块被划分为8个区域,分别用字母A-H表示。A区域中的地址为1-100共100个,B区域中的地址为101-150共50个。当芯片第一次被访问时,假设访问的C区域中的地址,那么对于A区域,芯片被访问的次数(1)除以本区域的地址总数(100)所得的余数为1,则对A区域中的地址1中存贮的数据进行检测校正;对于B区域,就是对地址101中存贮的数据进行检测校正。当第249次访问该芯片时,对于A区域,芯片被访问的次数(249)除以本区域的地址总数(100)所得的余数为49,则对A区域中的地址49中存贮的数据进行检测校正;对于B区域,就是对地址149中存贮的数据进行检测校正。
容易明白,上述举例中,当芯片第50次被访问时,B区域中的全部地址均得到一次检测校正;当芯片第100次被访问时,A区域中的全部地址均得到一次检测校正。
步骤S103中,对被访问的地址以及其它区域中确定的地址中存贮的数据进行检测校正,可以通过为每个区域独立配置一个ECC电路来实现。
例如,可以将memory模块划分为8个区域。每个区域配置一个ECC电路,则一共配置8个ECC电路。每次访问memory模块中任一区域的任一地址时,就可以通过8个ECC电路检测校正8个区域中的8个地址处的数据。
综上,本发明公开的集成memory模块的芯片数据检测校正方法,通过将memory模块划分为多个区域,在访问某一区域的某一地址时,对各个区域中相关地址进行检测校正,能够对该芯片中未被访问的部分地址中的数据进行检测校正,提高芯片中存贮数据的可靠性。
下面对本方案做更进一步的说明。
按照memory模块中各部分与干扰源之间的距离进行划分这一方式中,干扰源可以是指,能够产生高能粒子、辐射或电磁场的物体。因为本发明提到的芯片中可以集成多种模块,例如无线信号收发模块等。并且,本发明中的芯片是集成在电路板上的。该电路板上也可能集成有其它具有无线收发功能的芯片。芯片或芯片上的区域与干扰源之间的距离越近,受到干扰而产生数据错误的概率就越高。所以,对于与干扰源之间距离较近的区域,可以增加对该区域中地址进行检测的频率。
按照memory模块各部分存贮资料的重要程度进行划分这一方式中,重要的资料可以是指诸如系统的引导程序等类型的资料。实际应用中,对应于采用本发明公开的方法和系统的芯片,还可以为该芯片设置一套驱动程序。该驱动程序能够将重要的资料写入指定的地址或者记录下写入重要资料的地址。这样一来,就可以知道各个部分存贮资料的重要程度。因此,可以增加对存贮有重要资料的区域中的地址进行检测的频率。
具体的,本发明所述方法中,可以采用以下方式增加对某一区域中地址进行检测的频率。
方式一:对应于在配置信息表中进行查询来确定一个需要进行检测校正的地址。可以增加某一区域的某一地址与其它区域的其它地址的对应关系。即,对于需要增加检测频率的区域的地址,可以令多个其它区域的地址与该地址相对应,其它区域中,与该地址相对应的地址越多,则芯片工作过程中,对该地址进行检测的频率就越高。当然,也可以减少为某区域划分的地址的数目,当该地址数目减少了,其它区域中与之对应的地址也就相应增多了,进而能够提高对地址数目较少的区域中的地址进行检测校正的频率。
方式二:对应于根据芯片被访问的次数来确定需要进行检测校正的地址。可以通过将各区域划分为不同大小,来控制对各区域地址进行检测校正的频率。例如,假设A区域原本具有1-100共100个地址,那么按照前述方法,对芯片访问100次后,A区域中的地址才分别得到一次检测校正;如果将A区域的大小变为原来的一半(即1-50共50个地址),那么对芯片访问100次后,A区域中的地址将分别得到两次检测校正。因此,也可以通过减少为某区域划分的地址的数目,来提高对该区域中地址进行检测校正的频率。
可见,对于按照memory模块中各部分与干扰源之间的距离进行划分或者按照各部分存贮资料的重要程度进行划分这两种方式,均可以通过减少为某区域划分的地址的数目,来提高对该区域中地址进行检测校正的频率。
另外,需要说明的是,本发明公开的方法中,对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正之后,只将被访问的地址的检测校正结果发送到总线上,其它地址的数据只进行检测校正,但并不将结果发送到总线上。
与本发明所公开的方法相对应,本发明还公开了一种集成memory模块的芯片数据检测校正系统。
参见图3,为本发明公开的集成memory模块的芯片数据检测校正系统结构图。如图3所示,该系统包括:
指令接收单元301,用于接收对划分有多个区域的memory模块中的某一区域的某一地址进行访问的指令;
地址确定单元302,用于在被访问区域外的每个区域中确定一个需要进行检测校正的地址;
检测校正单元303,用于对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正。
具体的,所述地址确定单元302可以包括:
配置信息表查询子单元,用于查询配置信息表,获取除被访问区域外的每个区域中与被访问地址相对应的地址;
第一地址确定子单元,用于确定所述与被访问地址相对应的地址为需要进行检测校正的地址。
所述地址确定单元302还可以包括:
访问次数确定单元,用于确定芯片被访问的次数;
第二地址确定子单元,用于对于被访问区域外的每个区域,根据芯片被访问的次数除以本区域的地址总数所得的余数,确定一个需要进行检测校正的地址。
本发明还公开了一种集成memory模块的芯片,该芯片划分有多个区域,每个区域均设置有对应的ECC电路,并且包括本发明所公开的集成memory模块的芯片数据检测校正系统。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种集成memory模块的芯片数据检测校正方法,其特征在于,包括:
接收对划分有多个区域的memory模块中的某一区域的某一地址进行访问的指令;
在被访问区域外的每个区域中确定一个需要进行检测校正的地址;
对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正。
2.根据权利要求1所述的方法,其特征在于,所述区域为:对memory模块进行均等划分得到的;和/或,按照memory模块中各部分与干扰源之间的距离进行划分得到的;和/或,按照各部分存贮资料的重要程度进行划分得到的。
3.根据权利要求1或2所述的方法,其特征在于,还包括:减少为某区域划分的地址的数目,以提高对该区域中地址进行检测校正的频率。
4.根据权利要求1或2所述的方法,其特征在于,所述在被访问区域外的每个区域中确定一个需要进行检测校正的地址,包括:
通过在配置信息表中进行查询来确定需要进行检测校正的地址;
和/或,根据芯片被访问的次数来确定需要进行检测校正的地址。
5.根据权利要求4所述的方法,其特征在于,所述通过在配置信息表中进行查询来确定需要进行检测校正的地址,包括:
查询配置信息表,获取除被访问区域外的每个区域中与被访问地址相对应的地址;
确定所述与被访问地址相对应的地址为需要进行检测校正的地址。
6.根据权利要求4所述的方法,其特征在于,所述根据芯片被访问的次数来确定需要进行检测校正的地址,包括:
确定芯片被访问的次数;
对于被访问区域外的每个区域,根据芯片被访问的次数除以本区域的地址总数所得的余数,确定一个需要进行检测校正的地址。
7.一种集成memory模块的芯片数据检测校正系统,其特征在于,包括:
指令接收单元,用于接收对划分有多个区域的memory模块中的某一区域的某一地址进行访问的指令;
地址确定单元,用于在被访问区域外的每个区域中确定一个需要进行检测校正的地址;
检测校正单元,用于对被访问的地址中存贮的数据以及在被访问区域外的每个区域中确定的地址中存贮的数据进行检测校正。
8.根据权利要求7所述的系统,其特征在于,所述地址确定单元包括:
配置信息表查询子单元,用于查询配置信息表,获取除被访问区域外的每个区域中与被访问地址相对应的地址;
第一地址确定子单元,用于确定所述与被访问地址相对应的地址为需要进行检测校正的地址。
9.根据权利要求7所述的系统,其特征在于,所述地址确定单元包括:
访问次数确定单元,用于确定芯片被访问的次数;
第二地址确定子单元,用于对于被访问区域外的每个区域,根据芯片被访问的次数除以本区域的地址总数所得的余数,确定一个需要进行检测校正的地址。
10.一种集成memory模块的芯片,其特征在于,所述芯片划分有多个区域,每个区域均设置有对应的ECC电路,并且包括权利要求7-9任一项所述的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110123784.3A CN102779557B (zh) | 2011-05-13 | 2011-05-13 | 集成memory模块的芯片数据检测校正方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110123784.3A CN102779557B (zh) | 2011-05-13 | 2011-05-13 | 集成memory模块的芯片数据检测校正方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102779557A CN102779557A (zh) | 2012-11-14 |
CN102779557B true CN102779557B (zh) | 2015-10-28 |
Family
ID=47124437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110123784.3A Active CN102779557B (zh) | 2011-05-13 | 2011-05-13 | 集成memory模块的芯片数据检测校正方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102779557B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117314B (zh) * | 2015-07-07 | 2017-07-11 | 福州瑞芯微电子股份有限公司 | 一种Memory模块的验证方法及系统 |
CN112053737B (zh) * | 2020-08-21 | 2022-08-26 | 国电南瑞科技股份有限公司 | 一种在线并行处理的软错误实时检错与恢复方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6285607B1 (en) * | 1998-03-27 | 2001-09-04 | Memory Corporation Plc | Memory system |
CN101339526A (zh) * | 2007-06-19 | 2009-01-07 | 三星电子株式会社 | 检测由于读干扰而造成的位错误的存储系统及其方法 |
CN101645306A (zh) * | 2008-08-08 | 2010-02-10 | 株式会社瑞萨科技 | 非易失性存储器控制方法及半导体装置 |
-
2011
- 2011-05-13 CN CN201110123784.3A patent/CN102779557B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6285607B1 (en) * | 1998-03-27 | 2001-09-04 | Memory Corporation Plc | Memory system |
CN101339526A (zh) * | 2007-06-19 | 2009-01-07 | 三星电子株式会社 | 检测由于读干扰而造成的位错误的存储系统及其方法 |
CN101645306A (zh) * | 2008-08-08 | 2010-02-10 | 株式会社瑞萨科技 | 非易失性存储器控制方法及半导体装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102779557A (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101675075B1 (ko) | 비-휘발성 램 에러 재-맵핑을 위한 방법 및 장치 | |
US8595428B2 (en) | Memory controller functionalities to support data swizzling | |
US9015558B2 (en) | Systems and methods for error detection and correction in a memory module which includes a memory buffer | |
US8996828B2 (en) | Systems and methods for migrating data | |
US10068661B2 (en) | Post package repair (PPR) data in non-volatile memory | |
US20140368460A1 (en) | Touch detection method and apparatus, and touch screen system | |
US20090307537A1 (en) | Flash storage device with data correction function | |
CN111858132A (zh) | 使用带内链路检测和/或校正位错误的装置、系统和方法 | |
CN107193560B (zh) | 配置更新方法及装置 | |
CN107766180B (zh) | 存储介质的管理方法、装置及可读存储介质 | |
US10297335B2 (en) | Tracking address ranges for computer memory errors | |
EP2960777B1 (en) | Data protection method, apparatus and device | |
US20140372831A1 (en) | Memory controller operating method for read operations in system having nonvolatile memory device | |
CN102779557B (zh) | 集成memory模块的芯片数据检测校正方法及系统 | |
US20120296598A1 (en) | Compensating for jitter during ddr3 memory delay line training | |
US20140229797A1 (en) | Error correcting code scheme utilizing reserved space | |
CN101639810A (zh) | 一种访问pci存储空间的方法和装置 | |
CN104184543A (zh) | 一种数据传输的方法、装置和系统 | |
CN107678977B (zh) | 一种计数器的读写方法及装置 | |
US8667325B2 (en) | Method, apparatus and system for providing memory sparing information | |
US20140229796A1 (en) | Electronic Control Apparatus | |
US9058863B2 (en) | Reference frequency setting method, memory controller and memory storage apparatus | |
JP2009200858A (ja) | 無線通信装置及び無線通信方法及びプログラム | |
US11269703B2 (en) | Information processing system and storage device control method to determine whether data has been correctly written into a storage device | |
US10579470B1 (en) | Address failure detection for memory devices having inline storage configurations |
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 |