(57)【要約】【課題】  ＤＤＲタイプのメモリ素子を使用して、高いパフォーマンスと低消費電力化を両立する。【解決手段】  メモリモジュール１２は、データ読み出し時、データ信号６２と、データ信号６２のタイミングを示すストローブ信号４４を出力する。動作下限周波数を持つ遅延回路４０と、動作下限周波数を持たない遅延回路４２が、メモリモジュール１２からのストローブ信号４４を遅延する。遅延回路４０，４２の遅延期間はストローブ信号４４の約１／４周期である。選択回路５０は、制御回路７０からの指示に従い、ストローブ信号４６，４８の一方を選択する。フリップフロップ（ＦＦ）５４は、選択回路５０の出力に従い、データ信号６２をラッチする。ＦＦ６０は、選択回路５０の出力の反転値に従い、データ信号６２をラッチする。【選択図】  図１
2008108023.tif 000002
【特許請求の範囲】
【請求項１】
データ読み出し期間に、外部クロックに同期して、データ信号と共に当該データのタイミングを示すストローブ信号を出力するメモリモジュールを制御するメモリコントローラであって、
当該ストローブ信号を遅延する、動作下限周波数を有する第１の遅延回路（４０）と、
当該ストローブ信号を遅延する、動作下限周波数を有しない第２の遅延回路（４２）と、
当該第１及び第２の遅延回路の出力の一方を選択する選択手段（５０）と、
当該選択手段の出力信号に従い、当該メモリモジュールからの当該データ信号を取り込むラッチ回路（５４，６０）
とを具備することを特徴とするメモリコントローラ。
【請求項２】
前記データ信号は、前記ストローブ信号の立上りエッジ及び立下りエッジに同期していることを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記第１の遅延回路は、ＤＬＬ(Ｄｅｌａｙ−Ｌｏｃｋｅｄ−Ｌｏｏｐ)回路を含むことを特徴とする請求項１又は２に記載のメモリコントローラ。
【請求項４】
前記第２の遅延回路は、ＤＬＬ(Ｄｅｌａｙ−Ｌｏｃｋｅｄ−Ｌｏｏｐ)回路を含まないことを特徴とする請求項１乃至３の何れか１項に記載のメモリコントローラ。
【請求項５】
当該選択手段は、当該外部クロックの周波数が所定周波数より高いとき、当該第１の遅延回路の出力を選択し、当該外部クロックの周波数が所定周波数以下のとき、当該第２の遅延回路の出力を選択することを特徴とする請求項１乃至４の何れか１項に記載のメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラに関し、より具体的には、低消費電力で動作し、高速にデータをメモリモジュールから読み出し可能なメモリコントローラに関する。
【背景技術】
【０００２】
近年、デジタルカメラ及びデジタルビデオカメラ等には、高速レスポンス・高速連写性能・長時間動画撮影など、高いパフォーマンスを必要とする機能が必要不可欠になりつつある。
【０００３】
これに伴い、クロック周波数の高速化や、高速なメモリアクセスが可能なＤｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ（以下、ＤＤＲと略す）タイプのメモリの搭載等により、必要なパフォーマンスが達成されている。
【０００４】
しかし、高いパフォーマンスを獲得するために、カメラ全体の消費電力は増加傾向にある。電池駆動を必要とするデジタルカメラにとって、消費電力の増加は、大きな問題である。
【０００５】
最近では、動作周波数帯域に制約が無く、高いパフォーマンスを維持したままメモリの消費電力を削減できる、Ｄｅｌａｙ−Ｌｏｃｋｅｄ−Ｌｏｏｐ（以下、ＤＬＬと略す）回路非搭載のＭｏｂｉｌｅＤＤＲタイプのメモリも開発されている。
【０００６】
特許文献１には、転送データ量に応じてメモリのクロック周波数を切り替え、データ転送が少ない期間では、通常の動作周波数よりも低い周波数で動作させることで、消費電力を低減する技術が、記載されている。
【０００７】
特許文献２には、ＤＤＲタイプのメモリにおいて、動作周波数帯域の異なる２種類のＤＬＬ回路をメモリ内部に搭載し、供給されるクロックに応じてＤＬＬ帰路を使い分けることで、高いパフォーマンスと低消費電力化の両方を達成することが記載されている。
【特許文献１】特開２０００−３０７５３４号公報
【特許文献２】特開２００４−３５５０８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ＤＤＲタイプのメモリを使用し、最高のパフォーマンスを達成しようとする場合、受信側に高精度のタイミング調整回路が要求される。その結果、ＤＬＬ回路のような高精度の遅延調整回路が、コントローラ側に必要となる。ＤＬＬ回路は、入力周波数に追随して高い精度で遅延量を調整できる一方で、追随可能な周波数帯域には制約がある。ＬＳＩ内部に組み込む際には、大きな占有面積を必要とする。ＤＬＬ回路は、低速のクロック周波数で動作させたい場合など、低消費電力化に対しては不向きなデバイスである。
【０００９】
本発明は、ＤＤＲタイプのメモリ素子を使用して、高いパフォーマンスと低消費電力化を両立できるメモリコントローラを提示することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するため、本発明に係るメモリコントローラは、データ読み出し期間に、外部クロックに同期して、データ信号と共に当該データのタイミングを示すストローブ信号を出力するメモリモジュールを制御するメモリコントローラであって、当該ストローブ信号を遅延する、動作下限周波数を有する第１の遅延回路と、当該ストローブ信号を遅延する、動作下限周波数を有しない第２の遅延回路と、当該第１及び第２の遅延回路の出力の一方を選択する選択手段と、当該選択手段の出力信号に従い、当該メモリモジュールからの当該データ信号を取り込むラッチ回路とを具備することを特徴とする。
【発明の効果】
【００１１】
本発明では、動作下限周波数を有する第１の遅延回路と、動作下限周波数を有しない第２の遅延回路とを用意し、これらの出力を適宜に選択して、メモリモジュールからのデータ信号を取り込むので、高いパフォーマンスと低消費電力の両立が可能になる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【００１３】
図１は、本発明の一実施例の概略構成ブロック図を示す。本実施例のメモリ装置１０は、動作下限周波数の制約を持たない、ＤＬＬ非搭載のＭｏｂｉｌｅＤＤＲ−ＳＤＲＡＭ（Synchronous Random Access Memory）からなるメモリモジュール１２を有する。また、当該メモリモジュール１２にデータを読み書きするメモリコントローラ１４を有し、制御回路７０が、メモリコントローラ１４にデータの読み出し条件と読み書き動作を指示する。メモリ装置１０が画像処理装置に使用される場合、メモリ装置１０には、例えば、処理対象の画像データが一時的に書き込まれる。
【００１４】
メモリコントローラ１４は、メモリモジュール１２に、クロック信号１６、反転クロック信号１８、並びに、リードコマンド、ライトコマンド及びアドレス等のコマンド信号２０を出力する。メモリコントローラ１４は、双方向データバス２２及び双方向ストローブ信号線２４でメモリモジュール１２と接続する。
【００１５】
メモリコントローラ１４のクロック発生回路３０は、制御回路７０からの指示に従い、メモリモジュール１２に所定周波数のクロック信号１６を供給し、同時に、インバータ３２によりクロック信号１６を反転した反転クロック信号１８を供給する。クロック発生回路３０はまた、メモリコントローラ１４内の回路のための内部クロック信号３４を発生し、フリップフロップ（以下、ＦＦと略す）３６，３８等に供給する。クロック発生回路３０は、必要とされるパフォーマンスに応じて、メモリモジュール１２に供給するクロックの周波数、並びにメモリコントローラ１４内部のＦＦ３６及びＦＦ３８等に供給するクロックの周波数を変化させることができる。
【００１６】
メモリコントローラ１４は、動作下限周波数を持つ遅延回路４０と、動作下限周波数を持たない遅延回路４２を具備する。遅延回路４０は、例えば、ＤＬＬ回路で構成される。遅延回路４２は、遅延時間に応じた段数の遅延バッファからなる。遅延回路４０は、メモリモジュール１２からのストローブ信号４４を遅延して、ストローブ信号４６を出力する。遅延回路４２は、ストローブ信号４４を遅延して、ストローブ信号４８を出力する。選択回路５０は、制御回路７０からの指示に従い、ストローブ信号４６，４８の一方を選択する。
【００１７】
選択回路５０で選択されたストローブ信号５２は、ＦＦ５４のクロック入力端子に印加され、インバータ５６を介してＦＦ６０のクロック入力端子に印加される。ＦＦ５４，６０のデータ端子には、メモリモジュール１２から読み出されたデータ信号６２が印加される。ＦＦ５４は、ストローブ信号５２の立ち上がりエッジに同期してデータ信号６２を取り込み、ＦＦ６０は、ストローブ信号５２の立ち下がりエッジに同期してデータ信号６２を取り込む。即ち、ＦＦ５４，６０はデータ信号６２に対するラッチ回路又は記憶回路として機能する。
【００１８】
ＦＦ３６は、クロック発生回路３０からのクロック３４に同期して、ＦＦ５４の出力データを取り込み、ＦＦ３８は、クロック発生回路３０からのクロック３４に同期して、ＦＦ６０の出力データを取り込む。
【００１９】
図面の簡略化の為、ＦＦ３６，３８，５４，６０は、１ビット用として図示してあるが、実際には複数ビットからなり、複数ビットを並列に処理する。
【００２０】
制御回路７０は、先に説明したように、クロック発生回路３０の発生するクロックの周波数を制御し、また、選択回路５０によるストローブ信号の選択を制御する。
【００２１】
図２を参照して、メモリモジュール１２から出力されるストローブ信号２４とデータ信号２２間の一般的な関係を説明する。
【００２２】
メモリモジュール１２から双方向データ信号線２２に読み出されるデータ信号は、双方向ストローブ信号線２４上のストローブ信号（以下、ストローブ信号２４という）の立ち上がりエッジ及び立下りエッジに同期して変化する。
【００２３】
メモリコントローラ１４は、ストローブ信号２４を９０度程度位相がずれたタイミングまで遅延させた信号５２を生成し、ＦＦ５４にクロック信号として供給する。このクロック信号５２は、データ信号６２の偶数番目のデータ、すなわちデータＤ０，Ｄ２の変化点のほぼ中心で立ち上がるので、ＦＦ５４は、十分なセットアップ時間Ｔｓａとホールド時間Ｔｈａを確保して、確実にデータを取りこめる。
【００２４】
さらに、インバータ５６がクロック信号５２を反転した信号５８を生成し、ＦＦ６０にクロック信号として供給する。このクロック信号５８は、データ信号６２の奇数番目のデータ、すなわちデータＤ１，Ｄ３の変化点のほぼ中心で立ち上がるので、ＦＦ６０は、十分なセットアップ時間Ｔｓｂ及びホールド時間Ｔｈｂを確保して、確実にデータを取りこめる。
【００２５】
このように、ＤＤＲタイプのＳＤＲＡＭは、１サイクルの期間に２個のデータを転送できるので、高速なデータ転送が可能になる。
【００２６】
図３を参照して、メモリモジュール１２から出力されるストローブ信号２４とデータ信号２２間の本実施例でのタイミング調整の詳細を説明する。
【００２７】
メモリモジュール１２から出力されるデータ信号２２は、ストローブ信号２４の立上りエッジ及び立下りエッジに同期して変化する。
【００２８】
ＤＬＬ回路で構成される遅延回路４０は、ストローブ信号２４から９０度程度位相が遅れた信号４６を出力する。ＤＬＬ回路は、動作電圧、周囲温度及び半導体のプロセス製造バラツキ等による遅延量のバラツキを受けにくく、入力信号の周波数に追随して動作する。この特性から、遅延回路４０は、ストローブ信号２４に対して常に一定量の位相だけ遅延した信号４６を出力する。
【００２９】
一方、複数段の遅延バッファ等で構成される遅延回路４２は、同様にストローブ信号２４から９０度程度位相が遅れた信号４８を出力する。しかし、遅延回路４２は、動作電圧、周囲温度及び半導体のプロセス製造バラツキ等による遅延量のバラツキを受けやすいので、相対的に、遅延回路４２の遅延量は、遅延回路４０の遅延量に対して不安定である。
【００３０】
遅延回路４０の遅延量のバラツキ量をＴｅ１、遅延回路４２の遅延量のバラツキ量をＴｅ２とすると、Ｔｅ１＜Ｔｅ２の関係が成立する。ただし、Ｔｅ１は、動作周波数帯域でのバラツキ量とする。
【００３１】
動作クロックの周期をＴｃｙｃとすると、
Ｔｃｙｃ／２−Ｔｅ１＝Ｔｓａ＋Ｔｈａ＞Ｔｓ(ＦＦ)＋Ｔｈ(ＦＦ)    （１）
Ｔｃｙｃ／２−Ｔｅ２＝Ｔｓｂ＋Ｔｈｂ＞Ｔｓ(ＦＦ)＋Ｔｈ(ＦＦ)    （２）
を満たす動作周波数１／Ｔｃｙｃが、それぞれの限界最高動作周波数となる。ただし、Ｔｓ(ＦＦ)はＦＦのセットアップ時間であり、Ｔｈ(ＦＦ)はＦＦのホールド時間である。
【００３２】
遅延回路４２の限界最高周波数をＴｃｙｃ＿ＭＡＸ２とすると、動作クロック周波数が、
Ｔｃｙｃ＿ＭＡＸ２＜Ｔｃｙｃ      （３）
を満たす高い周波数１／Ｔｃｙｃの場合には、制御回路７０は、第１の遅延回路４０の出力ストローブ信号４６を選択回路５０に選択させる。この結果、ストローブ信号４６から生成したクロック５２がＦＦ５４に供給され、その反転クロック５８をＦＦ６０に供給される。
【００３３】
一方、動作クロック周波数が、
Ｔｃｙｃ＿ＭＡＸ２≧Ｔｃｙｃ      （４）
を満たす低い周波数１／Ｔｃｙｃの場合には、制御回路７０は、第２の遅延回路４２から出力されるストローブ信号４８を選択回路５０に選択させる。この結果、ストローブ信号４８から生成されるクロック５２が、ＦＦ５４に供給され、その反転クロック５８がＦＦ６０に供給される。
【００３４】
本実施例では、説明の簡略化のため、データ信号６２が、ＦＦ５４及びＦＦ６０に到達するまでの遅延時間のバラツキは無いものとし、さらに、ストローブ信号のデューティ比が５０％であるとしている。実際には、動作電圧、周囲温度、半導体のプロセス製造バラツキ、さらには、ビット間の配線長バラツキ等による遅延時間のばらつきと、ストローブ信号のデューティ比等を考慮した上で、限界最高周波数を決定する必要がある事は言うまでもない。
【００３５】
制御回路７０は、メモリ装置１０に必要とされるパフォーマンスに応じて、メモリ装置１０の動作クロック周波数と、メモリモジュール１２に供給するクロックの周波数を決定する。制御回路７０は、決定したクロック周波数に応じて、式（３）及び式（４）の関係を用いて、選択回路５０を制御する。そして、上述したように、決定したクロック周波数が式（４）を満足する場合には、消費電力の削減のため、メモリコントローラ１４は、第２の遅延回路４２から出力されるストローブ信号４８に従い、メモリモジュール１２から出力されるデータを取り込む。逆に、決定したクロック周波数が式（３）を満足し、さらに第１の遅延回路４０の動作下限周波数を満足する場合、メモリコントローラ１４は、第１の遅延回路４０から出力されるストローブ信号４６に従い、メモリモジュール１２から出力されるデータを取り込む。
【００３６】
選択回路５０の別の切替え基準を説明する。第１の遅延回路４０の動作下限周波数を１／Ｔｃｙｃ＿ＭＩＮ１とすると、制御回路７０は、動作クロック周波数が、
Ｔｃｙｃ＿ＭＩＮ１≦Ｔｃｙｃ      （５）
を満たす高い周波数の場合には、第１の遅延回路４０から出力されるストローブ信号４６を選択回路５０に選択させる。この結果、ストローブ信号４６から生成されるクロック５２が、ＦＦ５４に供給され、その反転クロック５８がＦＦ６０に供給される。
【００３７】
逆に、動作クロック周波数が、
Ｔｃｙｃ＿ＭＩＮ１＞Ｔｃｙｃ        （６）
を満たす低い周波数の場合、制御回路７０は、第２の遅延回路４２から出力されるストローブ信号４８を選択回路５０に選択させる。この結果、ストローブ信号４８から生成されるクロッククロック５２が、ＦＦ５４に供給され、その反転クロック５８がＦＦ６０に供給される。
【００３８】
制御回路７０は、メモリ装置１０に必要とされるパフォーマンスに応じて、メモリ装置１０の動作クロック周波数と、メモリモジュール１２に供給するクロックの周波数を決定する。制御回路７０は、決定したクロック周波数に応じて、式（５）及び式（６）の関係を用いて、選択回路５０を制御する。即ち、上述したように、決定したクロック周波数が式（６）を満足し、且つ、第２の遅延回路４２の限界最高周波数を満足する場合には、消費電力の削減を行う。そのために、メモリコントローラ１４は、第２の遅延回路４２から出力されるストローブ信号４８に従い、メモリモジュール１２から出力されるデータを取り込む。他方、決定したクロック周波数が式（５）を満足する場合には、メモリコントローラ１４は、第１の遅延回路４０から出力されるストローブ信号４６に従い、メモリモジュール１２から出力されるデータを取り込む。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】ＤＤＲ−ＳＤＲＡＭからのリードタイミングのタイミングチャートである。
【図３】本実施例の詳細なタイミングチャートである。
【符号の説明】
【００４０】
１０：メモリ装置
１２：メモリモジュール
１４：メモリコントローラ
１６：クロック信号
１８：反転クロック信号
２０：コマンド信号
２２：双方向データバス（データ信号）
２４：双方向ストローブ信号
３０：クロック発生回路
３２：インバータ
３４：内部クロックライン
３６，３８：ＦＦ
４０：遅延回路
４２：遅延回路
４４：ストローブ信号
４６：遅延回路４０から出力されるストローブ信号
４８：遅延回路４２から出力されるストローブ信号
５０：選択回路
５２：選択回路５０から出力されるストローブ信号
５４：ＦＦ
５６：インバータ
５８：反転ストローブ信号
６０：ＦＦ
６２：データ信号
【図１】
2008108023.tif 000003
【図２】
2008108023.tif 000004
【図３】
2008108023.tif 000005