一种数据校验的方法、设备和系统的制作方法

文档序号:6516522阅读:133来源:国知局
一种数据校验的方法、设备和系统的制作方法
【专利摘要】本发明实施例提供一种数据校验的方法,设备和系统。涉及数据校验领域,能够在读取不包含ECC校验芯片的内存时,实现对内存数据的校验,提高读取到的内存数据的可靠性。该方法包括:在内存控制设备接收到中央处理器CPU发送的操作指令后,校验数据读写模块获取该内存控制设备发送的该操作指令,在确定该操作指令为读指令时,根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进行校验。本发明实施例用于对内存数据进行校验。
【专利说明】一种数据校验的方法、设备和系统
【技术领域】
[0001]本发明涉及数据校验领域,尤其涉及一种数据校验的方法、设备和系统。
【背景技术】
[0002]目前绝大多数服务器都是采用带有ECC (Error Checking and Correcting,错误 检测与纠正)功能的RDIMM (Registered Dual Inline Memory Modules,带寄存器的双线 内存模块)内存,这种内存模块包含ECC校验芯片和数据芯片,其中,ECC校验芯片存储ECC 校验码,数据芯片存储内存数据。
[0003]对于现有的包含ECC校验芯片的内存,CPU (Central Processing Unit,中央处理 器)读写数据的过程如下:CPU在读数据时,向内存控制设备发送读指令,内存控制设备根据 该读指令从该内存模块的数据芯片中读取内存数据,并从该内存模块的ECC校验芯片中读 取ECC校验码,并根据读取的ECC校验码对内存数据进行校验,如果校验没有错误,则将该 内存数据发送至CPU5CPU在写数据时,向内存控制设备发送写指令和内存数据,内存控制 设备根据该写指令生成对应该内存数据的ECC校验码,并将该内存数据写入数据芯片,将 该ECC校验码写入ECC校验芯片。由于上述内存模块包含了 ECC校验芯片,因此,该内存模 块能够在CPU读取数据时,内存控制设备对读取的内存数据通过ECC校验码进行校验,从而 保证了内存数据的可靠性(如读写内存数据的正确性)。
[0004]需要说明的是,包含有ECC校验芯片的内存模块与不包含ECC校验芯片的内存模 块相比,成本更高且内存功耗更大,但是,若采用不包含ECC校验芯片的内存模块,无法实 现对内存数据的校验,也就无法保证内存数据的可靠性。

【发明内容】

[0005]本发明的实施例提供一种数据校验的方法、设备和系统,能够在读取不包含ECC 校验芯片的内存时,实现对内存数据的校验,提高读取到的内存数据的可靠性。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供一种数据校验的方法,包括:
[0008]在内存控制设备接收到中央处理器CPU发送的操作指令后,校验数据读写模块获 取所述内存控制设备发送的所述操作指令;
[0009]在确定所述操作指令为读指令时,根据所述读指令从校验数据存储模块中获取校 验数据;
[0010]将所述校验数据发送至所述内存控制设备,以便所述内存控制设备在根据所述操 作指令从内存模块中获取到与所述校验数据对应的内存数据后,根据所述校验数据对所述 内存数据进行校验。
[0011]在第一方面第一种可能的实现方式中,在确定所述操作指令为写指令时,
[0012]根据所述写指令从所述内存控制设备获取所述校验数据,其中,所述校验数据是 由所述内存控制设备根据从所述CPU获取的内存数据得到的;[0013]将所述校验数据写入所述校验数据存储模块。
[0014]结合第一种可能的实现方式,在第二种可能的实现方式中,在内存控制设备接收 到中央处理器CPU发送的操作指令前,所述方法还包括:
[0015]获取所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存 储区域信息;
[0016]根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储 子区域,并根据所述第二存储区域信息确定第二存储区域;
[0017]根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域 中得到与所述第一存储子区域对应的第二存储子区域,其中,所述第二存储子区域存储有 与所述内存数据对应的校验数据;
[0018]所述将所述校验数据写入所述校验数据存储模块包括:
[0019]将所述校验数据写入所述校验数据存储模块的第二存储子区域中。
[0020]结合第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述第一存 储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子 区域对应的第二存储子区域包括:
[0021]根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域;
[0022]确定所述第一存储子区域的标识信息;
[0023]根据所述标识信息标示所述第二存储子区域。
[0024]结合第一方面至第三种可能的实现方式中的任一种可能的实现方式,在第四种可 能的实现方式中,所述校验数据读写模块获取所述内存控制设备发送的所述操作指令包 括:
[0025]在所述内存控制设备确定所述内存控制设备与所述校验数据读写模块之间的数 据通道连通时,所述校验数据读写模块获取所述内存控制设备发送的所述操作指令。
[0026]第二方面,提供一种校验数据读写模块,包括:
[0027]接收单元,用于在内存控制设备接收到中央处理器CPU发送的操作指令后,获取 所述内存控制设备发送的所述操作指令;
[0028]处理单元,用于在确定所述接收单元接收的操作指令为读指令时,根据所述读指 令从校验数据存储模块中获取校验数据;
[0029]发送单元,用于将所述处理单元获取的校验数据发送至所述内存控制设备,以便 所述内存控制设备在根据所述操作指令从内存模块中获取到与所述校验数据对应的内存 数据后,根据所述校验数据对所述内存数据进行校验。
[0030]在第二方面的第一种可能的实现方式中,所述处理单元还用于:
[0031]在确定所述操作指令为写指令时,根据所述写指令从所述内存控制设备获取所述 校验数据,并将所述校验数据写入所述校验数据存储模块,其中,所述校验数据是由所述内 存控制设备根据从所述CPU获取的内存数据得到的。
[0032]结合第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元还用于, 接收所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存储区域信 息,并根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区 域,根据所述第二存储区域信息确定第二存储区域;[0033]所述处理单元具体用于,根据所述第一存储子区域对所述第二存储区域进行划 分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域,其中,所 述第二存储子区域存储有与所述内存数据对应的校验数据;
[0034]所述处理单元具体用于,将所述校验数据写入所述校验数据存储模块的第二存储 子区域中。
[0035]结合第二种可能的实现方式,在第三种可能的实现方式中,所述处理单元还用 于:
[0036]根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域,确定 所述第一存储子区域的标识信息,并根据所述标识信息标示所述第二存储子区域。
[0037]结合第二方面至第三种可能的实现方式中的任意一种可能的实现方式,在第四种 可能的实现方式中,所述接收单元还用于,在所述内存控制设备确定所述内存控制设备与 所述接收单元之间的数据通道连通时,所述接收单元获取所述内存控制设备发送的所述操 作指令。
[0038]第三方面,提供一种内存控制设备,所述内存控制设备包括第二方面至第四种可 能的实现方式中任一可能实现方式中所述的校验数据读写模块。
[0039]第四方面,提供一种数据校验系统,包括:CPU、内存控制设备、校验数据读写模块、 内存模块和校验数据存储模块,其中,
[0040]所述CPU,用于向所述内存控制设备发送操作指令;
[0041]所述内存控制设备,用于接收CPU发生的操作指令,在该操作指令为读指令时,从 内存模块中获取内存数据,并接收所述校验数据读写模块发送的校验数据,并根据所述校 验数据对所述内存数据进行校验;
[0042]所述校验数据读写模块包括第二方面至第四种可能的实现方式中任一可能实现 方式中所述的校验数据读写模块;
[0043]所述内存模块,用于存储内存数据;
[0044]所述校验数据存储模块,用于存储校验数据。
[0045]第五方面,提供一种数据校验系统,包括:CPU、内存控制设备、内存模块和校验数 据存储模块,其中,
[0046]所述CPU,用于向所述内存控制设备发送操作指令;
[0047]所述内存控制设备包括第三方面所述的内存控制设备;
[0048]所述内存模块,用于存储内存数据;
[0049]所述校验数据存储模块,用于存储校验数据。
[0050]通过采用上述方法,校验数据读写模块在获取到读指令时,根据该读指令从校验 数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以便该内存控制 设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验 数据对该内存数据进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验 芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
【专利附图】

【附图说明】
[0051]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的 附图。
[0052]图1为本发明实施例提供的一种数据校验方法的流程示意图;
[0053]图2为本发明实施例提供的另一种数据校验方法的流程示意图;
[0054]图3为本发明实施例提供的一种校验数据读写模块的结构示意图;
[0055]图4为本发明实施例提供的另一种校验数据读写模块的结构示意图;
[0056]图5a为本发明实施例提供的一种内存控制设备的结构示意图;
[0057]图5b为本发明实施例提供的另一种内存控制设备的结构示意图;
[0058]图6为本发明实施例提供的一种数据校验系统的结构示意图;
[0059]图7为本发明实施例提供的另一种数据校验系统的结构示意图。
【具体实施方式】
[0060]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0061]本发明实施例提供一种数据校验的方法,如图1所示,该方法的执行主体是校验 数据读写模块,包括:
[0062]S101、在内存控制设备接收到CPU发送的操作指令后,校验数据读写模块获取该 内存控制设备发送的该操作指令。
[0063]具体地,CPU将操作指令发送至内存控制设备,内存控制设备将该操作指令发送至 校验数据读写模块。
[0064]进一步地,该校验数据读写模块获取该内存控制设备发送的该操作指令之前,在 该内存控制设备确定该内存控制设备与该校验数据读写模块之间的数据通道连通时,该校 验数据读写模块获取该内存控制设备发送的该操作指令。
[0065]需要说明的是,内存控制设备可以控制该校验通道的开启与关闭,在该校验通道 开启时,则该内存控制设备与该校验数据读写模块连通,在该校验通道关闭时,则该内存控 制设备与该校验数据读写模块连接断开,在本发明实施例中,当内存模块中不包括校验数 据存储模块(该校验数据存储模块可以为ECC校验模块)时,则内存控制设备开启该校验通 道,从而在读取内存数据的过程中,通过校验数据读写模块完成对内存数据的校验;当内存 模块中包括该校验数据存储模块时,则内存控制设备关闭该校验通道,从而在读取内存数 据的过程中,通过该校验数据存储模块中存储的校验数据(如ECC校验数据)完成对对内 存数据的校验,这样,通过内存控制设备对校验通道的控制,灵活的选择适应不同内存模块 (如上述包括校验数据存储模块的内存模块和不包括校验数据存储模块的内存模块)的内 存数据的校验方式,从而保证内存数据的可靠性。
[0066]S102、在确定该操作指令为读指令时,校验数据读写模块根据该读指令从校验数 据存储模块中获取校验数据。
[0067]具体地,若该操作指令为读指令,则内存控制设备根据该读指令读取内存模块中的内存数据,校验数据读写模块根据该读指令读取校验数据存储模块中与该内存数据对应 的校验数据。
[0068]进一步地,在内存控制设备接收到CPU发送的操作指令前,校验数据读写模块获 取该内存模块中的第一存储区域信息和该校验数据存储模块中的第二存储区域信息,根据 该第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据该第 二存储区域信息确定第二存储区域,并根据该第一存储子区域对该第二存储区域进行划 分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域。
[0069]其中,该第二存储子区域存储有与该内存数据对应的校验数据。
[0070]具体地,校验数据读写模块根据该第一存储子区域将该第二存储区域划分为该第 二存储子区域,并确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存储 子区域,从而完成对该第二存储区域的划分,并使得划分后的第二存储子区域与第一存储 子区域对应,这样,内存控制设备在根据读指令从内存模块的第一存储子区域中读取内存 数据时,校验数据读写模块也根据内存控制设备发送的读指令从校验数据存储模块的第二 存储子区域中读取对应的校验数据。
[0071]需要说明的是,内存控制设备在系统上电后,获取对应的内存模块中存储子区域 的标识信息,在接收到CPU发送的读指令后,内存控制设备根据该读指令确定读取的内存 数据在内存模块中对应的存储子区域的标识信息,并从该标识信息对应的存储子区域中读 取并缓存该内存数据,该标识信息用于指示内存模块的存储区域中存储该内存数据的存储 子区域的位置信息,如该内存控制设备对应内存模块的编号,该内存模块对应内存颗粒的 编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据在存储阵列中的行 编号和列编号等编号信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等 信息,本发明对此不作限定。
[0072]另外,该数据校验读写模块在系统上电后,获取该内存控制设备中的存储子区域 的标识信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等信息,该数据 校验读写模块根据该内存大小及内存位宽等信息对校验数据存储模块的校验数据存储区 域进行划分,并根据该标识信息对该校验数据存储模块中划分好的存储子区域进行编号, 这样,得到的校验数据存储子区域的编号信息与内存模块中存储子区域的编号信息对应。
[0073]示例地,内存控制设备在系统上电后,获取内存模块中所有存储子区域的标识信 息,如该内存控制设备对应内存模块的编号,该内存模块的内存大小和内存位宽,该内存模 块对应内存颗粒的编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据 在存储阵列中的行编号和列编号等信息,校验数据读写模块获取该内存控制设备中的存储 子区域的标识信息,该校验数据读写模块按照该标识信息划分校验数据存储模块的校验数 据存储区域,得到校验数据存储子区域,并根据该标识信息对校验数据存储子区域进行编 号,例如,校验数据读写模块从第A个内存控制器中获取到标识信息,则该校验数据读写模 块确定该校验数据存储模块中编号为A的存储区域,若该标识信息标示了内存控制器的第 B个内存模块,则该校验数据读写模块根据该标识信息在编号为A的存储区域中确定编号 为B的存储区域,若该标识信息标示了该内存模块中的第C个内存颗粒,则该校验数据读写 模块根据该标识信息在编号为B的存储区域中确定编号为C的存储区域,这样,直到该校验 数据读写模块根据该标识信息确定该校验数据存储子区域位置,并使得该校验数据存储子区域与该内存模块中的存储子区域相对应。
[0074]可选地,该内存控制设备在接收到读指令后,根据该读指令确定待读取的内存数 据在内存模块中对应的存储子区域的编号信息,如该存储子区域所属内存模块的编号,在 所属内存模块的内存颗粒的编号以及在所属内存颗粒的存储阵列的编号和该内存数据在 该存储阵列中的行编号和列编号等编号信息;校验数据读写模块在接收到读指令后,根据 该读指令确定读取的内存数据在内存模块中对应的存储子区域的编号信息,并从校验数据 存储模块中与该存储子区域的编号对应的校验数据存储子区域中获取校验数据。例如,校 验数据读写模块从第A个内存控制器中获取到读指令,并根据该读指令确定待读取的内存 数据在该内存控制设备对应的第B个内存模块中的第C个内存颗粒中第D个存储阵列的第 E行第F列,则该校验数据读写模块在校验数据存储模块中从编号为A,B,C,D,E,F的存储 子区域中读取校验数据,这样,保证了校验数据读写模块读取的校验数据与内存控制设备 读取的内存数据对应。
[0075]进一步地,校验数据读写模块在根据该第一存储子区域对该第二存储区域进行划 分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域后,向该内存 控制设备发送划分响应消息,以告知内存控制设备已完成对校验数据存储模块中的校验数 据存储区域的划分。
[0076]S103、校验数据读写模块将该校验数据发送至该内存控制设备,以便该内存控制 设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验 数据对该内存数据进行校验。
[0077]具体地,内存控制设备在接收到该校验数据后,向校验数据读写模块发送读取响 应消息,并根据该校验数据对从内存模块中读取并缓存的内存数据进行校验,并在校验成 功后,将该内存数据发送至CPU,从而完成对内存数据的读取与校验。
[0078]可选地,在确定该操作指令为写指令时,校验数据读写模块根据该写指令从该内 存控制设备获取该校验数据,将该校验数据写入该校验数据存储模块。
[0079]其中,该校验数据是由该内存控制设备根据从该CPU获取的内存数据得到的。
[0080]具体地,CPU向内存控制设备发送写指令,并将该写指令对应的内存数据发送至内 存控制设备进行缓存,内存控制设备根据该内存数据生成对应的校验数据(如ECC校验码), 并将内存数据写入内存模块中;内存控制设备将该写指令发送至校验数据读写模块,并将 生成的校验数据发送至校验数据读写模块,校验数据读写模块根据该写指令将该校验数据 写入校验数据存储模块中。
[0081]需要说明的是,由于校验数据读写模块在根据该第一存储子区域对该第二存储区 域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域,则 该校验数据读写模块将该校验数据写入该校验数据存储模块的第二存储子区域中。
[0082]具体地,内存控制设备在接收到写指令以及对应的内存数据后,根据该内存数据 生成对应的校验数据,并根据该写指令确定该内存数据在内存模块中待写入的存储子区域 的编号信息,如该内存控制设备的编号和对应的内存模块的编号以及该内存数据在所属内 存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,并 将该内存数据写入该编号信息对应的存储子区域;校验数据读写模块在接收到内存控制设 备发送的写指令后,从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的编号信息,并将该校验数据写入校验数据存储模块中对应该编号信息的校验数据存储子模 块,例如,校验数据读写模块从内存控制模块中获取内存数据在内存模块中待写入的存储 子区域的编号信息为第A个内存控制设备对应的第B个内存模块中的第C个内存颗粒中 的第D个存储阵列的第E行第F列,则校验数据读写模块将该校验数据写入在校验数据存 储模块中编号为A,B,C,D, E, F的校验数据存储子区域,在将校验数据写入校验数据存储子 模块后,校验数据读写模块向内存控制设备发送写入响应消息,这样,使得在读取内存数据 时,从校验数据存储模块中读取到与该内存数据对应的校验数据,从而保证对应内存数据 校验的正确性,提高读取内存数据的可靠性。
[0083]需要说明的是,上述校验数据包括ECC校验码。
[0084]另外,上述校验数据读写模块可以集成在上述内存控制设备中,通过内存控制设 备完成本发明实施例中内存数据的读写和校验,本发明对此不作限定。
[0085]通过采用上述执行主体为校验数据读写模块的方法,校验数据读写模块在获取到 读指令时,根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该 内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据 对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括 用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存 数据的可靠性。
[0086]本发明实施例提供一种数据校验的方法,如图2所示,本发明实施例中的校验数 据读写模块是以独立于内存控制设备的模块为例进行说明的,本发明实施例中的校验数据 包括ECC校验码,该方法包括:
[0087]S201、在系统上电后,内存控制设备获取该内存模块中的第一存储区域信息,校验 数据读写模块获取校验数据存储模块的第二存储区域信息。
[0088]S202、校验数据读写模块从内存控制设备中获取第一存储区域信息,并根据该第 一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据该第二存 储区域信息确定第二存储区域。
[0089]其中,该第二存储子区域存储有与该内存数据对应的校验数据。
[0090]S203、校验数据读写模块根据该第一存储子区域对该第二存储区域进行划分,以 在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域。
[0091]具体地,校验数据读写模块根据该第一存储子区域将该第二存储区域划分为该第 二存储子区域,并确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存储 子区域,从而完成对该第二存储区域的划分,并使得划分后的第二存储子区域与第一存储 子区域对应,这样,内存控制设备在根据读指令从内存模块的第一存储子区域中读取内存 数据时,校验数据读写模块也根据内存控制设备发送的读指令从校验数据存储模块的第二 存储子区域中读取对应的校验数据。
[0092]示例地,内存控制设备在系统上电后,获取内存模块中存储区域对应的所有存储 子区域的编号信息,如该内存控制设备对应的内存模块的编号以及该内存数据在所属内存 模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,校验 数据读写模块获取该内存控制设备中存储子区域的编号信息,并按照该编号信息划分校验 数据存储模块的校验数据存储区域,得到校验数据存储子区域,并按照该编号信息对校验数据存储子区域进行编号,这样,得到的校验数据存储子区域的编号信息与内存模块中存 储子区域的编号信息对应。
[0093]S204、校验数据读写模块向该内存控制设备发送划分响应消息。
[0094]S205、CPU将操作指令发送至该内存控制设备。
[0095]S206、该内存控制设备在确定该内存控制设备与该校验数据读写模块之间的数据 通道连通后,将该操作指令发送至校验数据读写模块。
[0096]需要说明的是,内存控制设备可以控制该校验通道的开启与关闭,在该校验通道 开启时,则该内存控制设备与该校验数据读写模块连通,在该校验通道关闭时,则该内存控 制设备与该校验数据读写模块连接断开,在本发明实施例中,当内存模块中不包括校验数 据存储模块(该校验数据存储模块可以为ECC校验模块)时,则内存控制设备开启该校验通 道,从而在读取内存数据的过程中,通过校验数据读写模块完成对内存数据的校验;当内存 模块中包括该校验数据存储模块时,则内存控制设备关闭该校验通道,从而在读取内存数 据的过程中,通过该校验数据存储模块中存储的校验数据(如ECC校验数据)完成对对内 存数据的校验,这样,通过内存控制设备对校验通道的控制,灵活的选择适应不同内存模块 (如上述包括校验数据存储模块的内存模块和不包括校验数据存储模块的内存模块)的内 存数据的校验方式,从而保证内存数据的可靠性。
[0097]校验数据读写模块在确定该操作指令为读指令时,执行步骤S207至步骤S212。
[0098]校验数据读写模块在确定该操作指令为写指令时,执行步骤S213至步骤S217。
[0099]S207、内存控制设备在确定该操作指令为读指令时,根据读指令确定待读取的内 存数据在内存模块中对应的第一存储子区域。
[0100]S208、内存控制设备从该待读取的内存数据在内存模块中对应的第一存储子区域 中读取并缓存内存数据。
[0101]S209、校验数据读写模块根据该读指令从校验数据存储模块的第二存储子区域获 取校验数据。
[0102]其中,该第二存储子区域与上述待读取的内存数据在内存模块中对应的第一存储 子区域对应。
[0103]具体地,内存控制设备根据该读指令读取内存模块中的内存数据,校验数据读写 模块根据该读指令读取校验数据存储模块中与该内存数据对应的校验数据。
[0104]示例的,内存控制设备在接收到读指令后,根据该读指令确定待读取的内存数据 在内存模块中对应的存储子区域的编号信息,如该存储子区域对应的内存控制设备的编号 和所属内存模块的编号以及在所属内存模块的存储阵列的编号和该内存数据在该存储阵 列中的行编号和列编号等编号信息;校验数据读写模块在接收到读指令后,根据该读指令 确定读取的内存数据在内存模块中对应的存储子区域的编号信息,并从校验数据存储模块 中与该存储子区域的编号对应的校验数据存储子区域中获取校验数据,例如,若校验数据 读写模块根据该读指令确定待读取的内存数据在内存模块中对应的存储子区域的编号信 息为第A个内存控制设备对应的第B个内存模块中的第C个内存颗粒的第D个存储阵列的 第E行第F列,则该校验数据读写模块在校验数据存储模块中从编号为A,B,C,D, E, F的校 验数据存储子区域中读取校验数据,这样,保证了校验数据读写模块读取的校验数据与内 存控制设备读取的内存数据对应。[0105]S210、校验数据读写模块将该校验数据发送至该内存控制设备,以便该内存控制 设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验 数据对该内存数据进行校验。
[0106]具体地,内存控制设备在接收到该校验数据后,向校验数据读写模块发送读取响 应消息。
[0107]S211、内存控制设备根据该校验数据对内存数据进行校验。
[0108]S212、在内存数据校验成功后,内存控制设备将该内存数据发送至CPU。
[0109]其中,内存控制设备在将该内存数据发送至CPU后,完成对内存数据的读取与校验。
[0110]S213、内存控制设备在确定该操作指令为写指令时,接收并缓存CPU发送的内存 数据。
[0111]S214、内存控制设备根据该内存数据生成校验数据,并将该校验数据发送至校验 数据读写模块。
[0112]S215、内存控制设备根据该写指令确定待写入的内存数据在内存模块中对应的第 一存储子区域。
[0113]S216、内存控制设备将该内存数据写入该待写入的内存数据在内存模块中对应的
第一存储子区域。
[0114]S217、校验数据读写模块在接收到该校验数据后,将该校验数据写入校验数据存 储模块中的第二存储子区域。
[0115]其中,该第二存储子区域与上述待写入的内存数据在内存模块中对应的第一存储 子区域对应。
[0116]具体地,内存控制设备在接收到写指令以及对应的内存数据后,根据该内存数据 生成对应的校验数据,并根据该写指令确定该内存数据在内存模块中待写入的存储子区域 的编号信息,如该内存控制设备的编号和对应的内存模块的编号以及该内存数据在所属内 存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,并 将该内存数据写入该编号信息对应的存储子区域;校验数据读写模块在接收到内存控制设 备发送的写指令后,从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的 编号信息,并将该校验数据写入校验数据存储模块中对应该编号信息的校验数据存储子模 块,例如,校验数据读写模块从内存控制模块中获取内存数据在内存模块中待写入的存储 子区域的编号信息为第A个内存控制设备对应的第B个内存模块中第C个内存颗粒的第D 个存储阵列的第E行第F列,则校验数据读写模块将该校验数据写入在校验数据存储模块 中编号为A,B,C,D,E,F的校验数据存储子区域,在将校验数据写入校验数据存储子模块 后,校验数据读写模块向内存控制设备发送写入响应消息,这样,使得在读取内存数据时, 从校验数据存储模块中读取到与该内存数据对应的校验数据,从而保证对应内存数据校验 的正确性,提高读取内存数据的可靠性。
[0117]需要说明的是,上述校验数据读写模块是以独立于内存控制设备的模块为例进行 说明的,本发明实施例并不局限于此,该校验数据读写模块也可以集成在内存控制设备中, 此时,上述校验数据读写模块与内存控制设备之间的数据交互都为在该内存控制设备内部 的数据交互,此处不再赘述了。[0118]采用上述方案,能够在读取不包含ECC校验芯片的内存时,实现对内存数据的校 验,提高读取到的数据的可靠性。
[0119]需要说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动 作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本 领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和 模块并不一定是本发明所必须的。
[0120]本发明提供一种校验数据读写模块30,如图3所示,包括:
[0121]接收单元31,用于在内存控制设备接收到中央处理器CPU发送的操作指令后,获 取该内存控制设备发送的该操作指令。
[0122]具体地,CPU将操作指令发送至内存控制设备,内存控制设备将该操作指令发送至 校验数据读写模块。
[0123]处理单元32,用于在确定该接收单元32接收的操作指令为读指令时,根据该读指 令从校验数据存储模块中获取校验数据。
[0124]具体地,若该操作指令为读指令,则内存控制设备根据该读指令读取内存模块中 的内存数据,校验数据读写模块根据该读指令读取校验数据存储模块中与该内存数据对应 的校验数据。
[0125]发送单元33,用于将该处理单元32获取的校验数据发送至该内存控制设备,以便 该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据后, 根据该校验数据对该内存数据进行校验。
[0126]具体地,内存控制设备在接收到该校验数据后,向校验数据读写模块发送读取响 应消息,并根据该校验数据对从内存模块中读取并缓存的内存数据进行校验,并在校验成 功后,将该内存数据发送至CPU,从而完成对内存数据的读取与校验。
[0127]该接收单元31还用于,在该内存控制设备确定该内存控制设备与该接收单元之 间的数据通道连通时,该接收单元获取该内存控制设备发送的该操作指令。
[0128]需要说明的是,内存控制设备可以控制该校验通道的开启与关闭,在该校验通道 开启时,则该内存控制设备与该校验数据读写模块连通,在该校验通道关闭时,则该内存控 制设备与该校验数据读写模块连接断开,在本发明实施例中,当内存模块中不包括校验数 据存储模块(该校验数据存储模块可以为ECC校验模块)时,则内存控制设备开启该校验通 道,从而在读取内存数据的过程中,通过校验数据读写模块完成对内存数据的校验;当内存 模块中包括该校验数据存储模块时,则内存控制设备关闭该校验通道,从而在读取内存数 据的过程中,通过该校验数据存储模块中存储的校验数据(如ECC校验数据)完成对对内 存数据的校验,这样,通过内存控制设备对校验通道的控制,灵活的选择适应不同内存模块 (如上述包括校验数据存储模块的内存模块和不包括校验数据存储模块的内存模块)的内 存数据的校验方式,从而保证内存数据的可靠性。
[0129]该接收单元31还用于,接收该内存模块中的第一存储区域信息和该校验数据存 储模块中的第二存储区域信息,并根据该第一存储区域信息确定第一存储区域中存储对应 内存数据的第一存储子区域,根据该第二存储区域信息确定第二存储区域。
[0130]该处理单元32用于,根据该第一存储子区域对该第二存储区域进行划分,以在该 第二存储区域中得到与该第一存储子区域对应的第二存储子区域,并将该校验数据写入该校验数据存储模块的第二存储子区域中,其中,该第二存储子区域存储有与该内存数据对 应的校验数据。
[0131]该处理单元32还用于,根据该第一存储子区域将该第二存储区域划分为该第二 存储子区域,确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存储子区 域。
[0132]具体地,在内存控制设备接收到CPU发送的操作指令前,校验数据读写模块获取 该内存模块中的第一存储区域信息和该校验数据存储模块中的第二存储区域信息,根据该 第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据该第二 存储区域信息确定第二存储区域,并根据该第一存储子区域对该第二存储区域进行划分, 以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域。
[0133]其中,该第二存储子区域存储有与该内存数据对应的校验数据。
[0134]进一步地,校验数据读写模块根据该第一存储子区域将该第二存储区域划分为该 第二存储子区域,并确定该第一存储子区域的标识信息,并根据该标识信息标示该第二存 储子区域,从而完成对该第二存储区域的划分,并使得划分后的第二存储子区域与第一存 储子区域对应,这样,内存控制设备在根据读指令从内存模块的第一存储子区域中读取内 存数据时,校验数据读写模块也根据内存控制设备发送的读指令从校验数据存储模块的第 二存储子区域中读取对应的校验数据。
[0135]需要说明的是,内存控制设备在系统上电后,获取对应的内存模块中存储子区域 的标识信息,在接收到CPU发送的读指令后,内存控制设备根据该读指令确定读取的内存 数据在内存模块中对应的存储子区域的标识信息,并从该标识信息对应的存储子区域中读 取并缓存该内存数据,该标识信息用于指示内存模块的存储区域中存储该内存数据的存储 子区域的位置信息,如该内存控制设备对应内存模块的编号,该内存模块对应内存颗粒的 编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据在存储阵列中的行 编号和列编号等编号信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等 信息,本发明对此不作限定。
[0136]另外,该数据校验读写模块在系统上电后,获取该内存控制设备中的存储子区域 的标识信息,其中,该标识信息还可以包括内存模块的内存大小,内存位宽等信息,该数据 校验读写模块根据该内存大小及内存位宽等信息对校验数据存储模块的校验数据存储区 域进行划分,并根据该标识信息对该校验数据存储模块中划分好的存储子区域进行编号, 这样,得到的校验数据存储子区域的编号信息与内存模块中存储子区域的编号信息对应。
[0137]示例地,内存控制设备在系统上电后,获取内存模块中所有存储子区域的标识信 息,如该内存控制设备对应内存模块的编号,该内存模块的内存大小和内存位宽,该内存模 块对应内存颗粒的编号以及该内存数据在所属内存颗粒的存储阵列的编号和该内存数据 在存储阵列中的行编号和列编号等信息,校验数据读写模块获取该内存控制设备中的存储 子区域的标识信息,该校验数据读写模块按照该标识信息划分校验数据存储模块的校验数 据存储区域,得到校验数据存储子区域,并根据该标识信息对校验数据存储子区域进行编 号,例如,校验数据读写模块从第A个内存控制器中获取到标识信息,则该校验数据读写模 块确定该校验数据存储模块中编号为A的存储区域,若该标识信息标示了内存控制器的第 B个内存模块,则该校验数据读写模块根据该标识信息在编号为A的存储区域中确定编号为B的存储区域,若该标识信息标示了该内存模块中的第C个内存颗粒,则该校验数据读写 模块根据该标识信息在编号为B的存储区域中确定编号为C的存储区域,这样,直到该校验 数据读写模块根据该标识信息确定该校验数据存储子区域位置,并使得该校验数据存储子 区域与该内存模块中的存储子区域相对应。
[0138]可选地,该内存控制设备在接收到读指令后,根据该读指令确定待读取的内存数 据在内存模块中对应的存储子区域的编号信息,如该存储子区域所属内存模块的编号,在 所属内存模块的内存颗粒的编号以及在所属内存颗粒的存储阵列的编号和该内存数据在 该存储阵列中的行编号和列编号等编号信息;校验数据读写模块在接收到读指令后,根据 该读指令确定读取的内存数据在内存模块中对应的存储子区域的编号信息,并从校验数据 存储模块中与该存储子区域的编号对应的校验数据存储子区域中获取校验数据。例如,校 验数据读写模块从第A个内存控制器中获取到读指令,并根据该读指令确定待读取的内存 数据在该内存控制设备对应的第B个内存模块中的第C个内存颗粒中第D个存储阵列的第 E行第F列,则该校验数据读写模块在校验数据存储模块中从编号为A,B,C,D,E,F的存储 子区域中读取校验数据,这样,保证了校验数据读写模块读取的校验数据与内存控制设备 读取的内存数据对应。
[0139]该发送单元33还用于,在根据该第一存储子区域对该第二存储区域进行划分,以 在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域后,向该内存控制设 备发送划分响应消息。
[0140]可选地,该处理单元32还用于,在确定该操作指令为写指令时,根据该写指令从 该内存控制设备获取该校验数据,并将该校验数据写入该校验数据存储模块,其中,该校验 数据是由该内存控制设备根据从该CPU获取的内存数据得到的。
[0141]其中,该校验数据是由该内存控制设备根据从该CPU获取的内存数据得到的,该 校验数据包括ECC校验码。
[0142]具体地,CPU向内存控制设备发送写指令,并将该写指令对应的内存数据发送至内 存控制设备进行缓存,内存控制设备根据该内存数据生成对应的校验数据(如ECC校验码), 并将内存数据写入内存模块中,将该写指令发送至校验数据读写模块,并将生成的校验数 据发送至校验数据读写模块,根据该写指令将该校验数据写入校验数据存储模块中。
[0143]需要说明的是,由于校验数据读写模块在根据该第一存储子区域对该第二存储区 域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区域,则 该将该校验数据写入该校验数据存储模块的第二存储子区域中。
[0144]具体地,内存控制设备在接收到写指令以及对应的内存数据后,根据该内存数据 生成对应的校验数据,并根据该写指令确定该内存数据在内存模块中待写入的存储子区域 的编号信息,如该内存控制设备的编号和对应的内存模块的编号以及该内存数据在所属内 存模块的存储阵列的编号和该内存数据在该存储阵列中的行编号和列编号等编号信息,并 将该内存数据写入该编号信息对应的存储子区域,校验数据读写模块在接收到内存控制设 备发送的写指令后,从内存控制模块中获取内存数据在内存模块中待写入的存储子区域的 编号信息,并将该校验数据写入校验数据存储模块中对应该编号信息的校验数据存储子模 块,例如,校验数据读写模块从内存控制模块中获取内存数据在内存模块中待写入的存储 子区域的编号信息为第A个内存控制设备对应的第B个内存模块中的第C个内存颗粒的第D个存储阵列的第E行第F列,则校验数据读写模块将该校验数据写入在校验数据存储模 块中编号为A,B,C,D,E,F的校验数据存储子区域,在将校验数据写入校验数据存储子模块 后,校验数据读写模块向内存控制设备发送写入响应消息,这样,使得在读取内存数据时, 从校验数据存储模块中读取到与该内存数据对应的校验数据,从而保证对应内存数据校验 的正确性,提高读取内存数据的可靠性。
[0145]采用上述校验数据读写模块,在该校验数据读写模块获取到读指令时,该校验数 据读写模块根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该 内存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据 对应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括 用于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存 数据的可靠性。
[0146]本发明提供一种校验数据读写模块40,如图4所示,该校验数据读写模块40包 括:
[0147]处理器(processor)41、通信接口(Communications Interface) 42、存储器 (memory) 43和通信总线44 ;其中,所述处理器41、所述通信接口 42和所述存储器43通过 所述通信总线44完成相互间的通信。
[0148]处理器41可能是一个多核中央处理器CPU,或者是特定集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个 或多个集成电路。
[0149]存储器43用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存 储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory), 例如至少一个磁盘存储器。
[0150]所述通信接口 42,用于实现这些装置之间的连接通信。
[0151]该处理器41执行程序代码,用于在内存控制设备接收到中央处理器CPU发送的操 作指令后,获取该内存控制设备发送的该操作指令,在确定该操作指令为读指令时,根据该 读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内存控制设备,以 便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对应的内存数据 后,根据该校验数据对该内存数据进行校验。
[0152]可选地,该处理器41还用于,在确定该操作指令为写指令时,根据该写指令从该 内存控制设备获取该校验数据,并将该校验数据写入该校验数据存储模块。
[0153]其中,该校验数据是由该内存控制设备根据从该CPU获取的内存数据得到的;该 校验数据包括ECC校验码。
[0154]可选地,该处理器41还用于,在内存控制设备接收到中央处理器CPU发送的操作 指令前,获取该内存模块中的第一存储区域信息和该校验数据存储模块中的第二存储区域 信息,根据该第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区 域,并根据该第二存储区域信息确定第二存储区域,并根据该第一存储子区域对该第二存 储区域进行划分,以在该第二存储区域中得到与该第一存储子区域对应的第二存储子区 域。
[0155]其中,该第二存储子区域存储有与该内存数据对应的校验数据。[0156]可选地,该处理器41具体用于,根据该第一存储子区域将该第二存储区域划分为 该第二存储子区域,并确定该第一存储子区域的标识信息,以根据该标识信息标示该第二 存储子区域。
[0157]可选地,该处理器41还用于,在该内存控制设备确定该内存控制设备与该校验数 据读写模块之间的数据通道连通时,获取该内存控制设备发送的该操作指令。
[0158]本发明提供一种内存控制设备50,如图5a或5b所不,包括上述图3 (如图5a)所 示的校验数据读写模块30或者图4 (如图5b)所示的校验数据读写模块40。该校验数据 读写模块具体的描述可以参照上述图3或图4所示实施例中的对应描述,需要说明的是,图 3或图4所示实施例中该校验数据读写模块与内存控制设备之间的数据交互都为在该内存 控制设备内部的数据交互,此处不再赘述了。
[0159]这样,采用上述内存控制设备,在该内存控制设备获取到读指令时,该内存控制设 备根据该读指令从校验数据存储模块中获取校验数据,以便该内存控制设备在根据该操作 指令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据 进行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对 内存数据的校验,从而提高读取到的内存数据的可靠性。
[0160]本发明提供一种数据校验系统,如图6所示,包括:CPU61、内存控制设备62、校验 数据读写模块63、内存模块64和校验数据存储模块65,其中,
[0161]该CPU61,用于向所述内存控制设备发送操作指令;
[0162]该内存控制设备62,用于接收CPU61发生的操作指令,在该操作指令为读指令时, 从内存模块中获取内存数据,并接收所述校验数据读写模块发送的校验数据,并根据所述 校验数据对所述内存数据进行校验。
[0163]该校验数据读写模块63,包括上述图3所示的校验数据读写模块30或图4所示的 校验数据读写模块40。其具体的描述可以参照图3或图4所示实施例中的对应描述,此处 不再赘述。
[0164]该内存模块64,用于存储内存数据。
[0165]该校验数据存储模块65,用于存储校验数据。
[0166]可选地,该CPU具体用于,向内存控制设备发送写指令。
[0167]该内存控制设备还用于,根据该CPU发送的写指令接收并缓存CPU发送的内存数 据,并根据该内存数据生成校验数据,并将该校验数据发送至校验数据读写模块,并根据该 写指令将该内存数据写入待写入的内存数据在内存模块中对应的第一存储子区域。
[0168]该校验数据读写模块63还用于,根据接收到内存控制设备发送的写指令将该校 验数据写入校验数据存储模块中的第二存储子区域。
[0169]其中,该第二存储子区域与上述待写入的内存数据在内存模块中对应的第一存储 子区域对应。
[0170]这样,采用上述数据校验系统,在校验数据读写模块获取到读指令时,该校验数据 读写模块根据该读指令从校验数据存储模块中获取校验数据,并将该校验数据发送至该内 存控制设备,以便该内存控制设备在根据该操作指令从内存模块中获取到与该校验数据对 应的内存数据后,根据该校验数据对该内存数据进行校验,这样,即使内存模块中不包括用 于存储校验数据的ECC校验芯片也能够实现对内存数据的校验,从而提高读取到的内存数据的可靠性。
[0171]本发明提供一种数据校验系统,如图7所示,包括:CPU71、内存控制设备50、内存 模块72和校验数据存储模块73,其中,
[0172]该CPU71,用于向所述内存控制设备发送操作指令。
[0173]该内存控制设备50,包括上述图5a或5b所示的内存控制设备50。其具体的描述 可以参照图5a或5b所示实施例中的对应描述,此处不再赘述。
[0174]该内存模块72,用于存储内存数据。
[0175]该校验数据存储模块73,用于存储校验数据。
[0176]可选地,该CPU71具体用于,向内存控制设备50发送操作写指令。
[0177]该内存控制设备50还用于,根据该CPU71发送的写指令接收并缓存CPU71发送的 内存数据,并根据该内存数据生成校验数据,并根据该写指令将该内存数据写入待写入的 内存数据在内存模块中对应的第一存储子区域,将该校验数据写入校验数据存储模块中的 第二存储子区域。
[0178]其中,该第二存储子区域与上述待写入的内存数据在内存模块中对应的第一存储 子区域对应。
[0179]这样,采用上述数据校验系统,在内存控制设备获取到读指令时,该内存控制设备 根据该读指令从校验数据存储模块中获取校验数据,以便该内存控制设备在根据该操作指 令从内存模块中获取到与该校验数据对应的内存数据后,根据该校验数据对该内存数据进 行校验,这样,即使内存模块中不包括用于存储校验数据的ECC校验芯片也能够实现对内 存数据的校验,从而提高读取到的内存数据的可靠性。
[0180]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【权利要求】
1.一种数据校验的方法,其特征在于,包括:在内存控制设备接收到中央处理器CPU发送的操作指令后,校验数据读写模块获取所述内存控制设备发送的所述操作指令;在确定所述操作指令为读指令时,根据所述读指令从校验数据存储模块中获取校验数据;将所述校验数据发送至所述内存控制设备,以便所述内存控制设备在根据所述操作指令从内存模块中获取到与所述校验数据对应的内存数据后,根据所述校验数据对所述内存数据进行校验。
2.根据权利要求1所述的方法,其特征在于,在确定所述操作指令为写指令时,根据所述写指令从所述内存控制设备获取所述校验数据,其中,所述校验数据是由所述内存控制设备根据从所述CPU获取的内存数据得到的;将所述校验数据写入所述校验数据存储模块。
3.根据权利要求2所述的方法,其特征在于,在内存控制设备接收到中央处理器CPU发送的操作指令前,所述方法还包括:获取所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存储区域信息;根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,并根据所述第二存储区域信息确定第二存储区域;根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域,其中,所述第二存储子区域存储有与所述内存数据对应的校验数据;所述将所述校验数据写入所述校验数据存储模块包括:将所述校验数据写入所述校验数据存储模块的第二存储子区域中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域包括:根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域;确定所述第一存储子区域的标识信息;根据所述标识信息标示所述第二存储子区域。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述校验数据读写模块获取所述内存控制设备发送的所述操作指令包括:在所述内存控制设备确定所述内存控制设 备与所述校验数据读写模块之间的数据通道连通时,所述校验数据读写模块获取所述内存控制设备发送的所述操作指令。
6.一种校验数据读写模块,其特征在于,包括:接收单元,用于在内存控制设备接收到中央处理器CPU发送的操作指令后,获取所述内存控制设备发送的所述操作指令;处理单元,用于在确定所述接收单元接收的操作指令为读指令时,根据所述读指令从校验数据存储模块中获取校验数据;发送单元,用于将所述处理单元获取的校验数据发送至所述内存控制设备,以便所述内存控制设备在根据所述操作指令从内存模块中获取到与所述校验数据对应的内存数据后,根据所述校验数据对所述内存数据进行校验。
7.根据权利要求6所述的模块,其特征在于,所述处理单元还用于:在确定所述操作指令为写指令时,根据所述写指令从所述内存控制设备获取所述校验数据,并将所述校验数据写入所述校验数据存储模块,其中,所述校验数据是由所述内存控制设备根据从所述CPU获取的内存数据得到的。
8.根据权利要求7所述的模块,其特征在于,所述接收单元还用于,接收所述内存模块中的第一存储区域信息和所述校验数据存储模块中的第二存储区域信息,并根据所述第一存储区域信息确定第一存储区域中存储对应内存数据的第一存储子区域,根据所述第二存储区域信息确定第二存储区域;所述处理单元具体用于,根据所述第一存储子区域对所述第二存储区域进行划分,以在所述第二存储区域中得到与所述第一存储子区域对应的第二存储子区域,其中,所述第二存储子区域存储有与所述内存数据对应的校验数据;所述处理单元具体用于,将所述校验数据写入所述校验数据存储模块的第二存储子区域中。
9.根据权利要求8所述的模块,其特征在于,所述处理单元还用于:根据所述第一存储子区域将所述第二存储区域划分为所述第二存储子区域,确定所述第一存储子区域的标识信息,并根据所述标识信息标示所述第二存储子区域。
10.根据权利要求6至9任一项所述的模块,其特征在于,所述接收单元还用于,在所述内存控制设备确定所述内存控制设备与所述接收单元之间的数据通道连通时,所述接收单元获取所述内存控制设备发送的所述操作指令。
11.一种内存控制设备,其特征在于,所述内存控制设备包括权利要求6至10任一项所述的校验数据读写模块。
12.—种数据校验系统,其特征在于,包括:CPU、内存控制设备、校验数据读写模块、内存模块和校验数据存储模块,其中,`所述CPU,用于向所述内存控制设备发送操作指令;所述内存控制设备,用于接收所述(PU发生的操作指令,在该操作指令为读指令时,从内存模块中获取内存数据,并接收所述校验数据读写模块发送的校验数据,并根据所述校验数据对所述内存数据进行校验;所述校验数据读写模块包括权利要求6至10任一项所述的校验数据读写模块; 所述内存模块,用于存储内存数据;所述校验数据存储模块,用于存储校验数据。
13.一种数据校验系统,其特征在于,包括:CPU、内存控制设备、内存模块和校验数据存储模块,其中,所述CPU,用于向所述内存控制设备发送操作指令;所述内存控制设备包括权利要求11所述的内存控制设备;所述内存模块,用于存储内存数据;所述校验数据存储模块,用于存储校验数据。
【文档编号】G06F11/10GK103577275SQ201310507460
【公开日】2014年2月12日 申请日期:2013年10月24日 优先权日:2013年10月24日
【发明者】应勤 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1