用于短数据突发长度存储器设备的有效命令映射方案的制作方法

文档序号:6379350阅读:191来源:国知局
专利名称:用于短数据突发长度存储器设备的有效命令映射方案的制作方法
技术领域
本公开总地涉及存储器设备领域,并且,更具体地,涉及用于短数据突发长度存储器设备的存储器控制器领域。
背景技术
存储器控制器使用命令总线和数据总线二者来与存储器设备通信。命令总线用于发送地址信息以及用于操作的命令指令,所述操作诸如读、写、激活和预充(precharge)(激活和预充也可更普遍地分别称为行/页面打开或关闭)。同时,数据总线用于将读和写数据传送到和传送出存储器设备。图1的计算机系统100中示出了这样的存储器设备和存储器控制器组合。如图1中所示出的,示例性的计算机系统100可以包括北桥102,其传统上是主板上的逻辑芯片组的一部分。北桥102可以是单独的芯片或是诸如CPU的另一芯片的一部分。北桥102可以与示例性的图形接口 104、CPU106和非易失性存储器(RAM) 108互连。在一个示例性实施例中,存储器设备108可以是通过存储器控制器110互连到北桥102的动态随机存取存储器(DRAM)。如图1中所进一步示出的,存储器控制器110可以通过命令总线112和数据总线114互连到存储器设备108。如图1中所进一步示出的,北桥102还可以与南桥116互连,该南桥116用于与诸如PCI本地总线、USB、ISA总线、IDE接口等等的其他公知的计算机接口互连。如图2A、2B和2C中所示出的,由存储器控制器110经由命令总线112所发出的每个命令操作,诸如读命令,导致固定数目的数据经由数据总线114从存储器设备108传送到存储器控制器110。该固定数目称为最小突发长度。例如,sDDR2存储器使用4的突发长度,sDDR3使用8的突发长度以及移动Wide-1O使用2或4的突发长度。图2A示出了1:1的突发长度,图2B示出了 2 :1的突发长度,以及图2C示出了 4 :1的突发长度。如图2A-2C中所示出的,突发长度定义命令与数据的带宽比,其中I的突发长度意味着对于使用示例性的Ins的时钟周期的每个命令,所返回的数据也将使用示例性的Ins的时间。因此,如图2B中所示出的,2的突发长度意味着使用Ins的时钟周期的所传输的命令将看到所返回的数据使用示例性的2ns的时间。最后,如图2C中所示出的,4的突发长度意味着对于使用Ins的时钟周期的每个命令,所返回的数据将使用示例性的4ns的时间。或者换种方式说,对于2:1比率,对给出命令的每个时钟周期,返回两个时钟周期的数据,而对于4 :1比率,对给出命令的每个时钟周期,返回四个时钟周期的数据。典型的存储器控制器110对于总线上的每个数据传送发送通常大于I的多个命令。该数目对于存储器控制器110的某多等级、关闭页面实现可以高于2。如果与存储器设备108通信所需要的命令的数目变得大于最小突发长度,则存储器接口的有效利用率按比例减小。例如,如果命令与最小突发长度比是2:1,如图2B中所示出的,那么在数据总线上每个其他时隙将未利用,有效数据带宽减小了 50%。如图2B和2C中所示出的,当发出读命令时,发送回存储器控制器110的数据取决于最小突发长度。在图2B中,当接收到读命令RDO时,存储器设备108不仅在RDO地址处返回所请求的数据,而且在等于RDO地址加上某固定的预定义的地址偏移X (RDO+X)的地址处返回附加的数据。在图2C中,当接收到读命令RDO时,存储器设备108不仅在RDO地址处返回所请求的数据,而且在等于RDO地址加上某固定的预定义的地址偏移X (RDO+x、RD0+2x和RD0+3x)的地址处返回3个附加的数据。换言之,虽然2和4或更高的突发长度提供附加命令带宽以致当先前的读/写命令正在执行时可以发送维持命令(例如,预充命令、激活命令以及类似刷新和校准的其他命令)而不打断数据流,但是因为所返回的额外数据(RDO+x)可能不被需要并且将在存储器控制器110中被丢弃,所以宽突发长度要求不幸地导致了数据低效。随着具有宽128/256位数据接口的Wide-1O存储器的出现,该问题变得更加严重。为了在检查中保持最小预取,这些设备使用仅仅I或2的小突发长度。然而,用当前的命令映射和I的突发长度,不可能得到与具有更大突发长度的当前设备相当的数据总线带宽利用率。当维持命令发送时,读或写数据命令不能发送并且在数据流中将有中断。如本文所将要论述的,归因于实行维持操作的必要性的数据流中的这样的中断可以在用于小突发长度设备的数据总线带宽效率中导致多达25%的损失。虽然通过增加命令接口的宽度来允许发出更多命令可以达到更高的数据总线带宽利用率,但是这样的增加以显著增加的引脚数为代价。

发明内容
本发明实施例提供了对有效地利用存储器控制器和存储器设备之间的命令和数据带宽中固有挑战的解决方法。本发明实施例通过在单个时钟周期中接收在单独的时钟周期上执行的两个读或写数据请求以致第二读或写数据请求的执行可以与所接收的维持命令的执行一致,从而允许数据总线输入或输出数据块,并避免归因于维持命令的数据流中的中断,来减小数据带宽低效的发生率。通过在单个时钟周期中接收两个数据存取命令以在第一时钟周期和随后的第二时钟周期中执行,这样的命令和数据带宽效率提高即使在1:1的命令带宽与数据带宽比中也是可能的。根据本发明的一个实施例,公开了一种用于从存储器设备请求数据的方法。该方法包括从命令总线接收用于存储器设备的多个命令,其中存储器设备由时钟计时。进一步地,多个命令中的至少一个命令包括在时钟的单个时钟周期内被命令的两个数据存取命令。在第一时钟周期期间执行两个数据读或写命令的第一个。然后在第二随后时钟周期期间执行两个读或写命令的第二个。最后,经由数据总线将两个所执行的命令的结果传递到存储器控制器。根据本公开的一个实施例,一种系统包括存储器控制器、命令总线、数据总线、存储器设备和存储器。存储器设备通过命令总线和数据总线耦合到存储器控制器。存储器存储指令,该指令当由计算机系统执行时实行从存储器设备请求数据的方法。该方法包括从命令总线接收用于存储器设备的多个命令,存储器设备由时钟计时。进一步地,多个命令中的至少一个命令包括在所述时钟的单个时钟周期内的两个读或写数据命令。在第一时钟周期期间执行两个数据命令的第一个以及在第二随后时钟周期期间执行两个数据存取读或写命令的第二个。经由数据总线将两个所执行的命令的结果传递到存储器控制器。在根据本发明另一实施例的系统中,一种计算机系统包括存储器控制器、命令总线、数据总线和由时钟计时的存储器设备。存储器设备通过命令总线和数据总线耦合到存储器控制器。存储器设备从存储器控制器经由命令总线接收多个命令。在多个命令中的至少一个命令中,单个命令包括在时钟的单个时钟周期内接收的第一命令和第二命令。第一命令和第二命令中的至少一个包括数据存取命令。数据存取命令当由存储器设备执行时经由数据总线将数据存取命令的结果返回到存储器控制器。在第一时钟周期期间在存储器设备中执行第一命令以及在第二随后时钟周期期间在存储器设备中执行第二命令。


通过阅读以下详细说明,并结合附图将更好地理解本发明,在附图中相同的参考标记表示相同的元素,其中图1示出了根据现有技术的具有互连到存储器设备的存储器控制器的计算机系统的示例性简化框图;图2A示出了根据现有技术的示出了用于存储器设备的命令和数据总线的1:1命令带宽与数据带宽比的示例性流线图;图2B示出了根据现有技术的示出了用于存储器设备的命令和数据总线的2 1命令带宽与数据带宽比的示例性流线图;图2C示出了根据现有技术的示出了用于存储器设备的命令和数据总线的4 :1命令带宽与数据带宽比的示例性流线图;图3A示出了根据现有技术的示出了具有1:1命令与数据带宽比的存储器设备的数据带宽和命令带宽效率的示例性流线图;图3B示出了根据本发明实施例的用于提供具有1:1命令与数据带宽比的存储器设备的提高的数据带宽和命令带宽效率的示例性流线图;图4示出了根据本发明实施例的用于选择所接收以在存储器设备中执行的两个列地址命令之一的计算机控制系统的示例性简化框图;图5示出了根据本发明实施例的存储器设备以及用于选择所接收以在存储器设备中执行的两个列地址命令之一的计算机控制系统的示例性简化框图;图6示出了根据本发明实施例的控制存储器设备的方法的示例性流程图;以及图7示出了根据本发明实施例的用于提供具有1:1命令与数据带宽比的存储器设备的提高的数据带宽和命令带宽效率的示例性流线图。
具体实施例方式现在将详细参考本发明的优选实施例,其示例示出在附图中。虽然本发明将结合优选实施例加以描述,但可以理解的是它们并非旨在将本发明限定于这些实施例。相反,本发明旨在覆盖如随附权利要求所限定的本发明精神和范围内所包括的替换、修改和等同物。此外,在本发明实施例的以下详细描述中,提出了许多特定细节以提供对于本发明的彻底理解。但是,本领域普通技术人员可以理解的是本发明可以没有这些特定细节而实施。在其他实例中,为了避免不必要的遮蔽本发明实施例的各方面,并未对公知的方法、过程、部件和电路加以详细描述。附图示出的本发明实施例是半图式的并且不成比例,特别地,为了清晰地表示,在附图中夸大示出了一些尺寸。类似地,虽然附图中的视图为便于描述通常示出相似的方向,但是图中的这种描绘多半是任意的。通常情况下,本发明可以在任意方向上运行。符号和命名随后的详细描述的一些部分以过程、步骤、逻辑块、处理和其他在计算机存储器中操作数据位的符号表示的形式呈现。这些描述和表示是数据处理领域技术人员将其工作内容最有效地传达给本领域其他技术人员所使用的方式。在这里,通常将过程、计算机执行步骤、逻辑块、处理等等构思成带来期望结果的指令或步骤的自洽序列。步骤是要求物理量的物理操作的步骤。一般地,虽然不是必要的,这些量表现为能在计算机系统中存储、传送、组合、比较以及进行其他操作的电信号或磁信号的形式。已经证实以位、数值、元素、符号、字符、项、数字等来指代这些信号有时是方便的,这主要由于普通使用的原因。然而,应该记住的是所有这些和类似的术语都将与合适的物理量相关联,其只不过是适用于这些量的方便的标签。除非下面的讨论另有明显的特别声明,否则认同的是,贯穿本发明,讨论中所使用的诸如“处理”或“存取”或“执行”或“存储”或“渲染”等等的术语指代计算机系统或类似电子计算设备的动作和处理,该计算机系统或类似电子计算设备操作在计算机系统的寄存器和存储器以及其他计算器可读介质中表示为物理(电子)量的数据并将其转换为在计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备中类似地表示为物理量的其他数据。当部件出现在若干实施例中,相同参考标记的使用意味着该部件是和最初的实施例中所示的相同的部件。根据本发明实施例的用于提高的命令和数据带宽效率的映射方案本发明实施例提供了对维持高的命令和数据带宽效率而不增加利用1:1的命令与数据带宽比的存储器系统的命令接口宽度引脚数中日益增长的固有挑战的解决方法。正如下面详细讨论的,本公开的各种实施例提供了允许连接至具有I的突发长度的存储器设备的存储器控制器达到命令总线利用水平相当于连接至具有更高突发长度的存储器设备的当前接口的命令映射方案。正如下面详细讨论的,这样的较高效率是通过再利用在激活命令中用于发送行或页面地址的引脚来发送第二列地址,允许在单个时钟周期发送两个列命令来获得的。在典型的存储器接口中,行地址宽度可以为列地址宽度的1. 8 2. O倍。因此,如下面所讨论的,提出的映射方案中的双列命令可以导致最小限度的不增加引脚数。如上所述以及如图1、2A、2B和2C所示,存储器控制器110通过命令总线112和数据总线114两者与存储器设备108通信。如图3A也示出的,在具有I的突发长度的存储器设备108中,命令带宽与数据带宽比为1:1。命令总线112和数据总线114两者共享时钟并且可在相同的时钟频率下操作。对于诸如DRAM的存储器设备108,需要两种不同类型的命令来从存储器设备108读取或写至存储器设备108。需要激活命令(也称为行或也页面激活命令)和列命令两者。发出行激活命令以打开存储单元的行,而发出列命令以存取所打开的行的部分。列命令读或写数据,而预充命令和行激活命令是维持命令。维持命令不提供数据;它们提供存储器控制器110对存储器设备108的存取。因此,要存取DRAM的特定地址,可发出和执行行激活命令,由所请求的数据的每一部分所需要的一些列命令跟随其后。还可发出预充命令以当操作完成时关闭行。如图2B和2C所示,当存储器设备具有2:1或4:1的数据/命令带宽比时,会有充足的命令总线带宽来操纵附加的行激活命令或预充命令,同时仍然执行用于列读或写操作的列命令并避免数据总线114上的数据流的中断。下面是用于具有1:1的命令与数据比的存储器设备的传统映射方案,当发出和执行列命令时,能够返回列命令中寻址到的单个数据块。然而,如果需要通过行激活命令选择新的行或需要发出预充命令,如图3A所示,在不中断数据流的情况下没有地方放置行激活命令。使用常规方法的示例性1:1比率映射方案图3A示出了用于具有I的突发长度和1:1的命令与数据带宽比的常规映射方案的示例性流线图。示例性时钟信号302使命令总线112和数据总线114同步。将命令304向下发送到命令总线112以由存储器设备108接收和执行。如图3A所示,存储器控制器110发出的命令可以包括读命令(RD0,RD1,RD2和RD3) 320,324,326和332,其由上述列命令、用于打开存储器设备108中的页面或行的行激活命令(Actl和Act2) 322和330,用于关闭存储器设备108中的页面或行的预充命令(PreO) 328,以及当在当前时钟周期无命令执行时所使用的无操作命令(NOP)来实现。因此,如图3A所示,通过每个时钟周期302,将命令304经由命令总线112从存储器控制器Iio发到存储器设备108。图3A示出了 7个发出的命令的示例性链RD0320、Actl322、RD1324, RD2326、Pre0328、Act2330 和 RD3332。这些发出的命令 304 由存储器设备108接收和执行306。如图3A所示,由于行激活命令336在第一读命令334之后执行,所以数据流308中将有中断348。在数据流308中的一个时钟周期中断348后,执行第二和第三读命令338和340,紧接着是预充命令342和第二行激活命令344,该命令的示例性链以第四读命令346结束,导致了第三和第四读命令340和346的结果之间的数据流308的两个时钟周期的中断350。如图3B所示,每当要调度行激活命令或一些其他维持命令时,存储器控制器调度排队(queuing)命令以使得在维持命令之前,在单个时钟周期内发出一对命令。如图3B所示,该对命令的第一命令可以是维持命令(例如,无操作命令或预充命令)或数据读或写命令,第二命令通常将是数据读或写命令。如果第一命令是数据读或写命令,第二命令,如果需要数据存取,将是匹配数据读或写命令。换句话说,在示例性实施例中,当第二命令是将要延时一个时钟周期的数据存取命令(例如,读或写命令)时,第一命令可以是留下充足输入引脚以允许第二命令也被接收的任意命令。例如,第一命令可以是数据读命令、数据写命令、无操作命令或预充命令,而第二命令通常将是对应的数据读命令或数据写命令。在从存储器控制器110中发出304的第一命令中发现这样的一对读命令(以列命令发出,如这里所述)(RD0/RD1)360。第一读命令(RDO)将被立刻执行,第一命令360的第二读命令(RDl)在一个时钟周期的延时之后执行。不管什么命令放置在双命令的第二时隙中,如图3B所示,其将在一个时钟周期延时后执行。如图3B所示,如上面讨论的,在单个时钟周期发出的一对命令还可以包括预充命令(PreO)和数据读命令(RD5)368。也正如上面和下面讨论的,该对命令368的数据读命令RD5还可以是写命令。根据本发明实施例的用于提高的命令和数据带宽效率的映射方案如图3B所示,通过每个时钟周期302,将命令304经由命令总线112从存储器控制器Iio发到存储器设备108。图3B示出了 7个命令的示例性链RD0/RD1 360、Actl 362、RD2/N0P 364、RD3/RD4366、Pre0/RD5368 和 Act2 370。除了使用了所有命令接口引脚的行激活命令362和370,图3B中的每个命令都与第二命令配对。当能够在单个时钟周期内发出一对命令360-370时,一次将只执行该对命令的单个命令,第二命令则被“送递”到下一个时钟周期。该“送递”的命令确保在时钟周期内只有单个数据存取命令执行。正如这里讨论的,数据存取命令可以是数据读命令或数据写命令。因此,响应图3A中示出的示例性命令链,执行如下命令。在第一执行命令306中,执行第一读命令(RDO) 372,接下来执行第一行激活命令(Actl)和第二读命令(RDl) 374。在第三执行命令306中,执行第三读命令(RD2)376。在第四执行命令306中,执行第四读命令(RD3)378。在第五执行命令306中,执行第一预充命令(PREO)和第五读命令(RD4)380。最后,在第六执行命令306中,执行第二行激活命令(Act2)和第六读命令(RD5) 382。当执行每个命令或每对命令时,读命令(或在其他实施例中的写命令)能够通过每个时钟周期调度执行。通过在每一个时钟周期执行的读命令,如图3B所示,产生了只由所请求的数据填充的连续数据流308,这样使得没有数据流308的所接收数据块(D0-D5)被存储器控制器110丢弃。如图4中所示意以及以下详细描述,来自针对读操作执行的双列命令(其提供用于所期望的存储单元的列地址)的第一和第二列命令,在其由存储器设备108的列解码器执行之前由一对触发器所接收。如上述提及,行-激活命令可以要求更高的引脚数(例如,针对地址的20位),而列命令可以仅为针对地址的9-10位。因此,由于行-激活命令可以要求18-22位,并且列命令可以仅要求10-11位,所以在传统存储器地址总线中存在足够的未使用位,以允许通过再利用用于行-激活命令的位/引脚中的一些来在单个时钟周期发出第二列命令。使用传统的地址命令引脚来接收第一示例性列命令Cx (“η”位命令),同时使用“m”个行-激活地址引脚的一部分来接收第二示例性列命令Cy (也是“η”位命令)。如图4中所示的这两个列命令(C5^P Cy)在线412上运载到第一“m”-位触发器402中。一旦接收到时钟信号302的时钟沿(其可以是时钟信号302的上升沿或下降沿之一),第一触发器402便输出两个列命令(C5^P CY),其随后立即分离,第一列命令(Cx)在线418上继续到复用器410的输入端(IN1),并且第二列命令(Cy)继续到第二“η”-位触发器404。如图4中所述,第二触发器404的输出在接收时钟沿302之后,经由线420传递至复用器410的第二输入端(ΙΝ2)。如图4中所示意 ,在复用器410的控制输入端422处接收的验证信号CASy将确定在复用器410的输入端(INl和ΙΝ2)处接收的哪个列命令(Cx或Cy)将被执行。在第一列命令(Cx)从第一触发器402释放之后在复用器410处接收的同时,在第二列命令(Cy)也到达复用器410之前,由第二触发器404将第二列命令(Cy)保持一个时钟周期的延时。又如图4中所示意,验证信号CASy也可以通过第一触发器406和第二触发器408来发送,使得当第一列命令(Cx)到达复用器410时,和双列命令一起接收的验证信号CASy仍然在第二触发器408处等待另一个时钟周期。因此,当第一列命令(Cx)到达复用器410的第一输入端(INl)时,由于当前验证信号CASy)将不会在复用器410处出现,所以将选择第一列命令(Cx)。当前验证信号CASy没有出现在复用器410处的情况下,复用器410的控制输入端422将为低,选择第一输入端IN1。在一个时钟周期延时之后,第二列命令(Cy)被释放至复用器410的第二输入端(IN2),伴随验证信号CASy在控制输入端422处接收。因此,当前验证信号CASy现在正驱动控制输入端422为高,也新到达复用器410的第二输入端(IN2)处的第二列命令(Cy)将由复用器410选择用于执行。因此,如图3B中所示意,在第二列命令(Cy)在复用器410处的情况下,维持命令也可以和列命令一起执行,使得每个时钟周期读操作可和任何必要的维持命令一起被完成。在另一个实施例中,验证信号CASy可以与第一和第二列命令(Cx和Cy) —样由相同的触发器402和404接收。这样的集成实施例可以用“m+1” -位触发器或所期望的其他位大小的触发器来代替原始的“m” -位触发器。图4的触发器电路可实施为如图5中所示意。在示例性实施例中,图4的触发器电路在存储器设备510中实施。如图5中所示意,复用器410的输出被输入至列解码器512用于如由列地址Cx或Cy中的列地址所确定的示例性读命令的执行。如图5中所进一步示意,如存储器控制器110所发出的命令流304由存储器设备510接收,并且包含用于两个列命令(C5^P Cy)和验证信号CASy的引脚的接口 514的那些引脚传递至触发器电路402-408以及复用器410,用于存储器设备510的列解码器512中的最终执行。

图6中示意出用于短数据突发长度设备中的优化命令映射的示例性方法。在图6的步骤602,在存储器设备108处经由命令总线112接收来自存储器控制器110的多个命令。在所接收的命令的至少一个中,将包括在单个时钟周期内包括两个读或写数据命令的多个命令。如上所述,所接收的两个命令可以是任意两个命令,同时两个命令的至少一个为列命令(如读命令)。然而,又如上述,将不会在单个时钟周期接收列命令和行-激活命令。在图6的步骤604,将在第一时钟周期执行两个数据读或写命令的第一个。然后在图6的步骤606,将在第二随后时钟周期执行两个读或写命令的第二个。最后,在图6的步骤606,两个所执行的命令的结果(如由包含所期望数据的列地址的所执行的列命令确定的)将经由数据总线114传递至存储器控制器110。本发明实施例可适用于在命令带宽外运行的任意存储器设备。通过再利用列命令中没有使用的行-激活引脚的一部分来在命令总线的单个时钟周期发出两个列命令,能够避免数据流中的中断。此外,本发明实施例由于在数据总线110上发送的数据可以是被明确请求的数据,因此还可以提供提高的命令和数据带宽效率,消除了要求对在数据总线上传递以丢弃的不需要的数据进行读或写的映射方案的低效性。例如,传统映射方案下的2:1比率的存储器设备将发送数据的第一请求的块和如Cx+x所确定的数据的第二不需要的块至存储器控制器。本发明的实施方式允许存储器控制器请求Cx和CY,而不是Cx和Cx+x。在单个时钟周期内发出两个命令还是对于允许使用“附加延迟”的映射方案的改进。附加延迟允许列命令延时一定量的时间(一定数目的时钟周期)。这样的延时允许行-激活命令和先前所请求但经延时的列命令一起执行。允许命令的延缓以防止命令冲突。它最常与具有大量命令带宽(命令带宽与数据带宽比为2或更大)的存储器设备来联用,以防止因为冲突的列或维持命令而引起的时序冲突。但是,列命令只可以在读和写之间延时附加延迟,但不可以在读和读以及写和写之间,不同于本发明实施例,其允许附加的命令来和命令配对。通过具有2:1或4:1或者更高比率的附加的命令带宽,当前映射方案将能够避免读操作期间数据流中的中断,但是以增加的粒度为代价。在具有128位数据总线带宽的示例性存储器系统中,即使只请求数据的示例性的32位,响应于读操作,将在数据总线上发送数据的整个128位。如上所提及,由于存储器设备的约束(具有例如2:1或4:1比率)而提供的由存储器控制器接收的附加的数据将丢弃。如上所提及,图4的触发器电路402-408和复用器410是实施在单个时钟周期中发出双命令所需要的对存储器设备进行的仅有改变。因此,可以避免增加额外的引脚或复杂的附加逻辑来执行该新的映射方案。另外,本发明实施例是后向兼容的。如果将在2:1比率环境中利用传统的映射方案来运行这样的存储器设备,那么通过驱动验证信号CASy为低并且保持为低,可发送导致Cx列地址和Cm第二预定列地址的示例性命令行。在验证信号CASy保持为低的情况下,复用器将永远只允许第一列命令(Cx)通过。通过替代地保持验证信号CASy为低或允许验证信号CASy根据接收的命令操作的类型波动(如上所提及,在上述的双-命令映射方案中,验证信号CASy将永远为高的仅有时间是当已经接收第二命令时),可提供多模式存储器控制器。虽然为了简化,示例性实施例首先已经包括使用列命令来寻址所期望的数据位置的读操作,但本发明对于使用相同列命令的写操作是等效的。图1的数据总线114是双向的,并且存储器控制器110可以响应于发送至存储器设备108的读操作接收数据,或者结合经由命令总线112发送的写命令来经由数据总线114驱动数据至存储器设备108。在这样的写操作中,写命令还可以使用列命令来在用于写操作的打开的行/页面中选择特定的地址。正如在读操作中,如果没有利用上述的双-命令(例如在单个时钟周期中接收的第一列命令(Cx)和第二列命令(CY)),那么由于相关联的写数据在写操作命令在命令总线112上发出之前不会在数据总线114上驱动,所以在由存储器控制器110驱动至存储器设备108的写数据中将存在类似的中断。图7中所示意的本发明实施例与图3B类似,但用写命令代替读命令。如图7中所示意,每个时钟周期702,从存储器控制器110发出命令704 (例如,除了其自己发出的激活命令之外,成对命令760-770)经由命令总线112至存储器设备108。还如图7中所示意,与图3B所示意的相比数据流708已经转换方向,存储器控制器110发出写命令(WR0-WR5)760、764、766和768以及数据流708中的它们的对应数据(D0-D5)。与图3B类似,“推后的”或延时的数据写命令(即在一对命令中的第二命令)与数据写命令或维持命令配对,如命令对760和768中分别示意的,其中首先执行第一命令,即命令对760的数据写命令(WRO)和命令对768的预充命令(PreO),接着一个时钟周期之后分别是命令对760的写命令(WRl)和命令对768的写命令(WR5)。虽然已经在此公开某些优选实施例和方法,对本领域技技术人员来说从前述公开明显的是,可对这样的实施例和方法的进行变化和修改,不超出本发明的精神和范围。其目的是,本发明将仅限于所附权利要求和适用法律的规则和原则所要求的内容。
权利要求
1.一种存储器控制器操作的方法,所述方法包括 从命令总线接收用于存储器设备的多个命令,所述存储器设备由时钟计时,其中所述多个命令中的至少一个命令包括在所述时钟的单个时钟周期内所接收的第一命令和第二命令; 在第一时钟周期期间执行所述第一命令; 在第二随后时钟周期期间执行所述第二命令,其中所述第二命令是数据存取命令;以及 经由数据总线将所执行的数据存取命令的结果传递到所述存储器控制器。
2.根据权利要求1所述的方法,其中所述数据存取命令是数据读命令。
3.根据权利要求2所述的方法,其中所述数据存取命令是数据写命令,其中如所述存储器控制器所确定的,所述数据写命令引起从所述数据总线在所述存储器设备中写数据。
4.根据权利要求1所述的方法,其中用于所述存储器设备的命令带宽与数据带宽比是1:1。
5.根据权利要求1所述的方法,其中所述在所述第二随后时钟周期期间执行所述第二命令包括 将所述第二命令的执行延时一个时钟周期;以及 在所述第一时钟周期之后的下一个时钟周期上执行所述第二命令。
6.根据权利要求3所述的方法,其中所述多个命令包括数据读命令、数据写命令、行激活命令和预充命令,并且其中数据读命令和数据写命令包括列地址,并且其中所述第一命令包括数据读命令、数据写命令和预充命令之一。
7.根据权利要求1所述的方法,进一步包括 在所述第二随后时钟周期期间执行预充命令和行激活命令中的其中一个,其中所述预充命令和所述行激活命令中的所述其中一个在接收所述第一命令和所述第二命令之后的时钟周期期间接收。
8.根据权利要求6所述的方法,其中所述命令总线包括用于在所述存储器设备处接收列命令和行激活命令的位线,并且其中所述第二命令利用所述位线中的至少一个位线来接收行激活命令,并且其中所述第二命令当在所述存储器设备处接收到验证信号时执行。
9.一种计算机系统,包括 存储器控制器; 命令总线和数据总线; 存储器设备,其通过所述命令总线和所述数据总线耦合到所述存储器控制器; 以及 用于存储指令的存储器,所述指令当由所述计算机系统执行时实行从所述存储器设备请求数据的方法,所述方法包括 从命令总线接收用于存储器设备的多个命令,所述存储器设备由时钟计时,其中所述多个命令中的至少一个命令包括在所述时钟的单个时钟周期内所接收的第一命令和第二命令; 在第一时钟周期期间执行所述第一命令; 在第二随后时钟周期期间执行所述第二命令,其中所述第二命令是数据存取命令;以及 经由数据总线将所执行的数据存取命令的结果传递到所述存储器控制器。
10.根据权利要求9所述的计算机系统,其中所述数据存取命令是数据读命令。
11.根据权利要求10所述的计算机系统,其中所述数据存取命令是数据写命令,并且其中如所述存储器控制器所确定的,所述数据写命令引起从所述数据总线在所述存储器设备中写数据。
12.根据权利要求9所述的计算机系统,其中用于所述存储器设备的命令带宽与数据带宽比是1:1。
13.根据权利要求9所述的计算机系统,其中所述在所述第二随后时钟周期期间执行所述第二命令包括 将所述第二命令的执行延时一个时钟周期;以及 在所述第一时钟周期之后的下一个时钟周期上执行所述第二命令。
14.根据权利要求11所述的计算机系统,其中所述多个命令包括数据读命令、数据写命令、行激活命令和预充命令,其中数据读命令和数据写命令包括列地址,并且其中所述第一命令包括数据读命令、数据写命令和预充命令之一。
15.根据权利要求9所述的计算机系统,其中所述方法进一步包括 在所述第二随后时钟周期期间执行预充命令和行激活命令中的其中一个,其中所述预充命令和所述行激活命令中的所述其中一个在接收所述第一命令和所述第二命令之后的时钟周期期间接收。
16.根据权利要求12所述的计算机系统,其中所述命令总线包括用于在所述存储器设备处接收列命令和行激活命令的位线,其中所述第二命令利用所述位线中的至少一个位线来接收行激活命令,并且其中所述第二命令当在所述存储器设备处接收到验证信号时执行。
17.一种计算机系统,包括 存储器控制器; 命令总线和数据总线;以及 存储器设备,其由时钟计时并通过所述命令总线和所述数据总线耦合到所述存储器控制器,其中所述存储器设备可操作以经由所述命令总线从所述存储器控制器接收多个命令,其中所述多个命令中的至少一个命令包括在所述时钟的单个时钟周期内所接收的第一命令和第二命令,其当由所述存储器设备执行时经由所述数据总线将两个命令的结果传递到所述存储器控制器,其中所述第一命令和所述第二命令中的至少一个包括读命令,并且其中所述第一命令可操作以在第一时钟周期期间在所述存储器设备中执行且所述第二命令可操作以在第二随后时钟周期期间在所述存储器设备中执行。
18.根据权利要求17所述的计算机系统,其中用于所述存储器设备的命令带宽与数据带宽比是1:1。
19.根据权利要求17所述的计算机系统,其中所述第二命令当在所述存储器设备处接收到验证信号时执行。
20.根据权利要求17所述的计算机系统,其中所述第一命令和所述第二命令中的至少一个包括写命令,其当由所述存储器设备执行时,如所述存储器控制器所确定的从所述数据总线将数据 写入所述存储器设备。
全文摘要
在根据本公开的一个实施例的系统中,该系统包括存储器控制器、命令总线、数据总线、存储器设备和存储器。存储器设备通过命令总线和数据总线耦合到存储器控制器。存储器存储指令,该指令当由计算机系统执行时实行从存储器设备请求数据的方法。该方法包括从命令总线接收用于存储器设备的多个命令,存储器设备由时钟计时。进一步地,多个命令中的至少一个命令包括在所述时钟的单个时钟周期内的第一命令和第二命令。第一命令和第二命令中的至少一个是数据存取命令。在第一时钟周期期间执行第一命令以及在第二随后时钟周期期间执行第二命令。经由数据总线将所执行的数据存取命令的结果传递给存储器控制器。
文档编号G06F12/02GK103064791SQ201210405229
公开日2013年4月24日 申请日期2012年10月22日 优先权日2011年10月21日
发明者阿洛克·古普塔 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1