(57)【要約】【課題】タイミングの異なるパラレルデータを同期化し、転送する回路に関し、同期化のための遅延回路の規模を小さく。【解決手段】データストローブ信号で、パラレルデータがセットされる複数の第１のフリップフロップ回路（４２−０〜４２−Ｎ）と、複数の遅延回路（４４−０〜４４−Ｎ）と、複数の第２のフリップフロップ回路（４６−０〜４６−Ｎ）を有し、第２フリップフロップ回路のクロックにも、遅延量を分担させ、第２のフリップフロップ回路を、データ転送同期回路のデータ同期化に利用する。このため、遅延回路を大幅に少ない量の遅延素子で構成することができる。【選択図】図３
2006209638.tif 000002
【特許請求の範囲】
【請求項１】
データストローブ信号とともに転送されるパラレルデータを同期化し、転送するデータ転送同期回路において、
前記データストローブ信号に応じて、前記パラレルデータをセットする複数の第１のフリップフロップ回路と、
前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、
位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、
前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、
前記第２のフリップフロップ回路から同期化データを出力する
ことを特徴とするデータ転送同期回路。
【請求項２】
前記分別回路は、更に、選択されたクロックに第３の遅延量を与える遅延パスを有する
ことを特徴とする請求項１のデータ転送同期回路。
【請求項３】
前記転送元に送信する基準クロックから位相の異なる前記複数のクロックを生成するＤＬＬ回路を更に有する
ことを特徴とする請求項１のデータ転送同期回路。
【請求項４】
前記複数の第２のフリップフロップ回路の出力を、転送先のクロックでセットする複数のフリップフロップ回路を有するデータ組立回路を更に有する
ことを特徴とする請求項１のデータ転送同期回路。
【請求項５】
メモリからのデータストローブ信号とともに転送されるパラレルデータを同期化し、転送するデータ転送同期回路を複数有するメモリシステムにおいて、
前記データ転送回路の各々は、
前記データストローブ信号に応じて、前記パラレルデータをセットする複数の第１のフリップフロップ回路と、
前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、
位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、
前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、
前記第２のフリップフロップ回路から同期化データを出力する
ことを特徴とするメモリシステム。
【請求項６】
前記分別回路は、更に、選択されたクロックに第３の遅延量を与える遅延パスを有する
ことを特徴とする請求項５のメモリシステム。
【請求項７】
前記メモリに送信する基準クロックから位相の異なる前記複数のクロックを生成し、前記各データ転送同期回路に供給するＤＬＬ回路を更に有する
ことを特徴とする請求項５のメモリシステム。
【請求項８】
前記データ転送制御回路は、
前記複数の第２のフリップフロップ回路の出力を、転送先のクロックでセットする複数のフリップフロップ回路を有するデータ組立回路を更に有する
ことを特徴とする請求項５のメモリシステム。
【請求項９】
メモリと、メモリコントローラと、プロセッサとを有し、
前記メモリコントローラは、
前記メモリからのデータストローブ信号に応じて、前記メモリからのパラレルデータをセットする複数の第１のフリップフロップ回路と、
前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、
位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、
前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、
前記第２のフリップフロップ回路から同期化データを出力する
ことを特徴とするコンピュータシステム。
【請求項１０】
前記分別回路は、更に、選択されたクロックに第３の遅延量を与える遅延パスを有する
ことを特徴とする請求項９のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基板に設けられ回路チップからデータを読み出し、転送するデータ転送同期回路、コンピュータシステム及びメモリシステムに関し、特に、回路チップからのデータの遅延量が相違しても、同一のタイミングでデータ転送するためのデータ転送同期回路、コンピュータシステム及びメモリシステムに関する。
【背景技術】
【０００２】
半導体技術やチップの実装技術の進展に伴い、１枚の基板に、複数のＣＰＵ，大容量の主記憶装置を搭載した装置が、提供されている。例えば、ブレードサーバーと称される装置である。このような装置では、実装上の問題から、複数のモジュール（チップ）を、他のモジュール（チップ）と同一の距離に配置することが難しい。このため、データ要求元のＩＣチップが、データ要求先のＩＣチップからデータを得る時間に、ばらつきが出る。このばらつきは、主に、線路長や、ＩＣチップの性能に依存する。
【０００３】
近年のデータ処理速度の向上に伴い、このばらつきの幅も、無視できなくなり、このばらつきを低減するため、データ転送回路を設ける必要がある。例えば、メモリデバイスでは、レジスタに、ＤＬＬ（Delay Locked Loop）を設けることが提案されている（例えば、特許文献１、２参照）。
【０００４】
このようなクロックの制御のみでは、ＩＣチップ内のみでは、可能であるが、他のＩＣチップに接続された転送用ＩＣチップでは、更に、微調整を要するため、そのまま適用できない。
【０００５】
図８は、従来のデータ転送同期回路のブロック図、図９は、従来の遅延回路の構成図、図１０、図１１は、従来の転送動作の説明図である。図８に示すように、データ転送同期回路（例えば、メモリコントローラ）１００は、データ要求元のクロックＣＬＫ０を、分周する分周回路１１２を有するクロック制御回路１１０と、データ要求先チップ（ここでは、メモリ）２００からのデータをリードするためのリード制御回路１２０と、データ組立回路１３０を有する。
【０００６】
クロックＣＬＫ０は、データ要求側がデータを取り込むタイミングとして、発行する。クロック制御回路１１０の分周回路１１２は、データ要求先チップ２００の動作速度に合わせて、クロックＣＬＫ０を分周し、動作クロックＣＬＫ１を、データ要求先チップ２００に送信する。
【０００７】
データ要求先チップ２００では、このクロックＣＬＫ１に合わせて、受信したリードリクエストに従い、データストローブ信号ＤＱＳ［Ｎ：０］とデータＤＱ［０］−ＤＱ［Ｎ］をリード制御回路１２０に送信する。このデータＤＱ［０］−［Ｎ］は、シリアル信号である。
【０００８】
図１０に示すように、リード制御回路１２０は、データストローブ信号ＤＱＳ［Ｎ：０］をＤＱＳ制御回路１２２に入力して、ＤＱＳ［０］−［Ｎ］の立ち上がりを、フリップフロップ回路（ＦＦ００〜０Ｎ）１２４−０〜１２４−Ｎのクロックとして、ＦＦ１２４−０〜１２４−ＮでデータＤＱ［０］−［Ｎ］を取り込む。
【０００９】
一方、データ組立回路１３０では、データ組立タイミングが、クロックＣＬＫ０で規定されている。このため、従来は、リード制御回路１２０の出力フリップフロップ回路（ＦＦ１０〜１Ｎ）１２８−０〜１２８−Ｎは、クロックＣＬＫ０で、データが取り込める（同期化する）ようにしていた。
【００１０】
図１０に示すように、データストローブ信号ＤＱＳとクロックＣＬＫ０とは、位相が一致しないため、遅延回路（ＤＬ（ｂ０））１２６−０〜１２６−ＮのＴＡＰ［Ｎ：０］で決まられた遅延量を，ＦＦ１２４−０〜１２４−Ｎの出力に付加し、ＦＦ１２８−０〜１２８−Ｎに、クロックＣＬＫ０にセットし、データ組立回路１３０の取り込みタイミングに同期化していた。
【００１１】
データ組立回路１３０は、クロックＣＬＫ０のタイミングで、ＦＦ１２８−０〜１２８−Ｎの出力を、フリップフロップ回路（ＦＦ２０〜２Ｎ）１３２−０〜１３２−Ｎに取り込み、データの組み立てを行う。このように、遅延回路１２６−０〜１２６−Ｎを用いることによって，データＤＱの同期化を行っていた。
【００１２】
この遅延回路１２６−０〜１２６−Ｎは、図９に示すように、各々、１段、２段、３段、４段、５段、６段、７段、８段の遅延素子１４０を持つ８つのパスと、パスセレクタ１４２とで構成される。尚、８段の遅延素子１４０を直列接続したパスのみ、三角で示す遅延素子に参照符号を付しており、図の簡略化のため、他のパスの三角で示す遅延素子には、参照符号を付していない。
【００１３】
各遅延素子１４０は、例えば、トランジスタで構成され、同一の遅延量を有する。そして、必要な遅延量に応じて、セレクタ１４２のタップ選択ＴＡＰ０［０］により、パスが選択され、ＦＦ１２４−０〜１２４−Ｎの出力が、選択された遅延量分（図１０のＤＬｂ０）遅延され、ＦＦ１２８−０〜１２８−Ｎの入力となる。
【００１４】
この遅延回路１２６−０〜１２６−Ｎは、例えば、データＤＱ［０］−［Ｎ］が、パラレルの４（Ｎ＝４）ビットであれば、４個必要である。一方、図８に示すように、データ要求先チップ２００が、例えば、６４ビットのパラレル信号を出力する場合には、各信号のばらつきが大きく、１つのデータストローブ信号ＤＱ［Ｎ：０］では、対応できない。
【００１５】
このため、図１１に示すように、例えば、４ビット毎に、異なる位相で、データストローブ信号［Ｎ：０］〜［Ｎ：１５］を出力する。このため、リード制御回路１２０は、その個数分、例えば、前述の６４ビットパラレルでは、１６個設ける必要がある。そして、それに合わせて、遅延回路１２６−０〜１２６−Ｎの遅延量ＴＡＰを設定する。データ組立回路１３０は、この４ビットパラレルの信号を同期して、６４ビットパラレルの信号に組み立て、転送する。
【００１６】
更に、このような要求先ＩＣチップ２００が、複数個（ｍ個）基板に存在する場合には、各ＩＣチップ２００に対する遅延量と、線路長やチップ２００の性能により、各ＩＣチップ２００の信号遅延量は異なる。
【００１７】
例えば、同様に、図１１に示すように、各ＩＣチップ２００のデータストローブ信号ＤＱＳの位相が、図１０の信号ＤＱＳの位相と異なる場合には、遅延量は、ＤＬｂｍとなり、前述の図９による遅延回路の遅延量は異なる。このため、図８に示すように、リード制御回路１２０は、１６×ｍ個必要とし、図９に示した遅延回路は、４×１６×ｍ個必要である。
【特許文献１】特開２００３−０４４３５０号公報（図１）
【特許文献２】特開平１１−０８６５４５号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【００１８】
このように、従来技術では、各リード制御回路で、データストローブ信号の数とそのデータストローブ信号に応じたパラレルデータ数に応じた数の遅延回路を必要としていた。この遅延回路は、リード制御回路単独で任意の遅延量に調整できるようにしていたため、遅延量の範囲が大きかった。このため、各遅延回路で、多数の遅延素子を必要としていた。
【００１９】
例えば、前述の６４ビットパラレル転送において、４ビット毎に、データストローブ信号を発行する場合には、１６個のリード制御回路を、６４個の遅延回路を必要とする。この遅延回路は、前述のように、遅延量の範囲が大きいため、図９に示したように、８つの遅延パスと、３６個の遅延素子（トランジスタ）とを必要とした。
【００２０】
即ち、１つのリード制御回路で見ると、４×３６＝１４４個の遅延素子が必要であり、１チャンネル（＝６４ビットパラレル）で見ると、その１６倍である２３０４個の遅延素子が必要である。このため、回路（チップ）への搭載面積が大きく、小型化や低コスト化の阻害となっていた。又、その電力消費も大きく、チップの低電力化が難しい。更に、トランジスタによる遅延素子は、遅延量のばらつきが大きく、遅延精度の低下も招き、高速な同期転送が困難となっていた。
【００２１】
従って、本発明の目的は、複数のリード制御回路に必要とされる遅延素子の数を低減し、チップでの遅延回路の搭載面積を減少するためのデータ転送同期回路、コンピュータシステム及びメモリシステムを提供することにある。
【００２２】
又、本発明の他の目的は、複数のリード制御回路に必要とされる遅延素子の数を低減し、チップの小型化及び低コスト化を実現するためのデータ転送同期回路、コンピュータシステム及びメモリシステムを提供することにある。
【００２３】
更に、本発明の更に他の目的は、複数のリード制御回路に必要とされる遅延素子の数を低減し、チップの電力消費を低減するためのデータ転送同期回路、コンピュータシステム及びメモリシステムを提供することにある。
【００２４】
更に、本発明の更に別の目的は、複数のリード制御回路に必要とされる遅延素子の数を低減し、遅延量のばらつきを低減し、高速な転送を実現するためのデータ転送同期回路、コンピュータシステム及びメモリシステムを提供することにある。
【課題を解決するための手段】
【００２５】
この目的の達成のため、本発明のデータ転送同期回路は、データストローブ信号に応じて、パラレルデータをセットする複数の第１のフリップフロップ回路と、前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、前記第２のフリップフロップ回路から同期化データを出力する。
【００２６】
又、本発明のメモリシステムは、メモリからのデータストローブ信号とともに転送されるパラレルデータを同期化し、転送するデータ転送同期回路を複数有し、前記データ転送回路の各々は、前記データストローブ信号に応じて、前記パラレルデータをセットする複数の第１のフリップフロップ回路と、前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、前記第２のフリップフロップ回路から同期化データを出力する。
【００２７】
又、本発明のコンピュータシステムは、メモリと、メモリコントローラと、プロセッサとを有し、前記メモリコントローラは、前記メモリからのデータストローブ信号に応じて、前記メモリからのパラレルデータをセットする複数の第１のフリップフロップ回路と、前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、前記第２のフリップフロップ回路から同期化データを出力する。
【００２８】
更に、本発明では、好ましくは、前記分別回路は、更に、選択されたクロックに第３の遅延量を与える遅延パスを有する。
【００２９】
更に、本発明では、好ましくは、前記転送元に送信する基準クロックから位相の異なる前記複数のクロックを生成するＤＬＬ回路を更に有する。
【００３０】
更に、本発明では、好ましくは、前記複数の第２のフリップフロップ回路の出力を、転送先のクロックでセットする複数のフリップフロップ回路を有するデータ組立回路を更に有する。
【００３１】
更に、本発明では、好ましくは、前記複数の遅延回路が、各々遅延素子の直列接続段数の異なる複数の遅延パスと、前記複数の遅延パスの１つをタップ選択する選択部とを有する。
【００３２】
更に、本発明では、好ましくは、前記分別回路は、前記複数のクロックから１つのクロックをタップ選択する選択部を有する。
【００３３】
更に、本発明では、好ましくは、前記データ転送同期回路に、複数のメモリが接続された。
【００３４】
更に、本発明では、好ましくは、前記データ転送制御回路と前記複数のメモリとの接続距離が異なる。
【発明の効果】
【００３５】
本発明では、第２のフリップフロップ回路のクロックにも、遅延量を分担させ、第２のフリップフロップ回路を、データ転送同期回路のデータ同期化に利用したため、遅延回路を大幅に少ない量の遅延素子で構成することができる。このため、チップの搭載面積を削減でき、小型化、低コスト化に寄与し且つ遅延素子の数が減るため、低電力化が可能である。更に、クロックによる遅延を併用しているため、遅延素子のばらつきによる影響を最小限とできる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態を、コンピュータシステム、データ転送同期回路、他の実施の形態の順で説明する。
【００３７】
［コンピュータシステム］
図１は、本発明の一実施の形態のコンピュータシステムの構成図、図２は、図１のメモリシステムの実装図である。図１は、サーバーのコンピュータ基板の構成を示す。
【００３８】
図１に示すように、コンピュータ基板には、４つのＣＰＵ（Central  Processor  Unit）１−０，１−１，１−２，１−３と、ＣＰＵ制御回路２と、メモリ制御回路３と、主記憶モジュールを構成する８つのＤＩＭＭ（Dual  In―line  Memory  Module）４−０〜４−７とが搭載される。ＤＩＭＭ４−０〜４−７は、ＤＲＡＭ（Dynamic  Random  Access  Memory）チップを搭載したモジュールであり、データバス幅は、６４ビットである。
【００３９】
８つのＤＩＭＭ４−０〜４−７は、２つずつ、メモリ制御回路３に接続される。従って、メモリ制御回路３は、４チャネルのデータ転送チャネルを有する。メモリ制御回路３は、６４ビットのデータバスで、ＣＰＵ制御回路２に接続され、ＣＰＵ制御回路２は、４つの６４ビットデータバスで、各ＣＰＵ１−０〜１−３（正確には、ＣＰＵ内のキャッシュメモリ）に接続される。
【００４０】
図２に示すように、メモリ制御回路３の４つのデータ転送チャネル３−０〜３−３は、各々ＤＩＭＭ４−０と４−１、４−２と４−３、４−４と４−５、４−６と４−７に接続される。そして、回路基板への実装上、メモリ制御回路３と、ＤＩＭＭ４−０，４−１，４−２，４−３との線路長とが異なる。同様に、メモリ制御回路３と、ＤＩＭＭ４−４，４−５，４−６，４−７との線路長とが異なる。
【００４１】
このようなコンピュータシステムでは、１つの回路基板に、複数のＣＰＵと大容量の主記憶モジュールを搭載できるため、各ＣＰＵと主記憶との距離が短くなり、高速なメモリ読み出し、書き込みが可能となり、且つ並列処理も高速に実行できる。
【００４２】
［データ転送回路］
次に、メモリ制御回路３の各データ転送チャネル３−０〜３−３に設けられたデータ転送回路を説明する。図３は、データ転送回路の構成図、図４は、図３のＤＬＬ及び分別回路の構成図、図５は、遅延回路の構成図、図６は、図４のＤＬＬの出力の説明図、図７は、図３のデータ転送動作のタイムチャート図である。
【００４３】
図３に示すように、メモリ制御回路３の１チャネルのデータ転送同期回路３−０は、クロック発生源３０と、１つのクロック制御回路３２と、１６個のリード制御回路３４−０〜３４−１５と、１６個のデータ組立回路３６−０〜３６−１５で構成される。
【００４４】
データ転送同期回路３−０は、リード要求先のＤＩＭＭ４−０にクロックＣＬＫ１を供給し、ＤＩＭＭ４−０は、データ転送同期回路３−０に、Ｎビット（ここでは、４ビット）のパラレルデータＤＱ［０］〜ＤＱ［Ｎ］に、１つのデータストローブ信号ＤＱＳ［Ｎ：０］を送信する。従って、ＤＩＭＭ４−０が、６４ビットのパラレルデータを送信する場合には、１６個のデータストローブ信号と、１６個の４ビットパラレルデータを、データ転送同期回路３−０に送信する。
【００４５】
この各データストローブ信号と、４ビットパラレルデータに対応して、リード制御回路３４−０〜３４−１５、データ組立回路３６−０〜３６−１５が設けられる。
【００４６】
図３に示すように、クロック発生源３０は、クロックＣＬＫ０と、データ要求側（ここでは、メモリ制御回路であり、システム共通）が，データを取り込むタイミングクロックＣＬＫ２を出力する。クロック制御回路３２は、ＤＩＭＭ４−０の動作速度に合わせて、クロックＣＬＫ０を分周する分周回路１０と、ＤＬＬ（Delayed  Lock  Loop）回路１２とを有し、動作クロックＣＬＫ１を、ＤＩＭＭ４−０に送信する。
【００４７】
このＤＬＬ回路１２は、図６に示すように、分周回路１０の基準クロックＡ０と、この基準クロックＡ０と位相が９０度づつ異なったクロック信号Ａ１，Ａ２，Ａ３を出力する。この４相のクロック信号Ａ０、Ａ１，Ａ２，Ａ３は、各リード制御回路３４−０〜３４−１５に供給される。
【００４８】
一方、各リード制御回路３４−０〜３４−１５は、分別回路２０と、ＤＱＳ制御回路４０と、Ｎ個の入力フリップフロップ回路（ＦＦ００〜０Ｎ）４２−０〜４２−Ｎと、Ｎ個の遅延回路４４−０〜４４−Ｎと、Ｎ個の出力フリップフロップ回路４６−０〜４６−Ｎとを有する。
【００４９】
又、各データ組立回路３６−０〜３６−１５は、クロックＣＬＫ２で動作するＮ個のフリップフロップ回路４８−０〜４８−Ｎを有する。
【００５０】
図４に示すように、分別回路２０は、ＤＬＬ回路１２の４相のクロックＡ０，Ａ１，Ａ２，Ａ３を入力され、第１の遅延タップＴＡＰ１で、その１つを選択するセレクタ２２と、４つの遅延パス２４と、遅延パス２４の１つを、第１の遅延設定値ＴＡＰ１で、選択するセレクタ２６とを有する。各遅延パス２４は、直列１段、２段、３段、４段の遅延素子８０で構成される。
【００５１】
この分別回路２０の出力が、各出力フリップフロップ回路４６−０〜４６−Ｎの取り込みクロックとなる。又、図５に示すように、リード制御回路３４−０〜３４−１５の遅延回路４４−０〜４４−Ｎは、４つの遅延パス５０と、遅延パス５０の１つを、第２の遅延タップＴＡＰ０［０］で、選択するセレクタ５２とを有する。各遅延パス５０は、直列１段、２段、３段、４段の遅延素子９０で構成される。
【００５２】
図７を参照して、動作を説明する。リード制御回路３４−０では、データストローブ信号ＤＱＳ［Ｎ：０］をＤＱＳ制御回路４０に入力して、ＤＱＳ出力の立ち上がりを、フリップフロップ回路（ＦＦ００〜０Ｎ）４２−０〜４２−Ｎのクロックとして、ＦＦ４２−０〜４２−ＮでデータＤＱ［０］−［Ｎ］を取り込む。
【００５３】
一方、データ組立回路３６−０では、データ組立タイミングが、クロックＣＬＫ２で規定されている。このため、リード制御回路１２０の出力フリップフロップ回路（ＦＦ１０〜１Ｎ）４６−０〜４６−Ｎは、このクロックＣＬＫ２で、データ組立回路３６−０が、データを取り込めるように遅延する。
【００５４】
即ち、本発明では、フリップフロップ回路（ＦＦ１０〜１Ｎ）４６−０〜４６−Ｎを、１つのリード制御回路３４−０内のデータＤＱ［０］〜ＤＱ［Ｎ］の同期化に使用し、複数のリード制御回路３４−０〜３４−１５のデータの同期化は、データ組立回路３６−０〜３６−１５で、クロックＣＬＫ２で行う。
【００５５】
このため、１つのリード制御回路３４−０において、フリップフロップ回路（ＦＦ１０〜１Ｎ）４６−０〜４６−Ｎは、分別回路２０で選択されたクロックＣＬＫ３で動作する。
【００５６】
この分別回路２０では、図４で示したように、ＤＬＬ回路１２からの４相クロックから、第１の遅延タップＴＡＰ１［０］によるセレクタ２２の選択によって，任意の位相のクロックを得て、且つ微小な遅延量を、第１の遅延タップＴＡＰ１［０］によるセレクタ２６の遅延パス２４の選択によって行い、クロックＣＬＫ３を出力する。
【００５７】
このクロックＣＬＫ３によって、データを取り込むフリップフロップ回路４６−０〜４６−Ｎの出力は、十分にセットアップのマージンを持って、データ組立回路３６−０のフリップフロップ回路（ＦＦ２０〜ＦＦ２Ｎ）４８−０〜４８−Ｎと同期化を行うことができる。
【００５８】
一方、遅延回路（ＤＬ（ｂ１））４４−０〜４４−Ｎは、図５に示したように、４つの遅延パス５０から第２のタップ値ＴＡＰ０［０］で決まられた遅延量（セレクタ５２）を，ＦＦ４２−０〜４２−Ｎの出力に付加し、ＦＦ４６−０〜４６−Ｎに出力する。
【００５９】
このように、従来技術では、任意範囲の遅延を得るためたくさんの遅延素子を選択していたが、分別回路２０の選択信号を、フリップフロップ回路４２−０〜４２−Ｎのクロックとして使用するため、従来技術に比べて、大幅に少ない量の遅延素子９０で構成することができる。
【００６０】
図７に示すように、入力フリップフロップ回路（ＦＦ００〜ＦＦ０Ｎ）４２−０〜４２−Ｎの出力を、遅延回路４４−０〜４４−Ｎで、第１の遅延ＤＬｂ１を、データＤＱ［０］〜ＤＱ［Ｎ］に与え、フリップフロップ回路（ＦＦ１０〜ＦＦ１Ｎ）４６−０〜４６−Ｎに入力する。
【００６１】
そして、フリップフロップ回路（ＦＦ１０〜ＦＦ１Ｎ）４６−０〜４６−Ｎは、ＤＬＬ回路１２の出力を分別回路２０で選ばれたクロック信号で動作させ、データ組立回路３６−０のＦＦ４６−０〜４６−ＮにデータＤＱを同期化する。
【００６２】
このように、従来技術では、遅延回路ＤＬ（ｂ０）の遅延量の範囲が大きかったため，たくさんの遅延素子が必要であったが、本発明では、フリップフロップ回路４６−０〜４６−ＮのクロックＣＬＫ３にも、遅延量を分担させ、フリップフロップ４６−０〜４６−Ｎを、１つのリード制御回路３４−０のデータ同期化に利用したため、遅延回路を大幅に少ない量の遅延素子で構成することができる。
【００６３】
又、このために付加される分別回路２０は、１つのリード制御回路３４−０に、１つ設ければ良いため、全体的にも、回路素子を削減できる。例えば、前述と同様に、リード制御回路３４−０が、４ビットパラレルの同期化を行う場合には、従来技術では、１つのリード制御回路に、１４４個の遅延素子を必要とする。
【００６４】
しかし、本発明を適用すると、リード制御回路３４−０の遅延回路４４−０〜４４−Ｎは、４０個の遅延素子でよく、分別回路２０は、１０個の遅延素子で済むため、１つのリード制御回路でみても、５０個の遅延素子で良い。又、分別回路２０のセレクタ２２，２６は、単なるタップ選択素子のため、構成が簡単である。従って、約１／３程度の素子数に削減できる。
【００６５】
又、１つのリード制御回路でも効果がある他に、図３のような１６個のリード制御回路を設けた場合には、その１６倍の素子数（９０×１６＝１４４０）の削減ができ、更に、図２のように、４チャネル分では、更に４倍（１４４０×４＝５７６０）の素子数の削減ができる。
【００６６】
このため、チップの搭載面積を削減でき、小型化、低コスト化に寄与し且つ遅延素子の数が減るため、低電力化が可能である。更に、クロックによる遅延を併用しているため、遅延素子のばらつきによる影響を最小限とできる。例えば、正確な遅延信号の生成として、従来技術では、遅延回路のバラツキを、９０ｎｓで設計した時には、実際には、８５〜１３５ｎｓのバラツキを持つが、本発明を適用すると、ばらつきが９０〜９４．５ｎｓの高精度な遅延を得ることができ、高速なデータリードを実現できる。
【００６７】
［他の実施の形態］
前述の実施の形態では、ＤＩＭＭ（メモリ）からのリード動作で説明したが、ＣＰＵのキャッシュメモリからのリード動作にも適用でき、他のチップ間の送信データの同期転送にも適用できる。又、分別回路を、クロック選択と遅延パスで構成したが、ＤＬＬ回路が更に、複数の位相のクロックを出力する場合には、遅延パスを省くこともできる。
【００６８】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００６９】
（付記１）データストローブ信号とともに転送されるパラレルデータを同期化し、転送するデータ転送同期回路において、前記データストローブ信号に応じて、前記パラレルデータをセットする複数の第１のフリップフロップ回路と、前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、前記第２のフリップフロップ回路から同期化データを出力することを特徴とするデータ転送同期回路。
【００７０】
（付記２）前記分別回路は、更に、選択されたクロックに第３の遅延量を与える遅延パスを有することを特徴とする付記１のデータ転送同期回路。
【００７１】
（付記３）前記転送元に送信する基準クロックから位相の異なる前記複数のクロックを生成するＤＬＬ回路を更に有することを特徴とする付記１のデータ転送同期回路。
【００７２】
（付記４）前記複数の第２のフリップフロップ回路の出力を、転送先のクロックでセットする複数のフリップフロップ回路を有するデータ組立回路を更に有することを特徴とする付記１のデータ転送同期回路。
【００７３】
（付記５）前記複数の遅延回路が、各々遅延素子の直列接続段数の異なる複数の遅延パスと、前記複数の遅延パスの１つをタップ選択する選択部とを有することを特徴とする付記１のデータ転送同期回路。
【００７４】
（付記６）前記分別回路は、前記複数のクロックから１つのクロックをタップ選択する選択部を有することを特徴とする付記１のデータ転送同期回路。
【００７５】
（付記７）メモリからのデータストローブ信号とともに転送されるパラレルデータを同期化し、転送するデータ転送同期回路を複数有するメモリシステムにおいて、前記データ転送回路の各々は、前記データストローブ信号に応じて、前記パラレルデータをセットする複数の第１のフリップフロップ回路と、前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、前記第２のフリップフロップ回路から同期化データを出力することを特徴とするメモリシステム。
【００７６】
（付記８）前記分別回路は、更に、選択されたクロックに第３の遅延量を与える遅延パスを有することを特徴とする付記７のメモリシステム。
【００７７】
（付記９）前記メモリに送信する基準クロックから位相の異なる前記複数のクロックを生成し、前記各データ転送同期回路に供給するＤＬＬ回路を更に有することを特徴とする付記７のメモリシステム。
【００７８】
（付記１０）前記データ転送制御回路は、前記複数の第２のフリップフロップ回路の出力を、転送先のクロックでセットする複数のフリップフロップ回路を有するデータ組立回路を更に有することを特徴とする付記７のメモリシステム。
【００７９】
（付記１１）前記複数の遅延回路が、各々遅延素子の直列接続段数の異なる複数の遅延パスと、前記複数の遅延パスの１つをタップ選択する選択部とを有することを特徴とする付記７のメモリシステム。
【００８０】
（付記１２）前記分別回路は、前記複数のクロックから１つのクロックをタップ選択する選択部を有することを特徴とする付記７のメモリシステム。
【００８１】
（付記１３）前記データ転送同期回路に、複数のメモリが接続されたことを特徴とする付記７のメモリシステム。
【００８２】
（付記１４）前記データ転送制御回路と前記複数のメモリとの接続距離が異なることを特徴とする付記１３のメモリシステム。
【００８３】
（付記１５）メモリと、メモリコントローラと、プロセッサとを有し、前記メモリコントローラは、前記メモリからのデータストローブ信号に応じて、前記メモリからのパラレルデータをセットする複数の第１のフリップフロップ回路と、前記複数の第１のフリップフロップ回路の出力を第１の遅延量分遅延する複数の遅延回路と、位相の異なる複数のクロックから第２の遅延量を得るためのクロックを選択する分別回路と、前記クロックに応じて、前記複数の遅延回路の出力をセットする複数の第２のフリップフロップ回路とを有し、前記第２のフリップフロップ回路から同期化データを出力することを特徴とするコンピュータシステム。
【００８４】
（付記１６）前記分別回路は、更に、選択されたクロックに第３の遅延量を与える遅延パスを有することを特徴とする付記１５のコンピュータシステム。
【００８５】
（付記１７）前記メモリコントローラは、前記メモリに送信する基準クロックから位相の異なる前記複数のクロックを生成するＤＬＬ回路を更に有することを特徴とする付記１５のコンピュータシステム。
【００８６】
（付記１８）前記メモリコントローラは、前記複数の第２のフリップフロップ回路の出力を、転送先のクロックでセットする複数のフリップフロップ回路を有するデータ組立回路を更に有することを特徴とする付記１５のコンピュータシステム。
【００８７】
（付記１９）前記複数の遅延回路が、各々遅延素子の直列接続段数の異なる複数の遅延パスと、前記複数の遅延パスの１つをタップ選択する選択部とを有することを特徴とする付記１５のコンピュータシステム。
【００８８】
（付記２０）前記分別回路は、前記複数のクロックから１つのクロックをタップ選択する選択部を有することを特徴とする付記１５のコンピュータシステム。
【産業上の利用可能性】
【００８９】
第２のフリップフロップ回路のクロックにも、遅延量を分担させ、第２のフリップフロップ回路を、データ転送同期回路のデータ同期化に利用したため、遅延回路を大幅に少ない量の遅延素子で構成することができる。このため、チップの小型化、省電力化、遅延時間のばらつき低減に寄与する。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施の形態のコンピュータシステムの構成図である。
【図２】図１のメモリシステムの実装図である。
【図３】図２のデータ転送同期回路の構成図である。
【図４】図３の分別回路のブロック図である。
【図５】図３の遅延回路の構成図である。
【図６】図３のＤＬＬ回路の出力クロックの説明図である。
【図７】図３のデータ転送同期シーケンス図である。
【図８】従来のデータ転送同期回路の構成図である。
【図９】図８の遅延回路の構成図である。
【図１０】図８のデータ転送同期動作の説明図である。
【図１１】図８の別のデータ転送同期動作の説明図である。
【符号の説明】
【００９１】
３−０〜３−３  データ転送同期回路
４−０〜４−７  メモリ
１２  ＤＬＬ回路
２０  分別回路
３０  クロック発生源
３２  クロック制御回路
３４−０〜３４−１５  リード制御回路
３６−０〜３６−１５  データ組立回路
４０  ＤＱＳ制御回路
４２−０〜４２−Ｎ  第１のフリップフロップ回路
４４−０〜４４−Ｎ  遅延回路
４６−０〜４６−Ｎ  第２のフリップフロップ回路
【図１】
2006209638.tif 000003
【図２】
2006209638.tif 000004
【図３】
2006209638.tif 000005
【図４】
2006209638.tif 000006
【図５】
2006209638.tif 000007
【図６】
2006209638.tif 000008
【図７】
2006209638.tif 000009
【図８】
2006209638.tif 000010
【図９】
2006209638.tif 000011
【図１０】
2006209638.tif 000012
【図１１】
2006209638.tif 000013