将数据写入内存的方法及控制器电路的制作方法

文档序号:6631650阅读:130来源:国知局
专利名称:将数据写入内存的方法及控制器电路的制作方法
技术领域
本发明涉及一种将数据写入内存的方法及控制器电路。
背景技术
一般而言,内存控制器电路是用来调整自/至内存读出/写入数据。举例来说,所述数据可来自中央处理单元(CPU)。随着内存芯片容量增加及CPU变得愈来愈快,有必要以更高的速率使数据存取于内存芯片中。
图1显示控制器102与内存104的连接方块图。在此图中,控制器102与内存104间跨接有四个信号时钟脉冲信号(clock signal)MCLK、数据信号(data signal)PD、指令信号(command signal)CMD及数据选通信号(data strobesignal)DQS。
图2显示将信号写入内存的工作波形图。在此图中,数据信号PD、指令信号CMD、数据选通信号DQS及时钟脉冲信号MCLK均自控制器102传送至内存104。
如图2所示,在时钟脉冲信号MCLK上升缘时,指令信号CMD触发一写入信号(write command)。当写入信号后的某一时间,数据选通信号DQS在高低两态间振荡。在数据选通信号DQS的上升/下降缘时,内存104利用数据选通信号DQS“计时”或“锁住”进入内存104中的数据信号PD。在此例中,数据选通信号DQS的上升缘经安排为位于数据信号PD的数据位D0“中央”。举例来说,如图2所示,数据选通信号DQS的上升缘在数据位D0开始后的数据准备时间(setup time)Tds但在数据位D0结束前的数据维持时间(hold time)Tdh出现。再者,数据选通信号DQS的下降缘经安排为位于数据信号PD的数据位D1“中央”。举例来说,如图2所示,数据选通信号DQS的下降缘在数据位D1开始后的数据准备时间Tds但于数据位D1结束前的数据保持时间Tdh出现。
控制器102的挑战之一是准确地计时以提供数据选通信号DQS、数据信号PD及时钟脉冲信号MCLK至内存104,使得数据正确无误地锁入内存104中。举例来说,Tds及Tdh的数值可为极短的期间,例如0.5毫微秒(nanoseconds)。

发明内容
本发明的主要目的是提供一种数据写入内存的方法及系统,能够准确地计时以提供数据选通信号、数据信号及时钟脉冲信号至内存,使得数据正确无误地锁入内存中。
为了实现上述目的,本发明提供了一种将数据写入内存的方法,该方法包含产生至少一时钟脉冲信号;使用至少一时钟脉冲树缓冲器,自该时钟脉冲信号产生至少一中间时钟脉冲信号;使该中间时钟脉冲信号延迟以形成一数据选通信号;使该至少一中间时钟脉冲信号延迟以形成一内存时钟脉冲信号;及使用该数据选通信号及该内存时钟脉冲信号,将该数据写入该内存中。
本发明还提供了一种用以将数据写入内存的电路,该电路包含一时钟脉冲产生器,用以产生至少一时钟脉冲信号;至少一时钟脉冲树缓冲器,用以自该时钟脉冲信号产生至少一中间时钟脉冲信号;第一延迟电路,用以自该中间时钟脉冲信号产生一数据选通信号;及第二延迟电路,用以自该中间时钟脉冲信号产生一内存时钟脉冲信号,其中该数据选通信号及该内存时钟脉冲信号是用以将该数据锁入该内存中。
本发明另一方面还提供了一种用以将数据写入内存的控制器电路,该控制器电路包含第一数据信道,用以将数据自该控制器电路运送至该内存中;第二数据信道,用以将数据自该控制器电路运送至该内存中;及一第一延迟电路,用以使该数据在该第一数据信道中延迟,以使该第一数据信道中的数据与在该第二数据信道中的数据不同时间锁入该内存中。
本发明还提供一种将数据写入内存的方法,该方法包含使该数据在一第一数据信道中延迟,以使该第一数据信道中的数据与在一第二数据信道中的数据不同时间锁入该内存中,其中该第一数据信道将该数据自该控制器电路运送至该内存中,且该第二数据信道将该数据自该控制器电路运送至该内存中。
本发明的另一方面还提供了一种使写入数据在内存的电路程序化的方法,该方法包含决定一内存时钟脉冲信号超前一数据参考信号的第一领先时间;决定一数据选通信号超前该数据参考信号的第二领先时间;及使该内存时钟脉冲信号延迟该第一领先时间且使该数据选通信号延迟该第二领先时间。
以下合并及构成本发明一部分的附图阐释本发明的多个具体实施例,且配合说明书用以解释本发明的理论。


图1为控制器与内存的连接方块图;图2显示将信号写入内存的工作波形图;图3为根据本发明一具体例的控制电路的电路图;图4为根据本发明使图3电路程序化的方法的流程图;图5为本发明将信号写入内存的工作波形图;图6为根据本发明将信号写入内存的流程图;及图7为根据本发明另一实施例将信号写入内存的流程图。其中,附图标记说明如下控制器102内存104多工器302多工器304延迟电路308 时钟脉冲树缓冲器312时钟脉冲树缓冲器314 正反器316反相器318反相器320反相器322反相器324多工器326与门328迟延电路332 迟延电路334迟延电路336 相位检测器340锁相回路310
具体实施例方式
由下列实施例及附图详细说明本发明。尽可能地,全部附图中使用相同组件符号代表相同或类似的组件。
图3为根据本发明第一具体例的控制电路的电路图。锁相回路(phaselocked loop)310提供一时钟脉冲信号CLK及另一时钟脉冲信号CLKQ,其中时钟脉冲信号CLKQ是超前或领先时钟脉冲信号CLK达90度。时钟脉冲信号CLK与CLKQ可自相同的基准时钟脉冲信号产生。在节点A处,时钟脉冲信号CLK送经时钟脉冲树缓冲器(clock tree buffer,CTS)312,形成信号CTS_CLK(未显示)。信号CTS_CLK送经反相器(inverter)322,形成与时钟脉冲信号CTS_CLK呈180度互补的信号CTS_CLK~(未显示)。在节点B处,时钟脉冲信号CLKQ送经时钟脉冲树缓冲器(CTS)314,形成信号CTS_CLKQ(未显示)。信号CTS_CLKQ送经反相器324,形成与时钟脉冲信号CTS_CLKQ呈180°互补的信号CTS_CLKQ~(未显示)。在图3中,全部四信号CTS_CLK、CTS_CLKQ、CTS_CLK~及CTS_CLKQ~均送入多工器304中。
由使用二位可编程化输入器(未显示),多工器304选择四信号CTS_CLK、CTS_CLKQ、CTS_CLK~及CTS_CLKQ~中之一输出至延迟电路308。多工器304提供“四分之一时钟脉冲”选择,即信号CTS_CLK的90°相位选择。实际上,多工器304提供信号CTS_CLK多倍(例如零、一、二、三倍)四分之一周期延迟信号。延迟电路308可进一步使信号延迟且可输出内存时钟脉冲信号MCLK至内存。换言之,延迟电路308提供四分之一时钟脉冲选择的微调效果。举例来说,延迟电路308可提供具90°范围的四位分辨率,以致于在多工器304四分之一时钟脉冲选择与可程序化的延迟电路308间,时钟脉冲信号MCLK的相位可经程序化而介于0°与360°间。
在节点A的信号CTS_CLK也借反相器318反相,形成输入多工器302的第二CTS_CLK~。信号CTS_CLKQ也借反相器320反相,形成输入多工器302的第二CTS_CLKQ~。由使用二位可程序化输入器(未显示),多工器302选择四信号CTS_CLK、CTS_CLKQ、CTS_CLK~及CTS_CLKQ~中之一输出至与门(AND gate)328。以下进一步说明与门328的目的。
多工器302提供“四分之一时钟脉冲”选择,即信号CTS_CLK的90°相位选择。效果上,多工器302提供信号CTS_CLK多倍(例如零、一、二、三倍)四分之一周期延迟信号。与门328的输出送经延迟电路306。延迟电路306可使信号延迟且可输出数据选通信号DQS。延迟电路306提供多工器302四分之一时钟脉冲选择的微调效果。举例来说,延迟电路306可提供具90°范围的四位分辨率,以致于在多工器302四分之一时钟脉冲选择与可程序化的延迟电路306间,数据选通信号DQS的相位可经程序化而为介于0°与360°之间。
如图2的波形图所示,有时数据选通信号DQS不会于高低两态间振荡,例如当没有数据正写入内存104时。再请看图3,与门328使得多工器302的输出为出现于节点C的逻辑值的倍数。倘若在节点C的逻辑值为“0”,则与门328的输出也为“0”,且选通信号DQS不会在高低两态间振荡。倘若在节点C的逻辑值为“1”,则与门328的输出将随着多工器302的输出变动,且选通信号DQS会在高低两态间振荡。在节点C的逻辑值由多工器326所选择,为pre_dqs_mclk、pre_dqs_mclk#、pre_dqs_mclkq及pre_dqs_mclkq#中的其中之一。信号pre_dqs_mclk、pre_dqs_mclk#、pre_dqs_mclkq及pre_dqs_mclkq#决定数据选通信号DQS在执行指令(例如写入指令)后开始振荡的时间。信号pre_dqs_mclkq超前信号pre_dqs_mclk90°(由CTS_CLK看);信号pre_dqs_mclkq#落后信号pre_dqs_mclkq 180°(由CTS_CLK看);信号pre_dqs_mclk#落后信号pre_dqs_mclk 180°(由CTS_CLK看)。
在图3的具体例中,正反器316也使用信号CTS_CLK锁住离开控制器电路的数据,作为数据信号PD。在此具体例中应注意的是,数据信号PD为调整选通信号DQS及时钟脉冲信号MCLK的有效的参考信号。
在本发明一具体例中,有多个数据信号,例如数据信号PD,其跨接于控制器102与内存104间的多个数据信道。举例来说,可有2、4、8、16、32或64个数据信道及数据信号。在此情形中,内存104可同时地将许多数据信号锁入内存中。使一些数据信号(例如数据信号PD)延迟是合适的,以防止倘若每一数据信道具有相同相位时可能产生同步锁住现象。使一些数据信道延迟(产生不同相位)可降低瞬间能耗,因为并非所有切换电流立刻自电源供应器汲取。因此,在本具体例中,正反器316可使用经延迟的信号CTS_CLK。当使用二位输入多工器330时,可由延迟电路332、由延迟电路332及334或由延迟电路332、334及336使CTS_CLK延迟零相位。举例来说,延迟电路332、334及336的延迟时间值可为200微微秒(picoseconds)。
使用者可使图3显示的电路程序化,以使选通信号DQS及时钟脉冲信号MCLK的上升及下降缘适当地与数据信号PD一致。程序设计包含在多工器302、304、330及326中选择适当的信号,以及在延迟电路306及308中选择延迟时间。在一具体例中,多工器302、304及326全部经程序化为相同的四分之一时钟脉冲选择。举例来说,多工器302及304可经程序化选择CTS_CLK,且多工器326可经程序化选择pre_dqs_mclk。在另一例子中,多工器302及304可经程序化选择CTS_CLK~,且多工器326可经程序化选择pre_dqs_mclk#。在另一例子中,多工器302及304可经程序化选择CTS_CLKQ,且多工器326可经程序化选择pre_dqs_mclkq。最后,多工器302及304可经程序化选择CTS_CLKQ~,且多工器326可经程序化选择pre_dqs_mclkq#。相位检测器340用以检测数据信号PD、选通信号DQS及时钟脉冲信号MCLK间的相位。
图4为本发明中图3电路所执行动作的方法流程图。在此具体例中,数据信号PD用做参考时钟脉冲。倘若时钟脉冲信号MCLK及选通信号DQS的上升缘超前数据信号PD为时钟脉冲周期Tck的0.75至1倍(步骤402),则将延迟时间(Tdelay)设定为0.75Tck(步骤420)。倘若时钟脉冲信号MCLK及选通信号DQS的上升缘超前数据信号PD为时钟脉冲周期Tck的0.5至0.75倍(步骤404),则将延迟时间Tdelay设定为0.5Tck(步骤418)。倘若时钟脉冲信号MCLK及选通信号DQS的上升缘超前数据信号PD为时钟脉冲周期Tck的0.25至0.5倍(步骤406),则将延迟时间Tdelay设定为0.25Tck(步骤422)。倘若时钟脉冲信号MCLK及选通信号DQS的上升缘超前数据信号PD为时钟脉冲周期Tck的0至0.25倍(步骤408),则将延迟时间Tdelay设定为0 Tck(步骤410)。在本具体例中,延迟时间Tdelay决定是否在多工器302及304中选择CTS_CLK、CTS_CLKQ、CTS_CLK~或CTS_CLKQ~以及是否在多工器326中选择pre_dqs_mclk、pre_dqs_mclk#、pre_dqs_mclkq及pre_dqs_mclkq#。在多工器302、304及326中选择信号后,接着使用延迟电路306及308调整延迟时间(步骤416)。
表I显示根据本发明可程序化的延迟电路(例如图3的延迟电路306及308)的延迟表。表I的第一栏列出不同的四位选择。第二栏列出通过延迟电路(针对特殊延迟选择)信号的上升缘的最长的延迟时间。第三栏列出通过延迟电路(针对特殊延迟选择)信号的上升缘的最短的延迟时间。第四栏列出通过延迟电路(针对特殊延迟选择)信号的下降缘的最长的延迟时间。第五栏列出通过延迟电路(针对特殊延迟选择)信号的下降缘的最短的延迟时间。在另一具体例中,延迟电路具固定的延迟时间且不可程序化。
表I可程序化的延迟时间

图5为根据本发明的信号波形图。如以上所述,时钟脉冲信号MCLK、指令信号CMD、数据选通信号DQS及数据信号PD自控制器102传送至内存104。在图5中,类似图2的实例,指令信号CMD是在信号MCLK的上升缘发出写入指令。在一具体例中,数据选通信号DQS的上升或下降缘经安排为使得其可正确地将数据信号PD锁入内存104中。
图5中所示的信号CTS_CLK为图3节点A处出现的信号。图5中所示的信号CTS_CLKQ为图3节点B处出现的信号。信号CTS_CLKQ~是在图3反相器320及324后出现。
图5显示当多工器326选择信号pre_dqs_mclk时,在节点E处出现的信号PRE_DQS_MCLK。信号PRE_DQS_MCLK为多工器302与节点C的输出的乘积。信号PRE_DQS_MCLKQ在多工器326选择信号pre_dqs_mclkq时出现于节点E处。信号PRE_DQS_MCLKQ为多工器302与节点C的输出的乘积。信号PRE_DQS_MCLK#(未显示于图5中)在多工器326选择信号pre_dqs_mclk#(未显示于图5中)时出现于节点E处。信号PRE_DQS_MCLK#为多工器302与节点C的输出的乘积。最后,信号PRE_DQS_MCLKQ#在多工器326选择信号pre_dqs_mclkq#时出现于节点E处。信号PRE_DQS_MCLKQ#为多工器302与节点C的输出的乘积。
图6为根据本发明将数据写入内存的方法的流程图。根据本发明的方法及系统包含产生至少一时钟脉冲信号(步骤602),例如图3中所示的CLK或CLKQ。接着,使用时钟脉冲树缓冲器,此方法及系统可自该时钟脉冲信号产生至少一中间时钟脉冲信号(步骤604),例如CTS_CLK或CTS_CLKQ。接着,此方法及系统可使该至少一中间时钟脉冲信号延迟,以形成数据选通信号(步骤606),例如数据选通信号DQS。根据本发明的方法及系统接着也可使该至少一中间时钟脉冲信号延迟,以形成内存时钟脉冲信号(步骤608),例如信号MCLK。最后,此方法及系统使用数据选通信号及内存时钟脉冲信号,将数据写入内存中(步骤610)。
图7为根据本发明将数据写入内存的方法的流程图。根据本发明的方法及系统包含产生至少二时钟脉冲信号(步骤702),例如图3中所示的CLK及CLKQ,且此二时钟脉冲信号可具有部分时钟脉冲的特定相位偏移,例如四分之一时钟脉冲。接着,使用时钟脉冲树缓冲器,此方法及系统可自此二时钟脉冲信号产生多个中间时钟脉冲信号(步骤704),例如信号CTS_CLK、CTS_CLK~、CTS_CLKQ及CTS_CLKQ~。接着,此方法及系统可使该多个中间时钟脉冲信号延迟,以形成数据选通信号(步骤706),例如数据选通信号DQS。根据本发明的方法及系统接着也可使该多个中间时钟脉冲信号延迟,以形成内存时钟脉冲信号(步骤708),例如信号MCLK。根据本发明的方法及系统接着也可使该多个中间时钟脉冲信号中至少一个延迟,以形成延迟的数据时钟脉冲信号以锁住数据信道的数据信号(步骤710),例如数据信号PD。最后,此方法及系统是使用数据选通信号及内存时钟脉冲信号,将数据写入内存中(步骤712)。
本发明的其它具体例由本发明揭示的说明书及实施例,本技术领域的普通技术人员当可明白。内存(例如内存104)可包含单一内存芯片或超过一个以上的内存芯片。再者,控制器102及内存104可为分开的芯片或可位于同一芯片上。此外,举例来说,四分之一时钟脉冲选择可为除了四分之一以外的时钟脉冲信号部分周期选择。
权利要求
1.一种用以将数据写入内存的控制器电路,其特征在于,该控制器电路包含第一数据信道,用以将数据自该控制器电路运送至该内存中;第二数据信道,用以将数据自该控制器电路运送至该内存中;及一第一延迟电路,用以使该数据在该第一数据信道中延迟,以使该第一数据信道中的数据与在该第二数据信道中的数据不同时间锁入该内存中。
2.如权利要求1所述的电路,其特征在于,还包含一用以产生一数据选通信号的第二延迟电路及一用以产生一内存时钟脉冲信号的第三延迟电路,其中该数据选通信号及该内存时钟脉冲信号用以将该数据锁入该内存中。
3.如权利要求2所述的电路,其特征在于,该第一延迟电路还包含一第一选择电路,用以选择多个具不同相位的数据时钟脉冲信号作为供锁入该数据于内存中的输入时钟脉冲信号。
4.如权利要求2所述的电路,其特征在于,该第一延迟电路还包含一第二选择电路,用以选择多个经相位偏移的信号中至少之一作为其输出信号。
5.如权利要求2所述的电路,其特征在于,该第二延迟电路还包含一第三选择电路,用以选择多个经相位偏移的信号中至少之一作为其输出信号。
6.一种将数据写入内存的方法,其特征在于,该方法包含使该数据在一第一数据信道中延迟,以使该第一数据信道中的数据与在一第二数据信道中的数据不同时间锁入该内存中,其中该第一数据信道将该数据自该控制器电路运送至该内存中,且该第二数据信道将该数据自该控制器电路运送至该内存中。
7.如权利要求6所述的方法,其特征在于,还包含由一第一延迟电路产生一数据选通信号以及由一第二延迟电路产生一内存时钟脉冲信号,其中该数据选通信号及该内存时钟脉冲信号用以将该数据锁入该内存中。
8.如权利要求6所述的方法,其特征在于,使该数据在该第一数据信道中延迟的步骤还包含选择多个具不同相位的数据时钟脉冲信号作为供锁入该数据于内存中的输入时钟脉冲信号。
9.一种使写入数据在内存的电路程序化的方法,其特征在于,该方法包含决定一内存时钟脉冲信号超前一数据参考信号的第一领先时间;决定一数据选通信号超前该数据参考信号的第二领先时间;及使该内存时钟脉冲信号延迟该第一领先时间且使该数据选通信号延迟该第二领先时间。
10.如权利要求9所述的方法,其特征在于,决定该第一领先时间的步骤包含决定该内存时钟脉冲信号部分周期的倍数以及使该内存时钟脉冲信号延迟该部分周期的倍数。
11.如权利要求10所述的方法,其特征在于,该部分周期为四分之一周期。
12.如权利要求9所述的方法,其特征在于,决定该第二领先时间的步骤包含决定该数据选通信号部分周期的倍数以及使该数据选通信号延迟该部分周期的倍数。
13.如权利要求12所述的方法,其特征在于,该部分周期为四分之一周期。
14.如权利要求9所述的方法,其特征在于,还包含产生一时钟脉冲信号;使用一时钟脉冲树缓冲器,自该时钟脉冲信号产生一中间时钟脉冲信号;使该中间时钟脉冲信号延迟以形成该数据选通信号;及使用该数据选通信号及该内存时钟脉冲信号,将该数据写入该内存中。
15.如权利要求14所述的方法,其特征在于,还包含使该中间时钟脉冲信号延迟以形成该内存时钟脉冲信号。
全文摘要
本发明涉及一种将数据写入内存的方法及控制器电路。该控制器电路包含第一数据信道,用以将数据自该控制器电路运送至该内存中;第二数据信道,用以将数据自该控制器电路运送至该内存中;及一第一延迟电路,用以使该数据在该第一数据信道中延迟,以使该第一数据信道中的数据与在该第二数据信道中的数据不同时间锁入该内存中。该方法和控制器电路可以使该中间时钟脉冲信号延迟以形成该内存时钟脉冲信号。
文档编号G06F12/00GK1734661SQ20051008604
公开日2006年2月15日 申请日期2003年4月2日 优先权日2002年4月2日
发明者洪成冠, 路克·彼森 申请人:英属盖曼群岛商旭上绘图股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1