具体实施方式
参考图1和图2,它们分别示出了根据本发明的第一优选实施例的存储系统的布线图和立体图。进一步,图3是存储系统的部分剖视图,用于详细解释图1和图2的一部分的布线。
从图中可见,根据本发明的第一优选实施例的存储系统包括存储控制器101和时钟发生器102(图1),它们安装在主板100上。进一步,在主板100上,经由模块连接器104(图3)安装了多个存储模块103(图2和3中的4个存储模块103a、103b、103c和103d)。
每个存储模块103(省略了下标)具有安装在模块板上的缓冲器105,并且如图1和2所示,还具有多个DRAM 110。在所示的例子中,每个存储模块103具有一个缓冲器105,并且存储控制器101和缓冲器105经由数据布线(DQ)111、命令/地址布线(Cmd/Add)112和时钟布线(CLK/CLKB)113连接到一起。由此清晰可见,图1和2中所示的数据布线111经由缓冲器105直接连接到存储控制器101,即不连接到各DRAM 110。
如图3所示,数据布线111、命令/地址布线112和时钟布线(CLK/CLKB)113从存储控制器101连接到存储模块103a的缓冲器105,然后再从该存储模块103a连接到下一级的存储模块103b的缓冲器105。类似的,这些布线依次连接到随后的存储模块103c和103d的缓冲器105,并且由端接阻抗端接到它们的端接端,从而形成菊花链。换言之,诸如数据布线111的布线连接到存储控制器101和存储模块103a之间、存储模块103a和103b之间、存储模块103b和103c之间、以及存储模块103c和103d之间的缓冲器105,并且相对于级联的前级和后级的缓冲器105来说为点对点连接。
如图2所示,数据布线(DQ)111、命令/地址布线(Cmd/Add)112和时钟布线113可以分别区分为主板上的布线部分和存储模块中的模块布线部分。进一步,在所示的存储系统中,用于传输模块识别信号MID的模块识别布线114也布置在存储控制器101和缓冲器105之间以及缓冲器105之间,其中模块识别信号MID识别存储模块103a至103d中的一个。
如图1所示,每个存储模块103中的缓冲器105和安装在目标存储模块103中的DRAM 110经由内部数据布线111’、内部命令/地址布线112’、和内部时钟布线113’连接到一起。这里,内部数据布线111’单独连接到存储模块103上的各个DRAM 110,而内部命令/地址布线112’、和内部时钟布线113’分别共同连接到布置在缓冲器105的左侧和右侧的DRAM。
假定显示的DRAM 110是能够每8比特进行写入和读出数据的x-8配置,在每个存储模块103中,每个DRAM 110和缓冲器105之间执行8比特单位的数据传输/接收。
下面将更详细的描述示出的存储系统。存储模块103a和103b每个具有8个DRAM 110,其中四个放置在缓冲器105的左边,四个放置在缓冲器105的右边。进一步,在存储控制器101和缓冲器105之间以及在缓冲器105之间的数据布线111为32比特宽。当由命令/地址信号和模块识别信号MID选择存储模块103a和103b的任一个时,例如,选择的存储模块103a的8个DRAM 110被激活,从而设置状态,其中在8个DRAM 110和缓冲器105之间可以传输/接收总共64比特宽的数据。
另一方面,当在图1和2中以虚线指示的DRAM 110增加到每个存储模块103中时,4个DRAM 110布置在缓冲器105的左边,而5个DRAM 110布置在缓冲器105的右边,并且存储控制器101和缓冲器105之间以及缓冲器105之间的数据布线111为36比特宽。在这种配置中,当命令/地址信号和模块识别信号MID选择存储模块103a和103b的任一个时,例如,选择的存储模块103a的9个DRAM 110被激活,从而设置状态,其中在9个DRAM 110和缓冲器105之间可以传输/接收总共72比特宽的数据。
如上所述,可以看出每个存储模块103a和103b上的8个或9个DRAM 110在图1和2所示的存储系统中形成一同时访问的等级。
现在,参考图1和2,将进一步描述存储控制器101和存储模块103a之间的布线以及相邻存储模块103之间的布线。首先,描述数据布线111。尽管在缓冲器105和DRAM 110之间经由内部布线111’传输/接收64比特或72比特的数据,但是如图1和2所示,在存储控制器101和缓冲器105之间以及在缓冲器105之间的数据布线111为32比特宽或36比特宽。
这意味着复用或压缩为分组的数据信号以高于DRAM 110的数据频率即操作速度的传输速度,在数据布线111上传输/接收。在显示的例子中,数据以n(n是正整数)倍于DRAM 110的操作速度的速度在数据布线111上传递。因此,当压缩为分组时,数据线的数目减少至约1/n(因为实际上存在不可分割的情况等,所以不必为1/n)。
与数据布线111类似,命令/地址布线112点对点连接在存储控制器101和存储模块103之间以及相邻的存储模块103之间。在命令/地址布线112中,命令/地址信号以m(m为正整数)倍于DRAM 110的命令/地址信号频率的速度传递,并且当压缩为分组时,信号线的数目减少至约1/m(因为实际上存在不可分割的情况等,所以也不必为1/m)。
在每一存储模块103上的缓冲器105具有从存储控制器101或前一级的存储模块103接收数据信号或命令/地址信号,并对数据分组或命令/地址信号进行编码的功能,以提供对应于目标存储模块103上的DRAM 110的信号数。进一步,缓冲器105具有将编码的数据或命令/地址信号的频率分为频率的1/n或1/m并将它们发送至DRAM 110的功能。
进一步,缓冲器105还具有将命令/地址信号传递或传输至下一级的级联的存储模块103的功能,相对于下一级存储模块双向地传输/接收数据信号的功能,以及识别代表数据或命令/地址信号的分组目的地的模块识别信号MID的功能。由于缓冲器105中的分频、识别等功能可以使用通常的技术而容易地得到,所以这里没有给出它的细节。无论如何,存储模块103的相应布线仅与只具有可被电气忽略的分支的布线布局连接。
现在,参考图2,描述各布线中的传输速度。首先,假设各存储模块103上的DRAM 110是SDRAM并且使用在时钟的前沿和后沿都同步执行数据输入/输出的DDR(双倍数据速率)系统。进一步,假设每一存储模块103中的缓冲器105和各DRAM 110之间的内部时钟布线113’的内部时钟频率为666MHz,数据以1.33Gbps的数据传输速度在内部数据布线111’中传递,即数据频率为1.33GHz,并且在内部命令/地址布线112’中,从缓冲器105提供666Mbps的命令/地址信号。
在这个例子中,假设位于主板100上的时钟布线113具有来自存储控制器101的1.33GHz时钟频率的时钟,该时钟频率二倍于内部时钟频率。如图2所示,数据和命令/地址信号以二倍于时钟频率的2.66Gbps传输速度流入数据布线111和命令/地址布线112,而内部数据布线111’和内部命令/地址布线112’的传输速度分别是1.33Gbps和666Mbps。于是,可以看到在显示的例子中,n=2且m=4。
如上所述,通过复用主板上的信号以实现高频传输,可以减少主板上的线路数。通过加倍信号可以将数据布线111减至1/2,而通过四倍信号可以将命令/地址布线112减至1/4。进一步,通过加倍数据,数据布线宽32比特(或数据布线宽36比特)的存储系统可以作为64比特(或72比特)结构的存储系统而操作。
图1至3所示的存储系统需要用于从模块连接器104(图3)向缓冲器105输入/输出32比特或36比特宽数据信号的布局结构。如上所述,存储模块103上的内部数据布线111’和内部时钟布线113’以及命令/地址布线112’与仅具有电气可忽略的分支的布线布局相连接。然而,由于连接至内部数据布线111’的DRAM的数目和连接至内部时钟布线113’以及命令/地址布线112’的DRAM的数目互不相同,所以可以认为由负载变化引起的信号传播时间的差异可能对于高频操作是个问题。进一步,从图1和2可以清楚地看到,由于对每一存储模块103上的所有DRAM 110提供了时钟和命令/地址信号,所以总的输入负载大,并且由此可以得知可能在高频操作时发生问题。
参到图4和5,根据本发明的第二优选实施例的存储系统的结构可以减少与第一优选实施例相关的上述问题。显示的存储系统与根据第一优选实施例的存储系统的不同之处在于,每一存储模块103a至103d(图5)具有两个缓冲器105a和105b。特别的,每一存储模块103a和103b的每一缓冲器105a和105b通过内部数据布线(DQ)111’、内部命令/地址布线112’和内部时钟布线113’连接至排列在其左右两侧的多个DRAM 110a。
在显示的例子中,每一存储模块103内部的DRAM 110a分别通过内部数据布线(DQ)111’连接至缓冲器105a或105b,并且进一步,通常通过内部命令/地址布线112’和内部时钟布线113’连接至缓冲器105a或105b的左侧或右侧。
进一步,与第一实施例类似,每一存储模块103内的缓冲器105a和105b通过数据布线111、命令/地址布线112和时钟布线113连接至存储控制器101或下一级的存储模块。这一结构与图3所示的连接关系相同,所以每一存储模块103的缓冲器105a和105b点到点地连接至其它存储模块103的缓冲器105a和105b。即,数据布线111、命令/地址布线112和时钟布线113顺序级联连接至下一级的缓冲器105a和105b,从而形成菊花链。
在图5显示的例子中,每一个都以每8比特输入/输出数据的x-8配置DRAM 110a安装在各存储模块103上,并且各DRAM 110a根据具有666MHz时钟频率的时钟执行输入/输出操作,该时钟频率是通过内部时钟布线113’提供的。结果,命令/地址信号和数据分别以666MHz和1.33GHz的传输速度在内部命令/地址布线112’和内部数据布线111’中传输。
另一方面,存储控制器101和存储模块103a的缓冲器105a和105b通过数据布线111、命令/地址布线112、时钟布线113以及模块识别布线114连接在一起。进一步,这些布线延伸至下一级的存储模块103b的缓冲器105a和105b,并进一步连接至在图5中存储模块103b之后显示的存储模块103c和103d的缓冲器105a和105b。以这种方式,数据布线111与命令/地址布线112和时钟布线113一起,集中连接至两个缓冲器105a和105b,即连接成组。
在图5中,向时钟布线113提供频率为1.33GHz的时钟,并且命令/地址信号和数据以2.66Gbps的传输速度在命令/地址布线112和数据布线111上输入/输出。于是,可以看出,每一缓冲器105a和105b可以通过将来自存储控制器101的时钟、命令/地址信号和数据转换为两个或四个并行信号,而产生内部时钟、内部命令/地址信号和内部数据。
在这种结构中,通过同时操作各存储模块103的缓冲器105a和105b,有可能与第一优选实施例类似,构造以32比特或36比特宽输入/输出数据的存储系统。在用于传输/接收32比特宽的数据的存储系统的情况下,两个x-8配置的DRAM 110a分别位于存储模块103的每一缓冲器105a和105b的两侧。当选择每一存储模块103时,缓冲器105a和105b启动在每一存储模块103上的八个DRAM 110a,以使64比特宽的数据可以在缓冲器105a和105b以及八个DRAM 110a之间传输/接收。在显示的例子中,存储控制器101和每一缓冲器105a和105b由16比特宽的数据布线111连接,并且这些数据布线111也连接至下一级的存储模块的缓冲器。由此可以清楚地看到,多路复用的数据与第一优选实施例中类似地在数据布线111上传输。
另一方面,在存储系统传输/接收36比特宽的数据的情况下,72比特宽的数据可以在每一存储模块103上的九个DRAM 110a和缓冲器105a及105b之间传输/接收。在图5显示的例子中,40比特宽的数据在缓冲器105a和位于缓冲器105a两侧的五个DRAM 110a之间传输/接收,而32比特宽的数据在缓冲器105b和位于缓冲器105b两侧的四个DRAM 110a之间传输/接收。
在这种情况中,存储控制器101和缓冲器105a之间的数据布线111为20比特宽,而存储控制器101和缓冲器105b之间的数据布线111为16比特宽,并且与第一优选实施例类似,被多路复用即压缩成分组的数据和命令/地址信号分别在数据布线111和命令/地址布线112上传输/接收。
在显示的存储系统中,与第一优选实施例相比,由每一缓冲器105a和105b驱动的DRAM 110a的数目可以减半,并且因此可以减少在存储模块103上的每一缓冲器105a和105b中的线路数目并且可以缩短布线长度。进一步,由于可以减少每一缓冲器105a和105b的形成负载即DRAM 110a的数目,所以可以减少在内部数据布线111’和内部命令/地址布线112’以及内部时钟布线113’处的输入负载的差异,使得可以构造适于高频操作的存储系统。
在图4显示的存储系统中,在存储系统在存储控制器101和缓冲器105a和105b之间传输/接收36比特宽的数据的情况下,容易理解,由图4中的虚线围绕的DRAM 110a在每一存储模块103中连接,这从图5中也可清楚地看出。
可以对根据图4和5所示的第二优选实施例的存储系统进行多种改进。例如,除了x-8配置DRAM,每4比特输入/输出数据的x-4配置DRAM或每16比特输入/输出数据的x-16配置DRAM也可以位于两个缓冲器的两侧。进一步,本发明不仅可应用于具有仅排列在每一存储模块的模块板一侧的DRAM的存储系统,还可应用于具有排列在模块板前后两侧的DRAM的存储系统。而且,本发明同样可应用于排列在每一存储模块上的多个DRAM被分类为多个等级的系统。
在根据前面所述优选实施例的存储系统中,提供给每一存储模块的命令/地址信号单独地提供给多个缓冲器,并且因此命令/地址信号引脚的数目以缓冲器数目的倍数增加。然而,由于命令/地址信号被多路复用,所以增量不是很大。
参考图6,显示了根据本发明的第三优选实施例的存储系统的一个例子。显示的存储系统具有可以减少模块连接器104(图3)和缓冲器之间的内部数据线数目而不增加每一存储模块中的缓冲器数目的结构。特别地,图6所示的存储系统包括存储控制器101和多个存储模块103(图中仅显示了103a和103b),其中16个DRAM 110(省略下标)安装在每一存储模块103的前侧和后侧。假设显示的DRAM 110是每8比特执行读/写的x-8配置DRAM。在存储模块103a和103b的中心,分别放置缓冲器105(11)和105(21)。缓冲器105(11)连接16比特宽数据布线(DQ)111、命令/地址布线(Cmd/Add)112、时钟布线(CLK)113和模块识别布线(MID)114,并且缓冲器105(21)同样连接16比特宽数据布线(DQ)111、命令/地址布线(Cmd/Add)112、时钟布线(CLK)113和模块识别布线(MID)114。每一缓冲器105(11)和105(21)的这些布线连接至未显示的存储模块的缓冲器,从而形成菊花链。
在该实施例中,两个存储模块103a和103b的所有32个DRAM 110被分类为四组,每一组包括八个DRAM且作为等级1至4而操作。在这种连接中,在存储模块103a、103b中从缓冲器105(11)、105(21)到DRAM 110的布线对于在存储模块103a、103b的前侧和后侧的相应DRAM 110是公用的,并通过存储模块103a、103b内的通路连接在一起,并连接至缓冲器105(11)、105(21)的同一DQ端。特别地,等级1和等级3中使用的DRAM 110位于每一存储模块103a和103b的前侧和后侧上的相应位置,而等级2和等级4中使用的DRAM 110同样位于每一存储模块103a和103b的前侧和后侧上的相应位置,并且同一等级的DRAM通过用于选择等级的地址比特的使用而启动。考虑到这点,在图6中,为属于等级1的DRAM 110分配下标r1,并且类似地,等级2至4的DRAM 110由r2至r4标出。
在这种结构中,在操作等级1的DRAM 110的情况下,当选择了每一存储模块103a和103b的四个DRAM 110r1时,将状态设置为通过内部数据布线111’在存储模块103a和103b的缓冲器105(11)和105(21)以及DRAM 110r1之间传输/接收32比特宽的数据。在这种状态中,缓冲器105(11)和105(21)分别通过各自具有16比特宽的数据布线111连接至存储控制器101,并且因此执行数据传输/接收,整体相对于存储控制器101作为32比特数据布线。
以这种方式,通过将两个存储模块103a和103b用作一对而形成四个等级,使得在每一存储模块103a和103b中,等级1和3的布线可以公用,并且等级2和4的布线同样公用,从而减少了在存储模块103a和103b内的线路数目。
这里,图6所示的存储系统与根据第一优选实施例的存储系统的不同之处在于,每一缓冲器105(11)和105(21)直接连接至存储控制器101,并进一步与根据第二优选实施例的存储系统的不同之处在于,存储模块103a、103b的单个缓冲器105(11)、105(21)通过16比特宽的数据布线111相连。
在图6所示的结构中,片选信号(CS)用于识别等级1至4。然而,可以单独地增加用于识别等级1至4的比特。
现在给出关于图6所示的存储系统的操作的说明。当从存储控制器101输出一个命令/地址信号时,在本例中,这个命令/地址信号输入到两个存储模块103a和103b。在这种情况下,自然命令/地址信号是与时钟同步地从存储控制器101输出的。命令/地址信号启动两个存储模块103a和103b中的同一等级的八个DRAM,例如等级1的DRAM110r1,以使在存储模块103a和103b内的启动的八个DRAM 110r1以及缓冲器105(11)和105(21)之间实现数据的写/读操作。在这种情况下,启动存储模块103a上的四个DRAM 110r1,以使32比特宽的数据可以相对于缓冲器105(11)而传输/接收,而启动存储模块103b上的四个DRAM 110r1,以使32比特宽的数据可以同样相对于缓冲器105(21)而传输/接收。
由于缓冲器105(11)和105(21)通过16比特宽数据布线111分别连接至存储控制器101,所以被复用的数据在存储控制器101和缓冲器105(11)和105(21)之间传输,这与前面所述的优选实施例相同。
存储模块103a和103b的缓冲器105(11)和105(21)可以分别连接至未显示的其它存储模块的缓冲器,从而形成菊花链。于是,显示的存储系统的缓冲器可以表示为105(12~1k)和105(22~2k)(k是大于等于3的正整数)。由此可以清楚地看出,如果需要,可以增加显示的存储系统的存储模块。
在根据图6所示的第三优选实施例的存储系统中,如果提供了与根据第一优选实施例的存储系统中的DRAM相同的DRAM 110,则DRAM 110的等级数目从2增至4。本实施例有一个优点是,由于通过在每一存储模块中提供DRAM的等级配置,使得每一存储模块中的布线可以是公共的,所以可以提高在每一存储模块103上的布局的自由度,并且进一步,与第二优选实施例相比,缓冲器芯片的数目可以得到减少。进一步,如图6所示,由于从存储控制器101到存储模块103b的数据直接提供给存储模块103b的缓冲器105(21),即无需经过其它缓冲器,所以与通过两个缓冲器105传输/接收数据的第一和第二优选实施例相比,由于缓冲器引起的逻辑延迟可以减少。
参考图7,显示了根据本发明的第三优选实施例的存储系统的改型。该存储系统仅包括两个存储模块103a和103b,并且是不考虑存储模块增加的存储系统。在这个例子中,在存储模块103a和103b中分别提供的缓冲器105不形成相对于其它存储模块的菊花链,但是由端接阻抗端接。换言之,在显示的例子中,由于没有级联连接的其它存储模块,所以在图7中,存储模块103a和103b的缓冲器分别由标注数字105(1)和105(2)代表。另一方面,每一存储模块103a和103b的前侧和后侧上提供的16个DRAM 110分为四个等级,并且在每一存储模块103a和103b中,等级1和等级3的布线是公共的且等级2和等级4的布线同样是公共的,这与图6相同。
参考图8,显示了根据本发明的第三优选实施例的存储系统的另一改型。这个改型包括四个存储模块103a至103d,每一存储模块具有单个缓冲器105,并且这些存储模块的缓冲器105(1)至105(4)(缓冲器105(3)和105(4)未显示)直接连接至存储控制器101,这与图6和7的存储系统不同。因此,图8所示的存储系统的每一缓冲器105连接至存储控制器101,数据线的数目对应32比特宽的四分之一,并且每一存储模块103a至103d上的x-8配置的DRAM 110被分为八个等级,从而提高了每一存储模块103a至103d的布局的自由度。
如上所述,在本实施例中,通过使用四个存储模块103a至103d作为一个集而形成8等级的结构。16个DRAM 110安装在存储模块103a至103d的每一个中,其中配列在每一存储模块的前侧的右面上的四个DRAM被分为等级1至4,配列在每一存储模块的后侧的右面上的四个DRAM被分为等级5至8,配列在每一存储模块的前侧的左面上的四个DRAM被分为等级1至4,配列在每一存储模块的后侧的左面上的四个DRAM被分为等级1至4。等级1和等级5、等级2和等级6、等级3和等级7、已经等级4和等级8位于每一存储模块的前侧和后侧的相应位置,并且从缓冲器105(1)至105(4)的每一个到这些等级的DRAM的布线是公共的并且通过通路相连。图8所示的存储系统与图6所示的存储系统的不同之处在于,在图8的存储系统中,到存储模块103(a)至103(d)的每一条数据布线是8比特的,从而在整个存储系统上形成32比特数据布线。
如上所述,存储模块103a至103b的每一个的DRAM 110被分为八个等级,并且为了清楚,在图8中,等级1至8的DRAM分别由标识符号110r1至110r8代表。
在这种结构中,当从存储控制器101提供地址信号作为命令/地址信号(Cmd/Add)时,激活存储模块103a至103d的每一个中的同一等级的两个DRAM,例如,每一存储模块中的等级1的两个DRAM110r1,于是,状态被设置为:相对于缓冲器105(1)至105(4)的每一个可传输/接收16比特宽数据,从而总共64比特宽的数据可以在四个缓冲器105(1)至105(4)上传输/接收。如图所示,存储模块103a至103d的每一个的数据布线111是8比特的,并且复用的数据在存储模块103a至103d的每一个的数据线111上,在存储控制器101和缓冲器105(1)至105(4)的每一个之间传输/接收。
参考图9,显示了根据本发明的第三优选实施例的存储系统的另一变形,其中通过使用作为一对的两个存储模块103a和103b,形成2等级存储系统。图9的存储系统与图6的存储系统的不同之处在于,位于两个存储模块103a和103b的前侧上的16个DRAM形成等级1,而位于两个存储模块103a和103b的后侧上的16个DRAM形成等级2,并且每一DRAM 110是x-4配置DRAM。进一步,在图9中,安装在存储模块103a和103b的每一个的前侧上的八个DRAM 110形成等级1,而安装在存储模块103a和103b的每一个的后侧上的八个DRAM 110形成等级2。在这种连接中,在图9中,属于等级1并排列在存储模块103a和103b中的16个DRAM 110由标识符号110r1标识,而属于等级2并排列在存储模块103a和103b中的16个DRAM 110由标识符号110r2标识。进一步,排列在存储模块103a和103b的每一个的前侧和后侧上的等级1和2的DRAM 110r1和110r2通过4比特宽的内部数据布线互相公共连接。
另一方面,存储模块103a和103b的每一个的缓冲器105通过16比特宽数据布线111连接至存储控制器101,并且复用的数据在每一数据布线111上传输,这与其它例子相同。即使对于这种结构,与图6所示的存储系统相似,32比特宽数据在存储模块103a、103b的八个DRAM 110r1、110r2和缓冲器105之间传输,并且进一步,16比特宽的复用的数据在每一缓冲器105和存储控制器101之间传输。
参考图10,显示了具有奇偶校验比特的36比特总线宽的例子,作为根据本发明的第三优选实施例的存储系统的再一个改型。
这个例子与图9所示的存储系统的不同之处在于,九个x-4配置DRAM 110安装在存储模块103a和103b的每一个的每一前侧和后侧上,并且存储控制器101和存储模块103a及103b的每一个的缓冲器105之间的数据布线111具有18比特宽。特别地,在图10所示的存储模块103a和 103b的每一个中,四个DRAM 110排列在缓冲器105的每一前侧和后侧的左面上,而五个DRAM 110排列在缓冲器105的每一前侧和后侧的右面上。这里,假设位于存储模块103a和103b的每一个的每一前侧和后侧上的最右边的DRAM 110用作奇偶校验的DRAM。
与图9相似,这个例子也是将两个存储模块103a和103b用作一对的2等级存储系统。进一步,排列在两个存储模块103a和103b的前侧上的18个DRAM 110形成等级1,而排列在两个存储模块103a和103b的后侧上的18个DRAM 110形成等级2。在这种连接中,等级1和2的DRAM分别由标识符号110r1和110r2标识。进一步,排列在每一存储模块的前侧和后侧上的等级1和2的DRAM 110r1和110r2的内部数据布线是公共的,这也与图9相同。
进一步,存储模块103a和103b的每一个的缓冲器105通过对应于18比特宽的数据布线111连接至存储控制器101,并级联连接至未显示的存储模块的缓冲器,从而形成菊花链。
在这种结构中,具有奇偶校验的复用数据在存储控制器101和存储模块103a或103b之间传输/接收。
下面给出第一和第二优选实施例以及第三优选实施例之间的比较。在第一和第二优选实施例中,由于在级联连接的第二存储模块上的DRAM和存储控制器之间的数据的传输/接收是通过两个缓冲器芯片实现的,所以在缓冲器芯片处的接收/传输处理所需的逻辑延迟为第三优选实施例的二倍。另一方面,在第三优选实施例中,尽管有减少了要经过的缓冲器的数目的优点,但是需要增加存储模块上的DRAM的等级数目。
参考图11,将给出关于前述存储系统中在存储控制器(MC)101和每一存储模块103之间的信号传输系统的具体说明。在显示的例子中,为了说明的简便,假设存储模块103a和103b的缓冲器105a和105b为级联连接。在该系统中,存储控制器101与时钟信号同步地传输命令/地址信号(CA),并且这些命令/地址信号(CA)和时钟信号在存储模块103a和103b的缓冲器105a和105b处被顺序接收。
另一方面,在缓冲器105a和105b以及存储控制器101处与多对双向时钟信号(互补的)CLK和CLKB同步地传输/接收数据(DQ)信号。特别地,当将数据从存储控制器101写入存储模块103a和103b的DRAM时,数据与从存储控制器101输出的时钟同步地传输至缓冲器105a和105b,而当从存储模块103a和103b读数据时,存储模块103a和103b的缓冲器105a和105b从DRAM的内部时钟生成时钟,并与生成的时钟同步地将读取的数据从DRAM输出至存储控制器101。在分组传输命令/地址信号和数据信号时,模块识别信号MID被与这些命令/地址信号和数据信号同步地从存储控制器101传输,并且缓冲器105a和105b使用信号MID识别信号的有效标题数据以及一接收/传输目的地存储模块。
参考图12,显示了图11所示的系统中的时序关系。在显示的例子中,频率为1.33GHz(即周期为0.75ns)的时钟是由存储控制器(MC)101产生的(见图12中的第一条线),并且与时钟的前沿和后沿同步,数据从存储控制器(MC)101传输至缓冲器(见第三条线)。结果,以2.66Gbps的传输速度将数据从存储控制器(MC)101传输至缓冲器105a和105b。
另一方面,频率为666MHz(周期为1.5ns)的内部时钟是由相对于DRAM的缓冲器105a和105b产生的(见第二条线),并且经过缓冲器内部等待时间后,以1.33Gbps的传输速度将在缓冲器处接收的数据与内部时钟的前沿和后沿同步地写入DRAM(见第四条线)。
然后,命令/地址信号(CA)从存储控制(MC)101与频率为1.33GHz的时钟的前沿和后沿同步地输出至缓冲器105a和105b(见第五条线)。在缓冲器内部延迟时间后,从缓冲器将命令/地址信号(CA)与内部时钟的前沿同步地输出至DRAM(见第六条线)。于是,命令/地址信号被以2.66Gbps的传输速度从存储控制器(MC)输出至缓冲器105a和105b,并以666Mbps的传输速度从缓冲器输出至DRAM。进一步,以2.66Gbps的传输速度,将模块识别信号MID与1.33GHz的时钟的前沿和后沿同步地从存储控制器(MC)输出至缓冲器。
由此可清楚地看到,在存储控制器(MC)101和缓冲器105a和105b之间,数据以二倍于DRAM的数据频率的频率传递,而命令/地址信号(CA)以四倍的频率传递。因此,在每一存储模块上的缓冲器通过使用分频器等,将数据和命令/地址信号的频率分别减至1/2和1/4,并将它们传输至DRAM。
这里,假设存储系统处理8比特连续数据(脉冲串)。特别地,假设在32比特总线上以2.66Gbps的传输速度将16比特连续数据从存储控制器(MC)101输出至缓冲器,并且每一缓冲器以1.33Gbps的传输速度将16比特连续数据交替输出至DRAM的两个DQ引脚,作为8比特连续数据。
进一步,以2.66Gbps的传输速度将命令/地址信号从存储控制器(MC)输出至缓冲器,并且例如将一个命令/地址信号线的4比特数据分配至缓冲器处的四条命令/地址信号线,从而以666Mbps的传输速度供应给DRAM。
现在,将通过将前面所述操作分为数据写及读操作和命令/地址信号传递操作,给出关于它的进一步的具体说明。图13显示了从存储控制器(MC)到DRAM的数据写操作。如上所述,存储控制器(MC)101将1.33GHz的时钟输出至缓冲器105(见第一条线)。模块识别信号MID和数据DQ0m与该时钟同步地由存储控制器(MC)101输出(见第三和第四条线)。
这里,模块识别信号MID包括有效数据标题识别信号和目的地地址,而数据DQ0m包括要分配至DRAM的两个DQ引脚的两个数据序列DQ0和DQ1。这里,数据序列DQ0变成连续的8比特数据DQ00、10、20、30……70,而数据序列DQ1变成连续的8比特数据DQ01、11、21、31……71。如图13的第四条线所示,在数据DQ0m中,数据序列DQ0和DQ1的单位数据与第一条线所示的时钟的前沿和后沿同步地交替放置。数据DQ0m与时钟同步地从存储控制器(MC)101输出至缓冲器105a。这里,当从存储控制器(MC)到缓冲器的数据线的数目总共为32时,由于数据从各数据线提供给DRAM的两个DQ端子,所以系统作为一个整体以64比特宽处理8比特的连续数据。当第一级缓冲器105a从模块识别信号MID判断出没有访问缓冲器105a所属的存储模块103a时,模块识别信号MID与数据DQ0m一同传递至下一级存储模块103b(见第三和第四条线)。
然后,如第二条线所示,存储模块103a中的缓冲器105a通过将1.33GHz的时钟分为两半而生成666MHz的内部时钟,并将它们输出至DRAM。如果存储模块103a是由前面所述的模块识别信号MID指定的,则显示的数据DQ0m在缓冲器延迟时间后与内部时钟同步地被写入给定的DRAM。在显示的例子中,如第五和第六条线所示,数据序列DQ0和DQ1与内部时钟的前沿和后沿同步地从缓冲器105a输出至两个DRAM。
现在,参考图14,说明有关从DRAM读取数据DQ0m时的操作。在这种情况下,假设通过缓冲器105a从存储模块103a的DRAM将数据DQ0m读至存储控制器(MC)101。首先,缓冲器105a正将666MHz的内部时钟输出至DRAM(见图14的第二条线),同时将1.33GHz频率的时钟输出至存储控制器(MC)101(见第一条线)。在这种状态下,假设数据序列DQ0和DQ1是从DRAM的两个DQ端子读取的。这里,假设数据序列DQ0和DQ1分别包括单位数据D00、10、20、……70和单位数据D01、11、21……71(见第五和第六条线)。这些单位数据被与内部时钟同步地从两个DQ端子发送至缓冲器105a。缓冲器105a将代表缓冲器105a所属的存储模块103a的模块识别信号MID作为有效数据标题识别信号输出至存储控制器(MC)(见第三条线)。然后,缓冲器105a交替地联合来自两个DQ端子的数据序列DQ0和DQ1的连续8比特单位数据,以复用它们,并将复用的数据作为16比特读数据DQ0m,与缓冲器105a和存储控制器101之间的时钟同步地输出至存储控制器101。在缓冲器位于缓冲器105a的随后级处类似缓冲器105b的情况下,通过前一级的缓冲器105a向存储控制器(MC)提供数据DQ0m。
如上所述,可以看出,存储控制器(MC)101和缓冲器105a及105b之间的数据传输速度和时钟频率大于缓冲器105a及105b和DRAM之间的数据传输速度和时钟频率。在这种结构中,通过减少存储控制器(MC)101和缓冲器之间的线路数目,可以以依赖于DRAM的操作速度的传输速度实现数据的读/写。
进一步,参考图15,显示了当将命令/地址信号从存储控制器(MC)101提供给存储模块时的操作。如上所述,假设频率为1.33GHz的时钟从存储控制器(MC)101提供给缓冲器105a和105b(见第一条线),在每一缓冲器105和DRAM 110之间使用666MHz的内部时钟(见第二条线)。在这种情况中,模块识别信号MID包括命令/地址信号CA0m的目的地地址信号和标题识别信号,从存储控制器(MC)101将命令/地址信号CA0m的目的地地址信号和标题识别信号与1.33GHz的时钟的前沿和后沿同步地输出(见第三条线),并且信号MID被传递至前一级存储模块103a的缓冲器105a以及下一级存储模块103b的缓冲器105b。
在这个例子中,地址信号A0至A3被与模块识别信号MID同步地以复用的模式从存储控制器(MC)101输出至缓冲器105a,作为与1.33GHz时钟的前沿和后沿同步的命令/地址信号CA0m,并且随后被传递至缓冲器105b(见第四条线)。由前述模块识别信号MID指定的存储模块103的缓冲器105将地址信号A0至A3与内部时钟同步地提供给安装在指定的存储模块103上的DRAM。在图15中,尽管只显示了一个命令/地址信号,但是提供给缓冲器的多个命令/地址信号被分别转换为四个命令/地址信号,例如RAS、CAS、WE和带地址,以及残留地址信号等。通过这个,选择了指定的存储模块内的DRAM中的操作模式、DRAM和存储单元。
前面的说明主要是关于在存储控制器(MC)101和存储模块103之间的信号传输。然而,希望在每一存储模块103和目标存储模块103内的DRAM之间也能够得到高速的信号传输。
为此,本发明提供了在缓冲器105和DRAM之间高速传输数据的方法。下面,将给出关于根据本发明的数据传输方法应用于本发明的前述第一至第三优选实施例的存储系统的情况的说明,但不限于此。
参考图16,显示了在前述存储系统的存储模块103中的DRAM 110和缓冲器105。
在图16中,DRAM 110使用数据选通信号DQS(和互补的DQS*)(下面仅说明DQS)执行相对于缓冲器105的数据接收/传输。在这种情况中,数据选通信号DQS是与时钟同步地生成的,并且当双向传输数据DQ时,数据选通信号DQS以数据DQ的传输方向传输。例如,当在从DRAM 110到缓冲器105的方向上传输数据DQ时,数据选通信号DQS也是从DRAM 110输出至缓冲器105的。这也应用于数据从缓冲器105传输至DRAM 110的情况。
参考图17A,显示了图16中当从缓冲器105将数据写入DRAM 110时的操作,而图17B显示了当从DRAM 110读数据时的操作。首先,如图17A所示,在写数据的情况下,在从缓冲器向DRAM提供写命令(WRT)和地址(Add)之后,由数据选通信号DQS与时钟的前沿和后沿同步地实现数据写操作,并且只要提供选通信号DQS,这个写操作就持续。于是,在生成命令/地址信号之后,数据在预定的延迟时间之后被写入(图中的WL=4)。
进一步,如图17B所示,也是在读数据的情况,从缓冲器向DRAM提供读命令(RED)和地址(Add),并且由数据选通信号DQS与时钟的前沿和后沿同步地实现读数据。
如上所述,当使用数据选通信号DQS时,数据以匹配数据选通信号DQS的时序传输,并由数据选通信号DQS接收。因此,在使用数据选通信号的传输/接收系统中,接收侧设备内部的数据选通信号DQS和数据DQ的逻辑和布局延迟需要互相匹配。然而,当延迟由于温度变化或电压变化而改变时,设备可接收的信号的设置和保持时间被恶化。为了更高频率的操作,需要更短的设置和保持时间。因此,在双向传输数据选通信号的系统中的加速是有限制的。
为了以更高的速度在DRAM 110和缓冲器105之间实现数据传输/接收,本发明建议使用被持续以数据信号的时序双向传输并在DRAM110和缓冲器105处传输/接收的信号(这里称为“数据相位信号DPS”),代替前述的数据选通信号DQS。通过使用双向传输/接收的数据相位信号DPS,可以使用各设备中的DLL复制传输/接收时钟。进一步,当使用DLL时,有可能利用复制的延迟消除温度变化或电压变化,并且进一步,由于可以将时钟设置为最优时序,所以有可能不使用延迟逻辑便完成数据接收。因此,可以得到更短的设置和保持时间。
参考图18,显示了一种数据传输系统的示意结构,在该系统中使用前述数据相位信号DPS在DRAM 110和缓冲器105之间执行数据传输。与图16对比可以清楚地看出,在图18所示的数据传输系统中,数据相位信号DPS代替了数据选通信号DQS,被双向地在缓冲器105和DRAM 110之间传输/接收,并且数据相位信号作为从缓冲器105或DRAM 110传输的数据DQ的时序信号,被提供给其它设备。特别地,当将数据DQ从缓冲器105写入DRAM 110时,写数据相位信号DPS被以预定的写时序,与写数据DQ一同从缓冲器105提供给DRAM 110,而当从DRAM读数据DQ时,在不同于前述写时序的时序生成的读数据相位信号DPS与读数据DQ一同从DRAM 110提供给缓冲器105。
通过识别写时序和读时序,DRAM 110和缓冲器105分别提取写数据相位信号和读数据相位信号(DPS),并使用提取的写数据相位信号和读数据相位信号(DPS)执行数据DQ的读写。从此可清楚地看出,缓冲器105和DRAM 110除了前述的DLL外,还具有用于识别写数据相位信号和读数据相位信号(DPS)的时序的电路。
参考图19,显示了当在1等级配置中的缓冲器105和DRAM 110之间传输/接收数据相位信号DPS时使用的缓冲器105和DRAM 110的驱动电路和接收电路(即传输/接收电路)。如图所示,缓冲器105和DRAM 110的每一驱动器都具有漏极开路N沟道MOS晶体管。DRAM 110的N沟道MOS晶体管的漏极与作为端接阻抗的可变电阻相连,而缓冲器105的N沟道MOS晶体管的漏极与作为端接阻抗的固定电阻相连。当连接了可变电阻时,可以通过DRAM侧的等级配置调整电阻值。尽管端接阻抗在每一DRAM 110和缓冲器105内,但是容易理解,它可以在设备外部。连接至DRAM 110和缓冲器105的两个晶体管的漏极且用于数据相位信号DPS传输的信号线通过放大器分别连接至DRAM 110和缓冲器105的内部电路。
在图19所示的配置中,以预定的时序和周期将定时信号提供给缓冲器105的N沟道MOS晶体管的栅极,从而打开/关断缓冲器105的N沟道MOS晶体管,使得写数据相位信号DPS从缓冲器105提供给DRAM 110以及缓冲器105的内部。另一方面,与缓冲器105的时序信号在同周期生成但相位不同的时序信号提供给DRAM 110的N沟道MOS晶体管的栅极,从而打开/关断DRAM 110的N沟道MOS晶体管,使得读数据相位信号DPS从DRAM 110提供给缓冲器105以及DRAM 110的内部。如图所示,由于每一DRAM 110和缓冲器105内的驱动器都是漏极开路模式的,所以总线是所谓的线或(wired OR)结构,并且进一步,由于来自DRAM 110和缓冲器105的数据相位信号DPS以不同的时序输出,所以即使两个信号是在同一信号线上输出的,也不可能在其间发生冲突。
参考图20,显示了在2等级结构中的两个DRAM连接至缓冲器105的情况下,用于数据相位信号DPS传输/接收的驱动电路。从图中可清楚地看出,图20的结构与图19的结构的不同之处在于,两个DRAM 110的驱动器连接至数据相位信号DPS的一个信号线,而在每一DRAM 110中的结构是相同的。可变电阻连接至每一DRAM 110内的N沟道MOS晶体管的漏极,并且在这个例子中,将可变电阻调节至适合DRAM 110的2等级结构的电阻值。
与图18一起参考图21A和21B,说明关于相对于DRAM 110写数据DQ时的操作(即,写操作)以及当从DRAM 110读数据DQ时的操作(即,读操作)。如图21A所示,在写操作时,缓冲器105与时钟同步地将写命令(WRT)和地址信号(Add)提供给DRAM 110。在这种情况中,写数据相位信号WDPS被从缓冲器105传输至DRAM110,作为数据相位信号DPS(见第四条线)。显示的写数据相位信号WDPS的特征是脉冲流中每一脉冲的前沿的时序的频率是时钟的1/4。
另一方面,在同一信号线上,在避免与写数据相位信号WDPS冲突的时序(这里,时序移位了两个时钟),以复用的模式将读数据相位信号RDPS从DRAM 110传输至缓冲器105。如图21B的第四条线所示,读数据相位信号RDPS与写数据相位信号WDPS类似,特征在于脉冲流的前(上升)沿的时序的频率是时钟的1/4,并且它的时序发生在写数据相位信号WDPS的时序之间。以这种方式,通过偏离写数据相位信号WDPS和读数据相位信号RDPS之间的时序,防止了在一条信号线上的两个信号之间的冲突。在显示的例子中,写数据相位信号WDPS和读数据相位信号RDPS之间的时序移位了两个时钟。然而,只要可以避免两个信号的冲突,时序当然不限于此。
进一步参考图21A,在来自缓冲器105的写操作中,缓冲器105处的时钟和写数据相位信号(WDPS)的相位互相一致,而从DRAM传输的读数据相位信号(RDPS)的相位不与它们一致。在写延迟时间(WL=4)之后写入数据DQ,使得时钟的上升(前)沿和下降(后)沿位于信号有效宽度的中央。
在图21B所示的读操作时,DRAM 110从读数据相位信号(RDPS)复制DRAM 110中的时钟。数据DQ与复制的时钟的时序相匹配,被从DRAM 110传输至缓冲器105。在显示的例子中,数据的时序与时钟沿相一致。然而,有效宽度的中央可能与时钟沿相匹配。
在前述例子中,DRAM 110和缓冲器105在正常操作期间,即除节电模式以外的操作期间,在同一信号线上持续地双向传输数据相位信号DPS。进一步,DRAM 110和缓冲器105的驱动器在移位了两个时钟的时序操作,并且如图19和20所示,使用了漏极开路模式。因此,总线是所谓的线或结构,并且由此不可能有总线争用。
参考图21A和21B,说明了在写操作和读操作时,关于时钟和读及写数据相位信号WDPS及RDPS之间的时序关系,以及数据、时钟和数据相位信号(WDPS、RDPS)之间的时序关系。在已经接收了数据相位信号(WDPS、RDPS)的DRAM 110和缓冲器105中,需要在其中从数据相位信号(WDPS、RDPS)中复制数据传输/接收时钟。
现在,参考图22,说明在存储系统操作开始时,从根据本发明的数据相位信号DPS(写或读数据相位信号WDPS、RDPS)在DRAM110和缓冲器105内部复制数据接收/传输时钟的步骤。
首先,缓冲器105将时钟传输至DRAM 110(见第一条线)。在这个例子中,缓冲器105生成频率为666MHz的时钟。在这种状态下,缓冲器105与时钟同步地传输写数据相位信号WDPS(见第二条线)。通过对时钟频率四分频生成显示的写数据相位信号WDPS,于是,写数据相位信号WDPS的频率为666/4MHz(即,时钟的1/4),且写数据相位信号WDPS经时间延迟而输入DRAM 110(见第三条线)。
DRAM 110使用其内部提供的DLL从写数据相位信号WDPS生成内部时钟,作为复制的时钟,用于确定数据(DQ)接收时序(见第四条线)。显示的内部时钟的频率为666MHz。
进一步,如图22所示,在复制了作为内部时钟的数据(DQ)接收时钟之后,DRAM 110根据写数据相位信号WDPS和内部时钟,通过将内部时钟移位两个时钟而生成以实线显示的读数据相位信号RDPS,并且将读数据相位信号RDPS传输至缓冲器105(见第五条线)。如图22所示,读数据相位信号RDPS的频率为内部时钟的1/4,并被复制,以免与以虚线显示的写数据相位信号WDPS相冲突。
读数据相位信号RDPS在缓冲器105处经过一时间延迟而被接收(见第六条线),并且缓冲器105从接收的读数据相位信号RDPS中复制666MHz的数据(DQ)接收时钟,用于从缓冲器105中的DRAM110接收数据(见第七条线)。图22所示的时序图在概念上解释了数据相位信号DPS和时钟之间的时序关系,但实际上如下面说明的,用于数据接收和数据输出的DRAM内部时钟分别以最优内部时序生成。进一步,显示的时钟的周期不必为数据相位信号DPS的周期的1/4,而且可以是多相位时钟。
在任一种情况中,所示的传输系统的特征在于,DRAM 110和缓冲器105内部的接收/传输时钟是从时钟相位信号WDPS和RDPS复制的。
参考图23,说明执行前述操作的DRAM 110的具体构造。在图中,仅显示了用于相对于缓冲器105传输/接收数据相位信号DPS和数据(DQ)的一个接口,图23中省略了用于写入和读取数据(DQ)的存储单元区域。附带地,DRAM 110的存储单元区域连接至数据(DQ)输出驱动器201和数据接收器202,从而执行数据(DQ)的读取和写入。进一步,所示的DRAM 110具有由DLL组成的时钟复制相位调节及频率放大器电路205。写数据相位信号WDPS输入到DLL205,而来自DLL 205的读数据相位信号RDPS通过DPS输出驱动器207输出。由此可清楚地看出,假设所示的DLL 205具有包括多个延迟单元、相位检测器、积分器和频率放大器的延迟线。
特别地,DLL 205具有包括写和读数据相位信号WDPS和RDPS的数据相位信号DPS,并且数据相位信号DPS也被提供给接收相位比较电路206和输出相位比较电路209。DLL 205从写数据相位信号WDPS复制数据接收DRAM内部时钟,并生成数据接收反馈时钟。数据接收DRAM内部时钟被提供给数据接收器202,以用于写入数据DQ,而数据接收反馈时钟被提供给对时钟进行四分频的接收复制器208,使得接收的写数据相位信号WDPS的复制信号输出至接收相位比较电路206。接收相位比较电路206利用来自接收复制器208的复制信号抑制读数据相位信号RDPS,从而将接收相位调整信号输出至DLL 205,该接收相位调整信号与仅考虑写数据相位信号WDPS的DPS输出DRAM内部时钟相关。
进一步,所示的DLL 205将数据接收DRAM内部时钟延迟两个时钟,从而输出用于输出读数据相位信号RDPS、数据输出反馈时钟、和数据输出DRAM内部时钟的DRAM内部时钟。其中,DPS输出DRAM内部时钟被提供给DPS输出驱动器207和输出相位比较电路209,而数据输出DRAM内部时钟提供给数据输出驱动器201。进一步,数据输出反馈时钟提供给输出复制器210,并且输出复制器210将读数据相位信号RDPS的复制信号输出至输出相位比较电路209。DPS输出驱动器207响应DPS输出DRAM内部时钟,将读数据相位信号RDPS发送至缓冲器105。
在利用从输出复制器210提供的读复制信号来抑制写数据相位信号WDPS的时序的同时,输出相位比较电路209比较DLL 205的输出和读数据相位信号RDPS的相位,并将依赖于比较结果的输出相位调整信号输出至DLL 205。结果,读数据相位信号RDPS从所示的DRAM110传输至缓冲器105。
如上所述,在显示的DRAM 110中,当DRAM 110传输读数据相位信号RDPS时,输出DPS输出DRAM内部时钟,以不执行相位比较,并且,当接收到写数据相位信号WDPS时,DPS输出DRAM内部时钟被输入到接收相位比较电路206,从而执行一操作,禁止向DLL 205反馈比较值。
参考图24,说明执行相对于图23中所示的DRAM 110的数据传输/接收的缓冲器105的具体结构。与图23中所示的DRAM 110类似,缓冲器105具有用于向DRAM 110输出数据的DQ输出驱动器301,和用于接收来自DRAM 110的读数据的数据接收器302,并进一步具有为数据相位信号DPS传输/接收而形成时钟复制相位调整及频率放大电路的DLL 305。进一步,在所示的缓冲器105中,DPS输出缓冲器内部时钟由未显示的时钟发生器生成,并提供给DPS输出驱动器307和接收相位比较电路306。DPS输出驱动器307将提供的时钟四分频,以将写数据相位信号DPS(即WDPS)输出至DRAM 110,并且写数据相位信号WDPS也被提供给缓冲器105内的DLL 305和接收相位比较电路306。
在这种状态下,当从DRAM 110接收读数据相位信号RDPS时,缓冲器105的DLL 305生成数据接收缓冲器内部时钟和数据接收反馈时钟,并将它们分别输出至数据接收器302和接收复制器308。接收复制器308从数据接收反馈时钟生成读数据反馈信号RDPS的复制信号,并将其输出至接收相位比较电路306。结果,接收相位比较电路306忽略从DPS输出驱动器307输出的写数据相位信号WDPS,并将与读数据相位信号RDPS有关的接收相位调整信号输出至DLL 305。
在所示的缓冲器105中,为了从来自DRAM 110的读数据相位信号RDPS中复制时钟,将DPS输出缓冲器内部时钟信号输入到接收相位比较电路306,从而禁止向DLL反馈比较值。
图25显示了图23所示的DRAM 110开始工作时的时序图,图26显示了在DRAM 110正常工作期间的时序图。在图25所示的工作开始时,读数据相位信号RDPS没有从DRAM 110输出至缓冲器105。在图25中,与图22类似,缓冲器105中生成666MHz的DPS输出缓冲器内部时钟,并且该时钟在DPS输出驱动器307(图24)处被四分频,使得写数据相位信号WDPS与时钟同步地被输出(见图25中的第二条线)。写数据相位信号WDPS经过时延输入到DRAM 110(见第三条线)。在DRAM 110中,在DLL 205处生成数据接收反馈时钟(见第四条线),该时钟具有相对于接收的WDPS的超前相位,并被输出至接收复制器208,并且WDPS的复制信号从接收复制器208输出至接收相位比较电路206(见第五条线)。
在来自接收相位比较电路206的接收相位调整信号和接收的WDPS之后,DRAM 110的DLL 205将数据接收DRAM内部时钟输出至数据接收器202(见第六条线)。进一步,DRAM 110的DLL 205将具有相对于内部时钟的超前相位的数据输出反馈时钟输出至输出复制器210(见第七条线),并将数据输出DRAM内部时钟与数据输出反馈时钟同步地输出至DQ输出驱动器201(见第九条线)。进一步,如图25中第八条线所示,数据输出反馈信号被作为来自输出复制器210的复制信号而提供给输出相位比较电路209,并且在存在该复制信号的情况下执行相位比较,以使如第十条线所示的DPS输出DRAM内部时钟输出至DPS输出驱动器207。
现在,参考图26,说明图23所示的DRAM 110的正常操作。在这种情况中,如图26中第二和第三条线所示,写数据相位信号WDPS从缓冲器105输出,而读数据相位信号RDPS(见粗线)从DRAM 110输出。在这种情况中,在缓冲器105处,生成DPS输出时钟,并且与DPS输出时钟同步的写数据相位信号WDPS被传输至DRAM 110,而在DRAM 110处,生成数据接收反馈时钟、数据接收反馈时钟的复制信号、数据接收DRAM内部时钟、数据输出反馈时钟和数据输出DRAM内部时钟,这与图25相同(见第四至第八条线)。进一步,如第九条线所示,当生成数据输出DRAM内部时钟时,DLL 205通过将内部时钟延迟两个时钟而生成DPS输出DRAM内部时钟,并且根据DPS输出DRAM内部时钟,从DPS输出驱动器207生成读数据相位信号RDPS,如第十条线的粗线所示,并且该读数据相位信号RDPS在缓冲器105处被接收,如第二条线所示。
图27显示了当前述RDPS被接收时,缓冲器105 (图24)中的时序图。假设从DRAM 110传输的数据在相位上与本实施例的读数据相位信号RDPS的沿相匹配。在这种连接中,缓冲器105将接收缓冲器内部时钟的相位相对于复制信号的相位移位1/4,所述复制信号来自接收复制器308且由数据接收反馈时钟得到。
在前述例子中,已经显示了当由数据相位信号复制内部时钟信号时,时钟是由数据相位信号直接复制的系统。
参考图28和29,显示了图23和24中分别显示的DRAM 110和缓冲器105的改型。图28中所示的DRAM 110与图23所示的DRAM110的不同之处在于,时钟CLK是由外部提供给DLL 205的,并且数据相位信号DPS没有提供给DLL 205。在这种连接中,所示的DLL 205不仅作为时钟复制相位调整电路工作,而且作为用于对时钟进行分频的分频器而工作。在这种结构中,可以看出,在时钟复制时,外部时钟信号CLK作为是时钟源提供给DLL 205,在DLL 205处仅调整信号CLK的相位。以这种方式,通过向DLL 205提供外部时钟CLK并利用DLL 205调整时钟的相位,也有可能从接收的写数据相位信号WDPS中复制数据接收DRAM内部时钟和数据接收反馈时钟,并进一步可能生成DPS输出DRAM内部时钟,从而将读数据相位信号RDPS传输至缓冲器105。
图29所示的缓冲器105与图24所示的缓冲器105的不同之处在于,缓冲器内部时钟信号提供给作为时钟相位调整电路而工作的DLL305。当使用具有图29所示的结构的缓冲器105时,DLL 305根据来自接收相位比较电路306的接收相位调整信号调整时钟的相位,从而生成数据接收缓冲器内部时钟和数据接收反馈时钟。
参考图30,给出图28和29所示的缓冲器105和DRAM 110的操作的说明。在这个例子中,显示了DRAM 110的初始状态中的操作,其中DRAM 110不输出读数据相位信号RDPS。与图25相比,图30所示的例子与其不同之处在于,666MHz的外部时钟在DRAM 110中与在缓冲器105中类似的生成(见第三条线)。其它的操作与图25中的相同,只是操作是参考该外部时钟执行的,并且因此在这里省略对它们的说明。
参考图31至33,说明在根据本发明的存储系统中的缓冲器105和DRAM 110之间的传输系统的另一个例子。在前述例子中,已经描述了数据相位信号DPS作为读写数据相位信号WDPS和RDPS而从缓冲器105和DRAM 110双向输出的情况。在图31中,可以看出写数据相位信号WDPS和读数据相位信号RDPS从缓冲器105和DRAM110输出至不同的信号线上。其它时钟(CLK)、命令/地址(Cmd/Add)和数据DQ与图18中的相同。通过使用这种结构,不必在单个信号线上多路传输两个数据相位信号WDPS和RDPS,使得可以简化在每一缓冲器105和DRAM 110中使用的DLL的结构。
参考图32,说明在写数据时图31所示的DRAM 110的操作。在这种情况下,写命令WRT和地址(Add)与时钟同步地从缓冲器105输出至DRAM 110。在这种情况下,写数据相位信号WDPS在通过将时钟CLK四分频而被获得时,从缓冲器105传输至DRAM 110(见图32中的第四条线)。在DRAM 110中,根据使用写数据相位信号WDPS作为参考而生成的内部时钟,数据DQ在预定的等待时间过后被写入到DRAM 110(见第五条线)。
另一方面,在DRAM 110中,写数据相位信号RDPS以不同于写数据相位信号WDPS的接收时序的时序,输出至与写数据相位信号WDPS不同的信号线上。
如图33所示,当在DRAM 110处接收读命令(RED)和地址(Add)时,DRAM 110根据基于读数据相位信号RDPS(见第四条线)生成的内部时钟(见第一条线)将读数据DQ(见第五条线)输出至缓冲器105。从图中可以清楚地看出,读数据相位信号RDPS的输出时序与写数据相位信号WDPS的接收时序不同。在这个例子中,写数据相位信号WDPS和读数据相位信号RDPS之间在相位上移位两个时钟,以避免其间诸如相互干扰或串扰这样的输出噪声。
现在,参考图34和35,说明图31所示的DRAM 110和缓冲器105的具体例子。当比较图34所示的DRAM 110和图23所示的DRAM 110时,图34的DRAM 110与图23的DRAM 110的不同之处在于,写数据相位信号WDPS和读数据相位信号RDPS通过互不相同的信号线输入到其中。在这种连接中,读数据相位信号输出驱动器207’连接至读数据相位信号RDPS传输信号线,但是与DRAM 110的DLL 205和写数据相位信号WDPS的信号线断开连接,这与图23不同。其它的元件与图23的相同。
进一步,图35所示的缓冲器105与图24所示的缓冲器105的不同之处在于,写数据相位信号WDPS传输驱动器307’连接至写数据相位信号传输信号线,但与读数据相位信号RDPS接收信号线和缓冲器105的DLL 305断开连接。其它元件与图24中的相同。
这里,将参考图36,示意性地描述图34和35所示的DRAM 110和缓冲器105之间的时序关系。首先,如图36所示,缓冲器105生成频率为666MHz的时钟(见第一条线),并将生成的时钟四分频,从而将写数据相位信号WDPS输出至写数据相位信号线上(见第二条线)。如第三条线所示,写数据相位信号WDPS经时间延迟后在DRAM110处被接收。DRAM 110将接收的写数据相位信号WDPS的频率增加到四倍,从而生成频率为666MHz的内部时钟(见第四条线),然后将生成的内部时钟移位两个时钟,并将它们四分频,从而将第五条线所示的读数据相位信号RDPS输出至读数据相位信号线上。读数据相位信号RDPS在缓冲器105处以第六条线所示的时序被接收,并且如第七条线所示,缓冲器105从接收的读数据相位信号RDPS生成数据接收内部时钟。
也参考图37,进一步具体说明图34所示的DRAM 110在正常时间中的操作。由于启动时的操作与图34所示的DRAM 110和图23的DRAM 110相同,所以省略对于它们的说明。通过写数据相位信号线见图37的第三条线)向图34所示的DRAM 110提供来自缓冲器105的写数据相位信号WDPS(,并且在图34中的DLL 205、接收相位比较电路206和输出相位比较电路209处接收写数据相位信号WDPS。结果,分别向接收相位比较电路206和输出相位比较电路209提供了如图37中的第五和第八条线所示的写数据相位信号WDPS作为输入信号。
DLL 205还参考来自接收相位比较电路206及输出相位比较电路209的接收相位调整信号及输出相位调整信号,从而将如图37中第四条线所示的数据接收反馈时钟和如第六条线所示的数据接收DRAM内部时钟分别输出至接收复制器208和数据接收器202。
进一步,DLL 205将第七和第九条线所示的数据输出反馈时钟和数据输出DRAM内部时钟分别提供给输出复制器210和DQ输出驱动器201。其中,数据输出DRAM内部时钟在DLL 205处被四分频,并且如第十条线所示,被作为RDPS输出DRAM内部时钟提供至RDPS输出驱动器207’。第十一条线所示的读数据相位信号RDPS从输出驱动器207’输出至缓冲器105。
参考图35和38,说明在读数据接收时缓冲器105的操作。通过使用WDPS输出缓冲器内部时钟(见第三条线),写数据相位信号WDPS被输出至相应的信号线上(见第二条线),并且通过读数据相位信号线(见第五条线)将读数据相位信号RDPS提供给缓冲器105中的DLL305和接收相位比较电路306。DLL 305参考来自接收相位比较电路306的接收相位调整信号,从而将第四和第六条线所示的数据接收反馈时钟和数据接收缓冲器内部时钟提供给接收复制器308和数据接收器302。这里,所示的数据接收缓冲器内部时钟相对于读数据相位信号RDPS移位1/4相位。
参考图39和40,说明可以实现图31所示的传输系统的DRAM 110和缓冲器105的其它例子。图39所示的DRAM 110与图34所示的DRAM 110的不同之处在于,时钟CLK是从外部提供的,与图28类似。另一方面,图40所示的缓冲器105与图35所示的缓冲器105的不同之处在于,缓冲器内部时钟信号提供给缓冲器105内的DLL 305。在图39中,外部时钟被提供给DRAM 110中的DLL 205,而写数据相位信号WDPS被提供给接收相位比较电路206和输出相位比较电路209。以这种结构,也可以实现类似图34中的操作。
在图40所示的缓冲器105中,来自DRAM 110的读数据相位信号RDPS被提供给接收相位比较电路306,并且DLL 305根据来自接收相位比较电路306的接收相位调整信号和缓冲器内部时钟信号,生成数据接收反馈时钟和数据接收缓冲器内部时钟。以这种结构,有可能进行与图35中类似的操作。
在前述的传输系统中,已经说明了安装在存储模块上的缓冲器和DRAM之间的数据传输。然而,本发明不限于此。例如,本发明还适用于除DRAM外的存储电路,例如ROM。进一步,本发明即使应用于需要双向数据传输或需要选通信号的系统,也可以得到高速数据传输。
在前述的存储系统中,缓冲器和多个DRAM安装在每一存储模块上,并且数据信号相对于存储模块上的DRAM的接收/传输以及时钟和地址/命令信号相对于DRAM的传输都是通过各存储模块上的缓冲器而实现的。进一步,在前面所述内容中,说明主要是关于每一存储模块上的缓冲器和各DRAM之间的一对一的数据接收/传输。
然而,要真正高速操作前述存储模块,进一步需要处理根据存储模块上的DRAM的位置而在数据信号和时钟及命令/地址信号之间生成的时滞(skew),进一步,需要对缓冲器中的时钟时序相对于从各DRAM传输并以不同时序到达缓冲器的数据执行匹配。
这里,参考图41,更具体的说明前述要点。缓冲器105和多个DRAM 110安装在所示的存储模块103上。安装在存储模块103上的每一DRAM 110的封装尺寸通常宽约14mm,并且即使对产品更新换代也保留该尺寸。当每个具有该尺寸的DRAM 110都如图所示的安装时,例如,当五个DRAM 110以9mm的规则间距安装时,每一时钟线、命令/地址线和DQ信号线在远端DRAM 110(以110F表示)和缓冲器105之间的布线长度都是65mm,而它们在近端DRAM 110(以110N表示)和缓冲器105之间的布线长度是9mm。
当以800MHz的高频操作该尺寸的存储模块103时,由于时钟和命令/地址信号以及DQ信号之间的信号传播时间的差异,在远端DRAM 110F生成电平的时滞,该电平的时滞相对于高速操作(800MHz)的操作周期(1250ps)是不可忽略的。
更具体地,由于时钟和命令/地址信号是从缓冲器105通过公共布线输入各DRAM 110的,所以大约1.5pF×2×5的输入电容分布在相对于时钟和命令/地址信号的布线上。于是,时钟和命令/地址信号的信号单位传播时间(tPD)变为约14ps/mm。另一方面,DQ信号在缓冲器和各DRAM 110之间通过一对一或一对二布线传输/接收,于是约2.5pF×2的输入电容分布在相对于DQ信号的布线上。于是,DQ信号的信号单位传播时间tPD变为约8ps/mm,并且可以理解,DQ信号的信号单位传播时间比时钟和命令/地址信号的信号单位传播时间短。
根据在时钟和命令/地址信号以及DQ信号之间的信号传播时间中的这个差异,在远端DRAM 110F处生成电平的时滞,该电平的时滞相对于高速操作(800MHz)的操作周期(1250ps)不能被忽略。在所示的存储系统中,时钟和命令/地址信号在写操作时的信号传播时间是910(=14×65)ps,而DQ信号的信号传播时间是520(=8×65)ps。所以,在远端DRAM 110F处的时钟和命令/地址信号以及DQ信号之间生成390ps的时滞。
当将写命令(WRT)提供给处于生成了该时滞状态的远端DRAM110F时,写命令以来自缓冲器105的缓冲器时钟信号的相位输入到DRAM。
另一方面,在接收写命令之后,各DRAM 110内的数据写操作与缓冲器时钟信号同步地完成。这意味着在数据接收DRAM内部时钟的前沿接收的数据应当在一个周期期间与缓冲器时钟信号的相位时序相匹配。
例如,在数据接收DRAM内部时钟的前沿接收的数据与在缓冲器时钟信号的后沿的时钟信号相位时序匹配,而在后沿接收的数据与在缓冲器时钟信号的前沿的时钟信号相位时序匹配。结果,交替地生成内部数据。当将该数据的匹配从一个时序移位至另一时序时,需要有设置时间和保持时间。
在图41所示的系统中,在近端DRAM 110N处用于将以数据接收DRAM内部时钟的时序接收的数据移位匹配至缓冲器时钟时序的设置时间和保持时间分别是679ps和571ps,而在远端DRAM 110F处的设置时间和保持时间分别是1015ps和235ps。
由此可清楚地看出,由于在近端DRAM处时钟信号和DQ信号之间的时滞是54ps,即小,所以对于设置时间和保持时间得到均一的裕量,而在远端DRAM 110F处,由于390ps的时滞所以保持时间变为235ps(0.19时钟周期),即短,使得无法得到充分的时间裕量。
进一步,由于时钟信号的传播时间(等于命令的传播时间)和DQ信号的传播时间之间的差异,响应读(READ或RED)命令而从各DRAM传输的DQ信号以不同的到达时间到达缓冲器105。例如,时钟信号(命令)到近端DRAM 110N的传播时间是126ps,且DQ信号从近端DRAM 110N到缓冲器105的传播时间是72ps,而时钟信号(命令)到远端DRAM 110F的传播时间是910ps,且DQ信号从远端DRAM 110F到缓冲器105的传播时间是520ps。
假设从读命令到数据输出的延迟对于各DRAM是相等的,例如八个时钟,在近端DRAM 110N处的总信号双向传播时间是198ps,而在远端DRAM 110F处的总信号双向传播时间是1430ps,即其间的差是1230ps。
于是,在缓冲器105处,有必要将不同到达时间的数据与时钟信号的时序再次匹配,并将它们传递至存储控制器。进一步,从前述可清楚地看出,来自近端DRAM 110N的数据和来自远端DRAM 110F的数据在缓冲器105中达到跨度不同的时钟周期。于是,有必要在缓冲器105处对于来自各DRAM 110的每个数据判断应匹配哪一周期。
下面,参考附图,说明考虑了前述时滞的本发明的例子。
在下面的例子中,假设提供给各DRAM的时钟信号(这里称为“缓冲器时钟信号”)是通过将提供给缓冲器105的时钟(这里称为“全局时钟”)二分频而生成的,用于处理前述的时滞,并且以与生成的缓冲器时钟信号相等的频率传输DPS信号。于是,命令/地址信号与时钟信号的前沿和后沿同步地被传输/接收。进一步,以四倍于时钟信号的频率,与DPS信号同步地接收/传输数据信号。
参考图42,显示了在根据本发明的第一个例子的存储系统中使用的DRAM,其中写/读数据相位信号(WDPS/RDPS)通过互不相同的布线被输入/输出。
图42所示的DRAM 110具有命令/地址接收时钟发生电路(DLL)500和域交叉电路501,这与其它图中显示的DRAM 110不同。所示的时钟发生电路(DLL)500和域交叉电路501分别响应于从缓冲器接收到缓冲器时钟信号和命令/地址信号而工作,这两个信号各自具有400MHz的频率。
在所示的例子中,命令/地址信号以缓冲器时钟信号的时序(后面也称其为“时钟信号”)接收入DRAM 110,并被发送至根据数据相位信号(WDPS)而在DRAM 110内生成的数据相位时钟。通过这样,命令/地址信号变为基于数据相位(WDPS)而生成的内部命令,然后,DRAM 110的内部读/写操作根据这个内部命令而执行。这意味着DRAM 110的内部读/写操作与WDPS的数据相位同步地实现。
这里,为了使得DRAM 110中的时钟的相位相对于发送目的地WDPS的相位而向设置时间和保持时间分配裕量,WDPS信号在缓冲器105中延迟全局时钟的一个时钟(以1tCK代表),即分频器时钟的180度。
参考图43,显示了DRAM 110中提供的域交叉电路501的具体结构。所示的域交叉电路501是用于将命令/地址信号从缓冲器时钟信号的相位域交叉至WDPS相位的电路,并且包括第一锁存电路511和第二锁存电路512。特别地,第一锁存电路511包括用于根据0度相位时钟和180度相位时钟而接收命令信号并将其锁存的两个接收器,而第二锁存电路512包括用于根据0度数据相位时钟和180度数据相位时钟而保持来自第一锁存电路511的命令信号的两个触发电路。
这里,0度和180度相位时钟是在图42所示的命令/地址接收时钟生成电路500处生成的,并且分别代表接收的缓冲器时钟信号的0度和180度相位。另一方面,0度和180度数据相位时钟分别代表写数据相位信号(WDPS)的0度和180度相位。
如图42所示,0度和180度数据相位时钟是在响应于WDPS而操作的时钟复制及相位调整电路(DLL)205处生成的。
由此可清楚的看出,可以理解,所示的域交叉电路501将具有缓冲器时钟信号的0度或180度相位的命令信号(或地址信号)的同步移位至具有数据相位信号(WDPS)的0度或180度相位的同步,并将其作为DRAM内部命令/地址信号输出。
参考图44,显示了形成与图42所示的DRAM 110合作的本发明的第一个例子的缓冲器105的具体结构,其中缓冲器105实现相对于图42的DRAM 110的数据信号DQ的传输/接收。所示的缓冲器105具有时钟分割/相位比较调整电路601,其响应于接收到存储控制器(未显示)提供的全局时钟而操作。时钟分割/相位比较调整电路601将通过把全局时钟二分频而得到的缓冲器时钟作为时钟信号输出至DRAM110,同时输出DRAM的WDPS。图中,仅显示了为远端DRAM 110F输出WDPS的一部分。
进一步,所示的时钟分割/相位比较调整电路601在内部将数据输出缓冲器内部时钟和WDPS缓冲器内部相位时钟分别输出至DQ输出驱动器301和域交叉电路602。这里,WDPS缓冲器内部相位时钟代表远端DRAM 110F的WDPS的0度、90度、180度和270度相位。
另一方面,响应于从远端DRAM 110F接收到作为数据相位信号的RDPS而操作的时钟复制/相位调整电路305生成代表RDPS的0度、90度、180度和270度相位的数据接收缓冲器内部相位时钟,并将它们提供给域交叉电路602。
缓冲器105中的域交叉电路602包括第一级数据锁存电路611和第二级数据锁存电路612。特别地,域交叉电路602是用于从RDPS相位域交叉至WDPS相位的电路,并且如图45所示,它包括第一级数据锁存电路611和第二级数据锁存电路612,其中第一级数据锁存电路611用于根据与RDPS的0度、90度、180度和270度相位同步生成的缓冲器内部相位时钟,接收从DRAM 110读取的数据信号DQ,并将其锁存;第二级数据锁存电路612用于锁存第一级数据锁存电路611的输出。第二级数据锁存电路612包括分别根据以图44所示的时钟分割/相位比较调整电路601生成的WDPS缓冲器内部相位时钟(270、0、90和180度)进行锁存的触发电路,并以WDPS缓冲器内部相位时钟的相位来锁存第一级数据锁存电路611的输出,然后将其作为缓冲器内部数据信号输出。
参考图46,下面说明在写操作时所示例子的操作。这里,将描述在写操作时缓冲器105和近端DRAM 110N之间的操作。其中,假设为了在各DRAM 110中将命令/地址信号与全局时钟相匹配,即为了将命令/地址信号从缓冲器时钟的相位域移至WDPS的相位域,缓冲器105通过将WDPS延迟一个系统时钟时间相位(1250ps)而将WDPS输出至近端DRAM 110N,并且写延迟(WL)是六个系统时钟。
如图所示,当接收到800MHz的全局时钟(见第一条线)时,缓冲器105的时钟分割/相位比较调整电路601输出400MHz的缓冲器时钟(见第二条线)。与缓冲器时钟同步,写命令(WRT)被输出至近端DRAM 110N。另一方面,400MHz的写相位信号(WDPS)经过对应于一个全局时钟(1250ps)的相位的延迟,即经过缓冲器时钟信号的1/2相位的延迟,被输出至近端DRAM 110N。在前述的WL后,写数据信号(DQ)与WDPS同步地输出至近端DRAM 110N。
另一方面,在近端DRAM 110N处,如前所述,缓冲器时钟和写命令(WRT)在126ps后的传播时间到达,而WDPS在较短的54ps传播时间到达。
如图42所示,在近端DRAM 110N处,命令/地址接收时钟发生电路500生成代表接收的缓冲器时钟的0度和180度的0度和180度相位时钟。进一步,接收WDPS的近端DRAM 110N的时钟复制/相位调整电路205生成代表WDPS的0度和180度相位的0度和180度相位数据相位时钟。
在所示的例子中,在DRAM处与时钟信号同步接收的命令/地址信号受到从0度相位时钟(缓冲器时钟的相位)到0度相位数据相位时钟(WDPS的0度相位)的域交叉的控制,并且结果是,与0度相位数据相位时钟同步地生成了内部写命令(WRT)。这意味着实现了从缓冲器时钟相位到WDPS相位的域交叉,并且数据信号(DQ)的写操作在6WL后响应于内部生成的写命令(WRT)而执行。
这样构造的近端DRAM 110N的用于将命令/地址信号从时钟相位移至数据相位的设置时间和保持时间分别是1196ps和1304ps,并且因此可以看出,能够保证足够的时间裕量。
近端DRAM 110N生成与接收的WDPS同相的RDPS,并将其输出至缓冲器105,其在144ps的传播时间之后到达缓冲器105。
参考图47,显示了写操作时在根据前述例子的存储系统中的缓冲器105和远端DRAM 110F之间的操作。如图所示,写命令(WRT)与400MHz的缓冲器时钟同步地输出,而WDPS相对于缓冲器时钟,经过1250ps延迟的缓冲器时钟信号的1/2相位的延迟而输出。写命令(WRT)和缓冲器时钟以及WDPS在经过不同延迟时间的延迟后到达远端DRAM 110F。它们在缓冲器时钟和WDPS之间生成390ps的前述时滞的状态下,在远端DRAM 110F被接收。在远端DRAM 110F处,使得接收的写命令WRT与接收的WDPS的时序相匹配,从而与接收的WDPS同步地生成DRAM内部命令(WRT),并且在6WL后从DRAM内部命令写入数据信号(DQ)。
如图所示,用于将命令/地址信号从时钟相位移至数据相位的这样构造的远端DRAM 110F的保持时间和设置时间可以分别是1640ps和860ps。因此,可以看出,能够保证充足的时间裕量。
进一步,如图所示,已经接收了WDPS的远端DRAM 110F与WDPS同步地将RDPS输出至缓冲器105,其中RDPS与WDPS相位相同。在生成WDPS的1040ps之后,缓冲器105从远端DRAM 110F接收具有相应相位的RDPS。在这个例子中,RDPS与WDPS相位相同。因此,RDPS的0度相位对应于WDPS的0度相位,RDPS的90度相位对应于WDPS的90度相位,类似地,RDPS的180度和270度相位分别对应于WDPS的180度和270度相位。
现在,参考图48,描述根据前述例子的存储系统中的读操作,其中缓冲器105将读命令(RED)与缓冲器时钟同步地输出至远端DRAM 110F。如上所述,当在WDPS传输后经过了1040ps时,具有相应相位的RDPS从远端DRAM 110F到达缓冲器105。
另一方面,在远端DRAM 110F侧,具有相同相位的RDPS与接收的WDPS同步输出至缓冲器105。缓冲器105将读命令(RED)与缓冲器时钟同步地输出至远端DRAM 110F。远端DRAM 110F以缓冲器时钟信号的时序接收读命令,并将其发送至基于WDPS生成的数据相位时钟。结果是,读命令信号变为基于数据相位(WDPS)而生成的内部命令,然后,DRAM 110F的内部读操作由这个内部读命令实现。在从接收的RED经过八个全局时钟之后,读出数据信号(DQ)。读出的数据信号与RDPS同步地从远端DRAM 110F输出至缓冲器105,并且在520ps后在缓冲器105被接收。
在这种结构中,缓冲器105中用于从RDPS相位域交叉至WDPS相位的时序裕量是835ps,因此可以理解,能够得到充足的时序裕量。
进一步,参考图49和图44,说明在读操作时前述例子中的缓冲器105中的操作。这里,假设数据信号(DQ)从远端DRAM 110F中读出。在缓冲器105处,与接收的RDPS同步地接收读数据信号(DQ)。图44所说的缓冲器105从RDPS生成代表RDPS的相位的四相位数据接收缓冲器内部时钟(0、90、180和270度),并将它们提供给域交叉电路602的第一级数据锁存电路611。于是,来自远端DRAM 110F的数据信号(DQ)被与那些四相位数据接收缓冲器内部时钟同步地存入第一级数据锁存电路611,然后被提供给第二级数据锁存电路612。
从在缓冲器105生成的WDPS(全局时钟)得到的四相位缓冲器内部相位时钟被从时钟分割/相位比较调整电路601提供给第二级数据锁存电路612,并且根据四相位缓冲器内部相位时钟将第一级数据缓冲器611的输出存入第二级数据锁存电路612。结果是,使得从远端DRAM 110F读出的数据信号(DQ)与缓冲器105中生成的内部时钟匹配,以从缓冲器105输出至存储控制器。
现在,参考图50,说明在读操作中,当处理来自近端和远端DRAM110N和110F的数据信号(DQ)时缓冲器105的操作。假设相对于缓冲器时钟延迟了1/2相位的读命令(RED)和WDPS与缓冲器时钟同步地,从缓冲器105输出至近端和远端DRAM 110N和110F。在这种情况中,如图所示,相位与WDPS信号的相应相位相同的RDPS信号以延迟了144ps的时序从近端DRAM 110N输入到缓冲器105,而它以延迟了1040ps的时序从远端DRAM 110F输入到缓冲器105。这里,假设将缓冲器105设置为在生成读命令(RED)后刚过去(8+2.5)全局时钟的时间就启动数据接收操作,用于在缓冲器105中将近端和远端DRAM的与RDPS同步读出的数据信号(DQ)的时序从RDPS相位移至WDPS相位,即时钟相位,的保持时间分别是770ps和1665ps,并且它们的设置时间分别是1731ps和835ps,并且因此可以理解,保证了充足的时间裕量。
下面以更概括的方式描述前述操作。通过对系统时钟(全局时钟)信号n分频而得到的缓冲器时钟信号以及与缓冲器时钟信号频率相等的数据相位信号(WDPS),从缓冲器105提供给DRAM。另一方面,命令/地址信号从缓冲器105传输,同时与缓冲器时钟信号相匹配。当在一个周期内传递的命令/地址信号最大为m倍时,每一命令/地址信号在DRAM处,被从缓冲器时钟信号的时序开始每1/m相位生成的内部时钟信号之一所接收。
另一方面,在每一DRAM 110中,命令/地址信号被发送至之前相关的内部数据相位时钟之一,从而生成内部命令/地址信号,其中类似地,所述内部数据相位时钟是从缓冲器105传输的数据相位信号(WDPS)的时序开始每1/m相位内部生成的。
另一方面,在每一DRAM 110中,命令/地址信号发送至之前相关联的内部数据相位时钟之一,以便生成内部命令/地址信号,其中类似地,该内部数据相位时钟是从由缓冲器105传输的数据相位信号(WDPS)的时序开始,每1/m相位生成的。
写入各DRAM 110的数据信号被从缓冲器105传输至DRAM110,同时与数据相位信号(WDPS)的时序相匹配。当一个周期内传递的数据信号在最大值为k倍时,数据信号在每一DRAM 110被接收并由内部时钟信号之一存储于每一DRAM 110中,该内部时钟信号是在DRAM 110处,从由缓冲器105传输的数据相位信号(WDPS)的时序开始,每1/k相位生成的。
另一方面,从各DRAM 110读取的数据信号从DRAM 110传输,同时与数据相位信号(RDPS)的时序相匹配,并且在缓冲器105处由内部时钟信号之一接收,该内部时钟信号是从由DRAM 110传输的数据相位信号(RDPS)的时序开始,每1/k相位生成的。这个RDPS被发送至之前相关联的内部时钟之一,从而生成内部读数据信号,其中该内部时钟是从缓冲器105中最初生成的数据相位信号(WDPS)的时序开始,每1/k相位生成的。
在这种情况下,命令/地址信号被与缓冲器时钟信号的前沿和后沿同步地传输至缓冲器105,并被与缓冲器时钟信号的前沿和后沿同步地送入DRAM。
参考图51,显示了在根据本发明的第二个例子的存储系统中使用的DRAM 110。根据这个例子的DRAM 110被构造为,使用从WDPS生成的相位时钟接收数据信号,并将其发送至从缓冲器时钟信号生成的相位时钟。所以,所示的DRAM 110包括响应于WDPS的接收而操作的时钟复制/相位调整电路521,并且时钟复制/相位调整电路521连接至接收复制器523及接收相位比较电路525。在来自接收相位比较电路525的接收相位调整信号的控制下,所示的时钟复制/相位调整电路521从WDPS生成四相位数据接收DRAM内部相位时钟(0、90、180和270度),并将它们提供给域交叉电路501的第一级数据锁存电路527。
另一方面,缓冲器时钟信号被提供给时钟复制/相位调整电路(DLL)205,该时钟复制/相位调整电路(DLL)205由此生成四相位相位时钟,并将它们提供给域交叉电路501的第二级数据锁存电路529。
再参考图52,向域交叉电路501的第一级数据锁存电路527提供来自缓冲器105的数据信号(DQ),并进一步从时钟复制/相位调整电路521向它提供由WDPS生成的四相位数据接收DRAM内部相位时钟。因此,由四个接收器/锁存器组成的第一级数据锁存电路527以四相位数据接收DRAM的时序接收数据信号(DQ)并将其锁存,并且将它的输出分别提供给由四个触发电路组成的第二级数据锁存电路529。
四相位DRAM内部相位时钟被分别提供给第二级数据锁存电路529的四个触发电路,并且第一级数据锁存电路527的输出被根据四相位DRAM内部相位时钟而存储,并作为DRAM内部数据信号而输出。
进一步,时钟复制/相位调整电路205从缓冲器时钟信号生成0和180度的二相位相位时钟,并将它们提供给命令/地址接收器531。命令/地址接收器531根据二相位相位时钟接收命令/地址信号,并将其作为内部命令/地址信号而输出。因此,内部命令/地址信号以缓冲器时钟相位而生成,并且DRAM的内部读/写操作与缓冲器时钟相位同步地实现。
参考图53,显示了被使用的且连接至前述DRAM 110的缓冲器105的特定例子。所示缓冲器105中包括的时钟分割/相位比较调整电路601将缓冲器内部四相位相位时钟提供给域交叉电路602,并进一步将数据输出缓冲器内部四相位时钟输出至DQ输出驱动器301,这与图44所示的缓冲器105不同。进一步,向所示的域交叉电路602提供数据接收缓冲器内部四相位时钟,该时钟是基于来自时钟复制/相位调整电路305的RDPS而生成的。
再参考图54,图53所示的域交叉电路602的第一级数据锁存电路611包括用于根据四相位数据接收缓冲器内部相位时钟而接收数据信号(DQ)并将其锁存的四个接收器,并且各接收器的输出被分别提供给形成第二级数据锁存电路612的四个触发电路。这些触发电路根据四相位缓冲器内部相位时钟锁存第一级数据锁存电路的输出。如图所示,对应于0、90、180和270度数据接收缓冲器相位时钟,即代表RDPS的时钟,而在第一级数据锁存电路611中被接收和锁存的输出,分别在对应于270、0、90和180度内部相位时钟的第二级数据锁存电路612中被锁存,并且因此可以理解,数据被不同相位时钟锁存。换言之,在所示的例子中,可以看出,在缓冲器时钟信号的相位中执行了到90度超前相位的移位。
参考图55,说明在缓冲器105和近端DRAM 110N之间的写操作。缓冲器105将WDPS输出至近端DRAM 110N。为了保证用于将数据信号(DQ)在DRAM 110中从WDPS相位域移至时钟相位域的时间裕量,WDPS具有相对于缓冲器时钟信号超前90度(相对于全局时钟的1/2时钟;625ps)的相位。
图中,写命令(WRT)被与缓冲器时钟同步地从缓冲器105输出至近端DRAM 110N。另一方面,在对应于全局时钟的六个时钟的写延迟之后,数据信号(DQ)被与WDPS同步地从缓冲器105输出。
缓冲器105与缓冲器时钟同步地输出缓冲器时钟和写命令(WRT),并进一步输出WDPS且同时将它与缓冲器时钟匹配。
在这种情况中,写命令(WRT)和WDPS(即DQ)在近端DRAM110N接收,且它们之间有54ps的传播延迟差。
在从接收的写命令之后6个WL(写延迟)后,当数据信号(DQ)从缓冲器105与WDPS同步地输出时,它对应于从WDPS生成的数据相位时钟被输入DRAM 110N,并且发送至从缓冲器时钟信号生成的相位时钟。这里,用于从数据相位域交叉至时钟相位的保持时间和设置时间分别是1821ps和679ps。所示的近端DRAM 110N以接收的缓冲器时钟的时序将RDPS输出至缓冲器105。在72ps后,即在从全局时钟的相应相位的198ps之后,RDPS被输入缓冲器105。
参考图56,显示了相对于远端DRAM 110F的写操作。在这种情况中,假设在远端DRAM 110F接收的写命令(WRT)和数据信号(DQ)之间存在390ps的时滞传播延迟时间差,在缓冲器时钟和WDPS之间也存在类似的时滞。考虑到这一点,WDPS的相位超前90度,并且执行从WDPS相位到缓冲器时钟相位的域交叉。结果是,即使在远端DRAM 110F中,如图所示,也能够保证用于从数据相位域交叉至时钟相位的1485ps的保持时间和1015ps的设置时间,从而得到充足的时序裕量。
进一步,在读操作时,如图57所示,DRAM 110将RDPS传输至缓冲器105,以与缓冲器时钟相位同相,并且数据信号(DQ)在与RDPS匹配的同时被传输至缓冲器105。缓冲器105根据从RDPS生成的相位时钟信号接收数据信号。以这种方式,通过在缓冲器105内将数据信号发送至基于时钟信号生成的相位时钟信号,有可能将它与缓冲器105内的时钟相位相匹配。
在缓冲器105中,为了使得缓冲器105中的RDPS的相位能够相对于发送目的地时钟将裕量分配至设置时间和保持时间,执行使RDPS的0度对应时钟信号的270度的发送。
通过这个操作,如图58所示,当来自近端和远端DRAM的读数据在缓冲器105被接收时,可以保证充足的设置时间和保持时间。在所示的例子中,在近端DRAM 110N中能够保证823ps的保持时间和1677ps的设置时间,而在远端DRAM 110F中能够保证2055ps的保持时间和445ps的设置时间。在所示的例子中,在数据信号读操作中,总延迟等于DRAM中地1.5时钟与读出时间之和。
从前面可以清楚地看到,图42和51中所示的DRAM 110中的命令/地址接收时钟发生电路500和521、域交叉电路501和时钟复制/相位调整电路205作为DRAM侧电路而操作,用于吸收数据信号和命令/地址信号之间的时滞,而图44和52所示的缓冲器105中的时钟分割/相位比较调整电路601、域交叉电路602和时钟复制/相位调整电路305作为用于吸收时滞的缓冲器侧电路而操作。
在前述的两个例子中,提供给每一DRAM的时钟信号和数据相位信号(W/RDPS)是在缓冲器105中通过对系统时钟信号(即全局时钟)2分频(一分为二或除以2)而生成的。进一步,在每一DRAM和缓冲器105中,在命令/地址信号的情况下,时钟相位信号和数据相位信号以每1/2相位生成,而在数据信号的情况下,则时钟相位信号和数据相位信号以每1/4相位生成。进一步,内部生成并具有不同相位的时钟相位信号和数据相位信号互相关联,从而对时钟之间的接收的信号的时序进行移位。在这种情况中,由于每一相关联的信号的周期二倍于系统时钟信号周期,所以可以如上所述的相对于发送目的地相位信号保证对于设置时间和保持时间的裕量。
在这种情况中,对于设置时间和保持时间的裕量是完美的,使得接收了要发送的信号的相位信号的边沿正好位于发送目的地相位信号的边沿之间的中间位置。然而,在信号从缓冲器传输至DRAM的情况,可能执行调整,以相对于时钟信号延迟或超前缓冲器中WDPS的相位,从而更接近它。
进一步,当在缓冲器中匹配来自DRAM的DQ信号时,可以选择发送侧相位信号,从而来自远端和近端DRAM的RDPS的边沿接近用作发送目的地相位信号的WDPS或时钟信号的中间位置。在前述的例子中,可以清楚地看到,WDPS或时钟信号的270度相位信号被设置为对应RDPS的0度相位信号,从而达到来自DRAM的DQ信号的时序匹配。
进一步,直至DQ信号从DRAM传递至缓冲器才与模块上的时钟同步的飞升时间(flight time)在第一个例子的情况中变为数据信号在缓冲器和DRAM之间往返所需的时间,同时它在第二个例子的情况中变为读命令从缓冲器传输至DRAM所需的时间和数据信号从DRAM传输至缓冲器所需时间之和。在第一个例子中它变为最大为1040ps(对于远端DRAM的情况),而它在第二个例子中变为最大为1430ps。通过将系统时钟信号二分频,有可能在一个周期(2500ps)内执行处理(与缓冲器上的最初时钟相位匹配)。
参考图59,说明根据本发明的第三个例子的存储系统。在这个例子中,使用了DPS(数据相位信号),并且在抑制布线数目增加的同时,使得不同信号的DPS的传输/接收成为可能。这个例子与其它例子的不同之处在于,从每一DRAM传输的RDPS以及从缓冲器105传输的WDPS通过公用信号线被传输/接收,并且控制信号(指示)从缓冲器105传输至DRAM 110。这个控制信号(指示)在DRAM 110侧,在用于从缓冲器105接收数据相位信号(WDPS)的时间周期和用于向缓冲器105传输数据相位信号(RDPS)的时间周期之间进行切换。另一方面,缓冲器105根据自身的控制信号(指示)切换缓冲器105中的数据相位信号(DPS)的接收/传输。
如图59所示,由于控制信号可以在存储模块上的DRAM 110之间共享,所以用于控制信号(指示)的布线只增加了一条。
在根据前面所述的第三优选实施例的存储系统(即存储模块103)中,当信号线共享RDPS和WDPS时,有必要以漏极开路模式构造驱动电路。然而,在这个例子中,它还可以是CMOS推拉驱动器,或者可以使用不同的信号,使得能够提高时序准确性。
参考图60,显示了在这个例子中使用的DRAM 110的构造,而图61显示了该例中类似地使用的缓冲器105的构造。从图61中可以清楚地看出,缓冲器105具有DPS控制信号生成电路701,并且控制信号(指示)从DPS控制信号生成电路701传输至DRAM 110,而内部控制信号从DPS控制信号生成电路701输出至时钟分割/相位比较调整电路601、时钟复制/相位调整电路305和接收相位比较电路306。
另一方面,图60所示的DRAM 110具有DPS控制电路541,其响应接受到控制信号(指示)而切换DPS驱动器207的模式,并改变时钟复制/相位调整电路521和接收相位比较电路525的状态。由于已经解释了其它元件,所以这里不给出它们的细节。
参考图62,显示了在用于根据从缓冲器105传输的控制信号(指示)而从缓冲器105传输数据相位信号的时间周期和用于根据控制信号而从DRAM传输数据相位信号的时间周期之间进行切换的时序。在所示的例子中,两个时间周期被交替切换。
图63显示的情况中,指示的切换时间周期在用于允许DLL锁定(lock on)的初始化期间设置得长,而切换时间周期在用于微调的正常操作期间设置得与初始化期间相比短。以这种方式,缓冲器105可以将切换时间周期在初始化期间设置为长,从而允许DLL进行锁定;而它可以将切换时间周期在正常操作期间设置得与初始化期间相比较短,从而解决了工作噪声引起的波动。在这种结构中,尽管DRAM处的相位锁定时间在需要微调的初始化期间变得长,但是由于工作噪声引起的相位变化小,所以不会产生问题。
在前述例子中,在假设全局时钟的周期,即有效工作频率是800MHz的情况下,估计设置时间和保持时间。如果频率降低,则设置时间和保持时间也相应地降低,并且因此,在设计存储模块时可以以最大期望频率执行前述相位调整。
在前述例子中,只说明了在存储模块上提供缓冲器的存储系统。换言之,只说明了可以增加存储模块数的存储系统。然而,本发明还可以应用于具有以下结构的存储系统:其上安装了没有缓冲器的单个存储模块受到存储控制器的控制。在这种类型的存储系统中,前述例子中的缓冲器的功能可以由存储控制器实现。
参考图64,显示了前述存储系统的一个例子,作为本发明的另一个例子。所示的存储系统1000包括存储控制器1011、时钟发生器102和单个模块1031,在该模块1031上的左侧和右侧分别安装了四个DRAM 110(1至4)和五个DRAM(1’至5’)。换言之,所示的存储系统1000与其它图中所示的各存储系统基本相同,其中提供了存储控制器1011而不是缓冲器105。在所示的例子中,存储控制器1011和DRAM 110分别通过相同长度的数据布线DQ相互连接,并且在各DRAM 110处,来自存储控制器1011的数据信号DQ的到达时间基本相同。
在模块1031上,左侧的四个DRAM 110(1至4)通过公用时钟布线和公用命令/地址布线连接至存储控制器1011,而右侧的五个DRAM 110(1’至5’)也通过其它公用时钟布线和公用命令/地址布线连接至存储控制器1011。即,可以看出,左侧DRAM 110(1至4)和右侧DRAM 110(1’至5’)通过不同的时钟布线和命令/地址布线连接至存储控制器1011。
对于位于具有所示拓扑结构的存储系统的远端处的DRAM 110(4)和(5’),相对于存储控制器1011的时钟布线和地址/命令布线以及相对于存储控制器1011的数据布线DQ之间的布线长度有很大不同。
于是,在DRAM 110(4)和(5’)处,来自存储控制器1011的时钟信号(命令/地址信号)和数据信号DQ之间的传播延迟差变得比前述模块中的大。
例如,在所示的例子中,假设DRAM间距是13mm且信号单位传播时间tPD是14ps/mm,模块1031上的命令/地址信号的延迟在DRAM 110(4)处变为728ps(13×4×14),而在DRAM 110(5’)处变为910ps(13×5×14)。假设时钟和命令/地址信号以及数据信号DQ从存储控制器1011到模块1031的输入端的传播延迟互相相等,则在模块1031上的前述延迟分别变为命令/地址信号和数据信号DQ之间的时滞差。
根据本发明的第四个例子的存储系统1000使用利用的前述DPS(数据相位信号)的域交叉技术处理这些时滞差。参考图65,显示了图64所示的存储系统1000中的写操作。首先,时钟发生器102生成800MHz的参考时钟(即系统时钟),并将它们提供给存储控制器1011。存储控制器1011将参考时钟(系统时钟)二分频以生成400MHz的系统时钟,同时与生成的系统时钟同步地生成写命令(WRT)。
进一步,在图64所示的存储控制器1011中,生成了相对于时钟信号超前90度的DPS(WDPS),并且这个WDPS被传输至DRAM 110。在图65中,显示了WDPS仅被传输至DRAM 110(1’至5’)的情况。通过生成具有相对于时钟信号的超前相位的DPS,能够保证用于将命令/地址信号从时钟相位域交叉至DPS相位,即DRAM 110中的数据信号DQ相位,的设置时间和保持时间的裕量。即,通过使用相位相对于时钟相位经过移位的DPS,有可能对域交叉执行时序调整。
在图65中,当在DRAM 110(1’)处与时钟信号同步地接收写命令(WRT)时,使得WRT与DRAM 110(1’)处接收的DPS匹配,以作为DRAM内部比较信号(DRAM内部命令)而生成。在生成DRAM内部命令信号之后等待6个写延迟时间之后,在DRAM 110(1’)中完成数据信号写操作。
另一方面,时钟信号和WRT被提供给DRAM 110(5’),其与DRAM110(1’)相比具有延迟,并且DPS也以相对于时钟信号延迟965ps被提供给DRAM 110(5’)。在这种状态下,在DRAM 110(5’)处,使WRT与DPS匹配,以作为内部命令信号(DRAM内部命令)而生成。从图65可以清楚地看到,可以理解,通过实现前述的域交叉,能够在DRAM 110(1’)和(5’)中保证充足的设置时间和保持时间。
参考图66,显示了在图64所示的存储系统1000中的读操作。与写操作类似,存储控制器(MC)1011与400MHz的时钟信号同步地生成读命令(RED)。进一步,存储控制器(MC)1101生成相位相对于时钟信号超前90度的DPS(RDPS)。
来自存储控制器1011的时钟信号(CLK)和读命令(RED)在互不相同的传播延迟时间之后到达DRAM 110(1’至5’),而DPS通过长度相等的数据布线以基本相同的时序到达DRAM 110(1’至5’)。
以远端DRAM 110(5’)为例,DRAM 110(5’)与时钟信号同步地接收读命令(RED),并进一步接收DPS。与提供给其它DRAM 110的DPS类似,在存储控制器(MC)处生成目标DPS后经过700ps延迟时间之后,目标DPS被提供给远端DRAM 110(5’)。在远端DRAM110(5’)中,将与时钟信号同步地接收的RED匹配在远端DRAM 110(5’)接收的DPS,以作为内部命令信号(DRAM内部命令)而生成。以这种方式,执行从时钟信号的时序到DPS的时序的域交叉。
另一方面,在图64所示的存储系统1000中,在各DRAM 110处,来自存储控制器1011的数据信号DQ的到达时间基本相同。然而,在存储控制器1011中,有必要识别出从各DRAM 110接收的数据信号DQ,即识别出接收的数据DQ对应于哪个读命令(RED)。因此,存储控制器1011接收来自各DRAM 110的DPS,并使接收的DPS的时序匹配存储控制器(MC)的WDPS的时序,即执行域交叉。在存储控制器(MC)1011处,从DRAM 110读取的数据信号DQ与来自DRAM110的DPS(R)同步地接收,并与存储控制器(MC)1011的DPS(W)的时序匹配。即,在存储控制器(MC)1011处,在DPS(R)的相位接收的数据信号DQ被移位至DPW(W)的相位,即返回到时钟信号的相位。
于是,在存储控制器(MC)1011中,通过计数来自读命令(RED)的发行的时钟数目,有可能确定数据信号DQ对应于哪一读命令(RED)。
在图66中,假设存储控制器(MC)1011和模块1031之间的间距是100mm。在这种情况中,在存储控制器(MC)1011处,从DPS(W)的传输到具有相应相位的DPS(R)的接收的延迟时间是1400ps,并且用于在这种情况中的域交叉的设置时间和保持时间分别变为1400ps和1100ps,从而能够得到充足的时序裕量。
在图66中,DPS(W)从存储控制器(MC)1011传输至DRAM 110,并且相位与接收的DPS(W)相同的DPS(R)从DRAM 110传输至存储控制器(MC)1011。
于是,可以理解,这个实施例采用了DPS在相同的DPS布线上双向地传输的系统。于是,实际上,使用了存储控制器(MC)1011和各DRAM 110交替传输DPS的结构,并且基于接收的DPS复制内部时钟信号。
进一步,在图64所示的例子中,相对于存储模块1031,从存储控制器(MC)1011生成两对命令/地址信号和时钟信号。另一方面,当从存储控制器(MC)1011生成一对命令/地址信号和时钟信号时,能够得到类似的操作。
参考图67,根据本发明的第五个例子的存储系统1000的结构中,九个DRAM 110(1)至(9)安装在模块1031上,与图64类似,其中对于所有DRAM 110公用的命令/地址信号和时钟信号通过模块1031的左端,从存储控制器1011提供给这九个DRAM 110。即,九个DRAM110共享命令/地址信号和时钟信号。在这种情况中,假设传播延迟与图64中类似的发生,(728+910)ps(=1638ps)的传播延迟差发生于相对于最远端DRAM 110(9)处的数据信号DQ的命令/地址信号和时钟信号。即使以受到二分频的周期为2500ps的时钟信号实现域交叉,也难以保证足以处理如此大的传播延迟差的域交叉时序裕量。为了保证充足的域交叉所需的时序裕量,考虑使用周期比二二分频得到的周期更长的时钟。
另一方面,作为保证域交叉所需的充足时间裕量同时使用服从二分频的时钟的另一技术,考虑将模块1031上的DRAM 110分为两组(这里称为“第一和第二DQ通道”),如图67所示。在这种情况中,在存储控制器(MC)1011中,提供给第一和第二DQ通道的DPS(W)的相位被相对于时钟信号而相互移位。即,在所示的存储控制器(MC)1011中,相对于时钟信号的DPS(W)相位偏移值被设置为适合于第一和第二DQ通道的值。
在所示的例子中,DPS(W)的相位相对于第一DQ通道的时钟信号超前90度,同时DPS(W)与第二DQ通道的时钟信号同相地传输。
参考图68,说明属于第一DQ通道的DRAM 110(1)至(4)内的写操作。首先,存储控制器(MC)1011将时钟发生器102生成的800MHz的参考时钟信号二分频,从而生成400MHz的时钟信号。这个时钟信号通过时钟布线提供给属于第一DQ通道的DRAM 110(1)至(4)。存储控制器(MC)1011进一步将写命令WRT与生成的时钟信号同步地提供至命令/地址布线上。
另一方面,DPS(W)通过DPS布线提供给第一DQ通道的DRAM110(1)至(4),每一DPS布线长约100mm。在这种情况中,从图68可以清楚地看出,DPS(W)的相位相对于时钟信号的相位超前90度(即625ps)。
在存储控制器(MC)1011生成的DPS(W)通过DPS布线到达第一DQ通道的DRAM 110(1)至(4)。另一方面,时钟信号和写命令(WRT)通过时钟布线和命令/地址布线到达第一DQ通道的DRAM110(1)至(4)。由于每一时钟布线和命令/地址布线都比DPS布线长,所以时钟信号和写命令(WRT)的传播延迟时间变长,使得DPS和写命令(WRT)之间的传播延迟时间差在DRAM 110(1)处增至807ps。在DRAM 110(1)处,接收WRT后刚过1693ps就生成DRAM内部命令。这意味着,在DRAM 110(1)处,与时钟信号匹配的写命令(WRT)与接收的DPS的时序匹配。
进一步,在属于第一DQ通道的DRAM 110之中,远端DRAM 110(4)处的DPS(W)和时钟信号之间的传播延迟时间差变为1353ps。还是在这种情况中,通过将写命令(WRT)与DPS的时序相匹配,可以保1147ps的时间裕量。有了这个时间裕量,有可能保证域交叉所必须的设置时间和保持时间。
参考图69,显示了在属于第一DQ通道的DRAM 110(1)至(4)中的读操作。还是在这个例子中,读命令(RED)与时钟信号同步地从存储控制器(MC)1011提供给DRAM 110(1)至(4),并且生成的DPS相对于时钟信号超前90度,这与写操作的情况类似。这里,假设存储控制器(MC)1011和模块1031之间的距离是100mm,并且信号单位传播时间tPD是7ps/mm,DPS在700ps后到达DRAM 110(4)。DRAM 110(4)使得读命令(RED)匹配DPS,从而生成内部读命令,并将DPS(R)传输至存储控制器(MC)1011。这个DPS(R)在生成DPS(W)后经过1400ps后在存储控制器(MC)1011被接收。来自DRAM 110(4)的数据信号DQ以匹配DPS(R)的时序在存储控制器(MC)1011被接收。
通过将接收的DPS(R)的时序域交叉至DPS(W)的时序,存储控制器(MC)1011使得数据信号DQ的时序匹配DPS(W)的时序。通过这样,在读操作期间也能够得到(1400+1100),即2500ps的时间裕量。
现在,参考图70,说明属于图67所示的存储系统1000中的第二DQ通道的DRAM 110(5)至(9)的写操作。从图70可以清楚地看出,关于第二通道,存储控制器(MC)1011生成400Hz的时钟信号以及匹配该时钟信号的写命令WRT,并进一步生成与时钟信号相位相同的DPS(W)。以这种方式,在这个例子中,在属于第二DQ通道的DRAM 110(5)至(9)的DPS(W)和属于第一DQ通道的DRAM110(1)至(4)的DPS(W)之间,设置对应于时钟信号的90度的偏移值,从而即使在时钟信号和数据信号DQ之间存在大的传播延迟差,也能够进行域交叉。
特别地,来自存储控制器(MC)1011的时钟信号(CLK)和WRT通过长布线到达第二DQ通道的DRAM 110(5)至(9),而DPS(W)通过相对较短的DPS布线提供给DRAM 110(5)至(9)。在图70中,仅显示了DRAM 110(5)和(9)的操作。
从图67可以清楚地看出,DPS(W)到达DRAM 110(5)比时钟信号和WRT早910ps,并且在1590ps之后,DPS(W)与在DRAM110(5)接收的DPS(W)匹配。于是,在DRAM 110(5)处有可能保证域交叉所必须的设置时间和保持时间。
另一方面,从图67可清楚地看出,在存储控制器(MC)1011处产生之后,时钟信号和WRT相对于DPS(W)经过1638ps的延迟到达DRAM 110(9)。在最远端DRAM 110(9),接收的WRT与接收的DPS(W)相匹配,从而生成内部命令。在这种情况下,由于在WRT和DPS(W)之间有862ps的时间裕量,所以可以看出,保证了域交叉所需的设置时间和保持时间。
参考图71,说明第二DQ通道的DRAM 110(5)至(9)中的读操作。还是在这个情况中,时钟信号和读命令(RED)与DPS(W)同相地从存储控制器(MC)1011传输至DRAM 110(5)至(9)。
在第二DQ通道的DRAM 110中,与WRT的情况类似,DPS(W)到达最远端DRAM 110(9)比RED早1638ps。结果是,RED从时钟信号的时序移位至DRAM 110(9)处接收的DPS(W)的时序。
另一方面,当在存储控制器(MC)1011处生成DPS(W)时,DPS(W)在经过700ps之后到达DRAM 110(9),并且接收的DPS(W)就象DPS(R)而保持原样地从DRAM 110(9)传输至存储控制器(MC)1011,使得在存储控制器(MC)1011处生成延迟了1400ps的DPS(R)。
来自DRAM 110(9)的数据信号DQ以DPS(R)的时序传输至存储控制器(MC)1011。在存储控制器(MC)1011处,如图71所示,以DPS(R)的时序传输的数据信号DQ与存储控制器(MC)1011中的DPS(W)的时序匹配。如图所示,此时的时间裕量是2500ps,并且因此可以看出,能够保证足够执行域交叉的时间裕量。
如上所示,尽管在存储控制器(MC)1011中,在与读数据信号DQ有关的通道之间生成了对应于偏移的时间差,仍然能够充分保证从DPS(R)域交叉至时钟相位所需的时间裕量。
如上所示,由于存储控制器1011响应于来自时钟发生器102的系统时钟而操作,以得到类似于第一至第三例子中的缓冲器的操作,所以提供给缓冲器和存储控制器1011的全局时钟和系统时钟可以共同称作主时钟。
在本发明中,存储系统包括存储控制器和安装了存储电路和缓冲器的模块。包括存储控制器和模块上的存储电路之间的数据布线的布线是通过缓冲器得到的,并且包括数据布线的布线以框架模式连接到模块上的缓冲器。因此,无需每模块分支布线,并且因此可以防止阻抗不匹配引起的影响,以使得系统可以在高频高速下运行。进一步,根据本发明,将存储控制器和缓冲器之间的传输速度设置得比缓冲器和存储电路之间的传输速度高。这使得有可能增加连接至存储控制器的模块数。进一步,有可能构造不依赖存储电路的写/读速度的系统。
根据本发明的一个实施例,不仅数据布线,而且时钟布线和命令/地址布线从存储控制器连接到模块上的缓冲器。这可以使存储控制器和安装在模块上的各存储电路之间的距离基本相等。于是,可以避免由每个布线的不同延迟时间引起的时序差。进一步,根据本发明的另一实施例,通过在各模块上提供多个缓冲器并将各缓冲器连接至模块上的存储电路,可以分散施加在各缓冲器和布线上的负载。进一步,根据本发明的另一个实施例,要同时被选择的存储电路位于多个模块上,并且每一模块的缓冲器各自连接至存储控制器。这使得有可能分散施加到每一缓冲器的负载而不增加缓冲器的数目。