(57)【要約】【課題】簡易な方法で、メモリへのアクセス効率を向上させる技術を提供する。【解決手段】本出願のメモリコントローラ１２３は、ＳＤＲＡＭ１１３を制御するメモリコントローラであって、マスタからＳＤＲＡＭ１２３内のページへのアクセス要求を受け付ける受付手段と、各マスタのアクセス要求周期を記録する記録手段と、受け付けたアクセス要求を出したマスタに応じて、記録手段に記録されたアクセス要求周期に基づくページのオープン期間を設定し、設定されたオープン期間の間、アクセス要求がされたページをオープンにする処理を行うページオープン手段と、を備える。【選択図】図２
2010072792.tif 000002
【特許請求の範囲】
【請求項１】
ＳＤＲＡＭを制御するメモリ制御回路であって、
マスタから前記ＳＤＲＡＭ内のページへのアクセス要求を受け付ける受付手段と、
各マスタのアクセス要求周期を記録する記録手段と、
前記受付手段で受け付けたアクセス要求を出したマスタに応じて、前記記録手段に記録されたアクセス要求周期に基づくページのオープン期間を設定し、設定された当該オープン期間の間、当該アクセス要求がされたページをオープンにする処理を行うページオープン手段と、
を備えることを特徴とするメモリ制御回路。
【請求項２】
ＳＤＲＡＭと当該ＳＤＲＡＭを制御するメモリ制御回路とを搭載した電子機器制御装置であって、
前記メモリ制御回路は、
マスタからの前記ＳＤＲＡＭ内のページへのアクセス要求を受け付ける受付手段と、
各マスタのアクセス要求周期を記録する記録手段と、
前記受付手段で受け付けたアクセス要求を出したマスタに応じて、前記記録手段に記録されたアクセス要求周期に基づくページのオープン期間を設定し、設定された当該オープン期間の間、当該アクセス要求されたページをオープンにする処理を行うページオープン手段と、を備える、
ことを特徴とする電子機器制御装置。
【請求項３】
請求項２に記載した前記電子機器制御装置を搭載し、印刷機能、ファクシミリ機能、スキャナ機能、コピー機能のうち少なくとも２つの機能を備えた複合機。
【請求項４】
ＳＤＲＡＭを制御するメモリ制御回路であって、
マスタから前記ＳＤＲＡＭ内のページへのアクセス要求を受け付ける受付手段と、
各マスタから各ページへのアクセス要求周期を記録する記録手段と、
前記受付手段で受け付けたアクセス要求を出したマスタと、当該アクセス要求がされたページと、に応じて、前記記録手段に記録されたアクセス要求周期に基づくページのオープン期間を設定し、設定された当該オープン期間の間、当該アクセス要求されたページをオープンにする処理を行うページオープン手段と、
を備えることを特徴とするメモリ制御回路。
【請求項５】
ＳＤＲＡＭと当該ＳＤＲＡＭを制御するメモリ制御回路とを搭載した電子機器制御装置であって、
前記メモリ制御回路は、
マスタから前記ＳＤＲＡＭ内のページへのアクセス要求を受け付ける受付手段と、
各マスタから各ページへのアクセス要求周期を記録する記録手段と、
前記受付手段で受け付けたアクセス要求を出したマスタと、当該アクセス要求がされたページと、に応じて、前記記録手段に記録されたアクセス要求周期に基づくページのオープン期間を設定し、設定された当該オープン期間の間、当該アクセス要求されたページをオープンにする処理を行うページオープン手段と、を備える、
ことを特徴とする電子機器制御装置。
【請求項６】
請求項５に記載した前記メモリ制御回路電子機器制御装置を搭載し、印刷機能、ファクシミリ機能、スキャナ機能、コピー機能のうち少なくとも２つの機能を備えた複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＲＡＭ等のメモリを制御する技術に関する。
【背景技術】
【０００２】
情報機器におけるＳＤＲＡＭの一般的な制御として、同一ページへの連続アクセスの場合には、アクセス単位でページクローズせずにページオープンのまま連続アクセス（ページモードアクセス）がなされる。
【０００３】
例えば、特許文献１には、ページモードアクセス時のメモリ制御技術について記載されている。
【特許文献１】特開平９−１７１４８４号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、情報機器における処理速度をさらに向上させるためには、メモリへのアクセス効率を一層向上させる必要がある。
【０００５】
本発明は、簡易な方法で、メモリへのアクセス効率を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本願発明は、ＳＤＲＡＭを制御するメモリ制御回路であって、マスタから前記ＳＤＲＡＭ内のページへのアクセス要求を受け付ける受付手段と、各マスタのアクセス要求周期を記録する記録手段と、前記受付手段で受け付けたアクセス要求を出したマスタに応じて、前記記録手段に記録されたアクセス要求周期に基づくページのオープン期間を設定し、設定された当該オープン期間の間、当該アクセス要求がされたページをオープンにする処理を行うページオープン手段と、を備える。
【０００７】
また、各マスタから各ページへのアクセス要求周期を記録する記録手段を備え、前記受付手段で受け付けたアクセス要求を出したマスタと、当該アクセス要求がされたページと、に応じて、前記記録手段に記録されたアクセス要求周期に基づくページのオープン期間を設定してもよく、当該メモリ制御回路を備えた電子機器制御装置や複合機なども含む。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態の一例を図面を参照して説明する。
【０００９】
図１は、本発明の一実施形態が適用された印刷システム１０のハードウェア構成の一例を示す図である。図示するように、印刷システム１０は、プリンタ１００と、情報処理装置２００と、を備えている。
【００１０】
情報処理装置２００は、不図示の、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、ＲＯＭ（Read Only Memory）と、ハードディスクと、ディスプレイ等の表示装置と、キーボードやマウス等からなる入力装置と、プリンタ１００とデータの送受信を行う通信インタフェースと、などを備えた一般的なコンピュータで実現される。
【００１１】
情報処理装置２００上には、印刷対象の画像データを生成するアプリケーション機能や、プリンタ１００を制御するプリンタドライバ機能等の各種機能が構築される。各種機能は、情報処理装置２００が備えるＲＯＭなどからＲＡＭにロードされたコンピュータプログラムを、ＣＰＵが実行することにより構築される。
【００１２】
プリンタ１００は、図示するように、プリンタ１００における処理を制御するプリンタコントローラ１１０と、印刷媒体への印刷を実行する印刷エンジン１２０と、を備えている。ただし、プリンタ１００は、画像読取装置やＦＡＸ機器などと一体化した複合機であってもよい。
【００１３】
プリンタコントローラ１１０は、ＣＰＵ１１１と、メモリ制御ＡＳＩＣ１１２と、ＳＤＲＡＭ１１３と、Ｉ／Ｏ（Input/Output）制御ＡＳＩＣ１１４と、を備え、各種画像処理（モアレ処理、エッジ処理）などを含む印刷機能を実現する。ただし、プリンタコントローラ１１０は、この構成に限定されず、例えば、ＣＰＵ１１１をメモリ制御ＡＳＩＣ１１２に内蔵させてもよい。また、プリンタコントローラ１１０が実現する機能は、印刷機能に限定されず、プリンタ１００を複合機として機能させるために、例えば、印刷機能、ファクシミリ機能、スキャナ機能、コピー機能のうち、少なくとも２つの機能を実現するようにしてもよい。
【００１４】
ＣＰＵ１１１は、メモリ制御ＡＳＩＣ１１２を介してＳＤＲＡＭ１１３にアクセスし、各種データの読み書きを行うことで各種処理を実行する。ここで、ＣＰＵ１１１が実行する各種処理は、所定の処理単位で行われる。以下では、ＣＰＵ１１１で実行される処理単位を「マスタ」とよび、例えば、画像処理に関しては、モアレ処理、エッジ処理などの各処理を１つのマスタとする。そして、ＣＰＵ１１１は、ＳＤＲＡＭ１１３にアクセスするためのアクセス要求を、メモリ制御ＡＳＩＣ１１２に対して出す。
【００１５】
メモリ制御ＡＳＩＣ１１２は、ＣＰＵ１１１からＳＤＲＡＭ１１３へのアクセスを制御する。ただし、メモリ制御ＡＳＩＣ１１２は、情報処理装置２００からＳＤＲＡＭ１１３への直接的な（ＣＰＵ１１１を介さない）アクセスを制御するようにしてもよい。
【００１６】
図２は、メモリ制御ＡＳＩＣ１１２のハードウェア構成の一例を示す図である。図示するように、メモリ制御ＡＳＩＣ１１２は、ＣＰＵインタフェース１２１と、調停回路１２２と、メモリコントローラ１２３と、を備えている。
【００１７】
ＣＰＵインタフェース１２１は、ＣＰＵ１１１（情報処理装置２００を含む）からのアクセス要求を受け付け、調停回路１２２に通知する。
【００１８】
調停回路１２２は、通知されたアクセス要求を受け付け、メモリコントローラ１２３に通知する。ここで、調停回路１２２は、複数のアクセス要求を同タイミングで受け付けた場合には、１つのアクセス要求を選択してメモリコントローラ１２３に通知する制御を行う。
【００１９】
メモリコントローラ１２３は、調停回路１２２からアクセス要求を受け付けると、ＳＤＲＡＭ１１３に対して所定のコマンドを発行して、アクセス要求に基づくアクセス制御を行う。
【００２０】
具体的には、メモリコントローラ１２３は、アクセス要求を受け付ける毎に、当該アクセス要求が同一ページ（その時点でオープンしているページ）へのアクセス要求であるか否か判定する。
【００２１】
メモリコントローラ１２３は、同一ページへのアクセス要求ではないと判定した場合には、アクセス要求がされたページをオープンするためのアクティブコマンドをＳＤＲＡＭ１１３に発行して、コマンド処理（リードライトコマンドの発行）を行う。一方、同一ページへのアクセス要求であると判定した場合には、アクティブコマンドを発行せずに、コマンド処理を行う。
【００２２】
そして、メモリコントローラ１２３は、同一ページへのアクセス要求か否かにかかわらず、アクセス要求を受け付けてから所定の期間（以下では、「オープン期間」とよぶ）が経過すると、オープンしているページをクローズするためのプリチャージコマンドをＳＤＲＡＭ１１３に発行する。
【００２３】
従って、メモリコントローラ１２３は、オープン期間が経過する前に同一ページへのアクセス要求があった場合には、プリチャージコマンドと、アクティブコマンドを発行せずに、連続してＳＤＲＡＭ１１３に読み書き（リードライトコマンドの発行）を行うことができる。しかし、オープン期間が経過すると、メモリコントローラ１２３は、プリチャージコマンドを発行してページをクローズするため、その後に同一ページへのアクセス要求を受け付けた場合には、再度、アクティブコマンドを発行する必要がある。
【００２４】
メモリコントローラ１２３は、プリチャージコマンドを発行した後に、同一ページへのアクセス要求を受け付けるような事態（ページヒットのミス）が発生する確率を低下させるために、受け付けたアクセス要求に応じてオープン期間を可変にする。
【００２５】
具体的には、メモリコントローラ１２３は、マスタごとに割り当てたレジスタを備え、アクセス要求を受け付ける毎に、同一マスタのアクセス要求の周期（以下では、「アクセス要求周期」とよぶ）をマスタごとに算出し、記憶（更新）する。
【００２６】
そして、メモリコントローラ１２３は、アクセス要求を受け付けたときに、当該アクセス要求のマスタに対応するレジスタからアクセス要求周期を読み出して、オープン期間に設定する。これにより、アクセス要求周期に応じた可変のオープン期間をマスタごとに設定できる。
【００２７】
ここで、メモリコントローラ１２３によるアクセス要求周期の算出方法としては、例えば、（１）累積平均値を用いてアクセス要求周期を算出する方法や、（２）直近の記録値を用いてアクセス要求周期を算出する方法などがある。各方法の詳細については後述する。
【００２８】
次に、ＳＤＲＡＭ１１３は、メモリコントローラ１２３が制御を行うメモリである。図示するように、ＳＤＲＡＭ１１３は、同一のロウアドレス（Row Address）で指定される、複数（Ｍ個）のページ（記憶領域）を有しており、ＳＤＲＡＭ１１３へのアクセスは、ページ単位で行われる。なお、ＳＤＲＡＭ１１３は、ＳＤＲＡＭに限定されず、例えば、ページモードアクセス機能を有するＤＲＡＭ等のメモリであってもよい。
【００２９】
図１に戻り、Ｉ／Ｏ制御ＡＳＩＣ１１４は、外部機器（情報処理装置２００など）とのデータの送受信を制御する。
【００３０】
印刷エンジン１２０は、給紙機構や印字機構を備え、ＣＰＵ１１１が生成した印刷データの印刷を実行する。
【００３１】
次に、上記構成からなる印刷システム１０におけるプリンタ１００の特徴的な動作について説明する。図３は、プリンタ１００が行うアクセス要求周期の算出処理について説明するフローチャートである。以下には、上記の（１）累積平均値を用いてアクセス要求周期を算出する場合と、上記の（２）直近の記録値を用いてアクセス要求周期を算出する場合について、別個に説明する。また、図５は、アクセス制御処理中においてメモリコントローラ１２３で入出力される信号（データ）の波形例を示す図である。
【００３２】
＜上記の（１）の累積平均値を用いる場合＞
図３に示すように、プリンタ１００の電源が投入されると、メモリコントローラ１２３は、アクセス要求周期の算出処理を開始する。
【００３３】
アクセス要求周期の算出処理を開始すると、メモリコントローラ１２３は、調停回路１２２などを介して、ＣＰＵ１１１からのアクセス要求を受け付けるまで待機する（ステップＳ１０１；Ｎｏ）。
【００３４】
ここで、メモリコントローラ１２３は、アクセス要求を受け付けたか否かの判定を、調停回路１２２から供給される所定の信号（ＭＥＭ＿ＲＥＱＸ）に基づいて行う。図５に示すように、メモリコントローラ１２３は、例えば、アクセス要求がないときにはＨｉｇｈ（有効値）のＭＥＭ＿ＲＥＱＸの信号が供給されており、Ｌｏｗ（無効値）であるＭＥＭ＿ＲＥＱＸの信号が供給されると、アクセス要求を受け付けたと判定する。また、図示するように、メモリコントローラ１２３は、アクセス要求（ＭＥＭ＿ＲＥＱＸ）を受け付けるとともに、アクセス要求するページ（ＳＤＲＡＭ１１３）のアドレスデータ（ＭＥＭ＿ＡＤＲ）と、当該ページに書き込むデータ（ＭＥＭ＿ＤＡＴＡ）などの入力を受け付ける。
【００３５】
図３に戻り、メモリコントローラ１２３は、アクセス要求を受け付けると（ステップＳ１０１；Ｙｅｓ）、受け付けたアクセス要求についてのアクセス要求周期を算出する（ステップＳ１０２）。
【００３６】
具体的には、まず、メモリコントローラ１２３は、電源投入時から前回にアクセス要求（ステップＳ１０１で受け付けた今回のアクセス要求は含まない）を受け付けた時までの、アクセス要求周期についての累積平均値（以下では、「過去の累積平均値」とよぶ）を取得する。例えば、メモリコントローラ１２３は、ステップＳ１０１で受け付けたアクセス要求のマスタを特定し、特定したマスタに対応するレジスタの値を読み出す。ただし、初期設定では、当該レジスタには「０」の値が格納されている。
【００３７】
次に、メモリコントローラ１２３は、前回にアクセス要求を受け付けてから、再び（今回）、同一マスタのアクセス要求を受け付けるまでの周期（以下では、「直近周期」とよぶ）を取得する。例えば、メモリコントローラ１２３は、アクセス要求を受け付ける毎に、メモリコントローラ１２３に備わるカウンタなどを用いてカウントを開始し、同一マスタのアクセス要求を再び受け付けるまでカウント（カウンタ値をインクリメント）を続ける。ただし、カウントしているカウンタ値が所定の上限値（例えば、１００クロック数など）を超えた場合には、カウントを停止してカウンタ値を無効にする。
【００３８】
そして、メモリコントローラ１２３は、電源投入時から今回アクセス要求を受け付けた時までの、アクセス要求周期についての累積平均値を算出する。例えば、メモリコントローラ１２３は、先に取得した過去の累積平均値（レジスタの値）と、先に取得した直近周期（カウンタ値）と、の平均値（レジスタの値とカウンタ値の和を２で除した値）を求める。これを数式で示すと、Ｐｎ＝（Ｐｎ−１＋Ｃ）／２となる。ここで、Ｐｎは最新の累積平均値を表し、Ｐｎ−１は前回に算出した累積平均値（レジスタの値）を表し、Ｃは直近周期（カウンタ値）を表す。
【００３９】
その後、メモリコントローラ１２３は、ステップＳ１０２で算出した累積平均値を、ステップＳ１０１で受け付けたアクセス要求のマスタに対応するレジスタに記憶（更新）する（ステップＳ１０３）。ここで、レジスタに記録した値は、ステップＳ１０１で受け付けたアクセス要求によるアクセスページ（ＳＤＲＡＭ１１３）のオープン期間となる。
【００４０】
記憶後、メモリコントローラ１２３は、カウンタ値をリセット（「０」に戻す）してから、処理をステップＳ１０１に戻し、ＣＰＵ１１１からのアクセス要求毎に、マスタごとの累積平均値（アクセス要求周期）を算出し、更新する。
【００４１】
これにより、メモリコントローラ１２３は、過去の累積平均値を用いて、各マスタのアクセス要求周期（最新の累積平均値）を算出し、記録することができる。なお、算出したアクセス要求周期については、図５の矢印で示す期間（算出値）に該当する。
【００４２】
なお、上記のステップＳ１０２では、アクセス要求周期についての累積平均値を、過去の累積平均値（レジスタの値）と直近周期（カウンタ値）から求めているが、これに限定されない。例えば、メモリコントローラ１２３は、アクセス要求を受け付けた回数をマスタごとに記録しておく。そして、メモリコントローラ１２３は、当該回数を、電源投入時（或いは、最初にアクセス要求を受け付けた時）からの経過時間（カウンタでカウントした総カウント値）で除すことによって、各マスタのアクセス要求周期についての累積平均値を算出してもよい。これを数式で示すと、Ｐｎ＝ＣＴｏｔａｌ／Ｎとなる。ここで、Ｐｎは最新の累積平均値を表し、ＣＴｏｔａｌは総カウント値を表し、Ｎはアクセス要求を受け付けた回数を表す。
【００４３】
＜上記の（２）直近の記録値を用いる場合＞
ステップＳ１０１の処理については、上記の（１）の累積平均値を用いる場合と同様のの処理を行う。
【００４４】
ステップＳ１０２に移行すると、メモリコントローラ１２３は、まず、前回にアクセス要求を受け付けてから、再び（今回）、同一マスタのアクセス要求を受け付けるまでの周期（直近周期）を取得する（ステップＳ１０２）。これは、上記の（１）の累積平均値を用いる場合と同様の方法で取得する。
【００４５】
そして、メモリコントローラ１２３は、取得した直近周期（カウンタ値）を、ステップＳ１０１で受け付けたアクセス要求のマスタに対応するレジスタに記憶（更新）する（ステップＳ１０３）。
【００４６】
記憶後、メモリコントローラ１２３は、カウンタ値をリセット（「０」に戻す）してから、処理をステップＳ１０１に戻し、ＣＰＵ１１１からのアクセス要求毎に、マスタごとのアクセス要求周期を算出し、更新する。
【００４７】
これにより、メモリコントローラ１２３は、直近周期（直近の記録値）を用いて、各マスタのアクセス要求周期を算出し、記録することができる。なお、算出したアクセス要求周期については、図５の矢印で示す期間（算出値）に該当する。
【００４８】
なお、メモリコントローラ１２３は、ステップＳ１０３において、上記（１）又は（２）の方法で算出したアクセス要求周期に、所定の値（α）を加算した値を、最終的なアクセス要求周期として、レジスタに記憶してもよい。
【００４９】
これによって、実際のアクセス要求周期の平均値よりも長いアクセス要求周期をレジスタに記憶することになるため、レジスタに記憶した値をアクセスページについてのオープン期間として用いれば、ページヒットしやすくなる。なお、所定の値（α）については、図５の矢印で示す期間（＋α）に該当し、最終的なアクセス要求周期については、図５の下段の矢印で示す期間（算出値＋α）に該当する。
【００５０】
次に、プリンタ１００における別の特徴的な動作について説明する。図４は、プリンタ１００が行うアクセス制御処理について説明するフローチャートである。
【００５１】
アクセス要求周期の算出処理と同様に、メモリコントローラ１２３は、プリンタ１００の電源が投入されると、アクセス制御処理を開始する。
【００５２】
アクセス制御処理を開始すると、メモリコントローラ１２３は、調停回路１２２などを介して、ＣＰＵ１１１からのアクセス要求を受け付けるまで待機する（ステップＳ２０１；Ｎｏ）。
【００５３】
メモリコントローラ１２３は、アクセス要求を受け付けると（ステップＳ２０１；Ｙｅｓ）、ステップＳ２０１でアクセス要求がされたページ（ＳＤＲＡＭ１１３）のオープン期間を設定する（ステップＳ２０２）。具体的には、メモリコントローラ１２３は、まず、ステップＳ２０１で受け付けたアクセス要求のマスタを特定し、特定したマスタに対応するレジスタの値を読み出して、アクセス要求周期を取得する。そして、メモリコントローラ１２３は、取得したアクセス要求周期を、アクセス要求がされたページ（ＳＤＲＡＭ１１３）のオープン期間として設定する。
【００５４】
続いて、メモリコントローラ１２３は、ステップＳ２０１でアクセス要求がされたページが、ステップＳ２０１の時点においてオープンしているページ（プリチャージ処理がなされていないページ）と同一ページであるか否か判定する（ステップＳ２０３）。なお、ステップＳ２０１の時点においてオープンしているページがない場合には、同一ページへのアクセス要求ではないと判定する。
【００５５】
メモリコントローラ１２３は、同一ページへのアクセス要求ではないと判定した場合には（ステップＳ２０３；Ｎｏ）、オープンしているページをクローズ（プリチャージ処理）する（ステップＳ２０４）。具体的には、メモリコントローラ１２３は、プリチャージコマンドをＳＤＲＡＭ１１３に発行する。なお、オープンしているページがない場合には、ステップＳ２０３の処理を省略して、処理をステップＳ２０５に移行する。
【００５６】
そして、メモリコントローラ１２３は、ステップＳ２０１でアクセス要求されたページ（ＭＥＭ＿ＡＤＲ）をオープン（アクティブ処理）する（ステップＳ２０５）。具体的には、メモリコントローラ１２３は、アクティブコマンドをＳＤＲＡＭ１１３に発行する。なお、アクティブコマンドの発行（ＡＣＴ）のタイミングの一例を、図５に示しておく。
【００５７】
メモリコントローラ１２３は、ページをオープンした後、当該ページに対して読み書き（コマンド処理）を行う（ステップＳ２０６）。具体的には、メモリコントローラ１２３は、リードライトコマンドをＳＤＲＡＭ１１３に発行する。例えば、メモリコントローラ１２３は、データを書き込む場合には、リードライトコマンドを発行後に、アクセス要求（ＭＥＭ＿ＲＥＱＸ）とともに受け付けたデータ（ＭＥＭ＿ＤＡＴＡ）を、ステップＳ２０１でアクセス要求されたページ（ＳＤＲＡＭ１１３）に書き込む（ＲＡＭ＿ＤＡＴＡ）。また、データを読み出す場合には、リードライトコマンドを発行後に、ステップＳ２０１でアクセス要求されたページ（ＳＤＲＡＭ１１３）からデータを読み出す。なお、リードライトコマンドの発行（ＷＲ）のタイミングの一例を、図５に示しておく。
【００５８】
ところで、ステップＳ２０３において、メモリコントローラ１２３は、同一ページへのアクセス要求と判定した場合には（ステップＳ２０３；Ｙｅｓ）、プリチャージ処理（ステップＳ２０４）、アクティブ処理（ステップＳ２０５）を行わず、処理をステップＳ２０６に移行して、コマンド処理（ステップＳ２０６）を行う。これにより、ページヒットが発生した場合に効率よくＳＤＲＡＭ１１３に対してデータの読み書きを行うことができる。
【００５９】
また、メモリコントローラ１２３は、ステップＳ２０１でアクセス要求を受け付けてから、ステップＳ２０２で設定したオープン期間が経過したか否か判定する（ステップＳ２０７）。例えば、メモリコントローラ１２３は、ステップＳ２０１でアクセス要求を受け付ける毎に、メモリコントローラ１２３に備わるカウンタなどを用いてカウントを開始し、カウント中のカウンタ値が、ステップＳ２０２で設定したオープン期間を超えない限り（ステップＳ２０７；Ｎｏ）、次のアクセス要求を受け付けるまでカウント（カウンタ値をインクリメント）を続ける（ステップＳ２０８；Ｎｏ）。
【００６０】
一方、メモリコントローラ１２３は、カウント中のカウンタ値が、ステップＳ２０２で設定したオープン期間を超えた場合には（ステップＳ２０７；Ｎｏ）、オープンしているページをクローズ（プリチャージ処理）する（ステップＳ２０９）。具体的には、メモリコントローラ１２３は、プリチャージコマンドをＳＤＲＡＭ１１３に発行する。その後、メモリコントローラ１２３は、アクセス制御処理を終了して、処理をステップＳ２０１に戻す。
【００６１】
また、メモリコントローラ１２３は、ステップＳ２０７、ステップＳ２０８においてカウント中のカウンタ値が、ステップＳ２０２で設定したオープン期間を超えないうちに、次のアクセス要求を受け付けた場合には（ステップＳ２０８；Ｙｅｓ）、処理をステップＳ２０２に戻す。
【００６２】
以上のようなアクセス制御処理により、本実施形態のメモリコントローラ１２３は、算出したアクセス要求周期に応じてページのオープン期間を定めているため、ページヒットの確率を高めることができる。
【００６３】
例えば、図６は、従来通り、固定値のオープン期間を用いる場合において、メモリコントローラ１２３で入出力される信号（データ）の波形例を示す図である。図示するように、従来においては、固定値のオープン期間（矢印で示す期間）が経過すると、プリチャージコマンド（ＰＲＥ）を発行してページをクローズしている。そのため、同一ページへのアクセス要求の周期が長い場合には、ページをクローズした後、再度、同一ページをオープンさせ（アクティブコマンドを発行し）なければならず、オーバーヘッドが起こる。
【００６４】
これに対して、本実施形態のメモリコントローラ１２３は、図５に示すように、可変のオープン期間を設定しているため、同一ページへのアクセス要求の周期が長くなる場合であっても、オーバーヘッドは起こらない（点線の円）。
【００６５】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【００６６】
例えば、上記実施形態では、アクセス要求周期の算出処理において、マスタごとにアクセス要求周期を算出している。しかし、本発明は、これに限定されない。例えば、同一マスタが同一ページにアクセス要求する周期を算出するようにしてもよい。具体的には、メモリコントローラ１２３は、マスタの数（Ｎ）に、ページ数（Ｍ）を乗じた個数のレジスタを備え、アクセス要求を受け付ける毎に、アクセス要求のマスタ、及び、アクセス要求されたページを特定し、特定したマスタ及びページごとにアクセス要求周期を算出する。そして、メモリコントローラ１２３は、特定したマスタ及びページに対応するレジスタに、アクセス要求周期を記憶（更新）する。また、ステップＳ２０２において、メモリコントローラ１２３は、受け付けたアクセス要求のマスタ、及び、アクセス要求されたページを特定し、特定したマスタ及びページに対応するレジスタの値を読み出して、オープン期間を設定する。これによって、上記実施形態と比較して、同一ページにアクセス要求がされる周期に、より対応したオープン期間を設定することができる。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態に係る印刷システムのハードウェア構成図である。
【図２】メモリ制御ＡＳＩＣのハードウェア構成図である。
【図３】アクセス要求周期の算出処理を示すフローチャートである。
【図４】アクセス制御処理を示すフローチャートである。
【図５】アクセス制御処理においてメモリコントローラで入出力される信号（データ）の波形例を示す図である。
【図６】従来のアクセス制御処理においてメモリコントローラで入出力される信号（データ）の波形例を示す図である。
【符号の説明】
【００６８】
１０・・・印刷システム、１００・・・プリンタ、１１０・・・プリンタコントローラ、１１１・・・ＣＰＵ、１１２・・・メモリ制御ＡＳＩＣ、１１３・・・ＳＤＲＡＭ、１１４・・・Ｉ／Ｏ制御ＡＳＩＣ、１２０・・・印刷エンジン、１２１・・・ＣＰＵインタフェース、１２２・・・調停回路、１２３・・・メモリコントローラ。
【図１】
2010072792.tif 000003
【図２】
2010072792.tif 000004
【図３】
2010072792.tif 000005
【図４】
2010072792.tif 000006
【図５】
2010072792.tif 000007
【図６】
2010072792.tif 000008