(57)【要約】【課題】  アクセス時間の冗長性を無くし、比較的簡易な構成でスループットを向上させる。【解決手段】  複数のＤＭＡ源１ａ〜１ｎからメモリ５へのアクセスを要求されたときに、調停回路３により所定の優先順位に従ってＤＭＡ源が選択され、メモリコントローラ４によって選択されたＤＭＡ源の要求に応じてメモリへのアクセスが実行される。そしてそのメモリへのアクセスが終了すると、第１のキュー６及び第２のキュー７に格納された識別データ及びバースト長を表すデータのセットが更新されて、次のＤＭＡ要求に応じたメモリへのデータアクセスが実行される。【選択図】  図１
2006048167.tif 000002
【特許請求の範囲】
【請求項１】
複数のＤＭＡ源から出力されるＤＭＡ要求信号及びバースト長を表す信号を受信し、該ＤＭＡ要求信号を出力したＤＭＡ源から所定の優先順位に従って１つのＤＭＡ源を選択し、選択したＤＭＡ源に対応した識別データ及び前記バースト長を表すデータを出力する調停回路と、
前記調停回路から出力された前記識別データ及び前記バースト長を表すデータに従って、メモリへのデータアクセスを実行するメモリコントローラと、を備え、
前記調停回路が、ＤＭＡ源から前記ＤＭＡ要求信号及び前記バースト長を表す信号を受信したときに、前記識別データ及び前記バースト長のデータのセットを複数格納する第１のキューを有し、
前記メモリコントローラが、前記調停回路から受信したアドレス信号及び前記バースト長のデータのセットを複数格納する第２のキューを有しており、
前記調停回路は、前記メモリコントローラからの前記メモリへのデータアクセスの終了を示す信号の受信に応じて、前記第１のキューに格納されたセットのデータをクリアして次のＤＭＡ源を選択し、
前記メモリコントローラは、前記メモリへのデータアクセスの終了に応じて、前記第２のキューに格納されたセットのデータをクリアして次のＤＭＡ源の要求する前記メモリへのアクセス動作を実行することを特徴とするメモリ制御回路。
【請求項２】
前記第１のキューに格納されるデータは、前記識別データ及び該ＤＭＡ源の要求したバースト長のデータを含み、１バイトであることを特徴とする請求項１に記載のメモリ制御回路。
【請求項３】
前記複数のＤＭＡ源が、前記ＤＭＡ要求信号を出力した後、前記調停回路から選択したことを示す信号を受信するまで、次のＤＭＡ要求信号を出力しないように制御するものと、
前記ＤＭＡ要求信号を出力した後、前記調停回路から選択したことを示す信号を受信する前に、次のＤＭＡ要求信号を出力するように制御するものとの２種類のＤＭＡ源を含むことを特徴とする請求項１又は２に記載のメモリ制御回路。
【請求項４】
前記メモリコントローラは、２の階乗に対応したバースト長で前記メモリへのデータアクセスを実行し、
前記調停回路が、前記ＤＭＡ源から２の階乗と異なるバースト長でのデータアクセスを要求されたときに、該データアクセスを２の階乗のバースト長でのデータアクセスに分割して前記識別データ及び前記バースト長を前記メモリコントローラへ出力する分割手段を備えることを特徴とする請求項１から３のいずれか１項に記載のメモリ制御回路。
【請求項５】
前記メモリがＳＤＲＡＭであることを特徴とする請求項１から４のいずれか１項に記載のメモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリ制御回路に関し、より詳細には、ＳＤＲＡＭを使用したメモリ制御回路におけるスループットの向上に関するものである。
【背景技術】
【０００２】
ＣＰＵなどの演算処理装置を搭載した機器には、記憶手段として半導体記憶素子が使用される。大容量の半導体記憶素子としてはＤＲＡＭが一般的であるが、近年はＣＰＵとクロックで同期を取って動作するＳＤＲＡＭ（Synchronous DRAM）が使用されることが多い。
【０００３】
ＳＤＲＡＭは、非同期で動作するＤＲＡＭを高速に動作させるために考案された記憶素子であり、その制御方法は、基本的にはＤＲＡＭと似ているが、同期用にクロック信号（ＣＬＫ）を使用すること、アクセスはコマンドによって行うこと、連続してデータのリード／ライトが可能なモード（バーストモード）を有すること、等の特徴を備えている。
【０００４】
図５は、標準的なＳＤＲＡＭへのアクセス例を示すタイミングチャートである。ここではバースト長（Burst Length：ＢＬ）＝２の場合を示す。
【０００５】
ＳＤＲＡＭへの実際のアクセス方法においてＳＤＲＡＭコントローラは、まず、ＡＣＴＶコマンドの発行と同時にＲＡＳ（Row Address Strobe）信号を出力し、次にＷＲＩＴＥＡ（書き込み）またはＲＥＡＤＡ（読み出し）コマンドの発行と同時にＣＡＳ（Column Address Strobe）信号を出力する。尚、以下の説明においては、特にことわらない限り、ＡＣＴＶコマンド後の１クロック（ＣＬＫ）で次のコマンドを受け付け可能とする。
【０００６】
このときＷＲＩＴＡであれば同時にデータバスラインに書き込むべきデータを出力し、ライト動作を行う。ＲＥＡＤＡである場合は、固有のディレイ値（ＣＡＳ  ＬＡＴＥＮＣＹ＝ＣＬ）分遅れた後、ＳＤＲＡＭよりリードデータが出力されるので、このデータを取り込む。
【０００７】
ところで、上記のＷＲＩＴＡ／ＲＥＡＤＡを利用する場合は、バースト回数が、バースト長（＝ＢＬ）で指定される値に固定されているため、任意の回数を実行しようとした場合、ＭＲＳコマンドを発行してＢＬ値を変更し、所望のバースト回数に到達するようにコマンドを組合わせて制御する必要があり、バースト回数の変更があると、トータルのスループットが低下してしまう。
【０００８】
そこで、一般に大規模なＤＭＡシステムでは、ＳＤＲＡＭコントローラが複数のＤＭＡ要求を蓄えておけるように、複数段のキューを持つことがある。
【０００９】
図３は、一般的なＤＭＡ制御回路の構成の一例を示したブロック図である。一般にＤＭＡ源はアプリケーションによって構成が異なり、一方、メモリコントローラ部はメモリの種類によって回路が異なるため、様々なアプリケーションや、メモリへの対応を容易にするため、アービトレーション部（アービタ回路）と、メモリコントローラ部は独立した構成をとるのが好ましい。
【００１０】
本例の場合、各ＤＭＡ源１ａ〜１ｎからアービタ回路３には、ＤＭＡ要求信号（ＤＲＥＱ＿１〜ＤＲＥＱ＿Ｎ）、及びアドレス信号（ＡＤＤＲＥＳＳ＿１〜ＡＤＤＲＥＳＳ＿Ｎ）、リード／ライトのどちらの要求であるかを示す信号（ＤＲ−ＷＸ＿１〜ＤＲ−ＷＸ＿Ｎ）、バースト回数を表す信号（ＤＢＳＴＮＵＭ＿１〜ＤＢＳＴＮＵＭ＿Ｎ）、ライトデータ用バス信号（ＤＷＲＤＡＴＡ＿１〜ＤＷＲＤＡＴＡ＿Ｎ）等の信号が出力される。
【００１１】
これに対して、アービタ回路３から各ＤＭＡ源には、負論理のＤＭＡ要求受諾信号（ＤＲＥＱＡＣＫＸ＿１〜ＲＥＱＡＣＫＸ＿Ｎ）、リードデータ用バス信号（ＤＲＤＤＡＴＡ＿１〜ＤＲＤＤＡＴＡ＿Ｎ）、負論理のメモリアクセス信号（ＤＴＡＣＫＸ＿１〜ＤＴＡＣＫ＿Ｎ）が出力される。
【００１２】
尚、本例では、全てのＤＭＡ源１ａ〜１ｎにＤＷＲＤＡＴＡ信号及びＤＲＤＤＡＴＡ信号が接続されているが、実際には各ＤＭＡ源は、リードまたはライトのどちらか一方しか行わない場合があり、その場合、使用しないデータバス信号は接続しなくてもよい。また、この図ではＳＤＲＡＭのリフレッシュを制御する回路が省略されている。
【００１３】
一方、アービタ回路３からＳＤＲＡＭコントローラ４へは、調停後のＤＭＡ要求信号（ＲＥＱ）、及び調停後のアドレス信号（ＡＤＲＳ）、調停後のリード／ライト識別信号（Ｒ−ＷＸ）、バースト回数を表す信号（ＢＳＴＮＵＭ）、ライトデータ用バス信号（ＷＲＤＡＴＡ）等の信号が出力される。
【００１４】
逆にＳＤＲＡＭコントローラ４からアービタ回路３には、リードデータ用バス信号（ＲＤＤＡＴＡ）、負論理のメモリアクセス信号（ＯＲＧ＿ＤＴＡＣＫＸ）が出力される。
【００１５】
上記のような構成をとり、アービタ回路３とＳＤＲＡＭコントローラ４の間のインターフェースを統一することにより、さまざまなアプリケーションやメモリへの対応が容易になる。
【００１６】
図４は、このような制御を行う場合のＤＭＡ制御回路全体の動きを示すタイミングチャートである。
【００１７】
ここでは、処理の流れとして最初に第１のＤＭＡ源１ａが単独で４バーストリードのＤＭＡ要求を発し、ＤＭＡの処理中に第２のＤＭＡ源１ｂが４バーストリードのＤＭＡ要求を発した場合を例として説明する。
【００１８】
Ｔ０においてアービタ回路３は、アービトレーション動作許可の状態で、各ＤＭＡ源からのＤＭＡ要求を待っている。
【００１９】
Ｔ１において第１のＤＭＡ源１ａは、ＤＭＡ制御情報を出力すると同時に、ＤＲＥＱ＿１を有効にする。アービタ回路３はＤＲＥＱ＿１の受信をＴ２中に確認すると、他のＤＭＡ源からＤＲＥＱが出力されているかを確認し、他のＤＭＡからＤＲＥＱが出力されている場合には、予め定められた優先順位に基づいて調停及び選択を行い、選択されたＤＭＡ源に関するＤＭＡ制御情報をラッチする。ただし、本例では、第１のＤＭＡ源１ａの優先順位が最も高く設定されており、他のＤＭＡ源からＤＲＥＱが出力されていた場合においても、第１のＤＭＡ源１ａが選択される。
【００２０】
その後Ｔ３にて、選択されたＤＭＡ源１ａに対してＤＲＥＱＡＣＫＸを返送する。同時に、ＳＤＲＡＭコントローラ４に対してラッチしたＤＭＡ制御情報を出力すると同時に、ＲＥＱを有効にする。そしてアービタ回路３はＤＭＡ要求の受付及び調停、選択の禁止状態に入る。
【００２１】
この結果、本例ではＴ６のタイミングで第２のＤＭＡ源１ｂよりＤＭＡ要求が出されているが、これを受け付けない。
【００２２】
ＲＥＱを受けたＳＤＲＡＭコントローラ４は、まず、Ｔ４にてＭＲＳコマンドの発行によって、バースト長（ＢＬ）を４に設定し、Ｔ５にてＡＣＴＶコマンドの発行によって、ローアドレスを出力し、次にＴ６にてＲＥＡＤコマンドの発行と同時にカラムアドレスを出力する。ＲＥＡＤの場合、ＣＬ（この例ではＣＬ＝２とする）分遅れた後、すなわちＴ８以降、ＳＤＲＡＭ５よりリードデータがＤＱ上に出力されるので、これを取り込む。なお、本例ではコマンドを発行しない場合にＮＯＰ状態としているが、これ以外にＤＥＳＬ、ＰＤなどの状態で待ってもよい。
【００２３】
取り込まれたデータは、一度ＳＤＲＡＭコントローラ４にてラッチされ、各ＤＭＡ源に返送される。データアクセス中は、これを各ＤＭＡ源が読み込めるようＯＲＧ＿ＤＴＡＣＫＸを有効にする。
【００２４】
ＯＲＧ＿ＤＴＡＣＫＸはアービタ回路３に返送され、アービタ回路３はこれを選択されたＤＭＡ源（第１のＤＭＡ源１ａ）に対して、即ちＤＴＡＣＫＸ＿１のみを有効（ローレベル）にする。
【００２５】
第１のＤＭＡ源１ａは、ＤＴＡＣＫＸ＿１が有効になるとそのタイミングのＲＤＤＡＴＡ＿１からデータを読み込む。
【００２６】
一方ＳＤＲＡＭコントローラ４は、所望の回数分（４回分）データアクセスを要求した後、Ｔ１０にてＰＲＥコマンドを発行する。その後次のＤＭＡ情報の待ち状態になる。
【００２７】
また、所望の回数分（４回分）のデータを読み込んだら、Ｔ１３にてＯＲＧ＿ＤＴＡＣＫＸ信号を無効（ハイレベル）にする。
【００２８】
アービタ回路３は、Ｔ１３におけるＯＲＧ＿ＤＴＡＣＫＸ信号の立ち上がりを検出したら、ＤＭＡ要求の受付、調停、及び選択の禁止状態をＴ１４にて解除する。
【００２９】
これで第１のＤＭＡ源１ａに対する一連のＤＭＡ制御が終了したことになる。この後第１のＤＭＡ源１ａは、ＤＭＡ処理ルーチンを終了し次のシーケンスを実行する。
【００３０】
一方アービタ回路３は、Ｔ１５において第２のＤＭＡ源１ｂのＤＲＥＱ＿２を新たに認識し、他のＤＭＡ源からＤＲＥＱが出力されているか確認し、出力されている場合には、予め定められた優先順位に基づいて調停及び選択を行い、選択された第２のＤＭＡ源１ｂからのＤＭＡ制御情報をラッチする。
【００３１】
その後Ｔ１６にて、選択されたＤＭＡ源（第２のＤＭＡ源１ｂ）に対してＤＲＥＱＡＣＫＸを返送する。
【００３２】
同時に、ＳＤＲＡＭコントローラ４に対してラッチしたＤＭＡ制御情報を出力し、ＲＥＱを有効にする。そしてアービタ回路３は再びＤＭＡ要求の受付及び調停、選択の禁止状態に入る。
【００３３】
ＲＥＱを受けたＳＤＲＡＭコントローラ４は、まず、Ｔ１７にてＭＲＳコマンドの発行によって、ＢＬを設定する。（ここではＢＬ＝４とする。）その後Ｔ１８にてＡＣＴＶコマンドの発行によって、ローアドレスを出力し、次にＴ１９にてＲＥＡＤコマンドの発行と同時にカラムアドレスを出力する。
【００３４】
その後Ｔ２１以降、ＳＤＲＡＭ５よりリードデータがＤＱ上に出力されるので、これを取り込む。さらに、ＳＤＲＡＭコントローラ４はＲＥＡＤコマンドを発行した後Ｔ２２にてＯＲＧ＿ＤＴＡＣＫＸ信号を有効（ローレベル）にする。その後Ｔ２６にて無効（ハイレベル）にする。
【００３５】
ＯＲＧ＿ＤＴＡＣＫＸはアービタ回路３に返送され、アービタ回路３はこれを選択されたＤＭＡ源（第２のＤＭＡ源１ｂ）に対して、即ちＤＴＡＣＫＸ＿２のみを有効にする。
【００３６】
またＳＤＲＡＭコントローラ４はＴ２３にてＰＲＥコマンドを発行する。
【００３７】
第２のＤＭＡ源１ｂは、ＳＤＲＡＭコントローラ４からＲＤＤＡＴＡとＤＴＡＣＫＸ＿２が返送されるまで待つ。ＤＴＡＣＫＸ＿２が有効（ローレベル）の時、ＲＤＤＡＴＡ＿２バス上のデータをラッチする。
【００３８】
アービタ回路３は、Ｔ２６でＯＲＧ＿ＤＴＡＣＫＸ信号の立ち上がりを検出したら、ＤＭＡ要求の受付、調停、及び選択の禁止状態をＴ２７より解除する。
【００３９】
上記で説明した従来例においては、アービタ回路３は遅滞なくＤＭＡ源からのＤＭＡ要求を処理しているが、ＳＤＲＡＭコントローラ４においては、Ｔ１１からＴ１６に見られるように何も処理を行なわない空白の期間が生じる。
【００４０】
そこで、より高度なＳＤＲＡＭコントローラにおいては、ＳＤＲＡＭコントローラ内にＤＭＡ情報を格納するキューを備え、１つの処理が終了すると、次のＤＭＡ情報に関するアドレスデータ等を格納するキューから読み出すことにより、空白の期間を短縮する制御を行うものもある。
【特許文献１】特開２００２−３３４０５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００４１】
回路規模の小さいシステムのＤＭＡ源においては、ＲＥＱの先出しは行わず、従って対応するアービタ回路も、一度あるＤＭＡ源からのＤＭＡ要求を受け付けたら、その他のＤＭＡ源からの要求は待機させることとなる。
【００４２】
このため上記のアービタ回路３においては、ＲＥＱを先出しするＤＭＡ源には対応できない。また、このようなＤＭＡ源に対応するために、アービタ回路３内にもＳＤＲＡＭコントローラ４と同様に、アドレスデータ等を格納するキューを設けることは冗長である。
【００４３】
昨今、比較的小規模なシステムにあわせて作られたＤＭＡ源を大規模なシステムに統合した構成として、コストダウンを図ることが考えられている。しかしながら、このような構成におけるアービタ回路はＤＭＡ源からのＲＥＱの先出しをサポートしていないため、各ＤＭＡ要求が離散的に来る場合には問題とはならないが、複数のＤＭＡ要求が重複する場合に、ＲＥＱが後に出力されたＤＭＡの開始が無駄に待たされることになるため、単純に接続すると全体のスループットを向上させることが困難となる。
【００４４】
本発明は以上のような状況に鑑みてなされたものであり、ＳＤＲＡＭの標準動作クロックよりも遅いクロックで動作するシステムにおいて、アクセス時間の冗長性を無くし、比較的簡易な構成でスループットを向上させることを目的とする。
【課題を解決するための手段】
【００４５】
上記目的を達成する本発明の一態様としてのメモリ制御回路は、複数のＤＭＡ源から出力されるＤＭＡ要求信号及びバースト長を表す信号を受信し、該ＤＭＡ要求信号を出力したＤＭＡ源から所定の優先順位に従って１つのＤＭＡ源を選択し、選択したＤＭＡ源に対応した識別データ及び前記バースト長を表すデータを出力する調停回路と、
前記調停回路から出力された前記識別データ及び前記バースト長を表すデータに従って、メモリへのデータアクセスを実行するメモリコントローラと、を備え、
前記調停回路が、ＤＭＡ源から前記ＤＭＡ要求信号及び前記バースト長を表す信号を受信したときに、前記識別データ及び前記バースト長のデータのセットを複数格納する第１のキューを有し、
前記メモリコントローラが、前記調停回路から受信したアドレス信号及び前記バースト長のデータのセットを複数格納する第２のキューを有しており、
前記調停回路は、前記メモリコントローラからの前記メモリへのデータアクセスの終了を示す信号の受信に応じて、前記第１のキューに格納されたセットのデータをクリアして次のＤＭＡ源を選択し、
前記メモリコントローラは、前記メモリへのデータアクセスの終了に応じて、前記第２のキューに格納されたセットのデータをクリアして次のＤＭＡ源の要求する前記メモリへのアクセス動作を実行する。
【００４６】
すなわち、本発明では、複数のＤＭＡ源から出力されるＤＭＡ要求信号及びバースト長を表す信号を受信し、ＤＭＡ要求信号を出力したＤＭＡ源から所定の優先順位に従って１つのＤＭＡ源を選択し、選択したＤＭＡ源に対応した識別データ及びバースト長を表すデータを出力する調停回路と、調停回路から出力された識別データ及びバースト長を表すデータに従って、メモリへのデータアクセスを実行するメモリコントローラと、を備えるメモリ制御回路において、調停回路に、ＤＭＡ源からＤＭＡ要求信号及びバースト長を表す信号を受信したときに、識別データ及びバースト長のデータのセットを複数格納する第１のキューを設け、メモリコントローラに、調停回路から受信したアドレス信号及びバースト長のデータのセットを複数格納する第２のキューを設け、調停回路は、メモリコントローラからのメモリへのデータアクセスの終了を示す信号の受信に応じて、第１のキューに格納されたセットのデータをクリアして次のＤＭＡ源を選択し、メモリコントローラは、メモリへのデータアクセスの終了に応じて、第２のキューに格納されたセットのデータをクリアして次のＤＭＡ源の要求するメモリへのアクセス動作を実行する。
【００４７】
このようにすると、複数のＤＭＡ源からメモリへのアクセスを要求されたときに、調停回路により所定の優先順位に従ってＤＭＡ源が選択され、選択されたＤＭＡ源の要求に応じてメモリへのアクセスが実行される。そしてそのメモリへのアクセスが終了すると、第１及び第２のキューに格納されたデータのセットが更新されて、次のＤＭＡ要求に応じたメモリへのデータアクセスが実行される。
【００４８】
従って、ＤＭＡによるメモリアクセス処理の切り換えに要する時間の冗長性を無くし、比較的簡易な構成でスループットを向上させることができる。
【００４９】
第１のキューに格納されるデータは、識別データ及び該ＤＭＡ源の要求したバースト長のデータを含み、１バイトであるのがよい。
【００５０】
複数のＤＭＡ源が、ＤＭＡ要求信号を出力した後、調停回路から選択したことを示す信号を受信するまで、次のＤＭＡ要求信号を出力しないように制御するものと、ＤＭＡ要求信号を出力した後、調停回路から選択したことを示す信号を受信する前に、次のＤＭＡ要求信号を出力するように制御するものとの２種類のＤＭＡ源を含んでいてもよい。
【００５１】
メモリコントローラが、２の階乗に対応したバースト長でメモリへのデータアクセスを実行するように構成されているとき、調停回路が、ＤＭＡ源から２の階乗と異なるバースト長でのデータアクセスを要求されたときに、該データアクセスを２の階乗のバースト長でのデータアクセスに分割して識別データ及びバースト長をメモリコントローラへ出力する分割手段を備えているのがよい。
【００５２】
メモリとしては、例えば、ＳＤＲＡＭを用いることができる。
【発明の効果】
【００５３】
本発明によれば、ＤＭＡによるメモリアクセス処理の切り換えに要する時間の冗長性を無くし、比較的簡易な構成でスループットを向上させることができる。
【発明を実施するための最良の形態】
【００５４】
以下に、添付図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００５５】
＜インクジェット記録装置の説明＞
図６は本発明に係るＤＭＡ制御回路を適用可能なインクジェット記録装置の構成の概要を示す外観斜視図である。
【００５６】
図６に示すように、インクジェット記録装置（以下、記録装置という）は、インクジェット方式に従ってインクを吐出して記録を行なう記録ヘッド１０３を搭載したキャリッジ１０２にキャリッジモータＭ１によって発生する駆動力を伝達機構１０４より伝え、キャリッジ１０２を矢印Ａ方向に往復移動させるとともに、例えば、記録紙などの記録媒体Ｐを給紙機構１０５を介して給紙し、記録位置まで搬送し、その記録位置において記録ヘッド１０３から記録媒体Ｐにインクを吐出することで記録を行なう。
【００５７】
また、記録ヘッド１０３の状態を良好に維持するためにキャリッジ１０２を回復装置１１０の位置まで移動させ、間欠的に記録ヘッド１０３の吐出回復処理を行う。
【００５８】
記録装置のキャリッジ１０２には記録ヘッド１０３を搭載するのみならず、記録ヘッド１０３に供給するインクを貯留するインクカートリッジ１０６を装着する。インクカートリッジ１０６はキャリッジ１０２に対して着脱自在になっている。
【００５９】
図６に示した記録装置はカラー記録が可能であり、そのためにキャリッジ１０２にはマゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のインクを夫々、収容した４つのインクカートリッジを搭載している。これら４つのインクカートリッジは夫々独立に着脱可能である。
【００６０】
さて、キャリッジ１０２と記録ヘッド１０３とは、両部材の接合面が適正に接触されて所要の電気的接続を達成維持できるようになっている。記録ヘッド１０３は、記録信号に応じてエネルギーを印加することにより、複数の吐出口からインクを選択的に吐出して記録する。特に、この実施形態の記録ヘッド３は、熱エネルギーを利用してインクを吐出するインクジェット方式を採用し、熱エネルギーを発生するために電気熱変換体を備え、その電気熱変換体に印加される電気エネルギーが熱エネルギーへと変換され、その熱エネルギーをインクに与えることにより生じる膜沸騰による気泡の成長、収縮によって生じる圧力変化を利用して、吐出口よりインクを吐出させる。この電気熱変換体は各吐出口のそれぞれに対応して設けられ、記録信号に応じて対応する電気熱変換体にパルス電圧を印加することによって対応する吐出口からインクを吐出する。
【００６１】
図６に示されているように、キャリッジ１０２はキャリッジモータＭ１の駆動力を伝達する伝達機構１０４の駆動ベルト１０７の一部に連結されており、ガイドシャフト１１３に沿って矢印Ａ方向に摺動自在に案内支持されるようになっている。従って、キャリッジ１０２は、キャリッジモータＭ１の正転及び逆転によってガイドシャフト１１３に沿って往復移動する。また、キャリッジ１０２の移動方向（矢印Ａ方向）に沿ってキャリッジ１０２の絶対位置を示すためのスケール１０８が備えられている。この実施形態では、スケール１０８は透明なＰＥＴフィルムに必要なピッチで黒色のバーを印刷したものを用いており、その一方はシャーシ１０９に固着され、他方は板バネ（不図示）で支持されている。
【００６２】
また、記録装置には、記録ヘッド１０３の吐出口（不図示）が形成された吐出口面に対向してプラテン（不図示）が設けられており、キャリッジモータＭ１の駆動力によって記録ヘッド１０３を搭載したキャリッジ１０２が往復移動されると同時に、記録ヘッド１０３に記録信号を与えてインクを吐出することによって、プラテン上に搬送された記録媒体Ｐの全幅にわたって記録が行われる。
【００６３】
さらに、図６において、１１４は記録媒体Ｐを搬送するために搬送モータＭ２によって駆動される搬送ローラ、１１５はバネ（不図示）により記録媒体Ｐを搬送ローラ１１４に当接するピンチローラ、１１６はピンチローラ１１５を回転自在に支持するピンチローラホルダ、１１７は搬送ローラ１１４の一端に固着された搬送ローラギアである。そして、搬送ローラギア１１７に中間ギア（不図示）を介して伝達された搬送モータＭ２の回転により、搬送ローラ１１４が駆動される。
【００６４】
またさらに、１２０は記録ヘッド１０３によって画像が形成された記録媒体Ｐを記録装置外ヘ排出するための排出ローラであり、搬送モータＭ２の回転が伝達されることで駆動されるようになっている。なお、排出ローラ１２０は記録媒体Ｐをバネ（不図示）により圧接する拍車ローラ（不図示）により当接する。１２２は拍車ローラを回転自在に支持する拍車ホルダである。
【００６５】
またさらに、記録装置には、図６に示されているように、記録ヘッド１０３を搭載するキャリッジ１０２の記録動作のための往復運動の範囲外（記録領域外）の所望位置（例えば、ホームポジションに対応する位置）に、記録ヘッド３の吐出不良を回復するための回復装置１１０が配設されている。
【００６６】
回復装置１１０は、記録ヘッド１０３の吐出口面をキャッピングするキャッピング機構１１１と記録ヘッド１０３の吐出口面をクリーニングするワイピング機構１１２を備えており、キャッピング機構１１１による吐出口面のキャッピングに連動して回復装置内の吸引手段（吸引ポンプ等）により吐出口からインクを強制的に排出させ、それによって、記録ヘッド１０３のインク流路内の粘度の増したインクや気泡等を除去するなどの吐出回復処理を行う。
【００６７】
また、非記録動作時等には、記録ヘッド１０３の吐出口面をキャッピング機構１１１によるキャッピングすることによって、記録ヘッド１０３を保護するとともにインクの蒸発や乾燥を防止することができる。一方、ワイピング機構１１２はキャッピング機構１１１の近傍に配され、記録ヘッド１０３の吐出口面に付着したインク液滴を拭き取るようになっている。
【００６８】
これらキャッピング機構１１１及びワイピング機構１１２により、記録ヘッド１０３のインク吐出状態を正常に保つことが可能となっている。
【００６９】
＜インクジェット記録装置の制御構成＞
図７は図６に示した記録装置の制御構成を示すブロック図である。
【００７０】
図７に示すように、コントローラ６００は、ＭＰＵ６０１、後述する制御シーケンスに対応したプログラム、所要のテーブル、その他の固定データを格納したＲＯＭ６０２、キャリッジモータＭ１の制御、搬送モータＭ２の制御、及び、記録ヘッド３の制御のための制御信号を生成する特殊用途集積回路（ＡＳＩＣ）６０３、画像データの展開領域やプログラム実行のための作業用領域等を設けたＲＡＭ６０４、ＭＰＵ６０１、ＡＳＩＣ６０３、ＲＡＭ６０４を相互に接続してデータの授受を行うシステムバス６０５、以下に説明するセンサ群からのアナログ信号を入力してＡ／Ｄ変換し、デジタル信号をＭＰＵ６０１に供給するＡ／Ｄ変換器６０６などで構成される。
【００７１】
また、図７において、６１０は画像データの供給源となるコンピュータ（或いは、画像読取り用のリーダやデジタルカメラなど）でありホスト装置と総称される。ホスト装置６１０と記録装置１との間ではインタフェース（Ｉ／Ｆ）６１１を介して画像データ、コマンド、ステータス信号等を送受信する。
【００７２】
さらに、６２０はスイッチ群であり、電源スイッチ６２１、プリント開始を指令するためのプリントスイッチ６２２、及び記録ヘッド３のインク吐出性能を良好な状態に維持するための処理（回復処理）の起動を指示するための回復スイッチ６２３など、操作者による指令入力を受けるためのスイッチから構成される。６３０はホームポジションｈを検出するためのフォトカプラなどの位置センサ６３１、環境温度を検出するために記録装置の適宜の箇所に設けられた温度センサ６３２等から構成される装置状態を検出するためのセンサ群である。
【００７３】
さらに、６４０はキャリッジ２を矢印Ａ方向に往復走査させるためのキャリッジモータＭ１を駆動させるキャリッジモータドライバ、６４２は記録媒体Ｐを搬送するための搬送モータＭ２を駆動させる搬送モータドライバである。
【００７４】
ＡＳＩＣ６０３は、記録ヘッド３による記録走査の際に、ＲＡＭ６０２の記憶領域に直接アクセスしながら記録ヘッドに対して記録素子（吐出ヒータ）の駆動データ（ＤＡＴＡ）を転送する。
【００７５】
＜ＤＭＡ制御回路＞
図１は、上記の記録装置に適用可能な、本発明に係るＤＭＡ制御回路の構成を示す概略ブロック図である。なお、本実施形態において、上記で図３に関して説明した従来例と同様な部分は同じ参照符号で示している。
【００７６】
すなわち、本実施形態のＤＭＡ制御回路は、ＤＭＡ源１ａ〜１ｎ、アービタ回路３及びＳＤＲＡＭコントローラ４を含むＤＭＡコントローラ２、及びＳＤＲＡＭ５から構成される。図７に示した制御構成との対応を説明すると、ＤＭＡコントローラ２及びＳＤＲＡＭ５が、図７のＲＡＭ６０４に対応し、ＤＭＡ源１ａ〜１ｎには図７のＭＰＵ６０１やＡＳＩＣ６０３が対応する。
【００７７】
第１から第Ｎの各ＤＭＡ源１ａ〜１ｎからアービタ回路３には、ＤＭＡ要求信号（ＤＲＥＱ＿１〜ＤＲＥＱ＿Ｎ）、及びアドレス信号（ＡＤＤＲＥＳＳ＿１〜ＡＤＤＲＥＳＳ＿Ｎ）、リード／ライトのどちらの要求であるかを示す信号（ＤＲ−ＷＸ＿１〜ＤＲ−ＷＸ＿Ｎ）、バースト回数を表す信号（ＤＢＳＴＮＵＭ＿１〜ＤＢＳＴＮＵＭ＿Ｎ）、ライトデータ用バス信号（ＤＷＲＤＡＴＡ＿１〜ＤＷＲＤＡＴＡ＿Ｎ）等の信号が出力される。
【００７８】
これに対して、アービタ回路３から各ＤＭＡ源には、負論理のＤＭＡ要求受諾信号（ＤＲＥＱＡＣＫＸ＿１〜ＲＥＱＡＣＫＸ＿Ｎ）、リードデータ用バス信号（ＤＲＤＤＡＴＡ＿１〜ＤＲＤＤＡＴＡ＿Ｎ）、負論理のメモリアクセス信号（ＤＴＡＣＫＸ＿１〜ＤＴＡＣＫ＿Ｎ）が出力される。
【００７９】
各ＤＭＡ源を識別するために、信号名の後に、第１のＤＭＡ源１ａについては＿１、第２のＤＭＡ源１ｂについては＿２、以下第ＮのＤＭＡ源１ｎについては＿Ｎのような符号をつける。
【００８０】
尚、本実施形態では、全てのＤＭＡ源１ａ〜１ｎにＤＷＲＤＡＴＡ信号及びＤＲＤＤＡＴＡ信号が接続されているが、実際には各ＤＭＡ源は、リードまたはライトのどちらか一方しか行わない場合があり、その場合、使用しないデータバス信号は接続しなくてもよい。また、この図ではＳＤＲＡＭのリフレッシュを制御する回路が省略されている。
【００８１】
一方、アービタ回路３からＳＤＲＡＭコントローラ４へは、調停後のＤＭＡ要求信号（ＲＥＱ）、及び調停後のアドレス信号（ＡＤＲＳ）、調停後のリード／ライト識別信号（Ｒ−ＷＸ）、バースト回数を表す信号（ＢＳＴＮＵＭ）、ライトデータ用バス信号（ＷＲＤＡＴＡ）等の信号が出力される。
【００８２】
逆にＳＤＲＡＭコントローラ４からアービタ回路３には、リードデータ用バス信号（ＲＤＤＡＴＡ）、負論理のメモリアクセス信号（ＯＲＧ＿ＤＴＡＣＫＸ）が出力される。
【００８３】
また、アービタ回路３にはＤＭＡ源を識別するデータとＢＳＴＮＵＭのデータを１つのセットとして、Ｎセット（本実施形態では２セットとする）格納可能なキュー６を備えている。
【００８４】
同様にＳＤＲＡＭコントローラ４内にも、アドレス信号（ＡＤＲＳ）によって表されるデータとバースト長のデータを１つのセットとして、Ｍセット（本実施形態では２セットとする）格納可能なキュー７を備えている。
【００８５】
本発明を実施する比較的小規模なシステムの場合、ＤＭＡ源の個数は１０から２０程度である。また、ＳＤＲＡＭのバースト長は１，２，４，８，２５６（フルコラムバースト）、が可能であるが、本発明を実施する比較的小規模なシステムの場合１，２，４，８で十分である。キュー６に格納される従って１セットの情報キューは、ＤＭＡ源を識別するために５ビット（ＤＭＡ源は最大３２個まで識別可能）、バースト長は３ビットで合計１バイトで十分である。
【００８６】
図２は、このような制御を行う場合のＤＭＡ制御回路全体の動きを示すタイミングチャートである。
【００８７】
なお、本実施形態の特徴を分かりやすく示すため、諸条件は上記で説明した従来例と同じであるとする。即ち、処理の流れとして最初に第１のＤＭＡ源１ａが単独で４バーストリードのＤＭＡ要求を発し、ＤＭＡの処理中に第２のＤＭＡ源１ｂが４バーストリードのＤＭＡ要求を発した場合を例として説明する。
【００８８】
本実施形態における詳細な制御の流れは以下の通りとなる。
【００８９】
Ｔ０においてアービタ回路３は、アービトレーション動作許可の状態で、各ＤＭＡ源からのＤＭＡ要求を待っている。
【００９０】
Ｔ１において第１のＤＭＡ源１ａは、ＤＭＡ制御情報を出力すると同時に、ＤＲＥＱ＿１を有効にする。
【００９１】
アービタ回路３はＤＲＥＱ＿１の受信をＴ２中に確認すると、他のＤＭＡ源からＤＲＥＱが出力されているかを確認し、他のＤＭＡ源からＤＲＥＱが出力されている場合には、予め定められた優先順位に基づいて調停及び選択を行い、選択されたＤＭＡ源に関するＤＭＡ制御情報をラッチする。ただし、本実施形態では、第１のＤＭＡ源１ａの優先順位が最も高く設定されており、他のＤＭＡ源からＤＲＥＱが出力されている場合においても、第１のＤＭＡ源１ａが選択される。
【００９２】
その後Ｔ３にて、選択されたＤＭＡ源１ａに対してＤＲＥＱＡＣＫＸを返送する。同時にＤＭＡ源の識別データ（＝１）とＢＳＴＮＵＭのデータ（＝２）をキュー６に格納する。
【００９３】
また同時に、ＳＤＲＡＭコントローラ４に対してラッチしたＤＭＡ制御情報を出力すると同時に、ＲＥＱを有効にする。そしてアービタ回路３はＤＭＡ要求の受付及び調停、選択の禁止状態に入る。
【００９４】
ＲＥＱを受けたＳＤＲＡＭコントローラ４は、まず、Ｔ４にてアドレス信号の表すデータと、ＢＳＴＮＵＭのデータをキュー７に格納する。同時にアービタ回路３に対してＲＥＱＡＣＫＸ信号を出力する。これにより、アービタ回路３はＤＭＡ要求の受付、調停、及び選択の禁止状態をＴ５より解除する。
【００９５】
ＳＤＲＡＭコントローラ４は、このデータのセットをＴ５で読み出す。次にＴ６にてＭＲＳコマンドの発行によって、ＢＬ＝４を設定し、Ｔ７にてＡＣＴＶコマンドの発行と、ローアドレスを出力する。
【００９６】
ＳＤＲＡＭコントローラ４は、次にＴ８にてＲＥＡＤコマンドの発行と同時にカラムアドレスを出力する。ＲＥＡＤの場合、ＣＬ（この例ではＣＬ＝２とする）分遅れた後、すなわちＴ１０以降ＳＤＲＡＭよりリードデータが出力されるので、これを取り込む。
【００９７】
取り込まれたデータは、一度ＳＤＲＡＭコントローラ４にてラッチされ、各ＤＭＡ源に返送される。データアクセス中は、これを各ＤＭＡ源が読み込めるようＯＲＧ＿ＤＴＡＣＫＸを有効にする。
【００９８】
ＯＲＧ＿ＤＴＡＣＫＸはアービタ回路３に返送され、アービタ回路３は、キュー６からＤＭＡ源の識別データを読み出し、このデータよりＤＭＡ源（第１のＤＭＡ源１ａ）に対して、ＤＴＡＣＫＸ＿１のみを有効（ローレベル）にする。
【００９９】
第１のＤＭＡ源１ａは、ＤＴＡＣＫＸ＿１が有効になるとそのタイミング（Ｔ１０〜Ｔ１３）においてＲＤＤＡＴＡ＿１からデータを読み込む。
【０１００】
一方、ＳＤＲＡＭコントローラ４は、所望の回数分（４回分）データアクセスを要求した後、Ｔ１２でＰＲＥコマンドの発行によってプリチャージを行う。
【０１０１】
その後、所望の回数分（４回分）のデータを読み込んだら、Ｔ１５にてＯＲＧ＿ＤＴＡＣＫＸ信号を無効（ハイレベル）にする。また同時にＳＤＲＡＭコントローラ４内のキュー７の１セット分のデータをクリアする。
【０１０２】
同様に、アービタ回路３は、２データ分のＯＲＧ＿ＤＴＡＣＫＸ信号を受信したら、ＤＴＡＣＫＸ＿１を無効にし、かつアービタ回路３内のキュー６の１セット分のデータを同じくクリアする。
【０１０３】
以上が、第１のＤＭＡ源１ａに対するＤＭＡ処理の流れである。
【０１０４】
次に、第２のＤＭＡ源１ｂへの応答であるが、アービタ回路３はＴ５で許可状態になるためＴ７において第２のＤＭＡ源１ｂのＤＲＥＱ＿２を認識し、他のＤＭＡ源からＤＲＥＱが出力されているか、さらに他のＤＭＡ源からＤＲＥＱが出力されている場合には、予め定められた優先順位に基づいて調停及び選択を行い、選択された第２のＤＭＡ源１ｂからのＤＭＡ制御情報をラッチする。
【０１０５】
その後Ｔ８にて、選択されたＤＭＡ源（第２のＤＭＡ源１ｂ）に対してＤＲＥＱＡＣＫＸを返送する。
【０１０６】
同時に、ＳＤＲＡＭコントローラ４に対してラッチしたＤＭＡ制御情報を出力し、ＲＥＱを有効にする。そしてアービタ回路３は再びＤＭＡ要求の受付及び調停、選択の禁止状態に入る。
【０１０７】
ＲＥＱを受けたＳＤＲＡＭコントローラ４は、キュー７にアドレスを示すデータとＢＳＴＮＵＭのデータを格納する。同時にアービタ回路３に対して、ＲＥＱＡＣＫＸ信号を返送する。
【０１０８】
ＲＥＱＡＣＫＸ信号を受けたアービタ回路３は、Ｔ１０にて禁止状態を解除する。
【０１０９】
一方、ＳＤＲＡＭコントローラ４は、Ｔ１２で第１のＤＭＡ源１ａからのＤＭＡ要求に対する処理を終わった後、Ｔ１３にてキュー６から第２のＤＭＡ源１ｂからのＤＭＡ要求に関するＤＭＡ情報を取得する。
【０１１０】
その後Ｔ１４からＭＲＳ，ＡＣＴＶ，ＲＥＡＤコマンドとアドレス情報を順次出力する。
【０１１１】
Ｔ１８よりＤＱに所望のデータが出力されるので、これをラッチし、ＲＤＤＡＴＡバスに出力する。また、Ｔ１９よりＴ２２までＯＲＧ＿ＤＴＡＣＫＸ信号を有効（ローレベル）にする。
【０１１２】
この間アービタ回路３は、キュー６より得たデータに基づいてＤＴＡＣＫＸ＿２を有効にする。
【０１１３】
第２のＤＭＡ源１ｂは、ＤＴＡＣＫＸ＿２が有効な間、ＲＤＤＡＴＡ＿２上のデータを読み込む。
【０１１４】
その後、所望の回数分（４回分）のデータを読み込んだら、Ｔ１５にてＯＲＧ＿ＤＴＡＣＫＸ信号を無効（ハイレベル）にする。また同時にＳＤＲＡＭコントローラ４内のキュー７の１セット分のデータをクリアする。
【０１１５】
同様に、アービタ回路３は４データ分のＯＲＧ＿ＤＴＡＣＫＸ信号を受信したら、ＤＴＡＣＫＸ＿２を無効にし、かつアービタ回路３内のキュー６の１セット分のデータを同じくクリアする。
【０１１６】
以上で一連の処理が終了するが、上記で図３及び４に関連して説明した従来例においてはＴ０からＴ２７までの期間を要していたのに比べ、本実施形態では同じ処理を行なうのにＴ０からＴ２３までの期間しか要さず、空白期間が短縮されている。
【０１１７】
以上説明したように本実施形態によれば、アービタ回路とＳＤＲＡＭコントローラ内にＤＭＡ源を識別するデータとバースト長のデータのセットを複数格納可能なキューを備え、これを利用することにより、ＤＭＡ源がＲＥＱの先出し制御をサポートしていない場合でも、同様の制御を行うことが可能となり、スループットを向上することができる。
【０１１８】
また、本実施形態におけるアービタ回路が備えるキューは、一般的なＳＤＲＡＭコントローラに設けられるキューのようにアドレスデータを格納しない。一般的にアドレスバスデータは２０ビット前後だが、ＤＭＡ源を識別するデータ及びバースト長のデータはそれぞれ４ビット程度あれば十分であるため、小規模の回路変更で、大きな効果が得られる。
【０１１９】
更に、本実施形態のような回路構成で、上記の制御を行うことにより、先出し制御を行なうＤＭＡ源と先出しを行わないＤＭＡ源とを混在させることが可能となる。
【０１２０】
＜変形例＞
上記の実施形態では、第１及び第２のＤＭＡ源から要求するデータ数は、ちょうどバースト長で設定できる値（１，２，４，８）であったが、もしそれ以外のデータ数に対する要求についても処理効率を向上させるように、アービタ回路３内に、適切なバースト長に分割する手段を設け、分割されたＤＭＡ要求をキューに格納するようにしても良い。
【０１２１】
たとえば、データ数６の要求に対して、アービタ回路内で４と２に分割して、これを２つのＤＭＡ要求として、キュー６に格納するようにすれば、上記実施形態と同様にＤＭＡ処理を高速に（無駄な待ち時間なしに）行うことができる。
【０１２２】
この場合、ＳＤＲＡＭコントローラ４においても、分割したＤＭＡ情報を受信する度に、キュー７に格納するようにする。
【０１２３】
＜他の実施形態＞
本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２４】
また、本発明は上記の実施形態で説明した構成に限定されず、本発明の主旨から逸脱しない限り様々な変更や修正を加えた形態とすることができる。
【図面の簡単な説明】
【０１２５】
【図１】本発明に係るＤＭＡ制御回路の概略構成を示すブロック図である。
【図２】図１のＤＭＡ制御回路における処理例のタイミングチャートである。
【図３】従来例のＤＭＡ制御回路の概略構成を示すブロック図である。
【図４】図３のＤＭＡ制御回路における処理例のタイミングチャートである。
【図５】標準的なＳＤＲＡＭへのアクセス例を示すタイミングチャートである。
【図６】本発明のＤＭＡ制御回路を適用可能なインクジェット記録装置の構成の概要を示す外観斜視図である。
【図７】図６の記録装置の制御回路の構成を示すブロック図である。
【符号の説明】
【０１２６】
１ａ〜１ｎ  ＤＭＡ源
２  ＤＭＡコントローラ
３  アービタ回路
４  ＳＤＲＡＭコントローラ
５  ＳＤＲＡＭ
６、７  キュー
【図１】
2006048167.tif 000003
【図２】
2006048167.tif 000004
【図３】
2006048167.tif 000005
【図４】
2006048167.tif 000006
【図５】
2006048167.tif 000007
【図６】
2006048167.tif 000008
【図７】
2006048167.tif 000009