(57)【要約】【課題】システムが動作中であっても、さらには、小型化・高速化を要する環境下であっても、安定した同期型データ転送の実現が可能な同期型データ転送システムを提供する。【解決手段】例えばメモリ２からデータ転送用クロック３２に同期させてデータ・バス３１ａを介してデータを転送する際に、データ転送要求受付後最初のデータをメモリコア２２から取り出すまでのデータ出力待ち時間を利用して、遅延時間測定データ格納部２３に格納している遅延時間測定データ２３ａ〜２３ｃをデータ・バス３１ａに送信することにより、制御ＬＳＩ１０の遅延時間測定部１２にてデータ・バス３１ａの遅延時間を測定し、遅延調整制御部１７は、測定した遅延時間に基づいて、データ・バス３１ａを介して転送されてくるメモリコア２２からのデータを取り込むためのデータ取り込みタイミングを調整して、メモリコントローラ１１に供給する。【選択図】        図５
2010198328.tif 000002
【特許請求の範囲】
【請求項１】
データ転送用クロックに同期させてデータ伝送路を介してデータを転送する同期型データ転送システムにおいて、データ転送要求後最初のデータが転送されるまでのデータ出力待ち時間を利用して、前記データ伝送路の遅延時間を測定する遅延時間測定手段を備えていることを特徴とする同期型データ転送システム。
【請求項２】
前記遅延時間測定手段は、前記データ出力待ち時間中のあらかじめ定めたタイミングで、データの送信側から前記伝送路を介して送信されてくる遅延時間測定データを受信することにより、前記伝送路の遅延時間を測定することを特徴とする請求項１に記載の同期型データ転送システム。
【請求項３】
前記遅延時間測定データは、“０”から“１”へ、および、“１”から”０”への双方の変化を有するデータ形式から構成されていることを特徴とする請求項２に記載の同期型データ転送システム。
【請求項４】
前記遅延時間測定手段によって測定された前記伝送路の遅延時間に基づいて、当該伝送路を介して転送されてくるデータを取り込むためのデータ取り込みタイミングを調整する遅延調整手段を備えていることを特徴とする請求項１ないし３のいずれかに記載の同期型データ転送システム。
【請求項５】
前記遅延調整手段は、さらに、前記伝送路を介して転送されてくるデータを取り込むデータ取り込み部のセットアップ時間およびホールド時間を勘案して、前記データ取り込みタイミングを調整することを特徴とする請求項４に記載の同期型データ転送システム。
【請求項６】
前記伝送路が複数の信号線からなっている場合、前記遅延時間測定手段は、複数の前記信号線それぞれを介して送信されてくる前記遅延時間測定データの遅延時間の測定結果から、最大遅延時間と最小遅延時間とを取得し、前記遅延調整手段は、前記遅延時間測定手段が取得した前記最大遅延時間と前記最小遅延時間、および、前記データ取り込み部の前記セットアップ時間および前記ホールド時間を勘案して、前記データ取り込みタイミングを調整することを特徴とする請求項５に記載の同期型データ転送システム。
【請求項７】
前記遅延調整手段は、次の式によって算出されるクロック遅延量Ｔｄだけ、
クロック遅延量Ｔｄ
＝｛Ｔｃ＋（Ｔｍａｘ＋Ｔｓ）−（Ｔｍｉｎ＋Ｔｈ）｝×（１／２）
ただし、Ｔｃ    ：データ転送用クロックサイクル時間
Ｔｍａｘ：データ伝送路の最大遅延時間
Ｔｍｉｎ：データ伝送路の最小遅延時間
Ｔｓ    ：データ取り込み部のセットアップ時間
Ｔｈ    ：データ取り込み部のホールド時間
前記データ転送用クロックから遅延させたタイミングを、前記データ取り込みタイミングとすることを特徴とする請求項６に記載の同期型データ転送システム。
【請求項８】
当該同期型データ転送システムは、メモリとＣＰＵとの間のメモリバスシステム、メモリと外部記憶装置との間のデータチャネルバスシステムを少なくとも含むことを特徴とする請求項１ないし７のいずれかに記載の同期型データ転送システム。
【請求項９】
データ転送用クロックに同期させてデータ伝送路を介してデータを転送する動作を制御する同期型データ転送制御方法であって、データ転送要求後最初のデータが転送されるまでのデータ出力待ち時間を利用して、前記データ伝送路の遅延時間を測定することを特徴とする同期型データ転送制御方法。
【請求項１０】
前記データ出力待ち時間中のあらかじめ定めたタイミングで、データの送信側から前記伝送路を介して送信されてくる遅延時間測定データを受信することにより、前記伝送路の遅延時間を測定することを特徴とする請求項９に記載の同期型データ転送制御方法。
【請求項１１】
前記遅延時間測定データは、“０”から“１”へ、および、“１”から”０”への双方の変化を有するデータ形式から構成されていることを特徴とする請求項１０に記載の同期型データ転送制御方法。
【請求項１２】
測定された前記伝送路の遅延時間に基づいて、当該伝送路を介して転送されてくるデータを取り込むためのデータ取り込みタイミングを調整することを特徴とする請求項９ないし１１のいずれかに記載の同期型データ転送制御方法。
同期型データ転送制御方法。
【請求項１３】
さらに、前記伝送路を介して転送されてくるデータを取り込むデータ取り込み部のセットアップ時間およびホールド時間を勘案して、前記データ取り込みタイミングを調整することを特徴とする請求項１２に記載の同期型データ転送制御方法。
【請求項１４】
前記伝送路が複数の信号線からなっている場合、複数の前記信号線それぞれを介して送信されてくる前記遅延時間測定データの遅延時間の測定結果から、最大遅延時間と最小遅延時間とを取得し、前記最大遅延時間と前記最小遅延時間、および、前記データ取り込み部の前記セットアップ時間および前記ホールド時間を勘案して、前記データ取り込みタイミングを調整することを特徴とする請求項１３に記載の同期型データ転送制御方法。
【請求項１５】
次の式によって算出されるクロック遅延量Ｔｄだけ、
クロック遅延量Ｔｄ
＝｛Ｔｃ＋（Ｔｍａｘ＋Ｔｓ）−（Ｔｍｉｎ＋Ｔｈ）｝×（１／２）
ただし、Ｔｃ    ：データ転送用クロックサイクル時間
Ｔｍａｘ：データ伝送路の最大遅延時間
Ｔｍｉｎ：データ伝送路の最小遅延時間
Ｔｓ    ：データ取り込み部のセットアップ時間
Ｔｈ    ：データ取り込み部のホールド時間
前記データ転送用クロックから遅延させたタイミングを、前記データ取り込みタイミングとすることを特徴とする請求項１４に記載の同期型データ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同期型データ転送システムおよび同期型データ転送制御方法に関する。
【背景技術】
【０００２】
近年、携帯電話機、ＰＨＳ（Personal  Handy-Phone  System）、ＰＤＡ（Personal  Digital  Assistants）、ゲーム機などの携帯機器は、ユーザのニーズに対応して、小型化、多機能化、高機能化、省電力化が進んでいるが、下記の要因によりＣＰＵとメモリとの間のインターフェース等、構成要素（電子部品）間のデータ転送における信頼性の確保が難しくなってきている。
【０００３】
つまり、多機能化により、部品点数の削減や、部品サイズの小型化が進まず、一方では、小型化を強いられるため、携帯機器内は、より高密度実装が要求されることになる。この結果、携帯機器内の温度上昇率が高くなり易く、冬季の室外での使用時には、温度変動が大きくなる。
【０００４】
また、基板上の信号配線や、電源、ＧＮＤ（グランド）パターンは、電流やノイズに対するマージンを十分に取ることができず、また、実装面積が少ないため、マージンを確保するための対策部品を実装することも難しく、電源電圧変動に対する配慮も不十分となる。
【０００５】
かかる問題に対応しつつ、多機能化、高機能化を図るために、構成要素（電子部品）間のデータ転送インターフェースは、特許文献１の特開平６−２８２５２５号公報「同期型バス装置」や特許文献２の特開平１０−３４０２２２号公報「メモリ装置の入力回路及び出力回路」のように、高速かつ高効率の同期式データ転送方式が採用されている。しかし、データ転送速度が高速になればなるほど、データ転送の信号遅延は、より高い精度が必要となり、電源電圧変動や温度変動の影響を受け易くなる。
【０００６】
例えば、近年、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory：同期型ＤＲＡＭ）やＦＬＡＳＨ  ＲＯＭ（Read  Only  Memory：フラッシュメモリ型読み出し専用メモリ）などに用いられている同期式データ転送方式は、データ転送速度の高速化が進み、データ転送周波数が数百ＭＨｚまで達している。
【０００７】
このため、データ転送における各信号のタイミングは非常に高い精度を必要としているが、データ伝送路の各信号線の配線長や負荷容量の差、データ送信側、データ受信側の半導体等の部品の製造ばらつき等による、データ転送路の各信号線間の転送遅延時間の差が発生するため、タイミングに対するマージン(余裕度)が減少する。
【０００８】
このタイミングに対するより多くのマージンを確保するためには、前記特許文献２のように、データ転送を行う構成要素（電子部品）内部にデータ遅延調整回路を備えるようにし、データ受信側におけるデータの取り込みを保障する機能が必要となる。
【０００９】
しかし、データ伝送路における各信号線間の転送遅延時間の差は、電源電圧の変動、周囲温度の変動、経年変化等によっても影響されるものであり、システムが動作中においても変動するので、前記特許文献２のような方式のみでは、これらの変動に追従して、常に、高精度のデータ取り込みタイミングを維持することは不可能である。
【００１０】
さらには、前述のように、携帯機器の小型化を図るために、電源電圧変動や温度変動の対策を十分に実施することができないので、データ転送に対する信頼性を確保することも難しくなる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平６−２８２５２５号公報（第２−３頁）
【特許文献２】特開平１０−３４０２２２号公報（第６−８頁）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
以上のように、従来の同期型データ転送技術は、小型化・高速化に対する対策が不十分な状況にある。
【００１３】
本発明は、かかる事情に鑑みてなされたものであり、システムが動作中であっても、さらには、小型化・高速化を要する環境下であっても、安定した同期型データ転送を実現することができる同期型データ転送システムおよび同期型データ転送制御方法を提供することを、その目的としている。
【課題を解決するための手段】
【００１４】
前述の課題を解決するため、本発明による同期型データ転送システムおよび同期型データ転送制御方法は、次のような特徴的な構成を採用している。下記（１）及び（９）なる番号は請求項の項番号にそれぞれ対応している。
（１）データ転送用クロックに同期させてデータ伝送路を介してデータを転送する同期型データ転送システムにおいて、データ転送要求後最初のデータが転送されるまでのデータ出力待ち時間を利用して、前記データ伝送路の遅延時間を測定する遅延時間測定手段を備えている同期型データ転送システム。
（９）データ転送用クロックに同期させてデータ伝送路を介してデータを転送する動作を制御する同期型データ転送制御方法であって、データ転送要求後最初のデータが転送されるまでのデータ出力待ち時間を利用して、前記データ伝送路の遅延時間を測定する同期型データ転送制御方法。
【発明の効果】
【００１５】
本発明の同期型データ転送システムおよび同期型データ転送制御方法によれば、以下のような効果を奏することができる。
【００１６】
データ転送要求から最初のデータを送信するまでのデータ出力待ち期間(すなわちLatency期間)を利用して、データ転送の開始に先立って、データ伝送路（例えば、メモリ・バス等）の遅延時間の測定を行い、その測定結果に基づいて、最適なデータ取り込みタイミングを判定することによって、安定したデータの取り込みを行うことが可能である。
【００１７】
而して、システムが動作中であっても、さらには、小型化・高速化を要求される環境下であっても、データ伝送路（例えば、メモリ・バス等）の遅延調整のために、無駄にアクセスサイクルを増やすことなく、電源電圧の変動、周囲温度の変動などの外的要因あるいは経年変化等によるＬＳＩ（Large  Scale  Integration  Circuit：集積回路）の特性劣化等に追従して、常に、安定したタイミングでデータを取り込むことができ、データ転送に対する高い信頼性を得ることができる。
【図面の簡単な説明】
【００１８】
【図１】同期型データ転送方式における一般的なデータ転送タイミングを示すタイムチャートである。
【図２】ＣＰＵとメモリとの間で同期型データ転送を行うための接続構成を示す模式図である。
【図３】図２に示すＣＰＵ−メモリ間のデータ転送タイミングを示すタイミングチャートである。
【図４】図２に示すＣＰＵがメモリからのデータ取り込みタイミングを判定する動作を説明するためのタイミングチャートである。
【図５】本発明に係る同期型データ転送システムの具体的な構成例を示すブロック図である。
【図６】図５に示す制御ＬＳＩの回路構成の一例を示す回路図である。
【図７】図５に示す同期型データ転送システムにおける制御ＬＳＩとメモリとの間の信号の送受信状況を説明するためのタイミングチャートである。
【図８】図５、図６に示す同期型データ転送システムにおける制御ＬＳＩの遅延時間測定部の動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明による同期型データ転送システムおよび同期型データ転送制御方法の好適な実施形態について添付図を参照して説明する。
【００２０】
（本発明の特徴）
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、同期型データ転送方式において、データ出力待ち期間(Ｌａｔｅｎｃｙ期間：レイテンシ期間)を利用して、データ送信側から任意の遅延時間測定データを出力し、データ受信側にて該遅延時間測定データを受信することによって、データ伝送路の遅延時間を測定し、その測定結果に基づいて最適なデータ取り込みタイミングを判定し、安定したデータの取り込みを可能とする仕組みを構築することを特徴としている。
【００２１】
例えば、高速のメモリアクセスを可能とするために、同期型データ転送方式によってメモリとの間のデータ転送を行う場合は、次のような仕組みを備えることとしている。
【００２２】
通常、ＳＤＲＡＭやＦＬＡＳＨ  ＲＯＭなどの同期型データ転送方式を用いるメモリは、データ転送効率を上げるために、図１のタイムチャートに示すように、データ転送用クロックの任意の変化点(図１の場合は立ち上がりエッジｔ１、ｔ２、ｔ３、…)に同期させて、第１データ、第２データ、第３データ、…とデータ・バスを介してデータを逐次転送するバースト転送を行うことによって、高速データ転送を可能としている。図１は、同期型データ転送方式における一般的なデータ転送タイミングを示すタイムチャートである。
【００２３】
つまり、図２に示すような、例えば、ＣＰＵ１がメモリ２からデータをリードするシステムにおいては、図３のタイムチャートに示すように、データ受信側であるＣＰＵ１は、データ送信側であるメモリ２に対して、データ転送用クロック３２の任意の変化点（図３の例では、立ち上がりエッジの時刻ｔ０）にて、チップセレクト信号３３とリード信号３４とを所定の論理に（図３の例では、‘ＨＩＧＨ’レベルから‘ＬＯＷ’レベルに）変化させて、データ転送を要求する。ここに、図２は、ＣＰＵとメモリとの間で同期型データ転送を行うための接続構成を示す模式図であり、図３は、図２に示すＣＰＵ１−メモリ２間のデータ転送タイミングを示すタイミングチャートである。
【００２４】
メモリ２は、チップセレクト信号３３とリード信号３４との変化によるデータ転送要求を検出すると、データ送信の準備を開始する。しかる後、メモリ２は、データ送信の準備ができると、メモリコア２２（メモリセル）から外部インターフェース部２１へ転送用のデータを順次転送し、外部インターフェース部２１は、受け取ったデータを、データ転送用クロック３２と同期させて、例えば、データ転送用クロック３２の立ち上がりエッジの時刻ｔ１、ｔ２、ｔ３、…のタイミングで、第１データ、第２データ、第３データ、…と、順次、データ伝送路であるメモリ・バス３１のデータ・バス３１ａを介して出力する。
【００２５】
さらに、メモリ２は、メモリコア２２（メモリセル）から外部インターフェース部２１へのデータ転送動作を開始するまでには、一般に、メモリコア２２へのアクセス動作を可能とするための準備時間が掛かる。このため、ＣＰＵ１がメモリ２からデータをリードしようとする際に、メモリ２がＣＰＵ１からのデータ転送要求を受けてから、最初のデータである第１データの送信を開始するまで、ＣＰＵ１は時間待ちをしなければならない。このデータ出力待ち時間をLatency期間（レイテンシ期間）と称しており、図３には、Latency期間ＴＬとして表示している。
【００２６】
一旦、最初の第１データへのアクセス動作が可能になった以降においては、メモリ２として、メモリコア２２（メモリセル）から外部インターフェース部２１へのデータ転送は、通常、パイプライン方式が採用されているので、時刻ｔ１において第１データを送信した後は、第２データ、第３データ、…と、時刻ｔ２、ｔ３、…に合わせて、連続して、メモリ２からＣＰＵ１に対してデータを送信することができる。
【００２７】
かくのごとき同期式データ転送方式の場合、一般的に、Latency期間ＴＬ中は、データ・バス３１ａは使用されないので、本発明においては、該Latency期間ＴＬを有効に活用して、ＣＰＵ１は、データ・バス３１ａの遅延時間の測定を行う仕組みを備えている。つまり、ＣＰＵ１は、Latency期間ＴＬ中に、メモリ２から転送されてくる遅延時間測定第１データ、遅延時間測定第２データ、遅延時間測定第３データを受信することにより、データ・バス３１ａの遅延時間の測定を行う。さらに、該遅延時間の測定結果に基づいて、ＣＰＵ１は、データ・バス３１ａを介して送信されてくるデータに関して、最適なデータの取り込みタイミングを判定することによって、メモリ２からの第１データ以降のデータを確実に取り込む仕組みを構築している。
【００２８】
データ取り込みタイミングの判定方法の具体例を図４に示している。図４は、図２に示すＣＰＵ１がメモリ２からのデータ取り込みタイミングを判定する動作を説明するためのタイミングチャートである。図３に示したように、ＣＰＵ１がメモリ２に対してチップセレクト信号３３とリード信号３４とによりデータ送信要求を行うと、該データ送信要求を受信したメモリ２は、メモリコア２２に介してデータのリード（読み取り）動作を開始すると同時に、メモリコア２２からデータが読み出されるまでのLatency期間ＴＬを利用して、データ・バス３１ａを介して、遅延時間測定第１データ、遅延時間測定第２データ、遅延時間測定第３データを、データ転送用クロック３２に同期させてＣＰＵ１に対して順次送信する。
【００２９】
ここで、遅延時間測定第１データ、遅延時間測定第２データ、遅延時間測定第３データは、データ・バス３１ａの全信号線が、必ず“０”から“１”へあるいは“１”から“０”へ変化する形式のデータとする。例えば、データ・バス３１ａが、８ビット幅の信号線からなっているバスであった場合は、遅延時間測定第１データ、遅延時間測定第２データ、遅延時間測定第３データとしては、“００”ｈ（１６進数表示）→“ＦＦ”ｈ→“００”ｈあるいは“５５”ｈ→“ＡＡ”ｈ→“５５”ｈなどのデータを順に送信する。
【００３０】
ＣＰＵ１は、遅延時間測定第１データ、遅延時間測定第２データ、遅延時間測定第３データを順次受信することによって、データ転送用クロック３２に対するデータ・バス３１ａの各信号線の遅延時間を測定し、各遅延時間の中から、最大遅延時間と最小遅延時間とを抽出する。なお、遅延時間の測定には種々の手段があるが、本発明には直接的な関係がないので、ここでは、言及しないことにする。
【００３１】
抽出した最大遅延時間、最小遅延時間に基づいて算出される、データ・バス３１ａからデータを取り込む際の最適なデータ取り込みタイミングは、図４に示すような関係となる。なお、図４には、データ・バス３１ａが８ビット幅で信号線Ｄ０〜Ｄ７の８本からなっており、８本の信号線Ｄ０〜Ｄ７のうち、第１の信号線Ｄ１が最小遅延時間Ｔｍｉｎの信号線であり、第７の信号線Ｄ７が最大遅延時間Ｔｍａｘの信号線である場合を示している。つまり、図４に示すように、データ転送用クロック３２の立ち上がりエッジｔ０Ａ、ｔ０B、…に同期して、遅延時間測定第１データ、遅延時間測定第２データ、…が順次送信されてきた場合、第１の信号線Ｄ１が遅延時間が最も小さい時刻ｔ０Ａ１、ｔ０Ｂ１、…で、“０”→“１”または“１”→“０”に変化し、第７の信号線Ｄ７が遅延時間が最も大きい時刻ｔ０Ａ７、ｔ０Ｂ７、…で、“０”→“１”または“１”→“０”に変化している場合を例示している。
【００３２】
ここで、図４に示す最大遅延時間Ｔｍａｘは受信データの最大の遅延時間であり、ＣＰＵ１がデータを取り込む際のデータ取り込み部のセットアップ時間（Ｓｅｔｕｐ  Ｔｉｍｅ）Ｔｓに影響する。また、最小遅延時間Ｔｍｉｎは受信データの最小の遅延時間であり、１データの転送時間すなわちデータ転送用クロック３２の１サイクル時間から最小遅延時間Ｔｍｉｎを差し引いた時間が、データの終了時間となるので、ＣＰＵ１がデータを取り込む際のデータ取り込み部のホールド時間（Ｈｏｌｄ  Ｔｉｍｅ）Ｔｈに影響する。
【００３３】
以上の条件を考慮すると、図４に示すように、下記の式（１）で算出される時間を、データを取り込む際のデータ取り込みマージンＴｍとして求めることができる。
データ取り込みマージンＴｍ
＝データ転送用クロックサイクル時間Ｔｃ
−｛(最大遅延時間Ｔｍａｘ＋セットアップ時間Ｔｓ)
＋(最小遅延時間Ｔｍｉｎ＋ホールド時間Ｔｈ)｝        …（１）
【００３４】
したがって、図４に示すように、つまり、式（１）に示すデータ取り込みマージンＴｍの中間に位置するタイミングとなるように、データ転送用クロック３２の立ち上がりエッジｔ０Ａ、ｔ０Ｂ、…から、次の式（２）で与えられるクロック遅延量Ｔｄの時間だけ遅らせた時刻が最適なデータ取り込みタイミングｔｇとなる。
データ転送用クロック３２からのクロック遅延量Ｔｄ
＝｛（最大遅延時間Ｔｍａｘ＋セットアップ時間Ｔｓ）
＋（データ取り込みマージンＴｍ×１／２)｝
＝｛データ転送用クロックサイクル時間Ｔｃ
＋(最大遅延時間Ｔｍａｘ＋セットアップ時間Ｔｓ)
−(最小遅延時間Ｔｍｉｎ＋ホールド時間Ｔｈ)｝×（１／２）…（２）
【００３５】
ＣＰＵ１は、このデータ取り込みタイミングｔｇになるように、データ転送用クロック３２をクロック遅延量Ｔｄだけ遅延させることによって、Latency期間ＴＬの経過後にメモリ２から転送されてくる第１データ以降のデータを、順次、確実かつ安定して取り込んでいくことが可能になる。
【００３６】
（実施形態の構成例）
次に、本発明に係る同期型データ転送システムの具体的な構成例について図５、６を用いてさらに説明する。図５は、本発明に係る同期型データ転送システムの具体的な構成例を示すブロック図であり、ＣＰＵ１を内蔵する制御ＬＳＩ（Large  Scale  Integration  Circuit）１０とメモリ２とで構成されている例を示している。また、図６は、図５に示す制御ＬＳＩ１０の回路構成の一例を示す回路図である。
【００３７】
図５、図６において、制御ＬＳＩ１０とメモリ２との間には、メモリ２が制御ＬＳＩ１０へ連続的なデータ転送(バースト転送)を行うために、図３に示した場合と同様に、次の同期型データ転送用の信号線が接続されている。つまり、データを転送するための基準クロックであるデータ転送クロック３２、アクセス対象としてメモリ２が選択されたことを示すチップセレクト信号３３、制御ＬＳＩ１０からのアクセスがリード（読み取り）であることを示すリード信号３４、データが転送される８ｂｉｔのデータ・バス３１ａ、データの格納先を示すアドレスを出力するアドレス・バス３１ｂが接続されている。なお、図５、図６に示すように、データ・バス３１ａとアドレス・バス３１ｂとにより、図３に示すメモリ・バス３１が構成されている。
【００３８】
図５、図６に示す制御ＬＳＩ１０とメモリ２との間のデータ転送において、制御ＬＳＩ１０がメモリ２に対してデータ転送要求を行ってから、メモリ２から最初のデータを出力するまでのデータ出力待ち時間がLatency期間ＴＬであるが、該Latency期間ＴＬは、図５、図６においてはデータ転送用クロック３２の５クロック分と仮定する。また、該Latency期間ＴＬがデータ転送用クロック３２の５クロック分であるという時間幅については、メモリ２側、制御ＬＳＩ１０側の双方の共通の認識になっている。
【００３９】
チップセレクト信号３３、リード信号３４、アドレス・バス３１ｂは全てデータ転送用クロック３２の立ち上がりエッジに同期して、制御ＬＳＩ１０から出力され、データ・バス３１ａは、データ転送用クロック３２の立ち上がりエッジに同期して、データの読み取り用としてメモリ２から出力される。
【００４０】
図５に示すメモリ２の内部には、図２に示した場合と同様に、制御ＬＳＩ１０とのインターフェースを取るための外部インターフェース部２１と、データが格納されているメモリコア２２とを備えている。
【００４１】
さらに、メモリ２の内部には、データ・バス３１ａ上の遅延時間を測定するための遅延時間測定データ（遅延時間測定第１データ２３ａ、遅延時間測定第２データ２３ｂ、遅延時間測定第３データ２３ｃ）が格納されている遅延時間測定データ格納部２３、遅延時間測定データ格納部２３に格納されている遅延時間測定データを用いてメモリ２の出力端子から制御ＬＳＩ１０の入力端子までのデータ・バス３１ａ上の遅延時間を測定するために、メモリ２内の各制御を行う遅延時間測定データ制御部２４、メモリコア２２または遅延時間測定データ格納部２３のデータを外部インターフェース部２１へ転送するパスを切り替えるセレクタ２５も少なくとも含んで構成している。
【００４２】
一方、図５、図６に示す制御ＬＳＩ１０の内部には、ＣＰＵ１と、メモリ２からデータをリードするための、データ転送用クロック３２、チップセレクト信号３３、リード信号３４、データ・バス３１ａ、アドレス・バス３１ｂを制御するメモリコントローラ１１と、データ・バス３１ａ上の遅延時間を測定する遅延時間測定部１２と、遅延時間測定部１２の測定結果に基づいて最大遅延時間を判断する最大遅延時間判断部１３と、遅延時間測定部１２の測定結果に基づいて最小遅延時間を判断する最小遅延時間判断部１４とを備えている。
【００４３】
さらに、制御ＬＳＩ１０の内部には、データ・バス３１ａ上の遅延時間を測定するための遅延時間測定データ（遅延時間測定第１データ１５ａ、遅延時間測定第２データ１５ｂ、遅延時間測定第３データ１５ｃ）が格納されている遅延時間測定データ格納部１５、データを取り込むためのタイミングを生成するためにデータ転送用クロック３２を任意のタイミングで遅延させるクロック遅延部１６、データ・バス３１ａ上の遅延時間の測定、遅延時間の算出並びにメモリコントローラ１１におけるデータ取り込みタイミングを制御する遅延調整制御部１７、メモリコントローラ１１においてデータを取り込むタイミングを算出するために必要な、データ取り込み部のセットアップ時間（Ｓｅｔｕｐ  Ｔｉｍｅ）Ｔｓとホールド時間（Ｈｏｌｄ  Ｔｉｍｅ）Ｔｈのパラメータを格納しているＳｅｔｕｐ／Ｈｏｌｄ  Ｔｉｍｅデータ格納部１８も少なくとも含んで構成している。
【００４４】
なお、制御ＬＳＩ１０とメモリ２のそれぞれの遅延時間測定データ格納部１５、２３には、同一の遅延時間測定データが格納されており、遅延時間測定第１データ１５ａ，２３ａは“５５”ｈ、遅延時間測定第２データ１５ｂ，２３ｂは“ＡＡ”ｈ、遅延時間測定第３データ１５ｃ，２３ｃは“５５”ｈの値が設定されているものと仮定する。
【００４５】
（実施形態の動作の説明）
次に、図５、図６に示した同期型データ転送システムの動作について、その一例を、図面を参照しながら説明する。
【００４６】
制御ＬＳＩ１０内のＣＰＵ１がメモリ２の任意のアドレスに格納されている連続したデータをリードする（読み取りを行う）場合、ＣＰＵ１を内蔵する制御ＬＳＩ１０とメモリ２との間は、図７のタイミングチャートに示すような信号が送受信される。図７は、図５に示す同期型データ転送システムにおける制御ＬＳＩ１０とメモリ２との間の信号の送受信状況を説明するためのタイミングチャートである。
【００４７】
まず、ＣＰＵ１は、メモリコントローラ１１に対して、メモリ２からリードするデータの先頭アドレスとデータ量とを通知し、メモリ２からのデータをリードするようにリード要求を送出する。
【００４８】
ＣＰＵ１からのリード要求を受け取ったメモリコントローラ１１は、図７のタイミングチャートに示すように、データ転送用クロック３２の立ち上がりエッジｔ１のタイミングでチップセレクト信号３３とリード信号３４とを“ＨＩＧＨ”レベルから“ＬＯＷ”レベルに変化させ、かつ、データ転送用クロック３２の立ち上がりエッジのタイミングで、第１データが格納されている先頭アドレスをアドレス・バス３１ｂから出力し、メモリ２に対してリード要求を行う。
【００４９】
メモリ２は、制御ＬＳＩ１０からの前述の各信号を外部インターフェース部２１においてデータ転送用クロック３２の立ち上がりエッジｔ２のタイミングで取り込み、外部インターフェース部２１は、取り込んだこれらの信号の状態から、制御ＬＳＩ１０からリード要求が送信されてきたものと判定する。
【００５０】
外部インターフェース部２１は、制御ＬＳＩ１０からのリード要求を受け付けると、リード動作を開始し、まず、メモリコア２２から、制御ＬＳＩ１０から指定されている先頭アドレスのデータの取り込み動作を開始する。メモリコア２２から外部インターフェース部２１に最初のデータ（第１データ）が取り込まれるまでには、Latency期間ＴＬとして、前述したように、データ転送用クロック３２の５クロック分の時間が掛かる。
【００５１】
そこで、外部インターフェース部２１は、メモリコア２２からのデータ取り込み動作を開始すると同時に、遅延時間測定データ制御部２４に対しても、メモリコア２２からのリード動作を開始した旨を通知する。
【００５２】
遅延時間測定データ制御部２４は、該リード動作の開始通知を受け取ると、遅延時間測定データ格納部２３から外部インターフェース部２１へ遅延時間測定データを転送するために、セレクタ２５を切り替える。そして、遅延時間測定データ制御部２４は、遅延時間測定データ格納部２３に格納されている遅延時間測定データを、遅延時間測定第１データ２３ａ、遅延時間測定第２データ２３ｂ、遅延時間測定第３データ２３ｃの順に、外部インターフェース部２１へ転送する。
【００５３】
外部インターフェース部２１は、制御ＬＳＩ１０からのリード要求を認識した次のタイミングであるデータ転送用クロック３２の立ち上がりエッジｔ３から、遅延時間測定データを、遅延時間測定第１データ２３ａ、遅延時間測定第２データ２３ｂ、遅延時間測定第３データ２３ｃの順に、データ転送用クロック３２の立ち上がりエッジｔ３，ｔ４，ｔ５にそれぞれ同期させて、データ・バス３１ａから制御ＬＳＩ１０に向けて出力する。
【００５４】
なお、遅延時間測定データ制御部２４は、遅延時間測定データ格納部２３から外部インターフェース部２１へすべての遅延時間測定データを転送した後、メモリコア２２から外部インターフェース部２１へリードデータの転送ができるように、セレクタ２５を切り替えている。
【００５５】
しかる後、外部インターフェース部２１は、リード要求していたメモリコア２２からのデータを、先頭の第１データから順次取り込み、遅延時間測定第３データ２３ｃの出力完了後の次のデータ転送用クロック３２の立ち上がりエッジｔ７から開始して、データ転送用クロック３２の立ち上がりエッジｔ７，ｔ８，…にそれぞれ同期させて、第１データ、第２データ、…と、順次、データ・バス３１ａから制御ＬＳＩ１０に向けて出力する。
【００５６】
一方、制御ＬＳＩは、遅延調整制御部１７が、メモリコントローラ１１から出力されるチップセレクト信号３３とリード信号３４とをデータ転送用クロック３２の立ち上がりエッジｔ２で取り込み、メモリコントローラ１１がメモリ２に対してリード要求を送出したことを検出し、メモリ・バスすなわちデータ・バス３１ａ上のデータ転送における遅延時間の測定動作を開始する。
【００５７】
遅延調整制御部１７は、リード要求を検出したデータ転送用クロック３２の立ち上がりエッジｔ２の次の立ち上がりエッジｔ３から遅延時間測定データ格納部１５の遅延時間測定データを、データ転送用クロックの立ち上がりエッジｔ３，ｔ４，ｔ５にそれぞれ同期させて、遅延時間測定第１データ１５ａ、遅延時間測定第２データ１５ｂ、遅延時間測定第３データ１５ｃの順に、遅延時間測定部１２に対して出力する。
【００５８】
遅延時間測定部１２においては、図６の回路図に示すように、メモリ２からデータ・バス３１ａを介して送信されてくる遅延時間測定データと、遅延時間測定データ格納部１５から出力されてくる遅延時間測定データとを、８ビットの各ビットＤ０〜Ｄ７ごとに異なるＥＸＯＲ回路でそれぞれＥＸＯＲ（排他的論理和）演算を行うことによって、両者のデータが一致するか否かを比較する。
【００５９】
しかる後、図６に示すように、各ＥＸＯＲ回路の出力は、ＮＯＲ回路１２ＡおよびＮＡＮＤ回路１２Ｂに入力され、メモリ２からの遅延時間測定データと遅延時間測定データ格納部１５からの遅延時間測定データとのＥＸＯＲ（排他的論理和）演算結果として、８ビットのいずれか１ビットでも両者のデータが一致していることを示す信号が出力されるタイミングになると、各ＥＸＯＲ回路の後段に接続されているＮＡＮＤ回路１２Ｂが、“ＬＯＷ”レベルから“ＨＩＧＨ”レベルに切り替わって、最小遅延検出信号１２ｂとして出力する。一方、８ビットのすべてビットで両者のデータが一致していることを示す信号が出力されるタイミングになると、各ＥＸＯＲ回路の後段に接続されているＮＯＲ回路１２Ａが、“ＬＯＷ”レベルから“ＨＩＧＨ”レベルに切り替わって、最大遅延検出信号１２ａとして出力する。
【００６０】
さらに、図６に示すように、データ転送用クロック３２を遅延素子を用いて順次遅延させることによってクロック遅延部１６から出力されるサンプリングクロック１、サンプリングクロック２、…、サンプリングクロック８によって、ＮＯＲ回路１２Ａから出力される最大遅延検出信号１２ａとＮＡＮＤ回路１２Ｂから出力される最小遅延検出信号１２ｂとをサンプリングして、それぞれ、最大遅延時間判断部１３と最小遅延時間判断部１４とに入力することにより、最大遅延時間判断部１３と最小遅延時間判断部１４とにおいて、それぞれ、メモリ２からのデータ・バス３１ａを介したデータ転送における最大遅延時間Ｔｍａｘと最小遅延時間Ｔｍｉｎとを判断する。
【００６１】
図８は、図５、図６に示す同期型データ転送システムにおける制御ＬＳＩ１０の遅延時間測定部１２の動作を説明するためのタイミングチャートであり、遅延時間測定データを用いて測定した結果として、データ・バス３１ａの第２ビットＤ２の遅延が最小で、第１ビットＤ１の遅延が最大の場合を例にとって、遅延時間測定部１２のＮＯＲ回路１２Ａから出力される最大遅延検出信号１２ａ、ＮＡＮＤ回路１２Ｂから出力される最小遅延検出信号１２ｂのそれぞれの出力波形と、クロック遅延部１６から出力されるサンプリングクロック１、サンプリングクロック２、…、サンプリングクロック８の出力波形を示している。
【００６２】
最大遅延時間判断部１３と最小遅延時間判断部１４とにおいて、それぞれ、求められた最大遅延時間Ｔｍａｘと最小遅延時間Ｔｍｉｎとは、遅延調整制御部１７へ送られる。遅延調整制御部１７は、受け取った最大遅延時間Ｔｍａｘと最小遅延時間Ｔｍｉｎとに基づいて、Ｓｅｔｕｐ／Ｈｏｌｄ  Ｔｉｍｅデータ格納部１８に格納されているデータ取り込み部のセットアップ時間（Ｓｅｔｕｐ  Ｔｉｍｅ）Ｔｓとホールド時間（Ｈｏｌｄ  Ｔｉｍｅ）Ｔｈとのデータを加味して、下記の式（１）、式（２）を用いて、最適なデータ取り込みタイミングｔｇを得るためにデータ転送用クロック３２から遅延すべきクロック遅延量Ｔｄを算出する。
データ取り込みマージンＴｍ
＝データ転送用クロックサイクル時間Ｔｃ
−｛(最大遅延時間Ｔｍａｘ＋セットアップ時間Ｔｓ)
＋(最小遅延時間Ｔｍｉｎ＋ホールド時間Ｔｈ)｝        …（１）
データ転送用クロック３２からのクロック遅延量Ｔｄ
＝（最大遅延時間Ｔｍａｘ＋セットアップ時間Ｔｓ）
＋（データ取り込みマージンＴｍ×１／２)
＝｛データ転送用クロックサイクル時間Ｔｃ
＋(最大遅延時間Ｔｍａｘ＋セットアップ時間Ｔｓ)
−(最小遅延時間Ｔｍｉｎ＋ホールド時間Ｔｈ)｝×（１／２）…（２）
【００６３】
つまり、遅延調整制御部１７は、式（２）に示すデータ転送用クロック３２からクロック遅延量Ｔｄだけ遅延させたタイミングを、最適なデータ取り込みタイミングｔｇとして取得する。
【００６４】
遅延調整制御部１７は、式（２）に示すデータ転送用クロック３２の遅延時間になるように、クロック遅延部１６内の各セレクタを切り替えさせることによって、１ないし複数の遅延素子により、データ転送用クロック３２を遅延させたデータ取り込みタイミングｔｇを生成して、メモリコントローラ１１に対して出力する。
【００６５】
図７に示すように、メモリ２側でリード要求の受信後に５クロック分のLatency期間ＴＬが経過した後、メモリ２からメモリコア２２に格納されているデータが転送されてくるデータ転送期間ＴＤになると、メモリコントローラ１１は、クロック遅延部１６から出力されてくるデータ取り込みタイミングｔｇ（データ転送用クロック３２を式（２）に示すように遅延させたクロックの立ち上がりエッジ）を用いて、先頭の第１データから順に、立ち上がりエッジｔｇ１、ｔｇ２、ｔｇ３、…のタイミングで、データ・バス３１ａ上の第１データ、第２データ、第３データ、…を取り込んでいく。取り込んだ第１データ、第２データ、第３データ、…は、逐次、ＣＰＵ１へ転送される。
【００６６】
そして、メモリ２へのリード要求として指定していた最後の第nデータの取り込みを終了すると、メモリコントローラ１１は、チップセレクト信号３３とリード信号３４とをデータ転送用クロック３２の立ち上がりエッジのタイミングで、“ＬＯＷ”レベルから“ＨＩＧＨ”レベルに切り替え、メモリ２に対してデータ転送の終了を通知して、データのリード動作を終了する。
【００６７】
なお、前述の実施形態においては、ＣＰＵ１とメモリ２との間の同期データ転送の場合について説明したが、本発明は、かかるメモリ・バス３１（データ・バス３１ａ、アドレス・バス３１ｂ）上の同期型データ転送に限るものではなく、例えば、ハードディスク装置等の外部記憶装置との間でデータを送受信するデータチャネルバス等、同期型データ転送を要する任意のデータ伝送路に対しても、全く同様に適用することができる。
【００６８】
（本実施形態の効果の説明）
以上に詳細に説明したように、本実施形態の同期型データ転送システムにおいては、データ転送要求から最初のデータを送信するまでのデータ出力待ち期間(すなわちLatency期間ＴＬ)を利用して、データ転送の開始に先立って、データ伝送路（例えば、メモリ・バス等）の遅延時間の測定を行い、その測定結果に基づいて、最適なデータ取り込みタイミングを判定することによって、安定したデータの取り込みを行うことが可能となる。
【００６９】
而して、システムが動作中であっても、さらには、小型化・高速化を要求される環境下であっても、データ伝送路（例えば、メモリ・バス等）の遅延調整のために、無駄にアクセスサイクルを増やすことなく、電源電圧の変動、周囲温度の変動などの外的要因あるいは経年変化等によるＬＳＩ（Large  Scale  Integration  Circuit：集積回路）の特性劣化等に追従して、常に、安定したタイミングでデータを取り込むことができ、データ転送に対する高い信頼性を得ることができる。
【００７０】
以上、本発明の好適実施例の構成を説明した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。例えば、本発明の実施態様は、課題を解決するための手段における構成（１）及び（９）に加え、次のような構成として表現できる。下記（２）−（８）及び（１０）−（１５）なる番号は、請求項の項番号にそれぞれ対応している。
（２）前記遅延時間測定手段は、前記データ出力待ち時間中のあらかじめ定めたタイミングで、データの送信側から前記伝送路を介して送信されてくる遅延時間測定データを受信することにより、前記伝送路の遅延時間を測定する上記（１）の同期型データ転送システム。
（３）前記遅延時間測定データは、“０”から“１”へ、および、“１”から”０”への双方の変化を有するデータ形式から構成されている上記（２）の同期型データ転送システム。
（４）前記遅延時間測定手段によって測定された前記伝送路の遅延時間に基づいて、当該伝送路を介して転送されてくるデータを取り込むためのデータ取り込みタイミングを調整する遅延調整手段を備えている上記（１）ないし（３）のいずれかの同期型データ転送システム。
（５）前記遅延調整手段は、さらに、前記伝送路を介して転送されてくるデータを取り込むデータ取り込み部のセットアップ時間およびホールド時間を勘案して、前記データ取り込みタイミングを調整する上記（４）の同期型データ転送システム。
（６）前記伝送路が複数の信号線からなっている場合、前記遅延時間測定手段は、複数の前記信号線それぞれを介して送信されてくる前記遅延時間測定データの遅延時間の測定結果から、最大遅延時間と最小遅延時間とを取得し、前記遅延調整手段は、前記遅延時間測定手段が取得した前記最大遅延時間と前記最小遅延時間、および、前記データ取り込み部の前記セットアップ時間および前記ホールド時間を勘案して、前記データ取り込みタイミングを調整する上記（５）の同期型データ転送システム。
（７）前記遅延調整手段は、次の式によって算出されるクロック遅延量Ｔｄだけ、
クロック遅延量Ｔｄ
＝｛Ｔｃ＋（Ｔｍａｘ＋Ｔｓ）−（Ｔｍｉｎ＋Ｔｈ）｝×（１／２）
ただし、Ｔｃ    ：データ転送用クロックサイクル時間
Ｔｍａｘ：データ伝送路の最大遅延時間
Ｔｍｉｎ：データ伝送路の最小遅延時間
Ｔｓ    ：データ取り込み部のセットアップ時間
Ｔｈ    ：データ取り込み部のホールド時間
前記データ転送用クロックから遅延させたタイミングを、前記データ取り込みタイミングとする上記（６）の同期型データ転送システム。
（８）当該同期型データ転送システムは、メモリとＣＰＵとの間のメモリバスシステム、メモリと外部記憶装置との間のデータチャネルバスシステムを少なくとも含む上記（１）ないし（７）のいずれかの同期型データ転送システム。
（１０）前記データ出力待ち時間中のあらかじめ定めたタイミングで、データの送信側から前記伝送路を介して送信されてくる遅延時間測定データを受信することにより、前記伝送路の遅延時間を測定する上記（９）の同期型データ転送制御方法。
（１１）前記遅延時間測定データは、“０”から“１”へ、および、“１”から”０”への双方の変化を有するデータ形式から構成されている上記（１０）の同期型データ転送制御方法。
（１２）測定された前記伝送路の遅延時間に基づいて、当該伝送路を介して転送されてくるデータを取り込むためのデータ取り込みタイミングを調整する上記（９）ないし（１１）のいずれかの同期型データ転送制御方法。
同期型データ転送制御方法。
（１３）さらに、前記伝送路を介して転送されてくるデータを取り込むデータ取り込み部のセットアップ時間およびホールド時間を勘案して、前記データ取り込みタイミングを調整する上記（１２）の同期型データ転送制御方法。
（１４）前記伝送路が複数の信号線からなっている場合、複数の前記信号線それぞれを介して送信されてくる前記遅延時間測定データの遅延時間の測定結果から、最大遅延時間と最小遅延時間とを取得し、前記最大遅延時間と前記最小遅延時間、および、前記データ取り込み部の前記セットアップ時間および前記ホールド時間を勘案して、前記データ取り込みタイミングを調整する上記（１３）の同期型データ転送制御方法。
（１５）次の式によって算出されるクロック遅延量Ｔｄだけ、
クロック遅延量Ｔｄ
＝｛Ｔｃ＋（Ｔｍａｘ＋Ｔｓ）−（Ｔｍｉｎ＋Ｔｈ）｝×（１／２）
ただし、Ｔｃ    ：データ転送用クロックサイクル時間
Ｔｍａｘ：データ伝送路の最大遅延時間
Ｔｍｉｎ：データ伝送路の最小遅延時間
Ｔｓ    ：データ取り込み部のセットアップ時間
Ｔｈ    ：データ取り込み部のホールド時間
前記データ転送用クロックから遅延させたタイミングを、前記データ取り込みタイミングとする上記（１４）の同期型データ転送制御方法。
【符号の説明】
【００７１】
１      ＣＰＵ
２      メモリ
１０    制御ＬＳＩ
１１    メモリコントローラ
１２    遅延時間測定部
１２Ａ  ＮＯＲ回路
１２Ｂ  ＮＡＮＤ回路
１２ａ  最大遅延検出信号
１２ｂ  最小遅延検出信号
１３    最大遅延時間判断部
１４    最小遅延時間判断部
１５    遅延時間測定データ格納部
１５ａ  遅延時間測定第１データ
１５ｂ  遅延時間測定第２データ
１５ｃ  遅延時間測定第３データ
１６    クロック遅延部
１７    遅延調整制御部
１８    Ｓｅｔｕｐ／Ｈｏｌｄ  Ｔｉｍｅデータ格納部
２１    外部インターフェース部
２２    メモリコア（メモリセル）
２３    遅延時間測定データ格納部
２３ａ  遅延時間測定第１データ
２３ｂ  遅延時間測定第２データ
２３ｃ  遅延時間測定第３データ
２４    遅延時間測定データ制御部
２５    セレクタ
３１    メモリ・バス
３１ａ  データ・バス
３１ｂ  アドレス・バス
３２    データ転送用クロック
３３    チップセレクト信号
３４    リード信号
【図１】
2010198328.tif 000003
【図２】
2010198328.tif 000004
【図３】
2010198328.tif 000005
【図４】
2010198328.tif 000006
【図５】
2010198328.tif 000007
【図６】
2010198328.tif 000008
【図７】
2010198328.tif 000009
【図８】
2010198328.tif 000010