(57)【要約】【課題】遅延回路から出力されたストローブ信号がフリッププロップに到達するまでの遅延時間とその変動量を無くすことにより、データを一定期間有効に取り込むことができるインタフェース回路を提供する。【解決手段】本発明のインタフェース回路は、外部から入力された対応する各データを所定の第１の遅延時間だけそれぞれ遅延させて出力する複数のデータ遅延回路部と、ストローブ信号を所定の第２の遅延時間だけ遅延させて出力するストローブ信号遅延回路部と、対応する各データ遅延回路部の出力データを該ストローブ信号遅延回路部の出力信号に同期させてそれぞれ取り込む複数のラッチ回路部とを備え、各ラッチ回路部は、対応する各データ遅延回路部から該各ラッチ回路部までのデータ伝送時間と、ストローブ信号遅延回路部から該各ラッチ回路部までの信号伝送時間とがそれぞれ等しくなるように配置される。【選択図】図１
2007226308.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力された複数のデータを、該各データと共に入力されたストローブ信号に同期させて取り込むインタフェース回路において、
対応する前記各データを所定の第１の遅延時間だけそれぞれ遅延させて出力する複数のデータ遅延回路部と、
前記ストローブ信号を所定の第２の遅延時間だけ遅延させて出力するストローブ信号遅延回路部と、
対応する前記各データ遅延回路部の出力データを該ストローブ信号遅延回路部の出力信号に同期させてそれぞれ取り込む複数のラッチ回路部と
を備え、
前記各ラッチ回路部は、対応する前記各データ遅延回路部から該各ラッチ回路部までのデータ伝送時間と、前記ストローブ信号遅延回路部から該各ラッチ回路部までの信号伝送時間とがそれぞれ等しくなるように配置されることを特徴とするインタフェース回路。
【請求項２】
前記ストローブ信号遅延回路部は、
外部から入力された第１の制御信号に応じて、入力された前記ストローブ信号と基準クロック信号のいずれか一方を選択して出力する選択回路部と、
前記選択回路部の出力信号を前記第１の遅延時間だけ遅延させて出力する第１の遅延回路部と、
前記選択回路部から前記基準クロック信号が出力されると、該基準クロック信号を、前記第１の遅延回路部の出力信号と位相が一致するように遅延させて出力するＤＬＬ回路部と
を備え、
該ＤＬＬ回路部は、前記選択回路部から前記基準クロック信号が出力されると、該基準クロック信号の遅延時間と前記第１の遅延回路部による遅延時間との差が前記基準クロック信号の周期に等しくなるように、該基準クロック信号の遅延時間を制御し、前記選択回路部から前記ストローブ信号が出力されると、該ストローブ信号を、前記基準クロック信号の遅延時間に等しい時間だけ遅延させて出力することを特徴とする請求項１に記載のインタフェース回路。
【請求項３】
前記ストローブ信号遅延回路部は、
外部から入力された第１の制御信号に応じて、入力された前記ストローブ信号と基準クロック信号のいずれか一方を選択して出力する選択回路部と、
前記選択回路部の出力信号を前記第１の遅延時間だけ遅延させて出力する第１の遅延回路部と、
前記選択回路部から前記基準クロック信号が出力されると、該基準クロック信号を、前記第１の遅延回路部の出力信号と位相が一致するように遅延させて出力するＤＬＬ回路部と
を備え、
該ＤＬＬ回路部は、前記選択回路部から前記基準クロック信号が出力されると、該基準クロック信号の遅延時間と前記第１の遅延回路部による遅延時間との差が前記基準クロック信号の周期に等しくなるように、該基準クロック信号の遅延時間を制御し、前記選択回路部から前記ストローブ信号が出力されると、該ストローブ信号を、前記基準クロック信号の遅延時間の所定数分の１に等しい時間だけ遅延させて出力することを特徴とする請求項１に記載のインタフェース回路。
【請求項４】
前記ストローブ信号遅延回路部は、
外部から入力された第１の制御信号に応じて、入力された前記ストローブ信号と基準クロック信号のいずれか一方を選択して出力する選択回路部と、
前記選択回路部の出力信号を前記第１の遅延時間だけ遅延させて出力する第１の遅延回路部と、
前記選択回路部から前記基準クロック信号が出力されると、該基準クロック信号を、前記第１の遅延回路部の出力信号と位相が一致するように遅延させて出力するＤＬＬ回路部と
を備え、
該ＤＬＬ回路部は、前記選択回路部から前記基準クロック信号が出力されると、該基準クロック信号の遅延時間と前記第１の遅延回路部による遅延時間との差が前記基準クロック信号の周期に等しくなるように、該基準クロック信号の遅延時間を制御し、前記選択回路部から前記ストローブ信号が出力されると、該ストローブ信号を、前記基準クロック信号の遅延時間を所定の割合で増加又は減少させた時間だけ遅延させて出力することを特徴とする請求項１に記載のインタフェース回路。
【請求項５】
前記ＤＬＬ回路部は、
前記選択回路部の出力信号を設定された遅延時間だけ遅延させて出力する第２の遅延回路部と、
前記選択回路部から前記基準クロック信号が出力されると、前記第１及び第２の各遅延回路部の出力信号の位相差を検出し出力する位相差検出回路部と、
前記選択回路部から前記基準クロック信号が出力されると、前記第２の遅延回路部に対して、該位相差が無くなるように遅延時間を制御する遅延制御回路部と
を備えることを特徴とする請求項２に記載のインタフェース回路。
【請求項６】
前記ＤＬＬ回路部は、
前記選択回路部の出力信号を設定された遅延時間だけ遅延させて出力する第２の遅延回路部と、
前記選択回路部から前記基準クロック信号が出力されると、前記第１及び第２の各遅延回路部の出力信号の位相差を検出し出力する位相差検出回路部と、
前記選択回路部から前記基準クロック信号が出力されると、前記第２の遅延回路部に対して、該位相差が無くなるように遅延時間を制御し、該選択回路部から前記ストローブ信号が出力されると、前記第２の遅延回路部の遅延時間を該遅延時間の所定数分の１に設定する遅延制御回路部と
を備えることを特徴とする請求項３に記載のインタフェース回路。
【請求項７】
前記ＤＬＬ回路部は、
前記選択回路部の出力信号を設定された遅延時間だけ遅延させて出力する第２の遅延回路部と、
前記選択回路部から前記基準クロック信号が出力されると、前記第１及び第２の各遅延回路部の出力信号の位相差を検出し出力する位相差検出回路部と、
前記選択回路部から前記基準クロック信号が出力されると、前記第２の遅延回路部に対して、該位相差が無くなるように遅延時間を制御し、該選択回路部から前記ストローブ信号が出力されると、前記第２の遅延回路部の遅延時間を、該遅延時間を所定の割合で増加又は減少させた時間に設定する遅延制御回路部と
を備えることを特徴とする請求項４に記載のインタフェース回路。
【請求項８】
前記遅延制御回路部は、外部から入力された第２の制御信号に応じて、前記割合を変化させることを特徴とする請求項７に記載のインタフェース回路。
【請求項９】
前記ストローブ信号は、差動信号をなす一対の信号からなり、
前記ストローブ信号遅延回路部は、前記差動信号の対応する一方の信号をそれぞれ遅延させて出力する２つの信号遅延回路部からなり、
前記各ラッチ回路部は、対応する前記各データ遅延回路部の出力データをそれぞれ取り込む２つのラッチ回路をそれぞれ備え、
前記各ラッチ回路は、対応する該各データ遅延回路部の出力データを、対応する前記各信号遅延回路部の出力信号にそれぞれ同期させて取り込むことを特徴とする請求項１に記載のインタフェース回路。
【請求項１０】
記憶装置から出力された複数のデータを、該各データと共に出力されたストローブ信号に基づいて取り込むインタフェース回路を備えた記憶制御装置において、
前記インタフェース回路は、
対応する前記各データを所定の第１の遅延時間だけそれぞれ遅延させて出力する複数のデータ遅延回路部と、
前記ストローブ信号を所定の第２の遅延時間だけ遅延させて出力するストローブ信号遅延回路部と、
対応する前記各データ遅延回路部の出力データを該ストローブ信号遅延回路部の出力信号に同期させてそれぞれ取り込む複数のラッチ回路部と
を備え、
前記各ラッチ回路部は、対応する前記各データ遅延回路部から該各ラッチ回路部までのデータ伝送時間と、前記ストローブ信号遅延回路部から該各ラッチ回路部までの信号伝送時間とがそれぞれ等しくなるように配置されることを特徴とする記憶制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置から出力されたデータを該データと共に出力されたストローブ信号に同期させて取り込むインタフェース回路及びそのインタフェース回路を備えた記憶制御装置に関する。
【背景技術】
【０００２】
デバイス間のデータインタフェース手法として、デバイス間で位相制御された単一のクロックを用いて当該クロックに同期させてデータを送受信する手法と、受信側デバイスが送信側デバイスから出力されたストローブ信号に基づいて当該データを内部に取り込む手法とがある。そして、後者のデータインタフェースとしては、例えば、ハードディスクにおけるウルトラＤＭＡ、ＤＤＲ（ダブルデータレート）−ＳＤＲＡＭ、ＤＤＲ２−ＳＤＲＡＭ等がある。これらのインタフェースのうち、ウルトラＤＭＡについては、たとえウルトラＤＭＡ１００であってもストローブ信号の周波数は最大５０ＭＨｚであることから、ハードディスクインタフェースをもつＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）設計においてデータの受信はそれほど困難ではない。しかし、ＤＤＲ−ＳＤＲＡＭの場合は、４００ＭＨｚや２６６ＭＨｚ等の高速なストローブ信号に同期してデータを受信しなくてはならないこと、及びストローブ信号とデータのタイミング規定が厳しいことなどから、ＡＳＩＣ設計において専用の機構を用いなければデータの受信が困難である。さらに、ＤＤＲ２−ＳＤＲＡＭの場合は、４００ＭＨｚ以上のストローブ信号に同期してデータを受け取らなければならないため、データの受信はより困難になる。
【０００３】
上記の問題を解決するための手法として、例えば非特許文献１に記載されているようなＤＬＬ（Ｄｅｌａｙ Ｌｏｃｋｅｄ Ｌｏｏｐ）を用いる手法が知られている。図１１は、この手法を用いたデータ受信デバイスのインタフェース回路１０１の構成例を示している。図１１に示されるように、ＤＬＬ回路１０２の内部において、遅延回路１０３は、ＤＬＬ回路１０２の外部から入力されたクロック信号ＣＫ０を、該クロック信号ＣＫ０の周期に等しい時間だけ遅延させて位相比較器１０４に出力する。位相比較器１０４は、クロック信号ＣＫ０の位相と遅延回路１０３を通過したクロック信号の位相とを比較して、その比較結果を出力する。遅延制御回路１０５は、上記比較結果から、クロック信号ＣＫ０の周期に等しい遅延時間に対応した遅延設定値Ａｖを算出し、遅延回路１０３と遅延設定値算出回路１０６とにそれぞれ出力する。遅延設定値算出回路１０６は、遅延制御回路１０５によって算出された遅延設定値Ａｖと外部から与えられたギア比設定値ＧＶ０とから、ストローブ信号ＤＱＳ００を遅延させるための遅延設定値Ｂｖを算出して遅延回路１０７に出力する。遅延回路１０７は、入力されたストローブ信号ＤＱＳ００を、遅延設定値算出回路１０６から出力された遅延設定値Ｂｖに基づいて遅延させ、補正ストローブ信号ＤＱＳ０１として出力する。補正ストローブ信号ＤＱＳ０１は、バッファ１０８〜１１０を介して複数のフリップフロップＦＦ００〜ＦＦ０３にそれぞれ入力される。
【０００４】
ここで、ギア比設定値ＧＶ０が例えば４５％であるならば、遅延設定値算出回路１０６は、クロック信号ＣＫ０の周期の４５％の遅延時間に相当する遅延値を遅延設定値Ｂｖとして遅延回路１０７に設定する。また、遅延回路１０７は、入力されたストローブ信号ＤＱＳ００を当該遅延値だけ遅延させて出力する。なお、上述の説明は、各遅延回路１０３，１０７が、同じ構成の遅延回路であることが前提である。これらの遅延回路１０３，１０７は、ギア比設定値ＧＶ０が０％であっても、少しではあるが遅延値を備える。最小遅延回路Ｍｄ００〜Ｍｄ０３は、ギア比設定値ＧＶ０が０％である場合の各遅延回路１０３，１０７の遅延値と同一の遅延値を有する。
【０００５】
以下に、インタフェース回路１０１の動作を説明する。なお、以下では、遅延回路１０７による遅延を明確にするために、各データ入力端子Ｔ００〜Ｔ０３から各最小遅延回路Ｍｄ００〜Ｍｄ０３までのバッファによる遅延、及びストローブ信号入力端子ＳＴ０から遅延回路１０７までのバッファによる遅延は考慮していない。図１２は、図１１のインタフェース回路１０１においてギア比設定値ＧＶ０が２５％である場合の各データＤＱ００〜ＤＱ０３の受信タイミングを説明するためのタイミングチャートである。図１２に示されるように、遅延回路１０７は、ストローブ信号ＤＱＳ００を、クロック信号ＣＫ０の周期ｔｃｋｗの２５％に相当する遅延時間ｔｄだけ遅延させて出力する。
【０００６】
次に、図１３を用いて図１１に示されたインタフェース回路１０１の全体的な動作について説明する。図１３（ａ）は、インタフェース回路１０１の理想的な動作タイミングを示している。図１３（ａ）に示されるように、各データＤＱ００〜ＤＱ０３は、対応する各端子Ｔ００〜Ｔ０３に入力されてから最小遅延回路Ｍｄ００〜Ｍｄ０３を介してフリップフロップＦＦ００〜ＦＦ０３に至るまでの間に時間ＴＤＤだけ遅延する。また、ストローブ信号ＤＱＳ００は、遅延回路１０７によって時間ＴＤ１だけ遅延される。ここで、遅延回路１０７は、入力信号を所定の単位時間だけそれぞれ遅延させる複数の部分遅延素子からなり、ストローブ信号ＤＱＳ００の遅延時間は、そのストローブ信号ＤＱＳ００が通過した部分遅延素子の個数によって決まる。このような構成により、ストローブ信号ＤＱＳ００を遅延させて得られるストローブ信号ＤＱＳ０１にはジッタＪ１が存在する。
【０００７】
ＡＳＩＣ設計においては、複数のデータＤＱ００〜ＤＱ０３間で遅延時間ＴＤＤが一定になることが必要である。従って、従来のインタフェース回路１０１では、図１１に示されるように、各フリップフロップＦＦ００〜ＦＦ０３は、遅延時間ＴＤＤの差が無いように、対応する各最小遅延回路Ｍｄ００〜Ｍｄ０３の近傍にそれぞれ配置されていた。また、ストローブ信号ＤＱＳ０１のスキューが小さくなるように、遅延回路１０７と各フリップフロップＦＦ００〜ＦＦ０３との間でクロックツリーシンセシスが実施されていた。
【非特許文献１】“ＤＤＲ ＳＤＲＡＭ Ｆｕｎｃｔｉｏｎａｌｉｔｙ ａｎｄ Ｃｏｎｔｒｏｌｌｅｒ Ｒｅａｄ Ｄａｔａ Ｃａｐｔｕｒｅ”  Ｍｉｃｒｏｎ  Ｄｅｓｉｇｎ Ｌｉｎｅ，ｖｏｌ．８，Ｉｓｓｕｅ．３，３Ｑ９９
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のインタフェース回路１０１においては、遅延回路１０７から各フリップフロップＦＦ００〜ＦＦ０３までの距離がそれぞれ長くなり、ストローブ信号ＤＱＳ０１に遅延が生じるという問題があった。また、遅延回路１０７から各フリップフロップＦＦ００〜ＦＦ０３に至るまでの信号の遅延時間は、温度や電圧の変動により大きく変動するという問題があった。図１３（ｂ）は、インタフェース回路１０１の実際の動作タイミングを示している。図１３（ｂ）において、遅延回路１０７から各フリップフロップＦＦ００〜ＦＦ０３に至るまでのストローブ信号ＤＱＳ０１の遅延時間は「Ｔｃ」で表され、その遅延時間の変動量は「Ｊ２」で表されている。なお、ストローブ信号ＤＱＳ０２は、各フリップフロップＦＦ００〜ＦＦ０３のクロック端子に入力される直前のストローブ信号を示している。
【０００９】
ここで、図１３（ａ），（ｂ）を比較すると、図１３（ａ）に示された理想的な動作タイミングでは、有効なデータウィンドウＴＤＷに対してマージンが「Ｍ１Ａ」、「Ｍ１Ｂ」であるのに対し、図１３（ｂ）に示された実際の動作タイミングでは、マージンが「Ｍ２Ａ」、「Ｍ２Ｂ」である。すなわち、実際のインタフェース回路１０１では、データウィンドウＴＤＷに対するマージンのバランスが悪くなり、片側のマージンが極端に小さくなってしまうという課題があった。このようにマージンのバランスが悪くなると、ストローブ信号ＤＱＳ０２に同期させて各データＤＱ００〜ＤＱ０３を有効に取り込むことができる期間が減少してしまうというという課題があった。
【００１０】
本発明は、上記課題を解決するものであり、遅延回路から出力されたストローブ信号がフリッププロップに到達するまでの遅延時間とその変動量を無くすことにより、データを一定期間有効に取り込むことができるインタフェース回路、及びそのようなインタフェース回路を備えた記憶制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によるインタフェース回路は、外部から入力された複数のデータを、該各データと共に入力されたストローブ信号に同期させて取り込むインタフェース回路である。このインタフェース回路は、対応する前記の各データを所定の第１の遅延時間だけそれぞれ遅延させて出力する複数のデータ遅延回路部と、前記のストローブ信号を所定の第２の遅延時間だけ遅延させて出力するストローブ信号遅延回路部と、対応する前記の各データ遅延回路部の出力データを該ストローブ信号遅延回路部の出力信号に同期させてそれぞれ取り込む複数のラッチ回路部とを備える。前記の各ラッチ回路部は、対応する前記の各データ遅延回路部から該各ラッチ回路部までのデータ伝送時間と、前記のストローブ信号遅延回路部から該各ラッチ回路部までの信号伝送時間とがそれぞれ等しくなるように配置される。以下、このインタフェース回路を「第１のインタフェース回路」という。
【００１２】
好ましくは、前記の第１のインタフェース回路において、前記のストローブ信号遅延回路部は、外部から入力された第１の制御信号に応じて、入力された前記のストローブ信号と基準クロック信号のいずれか一方を選択して出力する選択回路部と、前記の選択回路部の出力信号を前記の第１の遅延時間だけ遅延させて出力する第１の遅延回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、該基準クロック信号を、前記の第１の遅延回路部の出力信号と位相が一致するように遅延させて出力するＤＬＬ回路部とを備える。該ＤＬＬ回路部は、前記の選択回路部から前記の基準クロック信号が出力されると、該基準クロック信号の遅延時間と前記の第１の遅延回路部による遅延時間との差が前記の基準クロック信号の周期に等しくなるように、該基準クロック信号の遅延時間を制御し、前記の選択回路部から前記のストローブ信号が出力されると、該ストローブ信号を、前記の基準クロック信号の遅延時間に等しい時間だけ遅延させて出力する。以下、このインタフェース回路を「第２のインタフェース回路」という。
【００１３】
好ましくは、前記の第１のインタフェース回路において、前記のストローブ信号遅延回路部は、外部から入力された第１の制御信号に応じて、入力された前記のストローブ信号と基準クロック信号のいずれか一方を選択して出力する選択回路部と、前記の選択回路部の出力信号を前記の第１の遅延時間だけ遅延させて出力する第１の遅延回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、該基準クロック信号を、前記の第１の遅延回路部の出力信号と位相が一致するように遅延させて出力するＤＬＬ回路部と
を備える。該ＤＬＬ回路部は、前記の選択回路部から前記の基準クロック信号が出力されると、該基準クロック信号の遅延時間と前記の第１の遅延回路部による遅延時間との差が前記の基準クロック信号の周期に等しくなるように、該基準クロック信号の遅延時間を制御し、前記の選択回路部から前記のストローブ信号が出力されると、該ストローブ信号を、前記の基準クロック信号の遅延時間の所定数分の１に等しい時間だけ遅延させて出力する。以下、このインタフェース回路を「第３のインタフェース回路」という。
【００１４】
好ましくは、前記の第１のインタフェース回路において、前記のストローブ信号遅延回路部は、外部から入力された第１の制御信号に応じて、入力された前記のストローブ信号と基準クロック信号のいずれか一方を選択して出力する選択回路部と、前記の選択回路部の出力信号を前記の第１の遅延時間だけ遅延させて出力する第１の遅延回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、該基準クロック信号を、前記の第１の遅延回路部の出力信号と位相が一致するように遅延させて出力するＤＬＬ回路部と
を備える。該ＤＬＬ回路部は、前記の選択回路部から前記の基準クロック信号が出力されると、該基準クロック信号の遅延時間と前記の第１の遅延回路部による遅延時間との差が前記の基準クロック信号の周期に等しくなるように、該基準クロック信号の遅延時間を制御し、前記の選択回路部から前記のストローブ信号が出力されると、該ストローブ信号を、前記の基準クロック信号の遅延時間を所定の割合で増加又は減少させた時間だけ遅延させて出力する。以下、このインタフェース回路を「第４のインタフェース回路」という。
【００１５】
好ましくは、前記の第２のインタフェース回路において、前記のＤＬＬ回路部は、前記の選択回路部の出力信号を設定された遅延時間だけ遅延させて出力する第２の遅延回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、前記の第１及び第２の各遅延回路部の出力信号の位相差を検出し出力する位相差検出回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、前記の第２の遅延回路部に対して、該位相差が無くなるように遅延時間を制御する遅延制御回路部とを備える。以下、このインタフェース回路を「第５のインタフェース回路」という。
【００１６】
好ましくは、前記の第３のインタフェース回路において、前記のＤＬＬ回路部は、前記の選択回路部の出力信号を設定された遅延時間だけ遅延させて出力する第２の遅延回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、前記の第１及び第２の各遅延回路部の出力信号の位相差を検出し出力する位相差検出回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、前記の第２の遅延回路部に対して、該位相差が無くなるように遅延時間を制御し、該選択回路部から前記のストローブ信号が出力されると、前記の第２の遅延回路部の遅延時間を該遅延時間の所定数分の１に設定する遅延制御回路部とを備える。以下、このインタフェース回路を「第６のインタフェース回路」という。
【００１７】
好ましくは、前記の第４のインタフェース回路において、前記のＤＬＬ回路部は、前記の選択回路部の出力信号を設定された遅延時間だけ遅延させて出力する第２の遅延回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、前記の第１及び第２の各遅延回路部の出力信号の位相差を検出し出力する位相差検出回路部と、前記の選択回路部から前記の基準クロック信号が出力されると、前記の第２の遅延回路部に対して、該位相差が無くなるように遅延時間を制御し、該選択回路部から前記のストローブ信号が出力されると、前記の第２の遅延回路部の遅延時間を、該遅延時間を所定の割合で増加又は減少させた時間に設定する遅延制御回路部とを備える。以下、このインタフェース回路を「第７のインタフェース回路」という。
【００１８】
好ましくは、前記の第７のインタフェース回路において、前記の遅延制御回路部は、外部から入力された第２の制御信号に応じて、前記の割合を変化させる。
【００１９】
好ましくは、前記の第１のインタフェース回路において、前記のストローブ信号は、差動信号をなす一対の信号からなり、前記のストローブ信号遅延回路部は、前記の差動信号の対応する一方の信号をそれぞれ遅延させて出力する２つの信号遅延回路部からなり、前記の各ラッチ回路部は、対応する前記の各データ遅延回路部の出力データをそれぞれ取り込む２つのラッチ回路をそれぞれ備える。前記の各ラッチ回路は、対応する該各データ遅延回路部の出力データを、対応する前記の各信号遅延回路部の出力信号にそれぞれ同期させて取り込む。
【００２０】
本発明による記憶制御装置は、記憶装置から出力された複数のデータを、該各データと共に出力されたストローブ信号に基づいて取り込むインタフェース回路を備える。前記のインタフェース回路は、対応する前記の各データを所定の第１の遅延時間だけそれぞれ遅延させて出力する複数のデータ遅延回路部と、前記のストローブ信号を所定の第２の遅延時間だけ遅延させて出力するストローブ信号遅延回路部と、対応する前記の各データ遅延回路部の出力データを該ストローブ信号遅延回路部の出力信号に同期させてそれぞれ取り込む複数のラッチ回路部とを備える。前記の各ラッチ回路部は、対応する前記の各データ遅延回路部から該各ラッチ回路部までのデータ伝送時間と、前記のストローブ信号遅延回路部から該各ラッチ回路部までの信号伝送時間とがそれぞれ等しくなるように配置される。
【発明の効果】
【００２１】
本発明によるインタフェース回路によれば、各ラッチ回路部が、対応する各データ遅延回路部から該各ラッチ回路部までのデータ伝送時間と、ストローブ信号遅延回路部から該各ラッチ回路部までの信号伝送時間とがそれぞれ等しくなるように配置されるため、対応する各データ遅延回路部からそれぞれ出力された各データに対して、ストローブ信号遅延回路部から出力されたストローブ信号の遅延時間を無いものとすることができる。すなわち、各ラッチ回路部においてデータをそれぞれ取り込む際に、ストローブ信号のデータに対する遅延時間がストローブ信号遅延回路部で設定された時間に保持されていることから、ストローブ信号遅延回路部によって遅延時間を適切に設定することにより、ラッチ回路部においてデータを一定期間有効に取り込むことができる。
【発明を実施するための最良の形態】
【００２２】
以下に、添付の図面を参照して、本発明の実施の形態について説明する。
（実施の形態１）
まず、本発明の実施の形態１によるインタフェース回路について説明する。なお、以下では、インタフェース回路に入力されるデータが８ビットであり、ストローブ信号が一対の差動信号である場合を例に挙げて説明する。図１は、本実施の形態１によるインタフェース回路の構成例を示している。図１に示されるように、本実施の形態１によるインタフェース回路１は、入力されるデータＤＱ０〜ＤＱ７の数に等しい８つのデータ入力端子Ｔ０〜Ｔ７と、８個のデータ遅延回路Ｍｄ０〜Ｍｄ７と、８個のラッチ回路部ＤＴ０〜ＤＴ７と、ストローブ信号をなす一対の差動信号ＤＱＳ０，ＤＱＳＢ０が入力されるストローブ信号入力端子ＳＴ１，ＳＴ２と、ストローブ信号遅延回路部ＳＳＤと、複数のバッファＢｆ００，Ｂｆ０１，Ｂｆ１〜Ｂｆ４，Ｂｆ７０〜Ｂｆ７２とを備えている。図１では、図示を簡単にするために、データＤＱ０，ＤＱ７に関連した構成のみを示しており、各データＤＱ１〜ＤＱ６に関連した構成は省略している。ストローブ信号遅延回路部ＳＳＤは、差動信号ＤＱＳ０，ＤＱＳＢ０がバッファＢｆ１等を介してそれぞれ入力される２つの信号遅延回路部ＳＤ１，ＳＤ２からなる。また、各ラッチ回路部ＤＴ０〜ＤＴ７は、２つのフリップフロップからそれぞれなる。ここで、ラッチ回路部ＤＴ０〜ＤＴ７の構成は全て同一であるので、ラッチ回路部ＤＴ０を例にして説明すると、ラッチ回路部ＤＴ０は、２つのフリップフロップＦＦ０１，ＦＦ０２からなる。なお、データ遅延回路Ｍｄ０〜Ｍｄ７は、データ遅延回路部をそれぞれなし、各フリップフロップＦＦ０１，ＦＦ０２，ＦＦ１１，ＦＦ１２，ＦＦ２１，ＦＦ２２，ＦＦ３１，ＦＦ３２，ＦＦ４１，ＦＦ４２，ＦＦ５１，ＦＦ５２，ＦＦ６１，ＦＦ６２，ＦＦ７１，ＦＦ７２は、ラッチ回路をそれぞれなす。
【００２３】
対応する各データ入力端子Ｔ０〜Ｔ７にそれぞれ入力された各データＤＱ０〜ＤＱ７は、対応する各バッファＢｆ００〜Ｂｆ７０を介して各データ遅延回路Ｍｄ０〜Ｍｄ７にそれぞれ入力される。データ遅延回路Ｍｄ０〜Ｍｄ７は、入力された対応する各データＤＱ０〜ＤＱ７を所定の時間それぞれ遅延させて出力する。ここで、各データ遅延回路Ｍｄ０〜Ｍｄ７の構成は全て同一であるので、任意のデータ遅延回路Ｍｄｋ（ｋ＝０〜７）について説明すると、データ遅延回路Ｍｄｋは、入力されたデータＤＱｋを所定の時間遅延させて各フリップフロップＦＦｋ１，ＦＦｋ２のデータ端子Ｄにそれぞれ出力する。なお、図１に示されたインタフェース回路１では、全てのデータＤＱ０〜ＤＱ７について、データ入力端子Ｔ０〜Ｔ７、バッファＢｆ００〜Ｂｆ７０、及びデータ遅延回路Ｍｄ０〜Ｍｄ７の配置関係が同じである。よって、各データＤＱ０〜ＤＱ７が対応する各データ入力端子Ｔ０〜Ｔ７に入力されてから各データ遅延回路Ｍｄ０〜Ｍｄ７に到達するまでの間に生じる遅延時間は全て同一である。
【００２４】
また、ストローブ信号入力端子ＳＴ１，ＳＴ２に入力された差動信号ＤＱＳ０，ＤＱＳＢ０は、バッファＢｆ１を介してストローブ信号遅延回路部ＳＳＤにそれぞれ入力される。このとき、バッファＢｆ１には、信号ＤＱＳ０が入力されると共に、信号ＤＱＳＢ０が反転されて入力される。バッファＢｆ１の出力信号ＤＱＳ１は、信号遅延回路部ＳＤ１に入力されると共に、インバータＩｖによって反転されて信号ＤＱＳＢ１として遅延回路部ＳＤ２に入力される。信号遅延回路部ＳＤ１は、入力された信号ＤＱＳ１を遅延させて、各フリップフロップＦＦ０１，ＦＦ１１，ＦＦ２１，ＦＦ３１，ＦＦ４１，ＦＦ５１，ＦＦ６１，ＦＦ７１のクロック端子にそれぞれ出力する。また、信号遅延回路部ＳＤ２は、入力された信号ＤＱＳＢ１を遅延させて、各フリップフロップＦＦ０２，ＦＦ１２，ＦＦ２２，ＦＦ３２，ＦＦ４２，ＦＦ５２，ＦＦ６２，ＦＦ７２のクロック端子にそれぞれ出力する。任意のフリップフロップＦＦｋ１，ＦＦｋ２は、データ遅延回路Ｍｄｋから出力されたデータＤＱｋを、対応する各信号遅延回路部ＳＤ１，ＳＤ２からそれぞれ出力されたストローブ信号ＤＱＳ２，ＤＱＳＢ２に基づいてそれぞれ出力する。なお、各信号遅延回路部ＳＤ１，ＳＤ２の構成及び動作については後に詳細に説明する。
【００２５】
フリップフロップＦＦｋ１は、データ遅延回路ＭｄｋからフリップフロップＦＦｋ１までのデータ伝送時間と、信号遅延回路部ＳＤ１からフリップフロップＦＦｋ１までの信号伝送時間とが等しくなるように配置される。また、フリップフロップＦＦｋ２は、データ遅延回路ＭｄｋからフリップフロップＦＦｋ２までのデータ伝送時間と、信号遅延回路部ＳＤ２からフリップフロップＦＦｋ２までの信号伝送時間とが等しくなるように配置される。さらに、データ伝送時間及び信号伝送時間が長い場合には、データ遅延回路Ｍｄｋから各フリップフロップＦＦｋ１，ＦＦｋ２までの配線経路、及び各信号遅延回路部ＳＤ１，ＳＤ２から対応する各フリップフロップＦＦｋ１，ＦＦｋ２までの配線経路に、同一のバッファがそれぞれ配置されてもよい。例えば、図１においては、データ遅延回路Ｍｄ７から各フリップフロップＦＦ７１，ＦＦ７２までの配線経路に、バッファＢｆ７２が配置され、各信号遅延回路部ＳＤ１，ＳＤ２から各フリップフロップＦＦ７１，ＦＦ７２までの配線経路に、対応する各バッファＢｆ３，Ｂｆ４がそれぞれ配置されている。これらのバッファＢｆ３，Ｂｆ４，Ｂｆ７２は、全て同一である。なお、配線経路に配置されるバッファＢｆ３，Ｂｆ４，Ｂｆ７２等のバッファは、必要に応じて適宜配置されればよく、データ遅延素子Ｍｄｋから各フリップフロップＦＦｋ１，ＦＦｋ２までの配線経路、及びストローブ信号遅延回路部ＳＳＤから各フリップフロップＦＦｋ１，ＦＦｋ２までの配線経路にバッファが配置されても配置されなくてもよい。
【００２６】
次に、ストローブ信号遅延回路部ＳＳＤを構成する各信号遅延回路部ＳＤ１，ＳＤ２について説明する。なお、各信号遅延回路部ＳＤ１，ＳＤ２の構成は同一であるので、以下では、信号遅延回路部ＳＤ１の構成を例に挙げて説明する。図２は、信号遅延回路部ＳＤ１の構成例を示している。図２に示されるように、信号遅延回路部ＳＤ１は、マルチプレクサ（以下、「ＭＵＸ」という。）１１、第１遅延回路１２、第２遅延回路１３、位相比較器１４、遅延制御回路１５、及び５つのバッファ１６〜２０を備えている。なお、ＭＵＸ１１は、選択回路部をなす。また、第２遅延回路１３、位相比較器１４、及び遅延制御回路１５は、ＤＬＬ回路部をなす。
【００２７】
ＭＵＸ１１には、リファレンスクロックＲＣＫ及びストローブ信号ＤＱＳ１がそれぞれ入力されると共に、切換信号として補正モード信号ＣＭＳが入力される。ＭＵＸ１１は、補正モード信号ＣＭＳに基づいてリファレンスクロックＲＣＫとストローブ信号ＤＱＳ１のいずれか一方を選択し、第１遅延回路１２と第２遅延回路１３とに出力する。具体的に、ＭＵＸ１１は、補正モード信号ＣＭＳがアクティブとなる補正モード時には、リファレンスクロックＲＣＫを選択し、補正モード信号ＣＭＳが非アクティブとなる通常モード時には、ストローブ信号ＤＱＳ１を選択する。
【００２８】
第１遅延回路１２は、ＭＵＸ１１から入力されたリファレンスクロックＲＣＫ又はストローブ信号ＤＱＳ１を所定の遅延時間だけ遅延させて、バッファ１６及びバッファ１７を介して位相比較器１４に出力する。ここで、第１遅延回路１２による遅延時間は、図１に示された各データ遅延回路Ｍｄ０〜Ｍｄ７による遅延時間と同一である。一方、第２遅延回路１３は、ＭＵＸ１１から入力されたリファレンスクロックＲＣＫ又はストローブ信号ＤＱＳ１を、設定された遅延時間だけ遅延させて、バッファ１８及びバッファ１９を介して位相比較器１４に出力すると共に、バッファ１８及びバッファ２０を介して各ラッチ回路部ＤＴ０〜ＤＴ７にそれぞれ出力する。
【００２９】
位相比較器１４には、各バッファ１６，１７を介した第１遅延回路１２の出力信号と、各バッファ１８，１９を介した第２遅延回路１３の出力信号とが入力される。位相比較器１４は、入力されたこれらの信号の位相を比較して位相差を検出し、その検出結果を遅延制御回路１５に出力する。遅延制御回路１５は、位相比較器１４によって検出された位相差に基づいて、該位相差が無くなるように、第２遅延回路１３の遅延時間を制御する。例えば、遅延制御回路１５は、第２遅延回路１３に対して、上記位相差を示す位相差信号Ｓｇを出力する。
【００３０】
図３は、第２遅延回路１３の構成例を示す回路図である。図３に示されるように、第２遅延回路１３は、複数の遅延素子Ｍ０〜Ｍｐ（ｐは正の整数）と選択回路２２とを備えている。選択回路２２は、位相差信号Ｓｇに応じて１以上の遅延素子Ｍ０〜Ｍｐからの出力信号を選択する。
【００３１】
また、位相比較器１４が、第１遅延回路１２の出力信号と第２遅延回路１３の出力信号とを比較してどちらの信号の位相が進んでいるかを判断し、遅延制御回路１５が、その判断結果に応じて第２遅延回路１３を制御してもよい。すなわち、位相比較器１４によって第１遅延回路１２の出力信号は第２遅延回路１３の出力信号よりも位相が進んでいると判断された場合には、遅延制御回路１５が、第２遅延回路１３に対して、該第２の遅延回路１３に入力された信号が通過する遅延素子Ｍ０〜Ｍｐの個数を１つずつ増やすように制御し、位相比較器１４によって第２遅延回路１３の出力信号は第１遅延回路１２の出力信号よりも位相が進んでいると判断された場合には、第２遅延回路１３に対して、該入力信号が通過する遅延素子Ｍ０〜Ｍｐの個数を１つずつ減らすように制御してもよい。
【００３２】
次に、図２に示された信号遅延回路部ＳＤ１の動作を説明する。なお、第１遅延回路１２及びＤＬＬ回路部の動作を明確にするために、各バッファ１６〜２０は存在しないものとして説明する。図４は、ＭＵＸ１１によってリファレンスクロックＲＣＫが選択された場合の信号遅延回路部ＳＤ１の動作を説明するためのタイミングチャートである。図４は、ＭＵＸ１１から出力された直後のリファレンスクロックＲｃｋ１、第１遅延回路１２を経て位相比較器１４に入力される直前のリファレンスクロックＲｃｋ２、第２遅延回路１３を経て位相比較器１４に入力される直前のリファレンスクロックＲｃｋ３の各波形をそれぞれ示している。ここで、リファレンスクロックＲｃｋ３ａ，Ｒｃｋ３ｂ，Ｒｃｋ３ｃは、いずれも第２遅延回路１３を経て位相比較器１４に入力される直前のリファレンスクロックＲｃｋ３であるが、第２遅延回路１３に対して設定されている遅延時間が異なっている。２つのリファレンスクロックＲｃｋ１，Ｒｃｋ２のタイミング差は、第１遅延回路１２による遅延時間ｔＤｍｉｎを示している。
【００３３】
第２遅延回路１３による遅延時間は、初期状態において、最小単位時間又は最小単位時間に近い時間に設定されている。リファレンスクロックＲｃｋ３ａは、このような初期状態におけるリファレンスクロックＲｃｋ３の波形を示している。第２遅延回路１３に対する遅延時間の初期設定が最小単位時間である場合、すなわち、第２遅延回路１３及び第１遅延回路１２に同一の遅延時間が設定された場合、２つのリファレンスクロックＲｃｋ２，Ｒｃｋ３ａのタイミング差は、リファレンスクロックＲＣＫが図３に示された選択回路２２を通過することに起因する。このとき、遅延制御回路１５は、初期状態の第２遅延回路４２に対して遅延時間を増加するように制御する。この場合、位相比較器１４に入力される直前のリファレンスクロックＲｃｋ３は、リファレンスクロックＲｃｋ３ａからリファレンスクロックＲｃｋ３ｂへと変化する。
【００３４】
なお、リファレンスクロックＲｃｋ３が、リファレンスクロックＲｃｋ３ｃよりも遅延していると、遅延制御回路１５は、第２遅延回路１３に対して遅延時間を減らすように制御する。以降、遅延制御回路１５は、位相比較器１４に入力された各信号のエッジが一致するように第２遅延回路１３による遅延時間を制御する。このような場合に、図４に示された時間ｔＤｌｏｃｋは、リファレンスクロックＲＣＫの周期と一致する。
【００３５】
また、図２に示されるように、ＭＵＸ１１の出力端地点、第１遅延回路１２の出力端地点、位相比較器１４の一方の入力端地点、第２遅延回路１３の出力端地点、及び位相比較器１４の他方の入力端地点をそれぞれ地点Ａ〜Ｅとすると、次の式が成り立つ。
（地点Ａ〜地点Ｂによる遅延時間（最小単位の遅延時間））＋（地点Ｂ〜地点Ｃによる遅延時間）＋リファレンスクロックＲＣＫの１周期）＝（地点Ａ〜地点Ｄによる遅延時間）＋（地点Ｄ〜地点Ｅによる遅延時間）
ここで、第１遅延回路１２、第２遅延回路１３、位相比較器１４、及びバッファ等を適切な場所にそれぞれ配置することにより、（地点Ｂ〜地点Ｃによる遅延時間）＝（地点Ｄ〜地点Ｅによる遅延時間）が実現されている。
【００３６】
また、図１の各データ入力端子Ｔ０〜Ｔ７を構成するＩ／Ｏパッドから対応する各データ遅延回路Ｍｄ０〜Ｍｄ７までの配線経路による遅延時間、及びストローブ信号入力端子ＳＴ１を構成するＩ／Ｏパッドから信号遅延回路部ＳＤ１までの配線経路による遅延時間が等しくなるように、上記各配線経路上の素子を配置する。本実施の形態１によるインタフェース回路１によれば、データ遅延回路Ｍｄｋから各フリップフロップＦＦｋ１，ＦＦｋ２までの配線経路に起因する遅延時間と、信号遅延回路部ＳＤ１から各フリップフロップＦＦｋ１，ＦＦｋ２までの配線経路に起因する遅延時間とは等しくなるので、データ入力端子Ｔｋに入力されたデータＤＱｋの遅延時間と、ストローブ信号入力端子ＳＴ１に入力されたストローブ信号ＤＱＳ０の遅延時間との差はリファレンスクロックＲＣＫの１周期に等しくなる。すなわち、フリップフロップＦＦｋ１に入力された時点で、データに対してストローブ信号はリファレンスクロックＲＣＫの１周期分だけ遅れることになる。
【００３７】
一方、補正モード信号ＣＭＳが非アクティブになると、信号遅延回路部ＳＤ１は通常モードになり、ＭＵＸ１１によってストローブ信号ＤＱＳ１が選択される。第２遅延回路１３は、入力されたストローブ信号ＤＱＳ１を、補正モード時にリファレンスクロックＲＣＫを用いて設定された遅延時間だけ遅延させ、各バッファ１８，２０を介してフリップフロップＦＦｋ１のクロック端子に出力する。
【００３８】
以上の説明から分かるように、各フリップフロップＦＦｋ１，ＦＦｋ２のデータ端子にそれぞれ入力されるデータＤＱｋに対して、各フリップフロップＦＦｋ１，ＦＦｋ２のクロック端子にそれぞれ入力される対応する各ストローブ信号ＤＱＳ２，ＤＱＳＢ２は、リファレンスクロックＲＣＫの１周期分だけそれぞれ遅延する。上述のリファレンスクロックＲＣＫを用いた遅延時間設定処理（以下、「補正処理」という。）を定期的に行うことにより、理想的なストローブ遅延を保持することができる。
【００３９】
上述されたインタフェース回路１は、記憶装置のデータ入出力を制御する記憶制御装置のインタフェースとして用いることができる。図５は、記憶装置３１に対するデータの入出力を制御する記憶制御装置３２のインタフェースの構成例を示している。図５では、記憶装置３１及び記憶制御装置３２の一例として、ＤＤＲ２−ＳＤＲＡＭ及びメモリ制御ＬＳＩをそれぞれ示している。図５に示されるように、記憶装置３１から記憶制御装置３２には、データＤＱ０〜ＤＱ７及びストローブ信号ＤＱＳ，ＤＱＳＢがそれぞれ入力されている。なお、図５に示されたインタフェース回路では、図示を簡単にするために、データＤＱ０，ＤＱ７に関連した構成のみを示しており、各データＤＱ１〜ＤＱ６に関連した構成は省略している。
【００４０】
記憶制御装置３２は、制御回路部３３によって制御されている。制御回路部３３は、記憶制御装置３２に対して、補正モード信号ＣＭＳ及び他の制御信号、例えばギア比設定信号ＧＶ（後述する）をそれぞれ出力する。また、記憶装置３１及び記憶制御装置３２は、バスクロック発生回路３４によって発生されたバスクロックＢＣＫに基づいて動作する。なお、バスクロック発生回路３４は制御回路部３３によって制御されている。
【００４１】
また、記憶制御装置３２は、リファレンスクロック発生回路３５を備えている。リファレンスクロック発生回路３５は、入力されたバスクロックＢＣＫに基づいてリファレンスクロックＲＣＫを発生し、各信号遅延回路部ＳＤ１，ＳＤ２にそれぞれ出力する。
【００４２】
図６は、図５に示された記憶制御装置３２に用いられているインタフェース回路の動作を説明するためのタイミングチャートである。図６には、リファレンスクロックＲＣＫ、バスクロックＢＣＫ、データＤＱ０〜ＤＱ７、ストローブ信号ＤＱＳ０、及びストローブ信号ＤＱＳ０を遅延させて得られるストローブ信号ＤＱＳ２，ＤＱＳＢ２の波形がそれぞれ示されている。ここで、リファレンスクロックＲＣＫの周波数は、バスクロックＢＣＫの周波数の４逓倍である。また、データのセットアップ動作及びホールド動作が、バスクロックのエッジ間におけるリファレンスクロックＲＣＫの１周期の期間に渡ってそれぞれ行われている。
【００４３】
図６のタイミングチャートは、ダブルデータレート方式のデータ転送のタイミングを示している。ダブルデータレート方式では、記憶装置３１に対して、ストローブ信号の立ち上がり時と立ち下がり時の両方でデータの入出力を行う。データＤＱ０〜ＤＱ７を用いて説明すると、記憶装置３１からは、例えば、ストローブ信号の最初の立ち上がり時にデータＤＱ０が出力され、最初の立ち下がり時にデータＤＱ１が出力される。
【００４４】
しかし、記憶制御装置３２において実際にデータを取り込む際には、データＤ０〜Ｄ７間の遅延時間の差及びメモリのＡＣ特性によって、必ずしもストローブ信号の立ち上がり時やＨ（Ｈｉｇｈ）レベル期間中に有効なデータが入力されるわけではなく、有効なデータを取り込むことのできる期間は限定される。図６に示された例では、有効なデータを取り込むために、ストローブ信号ＤＱＳ０をバスクロックＢＣＫの９０度の位相分だけ遅らせなければならない。
【００４５】
そこで、本実施の形態１によるインタフェース回路１では、バスクロックＢＣＫの９０度の位相分に相当する時間を１周期とするリファレンスクロックＲＣＫを用いて、ストローブ信号を遅延させる。上述したように、各フリップフロップＦＦｋ１，ＦＦｋ２のクロック端子にそれぞれ入力されたストローブ信号は、同じフリップフロップＦＦｋ１，ＦＦｋ２のデータ端子に入力されたデータよりもリファレンスクロックＲＣＫの１周期だけ遅れている。よって、リファレンスクロックＲＣＫをバスクロックＢＣＫの４逓倍クロックとすれば、ストローブ信号ＤＱＳ０をバスクロックＢＣＫの９０度の位相分だけ遅らせることができ、結果として有効なデータを取り込むことができる。なお、図６では、補正前のストローブ信号と補正後のストローブ信号のタイミング差を、時間ｔｃｙｃ＋ｔＤｍｉｎで表している。この時間ｔｃｙｃ＋ｔＤｍｉｎは、データ遅延回路Ｍｄｋによる遅延時間ｔＤｍｉｎとリファレンスクロックＲＣＫの１周期ｔｃｙｃの和である。ここで、ストローブ信号ＤＱＳ０の遅延時間には、バスクロックＢＣＫの９０度の位相分に相当する時間に遅延データ遅延回路Ｍｄｋによる遅延時間ｔＤｍｉｎが付加されるが、遅延時間ｔＤｍｉｎはリファレンスクロックＲＣＫの１周期ｔｃｙｃに比べて微少であり、インタフェース回路１が有効にデータを取り込むことができる点で問題にはならない。
【００４６】
なお、インタフェース回路の動作モードの切換タイミングは、制御回路部３３によって任意に制御される。通常は、記憶装置３１のリセット解除後は補正モードであり、その後、通常モードに切り替わる。そして、通常モードになってから、記憶装置３１に対してデータの読み出し及び書き込みを行う。その他にも、例えば、記憶装置３１のリフレッシュサイクルに同期して周期的に動作モードを切り替え、リファレンスクロックＲＣＫを用いた上記補正処理を周期的に行うようにしてもよい。
【００４７】
本実施の形態１によるインタフェース回路１によれば、各ラッチ回路部ＤＴ０〜ＤＴ７が、対応する各データ遅延回路Ｍｄ０〜Ｍｄ７から該各ラッチ回路部ＤＴ０〜ＤＴ７までのデータ伝送時間と、ストローブ信号遅延回路部ＳＳＤから該各ラッチ回路部ＤＴ０〜ＤＴ７までの信号伝送時間とがそれぞれ等しくなるように配置されるため、対応する各データ遅延回路Ｍｄ０〜Ｍｄ７からそれぞれ出力された各データＤＱ０〜ＤＱ７に対して、ストローブ信号遅延回路部ＳＳＤから出力されたストローブ信号ＤＱＳ２，ＤＱＳＢ２の遅延を無いものとすることができる。すなわち、各ラッチ回路部ＤＴ０〜ＤＴ７においてデータＤＱ０〜ＤＱ７をそれぞれ取り込む際に、ストローブ信号ＤＱＳ２，ＤＱＳＢ２のデータＤＱ０〜ＤＱ７に対する遅延時間が、ストローブ信号遅延回路部ＳＳＤで設定された時間、すなわち、リファレンスクロックＲＣＫの１周期のままで保持される。よって、本実施の形態１によるインタフェース回路１では、リファレンスクロックＲＣＫの周期を適切に選択することにより、データＤＱ０〜ＤＱ７の取り込み時に、ストローブ信号ＤＱＳ２，ＤＱＳＢ２のデータに対する遅延時間を所望の時間に設定することができることから、データＤＱ０〜ＤＱ７を有効に取り込むことができる。
【００４８】
なお、図２に示された構成例では、リファレンスクロックＲＣＫを直接ＭＵＸ１１に入力していたが、リファレンスクロックＲＣＫに基づいて１周期のパルスを発生するパルス発生器を備え、その発生したパルス信号をＭＵＸ１１に入力してもよい。図７は、パルス発生器を備えた信号遅延回路部ＳＤ１の構成例を示している。図７に示された構成は、パルス発生器３６が追加されたこと以外は、図２に示された構成と同一であるのでその説明を省略する。
【００４９】
（実施の形態２）
次に、本発明の実施の形態２によるインタフェース回路について説明する。本実施の形態２によるインタフェース回路が実施の形態１によるインタフェース回路１と異なる点は、各信号遅延回路部ＳＤ１，ＳＤ２に、動作モードに応じて第２遅延回路１３による遅延時間を、その時点で設定されている遅延時間の１／Ｎ（Ｎは正の整数）に再設定する遅延時間設定回路をそれぞれ追加した点である。遅延時間設定回路は、通常モード時、すなわちＭＵＸ１１によってストローブ信号ＤＱＳ１，ＤＱＳＢ１が選択されると、第２遅延回路１３に対して設定された遅延時間を該遅延時間の１／Ｎに再設定する。その他の構成要素については、実施の形態１によるインタフェース回路と同様であるため、説明を省略する。
【００５０】
図８は、本実施の形態２によるインタフェース回路における信号遅延回路部ＳＤ１の構成例を示している。図８に示されるように、本実施の形態２によるインタフェース回路の信号遅延回路部ＳＤ１は、入力された補正モード信号ＣＭＳに応じて第２遅延回路１３による遅延時間を１／Ｎにする遅延時間設定回路４１を備えている。遅延時間設定回路４１は、補正モード信号ＣＭＳが非アクティブになると、第２遅延回路１３に対して設定されている遅延時間がその遅延時間の１／Ｎに再設定されるように、第２遅延回路１３の選択回路２２に制御信号を出力する。なお、遅延時間設定回路４１及び遅延制御回路１５は、遅延制御回路部をなす。
【００５１】
一方、補正モード信号ＣＭＳがアクティブになると、遅延時間設定回路４１は、遅延制御回路１５から出力された制御信号Ｓｇをそのまま第２遅延回路１３に出力する。すなわち、補正モードにおけるインタフェース回路の動作は、実施の形態１で説明された動作と同一である。
【００５２】
また、本実施の形態２によるインタフェース回路も、実施の形態１によるインタフェース回路１と同様に記憶制御装置に適用することができる。例えば、有効なデータを取り込むために、ストローブ信号ＤＱＳ０，ＤＱＳＢ０をバスクロックＢＣＫの９０度の位相分だけ遅延させたい場合は、各信号遅延回路部ＳＤ１，ＳＤ２に入力されるリファレンスクロックＲＣＫの周波数をバスクロックＢＣＫの周波数と同一にする。すると、補正モード時には、フリップフロップＦＦｋ１のクロック端子に入力された信号が、データ端子に入力されたデータに対してバスクロックＢＣＫの１周期分だけ遅れるように、第２遅延回路１３による遅延時間が設定される。次に、通常モード時に、第２遅延回路１３による遅延時間を補正モード時に設定した遅延時間の１／４に設定すると、フリップフロップＦＦｋ１のクロック端子に入力された信号が、データ端子に入力されたデータに対してバスクロックＢＣＫの１／４周期分だけ遅れる。その結果、ストローブ信号ＤＱＳ０をバスクロックＢＣＫの９０度の位相分だけ遅らせることができ、有効なデータを取り込むことができる。
【００５３】
なお、これはＮ＝４の場合であるが、リファレンスクロックＲＣＫの周波数をバスクロックの周波数の２逓倍とし、Ｎ＝２としても、ストローブ信号ＤＱＳ０，ＤＱＳＢ０をバスクロックＢＣＫの９０度の位相分だけ遅延させることができ、結果として有効なデータを取り込むことができる。
【００５４】
（実施の形態３）
次に、本発明による実施の形態３によるインタフェース回路について説明する。本実施の形態３によるインタフェース回路が実施の形態１によるインタフェース回路１と異なる点は、ギアロジックとＭＵＸとを追加した点である。ギアロジックは、外部から入力されたギア比設定値を示すギア比設定信号ＧＶに応じて、第２遅延回路１３に設定されている遅延時間を調整する。
【００５５】
図９は、本実施の形態３によるインタフェース回路における信号遅延回路部ＳＤ１の構成例を示している。図９に示されるように、本実施の形態３によるインタフェース回路の信号遅延回路部ＳＤ１は、ギアロジック５１とＭＵＸ５２とを備えている。ギアロジック５１は、遅延制御回路１５から出力された制御信号が示す遅延時間をギア比設定値に対応する所定の割合で増加又は減少させてＭＵＸ５２に出力する。なお、ギアロジック５１、ＭＵＸ５２、及び遅延制御回路１５は、遅延制御回路部をなす。
【００５６】
ＭＵＸ５２には、ギアロジック５１の出力信号と遅延制御回路１５の出力信号がそれぞれ入力されると共に、切換信号として補正モード信号ＣＭＳが入力される。ＭＵＸ５２は、補正モード信号ＣＭＳに基づいてギアロジック５１及び遅延制御回路１５の各出力信号のいずれか一方を選択し、第１遅延回路１２と第２遅延回路１３とに出力する。具体的に、ＭＵＸ５２は、補正モード信号ＣＭＳがアクティブとなる補正モード時には、遅延制御回路１５の出力信号を選択し、補正モード信号ＣＭＳが非アクティブとなる通常モード時には、ギアロジック５１の出力信号を選択する。
【００５７】
本実施の形態３によるインタフェース回路の信号遅延回路部ＳＤ１によれば、補正モードにおいて第２遅延回路１３による遅延時間を設定した後でも、通常モードにおいてその設定された遅延時間を調整することができる。これにより、記憶制御装置３１におけるデータ伝送経路とストローブ信号の伝送経路との間に配線遅延の差がある場合でも、この差を無くすように第２遅延回路１３による遅延時間を調整することができる。なお、ギア比設定値は、あらかじめ決められていてもよいし、制御回路部３３によって変更可能であってもよい。
【００５８】
また、ギア比設定値に応じて第２遅延回路１３の遅延時間を調整する上述の構成は、図８に示された信号遅延回路部ＳＤ１にも適用することができる。図１０は、図８に示された信号遅延回路部ＳＤ１にギアロジック５１及びＭＵＸ５２がそれぞれ追加された構成を示している。なお、遅延時間設定回路４１、ギアロジック５１、ＭＵＸ５２、及び遅延制御回路１５は、遅延制御回路部をなす。ギアロジック５１は、遅延時間設定回路４１が第２遅延回路１３に対して設定する遅延時間を、ギア比設定値に対応する所定の割合で増加又は減少させる。ＭＵＸ５２には、ギアロジック５１の出力信号と遅延制御回路１５の出力信号がそれぞれ入力されると共に、切換信号として補正モード信号ＣＭＳが入力される。ＭＵＸ５２は、補正モード信号ＣＭＳがアクティブとなる補正モード時には、遅延時間制御回路１５の出力信号を選択し、補正モード信号ＣＭＳが非アクティブとなる通常モード時には、ギアロジック５１の出力信号を選択する。この場合も、図９に示された構成と同様に、記憶制御装置３１におけるデータ伝送経路とストローブ信号の伝送経路との間に配線遅延の差がある場合でも、この差を無くすように第２遅延回路１３による遅延時間を調整することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態１によるインタフェース回路の構成例を示した図である。
【図２】図１に示された信号遅延回路部の構成例を示した図である。
【図３】図２に示された第２遅延回路の構成例を示す回路図である。
【図４】補正モード時における信号遅延回路部の動作を説明するためのタイミングチャートである。
【図５】記憶制御装置のインタフェース部の構成例を示している。
【図６】図５に示された記憶制御装置に用いられているインタフェース回路の動作を説明するためのタイミングチャートである。
【図７】パルス発生器を備えた信号遅延回路部の構成例を示している。
【図８】本発明の実施の形態２によるインタフェース回路における信号遅延回路部の構成例を示している。
【図９】本発明の実施の形態３によるインタフェース回路における信号遅延回路部の構成例を示している。
【図１０】本発明の実施の形態３によるインタフェース回路における信号遅延回路部の他の構成例を示している。
【図１１】従来のインタフェース回路の構成例を示した図である。
【図１２】図１１のインタフェース回路において各データの受信タイミングを説明するためのタイミングチャートである。
【図１３】インタフェース回路の動作タイミングを示した図である。
【符号の説明】
【００６０】
１  インタフェース回路
ＤＱ０〜ＤＱ７  データ
ＤＱＳ０〜ＤＱＳ２，ＤＱＳＢ０〜ＤＱＳＢ２  ストローブ信号
Ｍｄ０〜Ｍｄ７  データ遅延回路
ＳＳＤ  ストローブ信号遅延回路部
ＳＤ１，ＳＤ２  信号遅延回路部
ＤＴ０，ＤＴ７  データ取り込み回路部
ＦＦ０１，ＦＦ０２，ＦＦ７１，ＦＦ７２  フリップフロップ
【図１】
2007226308.tif 000003
【図２】
2007226308.tif 000004
【図３】
2007226308.tif 000005
【図４】
2007226308.tif 000006
【図５】
2007226308.tif 000007
【図６】
2007226308.tif 000008
【図７】
2007226308.tif 000009
【図８】
2007226308.tif 000010
【図９】
2007226308.tif 000011
【図１０】
2007226308.tif 000012
【図１１】
2007226308.tif 000013
【図１２】
2007226308.tif 000014
【図１３】
2007226308.tif 000015