用于编码自动预充电的装置和方法

文档序号:6752552阅读:207来源:国知局
专利名称:用于编码自动预充电的装置和方法
背景技术
在存储器领域中,动态随机存取存储器(DRAM)通常用作计算机系统的主存储器。也就是说,在例如桌面个人计算机(PC)的一般计算机系统中,主存储器的功能通过DRAM设备进行。DRAM的操作一般需要使用行和列地址来对存储器寻址,以便可以在DRAM部件上进行读和写操作。应当认识到,在许多情况中,利用例如计算机中央处理单元的处理器来使用DRAM,但是在其他情况中,可以利用例如存储器控制器的其他处理/控制设备来使用DRAM。
为了在更快的计算机系统中提供高得多的性能,对DRAM也提出了以更大的量并以更快的执行时间处理数据的更高的性能要求。因此,常常将DRAM配置成DRAM阵列存储体(bank),在其中通过高速数据突发来实现向DRAM及从其传输数据。例如,被布置在多个存储体中的高速256兆位(Mb)DRAM可以被定时,以利用发出读和/或写访问命令来提供数据传输。在这样的一个配置中,可以提供专用定时信号(称为标志信号),以响应于对DRAM的读或写访问而触发数据传输。在一些情况中,可以用标志信号的上升和下降变迁(transition)两者来实现数据传输。例如,第一读/写访问可以在这样一种标志信号上升变迁的时候被触发,而第二读/写访问可以响应于该标志信号的下降变迁被触发。在标志信号上升和下降变迁两者处向/从DRAM进行的这种数据传输可以允许响应于标志信号的一个周期进行两次存储器访问。例如,这种方案可以被实现,使得可以响应于标志信号的上升变迁实现向/从存储器的一部分传输数据,并响应于时钟信号的下降变迁发生到/从存储器另一部分的第二数据传输。
通常还可以理解DRAM设备使用预充电功能。对DRAM预充电通常是指将位线充电到预先选定值的操作。自动预充电状态响应于发出例如读或写命令的命令而自动地对位线预充电。也就是说,在一些情况中,读或写命令可以在进行读或写功能之前启动对所访问的位线的自动预充电。对于大多数DRAM来说,预充电或自动预充电功能通常具有一个从处理器或者控制器发送到DRAM设备的信号,以便进行预充电操作。该命令通常要求在DRAM设备上的专用引脚来接收预充电命令。应当认识到,如果用被传送给DRAM的另一个信号来编码预充电(或者自动预充电),则不需要使用指定引脚来指定预充电状态。这使得DRAM设备的引脚数量减少,或者先前被指定用于预充电/自动预充电功能的特别引脚现在可以被用于其他从DRAM发送或者其接收的信号。


图1是使用实现本发明实施例的DRAM和存储器控制器的计算机系统的示意框图。
图2是实现预充电的DRAM的示意框图。
图3是示出了通过将标志变迁设置在读或写命令后的一个时钟周期来编码预充电命令的时序图。
图4是示出了在读或写命令之后没有被编码的预充电命令的时序图。
具体实施例方式
参考图1,示例计算机系统100被示出为包括处理器11、存储器控制器12和具有多个动态随机存取存储器(DRAM)设备14的存储器13。在该示例中,存储器13将其DRAM布置成区块(rank)(示为RK0~RK3)。计算机系统10可以是多种计算机系统中的一种,包括个人计算机(PC)系统,在PC系统的情况下处理器11很可能是PC的中央处理单元(CPU)。处理器11还可以由与一个或多个存储器控制12一起工作的多个处理器组成。在图1的示例计算机系统10中,存储器控制器12提供对被耦合到存储控制器12的多个DRAM 14的访问的控制。通常,存储器控制器12提供处理器11和存储器13之间的接口功能,以便向DRAM 14及从其传输数据。在图1的实施例中,存储器控制器12产生对存储器13的各种信号,包括图1中示出的信号。
该特定实施例的存储器13包括被配置成称作区块的分组的一个或多个DRAM 14。该示例示出了构成存储器13的DRAM设备的四个区块(RK0~RK3)。应当认识到,这些区块的数量可以取决于所需的系统配置而改变。可以将DRAM 14划分为与区块不同定义的其他分组。另外,DRAM 14可以被分类为各种其他类型的分组。例如,DRAM可以被配置为物理位置。在图1中,RK0在双列直插存储器模块(DIMM)18的一侧上,而RK1在另一侧上。类似地,RK2在另一个DIMM 19的一侧上,而RK3在DIMM 19的另一侧上。可以使用其他的布置。在下面的说明中讨论了单个DRAM,但是该说明能够应用于任何数量的DRAM。此外,DRAM 14实现了时序单元28,参考图2来进一步对其进行描述。
在计算机系统10的特定实施例中,提到了与理解DRAM 14和存储器控制器12的操作有关的那些信号和线路。但是,应当注意,并非所有的这些信号都对实现本发明是必需的。如所示的,耦合到DRAM 14的数据总线15提供了在DRAM 14和存储器控制器12或者耦合到总线15的任何其他部件之间的数据传输耦合。在读操作中,数据从所选的DRAM 14被读出到总线15上,而在写操作中,总线15上的数据被写入所选的DRAM14中。所示的信号包括时钟信号(CLK)、命令标志信号(FLG)、命令和地址信号(CMD/ADDR)以及片选信号(CS)。
如下面将提到的,CLK信号提供了时序控制,以对DRAM设备14定时。耦合到DRAM 14的FLG信号控制数据传输的时序。响应于FLG信号变迁,可以从DRAM 14读出数据,或者可以向DRAM 14写入数据。CMD/ADDR信号向DRAM 14提供命令(CMD)和地址(ADDR)信息两者。CS信号选择DRAM的给定区块来激活。通常,DRAM区块具有其各自的从存储器控制器12耦合而来的CS信号。从而,对于所示的DRAM的四个区块,四个分离的CS信号耦合保证了可以实现正确的DRAM设备14的激活,以选择适当的DRAM 14来从存储器13读取数据或向其写入数据。存储器控制器12还可以产生复位信号(RST)来复位DRAM 14,但是,一些DRAM可能没有利用这种复位特征。
如将同样参考图2所描述的,CMD/ADDR信号向存储器13的DRAM14提供命令和地址信息。应当认识到,命令(CMD)和地址(ADDR)信息可以在各自的传输中从存储器控制器12被发送到DRAM 14,或者该信息可以在一个传输中被一起多路传输。FLG信号控制从存储器读取数据(如果调用了读命令)或者向存储器写入数据(如果调用了写命令)的时序。也就是说,FLG信号变迁启动了触发,导致向/从DRAM 14的数据传输。独立地耦合到DRAM的CS信号保证了可以选择正确的区块来用于数据传输。
在图2中,示出了对一个DRAM设备14更详细的图示。换言之,图2图示了可以在图1所示的DRAM区块的任何一个中被实现的DRAM设备的一个实施例。在所示的特定实施例中,DRAM设备14包括多个存储器阵列20。在所示的特定示例中,存储器阵列20的四个存储体(BK0~BK3)包括用于DRAM 14的实际的存储器存储部件。应当认识到,这些存储体的实际数量可以根据特定DRAM设备的设计而变化。
内部数据总线21将存储器阵列20耦合到读控制单元22和写控制单元23。响应于存储器控制器调用读命令,读控制单元22控制从存储器阵列20到数据总线15的数据传输。类似地,响应于存储器控制器调用写命令,写控制单元23控制从数据总线15到所选存储器阵列20的数据传输。在一些实施例中,两个控制单元22、23可以被结合到单个单元中。FLG信号控制用于触发到数据总线15上/从数据总线15的数据传输的时序。应当注意,多种部件通常组成了读控制单元22和写控制单元23中实现的电路系统。通常,这些部件包括各种锁存器、寄存器、缓冲器、驱动器和/或多路复用器。实际被实现的电路系统对理解本发明来说并不关键。应当理解到在各DRAM单元14和总线15之间的数据传输可以通过读和写控制单元(例如单元22和23)实现,这些控制单元通过从FLG信号所获得的内部标志(intFLG)信号,来控制总线15和DRAM单元14之间的数据传输的时序(触发)。
CMD/ADDR信号被示出为耦合到译码器25,该译码器25对命令信号译码,并将CMD线上的命令信号提供给存储器阵列20。译码器25将地址部分ADDR译码为行、列和存储体地址信号,其在图2的特定实施例中被相应地示为RAS、CAS和BANK信号。RAS提供用于选择存储阵列20的特定行的寻址。类似地,CAS提供用于选择存储器阵列20的特定列的寻址。BANK信号选择存储器阵列20的存储体中的一个。这样,利用RAS、CAS和BANK的组合,可以选择特定存储体的特定行和特定列来用于数据传输。应当认识到,一些DRAM单元可能无法被划分成多个存储体。在一些情况中,一个或多个寻址信号的一部分可以被耦合到读控制单元22(或者甚至耦合到写控制单元23),以选择特定的多路数据线,用于选择要被传输的数据。此外,因为通常用DRAM实现的其他信号可能不影响对本发明工作的理解,所以这样的信号可能未在图2中示出。
命令信号CMD确定要对所选择的地址单元进行读操作还是写操作。应当认识到,译码器25可以由各种其他的单元组成,这些单元包括锁存器、寄存器、多路复用器和/或定序器(sequencer),它们控制与存储器阵列20相关联的译码和定序操作。
仍如图2所示,复位信号RST被耦合到译码器25,以在例如初始化时复位DRAM。同样,在一些情况中可能没有RST。CLK信号被耦合到DRAM 14的各个单元/部件20、22、23和25。FLG信号被耦合到时序单元28,以生成内部标志信号intFLG,然后该信号被耦合到读控制单元22和写控制单元23来控制这些单元22、23的响应,以触发向/从总线15的数据传输。虽然没有被示出,但是应当注意到CLK信号可以在DRAM 14内部被处理,以生成一个或多个内部CLK(intCLK)信号,所述内部CLK信号可能与所接收的CLK信号具有很小的时序差异。此外,时序单元28可以位于DRAM设备自身之内,或者单元28可以位于与DRAM的区块相结合地工作的另外的集成电路中。
因为相同的CLK、FLG和CMD/ADDR信号被耦合到存储器13的所有DRAM单元14,所以可以通过片选信号CS控制激活DRAM 14的特定区块。从而,利用耦合到各DRAM 14的各单独的CS信号,可以通过提供相应CS信号的指示,来实现对DRAM 14的特定区块的选取。这样在图2中,对于示出的特定DRAM设备,响应于出现对应于该区块的CS信号,输入到存储器阵列20的CS就激活了存储器阵列20。
参考图1和图2两者,当存储器控制器12访问特定DRAM区块时,CS信号选择适当的区块。CMD/ADDR信号的CMD部分发起读或写操作。ADDR部分包括存储体、行和列的信息,用于寻址阵列20的所选地址。然后,跟随在读或写(RD/WR)命令之后的intFLG变迁触发数据被读取到总线15上或者从总线15被写入DRAM。
intFLG变迁可以在上升变迁(例如上升沿)、下降变迁(例如下降沿)或者这两种变迁时,触发向/从总线15的数据传输。应当注意,如果两种FLG变迁都被用于引发数据传输,一些命令结构可能具有两个读或者两个写指令。因此,在一个实施例中,命令结构可以具有带上升标志读(RDR)、带下降标志读(RDF)、带上升标志写(WRR)和带下降标志写(WRF)指令,以指明在哪个相应的FLG信号变迁时可以发生给定的数据传输。在另一个实施例中,从存储器控制器12只发出一个读和一个写指令。
与出现的读和写命令的类型无关地,跟随在RD/WR命令之后的相应的FLG变迁可能需要一个或多个时钟周期来设定用于数据传输的DRAM。FLG信号在该期间内没有变迁。因此,这部分FLG信号随后可以被用于编码其他信息,包括可能要求对DRAM的单独的线的命令。
参考图3,时序图30示出了利用RD/WR命令编码FLG信号的一种操作实现。在该示例实施例中,每个CLK周期被示出通过垂直线划分,其中标出了九个单独的时序分隔。还示出在时钟CLK的每四个时序间隔就出现读/写命令。命令时序间隔被示为tCCD。在所示的示例中,第一读/写命令信号RD/WR1发生在时钟周期1和2的部分中。第二RD/WR2命令信号发生在时钟周期5和6的部分中。如图3所示,标志变迁(不论是上升变迁还是下降变迁)可以在相应的读-写命令之后的特定时钟周期出现,以触发数据传输。示例实施例的图30示出了在相应的RD/WR信号发生之后四个时钟周期时的FLG变迁。相应地,RD/WR2信号也在RD/WR1信号发生之后至少四个时钟周期时发生。用于实现数据传输的FLG变迁的时序间隔在图3中被示为tFFD。
利用在RD/WR信号发生之后大约四个时钟周期时发生的相应FLG变迁,跟随在RD/WR信号之后的一部分时间周期可以被标为静止周期,在其中不会有FLG变迁。本发明的一个实施例利用这种静止周期来编码另外的命令。实质上,将单独的命令编码(或复用)到FLG信号上。在该特定的示例中,该命令发生在RD/WR命令之后的第一个时钟周期内。此外,在该示例中,在RD/WR命令发生之后的一个时钟周期中,预充电命令被编码。可以以各种形式进行编码,但是在本示例中,在发生RD/WR的周期之后的特定周期内的FLG变迁意味着该RD/WR命令启动了对位线的预充电。在该示例中,特定的时间周期被示为时钟的一个周期。
在该特定的实施例中,如果要进行对读/写命令的预充电操作,则图1的存储器控制器12在发出该读或写命令之后的一个时钟周期内生成预充电命令。这可以被称为自动预充电情况。FLG生成电路16按照所确立的协议生成FLG命令。如果RD/WR要求预充电,则用于处理器或控制器的所确立的协议确保相关联的FLG信号在RD/WR信号之后的一个时钟周期里变迁。如果不需要预充电,则在RD/WR信号之后的这个时钟周期里不发生变迁。在任一情况下,用于触发数据传输的相应FLG变迁都发生在所确立的特定时钟周期。该变迁可以是在RD/WR信号之后的第二个或者更远的时钟周期。应当认识到,可以实现各种电路系统(本领域技术人员所公知的)用于FLG生成电路16。
此外,如图2所示,时序单元28监视FLG和CMD信号,以确定在发出RD/WR信号之后的特定周期(同样在本示例中被标为一个时钟周期)内是否发生了FLG信号的变迁。如果在RD或WR命令之后的一个时钟周期内检测到了FLG的变迁,则时序单元28将其识别为预充电命令,并生成内部预充电信号以实现位线的预充电。时序单元28还生成intFLG信号,该信号通常在FLG信号的变迁之后,除非intFLG变迁不是为对应于被编码预充电命令的FLG变迁而生成的。
相应地,在图3中,图形30图示了一个实施例,其中第一读/写信号RD/WR1发生在时钟周期1~2中。可以确立协议,在紧接着的读或写命令之间可以经过大约四个时钟周期。也就是说,tCCD是四个时钟周期。因此,下一个读或写信号RD/WR2发生在时钟周期5~6中。用于响应于RD/WR1的数据传输的FLG变迁在RD/WR1之后至少两个时钟周期时发生,并且一般在对紧接着的读/写命令所设置的相同范围之内。所以,在图3中用于RD/WR1数据传输的FLG变迁发生在时钟周期6中。在该特定示例中,tFFD周期也被设置为4。
如所示的,在时钟周期3的FLG变迁编码预充电命令,并且在时钟周期3和4之间由CLK变迁所定义的采样点处,在所选的DRAM部件中启动自动预充电操作。图4图示了当FLG信号未编码预充电命令时的情况。如所示的,在RD/WR1命令之后的一个时钟周期内没有发生FLG信号的变迁。在该周期中没有变迁则表明不存在用于自动预充电的编码。在图3中的RD/WR2之后的时钟周期中也示出了这种无预充电情况。
从而,预充电命令可以被编码在标志或者触发向/从DRAM部件的数据传输的标志信号中。在上述示例中,标志信号编码预充电命令以进行自动预充电。但是,也可以编码其他命令来代替预充电命令。标志信号可以在上升沿和下降沿两者处启动数据传输,这是参考图3、图4的示例的情况。但是,标志信号也可以在上升沿或者下降沿启动数据传输。在这种情况中,可以在指示预充电的变迁发生之后,实现适当水平的复位。相应地,可以容易地采用各种设计和协议,来提供利用标志信号的(一种或多种)命令编码,所述标志信号被用于执行向/从DRAM的数据传输。通过利用其他信号来编码预充电命令,可以不需要专用管脚来向DRAM或者用于该事务的其他存储器设备提供预充电命令。
于是就描述了用于编码自动预充电的方案。应当注意到虽然上面描述了DRAM,但是其他设备(包括其他存储器设备)也可以实现本发明。本发明并不必被限制到仅仅是DRAM应用。此外,虽然要用数据传输命令(如上所述的读和写命令)实现的第二命令(或者不同的命令)是一种预充电命令,但是其他的实施例可以实现除上述预充电(自动预充电)命令之外的其他命令。也就是说,除预充电之外的其他命令可以容易地与标志信号结合,以向接收设备传达指令。
权利要求
1.一种装置,包括控制器,用于对设备生成用于访问所述设备的命令信号,以在所述设备与被耦合到所述设备的总线之间传输数据;和标志信号生成单元,用于对设备生成标志信号,以响应于在数据传输命令后的特定周期之后所述标志信号中发生的状态变迁,而触发在所述设备和所述总线之间的所述数据传输,但所述标志信号还响应于在所述特定时钟周期之内所述标志信号中发生的状态变迁,而启动与所述数据传输命令不同的命令。
2.根据权利要求1所述的装置,其中,所述数据传输命令是读或写命令,所述不同的命令是预充电命令。
3.根据权利要求2所述的装置,其中,所述设备是存储器设备。
4.根据权利要求1所述的装置,其中,所述所述存储器设备是动态随机存取存储器,所述动态随机存取存储器响应读或写命令而进行以下操作如果在经过特定时钟周期之后所述标志信号有变迁,则进行在所述动态随机存取存储器和所述总线之间的相应的数据传输,但是如果在所述读或写命令后的所述特定时钟周期之内所述标志信号有变迁,则首先对被选择用于所述读或写命令的动态随机存取存储器的至少一个位线进行自动预充电。
5.根据权利要求4所述的装置,其中,所述特定时钟周期是所述数据传输命令之后的一个时钟周期。
6.一种装置,包括存储器阵列,所述存储器阵列耦合到数据总线,以响应于被接收用于启动数据传输的命令信号,而在所述存储器阵列和总线之间传输数据;和时序单元,所述时序单元被耦合以接收用于启动所述数据传输的所述命令信号,并且还被耦合以接收用于触发所述数据传输的标志信号,所述时序单元解释所述标志信号,以确定是否在经过所述命令信号后的特定时钟周期之前所述标志信号有变迁,并且如果在经过所述命令信号后的所述特定时钟周期之前所述标志信号有变迁,则执行与所述数据传输不同的命令操作。
7.根据权利要求6所述的装置,其中,所述命令信号用于进行读或写操作,所述不同的命令操作是预充电操作。
8.根据权利要求6所述的装置,其中,所述时序单元生成内部标志信号,使得如果在所述命令信号后的所述特定时钟周期之后发生了所述标志信号的变迁,则触发所述数据传输,但是如果在经过所述命令信号后的所述特定时钟周期之前发生了所述标志信号的变迁,则生成自动预充电信号。
9.根据权利要求8所述的装置,其中,所述命令信号用于进行读或写操作,所述不同的命令操作是自动预充电操作。
10.根据权利要求9所述的装置,还包括耦合到所述存储器阵列的、用于译码所述命令信号的译码器,以及用于在所述存储器阵列和所述数据总线之间进行所述数据传输的至少一个控制电路。
11.根据权利要求10所述的装置,其中,所述装置是动态随机存取存储器。
12.根据权利要求10所述的装置,其中,所述特定时钟周期是在所述数据传输命令后的一个时钟周期。
13.一种系统,包括控制器,用于生成数据传输命令信号以实现数据传输,并且还用于生成标志信号以对所述数据传输的触发进行定时;耦合到所述控制器的存储器设备,用于接收所述数据传输命令信号,并响应于所述数据传输命令信号而传输数据;耦合到所述存储器设备的总线,用于响应于所述数据传输命令信号,而在所述存储器和总线之间传输数据;所述控制器对所述存储器设备生成所述标志信号,以响应于在所述数据传输命令信号后的特定时钟周期之后所述标志信号中发生的状态变迁,而触发在所述存储器设备和所述总线之间的所述数据传输,但所述标志信号还响应于在所述特定时钟周期内所述标志信号中发生的状态变迁,而启动与所述数据传输命令信号不同的命令信号;和所述存储器接收并解释所述标志信号,以确定是否在所述命令信号后的所述特定时钟周期之内所述标志信号有变迁,并且响应于在所述数据传输命令信号后的所述特定时钟周期之内出现的变迁,而执行与所述数据传输不同的命令操作。
14.根据权利要求13所述的系统,其中,所述存储器设备是动态随机存取存储器。
15.根据权利要求14所述的系统,其中,所述不同的命令信号是预充电命令。
16.根据权利要求13所述的系统,其中,所述数据传输命令是读或写命令,所述不同的命令是与所述读或写命令相关联的自动预充电命令。
17.根据权利要求16所述的系统,其中,所述控制器是存储器控制器。
18.根据权利要求16所述的系统,还包括处理器,其中所述控制器是耦合到所述处理器的存储器控制器。
19.一种方法,包括发出命令信号;响应于所述发出所述命令信号而生成标志信号,以在所述发出所述命令信号后经过特定时间周期之后,触发对所述命令信号的相应操作的响应;以及通过在所述发出所述命令信号后的所述特定时间周期之内有所述标志信号的变迁,而在所述标志信号上编码不同的命令,以进行与所述命令信号的所述相应操作不同的操作。
20.根据权利要求19所述的方法,还包括接收所述命令和标志信号,并解释所述标志信号,以确定是否在所述发出所述命令信号后的所述特定时间周期之内出现了变迁。
21.根据权利要求20所述的方法,其中,所述不同的命令信号的所述不同操作是存储器的预充电操作。
22.根据权利要求20所述的方法,其中,所述命令信号向存储器发出读或写命令,以进行读或写操作。
23.根据权利要求22所述的方法,其中,所述不同的命令信号的所述不同操作是自动预充电操作,所述自动预充电操作在进行所述读或写操作之前进行。
24.根据权利要求23所述的方法,其中,向动态随机存取存储器发出所述命令和标志信号,所述命令和标志信号包括所述标志信号中对所述不同的命令信号的编码。
全文摘要
本发明公开了一种技术,用于在标志信号上编码预充电命令,所述标志信号被用于执行向DRAM及从其进行的数据传输。
文档编号G11C7/22GK1751358SQ03802733
公开日2006年3月22日 申请日期2003年1月9日 优先权日2002年1月28日
发明者纳伦德拉·汉德卡尔, 迈克尔·威廉斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1