(57)【要約】【課題】遅延素子の遅延量の更新頻度を増加できるとともに、制御の複雑化を抑制でき、十分な遅延量調整範囲を実現できる遅延回路を提供する。【解決手段】本発明に係る遅延回路１３１は、入力信号を遅延させることにより遅延信号１５３を生成する、直列に接続された第１遅延部１３３及び第２遅延部１３２を備え、第１遅延部１３３は、第１信号伝達経路を有し、第１遅延制御値１５１に応じて、第１信号伝達経路のうち入力信号が伝達する信号伝達経路を切り替えることで、入力信号にあたえる第１遅延量を変更し、第２遅延部１３２は、第２信号伝達径路を有し、入力信号が伝達する第２信号伝達経路を切り替えずに、第２遅延制御値１５２に応じて、入力信号にあたえる第２遅延量を変更する。【選択図】図１
2012100058.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を遅延させることにより遅延信号を生成する、直列に接続された第１遅延部及び第２遅延部を備え、
前記第１遅延部は、第１信号伝達経路を有し、第１遅延制御信号に応じて、前記第１信号伝達経路のうち前記入力信号が伝達する信号伝達経路を切り替えることで、前記入力信号にあたえる第１遅延量を変更し、
前記第２遅延部は、第２信号伝達径路を有し、前記入力信号が伝達する前記第２信号伝達経路を切り替えずに、第２遅延制御信号に応じて、前記入力信号にあたえる第２遅延量を変更する
遅延回路。
【請求項２】
前記第１遅延部は、前記第１遅延制御信号に応じて、前記第１信号伝達経路のうち前記入力信号が伝達する信号伝達経路を切り替えることで、当該信号伝達経路に直列に含まれるゲート素子の数を変更し、
前記第２遅延部は、前記第２遅延制御信号に応じて、前記第２信号伝達経路に付加される容量の大きさを変更することで前記第２遅延時間を変更する
請求項１記載の遅延回路。
【請求項３】
請求項１記載の前記遅延回路と、
前記第１遅延制御信号及び前記第２遅延制御信号を生成する遅延調整部と、
前記遅延回路により生成された前記遅延信号を用いた処理を行う処理部とを備え、
前記遅延調整部は、
前記処理部が前記遅延信号を用いた処理を行わない無効期間に、前記第１遅延制御信号及び前記第２遅延制御信号を更新することにより、前記第１遅延量及び前記第２遅延量を更新し、
前記処理部が前記遅延信号を用いた処理を行う有効期間に、前記第２遅延制御信号を更新することにより、前記第２遅延量を更新する
遅延制御装置。
【請求項４】
遅延調整部は、前記有効期間において、予め定められた一定時間間隔で前記第２遅延制御信号を更新する
請求項３記載の遅延制御装置。
【請求項５】
前記遅延制御装置は、さらに、
当該遅延制御装置の現在の動作環境における遅延量の指標を示す基準遅延量を検出する遅延検出部を備え、
前記遅延調整部は、前記基準遅延量に応じて、前記第１遅延制御信号及び前記第２遅延制御信号を生成する
請求項３記載の遅延制御装置。
【請求項６】
前記遅延調整部は、前記有効期間において、新たに前記遅延検出部により検出された前記基準遅延量と、直前の、前記第２遅延制御信号を更新した際の前記基準遅延量と差分が予め定められた値より大きい場合、前記第２遅延制御信号を更新する
請求項５記載の遅延制御装置。
【請求項７】
前記遅延調整部は、前記有効期間において、
新たに前記遅延検出部により検出された前記基準遅延量に応じて、新たな前記第１遅延制御信号及び新たな前記第２遅延制御信号を算出し、
算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と同じ場合、前記新たな第２遅延制御信号を前記第２遅延部に出力することにより、前記第２遅延量を更新し、
算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と異なる場合、前記第１遅延量及び前記第２遅延量を更新しない
請求項５記載の遅延制御装置。
【請求項８】
前記遅延調整部は、前記有効期間において、
新たに前記遅延検出部により検出された前記基準遅延量に応じて、新たな前記第１遅延制御信号及び新たな前記第２遅延制御信号を算出し、
算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と同じ場合、前記新たな第２遅延制御信号を前記第２遅延部に出力することにより、前記第２遅延量を更新し、
算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と異なる場合、前記処理部が前記遅延信号を用いた処理を行わないように制御したうえで、前記１遅延制御信号及び前記第２遅延制御信号を更新する
請求項５記載の遅延制御装置。
【請求項９】
前記遅延調整部は、前記有効期間において、算出した前記新たな第１遅延制御信号と、現在の前記第１遅延制御信号との差分が予め定められた値以上の場合、前記処理部が前記遅延信号を用いた処理を行わないように制御したうえで、前記１遅延制御信号及び前記第２遅延制御信号を更新する
請求項８記載の遅延制御装置。
【請求項１０】
メモリからデータを読み出すメモリ制御装置であって、
請求項５記載の前記遅延制御装置を備え、
前記入力信号は、前記メモリから出力されるストローブ信号であり、
前記処理部は、前記遅延信号を用いて、前記メモリから出力されるデータを取り込む
メモリ制御装置。
【請求項１１】
メモリと、
前記メモリからデータを読み出す、請求項１０記載の前記メモリ制御装置とを備える
情報端末機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遅延回路、遅延制御装置、メモリ制御装置及び情報端末機器に関し、特に、入力信号を遅延させることにより遅延信号を生成する遅延回路に関するものである。
【背景技術】
【０００２】
ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリ装置、及びメモリ装置とのデータ送受信を行うメモリ制御装置では、データ転送の高速化の要求を満たすために、データとともにストローブ信号を送受信するソースシンクロナス方式でデータ転送を行う技術が用いられている。
【０００３】
ソースシンクロナス方式でデータ転送を行うシステムでは、例えば、メモリ制御装置がメモリ装置からのデータを受信する場合、データの有効期間において、当該データをストローブ信号に基づき受け取れるように、ストローブ信号とデータとのタイミングが調整される。
【０００４】
このタイミング調整において、データ転送の高周波数化に伴い、ストローブ信号でデータを受け取る際に安定してデータを受信できる、データの有効期間が短くなる。さらに、プロセス特性、温度変化、及び電圧変化等の要因で、データとストローブ信号との関係が変動するため、上記のタイミング調整を柔軟に行う必要が生じている。
【０００５】
このため、従来のデータ受信回路は、例えば、ストローブ信号を遅延素子で遅延させることにより、ストローブ信号とデータとのタイミングを合わせる構成を用いている（特許文献１参照）。また、従来のデータ受信回路では、遅延素子による遅延量を可変制御できるようにしている。
【０００６】
一般的に、データ転送を安定して行える遅延量を探索するためには、まず、メモリ制御装置は、ある遅延量を設定し、メモリ装置にデータを書き込み、そのデータをメモリ装置から読み出し、読み出したデータが書き込んだデータと一致するかどうかで、設定した遅延量がデータ転送可能な遅延量かどうかを判断する。そしてメモリ制御装置は、この動作を繰り返すことで、安定してデータ転送が可能な遅延量の範囲（Ｗｉｎｄｏｗ）を検出する。
【０００７】
また、メモリ制御装置は、このようにして決定した遅延量をシステムの動作中においても一定に保つために、内部クロックの位相を利用して基準となる遅延量の変化を常に監視する。そして、メモリ制御装置は、基準遅延量に変化があった場合はその変化を上記のタイミング調整のための遅延量に反映させている。
【０００８】
しかし、一般的な遅延素子の構成では、遅延量を指示するための遅延設定値を変化させると、遅延素子の出力にノイズがのるため、データの送受信時には遅延設定値を変化させることができない。このため、上記ＳＤＲＡＭの場合は、一般的にはデータの送受信が行われないリフレッシュコマンドの実行時に上記の遅延設定値の変更が行われている（特許文献２参照）。このようなシステムでは、リフレッシュコマンドは一定期間ごとにしか実施されないため、その間は遅延量が変化しても遅延設定値に反映させることができない。よって、遅延素子の遅延量が最適な遅延量から離れてしまい、その分だけ高速データ転送の安定性が悪くなるという問題がある。
【０００９】
ある従来技術は、遅延設定値の反映をリフレッシュ時のみだけでなく、リード用の遅延素子であればライト時など非リード時にも行う（特許文献２参照）。これにより、当該従来技術は、遅延素子の遅延量の更新頻度を増やすことができる。
【００１０】
また、別の従来技術では、信号経路に容量を付加し、その付加の有効、無効を切り替えることで遅延量を変化させることが開示されている（特許文献３参照）。これにより、当該従来技術は、動作中に遅延量を変化させた場合に生じるノイズを低減できる。よって、当該従来技術は、動作中にも遅延量を更新できるので、遅延量の更新頻度を増やすことができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許第６６６５２３０号明細書
【特許文献２】米国特許第７３６６８６２号明細書
【特許文献３】特開２００６−１７２６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記特許文献２の技術のように、該当パスを使用していない場合に遅延設定値を更新する場合は、使用される箇所に応じた更新タイミングを検出する必要があるという問題が生じる。また、上記特許文献２の技術は、リフレッシュコマンド以外の、ライト転送が発生するタイミングなど、予測できないタイミングを利用するため、遅延量の調整タイミングの確保が困難であるという問題が生じる。
【００１３】
このように、特許文献２の技術は、制御が複雑化するという課題を有する。
【００１４】
また、上記特許文献３の技術の構成では、調整できる遅延量が一般的に少ない。これにより、上記特許文献３の技術は、データ送受信のための遅延回路において、十分な遅延量調整範囲を確保することが困難であるという課題を有する。
【００１５】
そこで、本発明は、遅延素子の遅延量の更新頻度を増加できるとともに、制御の複雑化を抑制でき、十分な遅延量調整範囲を実現できる遅延回路、遅延制御装置、メモリ制御装置及び情報端末機器を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明の一形態に係る遅延回路は、入力信号を遅延させることにより遅延信号を生成する、直列に接続された第１遅延部及び第２遅延部を備え、前記第１遅延部は、第１信号伝達経路を有し、第１遅延制御信号に応じて、前記第１信号伝達経路のうち前記入力信号が伝達する信号伝達経路を切り替えることで、前記入力信号にあたえる第１遅延量を変更し、前記第２遅延部は、第２信号伝達径路を有し、前記入力信号が伝達する前記第２信号伝達経路を切り替えずに、第２遅延制御信号に応じて、前記入力信号にあたえる第２遅延量を変更する。
【００１７】
この構成によれば、本発明の一形態に係る遅延回路は、遅延量を変更しても出力信号にノイズが発生しない第２遅延部を備える。これにより、本発明の一形態に係る遅延回路は、動作状態によらず、第２遅延部の遅延量を変更できるので、遅延素子の遅延量の更新頻度を増加できるとともに、制御の複雑化を抑制できる。さらに、本発明に一形態に係る遅延回路は、遅延量を変更した場合に出力信号にノイズが発生するが遅延調整の範囲が広い第１遅延部を備えることにより、十分な遅延量調整範囲を実現できる。
【００１８】
また、前記第１遅延部は、前記第１遅延制御信号に応じて、前記第１信号伝達経路のうち前記入力信号が伝達する信号伝達経路を切り替えることで、当該信号伝達経路に直列に含まれるゲート素子の数を変更し、前記第２遅延部は、前記第２遅延制御信号に応じて、前記第２信号伝達経路に付加される容量の大きさを変更することで前記第２遅延時間を変更してもよい。
【００１９】
また、本発明の一形態に係る遅延制御装置は、前記遅延回路と、前記第１遅延制御信号及び前記第２遅延制御信号を生成する遅延調整部と、前記遅延回路により生成された前記遅延信号を用いた処理を行う処理部とを備え、前記遅延調整部は、前記処理部が前記遅延信号を用いた処理を行わない無効期間に、前記第１遅延制御信号及び前記第２遅延制御信号を更新することにより、前記第１遅延量及び前記第２遅延量を更新し、前記処理部が前記遅延信号を用いた処理を行う有効期間に、前記第２遅延制御信号を更新することにより、前記第２遅延量を更新してもよい。
【００２０】
この構成によれば、本発明の一形態に遅延制御装置は、無効期間において、広い遅延調整の範囲を実現できるとともに、有効期間においても遅延量の調整が可能となる。
【００２１】
また、遅延調整部は、前記有効期間において、予め定められた一定時間間隔で前記第２遅延制御信号を更新してもよい。
【００２２】
この構成によれば、本発明の一形態に遅延制御装置は、動作環境等の変化への追従の速度を調整することができる。
【００２３】
また、前記遅延制御装置は、さらに、当該遅延制御装置の現在の動作環境における遅延量の指標を示す基準遅延量を検出する遅延検出部を備え、前記遅延調整部は、前記基準遅延量に応じて、前記第１遅延制御信号及び前記第２遅延制御信号を生成してもよい。
【００２４】
この構成によれば、本発明の一形態に遅延制御装置は、動作環境に応じて、遅延量を最適に調整できる。
【００２５】
また、前記遅延調整部は、前記有効期間において、新たに前記遅延検出部により検出された前記基準遅延量と、直前の、前記第２遅延制御信号を更新した際の前記基準遅延量と差分が予め定められた値より大きい場合、前記第２遅延制御信号を更新してもよい。
【００２６】
この構成によれば、本発明の一形態に係る遅延制御装置は、遅延量の更新頻度を調整できる。
【００２７】
また、前記遅延調整部は、前記有効期間において、新たに前記遅延検出部により検出された前記基準遅延量に応じて、新たな前記第１遅延制御信号及び新たな前記第２遅延制御信号を算出し、算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と同じ場合、前記新たな第２遅延制御信号を前記第２遅延部に出力することにより、前記第２遅延量を更新し、算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と異なる場合、前記第１遅延量及び前記第２遅延量を更新しなくてもよい。
【００２８】
この構成によれば、本発明の一形態に係る遅延制御装置は、処理部の動作中に、遅延信号にノイズが発生することを防止できる。
【００２９】
また、前記遅延調整部は、前記有効期間において、新たに前記遅延検出部により検出された前記基準遅延量に応じて、新たな前記第１遅延制御信号及び新たな前記第２遅延制御信号を算出し、算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と同じ場合、前記新たな第２遅延制御信号を前記第２遅延部に出力することにより、前記第２遅延量を更新し、算出した前記新たな第１遅延制御信号が、現在の前記第１遅延制御信号と異なる場合、前記処理部が前記遅延信号を用いた処理を行わないように制御したうえで、前記１遅延制御信号及び前記第２遅延制御信号を更新してもよい。
【００３０】
この構成によれば、本発明の一形態に係る遅延制御装置は、さらに、遅延量の更新頻度を増加できる。
【００３１】
また、前記遅延調整部は、前記有効期間において、算出した前記新たな第１遅延制御信号と、現在の前記第１遅延制御信号との差分が予め定められた値以上の場合、前記処理部が前記遅延信号を用いた処理を行わないように制御したうえで、前記１遅延制御信号及び前記第２遅延制御信号を更新してもよい。
【００３２】
この構成によれば、本発明の一形態に係る遅延制御装置は、処理部の処理を停止する頻度を低減できる。
【００３３】
また、本発明の一形態に係るメモリ制御装置は、メモリからデータを読み出すメモリ制御装置であって、前記遅延制御装置を備え、前記入力信号は、前記メモリから出力されるストローブ信号であり、前記処理部は、前記遅延信号を用いて、前記メモリから出力されるデータを取り込んでもよい。
【００３４】
この構成によれば、遅延素子の遅延量の更新頻度を増加できるとともに、制御の複雑化を抑制でき、十分な遅延量調整範囲を実現できるメモリ制御装置を実現できる。
【００３５】
また、本発明の一形態に係る情報端末機器は、メモリと、前記メモリからデータを読み出す、前記メモリ制御装置とを備えてもよい。
【００３６】
この構成によれば、遅延素子の遅延量の更新頻度を増加できるとともに、制御の複雑化を抑制でき、十分な遅延量調整範囲を実現できる情報端末機器を実現できる。
【００３７】
なお、本発明は、このような遅延回路、遅延制御装置、メモリ制御装置及び情報端末機器として実現できるだけでなく、遅延制御装置及びメモリ制御装置に含まれる特徴的な手段をステップとする遅延制御方法及びメモリ制御方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【００３８】
さらに、本発明は、このような遅延回路、遅延制御装置、メモリ制御装置及び情報端末機器の機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現したりできる。
【発明の効果】
【００３９】
以上より、本発明は、遅延素子の遅延量の更新頻度を増加できるとともに、制御の複雑化を抑制でき、十分な遅延量調整範囲を実現できる遅延回路、遅延制御装置、メモリ制御装置及び情報端末機器を提供できる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態１に係るメモリシステムのブロック図である。
【図２Ａ】本発明の実施の形態１に係る第１遅延部の回路図である。
【図２Ｂ】本発明の実施の形態１に係る第２遅延部の回路図である。
【図３】本発明の実施の形態１に係る遅延量調整動作のフローチャートである。
【図４】本発明の実施の形態１に係るメモリ制御装置による動作例を示す図である。
【図５】本発明の実施の形態１に係るメモリ制御装置による動作例を示す図である。
【図６】本発明の実施の形態１に係る遅延量調整動作の変形例のフローチャートである。
【図７】本発明の実施の形態２に係るメモリシステムのブロック図である。
【図８】本発明の実施の形態２に係る遅延量調整動作のフローチャートである。
【図９】本発明の実施の形態２に係るメモリ制御装置による動作例を示す図である。
【図１０】本発明の実施の形態２に係る遅延量調整動作の変形例のフローチャートである。
【発明を実施するための形態】
【００４１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００４２】
（実施の形態１）
本発明の実施の形態１に係るメモリ制御装置は、信号が伝達する信号伝達経路を切り替えることで遅延量を変更する第１遅延部と、信号が伝達する信号伝達経路を切り替えずに遅延量を変更する第２遅延部とを備える。また、本発明の実施の形態１に係るメモリ制御装置は、動作中に第２遅延部の遅延量を更新することで、遅延量の更新頻度を増加できるとともに、制御の複雑化を抑制できる。また、本発明の実施の形態１に係るメモリ制御装置は、第１遅延部及び第２遅延部を併用することにより、十分な遅延量調整範囲を実現できる。
【００４３】
図１は、本発明の実施の形態１に係るメモリシステム１０の構成を示すブロック図である。図１に示すメモリシステム１０は、メモリ制御装置１００（遅延制御装置）と、ＳＤＲＡＭ１０１とを含む。
【００４４】
メモリ制御装置１００は、ＳＤＲＡＭ１０１へのデータの書き込み及び読み出しを行う。このメモリ制御装置１００は、遅延制御部１１０と、コマンド制御部１２０と、データ制御部１３０とを備える。
【００４５】
データ制御部１３０は、ＳＤＲＡＭ１０１から出力されたリードデータ及びストローブ信号を取得する。また、データ制御部１３０は、ＳＤＲＡＭ１０１へ書き込むライトデータ及びストローブ信号をＳＤＲＡＭ１０１へ出力する。このデータ制御部１３０は、データ受信部１３４と、遅延回路１３１とを備える。
【００４６】
遅延回路１３１は、入力信号であるストローブ信号ＤＱＳを遅延させることにより遅延信号１５３を生成する。この遅延回路１３１は、第１遅延部１３３と、第２遅延部１３２とを備える。
【００４７】
第１遅延部１３３及び第２遅延部１３２は、ストローブ信号ＤＱＳを遅延させることにより遅延信号１５３を生成する。また、第１遅延部１３３と第２遅延部１３２とは直列に接続される。
【００４８】
第１遅延部１３３は、第１信号伝達経路を有し、第１遅延制御値１５１（第１遅延制御信号）に応じて、第１信号伝達経路のうちストローブ信号ＤＱＳが伝達する信号伝達経路を切り替えることで、ストローブ信号ＤＱＳにあたえる第１遅延量を変更する。
【００４９】
第２遅延部１３２は、第２信号伝達径路を有し、ストローブ信号ＤＱＳが伝達する第２信号伝達経路を切り替えずに、第２遅延制御値１５２（第２遅延制御信号）に応じて、ストローブ信号ＤＱＳにあたえる第２遅延量を変更する。
【００５０】
図２Ａは、第１遅延部１３３の構成を示す回路図である。また、図２Ｂは、第２遅延部１３２の構成を示す回路図である。
【００５１】
なお、ここでは、第１遅延部１３３がストローブ信号ＤＱＳを遅延させることにより、遅延信号１６０を生成し、その後、第２遅延部１３２が遅延信号１６０を遅延させることにより遅延信号１５３を生成する例を述べるが、第１遅延部１３３及び第２遅延部１３２がストローブ信号ＤＱＳに遅延をあたえる順序は任意でよい。つまり、第２遅延部１３２がストローブ信号ＤＱＳを遅延させることにより、遅延信号１６０を生成し、その後、第１遅延部１３３が遅延信号１６０を遅延させることにより遅延信号１５３を生成してもよい。
【００５２】
図２Ａに示すように、第１遅延部１３３は、複数の第１遅延素子１４３を含む。各第１遅延素子１４３は、第１遅延制御値１５１に応じて信号伝達経路を切り替える構造になっている。  具体的には、各第１遅延素子１４３は、バッファ１４３ａと、セレクタ１４３ｂとを含む。また、複数の第１遅延素子１４３は直列に接続される。
【００５３】
各バッファ１４３ａの出力端子は、次段のバッファ１４３ａの入力端子に接続されている。また、セレクタ１４３ｂの二つの入力端子には、次段のセレクタ１４３ｂの出力端子と、同じ段のバッファ１４３ａの出力端子とが接続されている。また、例えば、第１遅延制御値１５１に応じて、複数のセレクタ１４３ｂのうち、一つのセレクタ１４３ｂが同じ段のバッファ１４３ａの出力信号を選択し、それ以外のセレクタ１４３ｂが次段のセレクタ１４３ｂの出力信号を選択することにより、信号伝達経路が決定される。また、上記一つのセレクタ１４３ｂを切り替えることにより、信号伝達経路が切り替わる。これにより、第１遅延部１３３の遅延量が変更される。
【００５４】
このように、第１遅延部１３３は、第１遅延制御値１５１の値に応じて、入力信号が通過する信号伝達経路に直列に含まれるゲート素子（バッファ１４３ａ）の数を変更することにより、入力端子から出力端子までの経路の遅延時間を変更することができる。
【００５５】
また、第２遅延部１３２は、複数の第２遅延素子１４２を含む。各第２遅延素子１４２は、第２遅延制御値１５２に応じて信号伝達経路上の負荷容量の接続を切り替える構造になっている。
【００５６】
具体的には、各第２遅延素子１４２は、バッファ１４２ａと、容量１４２ｂと、スイッチ１４２ｃとを含む。また、複数の第２遅延素子１４２は直列に接続される。
【００５７】
各バッファ１４２ａの出力端子は、次段のバッファ１４２ａの入力端子に接続されている。また、各バッファ１４２ａの出力端子には、互いに直列に接続された容量１４２ｂ及びスイッチ１４２ｃが接続されている。よって、スイッチ１４２ｃがオンすることにより、信号伝達経路に容量１４２ｂが付加される。また、例えば、第２遅延制御値１５２に応じて、複数のスイッチ１４２ｃのうち、オンさせるスイッチ１４２ｃの数を変更することにより、信号伝達経路に付加させる容量１４２ｂの数を変更する。
【００５８】
このように、第２遅延部１３２は、第２遅延制御値１５２の値に応じて、信号伝達経路に付加される容量の大きさを変更することにより、入力端子から出力端子までの経路の遅延時間を変更することができる。
【００５９】
一般的に、第１遅延部１３３は、信号が各バッファを通過するのに要する遅延時間を調整単位として、遅延時間を変更することができる。また、第１遅延部１３３は、信号伝達の経路を切り替えるので、入力信号が変化している期間に第１遅延制御値１５１を変更すると出力信号にノイズがのる可能性がある。よって、入力信号の変化中に第１遅延制御値１５１を変更することができない。
【００６０】
また、第２遅延部１３２は、付加する容量による信号変化速度の変化を遅延時間の変化として用いるため、変更できる遅延時間の単位は第１遅延素子１４３と比較して小さい。また、第２遅延部１３２は、信号伝達の経路を切り替えないので、入力信号が変化している期間でも第２遅延制御値１５２を変更することができる。
【００６１】
また、ここでは、１つの例として、第２遅延素子１４２の遅延時間の４倍が第１遅延素子１４３の遅延時間と等しいとする。つまり、第１遅延制御値１５１と第２遅延制御値１５２との間で、互いに換算が可能なものとして説明する。
【００６２】
なお、第１遅延部１３３及び第２遅延部１３２の構成は、図２Ａ及び図２Ｂに示す構成に限るものではない。例えば、上記構成において、バッファ１４２ａ及び１４３ａの代わりにインバータを用いてもよい。同様に、第１遅延素子１４３及び第２遅延素子１４２の構造も図２Ａ及び図２Ｂに示す構成に限るものではない。
【００６３】
また、図１では、データ受信部１３４のみ記載しているが、データ制御部１３０は、さらに、ＳＤＲＡＭ１０１へデータを送信する（データを書き込む）回路、及びコマンド制御部１２０から送信されたコマンドを遅延させる遅延回路等を備えてもよい。例えば、この遅延回路は、遅延回路１３１と同等の構成をとることができる。
【００６４】
コマンド制御部１２０は、コマンドを生成し、生成したコマンドをＳＤＲＡＭ１０１へ出力することにより、ＳＤＲＡＭ１０１を制御する。例えば、コマンド制御部１２０がリードコマンドを出力した場合、ＳＤＲＡＭ１０１は、リードデータをデータ信号ＤＱとして出力するとともに、ストローブ信号ＤＱＳを出力する。データ制御部１３０は、このストローブ信号ＤＱＳを用いて、データ信号ＤＱを受信する。
【００６５】
また、データ制御部１３０がリードデータを受信する際、ストローブ信号ＤＱＳは、第１遅延部１３３及び第２遅延部１３２をそれぞれ通過することで遅延させられる。そして、当該遅延した遅延信号１５３がデータ受信部１３４で使用される。具体的には、データ受信部１３４は、遅延信号１５３の変化のタイミングで、データ信号ＤＱを取り込む。
【００６６】
このとき、第１遅延部１３３及び第２遅延部１３２によりデータ信号ＤＱに付加される遅延時間は、遅延制御部１１０からそれぞれ出力される第１遅延制御値１５１及び第２遅延制御値１５２によって決められる。
【００６７】
遅延制御部１１０は、遅延回路１３１の遅延量を制御する。この遅延制御部１１０は、遅延調整部１１１と、遅延計算部１１４と、ＭａｓｔｅｒＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）１１５と、遅延設定部１１６とを備える。遅延調整部１１１は、遅延制御値生成部１１２と、遅延調整制御部１１３とを備える。
【００６８】
ＭａｓｔｅｒＤＬＬ１１５（遅延検出部）は、メモリ制御装置１００の現在の動作環境（電源電圧、及び温度等）における遅延量の指標を示す基準遅延量を検出する。具体的には、ＭａｓｔｅｒＤＬＬ１１５は、基準遅延量として、クロック１周期に相当する遅延時間が第１遅延素子１４３いくつで実現できるかを常時検出する。また、ＭａｓｔｅｒＤＬＬ１１５は、検出した第１遅延素子１４３の数をロック値１５４として出力する。
【００６９】
遅延設定部１１６は、例えば、外部より設定された遅延設定値１５５を保持する。この遅延設定値１５５は、遅延回路１３１でクロック１周期の何％分の遅延時間を実現したいかを示す。
【００７０】
遅延計算部１１４は、ＭａｓｔｅｒＤＬＬ１１５により出力されたロック値１５４と、遅延設定部１１６に保持されている遅延設定値１５５とに基づき、要求遅延量１５６を算出し、算出した要求遅延量１５６を遅延調整部１１１へ出力する。具体的には、遅延計算部１１４は、ロック値１５４に遅延設定値１５５を乗算する。例えば、ロック値１５４が「１０１」であり、遅延設定値１５５が２５％であった場合は、遅延計算部１１４は、要求遅延量１５６として「２５．２５」を算出する。
【００７１】
遅延調整部１１１は、要求遅延量１５６（ロック値１５４）に応じて、第１遅延制御値１５１及び第２遅延制御値１５２を生成する。
【００７２】
また、遅延調整部１１１は、データ受信部１３４が動作していない期間であるリフレッシュ期間に、第１遅延制御値１５１及び第２遅延制御値１５２を更新することにより、第１遅延部１３３及び第２遅延部１３２の遅延量を更新する。さらに、遅延調整部１１１は、ＳＤＲＡＭ１０１からデータを読み出すデータ受信期間においても、第２遅延制御値１５２を更新することにより、第２遅延部１３２の遅延量を更新する。
【００７３】
遅延調整制御部１１３は、コマンド制御部１２０から遅延更新許可信号１５７を受け取ると、遅延制御値生成部１１２に対して、遅延制御値生成指示１５８を出す。
【００７４】
遅延制御値生成部１１２は、遅延制御値生成指示１５８を受けた場合、要求遅延量１５６に基づき、第１遅延制御値１５１及び第２遅延制御値１５２を生成し、生成した第１遅延制御値１５１及び第２遅延制御値１５２を遅延回路１３１へ出力する。上記の例のように、要求遅延量１５６が「２５．２５」の場合、遅延制御値生成部１１２は、第１遅延制御値１５１として「２５」を、第２遅延制御値１５２として「０．２５」を出力する。
【００７５】
そして、第１遅延制御値１５１が「２５」の場合、第１遅延部１３３に含まれる複数のセレクタ１４３ｂのうち、２５番目の第１遅延素子１４３のセレクタ１４３ｂに「１」が入力され、それ以外の第１遅延素子１４３のセレクタ１４３ｂに「０」が入力される。これにより、第１遅延部１３３の入力端子から出力端子までの信号伝達経路に、２５個のバッファ１４３ａが直列に接続される。
【００７６】
また、第２遅延制御値１５２が「０．２５」の場合、第２遅延部１３２に含まれる複数の第２遅延素子１４２のうち、１つ目の第２遅延素子１４２のみに容量１４２ｂが付加されて、それ以外の第２遅延素子１４２には容量１４２ｂが付加されないようにスイッチ１４２ｃが制御される。ここで、本実施の形態では、第１遅延素子１４３の遅延時間は、第２遅延素子１４２の４倍であるため、「０．２５」という値は第２遅延素子１４２の１つ分の遅延量に相当する。
【００７７】
なお、上述した第１遅延制御値１５１及び第２遅延制御値１５２のフォーマットは一つの例であり、ここで説明した限りではない。例えば、第１遅延制御値１５１及び第２遅延制御値１５２は、各第１遅延素子１４３又は各第２遅延素子１４２に１ビットが対応する複数ビットで構成され、１ビットのみが有効になってもよい。また、第１遅延制御値１５１及び第２遅延制御値１５２は、複数ビットで構成され、有効になっているビットの数で値を示してもよい。
【００７８】
また一般的に、コマンド制御部１２０は、データ受信部１３４が動作していない期間であるリフレッシュ期間、及び、メモリ制御装置１００からＳＤＲＡＭ１０１へデータを送信する期間であるデータ送信期間に遅延更新許可信号１５７を出力する。なお、データ送信部（図示せず）に対しても遅延回路１３１を用いる場合には、データ送信期間には遅延制御値の更新ができないため、コマンド制御部１２０は、リフレッシュ期間のみに遅延更新許可信号１５７を出力する。
【００７９】
次に、図３を用いて、遅延調整部１１１の機能を説明する。
【００８０】
図３は、メモリ制御装置１００による遅延量調整動作のフローチャートである。
【００８１】
まず、メモリ制御装置１００は、通常動作を開始する（Ｓ１０１）。このとき、遅延調整制御部１１３は、遅延計算部１１４から受け取った要求遅延量１５６を保持している。
【００８２】
次に、遅延調整制御部１１３は、遅延更新許可信号１５７がコマンド制御部１２０から出力されているか否かを確認する（Ｓ１０２）。
【００８３】
遅延更新許可信号１５７が出力されている場合（Ｓ１０２でＹｅｓ）、遅延調整制御部１１３は、遅延制御値生成部１１２に遅延制御値生成指示１５８を出力する。遅延制御値生成指示１５８を受けた遅延制御値生成部１１２は、第１遅延制御値１５１及び第２遅延制御値１５２を生成し、生成した第１遅延制御値１５１及び第２遅延制御値１５２を遅延回路１３１へ出力する（Ｓ１０３）。
【００８４】
一方、遅延更新許可信号１５７が出力されていない場合（Ｓ１０２でＮｏ）、次に、遅延調整制御部１１３は、現在遅延計算部１１４が出力している新たな要求遅延量１５６が、当該遅延調整制御部１１３が保持している要求遅延量１５６と異なっているか否かを判断する（Ｓ１０４）。
【００８５】
新たな要求遅延量１５６が、当該遅延調整制御部１１３が保持している要求遅延量１５６と同じ場合（Ｓ１０４でＮｏ）、遅延調整制御部１１３は、再度、ステップＳ１０２以降の処理を行う。
【００８６】
一方、新たな要求遅延量１５６が、当該遅延調整制御部１１３が保持している要求遅延量１５６と異なる場合（Ｓ１０４でＹｅｓ）、次に、遅延制御値生成部１１２は、新たな要求遅延量１５６を用いて第１遅延制御値１５１及び第２遅延制御値１５２を算出する（Ｓ１０５）。なお、ここでは、遅延制御値生成部１１２は、算出した新たな第１遅延制御値１５１及び第２遅延制御値１５２を、遅延回路１３１へまだ出力しない。
【００８７】
次に、遅延制御値生成部１１２は、算出した新たな第１遅延制御値１５１が現在出力している第１遅延制御値１５１と異なるか否かを判断する（Ｓ１０６）。
【００８８】
新たな第１遅延制御値１５１が現在出力している第１遅延制御値１５１と異なる場合（Ｓ１０６でＹｅｓ）、遅延調整制御部１１３は、第１遅延制御値１５１及び第２遅延制御値１５２を更新せず、次に、ステップＳ１０２以降の処理を行う。
【００８９】
一方、新たな第１遅延制御値１５１が現在出力している第１遅延制御値１５１と同じ場合（Ｓ１０６でＮｏ）、言い換えると、新たな第１遅延制御値１５１が現在出力している第１遅延制御値１５１と同じであり、かつ、新たな第２遅延制御値１５２が現在出力している第２遅延制御値１５２と異なっている場合、遅延制御値生成部１１２は、新たな第２遅延制御値１５２を第２遅延部１３２へ出力する（Ｓ１０９）。
【００９０】
ここでステップＳ１０３及びステップＳ１０５での計算例を示す。例えば、先に述べた通り、ロック値１５４が「１０１」であり、遅延設定値１５５が「２５％」であった場合は、要求遅延量１５６は「２５．２５」である。この場合は、第１遅延制御値１５１は「２５」であり、第２遅延制御値１５２は、「０．２５」である。
【００９１】
これを受けて、第１遅延部１３３では、２５番目の第１遅延素子１４３のセレクタ１４３ｂのみに「１」が入力されることにより、バッファ１４３ａを２５個通過するように信号伝達経路が設定される。また、第２遅延部１３２では、１つ目の容量１４２ｂのみが有効になり、第１遅延素子１４３の４分の１の遅延量が設定される。
【００９２】
次に、ロック値が「１０２」に変化した場合（Ｓ１０４でＹｅｓ）、ステップＳ１０５では、遅延計算部１１４は、値「２５．５０」の要求遅延量１５６を出力する。よって、遅延制御値生成部１１２は、値「２５」の第１遅延制御値１５１と、値「０．５０」の第２遅延制御値１５２とを新たに生成する。なお、この時点では、遅延制御値生成部１１２は、遅延回路１３１には、生成した第１遅延制御値１５１及び第２遅延制御値１５２をまだ出力しない。
【００９３】
次に、遅延制御値生成部１１２は、第１遅延制御値１５１が「２５」のままであり、元の値から変更がないことが確認し（Ｓ１０６でＮｏ）、値「０．５」に更新した第２遅延制御値１５２を第２遅延部１３２へ出力する。これにより、第２遅延部１３２では、１つ目と２つ目の２つの容量１４２ｂが有効になる。よって、第２遅延部１３２に第１遅延素子１４３の２分の１の遅延量が設定される。
【００９４】
また、例えば、ロック値１５４が「１０５」になった場合は、第１遅延制御値１５１は「２６」、第２遅延制御値１５２は「０．２５」となる。よって、第１遅延制御値１５１が元の値「２５」から変更されるので（Ｓ１０６でＹｅｓ）、遅延制御値の更新は行なわず、ステップＳ１０２以降の処理が再度行われる。
【００９５】
以上のように、本発明の実施の形態１に係るメモリ制御装置１００は、遅延更新許可信号１５７が出力されていない場合（リフレッシュ期間以外）であっても、第１遅延制御値１５１が更新されない場合には、第２遅延部１３２の遅延量を更新する。ここで、第２遅延部１３２は、遅延量を変化させても出力信号にノイズが発生しにくい回路構成である。よって、本発明の実施の形態１に係るメモリ制御装置１００は、ノイズを発生させることなく遅延量の更新頻度を増加できる。
【００９６】
これにより、本発明の実施の形態１に係るメモリ制御装置１００は、データ転送を停止することなく、システムのアプリケーションの動作中にも遅延量の調整を行うことができる。よって、本発明の実施の形態１に係るメモリ制御装置１００は、リアルタイム性を必要とするアプリケーションの実行へ影響することなく、高速なデータ転送を安定して行うためのタイミング調整を高精度で行うことができる。
【００９７】
さらに、本発明の実施の形態１に係るメモリ制御装置１００は、遅延量を変更した場合に出力信号にノイズが発生するが遅延調整の範囲が広い第１遅延部１３３を備えることにより、十分な遅延量調整範囲を実現できる。
【００９８】
次に、図４を用いて実際に遅延制御値及び遅延時間がどのように変化するかを説明する。
【００９９】
図４では、電圧が時間とともに上昇する場合の例を記載している。電圧が上昇すると、バッファ１つあたりの遅延時間は小さくなるため、ロック値１５４は大きくなる。このロック値１５４の変化を（Ａ）で示している。また、これに対する要求遅延量１５６を（Ｂ）で示している。また、要求遅延量１５６は各時点でのロック値１５４を反映させた値であるため、各時点での理想的な遅延制御値と同等の値になる。この遅延制御値に対応する遅延時間を（Ｅ）で示している。また（Ｃ）は従来手法である遅延更新許可信号１５７が出力されているときのみに遅延制御値を変更する場合の遅延制御値の変化を示す。また、そのときの遅延時間の変化を（Ｆ）で示す。以下、本発明での遅延制御値の変化（Ｄ）と、そのときの遅延時間の変化（Ｇ）とを合わせて説明する。
【０１００】
まず、時刻ｔ１において遅延更新許可信号１５７が出力される。これにより、第１遅延制御値１５１及び第２遅延制御値１５２ともに更新される。よって、従来手法の遅延制御値（Ｃ）、及び本発明の遅延制御値（Ｄ）はともに理想的な遅延制御値（Ｂ）と一致する。この処理は、図３に示すステップＳ１０２〜Ｓ１０３の処理に対応する。
【０１０１】
次に、時刻ｔ１から時刻ｔ２までの間は、遅延更新許可信号１５７が出力されていない期間である。このとき従来手法では遅延制御値は更新されずに一定値を取る。これに対して、本発明では図３で示したフローに従うため、第２遅延部１３２が調整可能な遅延量分の遅延制御値までは、遅延制御値が変化する。つまりこの間は理想的な遅延制御値（Ｂ）と本発明の遅延制御値（Ｄ）とが一致する。また、この処理は、図３に示すステップＳ１０４〜Ｓ１０７の処理に対応する。
【０１０２】
次に、時刻ｔ２では、理想的な遅延制御値（Ｂ）が、第２遅延部１３２が調整可能な遅延量分の遅延制御値に達する。言い換えると、第１遅延部１３３の遅延量の変更が必要になる。よって、メモリ制御装置１００は、遅延制御値の更新を停止する。これにより、遅延制御値は一定値を取る。そのため時刻ｔ２から時刻ｔ３までの間のみ理想的な遅延制御値（Ｂ）と本発明の遅延制御値（Ｄ）とが異なる。この処理は、図３に示すステップＳ１０４〜Ｓ１０６でＹｅｓの場合の処理に対応する。
【０１０３】
次に、時刻ｔ３では、次の遅延更新許可信号１５７が出力され、従来手法の遅延制御値（Ｃ）、及び本発明の遅延制御値（Ｄ）はともに理想的な遅延制御値（Ｂ）と一致する。この処理は、図３に示すステップＳ１０２〜Ｓ１０３の処理に対応する。
【０１０４】
また、時刻ｔ３から時刻ｔ４の間も時刻ｔ１から時刻ｔ３と同様の処理が繰り返される。
【０１０５】
以上の処理を繰り返すことにより、電圧が時間とともに上がっていく変化の場合に、本発明に係るメモリ制御装置１００は、従来手法と比較して、理想的な遅延量に近い状態に遅延回路１３１の遅延量を制御することができる。よって、本発明に係るメモリ制御装置１００は、従来手法に比べて、高速データ送受信時の安定性を向上できる。
【０１０６】
また、図５は、電圧が時間とともに下がっていく場合の、メモリ制御装置１００の動作例を示す図である。なお、詳細動作は図４の場合と同様であるので説明は省略する。
【０１０７】
以上より、本発明の実施の形態１に係るメモリ制御装置１００は、電圧が時間とともに変化する場合でも、遅延回路１３１での遅延量を理想的な遅延量に追従させることができる。これにより、メモリ制御装置１００は、より安定した高速データ転送を実現できる。
【０１０８】
なお、ここでは、電圧が時間とともに変化する場合を例に説明したが、温度などその他の要因によってロック値１５４が変化する場合も同様である。
【０１０９】
また、第２遅延部１３２に含まれる第２遅延素子１４２の数を多くしたり、図３のステップＳ１０３で決定する第２遅延制御値１５２にオフセット値を設けることで、図４に示す時刻ｔ２から時間ｔ３のような状態が起こらないようにしたり、理想的な遅延量に追従できる幅を広くしたりすることができる。また、遅延制御値が増加する方向のみに追従可能にしたり、減少する方向のみに追従可能にしたりといった決め方も可能である。また、逆に追従できる遅延量に制限を加えることで、第２遅延部１３２を構成する第２遅延素子１４２の数を少なく抑えることができる。
【０１１０】
また、図３に示すステップＳ１０４で、ロック値１５４の変化を即時に確認せずに、一定時間間隔で、ロック値１５４の変化を確認してもよい。つまり、遅延調整部１１１は、遅延更新許可信号１５７が出力されていない場合（Ｓ１０２でＮｏ）において、予め定められた一定時間間隔で第２遅延制御値１５２を更新してもよい。このように、判定処理に時間的な余裕を持たせることで、ロック値１５４の変化への追従の速度を調整することができる。
【０１１１】
また、一定期間ごとに、ロック値１５４の変化を確認するというやり方には限らず、新しい要求遅延量１５６と保持している要求遅延量１５６との差分が一定値以上になったらステップＳ１０５を実施するなどの方法も可能である。
【０１１２】
図６は、この場合のメモリ制御装置１００による遅延量調整動作のフローチャートである。なお、図６の処理は、図３に示す処理に対して、ステップＳ１１４の処理が、ステップＳ１０４の処理と異なる。具体的には、ステップＳ１１４において、遅延調整制御部１１３は、現在遅延計算部１１４が出力している新たな要求遅延量１５６と、当該遅延調整制御部１１３が保持している要求遅延量１５６との差分が予め定められた値以上であるか否かを判断する。新たな要求遅延量１５６と、当該遅延調整制御部１１３が保持している要求遅延量１５６との差分が予め定められた値未満の場合（Ｓ１１４でＮｏ）、遅延調整制御部１１３は、再度、ステップＳ１０２以降の処理を行う。
【０１１３】
一方、新たな要求遅延量１５６と、当該遅延調整制御部１１３が保持している要求遅延量１５６との差分が予め定められた値以上の場合（Ｓ１１４でＹｅｓ）、次に、遅延制御値生成部１１２は、新しい要求遅延量１５６を用いて第１遅延制御値１５１及び第２遅延制御値１５２を生成する（Ｓ１０５）。
【０１１４】
また、以上で説明したメモリ制御装置１００は、ＳＤＲＡＭ１０１に接続されるメモリ制御装置１００に限らず、他の種類のメモリに接続されるメモリ制御装置にも適用できる。また、本発明は、実装されるボード及びパッケージにも依存しない。
【０１１５】
また、上記説明では、本発明に係る遅延回路１３１及び遅延制御部１１０をメモリ制御に適用した例を述べたが、メモリ制御以外に適用してもよい。つまり、本発明は、遅延制御を行なう遅延制御装置に適用できる。例えば、データ送受信を行う回路など、高精度な遅延制御が必要な場合に、本発明を適用することができる。また、このような遅延制御装置では、上述したデータ受信部１３４は、遅延回路１３１により生成された遅延信号１５３を用いた処理を行う処理部と置き換え可能であり、上記リフレッシュ期間は、当該処理部が遅延信号１５３を用いた処理を行わない無効期間と置き換え可能であり、上記データ受信期間は、当該処理部が遅延信号１５３を用いた処理を行う有効期間と置き換え可能である。
【０１１６】
（実施の形態２）
本発明の実施の形態２では、上述した実施の形態１に係るメモリ制御装置１００の変形例について説明する。
【０１１７】
図７は、本発明の実施の形態２に係るメモリシステム２０の構成を示すブロック図である。なお、図７において、図１と同様の要素には同一の符号を付しており、以下では、主に、実施の形態１との相違点を説明する。
【０１１８】
図７に示すメモリシステム２０は、図１に示すメモリシステム１０に対して、メモリ制御装置２００が備えるコマンド制御部２２０及び遅延調整制御部２１３の機能が、メモリ制御装置１００が備えるコマンド制御部１２０及び遅延調整制御部１１３の機能と異なる。
【０１１９】
具体的には、遅延調整制御部２１３は、さらに、コマンド制御部２２０への遅延更新要求２５９を出力する。
【０１２０】
以下、図８を用いて遅延調整部１１１の動作を説明する。
【０１２１】
図８は、メモリ制御装置２００による遅延量調整動作のフローチャートである。なお、ステップＳ１０６でＹｅｓの場合の処理が図３と異なり、それ以外の処理は、図３と同様である。
【０１２２】
新たな第１遅延制御値１５１が現在出力している第１遅延制御値１５１と異なる場合（Ｓ１０６でＹｅｓ）遅延調整制御部２１３は、コマンド制御部２２０へ遅延更新要求２５９を出力する（Ｓ２０８）。コマンド制御部２２０は、遅延更新要求２５９を受け取った場合、現在処理しているコマンド処理を停止させ、その後、遅延更新許可信号１５７を出力する。
【０１２３】
よって、遅延調整制御部２１３は、遅延更新許可信号１５７を受け取り（Ｓ１０２でＹｅｓ）、第１遅延制御値１５１及び第２遅延制御値１５２を更新する（Ｓ１０３）。
【０１２４】
以上により、本発明の実施の形態２に係るメモリ制御装置２００は、実施の形態１に係るメモリ制御装置１００の機能に加え、さらに、遅延更新許可信号１５７が出力されていない場合（リフレッシュ期間以外）において、第１遅延制御値１５１が更新される場合には、コマンド処理を停止したうえで、遅延量を更新できる。よって、本発明の実施の形態２に係るメモリ制御装置２００は、遅延量の更新頻度をさらに増加できる。
【０１２５】
次に、図９を用いて実際に遅延制御値及び遅延時間がどのように変化するかを説明する。
【０１２６】
図９は、電圧が時間とともに上がっていく場合のメモリ制御装置２００の動作例を示す図である。なお、図９に示す（Ａ）〜（Ｇ）は図４と同様である。
【０１２７】
時刻ｔ２で、第２遅延部１３２が調整可能な遅延量分の遅延制御値に達した場合、図８に示すステップＳ２０８の処理が行われ、遅延調整制御部２１３から遅延更新要求２５９が出力される。次に、コマンド制御部２２０は、遅延更新要求２５９を受けて、遅延更新許可信号１５７を、時刻ｔ５で出力する。これにより、図８に示すステップＳ１０２〜Ｓ１０３の処理により、理想的な遅延制御値（Ｂ）と本発明の遅延制御値（Ｄ）は一致する。
【０１２８】
なお、ここでは電圧が時間とともに上がっていく場合の動作例を示したが、下がっていく場合も同様である。また、電圧が変化する場合だけでなく、温度など他の要因によって変化する場合も同様である。
【０１２９】
以上により、本発明の実施の形態２に係るメモリ制御装置２００は、遅延更新要求２５９により遅延更新許可信号１５７を強制的に出力させることで、遅延値を、より理想的な遅延値へ追従させることが可能になる。
【０１３０】
なお、ステップＳ１０６の条件判定において、第１遅延制御値１５１が異なる場合に、即時にステップＳ２０９を実行するという方法には限らず、以下の方法を用いてもよい。
【０１３１】
図１０は、メモリ制御装置２００による遅延量調整動作の変形例のフローチャートである。なお、図１０の処理は、図８に示す処理に対して、ステップＳ２０９の処理が追加されている。
【０１３２】
具体的には、ステップＳ１０５で算出した新たな第１遅延制御値１５１が現在出力している第１遅延制御値１５１と異なる場合（Ｓ１０６でＹｅｓ）、次に、遅延調整制御部１１３は、ステップＳ１０５で算出した新たな第１遅延制御値１５１と、現在の第１遅延制御値１５１との差分が予め定められた値以上であるか否かを判定する（Ｓ２０９）。新たな第１遅延制御値１５１と、現在の第１遅延制御値１５１との差分が予め定められた値未満の場合（Ｓ２０９でＮｏ）、遅延調整部１１１は、第１遅延制御値１５１及び第２遅延制御値１５２の更新を行なわず、次に、ステップＳ１０２以降の処理を行う。
【０１３３】
一方、新たな第１遅延制御値１５１と、現在の第１遅延制御値１５１との差分が予め定められた値以上の場合（Ｓ２０９でＹｅｓ）、次に、遅延調整制御部２１３は、コマンド制御部２２０へ遅延更新要求２５９を出力する（Ｓ２０８）。
【０１３４】
これにより、遅延更新要求２５９を出力する頻度を抑えることができる。
【０１３５】
また、遅延更新要求２５９が出力された場合に、コマンド制御部２２０は、リフレッシュコマンドを発行しつつ、遅延更新許可信号１５７を出力することも可能である。もしくは、データ制御部１３０が、データ送信部とデータ受信部とを備える場合は、データ送信部への遅延更新許可信号１５７と、データ受信部への遅延更新許可信号１５７とを分けて、遅延調整部１１１がそれぞれ別のタイミングでデータ送信部に対する遅延調整と、データ受信部に対する遅延調整とを制御することも可能である。
【０１３６】
また、上記では、ソースシンクロナス方式でのデータ転送を例に挙げた説明を行ったが、本発明はこれに限定するものではなく、遅延量の調整が必要なシステムすべてに当てはめることができる。
【０１３７】
また、上記実施の形態１〜２に係るメモリシステム１０及び２０に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１３８】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１３９】
また、本発明の実施の形態１〜２に係るメモリシステム１０及び２０の機能の一部を、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０１４０】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０１４１】
また、上記実施の形態１〜２に係るメモリシステム及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。
【０１４２】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。さらに、ハイ／ロー（「１」／「０」）により表される論理レベル又はオン／オフにより表されるスイッチング状態は、本発明を具体的に説明するために例示するものであり、例示された論理レベル又はスイッチング状態の異なる組み合わせにより、同等な結果を得ることも可能である。
【０１４３】
また、本発明は、上記メモリシステムとして実現できるだけなく、メモリシステムに含まれるメモリ制御装置、又は遅延回路として実現してもよい。また、本発明は、当該メモリシステムを含む情報端末機器等として実現してもよい。
【０１４４】
また、上記で説明したステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０１４５】
更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
【産業上の利用可能性】
【０１４６】
以上説明してきた通り、本発明は、遅延回路、遅延制御装置、メモリ制御装置及びメモリシステムに適用できる。また、本発明は、メモリシステムを含む、携帯電話機器、パーソナルコンピュータ、及び携帯情報端末等の情報端末機器に適用できる。
【符号の説明】
【０１４７】
１０、２０  メモリシステム
１００、２００  メモリ制御装置
１０１  ＳＤＲＡＭ
１１０  遅延制御部
１１１  遅延調整部
１１２  遅延制御値生成部
１１３、２１３  遅延調整制御部
１１４  遅延計算部
１１５  ＭａｓｔｅｒＤＬＬ
１１６  遅延設定部
１２０、２２０  コマンド制御部
１３０  データ制御部
１３１  遅延回路
１３２  第２遅延部
１３３  第１遅延部
１３４  データ受信部
１４２  第２遅延素子
１４２ａ、１４３ａ  バッファ
１４２ｂ  容量
１４２ｃ  スイッチ
１４３  第１遅延素子
１４３ｂ  セレクタ
１５１  第１遅延制御値
１５２  第２遅延制御値
１５３、１６０  遅延信号
１５４  ロック値
１５５  遅延設定値
１５６  要求遅延量
１５７  遅延更新許可信号
１５８  遅延制御値生成指示
２５９  遅延更新要求
【図１】
2012100058.tif 000003
【図２Ａ】
2012100058.tif 000004
【図２Ｂ】
2012100058.tif 000005
【図３】
2012100058.tif 000006
【図４】
2012100058.tif 000007
【図５】
2012100058.tif 000008
【図６】
2012100058.tif 000009
【図７】
2012100058.tif 000010
【図８】
2012100058.tif 000011
【図９】
2012100058.tif 000012
【図１０】
2012100058.tif 000013