在多端口存储器配置中与主机处理器的存储器模块通信的制作方法

文档序号:9794017阅读:478来源:国知局
在多端口存储器配置中与主机处理器的存储器模块通信的制作方法
【技术领域】
[0001]本发明一般地涉及数据处理,并且更具体地涉及用于在计算机系统中在多端口存储器配置中实现ECC(误差校正码)存储器模块与主机处理器的通信的方法、系统和计算机程序产品。
【背景技术】
[0002]ECC(误差校正码)被用于检测和校正在数据贮存或传输期间引入的误差。某些种类的存储器、诸如计算机内的一些随机存取存储器(RAM)芯片和其它存储器模块实施ECC技术以校正数据误差,并且被称为ECC存储器。ECC存储器被用在数据损坏在任何情况下都不能被容忍的大多数计算机中,诸如用在科学或金融计算以及作为服务器中。
[0003]当配备了误差校正的存储器子系统被组织为使得写入到存储器的字在两个或多个端口之间被分裂时,在能够访问将要被贮存在存储器中的所有数据的中心位置中提供误差校正码检验符号的生成。虽然如此,在一些情况中,在端口中的单独的存储器模块需要将模块特定信息(module specific informat1n)(其不是先前由主机处理器存的)传递回主机处理器、而不与任何其它存储器模块通信。这在原则上是不可能实现的,因为需要能够访问所有端口的所有信息的中心位置,这不存在于这里所讨论的情况中。此外,问题在于获得不需要改变主机处理器的存储器控制器的解决方案。存储器控制器可以在与最后消费该数据的一个处理器或多个处理器相同的物理封装中,或可以在物理上分离的封装中。
[0004]存在对在计算机系统中在多端口存储器配置中使能与主机处理器的增强的ECC(误差校正码)存储器模块通信的有效机制的需求。所期望的是提供使能存储器控制器的使用而不需要任何改变的这样的机制。
[0005]在下面的说明书和权利要求中所使用的,术语多端口存储器配置应被广泛地理解为包括存储器模块的多个存储器通道和多个存储器端口的各种布置。

【发明内容】

[0006]本发明的主要方面是提供用于在计算机系统中的多端口存储器配置中与主机处理器的ECC(误差校正码)存储器模块通信的方法、系统和计算机程序产品。本发明的其它重要的方面是提供基本上没有负面影响并且克服现有技术的布置的许多缺点的这样的方法、系统和计算机程序产品。
[0007]简言之,提供方法、系统和计算机程序产品以实现在计算机系统中的多端口存储器配置中的与主机处理器的ECC(误差校正码)存储器模块通信。一致地操作的多个存储器模块的每一个被使能以识别哪一个存储器模块是将模块特定信息传送回主机处理器所需要的一个存储器模块。一致地操作的所有多个存储器模块被使能以向主机处理器生成回有效ECC字,而其它多个存储器模块单独地不知道传送回处理器所需要的一个存储器模块的数据内容。
[0008]根据本发明的特征,多个存储器模块的每一个被分配了模块特定的预定地址范围。当主机处理器作出在具体的模块特定的预定地址范围中的请求时,则剩余的存储器模块知道它们不应该以它们自己的模块特定信息来回复,而是以预先同意的常量来响应,该常量例如,全零或者零和一的一些图案组合。存储器端口一致地操作的另一地址范围也作为用于与多个存储器模块通信的选择而被包括在本发明中。
[0009]根据(一个或多个)实施例的特征,由所有的存储器模块生成的有效ECC字包括每个模块的有效ECC字,该每个模块的有效ECC字具有预先同意的常量,例如在除了 N-1之外所有的存储器模块中的全零,而不需要对存储器控制器的任何改变。利用该特征,想要将信息传送回处理器的存储器模块将其数据编码为那些模块特定的有效ECC字中的一个。其他存储器模块例如用全零的模式响应,并且整个ECC字对主机处理器中的存储器控制器表现为有效;即使可校正的误差在发送该完整字期间而发生,存储器控制器中的误差译码器将能够校正它,即使该ECC字不是由存储器控制器生成的,并且不是在中心点处生成的。
[0010]根据(一个或多个)实施例的特征,例如,当采用任何Reed-So I omon码(不管符号大小)时,并且每当校验的数量r一一例如,r = 8一一不再大于一个存储器模块的ECC字中的符号的数量减去I时。此外,如果我们使存储器模块中的符号的数量等于m,则该技术对于一个ECC字可以发送正好m-r个符号大小的模块特定数据,而不需要在将信息发送回时在存储器模块之间的任何积极的协调,并且不管符号所处于的位置。
[0011 ] 根据(一个或多个)实施例的特征,ECC生成技术不限于Reed-So1mon码。重要地,如果具有误差校正码的(按位的(bit-wise))奇偶校验矩阵H使得通过乘以H*v而获得伴随式(syndrome),其中v是接收的位向量,并且奇偶校验矩阵H可以被分裂为M个部分,使得H=[HI H2....HM],则为了以上ECC生成技术运作,基本要求是在Hl H2...HM的每一个中存在可逆方形子矩阵,其大小等于H的行的数量。例如在奇偶校验矩阵H中的第i部分中的选中的列对应于在将模块特定信息发送回到主机处理器时第i模块的校验位可以被放置的位置。
【附图说明】
[0012]接下来将参考附图仅以示例的方式描述本发明的(一个或多个)实施例,该附图中:
[0013]图1、2A和2B示出了根据优选的实施例的用于在多端口存储器配置中实现与主机处理器通信的增强的ECC(误差校正码)存储器模块的示例计算机系统;
[0014]图3A、3B和3C是示出根据优选的实施例的用于实现图1、2A和2B的计算机系统中的ECC(误差校正码)生成方法的示例操作的逻辑流程图;并且
[0015]图4是示出根据优选的实施例的计算机程序产品的框图。
【具体实施方式】
[0016]这里使用的术语仅是为了特定实施例并且不意欲限制本发明。如这里所使用的,单数形成“一”、“一个”和“所述”意欲也包括复数形成,除非上下文清楚地另有指示。还将理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其它特征、整数、步骤、操作、元件、部件和/或其组的存在或添加。
[0017]根据本发明的特征,提供方法、系统和计算机程序产品以在多端口存储器配置中实现与主机处理器的增强ECC(误差校正码)存储器模块通信。
[0018]现在参考附图,在图1、2A和2B中,其中示出了根据优选的实施例的由参考符号100一般地指定的用于在多端口存储器配置中实现与主机处理器的增强的ECC存储器模块通信的示例计算机系统。
[0019]计算机系统100包括一个或多个主机处理器102或可编程中央处理器(CPU) 102,其包括耦接到多个存储器模块106的至少一个存储器控制器104,该存储器模块106诸如动态随机存取存储器(DRAM)模块106、诸如双列直插式存储器模块(DIMM)和包含闪速存储器的存储器模块106。
[0020]根据本发明的特征,单独的存储器模块一一例如在附图2A和2B中示出的端口A,206或端口 B,208中——被使能以将不是先前由主机处理器102贮存的模块特定信息传递回主机处理器102、而不与任何其它存储器模块通信。此外,不需要对存储器控制器104的任何改变而完成模块特定信息的传递。
[0021]例如,在系统100中的增强的ECC存储器模块通信在广泛种类的领域中具有可适用性,包括其中存储器模块106具有在标准存储器模块中找不到的特殊能力的情况,并且为了利用该能力,必须存在用于通信存储器模块的特定信息的方法。具体示例包括:具有闪速存储器的存储器模块106,其中由于其不是符合标准的存储器(DDR)的原因,需要用于将状态信息传递回主机处理器102的机制;以及在存储器模块106上的加速器,其也需要用于将它们工作的结果和/或状态信息传递回主机处理器102的机制。
[0022]如图2A和2B所示,存储器控制器104包括ECC逻辑或ECC生成器202,该ECC逻辑或ECC生成器202接收数据204并且将数据和ECC施加到在系统100的示例多端口存储器配置中的第一端口 A,206和第二端口 B,208,其中一致地操作的存储器端口的数量为N,其中N〉= 2,其中示出了两个端口。
[0023]如图2B所示,存储器控制器104将选择的地址范围中的地址提供到设有第一端口A,206和第二端口 B,208的相应的存储器模块。
[0024]根据本发明的特征,提供了两个专用地址范围,例如一个用于第一端口A,206并且一个用于第二端口B,208。多个存储器模块106的每一个被分配模块特定的预定地址范围。当主机处理器102作出在特定模块特定的预定地址范围中的请求时,则其余的存储器模块知道它们不应该以它们自己的模块特定信息来回复,而是以预先同意的常量来响应,该常量例如,全零或者零和一的一些图案组合。存储器端口一致地操作的另一地址范围也作为用于与多个存储器模块通信的选择而被包括在本发明中。
[0025]如图2B所示,耦接到第一端口
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1