(57)【要約】【課題】通常のメモリアクセス動作中にアクセスタイミングを調整することによりアクセスタイミングのバラつきを動作マージンから削除することを可能とするメモリインターフェースを提供する。【解決手段】メモリデバイス１０１からのストローブ信号を第一の可変遅延部１０４を通じて遅延させ、第一のデータ信号として読み取る第一のデータラッチ部１０３と、同じストローブ信号を第二の可変遅延部１０７を通じて遅延させ遅延観測用に第二のデータ信号として読み取る第二のデータラッチ部１０６とを備え、第一のデータラッチ部１０６で読み取ったデータを通常のメモリアクセス動作に利用しつつ、第二のデータラッチ部１０６で読み取ったデータと比較して遅延量の限界を検出し、第一の可変遅延部１０４の遅延量に反映することで、通常のメモリアクセス動作を止めることなく遅延量の補正を行うことができる。【選択図】図１
2010086415.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのデータ信号線と少なくとも一つのストローブ信号線とを含む信号線によって、メモリデバイスと接続されたメモリインターフェースにおいて、
前記メモリデバイスから出力されたストローブ信号を、第一の遅延量で遅延させ第一のストローブ信号として出力する第一の可変遅延部と、
前記メモリデバイスから出力されたデータ信号を、前記第一のストローブ信号のタイミングにより第一のデータ信号として読み取る第一のデータラッチ部と、
前記第一の可変遅延部に対し、前記第一の遅延値を設定する第一の遅延制御部と、
前記ストローブ信号を、第二の遅延量で遅延させ第二のストローブ信号として出力する第二の可変遅延部と、
前記データ信号を、前記第二のストローブ信号のタイミングにより第二のデータ信号として読み取る第二のデータラッチ部と、
前記第二の可変遅延部に対し、前記第二の遅延値を設定する第二の遅延制御部と、
前記第一のデータ信号と前記第二のデータ信号とを比較する比較器と、
前記比較器の比較結果ならびに前記第一の遅延制御部および前記第二の遅延制御部の遅延設定量を基に、前記第一の遅延制御部の前記遅延設定量および前記第二の遅延制御部の前記遅延設定量を更新する遅延判定部と
を有し、
前記第一の遅延制御部は、前記更新後の第一の遅延制御部の前記遅延設定量に基づいて、前記第一の可変遅延部に対して前記第一の遅延値を設定し、
前記第二の遅延制御部は、前記更新後の第二の遅延制御部の前記遅延設定量に基づいて、前記第二の可変遅延部に対して前記第二の遅延値を設定する
ことを特徴とするメモリインターフェース。
【請求項２】
請求項１記載のメモリインターフェースにおいて、
前記第一のデータラッチ部が読み取った前記第一のデータ信号の値がトグルしたことを検出するトグル検出器を有し、
前記比較器は、前記トグル検出器にて前記第１のデータ信号の値がトグルしたことが検出されたときに前記比較を行う
ことを特徴とするメモリインターフェース。
【請求項３】
請求項１または請求項２記載のメモリインターフェースは、複数の前記データ信号線によって前記メモリデバイスと接続されている
ことを特徴とするメモリインターフェース。
【請求項４】
請求項３記載のメモリインターフェースにおいて、
前記比較器は、前記複数のデータ信号線から一つを選択し、選択されたデータ信号線から得られるデータ信号について、前記第一のデータ信号と前記第二のデータ信号とを比較する
ことを特徴とするメモリインターフェース。
【請求項５】
請求項１から請求項４のいずれか１項記載のメモリインターフェースは、前記ストローブ信号の立ち上がりでデータ信号を読み取り、立下りでデータ信号を読み取る
ことを特徴とするメモリインターフェース。
【請求項６】
請求項１から請求項５のいずれか１項記載のメモリインターフェースは、前記ストローブ信号に対して複数の第二の可変遅延部を有する
ことを特徴とするメモリインターフェース。
【請求項７】
請求項１から請求項６のいずれか１項記載のメモリインターフェースは、さらに、
前記メモリデバイスの物理条件を観測する外部センサと、
前記外部センサにて所定の物理条件が観測された場合に、前記第二の遅延制御部による遅延観測動作を行う動作管理部と
を有することを特徴とするメモリインターフェース。
【請求項８】
請求項１から請求項７のいずれか１項記載のメモリインターフェースは、さらに、
前記メモリデバイスのリフレッシュ動作の回数を計数するリフレッシュ監視部と、
前記リフレッシュ監視部にて所定数以上のリフレッシュ回数が計数された場合、前記第二の遅延制御部による遅延観測動作を行う動作管理部と
を有することを特徴とするメモリインターフェース。
【請求項９】
請求項２記載のメモリインターフェースにおいて、
前記トグル検出器は、前回トグルを検出してからの経過時間を観測するカウンタを有し、
前記トグル検出器にて一定時間トグルが検出されなかった場合に、通常のメモリアクセス動作を止めて遅延値補正を行う
ことを特徴とするメモリインターフェース。
【請求項１０】
請求項２記載のメモリインターフェースにおいて、
前記トグル検出器は、前回トグルを検出してからの経過時間を観測するカウンタを有し、
前記トグル検出器にて一定時間トグルが検出されなかった場合に、前記メモリインターフェースを介して前記メモリデバイスを利用する応用装置に対して割り込み信号を出力する
ことを特徴とするメモリインターフェース。
【請求項１１】
請求項２記載のメモリインターフェースにおいて、
前記トグル検出器は、前回トグルを検出してからの経過時間を観測するカウンタを有し、
前記トグル検出回路にて一定時間トグルが検出されなかった場合に、他のトグルが観測されたデータについて端子の前記遅延判定部の遅延値の履歴を参照して遅延制御を行う
ことを特徴とするメモリインターフェース。
【請求項１２】
請求項２記載のメモリインターフェースは、さらに、
前記メモリインターフェースを介して前記メモリデバイスを利用する応用装置から与えられるデータ信号とアドレス信号とに所定の論理演算を行うことにより、前記メモリデバイスに書き込むべきデータを生成する演算部と、
前記応用装置から与えられるアドレス信号と前記アドレス信号に対応して前記メモリデバイスから読み出されるデータとに前記演算部が行う論理演算の逆変換を行うことにより、前記応用装置に出力すべきデータを生成する逆演算部とを有する
ことを特徴とするメモリインターフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリデバイスへのアクセスタイミングを、通常のメモリアクセス動作中も継続して調整することが可能なメモリインターフェースに関するものである。
【背景技術】
【０００２】
近年のメモリシステムでは、処理の増大に伴ってＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような、クロックに同期したデータ入出力が可能なメモリデバイスが用いられることが多い。これらのメモリデバイスでは、データストローブ信号（ＤＱＳ）の立ち上がりおよび立ち下がりのエッジに同期して、データ（ＤＱ）の入出力が行われる。
【０００３】
特に、近年では動作周波数の高速化に伴って、ストローブ信号に対するデータの有効期間は短くなる方向にあり、プロセス特性、温度変化、電圧変化に伴うデータとストローブ信号のタイミング関係の変動を考慮した場合、安定したデータ入出力が困難になってきている。
【０００４】
このような背景から、データとストローブ信号とのアクセスタイミングの調整を行う、いわゆるキャリブレーション動作を、通常のメモリアクセス動作を止めて行う技術が用いられている（特許文献１参照）。
【０００５】
このような技術を用いることにより、チップ毎のプロセス特性のばらつき分のタイミング変動を、考慮すべきタイミング変動から削除することができる。
【０００６】
データとストローブ信号のアクセスタイミング調整は、一般にデータまたはストローブ信号に対して可変遅延素子によって構成される可変遅延部を実装し、可変遅延部における遅延量を指示することによって実現されている。
【０００７】
近年、動作周波数はますます高速化が進み、データがクロックの半周期で変化するＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）−ＳＤＲＡＭの利用が主流となっていることから、データの確定時間はますます短くなっており、アクセスタイミングの調整はより高精度に行う必要性が増している。
【特許文献１】特開２００４−０７４６２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のキャリブレーション動作では、アクセスタイミングの調整を通常のメモリアクセス動作を停止して行う必要があるため、温度変化や電圧変化に伴うデータとストローブ信号のアクセスタイミングの変動が生じた場合は、いったん通常のメモリアクセス動作を停止して、キャリブレーション動作をやり直す必要がある。
【０００９】
このキャリブレーション動作間のアクセスタイミングの変動を吸収することができないため、アクセスタイミングの変動量は通常動作中のアクセスタイミングのバラつきとして、動作マージンの範囲内に収めなくてはならない。
【００１０】
動作周波数を高速化すると、データの確定時間が増えるほど動作マージンとして確保できる時間は減少するため、通常動作中のアクセスタイミングバラつきを動作マージン内に収めることが困難になる。そのため動作マージンそのものを大きくとることができるように、プロセスや、内部のジッタの発生など動作マージンを減少させる要因に対して対策を行うか、アクセスタイミングのバラつきを小さくするためにキャリブレーション動作を頻繁に行うことが必要になる。
【００１１】
キャリブレーション動作を頻繁に行うと、そのキャリブレーション動作の間、通常のメモリアクセス動作が行うことができず処理が停止してしまうという問題が発生する。
【００１２】
本発明の目的は、通常のメモリアクセス動作中にアクセスタイミングを調整することによりアクセスタイミングのバラつきを動作マージンから削除することを可能とする技術を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明のメモリインターフェースは、少なくとも一つのデータ信号線と少なくとも一つのストローブ信号線とを含む信号線によって、メモリデバイスと接続されたメモリインターフェースにおいて、前記メモリデバイスから出力されたストローブ信号を、第一の遅延量で遅延させ第一のストローブ信号として出力する第一の可変遅延部と、前記メモリデバイスから出力されたデータ信号を、前記第一のストローブ信号のタイミングにより第一のデータ信号として読み取る第一のデータラッチ部と、前記第一の可変遅延部に対し、前記第一の遅延値を設定する第一の遅延制御部と、前記ストローブ信号を、第二の遅延量で遅延させ第二のストローブ信号として出力する第二の可変遅延部と、前記データ信号を、前記第二のストローブ信号のタイミングにより第二のデータ信号として読み取る第二のデータラッチ部と、前記第二の可変遅延部に対し、前記第二の遅延値を設定する第二の遅延制御部と、前記第一のデータ信号と前記第二のデータ信号とを比較する比較器と、前記比較器の比較結果ならびに前記第一の遅延制御部および前記第二の遅延制御部の遅延設定量を基に、前記第一の遅延制御部の前記遅延設定量および前記第二の遅延制御部の前記遅延設定量を更新する遅延判定部とを有し、前記第一の遅延制御部は、前記更新後の第一の遅延制御部の前記遅延設定量に基づいて、前記第一の可変遅延部に対して前記第一の遅延値を設定し、前記第二の遅延制御部は、前記更新後の第二の遅延制御部の前記遅延設定量に基づいて、前記第二の可変遅延部に対して前記第二の遅延値を設定する。
【００１４】
この構成によって、通常のメモリアクセス動作中に前記第一のデータラッチ部でラッチしたデータを前記メモリインターフェースを介して前記メモリデバイスを利用する応用装置に出力するのと並行して、前記第二のデータラッチ部を利用してアクセスタイミングの遅延値観測を行い、前記第一のデータラッチ部にその結果を反映することで通常のメモリアクセス動作を止めることなくアクセスタイミングのキャリブレーションを行うことが可能になる。
【００１５】
さらに、前記第一のデータラッチ部が読み取った前記第一のデータ信号の値がトグルしたことを検出するトグル検出器を有し、前記比較器は、前記トグル検出器にて前記第１のデータ信号の値がトグルしたことが検出されたときに前記比較を行うことによって、前記第一のデータラッチ部でのラッチデータを期待値として前記第二のデータラッチ部のアクセスタイミング調整を行うことが可能となり、あらかじめ期待値を用意することなく通常のメモリアクセス動作でのデータを用いて遅延値観測することができる。
【００１６】
さらに、前記メモリインターフェースが、複数の前記データ信号線によって前記メモリデバイスと接続されている場合に、前記比較器は、前記複数のデータ信号線から一つを選択し、選択されたデータ信号線から得られるデータ信号について、前記第一のデータ信号と前記第二のデータ信号とを比較することによって、実装回路の面積を削減することが可能である。
【００１７】
さらに、遅延観測動作を管理する回路を実装することによって、遅延値観測の頻度を減らして消費電力の削減を行うことを可能とし、さらに、遅延値観測が長時間行われなかった場合に備えた技術を追加することが可能である。
【００１８】
さらに、データに対して論理演算回路を実装することによって、トグル率を向上させ遅延値観測の頻度が極端に減ることを回避することが可能になる。
【発明の効果】
【００１９】
本発明によれば、通常のメモリアクセス動作中も継続してデータに対するストローブ信号のアクセスタイミング調整を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２１】
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるメモリシステム１００の構成の一例を示す機能ブロック図である。
【００２２】
メモリシステム１００は、メモリデバイス１０１およびメモリインターフェース１０２から構成される。メモリデバイス１０１とメモリインターフェース１０２は少なくとも、データ信号線１１２とストローブ信号線１１３により接続される。
【００２３】
メモリデバイス１０１は、ストローブ信号の立ち上がりエッジまたは立下りエッジのいずれか一方でデータをラッチするＳＤＲ（Ｓｉｎｇｌｅ  Ｄａｔａ  Ｒａｔｅ）−ＳＤＲＡＭでもよく、また、ストローブ信号の立ち上がりエッジおよび立下りエッジの両方でデータをラッチするＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）−ＳＤＲＡＭでもよい。
【００２４】
以下では、簡明のため、ストローブ信号の立ち上がりエッジまたは立下りエッジの一方に関係する構成および動作について説明する。
【００２５】
データ信号線１１２は、メモリインターフェース１０２からメモリデバイス１０１に書き込むデータ、およびメモリデバイス１０１から読み出すデータを転送するのに使用され、一般的には双方向の信号線である。図１ではデータ信号線は１本であるが、ストローブ信号線１１３に対応する複数のデータ信号線で構成されていてもかまわない。
【００２６】
ストローブ信号線１１３は、メモリインターフェース１０２からメモリデバイス１０１にデータを書き込む場合に、メモリインターフェース１０２からメモリデバイス１０１へのライトストローブ信号を出力するために使用される。逆に、メモリインターフェース１０２がメモリデバイス１０１からデータを読み出す場合には、メモリデバイス１０１からメモリインターフェース１０２へのリードストローブ信号を出力するために使用され、一般的には双方向の信号線である。
【００２７】
メモリインターフェース１０２は、第一のデータラッチ部１０３、第一の可変遅延部１０４、第一の遅延制御部１０５、第二のデータラッチ部１０６、第二の可変遅延部１０７、第二の遅延制御部１０８、比較器１０９、遅延判定部１１０、トグル検出器１１１、方向制御部１１４を含む。
【００２８】
メモリデバイス１０１にＤＤＲ−ＳＤＲＡＭを用いる場合は、メモリインターフェース１０２におけるこれらの構成要素を、１本のストローブ信号線１１３に対して、ストローブ信号の立ち上がりエッジおよび立下りエッジのそれぞれに対応して２組設けることにより、ストローブ信号の立ち上がりエッジおよび立下りエッジのそれぞれについて独立にタイミング調整を行うことができる。
【００２９】
データ信号線１１２は前述のとおり、一般的に双方向信号であるので、その場合、方向制御部１１４を用いて、応用装置からライトデータ１１５を転送する方向と、第一のデータラッチ部１０３および第二のデータラッチ部１０６へリードデータを転送する方向に制御される。
【００３０】
応用装置は、メモリインターフェース１０２を介してメモリデバイス１０１を利用する回路であり、本発明では応用装置の機能を限定しない。応用装置は、一例としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。
【００３１】
第一のデータラッチ部１０３は、第一の可変遅延部１０４を通じて遅延されたストローブ信号線１１３から伝わったストローブ信号を用いて、方向制御部１１４を通じて伝わったデータをラッチする。ラッチした情報は、応用装置に伝わり使用されるだけでなく、比較器１０９に送られる。
【００３２】
第二のデータラッチ部１０６は、第二の可変遅延部１０７を通じて遅延されたストローブ信号線１１３から伝わったストローブ信号を用いて、方向制御部１１４を通じて伝わったデータをラッチする。ラッチした情報は、比較器１０９に送られ、さらにトグル検出器１１１にも送られる。
【００３３】
第一の可変遅延部１０４は、データ信号線１１２および方向制御部１１４を通じて第一のデータラッチ部１０３に送られるデータ信号に対する、ストローブ信号線１１３を通じて伝わるストローブ信号のタイミングの調整を行う。可変遅延部１０４は遅延量を変更可能な遅延ラインを含んでいる。これによりタイミング調整を行うことができる。
【００３４】
第二の可変遅延部１０７は、データ信号線１１２および方向制御部１１４を通じて第二のデータラッチ部１０６に送られるデータ信号に対する、ストローブ信号線１１３を通じて伝わるストローブ信号のタイミングの調整を行う。可変遅延部１０７は遅延量を変更可能な遅延ラインを含んでいる。これによりタイミング調整を行うことができる。
【００３５】
第一の遅延制御部１０５は、遅延判定部１１０から送られる遅延設定量から、第一の可変遅延部１０４に内蔵される遅延ラインの調整量を計算し、第一の可変遅延部１０４に設定を行う。
【００３６】
第二の遅延制御部１０８は、遅延判定部１１０から送られる遅延設定量から、第二の可変遅延部１０７に内蔵される遅延ラインの調整量を計算し、第二の可変遅延部１０７に設定を行う。
【００３７】
比較器１０９は、第一のデータラッチ部１０３でラッチしたデータの値と、第二のデータラッチ部１０６でラッチしたデータの値の比較を行い、一致しているかしていないかの結果を遅延判定部１１０に送る。
【００３８】
遅延判定部１１０は、比較器１０９からの結果と、その時の第一の遅延制御部１０５の遅延設定量と、第二の遅延制御部１０８の遅延設定量を記録する。この記録から第一の遅延制御部１０５と第二の遅延制御部１０８の適切な遅延設定量を更新し、設定を行う。
【００３９】
なお、複数のデータ信号線１１２が設けられ複数ビットのデータが並列に伝送される場合、第一のデータラッチ部１０３および第一の可変遅延部１０４は、前記各ビットのデータを応用装置へ出力するために、複数のデータ信号線１１２に対応して複数組設けられる。他方、第二のデータラッチ部１０６および比較器１０９は、全てのデータ信号線１１２に対応して複数組設けてもよく、一部のデータ信号線１１２にのみ設けてもよい。
【００４０】
第二のデータラッチ部１０６および比較器１０９を全てのデータ信号線１１２に設ける場合、データ信号線１１２ごとに独立して遅延タイミングを調整することができる。また、第二のデータラッチ部１０６および比較器１０９を一部のデータ信号線１１２にのみ設ける場合、前記信号線について計算される調整量を全ての信号線の遅延設定量として設定することができる。複数のデータ信号線１１２が設けられる場合の一例について、第２の実施の形態で詳述する。
【００４１】
本発明の第１の実施の形態のメモリシステム１００における、通常動作中の継続したデータに対するストローブ信号のアクセスタイミング調整の動作を、図２を用いて説明する。
【００４２】
ステップＳ２０１で、メモリシステム１００を内包するシステム全体の起動および初期化が行われる。ステップＳ２０１の動作の一例は、電源投入時の一般的なリセット解除後の動作である。
【００４３】
ステップＳ２０２で、第一の可変遅延部１０４の遅延量が、第一のデータラッチ部１０３がデータ信号をストローブ信号によってラッチできる遅延量に調整される。ステップＳ２０２での動作には、一例として、特許文献１に開示される技術を用いることができる。
【００４４】
ステップＳ２０３で、通常のメモリアクセス動作が行われる。
ステップＳ２０４で、リフレッシュ動作のステップかどうかを判断する。一般的に、メモリデバイス１０１としてＤＲＡＭを用いる場合には、通常動作を停止してリフレッシュ動作を定期的に行う必要がある。リフレッシュ動作を行うタイミングであった場合は、ステップＳ２０５の動作を行い、そうでない場合はステップＳ２０６の判断を行う。
【００４５】
ステップＳ２０６で、トグル検出器１１１において、第一のデータラッチ部１０３でラッチしたデータの値が、トグルしたかどうかを検出する。トグルしていればステップＳ２０７の判断を行い、していなければステップＳ２１０にてトグルが行われなかった場合の動作を行い、その後ステップＳ２０３にて通常のメモリアクセス動作を行う。
【００４６】
ステップＳ２０７で、比較器１０９において、第一のデータラッチ部１０３でラッチしたデータ信号の値と、第二のデータラッチ部１０６でラッチしたデータ信号の値を比較する。この比較で値が一致すれば、ステップＳ２０９の動作を行い、一致していなければステップＳ２０８の動作を行う。ステップＳ２０７の判断ステップは、ステップＳ２０６でデータの値がトグルしたと判断された場合にのみ行われるため、値が一致するということは、第二のデータラッチ部１０６でラッチしたデータが正しいということになり、値が一致しなければ第二のデータラッチ部１０６で正しくデータをラッチできなかったということが分かる。この結果は遅延判定部１１０で記録される。この記録から第二のデータラッチ部１０６が正しくデータをラッチできる遅延値の範囲が遅延判定部１１０において算出される。
【００４７】
ステップＳ２０８で、遅延判定部１１０において管理している第二の可変遅延部１０７の遅延量を、第一の可変遅延部１０４において実現している遅延量と差が縮まるように（言い換えれば、ＮＧ状態を解消する方向に）変更する。
【００４８】
ステップＳ２０８は第一のデータラッチ部１０３でラッチした結果と、第二のデータラッチ部１０６でラッチした結果が一致しなかった場合に行われるため、ステップＳ２０４からステップＳ２０８までの一連のステップは、第二の可変遅延部１０７の遅延量は第一の可変遅延部１０４における遅延量に近づき、第二の可変遅延部１０７の遅延量が、第二のデータラッチ部１０６がデータを正しくラッチできない遅延量から正しくラッチできる遅延量に変わるまで繰り返されることになる。
【００４９】
ステップＳ２０９は、遅延判定部１１０において管理している第二の可変遅延部１０７の遅延量を、第一の可変遅延部１０４において実現している遅延量と差が広まるように（言い換えれば、ＯＫ状態の限界値に向かって）変更する動作ステップである。
【００５０】
ステップＳ２０９は、第一のデータラッチ部１０３でラッチした結果と、第二のデータラッチ部１０６でラッチした結果が一致した場合に行われるため、ステップＳ２０４からステップＳ２０９までの一連のステップは、第二の可変遅延部１０７の遅延量と第一の可変遅延部１０４の遅延量の差が拡大し、第二の可変遅延部１０７の遅延量が、第二のデータラッチ部１０６がデータを正しくラッチできる遅延量からデータを正しくラッチできない遅延量に変わるまで繰り返されることになる。
【００５１】
ステップＳ２０９で、第二の可変遅延部１０７の遅延量を減らす場合は、それ以下の遅延値になるとデータを正しくラッチできなくなるＭＩＮ側の境界の遅延値が求まり、第二の可変遅延部１０７の遅延量を増やす場合は、それ以上の遅延値になるとデータを正しくラッチできなくなるＭＡＸ側の境界の遅延値が求まる。
【００５２】
このようにステップＳ２０４からステップＳ２０８またはステップＳ２０９までの一連のステップによって、第二の可変遅延部１０７の遅延量は、第二のデータラッチ部１０６が正しくデータをラッチできる遅延値とできない遅延値の境界になる遅延値に対して、第二の可変遅延部１０７の遅延量の分解能程度まで近い遅延値に設定される。
【００５３】
ステップＳ２０６からステップＳ２０８またはステップＳ２０９までの一連の遅延観測動作が行われることによって、第二のデータラッチ部１０６が正しくデータをラッチできた第二の可変遅延部１０７の遅延量が遅延判定部１１０に記録される。
【００５４】
ステップＳ２０５で、遅延判定部１１０に記録された遅延量を用いて、第一の可変遅延部１０４において遅延させたい遅延量が計算され、ステップＳ２０５で第一の遅延制御部１０５に設定される。第一の遅延制御部１０５に設定される遅延量は、一例として、遅延判定部１１０に記録された遅延量に所定の安全余裕を加味して得られる値である。
【００５５】
ステップＳ２０５はリフレッシュ中に実行されるので通常動作でのメモリデバイス１０１に対するアクセスを中断することなく、第一の遅延制御部１０５は第一の可変遅延部１０４における遅延量を変更することができる。
【００５６】
ステップＳ２１０で、データ信号線１１２の値がトグルしなかった場合の動作を行う。
【００５７】
ステップＳ２０８およびステップＳ２０９での遅延量補正の動作は、データ信号線１１２の値がトグルした場合のみ行われるため、ステップＳ２１０で長時間遅延量補正が行われなかったことを補う動作を行うことで遅延量が本来あるべき値から大きくずれることを回避することができる。
【００５８】
具体例として、ステップＳ２１０で、応用装置の一例であるＣＰＵへの割り込み信号（図示省略）を出力することによって、ソフトウェアで遅延量の補正を行うことで遅延量が本来あるべき値から大きくずれることを回避することができる。
【００５９】
また、別法として、ステップＳ２０２にジャンプすることによって、通常のメモリアクセス動作を止めて、初期化後と同様の遅延値補正を行うことによって、遅延量が本来あるべき値から大きくずれることを回避することができる。
【００６０】
上記の説明では、正しくデータをラッチできる遅延値とできない遅延値のＭＩＮ側の境界またはＭＡＸ側の境界のいずれか一方の遅延値を求め、求めた遅延値に安全余裕を加味することによって第一の遅延制御部１０５に設定される遅延量を設定したが、ＭＩＮ側の境界とＭＡＸ側の境界の両方の遅延値を用いて前記遅延量を設定してもよい。
【００６１】
図３は、第１の実施の形態の変形例に係る、メモリインターフェース１０２ａを含むメモリシステム１００ａの構成の一例を示す機能ブロック図である。
【００６２】
メモリインターフェース１０２ａは、メモリインターフェース１０２と比べて、第一の遅延制御部１０５に設定される遅延量を設定するためにＭＩＮ側の境界とＭＡＸ側の境界の両方の遅延値を求めるように変形される。
【００６３】
メモリインターフェース１０２ａには、ＭＩＮ側の境界の遅延値を求めるために、第二の可変遅延部１０７ａ、第二のデータラッチ部１０６ａ、第二の遅延制御部１０８ａ、および比較器１０９ａが設けられ、ＭＡＸ側の境界の遅延値を求めるために、第二の可変遅延部１０７ｂ、第二のデータラッチ部１０６ｂ、第二の遅延制御部１０８ｂ、および比較器１０９ｂが設けられる。遅延判定部１１０ａは、求めたＭＩＮ側の境界とＭＡＸ側の境界の両方の遅延値の中間の値を、第一の遅延制御部１０５に設定される遅延量として設定する。
【００６４】
このような構成によれば、第一の遅延制御部１０５の遅延量を、例えば安全余裕の精度に依存することなく、的確に設定できる。
【００６５】
（第２の実施の形態）
図４は、本発明の第２の実施の形態におけるメモリシステム２００の構成の一例を示す機能ブロック図である。
【００６６】
図４に示されるメモリシステム２００は、第１の実施の形態で説明したメモリシステム１００（図１）に、切替器３０１、切替器３０２、切替制御部３０３、および動作管理部３０４を追加して構成される。また、データ信号線１１２が複数設けられ、第一のデータラッチ部１０３および第一の可変遅延部１０４がデータ信号線１１２のそれぞれに対応して設けられる。その他の構成要素は図１で示した各構成要素と同じものを示しており、方向制御部１１４およびライトデータ１１５は、省略しているが図１と同様の構成である。
【００６７】
一般にＤＲＡＭを制御するメモリ制御回路はリフレッシュコマンドを発生するための制御回路を持っている。メモリシステム２００は、図４に示す構成に加えて、所定回数のリフレッシュ動作ごとに遅延観測を開始させるための構成を有している。
【００６８】
図８は、その回路の一例を示す機能ブロック図である。図８において、リフレッシュ監視部７０２はリフレッシュ制御部７０１からリフレッシュコマンドのトリガー信号７０３を受けてリフレッシュ動作の回数をカウントする。
【００６９】
図５のフローチャートを用いて、本発明のメモリシステム２００における通常動作中の継続したデータに対するストローブ信号のアクセスタイミング調整の動作を説明する。図５のフローチャートは、図２のフローチャートに対して、ステップＳ４０１およびステップＳ４０２を追加したものである。
【００７０】
リフレッシュ監視部７０２は、リフレッシュ回数が一定数に達すると、動作管理部３０４へ観測指令信号３０５を出力する。
【００７１】
ステップＳ４０１で、動作管理部３０４は、観測指令信号３０５が与えられた場合に一連の遅延観測動作を開始する。
【００７２】
ステップＳ４０２で、切替制御部３０３は一連の遅延観測動作の対象となるデータを切り替える。
【００７３】
その後、ステップＳ２０６からステップＳ２０９の処理により、対象となるデータの遅延値が観測される。観測された遅延値は、ステップＳ２０５で、遅延値を観測したデータに対応する第一の遅延制御部１０５を介して、第１の可変遅延部１０４の遅延量を変更するために用いられる。
【００７４】
また、別のデータについて観測した遅延値を用いることによって、データごとのバラつきの範囲内で遅延量が本来あるべき値から大きくずれることを回避することができる。
【００７５】
図４に示す構成によれば、遅延値の観測対象である複数のデータ信号線１１２それぞれのデータ信号を、切替器３０１、切替器３０２で切り替えることで、複数の観測対象に対して第二の遅延制御部１０８と第二の可変遅延部１０７と第二のデータラッチ部１０６とが共用され、その結果、半導体集積回路装置における実装面積を削減できる。
【００７６】
切替器３０１、切替器３０２を用いて遅延値の観測対象を切り替える構成は、次のような場合にも有効である。
【００７７】
例えば、第１の実施の形態において、メモリデバイス１０１にＤＤＲ−ＳＤＲＡＭを用いる場合に、ストローブ信号の立ち上がりエッジと立下りエッジに対応して、独立にそれぞれ、第二の遅延制御部１０８と第二の可変遅延部１０７と第二のデータラッチ部１０６を設ける構成について説明した。この場合、ストローブ信号の立ち上がりエッジと立下りエッジに対応するそれぞれのデータ信号が遅延値の観測対象である。
【００７８】
そこで、切替器３０１、切替器３０２を用いて複数のデータ信号線１１２のデータ信号を切り替える構成と同様の考え方により、ストローブ信号の立ち上がりエッジと立下りエッジに対応するそれぞれの期間のデータ信号を切り出す切替器を設け、当該切替器によって切り出されたそれぞれの期間のデータ信号を、第二の遅延制御部１０８と第二の可変遅延部１０７と第二のデータラッチ部１０６とを共用して、例えば時分割に処理することにより、半導体集積回路装置における実装面積を削減できる。
【００７９】
また、例えば、第１の実施の形態の変形例において説明したように、ＭＩＮ側の境界の遅延値、およびＭＡＸ側の境界の遅延値の両方が観測対象となる場合も、遅延値の観測対象を切り替える切替器を用いて、第二の遅延制御部１０８と第二の可変遅延部１０７と第二のデータラッチ部１０６とを両方の観測対象に共用することにより、半導体集積回路装置における実装面積を削減してもよい。
【００８０】
（第３の実施の形態）
図９は、本発明の第３の実施の形態におけるメモリシステム２０１の構成の一例を示す機能ブロック図である。動作管理部３０４へ観測指令信号３０５を出力するための構成以外は、第２の実施の形態で示したメモリシステム２００の構成と同じである。
【００８１】
図９の外部センサ８０１は、電源電圧の変動のように遅延に影響を及ぼす物理条件（外乱）を観測する物理センサを示している。電源電圧の変動以外に、温度の変動など遅延に影響を及ぼす物理条件を観測することができる物理センサであれば同様の効果が期待できる。
【００８２】
物理条件監視部８０２は物理センサの出力信号８０３からあらかじめ設定された物理条件が成立したことを判定し、動作管理部３０４へ観測指令信号３０５を出力する回路である。
【００８３】
メモリシステム２０１の動作は、図５のフローチャートに示したメモリシステム２００の動作と大まかには同じである。
【００８４】
メモリシステム３００では、ステップＳ４０１において一連の遅延観測動作に入るためにステップＳ４０２に遷移する条件として、図９の物理条件監視部８０２からの観測指令信号３０５を受けることで、遅延の変動が許容範囲を超えると考えられる物理条件が成立した時のみ、遅延観測を行う。
【００８５】
（第４の実施の形態）
図７は、本発明の第４の実施の形態におけるトグル検出器１１１の具体例を示す機能ブロック図である。図７は、図４に記載のトグル検出器１１１の内部を詳細に記載したものである。
【００８６】
図７のトグル検出回路６０１は、切替器３０２から伝達したデータ信号のトグルを感知する回路構成の一例を示している。トグル検出回路６０１自体の回路構成のあり方は複数あり、データ信号のトグルが検出できれば問題ない。
【００８７】
カウンタ６０２は、クロック信号ＣＬＫをカウントし、かつトグル検出回路６０１からの検出信号でリセットされることでトグルが検出できない期間を計測し、一定時間、トグルがなかったことを条件に動作管理部３０４に観測指令信号３０５を送る。
【００８８】
図５で示した、本発明のメモリシステム１００における通常動作中の継続したデータに対するストローブ信号のアクセスタイミング調整の動作を用いて動作の説明を行う。
【００８９】
図５の各ステップは第２の実施の形態で示した動作と同じである。トグル検出がなされない場合、図５のステップＳ２０７以降の遅延観測動作が行われないことになる。この場合、データの値に依存して遅延値が更新されていないため、現実の遅延値が設定値から乖離する可能性がある、そのためカウンタ６０２からの信号によってステップＳ２０２に移る。ステップＳ２０２で、通常のメモリアクセス動作を止めて、初期化後と同様の遅延値補正を行うことによって遅延値を適正にすることができる。
【００９０】
またステップＳ２０２に移る以外にも、遅延判定部１１０に格納されているトグルが検出されている別のデータについて観測された遅延値を参照して、図５のステップＳ２０５の動作を行うこともできる。
【００９１】
（第５の実施の形態）
図６は、本発明の第５の実施の形態におけるメモリシステム３００の構成の一例を示す機能ブロック図である。図６は、図１に示したメモリインターフェース１０２に、リードデータ１１６を伝送する読み出しデータ信号線５０３、ライトデータ１１５を伝送する書き込みデータ信号線５０２、およびアドレス信号線５０１を明示したものである。
【００９２】
メモリシステム３００は、図１に示されるメモリシステム１００に、演算部５０４および逆演算部５０５を追加して構成される。演算部５０４は複数ビットで構成されているアドレス信号線５０１で伝送されるアドレス値と、応用装置から与えられるデータとの論理演算を行うことでライトデータ１１５を生成し、書き込みデータ信号線５０２へ出力する。逆演算部５０５は、演算部５０４の逆変換を行う回路を示している。
【００９３】
この構成は、本発明の第１の実施の形態のメモリシステム１００および第２の実施の形態のメモリシステム２００のいずれにも適用できる。
【００９４】
この構成では、画像データとして同じ色の画素データを多数連続して格納する時のようにデータ信号にトグルが極めて発生しにくい場合においても、演算部５０４において、アドレス信号と論理演算を行うため、実際にメモリインターフェース１０２を介してメモリデバイス１０１に格納されるデータは前後のデータに対してトグルを行う確率が増える。また同時に読み出し側に逆演算部５０５を備えることによって書き込んだデータを正しく読み出すことができる。アドレスとの論理演算であるため、１００％トグルが起こることを保証しないが、データ信号は画像データのように同じ値が連続する場合が多くトグルする確率を増やすことができる。
【００９５】
なお、ここではデータ信号に対して論理演算を行う対象をアドレス信号として説明したが、特にアドレス信号である必要はない。
【産業上の利用可能性】
【００９６】
以上説明した通り、本発明に係るメモリデバイス、およびメモリシステムとメモリデバイスへのアクセスタイミング調整方法は、信号遅延量に影響をおよぼす電圧、温度など条件が動作中に変動したとしても、通常のメモリアクセス動作を止めることなく遅延量を補正することができ、高速化するメモリシステムにおいて有用である。
【図面の簡単な説明】
【００９７】
【図１】第１の実施形態におけるメモリシステムの構成の一例を示す機能ブロック図
【図２】第１の実施形態において行われる遅延量の調整処理の一例を示すフローチャート
【図３】第１の実施形態におけるメモリシステムの一部の構成を示す機能ブロック図
【図４】第２の実施形態におけるメモリシステムの構成の一例を示す機能ブロック図
【図５】第２の実施形態において行われる遅延量の調整処理の一例を示すフローチャート
【図６】第５の実施形態におけるメモリシステムの構成の一例を示す機能ブロック図
【図７】第４の実施形態におけるメモリシステムの一部の構成を示す機能ブロック図
【図８】第２の実施形態におけるメモリシステムの一部の構成を示す機能ブロック図
【図９】第３の実施形態におけるメモリシステムの一部の構成を示す機能ブロック図
【符号の説明】
【００９８】
１００、１００ａ  メモリシステム
１０１  メモリデバイス
１０２、１０２ａ  メモリインターフェース
１０３  データラッチ部
１０４  可変遅延部
１０５  遅延制御部
１０６、１０６ａ、１０６ｂ  データラッチ部
１０７、１０７ａ、１０７ｂ  可変遅延部
１０８、１０８ａ、１０８ｂ  遅延制御部
１０９、１０９ａ、１０９ｂ  比較器
１１０、１１０ａ  遅延判定部
１１１  トグル検出器
１１２  データ信号線
１１３  ストローブ信号線
１１４  方向制御部
１１５  ライトデータ
１１６  リードデータ
２００  メモリシステム
２０１  メモリシステム
３００  メモリシステム
３０１  切替器
３０２  切替器
３０３  切替制御部
３０４  動作管理部
３０５  観測指令信号
５０１  アドレス信号線
５０２  書き込みデータ信号線
５０３  読み出しデータ信号線
５０４  演算部
５０５  逆演算部
６０１  トグル検出回路
６０２  カウンタ
７０１  リフレッシュ制御部
７０２  リフレッシュ監視部
７０３  トリガー信号
８０１  外部センサ
８０２  物理条件監視部
８０３  出力信号
【図１】
2010086415.tif 000003
【図２】
2010086415.tif 000004
【図３】
2010086415.tif 000005
【図４】
2010086415.tif 000006
【図５】
2010086415.tif 000007
【図６】
2010086415.tif 000008
【図７】
2010086415.tif 000009
【図８】
2010086415.tif 000010
【図９】
2010086415.tif 000011