CN103577275B - 一种数据校验的方法、设备和系统 - Google Patents
一种数据校验的方法、设备和系统 Download PDFInfo
- Publication number
- CN103577275B CN103577275B CN201310507460.9A CN201310507460A CN103577275B CN 103577275 B CN103577275 B CN 103577275B CN 201310507460 A CN201310507460 A CN 201310507460A CN 103577275 B CN103577275 B CN 103577275B
- Authority
- CN
- China
- Prior art keywords
- data
- verification data
- memory
- verification
- storage
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
Abstract
本发明实施例提供一种数据校验的方法,设备和系统。涉及数据校验领域,能够在读取不包含ECC校验芯片的内存时,实现对内存数据的校验,提高读取到的内存数据的可靠性。该方法包括:在内存控制设备接收到中央处理器CPU发送的操作指令后,校验数据读写模块获取该内存控制设备发送的该操作指令,在确定该操作指令为读指令时,根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验。本发明实施例用于对内存数据进行校验。
Description
技术领域
本发明涉及数据校验领域,尤其涉及一种数据校验的方法、设备和系统。
背景技术
目前绝大多数服务器都是采用带有ECC(Error Checking and Correcting,错误检测与纠正)功能的RDIMM(Registered Dual Inline Memory Modules,带寄存器的双线内存模块)内存,这种内存模块包含ECC校验芯片和数据芯片,其中,ECC校验芯片存储ECC校验码,数据芯片存储内存数据。
对于现有的包含ECC校验芯片的内存,CPU(Central Processing Unit,中央处理器)读写数据的过程如下:CPU在读数据时,向内存控制设备发送读指令,内存控制设备根据该读指令从该内存模块的数据芯片中读取内存数据,并从该内存模块的ECC校验芯片中读取ECC校验码,并根据读取的ECC校验码对内存数据进行校验,如果校验没有错误,则将该内存数据发送至CPU;CPU在写数据时,向内存控制设备发送写指令和内存数据,内存控制设备根据该写指令生成对应该内存数据的ECC校验码,并将该内存数据写入数据芯片,将该ECC校验码写入ECC校验芯片。由于上述内存模块包含了ECC校验芯片,因此,该内存模块能够在CPU读取数据时,内存控制设备对读取的内存数据通过ECC校验码进行校验,从而保证了内存数据的可靠性(如读写内存数据的正确性)。
需要说明的是,包含有ECC校验芯片的内存模块与不包含ECC校验芯片的内存模块相比,成本更高且内存功耗更大,但是,若采用不包含ECC校验芯片的内存模块,无法实现对内存数据的校验,也就无法保证内存数据的可靠性。
发明内容
本发明的实施例提供一种数据校验的方法、设备和系统,能够在读取不包含ECC校验芯片的内存时,实现对内存数据的校验,提高读取到的内存数据的可靠性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据校验的方法,包括:
在内存控制设备接收到中央处理器CPU发送的操作指令后,校验数据读写模块获取所述内存控制设备发送的所述操作指令;
在确定所述操作指令为读指令时,根据所述读指令从校验数据存储模块中获取校验数据;
将所述校验数据发送至所述内存控制设备,以便所述内存控制设备在根据所述操作指令从内存模块中获取到与所述校验数据对应的内存数据后,根据所述校验数据对所述内存数据进行校验。
在第一方面第一种可能的实现方式中,在确定所述操作指令为写指令时,
根据所述写指令从所述内存控制设备获取所述校验数据,其中,所述校验数据是由所述内存控制设备根据从所述CPU获取的内存数据得到的;
将所述校验数据写入所述校验数据存储模块。
结合第一种可能的实现方式,在第二种可能的实现方式中,在内存控制设备接收到中央处理器CPU发送的操作指令前,所述方法还包括:
获取所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存储区域信息;
根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,并根据所述第二存储区域信息确定第二存储区域;
根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域,其中,所述第二存储子区域存储有与所述内存数据对应的校验数据;
所述将所述校验数据写入所述校验数据存储模块包括:
将所述校验数据写入所述校验数据存储模块的第二存储子区域中。
结合第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域包括:
根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域;
确定所述第一存储子区域的标识信息;
根据所述标识信息标示所述第二存储子区域。
结合第一方面至第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,所述校验数据读写模块获取所述内存控制设备发送的所述操作指令包括:
在所述内存控制设备确定所述内存控制设备与所述校验数据读写模块之间的数据通道连通时,所述校验数据读写模块获取所述内存控制设备发送的所述操作指令。
第二方面,提供一种校验数据读写模块,包括:
接收单元,用于在内存控制设备接收到中央处理器CPU发送的操作指令后,获取所述内存控制设备发送的所述操作指令;
处理单元,用于在确定所述接收单元接收的操作指令为读指令时,根据所述读指令从校验数据存储模块中获取校验数据;
发送单元,用于将所述处理单元获取的校验数据发送至所述内存控制设备,以便所述内存控制设备在根据所述操作指令从内存模块中获取到与所述校验数据对应的内存数据后,根据所述校验数据对所述内存数据进行校验。
在第二方面的第一种可能的实现方式中,所述处理单元还用于:
在确定所述操作指令为写指令时,根据所述写指令从所述内存控制设备获取所述校验数据,并将所述校验数据写入所述校验数据存储模块,其中,所述校验数据是由所述内存控制设备根据从所述CPU获取的内存数据得到的。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元还用于,接收所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存储区域信息,并根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据所述第二存储区域信息确定第二存储区域;
所述处理单元具体用于,根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域,其中,所述第二存储子区域存储有与所述内存数据对应的校验数据;
所述处理单元具体用于,将所述校验数据写入所述校验数据存储模块的第二存储子区域中。
结合第二种可能的实现方式,在第三种可能的实现方式中,所述处理单元还用于:
根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域,确定所述第一存储子区域的标识信息,并根据所述标识信息标示所述第二存储子区域。
结合第二方面至第三种可能的实现方式中的任意一种可能的实现方式,在第四种可能的实现方式中,所述接收单元还用于,在所述内存控制设备确定所述内存控制设备与所述接收单元之间的数据通道连通时,所述接收单元获取所述内存控制设备发送的所述操作指令。
第三方面,提供一种内存控制设备,所述内存控制设备包括第二方面至第四种可能的实现方式中任一可能实现方式中所述的校验数据读写模块。
第四方面,提供一种数据校验系统,包括:CPU、内存控制设备、校验数据读写模块、内存模块和校验数据存储模块,其中,
所述CPU,用于向所述内存控制设备发送操作指令;
所述内存控制设备,用于接收CPU发生的操作指令,在该操作指令为读指令时,从内存模块中获取内存数据,并接收所述校验数据读写模块发送的校验数据,并根据所述校验数据对所述内存数据进行校验;
所述校验数据读写模块包括第二方面至第四种可能的实现方式中任一可能实现方式中所述的校验数据读写模块;
所述内存模块,用于存储内存数据;
所述校验数据存储模块,用于存储校验数据。
第五方面,提供一种数据校验系统,包括:CPU、内存控制设备、内存模块和校验数据存储模块,其中,
所述CPU,用于向所述内存控制设备发送操作指令;
所述内存控制设备包括第三方面所述的内存控制设备;
所述内存模块,用于存储内存数据;
所述校验数据存储模块,用于存储校验数据。
通过采用上述方法,校验数据读写模块在获取到读指令时,根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据校验方法的流程示意图;
图2为本发明实施例提供的另一种数据校验方法的流程示意图;
图3为本发明实施例提供的一种校验数据读写模块的结构示意图;
图4为本发明实施例提供的另一种校验数据读写模块的结构示意图;
图5a为本发明实施例提供的一种内存控制设备的结构示意图;
图5b为本发明实施例提供的另一种内存控制设备的结构示意图;
图6为本发明实施例提供的一种数据校验系统的结构示意图;
图7为本发明实施例提供的另一种数据校验系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据校验的方法,如图1所示,该方法的执行主体是校验数据读写模块,包括:
S101、在内存控制设备接收到CPU发送的操作指令后,校验数据读写模块获取该内存控制设备发送的该操作指令。
具体地,CPU将操作指令发送至内存控制设备,内存控制设备将该操作指令发送至校验数据读写模块。
进一步地,该校验数据读写模块获取该内存控制设备发送的该操作指令之前,在该内存控制设备确定该内存控制设备与该校验数据读写模块之间的数据通道连通时,该校验数据读写模块获取该内存控制设备发送的该操作指令。
需要说明的是,内存控制设备可以控制该校验通道的开启与关闭,在该校验通道开启时,则该内存控制设备与该校验数据读写模块连通,在该校验通道关闭时,则该内存控制设备与该校验数据读写模块连接断开,在本发明实施例中,当内存模块中不包括校验数据存储模块(该校验数据存储模块可以为ECC校验模块)时,则内存控制设备开启该校验通道,从而在读取内存数据的过程中,通过校验数据读写模块完成对内存数据的校验;当内存模块中包括该校验数据存储模块时,则内存控制设备关闭该校验通道,从而在读取内存数据的过程中,通过该校验数据存储模块中存储的校验数据(如ECC校验数据)完成对对内存数据的校验,这样,通过内存控制设备对校验通道的控制,灵活的选择适应不同内存模块(如上述包括校验数据存储模块的内存模块和不包括校验数据存储模块的内存模块)的内存数据的校验方式,从而保证内存数据的可靠性。
S102、在确定该操作指令为读指令时,校验数据读写模块根据该读指令从校验数据存储模块中获取校验数据。
具体地,若该操作指令为读指令,则内存控制设备根据该读指令读取内存模块中的内存数据,校验数据读写模块根据该读指令读取校验数据存储模块中与该内存数据对应的校验数据。
进一步地,在内存控制设备接收到CPU发送的操作指令前,校验数据读写模块获取该内存模块中的第一存储区域信息和该校验数据存储模块中的第二存储区域信息,根据该第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据该第二存储区域信息确定第二存储区域,并根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域。
其中,该第二存储子区域存储有与该内存数据对应的校验数据。
具体地,校验数据读写模块根据该第一存储子区域将该第二存储区域划分为该第二存储子区域,并确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存储子区域,从而完成对该第二存储区域的划分,并使得划分后的第二存储子区域与第一存储子区域对应,这样,内存控制设备在根据读指令从内存模块的第一存储子区域中读取内存数据时,校验数据读写模块也根据内存控制设备发送的读指令从校验数据存储模块的第二存储子区域中读取对应的校验数据。
需要说明的是,内存控制设备在系统上电后,获取对应的内存模块中存储子区域的标识信息,在接收到CPU发送的读指令后,内存控制设备根据该读指令确定读取的内存数据在内存模块中对应的存储子区域的标识信息,并从该标识信息对应的存储子区域中读取并缓存该内存数据,该标识信息用于指示内存模块的存储区域中存储该内存数据的存储子区域的位置信息,如该内存控制设备对应内存模块的编号,该内存模块对应内存颗粒的编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据在存储阵列中的行编号和列编号等编号信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等信息,本发明对此不作限定。
另外,该数据校验读写模块在系统上电后,获取该内存控制设备中的存储子区域的标识信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等信息,该数据校验读写模块根据该内存大小及内存位宽等信息对校验数据存储模块的校验数据存储区域进行划分,并根据该标识信息对该校验数据存储模块中划分好的存储子区域进行编号,这样,得到的校验数据存储子区域的编号信息与内存模块中存储子区域的编号信息对应。
示例地,内存控制设备在系统上电后,获取内存模块中所有存储子区域的标识信息,如该内存控制设备对应内存模块的编号,该内存模块的内存大小和内存位宽,该内存模块对应内存颗粒的编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据在存储阵列中的行编号和列编号等信息,校验数据读写模块获取该内存控制设备中的存储子区域的标识信息,该校验数据读写模块按照该标识信息划分校验数据存储模块的校验数据存储区域,得到校验数据存储子区域,并根据该标识信息对校验数据存储子区域进行编号,例如,校验数据读写模块从第A个内存控制器中获取到标识信息,则该校验数据读写模块确定该校验数据存储模块中编号为A的存储区域,若该标识信息标示了内存控制器的第B个内存模块,则该校验数据读写模块根据该标识信息在编号为A的存储区域中确定编号为B的存储区域,若该标识信息标示了该内存模块中的第C个内存颗粒,则该校验数据读写模块根据该标识信息在编号为B的存储区域中确定编号为C的存储区域,这样,直到该校验数据读写模块根据该标识信息确定该校验数据存储子区域位置,并使得该校验数据存储子区域与该内存模块中的存储子区域相对应。
可选地,该内存控制设备在接收到读指令后,根据该读指令确定待读取的内存数据在内存模块中对应的存储子区域的编号信息,如该存储子区域所属内存模块的编号,在所属内存模块的内存颗粒的编号以及在所属内存颗粒的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息;校验数据读写模块在接收到读指令后,根据该读指令确定读取的内存数据在内存模块中对应的存储子区域的编号信息,并从校验数据存储模块中与该存储子区域的编号对应的校验数据存储子区域中获取校验数据。例如,校验数据读写模块从第A个内存控制器中获取到读指令,并根据该读指令确定待读取的内存数据在该内存控制设备对应的第B个内存模块中的第C个内存颗粒中第D个存储阵列的第E行第F列,则该校验数据读写模块在校验数据存储模块中从编号为A,B,C,D,E,F的存储子区域中读取校验数据,这样,保证了校验数据读写模块读取的校验数据与内存控制设备读取的内存数据对应。
进一步地,校验数据读写模块在根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域后,向该内存控制设备发送划分响应消息,以告知内存控制设备已完成对校验数据存储模块中的校验数据存储区域的划分。
S103、校验数据读写模块将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验。
具体地,内存控制设备在接收到该校验数据后,向校验数据读写模块发送读取响应消息,并根据该校验数据对从内存模块中读取并缓存的内存数据进行校验,并在校验成功后,将该内存数据发送至CPU,从而完成对内存数据的读取与校验。
可选地,在确定该操作指令为写指令时,校验数据读写模块根据该写指令从该内存控制设备获取该校验数据,将该校验数据写入该校验数据存储模块。
其中,该校验数据是由该内存控制设备根据从该CPU获取的内存数据得到的。
具体地,CPU向内存控制设备发送写指令,并将该写指令对应的内存数据发送至内存控制设备进行缓存,内存控制设备根据该内存数据生成对应的校验数据(如ECC校验码),并将内存数据写入内存模块中;内存控制设备将该写指令发送至校验数据读写模块,并将生成的校验数据发送至校验数据读写模块,校验数据读写模块根据该写指令将该校验数据写入校验数据存储模块中。
需要说明的是,由于校验数据读写模块在根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域,则该校验数据读写模块将该校验数据写入该校验数据存储模块的第二存储子区域中。
具体地,内存控制设备在接收到写指令以及对应的内存数据后,根据该内存数据生成对应的校验数据,并根据该写指令确定该内存数据在内存模块中待写入的存储子区域的编号信息,如该内存控制设备的编号和对应的内存模块的编号以及该内存数据在所属内存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,并将该内存数据写入该编号信息对应的存储子区域;校验数据读写模块在接收到内存控制设备发送的写指令后,从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的编号信息,并将该校验数据写入校验数据存储模块中对应该编号信息的校验数据存储子模块,例如,校验数据读写模块从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的编号信息为第A个内存控制设备对应的第B个内存模块中的第C个内存颗粒中的第D个存储阵列的第E行第F列,则校验数据读写模块将该校验数据写入在校验数据存储模块中编号为A,B,C,D,E,F的校验数据存储子区域,在将校验数据写入校验数据存储子模块后,校验数据读写模块向内存控制设备发送写入响应消息,这样,使得在读取内存数据时,从校验数据存储模块中读取到与该内存数据对应的校验数据,从而保证对应内存数据校验的正确性,提高读取内存数据的可靠性。
需要说明的是,上述校验数据包括ECC校验码。
另外,上述校验数据读写模块可以集成在上述内存控制设备中,通过内存控制设备完成本发明实施例中内存数据的读写和校验,本发明对此不作限定。
通过采用上述执行主体为校验数据读写模块的方法,校验数据读写模块在获取到读指令时,根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
本发明实施例提供一种数据校验的方法,如图2所示,本发明实施例中的校验数据读写模块是以独立于内存控制设备的模块为例进行说明的,本发明实施例中的校验数据包括ECC校验码,该方法包括:
S201、在系统上电后,内存控制设备获取该内存模块中的第一存储区域信息,校验数据读写模块获取校验数据存储模块的第二存储区域信息。
S202、校验数据读写模块从内存控制设备中获取第一存储区域信息,并根据该第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据该第二存储区域信息确定第二存储区域。
其中,该第二存储子区域存储有与该内存数据对应的校验数据。
S203、校验数据读写模块根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域。
具体地,校验数据读写模块根据该第一存储子区域将该第二存储区域划分为该第二存储子区域,并确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存储子区域,从而完成对该第二存储区域的划分,并使得划分后的第二存储子区域与第一存储子区域对应,这样,内存控制设备在根据读指令从内存模块的第一存储子区域中读取内存数据时,校验数据读写模块也根据内存控制设备发送的读指令从校验数据存储模块的第二存储子区域中读取对应的校验数据。
示例地,内存控制设备在系统上电后,获取内存模块中存储区域对应的所有存储子区域的编号信息,如该内存控制设备对应的内存模块的编号以及该内存数据在所属内存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,校验数据读写模块获取该内存控制设备中存储子区域的编号信息,并按照该编号信息划分校验数据存储模块的校验数据存储区域,得到校验数据存储子区域,并按照该编号信息对校验数据存储子区域进行编号,这样,得到的校验数据存储子区域的编号信息与内存模块中存储子区域的编号信息对应。
S204、校验数据读写模块向该内存控制设备发送划分响应消息。
S205、CPU将操作指令发送至该内存控制设备。
S206、该内存控制设备在确定该内存控制设备与该校验数据读写模块之间的数据通道连通后,将该操作指令发送至校验数据读写模块。
需要说明的是,内存控制设备可以控制该校验通道的开启与关闭,在该校验通道开启时,则该内存控制设备与该校验数据读写模块连通,在该校验通道关闭时,则该内存控制设备与该校验数据读写模块连接断开,在本发明实施例中,当内存模块中不包括校验数据存储模块(该校验数据存储模块可以为ECC校验模块)时,则内存控制设备开启该校验通道,从而在读取内存数据的过程中,通过校验数据读写模块完成对内存数据的校验;当内存模块中包括该校验数据存储模块时,则内存控制设备关闭该校验通道,从而在读取内存数据的过程中,通过该校验数据存储模块中存储的校验数据(如ECC校验数据)完成对对内存数据的校验,这样,通过内存控制设备对校验通道的控制,灵活的选择适应不同内存模块(如上述包括校验数据存储模块的内存模块和不包括校验数据存储模块的内存模块)的内存数据的校验方式,从而保证内存数据的可靠性。
校验数据读写模块在确定该操作指令为读指令时,执行步骤S207至步骤S212。
校验数据读写模块在确定该操作指令为写指令时,执行步骤S213至步骤S217。
S207、内存控制设备在确定该操作指令为读指令时,根据读指令确定待读取的内存数据在内存模块中对应的第一存储子区域。
S208、内存控制设备从该待读取的内存数据在内存模块中对应的第一存储子区域中读取并缓存内存数据。
S209、校验数据读写模块根据该读指令从校验数据存储模块的第二存储子区域获取校验数据。
其中,该第二存储子区域与上述待读取的内存数据在内存模块中对应的第一存储子区域对应。
具体地,内存控制设备根据该读指令读取内存模块中的内存数据,校验数据读写模块根据该读指令读取校验数据存储模块中与该内存数据对应的校验数据。
示例的,内存控制设备在接收到读指令后,根据该读指令确定待读取的内存数据在内存模块中对应的存储子区域的编号信息,如该存储子区域对应的内存控制设备的编号和所属内存模块的编号以及在所属内存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息;校验数据读写模块在接收到读指令后,根据该读指令确定读取的内存数据在内存模块中对应的存储子区域的编号信息,并从校验数据存储模块中与该存储子区域的编号对应的校验数据存储子区域中获取校验数据,例如,若校验数据读写模块根据该读指令确定待读取的内存数据在内存模块中对应的存储子区域的编号信息为第A个内存控制设备对应的第B个内存模块中的第C个内存颗粒的第D个存储阵列的第E行第F列,则该校验数据读写模块在校验数据存储模块中从编号为A,B,C,D,E,F的校验数据存储子区域中读取校验数据,这样,保证了校验数据读写模块读取的校验数据与内存控制设备读取的内存数据对应。
S210、校验数据读写模块将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验。
具体地,内存控制设备在接收到该校验数据后,向校验数据读写模块发送读取响应消息。
S211、内存控制设备根据该校验数据对内存数据进行校验。
S212、在内存数据校验成功后,内存控制设备将该内存数据发送至CPU。
其中,内存控制设备在将该内存数据发送至CPU后,完成对内存数据的读取与校验。
S213、内存控制设备在确定该操作指令为写指令时,接收并缓存CPU发送的内存数据。
S214、内存控制设备根据该内存数据生成校验数据,并将该校验数据发送至校验数据读写模块。
S215、内存控制设备根据该写指令确定待写入的内存数据在内存模块中对应的第一存储子区域。
S216、内存控制设备将该内存数据写入该待写入的内存数据在内存模块中对应的第一存储子区域。
S217、校验数据读写模块在接收到该校验数据后,将该校验数据写入校验数据存储模块中的第二存储子区域。
其中,该第二存储子区域与上述待写入的内存数据在内存模块中对应的第一存储子区域对应。
具体地,内存控制设备在接收到写指令以及对应的内存数据后,根据该内存数据生成对应的校验数据,并根据该写指令确定该内存数据在内存模块中待写入的存储子区域的编号信息,如该内存控制设备的编号和对应的内存模块的编号以及该内存数据在所属内存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,并将该内存数据写入该编号信息对应的存储子区域;校验数据读写模块在接收到内存控制设备发送的写指令后,从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的编号信息,并将该校验数据写入校验数据存储模块中对应该编号信息的校验数据存储子模块,例如,校验数据读写模块从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的编号信息为第A个内存控制设备对应的第B个内存模块中第C个内存颗粒的第D个存储阵列的第E行第F列,则校验数据读写模块将该校验数据写入在校验数据存储模块中编号为A,B,C,D,E,F的校验数据存储子区域,在将校验数据写入校验数据存储子模块后,校验数据读写模块向内存控制设备发送写入响应消息,这样,使得在读取内存数据时,从校验数据存储模块中读取到与该内存数据对应的校验数据,从而保证对应内存数据校验的正确性,提高读取内存数据的可靠性。
需要说明的是,上述校验数据读写模块是以独立于内存控制设备的模块为例进行说明的,本发明实施例并不局限于此,该校验数据读写模块也可以集成在内存控制设备中,此时,上述校验数据读写模块与内存控制设备之间的数据交互都为在该内存控制设备内部的数据交互,此处不再赘述了。
采用上述方案,能够在读取不包含ECC校验芯片的内存时,实现对内存数据的校验,提高读取到的数据的可靠性。
需要说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明提供一种校验数据读写模块30,如图3所示,包括:
接收单元31,用于在内存控制设备接收到中央处理器CPU发送的操作指令后,获取该内存控制设备发送的该操作指令。
具体地,CPU将操作指令发送至内存控制设备,内存控制设备将该操作指令发送至校验数据读写模块。
处理单元32,用于在确定该接收单元32接收的操作指令为读指令时,根据该读指令从校验数据存储模块中获取校验数据。
具体地,若该操作指令为读指令,则内存控制设备根据该读指令读取内存模块中的内存数据,校验数据读写模块根据该读指令读取校验数据存储模块中与该内存数据对应的校验数据。
发送单元33,用于将该处理单元32获取的校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验。
具体地,内存控制设备在接收到该校验数据后,向校验数据读写模块发送读取响应消息,并根据该校验数据对从内存模块中读取并缓存的内存数据进行校验,并在校验成功后,将该内存数据发送至CPU,从而完成对内存数据的读取与校验。
该接收单元31还用于,在该内存控制设备确定该内存控制设备与该接收单元之间的数据通道连通时,该接收单元获取该内存控制设备发送的该操作指令。
需要说明的是,内存控制设备可以控制该校验通道的开启与关闭,在该校验通道开启时,则该内存控制设备与该校验数据读写模块连通,在该校验通道关闭时,则该内存控制设备与该校验数据读写模块连接断开,在本发明实施例中,当内存模块中不包括校验数据存储模块(该校验数据存储模块可以为ECC校验模块)时,则内存控制设备开启该校验通道,从而在读取内存数据的过程中,通过校验数据读写模块完成对内存数据的校验;当内存模块中包括该校验数据存储模块时,则内存控制设备关闭该校验通道,从而在读取内存数据的过程中,通过该校验数据存储模块中存储的校验数据(如ECC校验数据)完成对对内存数据的校验,这样,通过内存控制设备对校验通道的控制,灵活的选择适应不同内存模块(如上述包括校验数据存储模块的内存模块和不包括校验数据存储模块的内存模块)的内存数据的校验方式,从而保证内存数据的可靠性。
该接收单元31还用于,接收该内存模块中的第一存储区域信息和该校验数据存储模块中的第二存储区域信息,并根据该第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据该第二存储区域信息确定第二存储区域。
该处理单元32用于,根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域,并将该校验数据写入该校验数据存储模块的第二存储子区域中,其中,该第二存储子区域存储有与该内存数据对应的校验数据。
该处理单元32还用于,根据该第一存储子区域将该第二存储区域划分为该第二存储子区域,确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存储子区域。
具体地,在内存控制设备接收到CPU发送的操作指令前,校验数据读写模块获取该内存模块中的第一存储区域信息和该校验数据存储模块中的第二存储区域信息,根据该第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据该第二存储区域信息确定第二存储区域,并根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域。
其中,该第二存储子区域存储有与该内存数据对应的校验数据。
进一步地,校验数据读写模块根据该第一存储子区域将该第二存储区域划分为该第二存储子区域,并确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存储子区域,从而完成对该第二存储区域的划分,并使得划分后的第二存储子区域与第一存储子区域对应,这样,内存控制设备在根据读指令从内存模块的第一存储子区域中读取内存数据时,校验数据读写模块也根据内存控制设备发送的读指令从校验数据存储模块的第二存储子区域中读取对应的校验数据。
需要说明的是,内存控制设备在系统上电后,获取对应的内存模块中存储子区域的标识信息,在接收到CPU发送的读指令后,内存控制设备根据该读指令确定读取的内存数据在内存模块中对应的存储子区域的标识信息,并从该标识信息对应的存储子区域中读取并缓存该内存数据,该标识信息用于指示内存模块的存储区域中存储该内存数据的存储子区域的位置信息,如该内存控制设备对应内存模块的编号,该内存模块对应内存颗粒的编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据在存储阵列中的行编号和列编号等编号信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等信息,本发明对此不作限定。
另外,该数据校验读写模块在系统上电后,获取该内存控制设备中的存储子区域的标识信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等信息,该数据校验读写模块根据该内存大小及内存位宽等信息对校验数据存储模块的校验数据存储区域进行划分,并根据该标识信息对该校验数据存储模块中划分好的存储子区域进行编号,这样,得到的校验数据存储子区域的编号信息与内存模块中存储子区域的编号信息对应。
示例地,内存控制设备在系统上电后,获取内存模块中所有存储子区域的标识信息,如该内存控制设备对应内存模块的编号,该内存模块的内存大小和内存位宽,该内存模块对应内存颗粒的编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据在存储阵列中的行编号和列编号等信息,校验数据读写模块获取该内存控制设备中的存储子区域的标识信息,该校验数据读写模块按照该标识信息划分校验数据存储模块的校验数据存储区域,得到校验数据存储子区域,并根据该标识信息对校验数据存储子区域进行编号,例如,校验数据读写模块从第A个内存控制器中获取到标识信息,则该校验数据读写模块确定该校验数据存储模块中编号为A的存储区域,若该标识信息标示了内存控制器的第B个内存模块,则该校验数据读写模块根据该标识信息在编号为A的存储区域中确定编号为B的存储区域,若该标识信息标示了该内存模块中的第C个内存颗粒,则该校验数据读写模块根据该标识信息在编号为B的存储区域中确定编号为C的存储区域,这样,直到该校验数据读写模块根据该标识信息确定该校验数据存储子区域位置,并使得该校验数据存储子区域与该内存模块中的存储子区域相对应。
可选地,该内存控制设备在接收到读指令后,根据该读指令确定待读取的内存数据在内存模块中对应的存储子区域的编号信息,如该存储子区域所属内存模块的编号,在所属内存模块的内存颗粒的编号以及在所属内存颗粒的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息;校验数据读写模块在接收到读指令后,根据该读指令确定读取的内存数据在内存模块中对应的存储子区域的编号信息,并从校验数据存储模块中与该存储子区域的编号对应的校验数据存储子区域中获取校验数据。例如,校验数据读写模块从第A个内存控制器中获取到读指令,并根据该读指令确定待读取的内存数据在该内存控制设备对应的第B个内存模块中的第C个内存颗粒中第D个存储阵列的第E行第F列,则该校验数据读写模块在校验数据存储模块中从编号为A,B,C,D,E,F的存储子区域中读取校验数据,这样,保证了校验数据读写模块读取的校验数据与内存控制设备读取的内存数据对应。
该发送单元33还用于,在根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域后,向该内存控制设备发送划分响应消息。
可选地,该处理单元32还用于,在确定该操作指令为写指令时,根据该写指令从该内存控制设备获取该校验数据,并将该校验数据写入该校验数据存储模块,其中,该校验数据是由该内存控制设备根据从该CPU获取的内存数据得到的。
其中,该校验数据是由该内存控制设备根据从该CPU获取的内存数据得到的,该校验数据包括ECC校验码。
具体地,CPU向内存控制设备发送写指令,并将该写指令对应的内存数据发送至内存控制设备进行缓存,内存控制设备根据该内存数据生成对应的校验数据(如ECC校验码),并将内存数据写入内存模块中,将该写指令发送至校验数据读写模块,并将生成的校验数据发送至校验数据读写模块,根据该写指令将该校验数据写入校验数据存储模块中。
需要说明的是,由于校验数据读写模块在根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域,则该将该校验数据写入该校验数据存储模块的第二存储子区域中。
具体地,内存控制设备在接收到写指令以及对应的内存数据后,根据该内存数据生成对应的校验数据,并根据该写指令确定该内存数据在内存模块中待写入的存储子区域的编号信息,如该内存控制设备的编号和对应的内存模块的编号以及该内存数据在所属内存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,并将该内存数据写入该编号信息对应的存储子区域,校验数据读写模块在接收到内存控制设备发送的写指令后,从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的编号信息,并将该校验数据写入校验数据存储模块中对应该编号信息的校验数据存储子模块,例如,校验数据读写模块从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的编号信息为第A个内存控制设备对应的第B个内存模块中的第C个内存颗粒的第D个存储阵列的第E行第F列,则校验数据读写模块将该校验数据写入在校验数据存储模块中编号为A,B,C,D,E,F的校验数据存储子区域,在将校验数据写入校验数据存储子模块后,校验数据读写模块向内存控制设备发送写入响应消息,这样,使得在读取内存数据时,从校验数据存储模块中读取到与该内存数据对应的校验数据,从而保证对应内存数据校验的正确性,提高读取内存数据的可靠性。
采用上述校验数据读写模块,在该校验数据读写模块获取到读指令时,该校验数据读写模块根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
本发明提供一种校验数据读写模块40,如图4所示,该校验数据读写模块40包括:
处理器(processor)41、通信接口(Communications Interface)42、存储器(memory)43和通信总线44;其中,所述处理器41、所述通信接口42和所述存储器43通过所述通信总线44完成相互间的通信。
处理器41可能是一个多核中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器43用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述通信接口42,用于实现这些装置之间的连接通信。
该处理器41执行程序代码,用于在内存控制设备接收到中央处理器CPU发送的操作指令后,获取该内存控制设备发送的该操作指令,在确定该操作指令为读指令时,根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验。
可选地,该处理器41还用于,在确定该操作指令为写指令时,根据该写指令从该内存控制设备获取该校验数据,并将该校验数据写入该校验数据存储模块。
其中,该校验数据是由该内存控制设备根据从该CPU获取的内存数据得到的;该校验数据包括ECC校验码。
可选地,该处理器41还用于,在内存控制设备接收到中央处理器CPU发送的操作指令前,获取该内存模块中的第一存储区域信息和该校验数据存储模块中的第二存储区域信息,根据该第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,并根据该第二存储区域信息确定第二存储区域,并根据该第一存储子区域对该第二存储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域。
其中,该第二存储子区域存储有与该内存数据对应的校验数据。
可选地,该处理器41具体用于,根据该第一存储子区域将该第二存储区域划分为该第二存储子区域,并确定该第一存储子区域的标识信息,以根据该标识信息标示该第二存储子区域。
可选地,该处理器41还用于,在该内存控制设备确定该内存控制设备与该校验数据读写模块之间的数据通道连通时,获取该内存控制设备发送的该操作指令。
本发明提供一种内存控制设备50,如图5a或5b所示,包括上述图3(如图5a)所示的校验数据读写模块30或者图4(如图5b)所示的校验数据读写模块40。该校验数据读写模块具体的描述可以参照上述图3或图4所示实施例中的对应描述,需要说明的是,图3或图4所示实施例中该校验数据读写模块与内存控制设备之间的数据交互都为在该内存控制设备内部的数据交互,此处不再赘述了。
这样,采用上述内存控制设备,在该内存控制设备获取到读指令时,该内存控制设备根据该读指令从校验数据存储模块中获取校验数据,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
本发明提供一种数据校验系统,如图6所示,包括:CPU61、内存控制设备62、校验数据读写模块63、内存模块64和校验数据存储模块65,其中,
该CPU61,用于向所述内存控制设备发送操作指令;
该内存控制设备62,用于接收CPU61发生的操作指令,在该操作指令为读指令时,从内存模块中获取内存数据,并接收所述校验数据读写模块发送的校验数据,并根据所述校验数据对所述内存数据进行校验。
该校验数据读写模块63,包括上述图3所示的校验数据读写模块30或图4所示的校验数据读写模块40。其具体的描述可以参照图3或图4所示实施例中的对应描述,此处不再赘述。
该内存模块64,用于存储内存数据。
该校验数据存储模块65,用于存储校验数据。
可选地,该CPU具体用于,向内存控制设备发送写指令。
该内存控制设备还用于,根据该CPU发送的写指令接收并缓存CPU发送的内存数据,并根据该内存数据生成校验数据,并将该校验数据发送至校验数据读写模块,并根据该写指令将该内存数据写入待写入的内存数据在内存模块中对应的第一存储子区域。
该校验数据读写模块63还用于,根据接收到内存控制设备发送的写指令将该校验数据写入校验数据存储模块中的第二存储子区域。
其中,该第二存储子区域与上述待写入的内存数据在内存模块中对应的第一存储子区域对应。
这样,采用上述数据校验系统,在校验数据读写模块获取到读指令时,该校验数据读写模块根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
本发明提供一种数据校验系统,如图7所示,包括:CPU71、内存控制设备50、内存模块72和校验数据存储模块73,其中,
该CPU71,用于向所述内存控制设备发送操作指令。
该内存控制设备50,包括上述图5a或5b所示的内存控制设备50。其具体的描述可以参照图5a或5b所示实施例中的对应描述,此处不再赘述。
该内存模块72,用于存储内存数据。
该校验数据存储模块73,用于存储校验数据。
可选地,该CPU71具体用于,向内存控制设备50发送操作写指令。
该内存控制设备50还用于,根据该CPU71发送的写指令接收并缓存CPU71发送的内存数据,并根据该内存数据生成校验数据,并根据该写指令将该内存数据写入待写入的内存数据在内存模块中对应的第一存储子区域,将该校验数据写入校验数据存储模块中的第二存储子区域。
其中,该第二存储子区域与上述待写入的内存数据在内存模块中对应的第一存储子区域对应。
这样,采用上述数据校验系统,在内存控制设备获取到读指令时,该内存控制设备根据该读指令从校验数据存储模块中获取校验数据,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种数据校验的方法,应用于数据校验系统,其特征在于,所述数据校验系统包括:中央处理器CPU、内存控制设备、校验数据读写模块、内存模块和校验数据存储模块,所述内存控制设备与所述校验数据读写模块之间具有校验通道,当所述内存模块未包含所述校验数据存储模块时,所述校验通道开启,当所述内存模块包含所述校验数据存储模块时,所述校验通道关闭;所述方法包括:
当所述校验通道开启时,在所述内存控制设备接收到所述CPU发送的操作指令后,所述校验数据读写模块获取所述内存控制设备发送的所述操作指令;
在确定所述操作指令为读指令时,所述校验数据读写模块根据所述读指令从所述校验数据存储模块中获取校验数据,将所述校验数据发送至所述内存控制设备,以便所述内存控制设备在根据所述操作指令从内存模块中获取到与所述校验数据对应的内存数据后,根据所述校验数据对所述内存数据进行校验;
当所述校验通道关闭时,在所述内存控制设备接收到所述CPU发送的读指令后,所述内存控制设备根据所述读指令从所述内存模块中获取校验数据和所述校验数据对应的内存数据,根据所述校验数据对所述内存数据进行校验。
2.根据权利要求1所述的方法,其特征在于,在确定所述操作指令为写指令时,
根据所述写指令从所述内存控制设备获取所述校验数据,其中,所述校验数据是由所述内存控制设备根据从所述CPU获取的内存数据得到的;
将所述校验数据写入所述校验数据存储模块。
3.根据权利要求2所述的方法,其特征在于,在内存控制设备接收到中央处理器CPU发送的操作指令前,所述方法还包括:
获取所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存储区域信息;
根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,并根据所述第二存储区域信息确定第二存储区域;
根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域,其中,所述第二存储子区域存储有与所述内存数据对应的校验数据;
所述将所述校验数据写入所述校验数据存储模块包括:
将所述校验数据写入所述校验数据存储模块的第二存储子区域中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域包括:
根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域;
确定所述第一存储子区域的标识信息;
根据所述标识信息标示所述第二存储子区域。
5.一种校验数据读写模块,所述校验数据读写模块包含在数据校验系统中,其特征在于,所述数据校验系统包括:中央处理器CPU、内存控制设备、校验数据读写模块、内存模块和校验数据存储模块,所述内存控制设备与所述校验数据读写模块间具有校验通道,所述内存控制设备控制所述校验通道开启或关闭;当所述内存模块未包含所述校验数据存储模块时,所述校验通道开启,当所述内存模块包含所述校验数据存储模块时,所述校验通道关闭;所述校验数据读写模块包括:
接收单元,用于当所述校验通道开启时,在所述内存控制设备接收到中央处理器CPU发送的操作指令后,获取所述内存控制设备发送的所述操作指令;
处理单元,用于在确定所述接收单元接收的操作指令为读指令时,根据所述读指令从校验数据存储模块中获取校验数据;
发送单元,用于将所述处理单元获取的校验数据发送至所述内存控制设备,以便所述内存控制设备在根据所述操作指令从内存模块中获取到与所述校验数据对应的内存数据后,根据所述校验数据对所述内存数据进行校验。
6.根据权利要求5所述的模块,其特征在于,所述处理单元还用于:
在确定所述操作指令为写指令时,根据所述写指令从所述内存控制设备获取所述校验数据,并将所述校验数据写入所述校验数据存储模块,其中,所述校验数据是由所述内存控制设备根据从所述CPU获取的内存数据得到的。
7.根据权利要求6所述的模块,其特征在于,所述接收单元还用于,接收所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存储区域信息,并根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据所述第二存储区域信息确定第二存储区域;
所述处理单元具体用于,根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域,其中,所述第二存储子区域存储有与所述内存数据对应的校验数据;
所述处理单元具体用于,将所述校验数据写入所述校验数据存储模块的第二存储子区域中。
8.根据权利要求7所述的模块,其特征在于,所述处理单元还用于:
根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域,确定所述第一存储子区域的标识信息,并根据所述标识信息标示所述第二存储子区域。
9.一种内存控制设备,其特征在于,所述内存控制设备包括权利要求5至8任一项所述的校验数据读写模块。
10.一种数据校验系统,其特征在于,包括:CPU、内存控制设备、校验数据读写模块、内存模块和校验数据存储模块,所述内存控制设备与所述校验数据读写模块之间具有校验通道,当所述内存模块未包含所述校验数据存储模块时,所述校验通道开启,当所述内存模块包含所述校验数据存储模块时,所述校验通道关闭;其中,
所述CPU,用于向所述内存控制设备发送操作指令;
所述内存控制设备,用于在所述校验通道开启,接收所述CPU发生的操作指令,且该操作指令为读指令时,从内存模块中获取内存数据,并接收所述校验数据读写模块发送的校验数据,并根据所述校验数据对所述内存数据进行校验;当所述校验通道关闭时,在接收到所述CPU发送的读指令后,根据所述读指令从所述内存模块中获取校验数据和所述校验数据对应的内存数据,根据所述校验数据对所述内存数据进行校验;
所述校验数据读写模块包括权利要求6至8任一项所述的校验数据读写模块;
所述内存模块,用于存储内存数据;
所述校验数据存储模块,用于存储校验数据。
11.一种数据校验系统,其特征在于,包括:CPU、内存控制设备、内存模块和校验数据存储模块,其中,
所述CPU,用于向所述内存控制设备发送操作指令;
所述内存控制设备包括权利要求9所述的内存控制设备;
所述内存模块,用于存储内存数据;
所述校验数据存储模块,用于存储校验数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310507460.9A CN103577275B (zh) | 2013-10-24 | 2013-10-24 | 一种数据校验的方法、设备和系统 |
PCT/CN2014/086131 WO2015058591A1 (zh) | 2013-10-24 | 2014-09-09 | 一种数据校验的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310507460.9A CN103577275B (zh) | 2013-10-24 | 2013-10-24 | 一种数据校验的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103577275A CN103577275A (zh) | 2014-02-12 |
CN103577275B true CN103577275B (zh) | 2017-07-07 |
Family
ID=50049111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310507460.9A Expired - Fee Related CN103577275B (zh) | 2013-10-24 | 2013-10-24 | 一种数据校验的方法、设备和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103577275B (zh) |
WO (1) | WO2015058591A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577275B (zh) * | 2013-10-24 | 2017-07-07 | 华为技术有限公司 | 一种数据校验的方法、设备和系统 |
CN105893277A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 数据处理方法及数据处理装置 |
CN105868044A (zh) * | 2016-05-13 | 2016-08-17 | 成都四象联创科技有限公司 | 一种不可逆存储器数据校验系统 |
CN107310274B (zh) * | 2017-06-09 | 2019-05-14 | 珠海艾派克微电子有限公司 | 基于成像盒芯片的数据处理装置、方法、芯片及成像盒 |
CN109144769A (zh) * | 2018-07-20 | 2019-01-04 | 江苏华存电子科技有限公司 | 一种随机内存使用纠错码校验免去冗余储存单元的方法 |
CN109086161A (zh) * | 2018-07-20 | 2018-12-25 | 江苏华存电子科技有限公司 | 一种随机内存使用ecc运算达成块资料纠错校验的方法 |
CN114691412A (zh) * | 2020-12-29 | 2022-07-01 | 华为技术有限公司 | 一种数据校验方法及其相关设备 |
CN113885795B (zh) * | 2021-09-23 | 2024-01-19 | 惠州Tcl移动通信有限公司 | 一种数据存储方法、装置、终端设备及存储介质 |
CN115904797B (zh) * | 2023-02-27 | 2023-05-09 | 北京控达科技有限公司 | 基于现场可编程门阵列的cpu内存诊断方法、系统和设备 |
CN117075571A (zh) * | 2023-03-06 | 2023-11-17 | 昆易电子科技(上海)有限公司 | 测试方法及系统、设备以及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100527091C (zh) * | 2007-08-22 | 2009-08-12 | 杭州华三通信技术有限公司 | 一种实现差错检查与纠正功能的装置 |
CN100562857C (zh) * | 2007-12-14 | 2009-11-25 | 华为技术有限公司 | 校验数据的方法和装置 |
CN101477480B (zh) * | 2009-02-05 | 2011-07-20 | 华为技术有限公司 | 内存控制方法、装置及内存读写系统 |
CN103019880B (zh) * | 2012-12-14 | 2016-06-29 | 华为技术有限公司 | 一种数据校验方法及存储设备、存储系统 |
CN103577275B (zh) * | 2013-10-24 | 2017-07-07 | 华为技术有限公司 | 一种数据校验的方法、设备和系统 |
-
2013
- 2013-10-24 CN CN201310507460.9A patent/CN103577275B/zh not_active Expired - Fee Related
-
2014
- 2014-09-09 WO PCT/CN2014/086131 patent/WO2015058591A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2015058591A1 (zh) | 2015-04-30 |
CN103577275A (zh) | 2014-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577275B (zh) | 一种数据校验的方法、设备和系统 | |
US8225067B2 (en) | Multilevel cell NAND flash memory storage system, and controller and access method thereof | |
CN103955431B (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN103699344B (zh) | 非易失性存储器装置及其操作方法 | |
CN106445843B (zh) | 使物理页面地址相关用于软判决解码 | |
CN107430538A (zh) | 基于错误类型的ecc的动态应用 | |
CN106445724A (zh) | 与受保护数据分开存储奇偶校验数据 | |
CN109697026A (zh) | 包括主机设备和用于执行清除操作的存储设备的存储系统 | |
CN109671465B (zh) | 具有自适应读取阈值方案的存储器系统及其操作方法 | |
CN105005450B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN101599305B (zh) | 具有数据修复功能的储存系统及其数据修复方法 | |
CN103473146A (zh) | 存储器控制方法、存储器控制器以及电子装置 | |
CN110444246A (zh) | 用于存储器系统的相邻辅助校正错误恢复及其方法 | |
CN107391300B (zh) | 一种提高闪存数据存储可靠性的方法及系统 | |
JP2007094764A (ja) | メモリシステム | |
CN110473582A (zh) | 存储器系统及其操作方法 | |
CN106919494A (zh) | 安卓应用日志的实现方法和装置 | |
CN110277126A (zh) | 存储器装置和具有存储器装置的存储器系统 | |
CN110111832A (zh) | 半导体存储器装置及其操作方法 | |
CN105283856A (zh) | 能够在多个数据宽度下通信的存储器组件 | |
CN115116530A (zh) | 存储器的校验管脚处理方法、装置、设备和存储介质 | |
CN103150273A (zh) | 位级内存控制器及控制方法 | |
CN205721746U (zh) | Bios启动模块和系统主板 | |
CN110444243A (zh) | 存储设备读错误纠错能力的测试方法、系统及存储介质 | |
CN109240856A (zh) | 一种存储元数据损坏模拟方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170707 Termination date: 20181024 |