包括不兼容的存储器技术或与不兼容的存储器技术接合的存储器模块的应答控制的制作方法_4

文档序号:9713552阅读:来源:国知局
期望的时间量内完成命令(例如,读命令)(例如,返回数据未准备好),同时应答器模块200可(例如,经由模块208)发起错误,则存储器电路/技术可继续处理命令。最后,存储器电路/技术可提供与命令有关的返回数据,且这样的数据(例如,以及可能的周边数据)可存储在模块206中。这样的数据可存储在模块206中一段时间,且如果在一些未来的时间重试命令(或类似的命令),应答器模块200可以能够例如以可符合数据传输协议(例如,DDR)的应答时间,快速返回所缓存的返回数据。作为特定的示例,如果第一次发送读命令,且期望时返回数据未准备好,则准备好时可缓存返回数据。随后,在重试读命令时,应答器模块200可(例如,经由模块204和206)识别此命令在之前已被接收或访问,且可确定所缓存的数据可用。
[0043]错误引发模块208可能已访问存储器模块和存储器总线之间的接口的校验/ECC位,且可设置这些位以指示各种情景、消息或代码。例如,如上所述,应答器模块200(例如,经由模块208)可使用校验/ECC位,以指示在期望的时间量内,仍未完成命令(例如,读的情况下)或将可能不能完成命令(例如,写的情况下)。作为另一种示例,错误引发模块208可使用校验/ECC位,以指示何时准备好对不能在期望的时间内完成的之前发送的命令的应答(例如,对读命令的应答数据)。在一些情景中,错误引发模块208可称为错误引发电路。
[0044]图3是示例计算系统100的框图,计算系统100实施包括不兼容的存储器技术或与不兼容的存储器技术接合的存储器模块的应答控制。计算系统100可为图1中描绘的相同计算系统100。但是,图1描绘出与发布读命令关联的各种特征,图3描绘出与发布写命令关联的各种特征,具体地,应答器模块监控写缓存器模块128,且使用命令(cmd)校验错误位来指示将不会或仍未根据特定的数据传输协议(例如DDR)如期望的那样完成写命令。通过比较图1和图3将看到,两个图之间共享各种模块和/或组件。但是,为了描述方便,一些模块和/或组件可在图3中示出而不在图1中示出,反之亦然。例如,图3中,计算系统100可包括写缓存器模块128。应理解,一些示例的计算系统可包括图1和/或3中示出的模块和/或组件的任何组合。一些示例的计算系统可包括图1和/或3中示出的所有组件。
[0045]写缓存器模块128可包括至少一个写缓存器。写缓存器模块128可接收并存储(例如,以先进先出的方式)来自解码器模块124的写命令。模块128中的写缓存器可具有一定的大小或容量,这可确定写缓存器一次可保存多少写命令。在存储与其大小/容量一样数量的写命令时,写缓存器可为“满的”。术语“使用的容量”可指当前存储在写缓存器中的写命令的数量。术语“可用容量”可指在其满之前,写缓存器当前能够接受的写命令的数量。写缓存器模块128可例如经由至少一个接口模块(例如,130和/或132),向存储器电路/技术(如,112和/或114)发送所存储的写命令。例如,接口模块130和/或132可向写缓存器模块128指示其何时可用于接收其他写命令。作为另一种示例,如果特定的接口模块(例如,130)是DDR兼容的,则写缓存器模块128可如DDR数据传输标准所规定的那样(例如,以可预测的已定义的相当快的速率)向接口模块发送所存储的写命令。在一些示例中,对于兼容的存储器电路/技术,命令可旁通写缓存器模块128,如图2中示出。
[0046]写缓存器模块128可在各种时间(例如,每个周期)向应答器模块128传递其可用的容量,如图2中示出。可替代地,应答器模块128可检测写缓存器模块128中的可用容量。因此,在各种时间(例如,每个周期),应答器模块128可包含写缓存器模块128可接受的写命令的数量的快照。如果写缓存器是满的,写缓存器模块可向应答控制信用模块返回零值。如上所述,本公开允许不兼容的存储器技术(例如,114)与兼容的(例如,DDR兼容的)存储器总线和兼容的存储器控制器接合。在一些场景中,不兼容的存储器电路/技术(例如,114)可在写缓存器模块能够接受附加写命令时和/或在写缓存器模块不能接受任何更多的写命令时(例如,经由接口模块132)向写缓存器模块发信号。随后,写缓存器模块128可使用这样的信号来停止向这样的不兼容的存储器电路/技术发送所存储的写命令。同时,写缓存器模块128可能仍然(例如,以DDR速率)接收进入的写命令。因此,在某些场景中,模块128中的写缓存器可能开始装满(例如,可用容量可能减小)。
[0047]应答器模块126可以在各种时间(例如,每个周期)接收或检测写缓存器模块128的可用容量。如果写缓存器模块不具有足够的可用容量,以供在期望的时间量内完成写命令,则应答器模块126可以以信号的形式发送错误,例如,命令(cmd)校验错误。命令校验位是已存在于存储器模块106和存储器总线104以及存储器控制器102之间的接口中的位/线/线路。如果关于发送至存储器模块的命令检测到校验错误,则命令校验位可用于以信号的形式向存储器控制器发送错误。各种DIMM默认地具有命令校验检查以及错误信号发送控制器或机制,且应答器模块126可利用(例如,修改)此控制器/机制,以发送将不能在期望的时间量内完成写命令的信号。
[0048]应答器模块126可确定、接收和/或存储时间量,期望在该时间量内根据特定的数据传输协议(例如,DDR)完成命令(例如,写命令)。应答器模块126还可基于写缓存器模块128的可用容量确定为完成进入写缓存器的各种写命令(例如,写到存储器电路/技术)要花费多长时间。应答器模块126可将这些最佳情况时间与期望的完成时间作比较,且如果用于命令的最佳情况时间超过期望的时间,应答器模块126可发起命令校验错误。可替代地,应答器模块可监控写缓存器模块128的输出,以检测特定的写命令实际上已发送至存储器电路/技术的时间,而不考虑最佳情况完成时间。在这样的情况下,应答器模块126可确定写命令事实上未在期望的时间内完成。可替代地,应答器模块可简单地使用命令校验错误,以在写缓存器变得过满(例如,一定数量的可用条目)时发信号。
[0049]存储器控制器102可能需要被设计和/或配置为对来自存储器模块106的命令校验错误信号进行解释和/或起作用,该命令校验错误信号指示未根据数据传输协议如期望的那样完成写命令。但是,应理解,存储器控制器102的接口可能仍然符合特定的数据传输标准(例如,DDR)。各种存储器控制器默认地可在接收到命令校验错误时重试命令。在这样的场景中,默认的存储器控制器可足够。可替代地,可修改存储器控制器102,从而例如以与上面结合图1解释的命令重试类似的方式重试命令。
[0050]在一些情景中,应答器模块126可使用命令校验错误信号作为串行通信链路,而不使用其来发布官方命令校验错误。应答器模块126可经由命令校验错误位发送消息、错误代码等,且存储器控制器102可被设计和/或配置为检测和/或解码这样的消息或错误代码。
[0051]图4描绘出用于包括不兼容的存储器技术或与不兼容的存储器技术接合的存储器模块的应答控制的示例方法400的流程图。图4可示出可通过其处理读命令的各种步骤,且图5可示出可通过其处理写命令的各种步骤。方法400可由应答控制模块(例如,图1的120)或任何其他合适的电子电路(例如,图5的存储器模块520上的电路)执行。方法400可被实施为电子电路的形式和/或存储在机器可读存储介质(例如,布置在应答控制模块120中的机器可读存储介质)上的可执行指令的形式。在本公开的可替代实施例中,方法400的一个或多个步骤可基本同时或以与图4中示出的不同顺序执行。在本公开的可替代实施例中,方法400可包括比图4中示出的步骤更多或更少的步骤。在一些实施例中,方法400的一个或多个步骤可在某些时间进行和/或可重复。
[0052]参照图4,方法400可在步骤402处开始并继续到步骤404,在步骤404处,应答控制模块120可确定(例如,根据DDR协议)期望在其内完成读命令的时间。在步骤406处,可由存储器模块(例如,DMM)接收读命令,应答控制模块120布置在该存储器模块上。该读命令可旨在从存储器电路/技术(例如,不兼容的存储器电路/技术)读数据。在步骤408处,应答控制模块120可监控读命令的状态,例如,该命令是否已由存储器电路/技术完成(例如,返回数据准备好)。还在步骤408处,应答控制模块120可追踪自存储器模块接收读命令开始的时间(例如,周期)。在步骤410处,应答控制模块120可将自接收读命令开始的时间与期望的完成时间作比较。在步骤412处,应答控制模块120可基于自接收命令开始的时间,来确定在期望的完成时间内将不能准备好返回数据。在步骤414处,应答控制模块120可发起校验或ECC错误,该校验或ECC错误向存储器控制器或操作系统指示不能在期望的时间内完成读命令。响应于该错误,在步骤416处,存储器控制器或操作系统可随后例如在一段时间之后重试读命令。方法400可最后继续到步骤418,方法400可在步骤418处结束。
[0053]图5描绘出用于包括不兼容的存储器技术或与不兼容的存储器技术接合的存储器模块的应答控制的示例方法500的流程图。图5可示出可通过其处理写命令的各种步骤。方法500可由应答控制模块(例如,图3的120)或任何其他合适的电子电路(例如,图5的存储器模块520上的电路)执行。方法500可被实施为电子电路的形式和/或存储在机器可读存储介质(例如,布置在应答控制模块120中的机器可读存储介质)上的可执行指令的形式。在本公开的可替代实施例中,方法500的一个或多个步骤可基本同时或以与图5中示出的不同顺序执行。在本公开的可替代实施例中,方法500可包括比图5中示出的步骤更多或更少的步骤。在一些实施例中,方法500的一个或多个步骤可在某些时间进行和/或可重复。
[0054]参照图5,方法500可在步骤502处开始并继续到步骤504,在步骤504处,应答控制模块120可确定(例如,根据DDR协议)期望在其内完成写命令的时间。在步骤506处,可由存储器模块(例如,DMM)接收写读命令,应答控制模块120布置在该存储器模块上。写命令可旨在向存储器电路/技术(例如,不兼容的存储器电路/技术)写数据。如果写缓存器具有可用空间,写命令可置于应答控制模块120的写缓存器中。在步骤508处,应答控制模块120可监控写缓存器的状态(例如,多少可用空间,各种写命令在缓存器中的何处,等等)。在步骤510处,应答控制模块120可确定向存储器电路/技术发送写命令的最佳情况时间,或者模块120可监控实际上向存储器电路/技术发送写命令的时间。在步骤512处,应答控制模块120可将最佳情况时间或实际时间与期望的完成时间作比较。在步骤5
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1