(57)【要約】【課題】  最適な駆動電流によりメモリを制御し、メモリを安定動作させる。【解決手段】  ＣＰＵ３から出力されたセレクトデータＤ１の値に応じてクロックの駆動電流の値を変更するクロック制御部１００と、駆動電流毎に、主記憶装置２に対しデータの書き込み、書き込んだデータを読み出すことができたか否かを判定し、この判定を基に、最適な駆動電流を決定するＣＰＵ２００とを備える。【選択図】      図２
2005276114.tif 000002
【特許請求の範囲】
【請求項１】
クロックに同期して動作するメモリを制御するメモリ制御装置であって、
前記クロックの駆動電流の値を変更する駆動電流変更手段と、
前記駆動電流変更手段によって、その値が変更された駆動電流を用いて前記メモリにデータを書き込み、書き込まれたデータを読み出すことができたか否かを判定する判定手段と、
前記判定手段による判定結果を基に、前記クロックの駆動電流の値を決定する決定手段とを備えることを特徴とするメモリ制御装置。
【請求項２】
前記決定手段は、前記判定手段によって、書き込まれたデータを読み出すことができたと判定された複数の駆動電流の値の中間値を前記クロックの駆動電流の値として決定することを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記メモリ制御装置は、前記メモリ制御装置が適用されるシステムの初期化時に、前記クロックの駆動電流の値を決定することを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項４】
前記メモリ制御装置は、前記クロックの駆動電流の値の決定を周期的に行うことを特徴とする請求項１〜３のいずれかに記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックによって同期して動作するメモリを制御するメモリ制御装置に関する。
【背景技術】
【０００２】
近年、コンピュータ等のＣＰＵを備える装置においては、ＣＰＵ及びメモリ間を接続するバスラインのクロックに同期（シンクロ）してデータの入出力を高速に行うことができるＳＤＲＡＭ（Synchronous Random Access Memory）がメモリとして広く用いられている。このＳＤＲＡＭに供給されるクロックは、例えばマザーボード上のチップセットに内蔵されたメモリコントローラ（メモリ制御装置）によって出力タイミング等が調節され、ＳＤＲＡＭに出力される。また、ＳＤＲＡＭは、ＤＩＭＭ等のメモリモジュールに搭載され市販されており、ユーザは、マザーボード上に配設されたＤＩＭＭスロットにＤＩＭＭを差し込むことでＳＤＲＡＭの実装を容易に行うことができる。
【０００３】
ところで、実装されるＤＩＭＭの個数が変動した場合、ＳＤＲＡＭにクロックを供給するクロックライン等の負荷容量が変動し、個数を変動する前の駆動電流の大きさでは、メモリを動作させることができなくなるという問題があった。
【０００４】
そこで、従来のメモリ制御装置では、接続されたメモリモジュールの個数に応じて、ＳＤＲＡＭに供給するクロックの駆動電流の大きさを調節することが行なわれていた。また、ＳＤＲＡＭに供給するクロックを調整する技術として、クロックを遅延させるものも知られている（特許文献１）。
【特許文献１】特開平１１−２５０２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、負荷容量は、メモリモジュールの接続個数のみならず、メモリモジュールの製品間でのバラツキ、経年的使用、並びに、環境等の他の要因によっても変動しうるため、単に、メモリモジュールの接続個数により駆動電流の大きさを決定するだけでは、負荷容量に応じた最適な駆動電流でメモリを動作させることができず、メモリを安定動作させることができないという問題があった。
【０００６】
本発明は、かかる課題を解決するためになされたものであり、最適な駆動電流によりメモリを制御し、メモリを安定動作させることができるメモリ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るメモリ制御装置は、クロックに同期して動作するメモリを制御するメモリ制御装置であって、前記クロックの駆動電流の値を変更する駆動電流変更手段と、前記駆動電流変更手段によって、その値が変更された駆動電流を用いて前記メモリにデータを書き込み、書き込まれたデータを読み出すことができたか否かを判定する判定手段と、前記判定手段による判定結果を基に、前記クロックの駆動電流の値を決定する決定手段とを備えることを特徴とする。
【０００８】
また、前記決定手段は、前記判定手段によって、書き込まれたデータを読み出すことができたと判定された複数の駆動電流の値の中間値を前記クロックの駆動電流の値として決定することが好ましい。
【０００９】
また、前記メモリ制御装置は、前記メモリ制御装置が適用されるシステムの初期化時に、前記クロックの駆動電流の値を決定することが好ましい。
【００１０】
また、前記メモリ制御装置は、前記クロックの駆動電流の値の決定を周期的に行うことが好ましい。
【発明の効果】
【００１１】
請求項１記載の発明によれば、駆動電流変更手段により、駆動電流が変化されていき、判定手段により、正常にデータを書き込むことができたか否かの判定が行なわれ、決定手段により、この判定結果を用いてクロックライン等の負荷容量等の大きさに応じた最適な駆動電流の値が決定される。そのため、メモリは最適な駆動電流のクロックによって制御され、リードライト等の処理を正常に行うことができ、メモリを安定動作させることができる。
【００１２】
請求項２記載の発明によれば、メモリに書き込んだデータを読み出すことができたと判定された駆動電流の値の中間値が、最適な駆動電流の値として決定されるため、その後、負荷容量が変動しても、設定した駆動電流の値が、メモリを正常に動作させることができる範囲内に入っている確率を高くすることができる。
【００１３】
請求項３記載の発明によれば、メモリ制御装置が適用されるシステムの初期化時に、最適な駆動電流の値が決定されているため、メモリが増設等されても、初期化を行なえば、メモリを最適な駆動電流で制御することができる。
【００１４】
請求項４記載の発明によれば、最適な駆動電流の値の決定が周期的に行なわれるため、負荷容量の変動が頻繁に発生する場合においても、メモリを安定に動作させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明にかかる主メモリ制御装置をプリンタ、デジタル複合機、複写機等の画像形成装置に適用したときのブロック図を示している。本画像形成装置は、メモリ制御装置１、主記憶装置２、制御部３、画像取得部４、印字部５、操作部６及び表示部７を備えている。
【００１６】
メモリ制御装置１は、主記憶装置２にクロックを供給し、主記憶装置２を制御するものであり、クロック制御部１００、ＣＰＵ２００及び判定結果記憶部３００を備えている。主記憶装置２は、３個のメモリモジュール２１，２２，２３から構成され、各々、バスライン８を介してメモリ制御装置１と接続されている。バスライン８は、アドレスバス８１、データバス８２、クロックライン８３及びコントロールバス８４を備えている。クロックライン８３は、クロック制御部１００と接続され、クロック制御部１００からのクロックをメモリモジュール２１〜２３に出力する。メモリモジュール２１〜２３は、ＤＩＭＭ等のメモリモジュールであり、クロックに同期して動作するＳＤＲＡＭが搭載されている。各メモリモジュール２１〜２３は、マザーボード上に配設されたＤＩＭＭ（Dual In-Line Memory Module）スロットを介してアドレスバス８１、データバス８２、クロックライン８３及びコントロールバス８４と接続されている。マザーボードは、複数のＤＩＭＭスロット備えており、ユーザは、ＤＩＭＭスロットにメモリモジュールを抜き差しすることにより、メモリモジュールの増設等を容易に行うことができる。
【００１７】
ＣＰＵ２００及び判定結果記憶部３００は、バスライン９を介してクロック制御部１００に接続されている。ＣＰＵ２００は、図略のＲＯＭに記憶された主記憶装置２を制御するためのプログラムを実行して主記憶装置２を制御する。判定結果記憶部３００は、例えばＲＡＭ等の半導体記憶素子で構成され、後述する判定結果テーブルを記憶する。
【００１８】
制御部３、画像取得部４、印字部５、操作部６及び表示部７は、バスライン１０を介してメモリ制御装置１と接続されている。制御部３は、画像形成装置全体を制御するものである。画像取得部４は、スキャナにより読み取られた原稿の画像データ及び通信ネットワークを介して接続された端末装置から送信された画像データを取得する。印字部５は、感光体ドラム、現像装置及び定着装置等を備え、画像取得部４により取得された画像データの画像を記録紙に印字する。操作部６は、タッチパネル及び操作キーから構成され、ユーザが種々の操作指令を入力するために用いられる。表示部７は、タッチパネルから構成され、種々の操作ボタンや、種々の操作画面を表示する。
【００１９】
図２はクロック制御部１００の詳細な構成を示したブロック図である。クロック制御部１００は、クロック生成部１１０、セレクタ１２０及び８個のバッファ１３１〜１３８を備えている。クロック生成部１１０は、水晶発振器等を備え、所定周波数のクロックを生成し、クロックライン８３を介して主記憶装置２に出力する。ここで、クロック生成部１１０の外部に水晶発振器が設けられている場合、クロック生成部１１０は、水晶発振器からの信号を受信して、クロックを生成してもよい。
【００２０】
バッファ１３１〜１３８は、同一構成であるため、バッファ１３１のみ説明する。バッファ１３１は、例えば、制御端子１３１ａを備えるスリーステートバッファから構成され、クロック生成部１１０からのクロックに応じて、例えば１ｍＡの駆動電流を出力し、主記憶装置２にクロックを供給する。また、バッファ１３１は、制御端子１３１ａを介してセレクタ１２０からＨ（ハイレベル）のセレクタ信号Ｓ１を受信したとき、クロックライン８３をドライブし、一方、制御端子１３１ａを介してセレクタ１２０からＬ（ローレベル）のセレクタ信号Ｓ１を受信したとき、クロックライン８３をドライブしない。
【００２１】
セレクタ１２０は、８個のセレクタ端子Ａ〜Ｈを備え、各々、セレクタライン１４１〜１４８を介して制御端子１３１ａ〜１３８ａと接続されている。このセレクタ１２０は、ＣＰＵ２００から出力されたセレクトデータＤ１をデコードし、デコード結果に応じて、制御端子１３１ａ〜１３８ａの各々に、Ｈ（ハイレベル）又はＬ（ローレベル）のセレクタ信号Ｓ１〜Ｓ８を出力する。
【００２２】
本実施の形態では、セレクタ１２０は、セレクトデータＤ１が１増加する毎に、ドライブするバッファの数を１つずつ増やしていくため、クロックライン８３には、“１”〜“８”のセレクトデータＤ１に各々対して、１〜８ｍＡの駆動電流が流れることとなる。
【００２３】
例えば、セレクタ１２０は、“０”のセレクトデータＤ１が入力されたとき、セレクタ信号Ｓ１をＨとし、かつ、セレクタ信号Ｓ２〜Ｓ８をＬとするため、クロックライン８３は、バッファ１３１によってドライブされ、主記憶装置２には、１ｍＡの駆動電流によるクロックが供給される。
【００２４】
また、セレクタ１２０は、“１”のセレクトデータＤ１が入力されたとき、セレクタ信号Ｓ１，Ｓ２をＨとし、かつ、セレクタ信号Ｓ３〜Ｓ８をＬとするため、クロックライン８３は、バッファ１３１，１３２によってドライブされ、主記憶装置２には、２ｍＡ（＝１ｍＡ＋１ｍＡ）の駆動電流によるクロックが供給される。
【００２５】
本実施の形態では、クロック制御部１００がメモリ制御装置に相当し、主記憶装置２がメモリに相当し、クロック制御部１００が駆動電流変更手段に相当し、ＣＰＵ２００が判定手段及び決定手段に相当する。
【００２６】
図３は、メモリ制御装置１が最適な駆動電流を設定する手順を示したフローチャートである。このフローチャートは、画像形成装置に電源が投入された時、若しくは、画像形成装置がリセットされた時に実行されるとともに、電源投入後、周期的に実行される。周期的に実行される場合のインターバルは、一定であってもよいし、使用年数、又は、ユーザの設定によって可変されるものであってもよい。まず、ステップＳ１において、ＣＰＵ２００は、セレクタ１２０に“０”のセレクトデータＤ１を入力する。この時、クロックライン８３には１ｍＡ駆動電流が流れる。
【００２７】
ステップＳ２において、ＣＰＵ２００は、主記憶装置２の所定のアドレスＸに所定のデータＹを書き込む。この場合、ＣＰＵ２００は、１箇所のアドレスＸにデータＹを書き込んでも良いし、複数箇所のアドレスＸ１〜Ｘｎに同一のデータＹを書き込んでも良いし、アドレスＸ１〜Ｘｎ毎に異なるデータＹ１〜Ｙｎを書き込んでも良い。データＹ、Ｙ１〜Ｙｎとしては、処理の簡略化及び高速化の観点から、例えば１つのアドレスに格納しうるサイズのデータを採用することが好ましい。
【００２８】
ステップＳ３において、ＣＰＵ２００は、アドレスＸに書き込んだデータＹを主記憶装置２から読み出す。この場合、読み出されたデータＹは、ＣＰＵ２００が備えるレジスタ等に格納される。また、ＣＰＵ２００は、複数のアドレスＸ１〜Ｘｎに複数のデータＹ１〜Ｙｎを書き込んだ場合は、これら複数のデータＹ１〜Ｙｎを読み出す。
【００２９】
ステップＳ４において、ＣＰＵ２００は、ステップＳ２で書き込んだデータＹと、ステップＳ３で読み出したデータＹとが一致するか否かを判定し、一致した場合、そのとき出力された駆動電流の値により、主記憶装置２を動作させることができると判定し、一方、一致しない場合、そのときの出力される駆動電流の値では、主記憶装置２を動作させることができないと判定する。そして、ＣＰＵ２００は、主記憶装置２を動作することができるか否かの判定結果をセレクトデータＤ１の値と対応づけて判定結果記憶部３００に記憶する。
【００３０】
ステップＳ５において、ＣＰＵ２００は、セレクトデータＤ１が７未満であるか否かを判定し、７未満の場合（ステップＳ５でＮＯ）、セレクトデータＤ１に１を加算し（ステップＳ７）、ステップＳ２に処理を戻す。一方、ステップＳ５において、ＣＰＵ２００が、セレクトデータＤ１の値が７であると判定した場合（ステップＳ５でＹＥＳ）、処理をステップＳ６に進める。
【００３１】
上記ステップＳ２〜Ｓ５の処理が繰り返し実行されることにより、駆動電流は１ｍＡから８ｍＡまで１ｍＡずつ増加されていき、セレクトデータＤ１毎に主記憶装置２を動作することができたか否かを示す判定結果テーブルが作成される。
【００３２】
ステップＳ６において、ＣＰＵ２００は、判定結果テーブルを参照し、主記憶装置２を動作させることができるセレクトデータＤ１が複数存在する場合、その中心のセレクトデータＤ１を、最適なセレクトデータＤ１として決定する。例えば、主記憶装置２を駆動することができるセレクトデータＤ１が０〜２であった場合、１が、最適なセレクトデータＤ１として決定される。
【００３３】
なお、判定結果テーブルにおいて、主記憶装置２を動作させることができるセレクトデータＤ１が１つしかない場合、そのセレクトデータＤ１が、最適なセレクトデータとして決定される。また、主記憶装置２を動作させることができるセレクトデータＤ１の数が偶数個である場合、中間にある２つのセレクトデータＤ１のうち、いずれか一方のセレクトデータＤ１が、最適なセレクトデータとして決定される。そして、主記憶装置２は、決定されたセレクトデータＤ１に対応する駆動電流により制御される。
【００３４】
以上説明したように、メモリ制御装置１によれば、セレクトデータＤ１が順次増大され、セレクトデータＤ１毎に、主記憶装置２を動作することができたか否かの判定が行なわれ、判定結果テーブルが作成され、この判定結果テーブルから、最適なセレクトデータＤ１が決定されるため、クロックライン８３の負荷容量の値に応じて最適な駆動電流を決定することができる。そのため、主記憶装置２は、負荷容量に応じて最適な駆動電流によって制御され、データのリードライト処理等の精度が高まり、安定動作することができる。
【００３５】
また、上記一連の動作が画像形成装置の電源投入時又はリセット時に行われるため、ＤＩＭＭスロットに新たにメモリモジュールが差し込まれ、主記憶装置２の構成が変更された場合であっても、主記憶装置２は、最適な駆動電流の値で制御されることとなる。
【００３６】
さらに、上記一連の動作が一定期間毎に行なわれているため、環境の変化によって、クロックライン８３の負荷容量が変動した場合であっても、主記憶装置２は、最適な駆動電流の値により制御されることとなる。
【００３７】
なお、本発明は、以下の態様を採用してもよい。
【００３８】
（１）上記実施の形態では、セレクタ１２０は、最適な駆動電流を決定するにあたり、駆動電流の刻み幅を１ｍＡとしたが、これに限定されず、刻み幅を１ｍＡ未満としてもよいし、１ｍＡより大きな値にしてもよい。また、例えば、駆動電流が１〜３Ａまでは、１ｍＡの刻み幅とし、４〜６ｍＡまでは、０．５ｍＡというように、駆動電流の値に応じて刻み幅を適宜変更してもよい。
【００３９】
（２）上記実施の形態では、本発明にかかるメモリ制御装置を画像形成装置に適用した場合を例に挙げて説明したが、これに限定されず、パーソナルコンピュータ等に適用してもよい。
【００４０】
（３）上記実施の形態では、駆動電流の変動範囲を１ｍＡ〜８ｍＡとしたが、これに限定されず、変動範囲をこの範囲よりも小さくしてもよいし、大きくしてもよい。
【図面の簡単な説明】
【００４１】
【図１】本発明にかかるメモリ制御装置をプリンタ、デジタル複合機、複写機等の画像形成装置に適用したときのブロック図を示している。
【図２】クロック制御部の詳細な構成を示したブロック図である。
【図３】メモリ制御装置が最適な駆動電流を設定する手順を示したフローチャートである。
【符号の説明】
【００４２】
１  メモリ制御装置
２  主記憶装置
８  ９  １０  バスライン
２１  ２２  ２３  メモリモジュール
８１  アドレスバス
８２  データバス
８３  クロックライン
８４  コントロールバス
１００  クロック制御部
１１０  クロック生成部
１２０  セレクタ
１３１〜１３８  バッファ
１４１〜１４８  セレクタライン
２００  ＣＰＵ
３００  判定結果記憶部
【図１】
2005276114.tif 000003
【図２】
2005276114.tif 000004
【図３】
2005276114.tif 000005