(57)【要約】【課題】環境が変化したり、経年変化があっても、正常かつ安定にメモリのデータを読み込むことが可能で、また事前に故障を予測することが可能なメモリコントローラを提供する。【解決手段】遅延部３０１ｈにより所定の遅延量遅延したデータストローブ信号ＤＱＳよりメモリデータＤＱが取得され、ＣＰＵ３００に読み込まれる。遅延コントロール部３０１ｊは、温度検出部３０３と電圧検出部３０４で検出された温度並びに電圧に従って遅延量を変化させる。このような構成では、周囲温度や電源電圧などの環境パラメータが変化しても、それに応じてデータストローブ信号が遅延されるので、安定してメモリデータを読み込むことが可能となる。【選択図】図１
2007133526.tif 000002
【特許請求の範囲】
【請求項１】
メモリに記憶されたデータのＣＰＵへの読み込みを制御するメモリコントローラであって、
メモリのデータストローブ信号に所定の遅延量を与える遅延部と、
前記遅延したデータストローブ信号によりメモリデータを取得してＣＰＵに送出する送出手段と、
前記遅延量を環境パラメータの変化に応じて変化させる遅延制御手段と、
を有することを特徴とするメモリコントローラ。
【請求項２】
メモリに記憶されたデータのＣＰＵへの読み込みを制御するメモリコントローラであって、
メモリのデータストローブ信号に所定の遅延量を与える遅延部と、
前記遅延したデータストローブ信号によりメモリデータを取得してＣＰＵに送出する送出手段と、
前記遅延量を変化させる遅延制御手段と、
前記遅延量を変化させ、メモリデータが正常に読み込める遅延量の最小値及び／又は最大値を取得する取得手段と、
を有することを特徴とするメモリコントローラ。
【請求項３】
前記環境パラメータは、周囲温度及び／又は電源電圧であることを特徴とする請求項１に記載のメモリコントローラ。
【請求項４】
前記取得した最小値及び／又は最大値が予め設定された最小値を下回り、かつ／又は予め設定された最大値を超えたときに、警告を発生することを特徴とする請求項２に記載のメモリコントローラ。
【請求項５】
前記取得した最小値及び／又は最大値が予め設定された最小値を下回り、かつ／又は予め設定された最大値を超えたかの検査を定期的に行うことを特徴とする請求項４に記載のメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ、更に詳細には、メモリに記憶されたデータのＣＰＵへの読み込みを制御可能なメモリコントローラに関する。
【背景技術】
【０００２】
図５は、従来のメモリコントローラの一構成例を示すブロック図で、１００はＣＰＵ、１０１はメモリコントローラ、１０１ａはメモリコマンド生成部、１０１ｂはライトデータコントロール部、１０１ｃはリードデータコントロール部、１０１ｄはライトデータ出力トライステートバッファ、１０１ｅはデータストローブ出力トライステートバッファ、１０１ｆはリードデータ入力バッファ、１０１ｇはデータストローブ入力バッファ、１０１ｈはデータストローブ遅延部、１０１ｉはリードデータラッチ用フリップフロップ、１０２はＤＤＲＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ−ＳＤＲＡＭ）である。
【０００３】
この構成において、ＣＰＵ１００からメモリコマンド生成部１０１ａにはアドレス情報、アクセス方向情報（ライト信号）等が与えられ、ライト時ライトデータコントロール部１０１ｂには、メモリに書き込むライトデータが与えられる。メモリコマンド生成部１０１ａでは、ＣＰＵ１００から与えられたアドレス情報、アクセス方向情報（リード/ライト信号）等をもとにＤＤＲＳＤＲＡＭ１０２に与えるコマンドＲＡＳ（Ｒｏｗ  Ａｒｒａｙ  Ｓｔｒｏｂｅ）、ＣＡＳ（Ｃｏｌｕｍｎ  Ａｒｒａｙ  Ｓｔｒｏｂｅ）、ＷＥ（ライトイネーブル、ＡＤＤＲＥＳＳ（アドレス）、ＢＡ（バンクアドレス）を生成する。
【０００４】
ライト時、ライトデータコントロール部１０１ｂでは、ＤＤＲＳＤＲＡＭ１０２にライトデータ（ＤＱ）及びデータストローブ信号（ＤＱＳ）を生成しＤＤＲＳＤＲＡＭ１０２に出力する。
【０００５】
リード時、ＤＤＲＳＤＲＡＭ１０２が出力するリードデータ（ＤＱ）、データストローブ信号（ＤＱＳ）を用いてメモリデータをリードデータコントロール部１０１ｃに取り込む。
【０００６】
ここで、データストローブ信号（ＤＱＳ）は、ＤＤＲＳＤＲＡＭ１０２（ライト時）及びメモリコントローラ１０１（リード時）に対しリード/ライトデータ（ＤＱ）をラッチするタイミングを与える。
【０００７】
このタイミングが、図６に示されており、データストローブ信号（ＤＱＳ）はメモリデータ（ＤＱ）を内部に取り込むタイミングを与える。ＤＱＳでＤＱをフリップフロップ等でサンプリングするために、ＤＱＳに対するＤＱのセットアップ時間Ｔｓ、ホールド時間Ｔｈを満足すべく、ＤＱＳはＤＱのほぼ中央に遷移するように設定される。従って、ライト時はメモリコントローラ１０１がＤＱＳ、ＤＱを出力するのでＤＱＳをＤＱの中央に合わせてＤＤＲＳＤＲＡＭ１０２に出力することができる。
【０００８】
しかし、リード時は、ＤＤＲＳＤＲＡＭ１０２がＤＱＳ、ＤＱを同タイミングで出力するためメモリコントローラ１０１内部でＤＱの中央にＤＱＳを合わせるための遅延をつくり出す必要がある。図５において遅延部１０１ｈがその役割を果たす。
【０００９】
また、特許文献１に示されるようにその遅延量を可変できるような仕組みとし、電源投入時等の初期段階で遅延量を調整し最適値を設定するものも提案されている。
【特許文献１】特表２００３−５３２９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のメモリコントローラは、電源投入時等の初期段階でＤＱＳのＤＱに対する遅延値を最適化するのみに止まるため、温度、電圧等の環境変化により発生するＤＱＳ、ＤＱの伝播遅延の変化を補正することができず、また、経年変化により起こり得るデバイスの劣化により生ずる遅延値の規格外れを検出することができない、という問題がある。
【００１１】
本発明は、このような問題点を解決するもので、環境が変化したり、経年変化があっても、正常かつ安定にメモリのデータを読み込むことが可能で、また事前に故障を予測することが可能なメモリコントローラを提供することを課題とする。
【課題を解決するための手段】
【００１２】
本発明は、
メモリに記憶されたデータのＣＰＵへの読み込みを制御するメモリコントローラであって、
メモリのデータストローブ信号に所定の遅延量を与える遅延部と、
前記遅延したデータストローブ信号によりメモリデータを取得してＣＰＵに送出する送出手段と、
前記遅延量を環境パラメータの変化に応じて変化させる遅延制御手段とを有することを特徴とする。
【００１３】
また、本発明は、
メモリに記憶されたデータのＣＰＵへの読み込みを制御するメモリコントローラであって、
メモリのデータストローブ信号に所定の遅延量を与える遅延部と、
前記遅延したデータストローブ信号によりメモリデータを取得してＣＰＵに送出する送出手段と、
前記遅延量を変化させる遅延制御手段と、
前記遅延量を変化させ、メモリデータが正常に読み込める遅延量の最小値及び／又は最大値を取得する取得手段とを有することを特徴とする。
【発明の効果】
【００１４】
本発明では、周囲温度や電源電圧などの環境パラメータが変化しても、それに応じてデータストローブ信号の遅延が制御されるので、安定してメモリデータを読み込むことが可能となる。
【００１５】
また、本発明では、メモリデータが正常に読み込める遅延量の最小値及び／又は最大値を取得するようにしているので、経年変化等により、その最小値あるいは最大値が規格値を外れたか否かを検査することができ、未然に故障を予測し、突発的なシステムダウンを防ぐことが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下に、図面に示す実施例に基づいて本発明を詳細に説明する。
【実施例１】
【００１７】
図１は、本発明のメモリコントローラの一構成例を示すブロック図で、３００はＣＰＵ、３０１はメモリコントローラ、３０１ａはメモリコマンド生成部、３０１ｂはライトデータコントロール部、３０１ｃはリードデータコントロール部、３０１ｄはライトデータ出力トライステートバッファ、３０１ｅはデータストローブ出力トライステートバッファ、３０１ｆはリードデータ入力バッファ、３０１ｇはデータストローブ入力バッファ、３０１ｈはデータストローブ遅延部、３０１ｉはリードデータラッチ用フリップフロップ、３０２はＤＤＲＳＤＲＡＭで、ＣＰＵ３００、ＤＤＲＳＤＲＡＭ３０２は、図５のＣＰＵ１００、ＤＤＲＳＤＲＡＭ１０２に対応し、メモリコントローラ３０１の各素子３０１ａ〜３０１ｇ、３０１ｉは、図５のメモリコントローラ１０１の各素子１０１ａ〜１０１ｇ、１０１ｉに対応し、それぞれそれらと同様な構成、機能を有する。
【００１８】
本発明では、さらに、温度検出部３０３で検出された温度、並びに電圧検出部３０４で検出された電圧に従ってデータストローブ遅延部３０１ｈの遅延量をコントロールする遅延コントロール部（遅延制御手段）３０１ｊが設けられる。
【００１９】
遅延部３０１ｈは、図２に図示したように、遅延素子４００を有し、端子Ｔ０〜Ｔｎの何れかにロジックＨを与えることによりＯＲ回路４０１を介して、遅延したＤＱＳを発生する。
【００２０】
また、図３には、遅延コントロール部３０１ｊが図示されており、遅延コントロール部３０１ｊは、温度検出部３０３が出力する周囲温度データ（デジタルデータ）を温度変化に応じた遅延量にテーブル化した温度用テーブル３０１ｊ＿１（図４(ａ）を参照）、電圧検出部３０４が出力する電源電圧データ（デジタルデータ）を電源電圧変化に応じた遅延量にテーブル化した電圧用テーブル３０１ｊ＿２（図４（ｂ））、装置の使用温度範囲、デバイスの電源電圧範囲で予想される予め測定された遅延量の最大値と最小値を出力する最大遅延設定値回路３０１ｊ＿３と最小遅延設定値回路３０１ｊ＿４、定期的にチェック信号を発生する定期チェック指令発生器３０１ｊ＿５、並びに遅延部３０１ｈに対し遅延量を与える遅延制御信号発生部３０１ｊ＿６から構成される。
【００２１】
このような構成で、ＣＰＵ３００からメモリコマンド生成部３０１ａにはアドレス情報、アクセス方向情報（ライト信号）等が与えられ、ライト時ライトデータコントロール部３０１ｂには、メモリに書き込むライトデータが与えられる。メモリコマンド生成部３０１ａでは、ＣＰＵ３００から与えられたアドレス情報、アクセス方向情報（リード/ライト信号）等をもとにＤＤＲＳＤＲＡＭ３０２に与えるコマンドＲＡＳ、ＣＡＳ、ＷＥ、ＡＤＤＲＥＳＳ、ＢＡを生成し、ライト時ライトデータコントロール部３０１ｂでは、ＤＤＲＳＤＲＡＭ３０２にライトデータ（ＤＱ）及びデータストローブ信号（ＤＱＳ）を生成し、この信号をＤＤＲＳＤＲＡＭ３０２に出力する。
【００２２】
ライト時は、メモリコントローラ３０１がＤＱＳをＤＱの中央に合わせてＤＤＲＳＤＲＡＭ３０２に出力するので、確実なデータ書き込みが可能となる。
【００２３】
一方、リード時には、ＤＤＲＳＤＲＡＭ３０２が出力するデータストローブ信号ＤＱＳを遅延させ、この遅延したデータストローブ信号によりメモリデータＤＱをリードデータコントロール部（送出手段）３０１ｃに取り込み、それをＣＰＵ３００に送出する。
【００２４】
このとき、遅延コントロール部３０１ｊは、温度検出部３０３及び電圧検出部３０４の各検出値をもとに遅延部３０１ｈを制御し、周囲温度（使用温度）、電源電圧などの環境パラメータの変化による遅延量の変化を補正し安定したデータ読み込みを実現する。具体的には、温度検出部３０３と電圧検出部３０４がそれぞれ周囲温度、電源電圧を検出すると、温度用テーブル３０１ｊ＿１、電圧用テーブル３０１ｊ＿２が、検出した温度、電圧に応じてそれぞれ図４（ａ）、（ｂ）に示したような遅延量を出力し、遅延制御信号発生部３０１ｊ＿６は、それに応じて図２に示した遅延素子４００のいずれかのクロックＴ０〜ＴｎをＨレベルにして、データストローブ信号ＤＱＳに対して所定の遅延を発生させる。このとき、図４（ａ）、（ｂ）から出力される遅延量は、データストローブ信号ＤＱＳをメモリデータＤＱの中央に位置させる値となるように、事前にテーブル化されているので、ＤＱＳはＤＱのほぼ中央の値をサンプリングでき、周囲温度あるいは電源電圧が変化しても、安定したデータ読み込みが実現される。
【００２５】
なお、環境パラメータとして、周囲温度と電源電圧を用いているが、そのいずれか一方でもよく、また他の環境パラメータ（使用年数など）を導入して、それに応じて遅延量を変化させるようにしてもよい。
【００２６】
また、遅延コントロール部３０１ｊは、上述した機能のほかに、以下のような機能を有する。すなわち、遅延制御信号発生部（最小値及び／又は最大値取得手段）３０１ｊ＿６は、定期チェック指令発生器３０１ｊ＿５から定期的に発生する定期チェック指令を受けて、リードデータラッチ用フリップフロップ３０１ｉから正常にメモリデータを読み込める遅延量の最小値と最大値を取得する。具体的には、ＤＤＲＳＤＲＡＭ３０２から検査用のデータをメモリデータＤＱとして発生させ、遅延量を順次所定量ずつ減少させる方向に変化させ、リードデータラッチ用フリップフロップ３０１ｉからの信号を取得して、それが正常なメモリデータであるかどうか、つまりデータストローブ信号ＤＱＳにより正常なデータがサンプリングされたかどうかを検査し、正常なデータがサンプリングできる遅延量の最小値を取得する。同様に、遅延量を順次所定量ずつ増大させる方向に変化させ、正常なデータがサンプリングできる遅延量の最大値を取得する。
【００２７】
これらの取得した遅延量の最大値と最小値は、それぞれ予め設定（測定）された最大遅延設定値３０１ｊ＿３及び最小遅延設定値３０１ｊ＿４から出力される最大遅延値並びに最小遅延値と比較する検査に付され、取得した遅延量の最大値と最小値が最大遅延値と最小遅延値の範囲内にない場合には、警告信号をＣＰＵ３００に発生する。ＣＰＵ３００は、この警告信号を受けて装置のオペレータに警告等を発する。
【００２８】
上記のような検査を定期的に行うようにすることにより、事前に故障を予測でき、突発的なシステムダウンを防止することが可能となる。
【００２９】
なお、上記検査では、データを正常に読み込むことができる遅延量の最大値と最小値の両方を求め、それが予め設定された最大値と最小値の範囲内にあるかどうかを検査しているが、遅延量の最大値だけを求め、それが予め設定された最大値を超えた場合に、警告信号を発生させるようにしてもよく、また、遅延量の最小値だけを求め、それが予め設定された最小値を下回った場合に、警告信号を発生させるようにしてもよい。また、遅延量の最大値と最小値の両方を求め、遅延量の最大値が、予め設定された最大値を超えた場合に、あるいは、遅延量の最小値が予め設定された最小値を下回った場合に、警告信号を発生させるようにしてもよい。
【図面の簡単な説明】
【００３０】
【図１】本発明のメモリコントローラの構成を示すブロック図である。
【図２】データストローブ遅延部の構成を示す回路図である。
【図３】遅延コントロール部の構成を示すブロック図である。
【図４】（ａ）は、温度と遅延量の関係を示す線図、（ｂ）は電圧と遅延量の関係を示す線図である。
【図５】従来のメモリコントローラの構成を示すブロック図である。
【図６】メモリデータとデータストローブ信号のタイミングを示す信号波形図である。
【符号の説明】
【００３１】
３００  ＣＰＵ
３０１  メモリコントローラ
３０１ｊ  遅延コントロール部
３０１ｊ＿１  温度用テーブル
３０１ｊ＿２  電圧用テーブル
３０１ｊ＿３  最大遅延設定値回路
３０１ｊ＿４  最小遅延設定値回路
３０１ｊ＿５  定期チェック指令発生器
３０１ｊ＿６  遅延制御信号発生部
３０２  ＤＤＲＳＤＲＡＭ
３０３  温度検出部
３０４  電圧検出部
【図１】
2007133526.tif 000003
【図２】
2007133526.tif 000004
【図３】
2007133526.tif 000005
【図４】
2007133526.tif 000006
【図５】
2007133526.tif 000007
【図６】
2007133526.tif 000008