(57)【要約】      （修正有）【課題】メモリとメモリコントローラ間におけるメモリアクセスのために必要な複数のパラメータを、装置内の環境に合わせて設定する。【解決手段】メモリ制御部１０と、メモリコントローラ２０と、メモリ３０とから成り、前記メモリ３０とメモリコントローラ２０間における複数のパラメータを設定するメモリ制御システムであって、前記メモリ制御部１０の調整方法判定手段１０４は前記パラメータの複数のキャリブレーション方法から装置内部の環境変化に合ったキャリブレーション方法を判定し、パラメータ設定手段１０５は、判定したキャリブレーション方法によりパラメータを設定し、設定値記憶手段１０６は設定した設定値を記憶する。【選択図】図１
2011059762.tif 000002
【特許請求の範囲】
【請求項１】
メモリ制御部と、メモリコントローラと、メモリとから成り、前記メモリとメモリコントローラ間におけるメモリアクセスのために必要な複数のパラメータを設定するメモリ制御システムであって、
前記メモリ制御部は、前記パラメータについての複数のキャリブレーション方法から、装置内部の環境変化に合ったキャリブレーション方法を判定するキャリブレーション方法判定手段と、
判定したキャリブレーション方法にしたがって当該キャリブレーションの対象となるパラメータのキャリブレーションを行う手段と、
前記キャリブレーションにより設定したパラメータの設定値を記憶する設定値記憶手段と、
を有することを特徴とするメモリ制御システム。
【請求項２】
請求項１に記載されたメモリ制御システムにおいて、
前記環境変化は、機内の温度変化、同電圧変化、時間経過、電源ＯＮ、省エネ状態からの復帰、動作の停止の少なくともいずれか一つであることを特徴とするメモリ制御システム。
【請求項３】
請求項１または２に記載されたメモリ制御システムにおいて、
前記複数のキャリブレーション方法のうちの少なくとも1つが、他のキャリブレーション方法におけるパラメータ数を制限したものであることを特徴とするメモリ制御システム。
【請求項４】
請求項１または２に記載されたメモリ制御システムにおいて、
簡易キャリブレーションは各パラメータの設定値候補を現在の設定値に近い値に絞ることによって行うことを特徴とするメモリ制御システム。
【請求項５】
請求項１または２に記載されたメモリ制御システムにおいて、
前記簡易キャリブレーションは、調整するパラメータ数を制限して行うことを特徴とするメモリ制御システム。
【請求項６】
メモリ制御部と、メモリコントローラと、メモリとから成り、前記メモリとメモリコントローラ間におけるメモリアクセスのために必要な複数のパラメータを設定するメモリ制御システムにおけるメモリ制御方法であって、
前記メモリ制御部は、前記パラメータの複数の調整方法から装置内部の環境変化に合ったキャリブレーション方法を判定するキャリブレーション方法判定工程と、
判定したキャリブレーション方法にしたがって当該キャリブレーションの対象となるパラメータのキャリブレーションを行う工程と、
前記キャリブレーションにより設定したパラメータの設定値を記憶する設定値記憶工程と、
を有することを特徴とするメモリ制御システムにおけるメモリ制御方法。
【請求項７】
請求項６に記載されたメモリ制御システムにおけるメモリ制御方法であって、
前記環境変化は、機内の温度変化、同電圧変化、時間経過、電源ＯＮ、省エネ状態からの復帰、動作の停止の少なくともいずれか一つであることを特徴とするメモリ制御システムにおけるメモリ制御方法。
【請求項８】
請求項６または７に記載されたメモリ制御システムにおけるメモリ制御方法であって、
前記複数のキャリブレーション方法のうちの少なくとも1つが、他のキャリブレーション方法におけるパラメータ数を制限したものであることを特徴とするメモリ制御システムにおけるメモリ制御方法。
【請求項９】
請求項６または７に記載されたメモリ制御システムにおけるメモリ制御方法であって、
簡易キャリブレーションは各パラメータの設定値候補を現在の設定値に近い値に絞ることによって行うことを特徴とするメモリ制御システムにおけるメモリ制御方法。
【請求項１０】
請求項６または７に記載されたメモリ制御システムにおけるメモリ制御方法であって、
前記簡易キャリブレーションは、調整するパラメータ数を制限して行うことを特徴とするメモリ制御システムにおけるメモリ制御方法。
【請求項１１】
請求項６ないし１０のいずれかに記載されたメモリ制御システムにおけるメモリ制御方法の各工程を、コンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１に記載されたプログラムを記録したコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリ制御システム及びメモリ制御方法、とくにメモリパラメータの設定を行うメモリ制御システム及びメモリ制御方法に関する。
【背景技術】
【０００２】
近年、高速ＭＰＵのための主記憶として相補クロック信号に同期して動作するダブルデータレートＳＤＲＡＭが用いられている。このダブルレート型メモリは、データストローブ信号（ＤＱＳ）の立ち上がりタイミング及び立ち下がりタイミングの両方で同期してデータ信号（ＤＱ）の読み書きが行われるメモリであり、ＤＤＲ−ＳＤＲＡＭ（Double Data Rate Dynamic Random Access Memory）やＤＤＲをより高速化する規格としてＪＥＤＥＣ(Joint Electron Device Engineering Council)半導体技術協会により策定されたＤＤＲ２，ＤＤＲ３などがある。
ところで、これらのメモリの動作周波数は数百ＭＨｚにも達するため、メモリアクセスするタイミングマージンは極めて小さくなっており、プリント基板のパターンによるスキューなどが信号品質に与える影響も無視できなくなってきている。
【０００３】
そこで、このような問題に対応するため、ＯＤＴ（On Die Termination）のＯＮ／ＯＦＦ切り替え、ＯＤＴの抵抗値設定、ライトデータのラッチタイミングの微調整、リードデータのラッチタイミングの微調整など、様々な調整機能を備えたメモリコントローラが開発されている。
ところで、このように調整機能が増えると、機能毎に設定するパラメータ数も増えるため、それに伴ってパラメータの組み合わせの数も非常に多くなる。また、装置の環境が変化すると最適なパラメータは変わるため、その最適なパラメータを見付けるには多くの時間を必要とする。
【０００４】
そこで、パラメータを時間変化する装置内部の環境に合ったものに調整する目的で、一定期間ごとにパラメータの再調整を実施し、温湿度等の環境変化に対応するメモリ制御システムが既に提案されている（特許文献１参照）。
このメモリ制御システムは、データストローブ信号（DQS）を遅延させてディレイ値を調整するディレイ調整手段を備え、ある特定の値を特定のアドレスに書き込み、ディレイ調整手段のディレイ値を変更しながら、前記アドレスと同じアドレスへ読み込み、両者の値を比較して正しい値が読めたか否かにより読み込み可能範囲を認識し、当該認識した読み込み可能範囲、つまりヴェリファイOKとなる範囲の中間値を前記ディレイ調整手段に設定するものである。
このメモリ制御システムは、確かにパラメータの再調整を可能にするが、一定期間ごとに全てのキャリブレーション（ここでは、パラメータの調整及び設定を行うことをキャリブレーションという）を行うため、微調整で済むような場合でもフルキャリブレーションのために不必要に時間を要する点でなお課題がある。
【０００５】
例えば、近年はプリント・コピー・スキャン・ＦＡＸ等の機能を１台の装置に備えた複合機等において、省エネモードを備えたものが普及しているが、この複合機等の装置では、装置を使用しない期間は省エネモードに遷移することで消費電力の低減を図っている。この装置では、装置内部の環境（温湿度等）は、使用状況（プリント・コピー・スキャン・ＦＡＸ等の頻度など）だけではなく、省エネ遷移前後においても変化する。そのため、ＤＤＲ−ＳＤＲＡＭ等のメモリアクセスに関する電気的特性を決める上記パラメータの設定はより頻繁に必要となる。
このような装置に上記従来公知のメモリ制御システムを採用した場合、そのフルキャリブレーションのための時間は一層大きくなるという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来の問題に鑑みてなされたものであって、キャリブレーション可能なメモリ制御システムにおいて、より短時間でキャリブレーションを行うことを目的とする。
【課題を解決するための手段】
【０００７】
（１）本発明は、メモリ制御部と、メモリコントローラと、メモリとから成り、前記メモリとメモリコントローラ間におけるメモリアクセスのために必要な複数のパラメータを設定するメモリ制御システムであって、前記メモリ制御部は、前記パラメータについての複数のキャリブレーション方法から、装置内部の環境変化に合ったキャリブレーション方法を判定するキャリブレーション方法判定手段と、判定したキャリブレーション方法にしたがって当該キャリブレーションの対象となるパラメータのキャリブレーションを行う手段と、前記キャリブレーションにより設定したパラメータの設定値を記憶する設定値記憶手段と、を有することを特徴とするメモリ制御システムである。
（２）本願の他の発明は、メモリ制御部と、メモリコントローラと、メモリとから成り、前記メモリとメモリコントローラ間におけるメモリアクセスのために必要な複数のパラメータを設定するメモリ制御システムにおけるメモリ制御方法であって、前記メモリ制御部は、前記パラメータの複数の調整方法から装置内部の環境変化に合ったキャリブレーション方法を判定するキャリブレーション方法判定工程と、判定したキャリブレーション方法にしたがって当該キャリブレーションの対象となるパラメータのキャリブレーションを行う工程と、前記キャリブレーションにより設定したパラメータの設定値を記憶する設定値記憶工程と、を有することを特徴とするメモリ制御システムにおけるメモリ制御方法である。
（３）本願の更に他の発明は、上記（２）に記載されたメモリ制御システムにおけるメモリ制御方法の各工程を、コンピュータに実行させるためのプログラムである。
（４）本願の更に他の発明は、上記（３）に記載されたプログラムを記録したコンピュータに読み取り可能な記録媒体である。
【発明の効果】
【０００８】
本発明によれば、複数のキャリブレーション方法から、環境変化が大きいときにはフルキャリブレーション、環境変化が小さいときには簡易キャリブレーションを行うというように、状況に合ったキャリブレーション方法を判別してキャリブレーションを実行するため、従来に比してキャリブレーションに要するトータルの時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る、メモリパラメータの設定を行うメモリ制御システムの機能構成を概略的に示すブロック図である。
【図２】キャリブレーション方法判定手段の構成を概略的に示すブロック図である。
【図３】パラメータ設定手段の構成を概略的に示すブロック図である。
【図４】メモリ制御システムにおいて実行されるキャリブレーション実施手順を示すフロー図である。
【発明を実施するための形態】
【００１０】
本発明の実施の形態について添付図面を参照して説明する。
図１は、本発明の実施形態に係るメモリパラメータの設定を行う、メモリ制御システムの機能構成を概略的に示すブロック図である。
本メモリ制御部システムは、メモリ制御部１０と、メモリ制御部１０に対して接続されたメモリコントローラ２０と、メモリコントローラ２０に接続されたダブルレート型メモリ（DDR-SDRAM,DDR2-SDRAM,DDR3-SDRAM等）３０とから成り、メモリ制御部１０はメモリコントローラ２０を介してメモリ３０へのアクセスを行う。
【００１１】
メモリ制御部１０は、計時手段１０１と、温度監視手段１０２と、電圧監視手段１０３と、キャリブレーション方法判定手段１０４と、パラメータ設定手段１０５と、設定値記憶手段１０６と、キャリブレーション方法記憶手段１０７とから成っている。
【００１２】
計時手段１０１は、時間を計測する手段であって、例えばRTC（Real Time Clock）などである。
温度監視手段１０２は、装置内部の温度を監視する手段であり、機器内部に設置する温度センサや、メモリコントローラの内部温度を監視するサーマルダイオードなどである。
電圧監視手段１０３は、メモリまたはメモリコントローラの供給電圧の電圧値を監視する手段である。
【００１３】
キャリブレーション方法判定手段１０４は、図２に示すように、入力される様々な情報から調整の要否を判定するキャリブレーション要否判定手段１０４（１）、複数のメモリパラメータの再調整の方法の中からキャリブレーション方法を決定するキャリブレーション方法決定手段１０４（２）、キャリブレーション方法およびキャリブレーション実行命令をパラメータ設定手段に通知する通知手段１０４（３）を備えている。
【００１４】
ここで、キャリブレーションの要否の判定に利用される情報としては（i）計時手段１０１による時間情報、（ii）温度センサによる温度監視手段１０２からの温度情報、（iii）電圧監視手段１０３からの電圧情報があり、キャリブレーション方法判定手段１０４は、予め決められたタイミングでパラメータの再キャリブレーションを実施するようプログラミングされている。
【００１５】
パラメータ設定手段１０５は、図３に示すように、パラメータの管理手段１０５（１）と、リード・ライト・ヴェリファイテストを実施するテスト手段１０５（２）と、パラメータを決定するパラメータ決定手段１０５（３）と、パラメータを設定するパラメータ設定手段１０５（４）等を備え、キャリブレーション方法判定手段１０４で判定されたキャリブレーション方法にしたがって、リード・ライト・ヴェリファイテストを実施し、その結果に従いメモリパラメータの設定を行う。また設定値記憶手段１０６との間で設定値をリード又はライトする機能も備える。
【００１６】
設定値記憶手段１０６は、メモリパラメータの設定情報を記録・保持するパラメータのキャリブレーションにおけるリード・ライト・ヴェリファイテストを実施する際のテスト結果なども記憶してもよい。
記憶手段の例としては、HDD（ハードディスクドライブ）やSSD（solid state driveまたはsolid state disk）などの不揮発性記憶装置に記憶されたプログラム、またはそのプログラムが展開されたDRAM（Dynamic Random Access Memory）等の揮発性メモリなどがある。
【００１７】
キャリブレーション方法記憶手段１０７は、パラメータにキャリブレーション方法を記憶する手段であって複数のキャリブレーション方法を記憶している。
キャリブレーション方法としては、例えば、次のような方法がある。
（１）フルキャリブレーション：全てのパラメータの組み合わせをテストするキャリブレーション方法。
（２）詳細キャリブレーション：パラメータの組み合わせを絞ることでフルキャリブレーションよりも調整時間を短縮できるキャリブレーション方法。
（３）簡易キャリブレーション：詳細キャリブレーションよりさらにパラメータの組み合わせを絞ることで、調整時間を大幅に短縮できるキャリブレーション方法。環境変化が小さいときに実施することを想定している。
その記憶手段としては、プログラムが記憶された、例えばHDDやSSDなどの不揮発性記憶装置、または上記プログラムが展開されたDRAM等の揮発性メモリなどがある。
【００１８】
メモリコントローラ２０は、パラメータ（レジスタ）を備え、メモリ３０へ信号を送信する機能、メモリ３０から信号を受信する機能を備え、メモリ３０とメモリ制御部１０のインターフェイスをなす。
【００１９】
図４は、以上の構成からなるメモリ制御システムにおいて実行されるキャリブレーション実施手順を示すフロー図である。
図４において、先ず機器の電源をONし（Ｓ１０１）、パラメータ設定手段１０５によりパラメータの初期設定を行う（Ｓ１０２）。これにより機器は待機状態となる（Ｓ１０３）。ここで、キャリブレーション方法判定手段１０４によってパラメータのキャリブレーション方法の要否を判定する（Ｓ１０４）。
キャリブレーションが不必要であれば（Ｓ１０４、ＮＯ）ステップＳ１０３の待機状態へ戻り、キャリブレーションが必要であれば（Ｓ１０４、ＹＥＳ）、次にキャリブレーション方法判定手段１０４がキャリブレーション方法についてフルキャリブレーションか、詳細キャリブレーションか、簡易キャリブレーションかを判定し（Ｓ１０５）、キャリブレーション方法とキャリブレーション実行命令をパラメータ設定手段１０５に通知すると共に、フルキャリブレーションであれば、次にパラメータ設定手段１０５によりフルキャリブレーションを行い、メモリパラメータを決定する（Ｓ１０６）。詳細キャリブレーションであれば、パラメータ設定手段１０５により詳細キャリブレーションを行い、メモリパラメータを決定する（Ｓ１０７）。簡易キャリブレーションであれば、パラメータ設定手段１０５により簡易キャリブレーションを行い、メモリパラメータを決定する（Ｓ１０８）。その後、パラメータ設定手段１０５によりパラメータを設定する（Ｓ１０９）。
【００２０】
次に、ステップＳ１０４,Ｓ１０５,Ｓ１０８の処理について詳細を説明する。
（ステップＳ１０４）の処理説明
キャリブレーション方法判定手段１０４によるキャリブレーション要否の判定方法としては次のような方法がある。
（１）温度監視手段１０２、電圧監視手段１０３、計時手段１０１からの入力情報をもとにキャリブレーション要否を判定する方法。具体的には、
（i）温度監視手段１０２、計時手段１０１の情報を基に、温度の時間変化が大きいときにキャリブレーション要と判定する方法。
（ii）電圧監視手段１０３、計時手段１０１の情報を基に、電圧の時間変化が大きいときにキャリブレーション要と判定する方法。
（２）予め決まったタイミングでキャリブレーションを実施するようプログラミングしておく方法。
この方法によれば上記（１）のような温度監視手段や電圧監視手段が不要なのでその分コストダウンできる。
【００２１】
上記（２）の方法において、複合機のような画像形成装置の場合は、
(i）プリント、コピー、スキャン、ＦＡＸなどのジョブの終了後にはキャリブレーション要と判定してキャリブレーションを実施する、即ち、これらの動作終了後には装置が動作することによって、機器内部の温度が上昇し、環境変化が大きくなる。そこで予めこれらの動作後に適切なタイミングでキャリブレーションを実施するようプログラミングしておく。
(ii）プリント、コピー、スキャン、ＦＡＸの終了後、一定期間新たなジョブがないときにキャリブレーション要と判定してキャリブレーションを実施する、即ち、ジョブを実行したことで機器内部の温度が上昇したのち、一定期間新たなジョブがない場合、機器内部の温度が下がるのでキャリブレーション必要と判定する、などが挙げられる。
【００２２】
（ステップＳ１０５）の処理の説明
キャリブレーション方法の判定は、基本的には、環境変化が大きいときにはフルキャリブレーション、環境変化が中位のときは詳細キャリブレーション、小さいときには簡易キャリブレーションとするのが望ましい。
キャリブレーション方法の判定方法としては次のような方法がある。
（１）温度監視手段１０２、電圧監視手段１０３、計時手段１０１からの入力情報を基にフル、詳細又は簡易キャリブレーションを判定する方法。具体的には、
（i）温度監視手段１０２、計時手段１０１の情報を基に、温度の時間変化の大きさによってフル、詳細又は簡易キャリブレーションを判定する。
（ii）電圧監視手段１０３、計時手段１０１の情報を基に、電圧の時間変化の大きさによってフル、詳細又は簡易キャブリレーションを判定する方法。
（２）予め決まったタイミングでフルキャリブレーションか、詳細キャリブレーションか、簡易キャリブレーションかを判定するようにプログラミングしておく方法。
【００２３】
上記（２）の方法において、複合機のような画像形成装置の場合は、
（i）プリント、コピー、ＦＡＸ受信の後はフルキャリブレーション、スキャン、ＦＡＸ送信の場合は簡易キャリブレーションと判定して実施する。
つまり、前者の場合はエンジンが稼動するので機器内部の温度上昇が大きくなる。したがってフルキャリブレーションと判定して実施する。
後者の場合は、メモリコントローラ２０は動作するが、エンジンは動作しないので、機器内部の温度上昇は限定的と考え、簡易キャリブレーションと判定して実施する。
（ii）電源ＯＮ直後はフルキャリブレーションと判定して実施する。この場合は、電源ＯＮ後は急激な温度変化があるためフルキャリブレーションを実施する方がよい。
（iii）省エネモードから復帰したときは簡易キャリブレーションと判定して実施する。
【００２４】
上記（iii）において、つまり、省エネモードからの復帰時は、内部環境変化（例えば温度上昇）が急激に大きくなる。一方、省エネモードから復帰するということは、何らかのジョブの実行要求があるということであるから、本来であれば急激な温度変化があるためキャリブレーションを実施するところであるが、キャリブレーションに時間が掛かり過ぎるとジョブの実行が遅れ、ユーザにストレスを与えることになる。そこで省エネモードからの復帰時には簡易キャリブレーションと判定して実施することで、メモリアクセス品質を一定程度高めるとともに、ユーザにもストレスを感じさせないようにすることができる。その際、簡易キャリブレーションの実施であってもメモリアクセス品質を高めるために、電源ＯＮ直後のフルキャリブレーションで設定した設定値をデフォルトとして設定し、それから簡易キャリブレーションを実施する方法を採るのがよい。
【００２５】
（ステップＳ１０８）の処理の説明
次に、簡易キャリブレーションについて説明する。
（１）各パラメータの設定値候補を現在の設定に近い値に絞ってキャリブレーションを行う。これにより、パラメータの組み合わせ数が大幅に減り、キャリブレーション時間を大幅に削減できる。環境変化に影響されやすいパラメータは設定範囲を比較的広く（例えば、現在の設定値の±3段階まで）、影響を受けにくいパラメータは設定範囲を比較的狭く（例えば、現在の設定値の±1段階まで）といったように、パラメータによってふり幅（設定範囲）を変えることで、パラメータ設定品質を高めつつ、時間短縮効果を上げることが可能である。
【００２６】
（２）キャリブレーション対象パラメータ数自体を削減してキャリブレーションを行う。この場合、複数のパラメータを環境変化に影響されやすいパラメータ、されにくいパラメータに分類し、影響されやすいパラメータのみについてキャリブレーションを行う。
（３）上記（１）と（２）キャリブレーションの組み合わせでさらにキャリブレーション時間を削減することができる。
【００２７】
ステップＳ１０７で行う詳細キャリブレーションは、フルキャリブレーションと上述の簡易キャリブレーションの間で、例えばオペレータがキャリブレーション項目を任意に選択できるようにすることができる。
なお、この詳細キャリブレーションを省略して、フルキャリブレーションと簡易キャリブレーションのみの処理とすることもできる。
【００２８】
以上、メモリ制御システムにおいて実行されるキャリブレーション実施手順を説明したが、これらの処理はキャリブレーション実施手順と命令を記録したコンピュータプログラムを作成し、これをメモリ制御システム部全体の制御を行うコンピュータ（図示せず）で実行することができる。
また、上記コンピュータプログラムは、コンピュータ読取可能なＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の周知の記録媒体に記録することができる。
【００２９】
本発明の実施形態について説明したが、その特徴をまとめると以下のとおりである。
（１）メモリ制御システムにおいて、メモリとメモリコントローラとの間のメモリ動作を決定する複数のパラメータを設定するメモリ制御システムにおいて、パラメータのキャリブレーション方法を複数備えるため、状況によってキャリブレーション内容を変えるので状況に応じたキャリブレーションを実施することができる。
（２）複数のキャリブレーション方法のうちの少なくとも1つが、他のキャリブレーション方法を簡易化したもの（以下簡易キャリブレーション）なので、簡易キャリブレーションを選択した場合には、キャリブレーション時間を短縮できる。
（３）前記簡易キャリブレーションが各パラメータの設定値候補を現在の設定値に近い値に絞ることができるため、つまり、例えば現在の設定値の±1段階の設定値に絞ることで、パラメータの組み合わせ数が大幅に減り、キャリブレーション時間を大幅に削減できる。
（４）前記詳細又は簡易キャリブレーションでは、キャリブレーションを行う対象パラメータの種類を限定するため、パラメータの組み合わせ数が一定程度或いは大幅に減り、キャリブレーション時間を一定程度或いは大幅に削減できる。
【符号の説明】
【００３０】
１０・・・メモリ制御部、２０・・・メモリコントローラ、３０・・・メモリ、１０１・・・計時手段、１０２・・・温度監視手段、１０３・・・電圧監視手段、１０４・・・キャリブレーション方法判定手段、１０５・・・パラメータ設定手段、１０６・・・設定値記憶手段、１０７・・・キャリブレーション方法記憶手段。
【先行技術文献】
【特許文献】
【００３１】
【特許文献１】特開２００３−９９３２１号公報
【図１】
2011059762.tif 000003
【図２】
2011059762.tif 000004
【図３】
2011059762.tif 000005
【図４】
2011059762.tif 000006