(57)【要約】【課題】メモリ（例えば、ＳＤＲＡＭ）に対する実行的なデータ転送効率を向上させることができる、メモリ制御装置を提供することを目的とする。【解決手段】本発明に係るメモリ制御装置１００は、ＢＡＮＫ／ＲＯＷアドレス比較部７と、リフレッシュ要求生成部８とを備えている。ＢＡＮＫ／ＲＯＷアドレス比較部７は、ＳＤＲＡＭ３００に対するアクティブＲＯＷ情報ＡＲ内の第一のアドレスと、メモリアクセス要求内の第二のアドレスとを比較する回路である。また、リフレッシュ要求生成部８は、ＢＡＮＫ／ＲＯＷアドレス比較部７の比較結果に応じて、ＳＤＲＡＭ３００に対するリフレッシュ要求を生成する回路である。【選択図】図４
2006004464.tif 000002
【特許請求の範囲】
【請求項１】
メモリのアクティブ状況を示すアクティブ情報内の第一のアドレスと、メモリアクセス要求内の第二のアドレスとを比較するアドレス比較部と、
前記アドレス比較部の比較結果に応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、
備えることを特徴とするメモリ制御装置。
【請求項２】
メモリに対するアクセスがないアイドルサイクルを検出するアイドルサイクル検出部と、
前記アイドルサイクル検出部のアイドルサイクルの検出に応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、
備えることを特徴とするメモリ制御装置。
【請求項３】
平均リフレッシュ間隔値を保持する平均リフレッシュ間隔設定部と、
サイクル数が増加するに連れてカウント値を減少させ、前記リフレッシュ要求に基いて、前記メモリのリフレッシュ処理が行われたときは、前記カウンタ値に前記平均リフレッシュ間隔値を加算されるカウンタと、をさらに備えている、
ことを特徴とする請求項１または請求項２に記載のメモリ制御装置。
【請求項４】
所定の閾値を保持する閾値設定部と、
前記所定の閾値と前記カウンタのカウント値とを比較する比較部と、をさらに備えており、
前記リフレッシュ要求生成部は、
前記アドレス比較部の比較結果と、前記比較部の比較結果とに応じて、リフレッシュ要求を生成する、
ことを特徴とする請求項１に記載のメモリ制御装置。
【請求項５】
前記閾値設定部は、
第一の閾値を保持する第一の閾値設定部と、
前記第一の閾値より大きな値の第二の閾値を保持する第二の閾値設定部と、を備えており、
前記比較部は、
第一の閾値と前記カウント値とを比較する第一の比較部と、
第二の閾値と前記カウント値とを比較する第二の比較部と、を備えている、
ことを特徴とする請求項４に記載のメモリ制御装置。
【請求項６】
前記リフレッシュ要求生成部は、
前記第二の比較部での比較の結果、前記カウンタ値が第二の閾値よりも大きいときは、リフレッシュ要求は生成しない、
ことを特徴とする請求項５に記載のメモリ制御装置。
【請求項７】
前記リフレッシュ要求生成部は、
前記第二の比較部での比較の結果、前記カウンタ値が第二の閾値以下であり、かつ、前記第一の比較部での比較の結果、前記カウンタ値が第一の閾値よりも大きいときには、前記アドレス比較部での比較の結果、前記第一のアドレスのＢＡＮＫアドレスおよびＲＯＷアドレスが、前記第二のアドレスのＢＡＮＫアドレスおよびＲＯＷアドレスと、それぞれ一致する場合には、リフレッシュ要求は生成せず、
前記第二の比較部での比較の結果、前記カウンタ値が第二の閾値以下であり、かつ、前記第一の比較部での比較の結果、前記カウンタ値が第一の閾値よりも大きいときには、前記アドレス比較部での比較の結果、前記第一のアドレスのＢＡＮＫアドレスまたはＲＯＷアドレスが、前記第二のアドレスのＢＡＮＫアドレスまたはＲＯＷアドレスと、一致しない場合には、リフレッシュ要求を生成する、
ことを特徴とする請求項５または請求項６に記載のメモリ制御装置。
【請求項８】
前記リフレッシュ要求生成部は、
前記第一の比較部での比較の結果、前記カウンタ値が第一の閾値以下のときは、リフレッシュ要求を生成する、
ことを特徴とする請求項５ないし請求項７のいずれかに記載のメモリ制御装置。
【請求項９】
所定の閾値を保持する閾値設定部と、
前記所定の閾値と前記カウンタのカウント値とを比較する比較部と、をさらに備えており、
前記リフレッシュ要求生成部は、
前記アイドルサイクル検出部のアイドルサイクルの検出と、前記比較部の比較結果とに応じて、リフレッシュ要求を生成する、
ことを特徴とする請求項２に記載のメモリ制御装置。
【請求項１０】
前記リフレッシュ要求生成部は、
前記比較部での比較の結果、前記カウンタ値が前記所定の閾値よりも大きいときは、リフレッシュ要求は生成しない、
ことを特徴とする請求項９に記載のメモリ制御装置。
【請求項１１】
前記リフレッシュ要求生成部は、
前記比較部での比較の結果、前記カウンタ値が前記所定の閾値以下であり、かつ、前記アイドルサイクル検出部が前記アイドルサイクルを検出したときには、前記リフレッシュ要求を生成し、
前記比較部での比較の結果、前記カウンタ値が前記所定の閾値以下であり、かつ、前記アイドルサイクル検出部が前記アイドルサイクルを検出しないときには、前記リフレッシュ要求を生成しない、
ことを特徴とする請求項９または請求項１０に記載のメモリ制御装置。
【請求項１２】
受付け順に前記メモリに対するコマンドシーケンスを発行するコマンド発行部と、
前記メモリアクセス要求と、前記リフレッシュ要求とを調停し、前記リフレッシュ要求を優先して、前記コマンド発行部に対して出力する要求調停部と、をさらに備えている、
ことを特徴とする請求項１ないし請求項１１のいずれかに記載のメモリ制御装置。
【請求項１３】
前記コマンド発行部は、
前記アクティブＲＯＷ情報を内部状態として保持している、
ことを特徴とする請求項１２に記載のメモリ制御装置。
【請求項１４】
前記メモリは、少なくと２以上のバンクから構成されており、
前記コマンド発行部は、
前記バンク毎に、前記アクティブＲＯＷ情報を内部情報として保持している、
ことを特徴とする請求項１３に記載のメモリ制御装置。
【請求項１５】
メモリのアクティブ状況を示すアクティブ情報内の第一のアドレスと、メモリアクセス要求内の第二のアドレスとを比較するアドレス比較部と、
前記メモリに対するアクセスがないアイドルサイクルを検出するアイドルサイクル検出部と、
前記アドレス比較部の比較結果と、前記アイドルサイクル検出部のアイドルサイクルの検出とに応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、
備えることを特徴とするメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリ制御装置に係る発明であり、例えば、ＳＤＲＡＭのリフレッシュ処理を制御するメモリ制御装置として適用することができる。
【背景技術】
【０００２】
ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を利用する場合には、メモリセルの記憶内容を再充電する必要がある。ここで、当該再充電は、一定間隔でオートリフレッシュコマンドを発行することにより、行われる。
【０００３】
従来技術に係るＳＤＲＡＭのリフレッシュ制御方式では、ＳＤＲＡＭコマンド発行部の状態と無関係に、一定間隔でオートリフレッシュコマンドが実行されていた（例えば、非特許文献１参照。）。
【０００４】
ここで、ＳＤＲＡＭコマンド発行部とは、メモリアクセスコマンドとリフレッシュコマンドとを受付、受付順にＳＤＲＡＭに対するコマンドシーケンスを発行する装置である。
【０００５】
なお、ＳＤＲＡＭの所定の記憶素子からデータを読み出される（または、書き込まれる）前に、ＳＤＲＡＭは、対応するバンクおよびＲＯＷ（行）に対して、バンクプリチャージ・バンクアクティベート処理が施される。ここで、バンクアクティベート処理とは、リード、ライトコマンドの実行に先立って、アクセス対象のバンクおよびロウアドレスを選択、活性化する処理である。また、バンクプリチャージ動作とは、バンクアクティベート処理によって活性化されたバンクおよびロウアドレスを非活性（アイドル）の状態に戻す処理である。同一のバンクに対して複数のロウアドレスの活性化はできない。別のロウアドレスを活性化するには、既に活性化済みのロウアドレスの非活性化処理が必要となる。
【０００６】
ここで、同一のバンク・同一ＲＯＷに属する記憶素子に対して、連続してデータの読み出し（または、書き込み）処理が行われるとする。この場合には、ＳＤＲＡＭには、バンクアクティベート処理が施されること無く、連続してリード（またはライト）コマンドが発行される。
【０００７】
【非特許文献１】「日立ＳｕｐｅｒＨ  ＲＩＳＣ  ｅｎｇｉｎｅ  ＳＨ７６１５  ハードウェアマニュアル」、ｐｐ３１５（７−６１）−ｐｐ３１６（７−６２）、「７．５．８  リフレッシュ、（１）オートリフレッシュ」、[ｏｎｌｉｎｅ]、平成１２年８月、株式会社日立製作所  半導体グループ電子統括営業本部、[平成１６年４月２３日検索]、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｒｅｎｅｓａｓ．ｃｏｍ／ａｖｓ／ｒｅｓｏｕｒｃｅ／ｊａｐａｎ／ｊｐｎ／ｐｄｆ／ｍｐｕｍｃｕ／ｊ６０２２０９＿ｓｈ７６１５．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、ＳＤＲＡＭに対してリフレッシュ処理が施された後は、ＳＤＲＡＭに対してリード（または、ライト）コマンドを発行する前に、所定のバンクおよびＲＯＷに対してバンクアクティベート処理を施す必要がある。
【０００９】
しかし、非特許文献１に係る技術において、同一バンク・同一ＲＯＷアドレスでカラムアドレスのみ異なるメモリ領域に対する連続アクセスが行われる途中に、定期的に発行されるリフレッシュコマンドが強制的に挿入されたとする。リフレッシュ処理が行われた場合には、全てのバンクがアイドル状態となる。したがって、上記のような場合には、必ずバンクアクティベート処理からコマンドシーケンスを実行する必要がある。
【００１０】
これにより、本来不必要なバンクアクティベート処理を、ＳＤＲＡＭのリフレッシュ処理後に改めて行う必要が生じる。つまり、リフレッシュ処理に必要な実行サイクルのみだけでなく、バンクアクティベート処理サイクルが余分に必要となる。したがって、ＳＤＲＡＭの実効的な転送効率が損なわれる結果となる。
【００１１】
そこで、この発明は、例えメモリに対するリフレッシュ処理が施されたとしても、実効的なデータ転送効率の損失を最小限にすることができるメモリ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明に係る請求項１に記載のメモリ制御装置は、メモリのアクティブ状況を示すアクティブ情報内の第一のアドレスと、メモリアクセス要求内の第二のアドレスとを比較するアドレス比較部と、前記アドレス比較部の比較結果に応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、備えている。
【００１３】
また、請求項２に記載のメモリ制御装置は、メモリに対するアクセスがないアイドルサイクルを検出するアイドルサイクル検出部と、前記アイドルサイクル検出部のアイドルサイクルの検出に応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、備えている。
【００１４】
また、請求項１５に記載のメモリ制御装置は、メモリのアクティブ状況を示すアクティブ情報内の第一のアドレスと、メモリアクセス要求内の第二のアドレスとを比較するアドレス比較部と、前記メモリに対するアクセスがないアイドルサイクルを検出するアイドルサイクル検出部と、前記アドレス比較部の比較結果と、前記アイドルサイクル検出部のアイドルサイクルの検出とに応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、備えている。
【発明の効果】
【００１５】
本発明の請求項１に記載のメモリ制御装置は、メモリのアクティブ状況を示すアクティブ情報内の第一のアドレスと、メモリアクセス要求内の第二のアドレスとを比較するアドレス比較部と、前記アドレス比較部の比較結果に応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、備えているので、メモリに対するアクティベート処理の時期を判断し、当該時期を狙ってメモリのリフレッシュ処理を行うことができる。したがって、リフレッシュ処理に伴う無駄なアクティベート処理を施す必要がなくなる。よって、メモリに対する実効的なデータ転送効率を向上させることができる。
【００１６】
また、請求項２に記載のメモリ制御装置は、メモリに対するアクセスがないアイドルサイクルを検出するアイドルサイクル検出部と、前記アイドルサイクル検出部のアイドルサイクルの検出に応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、備えているので、アイドルサイクルを利用して、メモリのリフレッシュ処理を行うことができる。したがって、メモリに対する実効的なデータ転送効率を向上させることができる。
【００１７】
また、請求項１５に記載のメモリ制御装置は、メモリのアクティブ状況を示すアクティブ情報内の第一のアドレスと、メモリアクセス要求内の第二のアドレスとを比較するアドレス比較部と、前記メモリに対するアクセスがないアイドルサイクルを検出するアイドルサイクル検出部と、前記アドレス比較部の比較結果と、前記アイドルサイクル検出部のアイドルサイクルの検出とに応じて、メモリに対するリフレッシュ要求を生成するリフレッシュ要求生成部とを、備えているので、請求項１，２に記載のメモリ制御装置を組み合わせたメモリ制御装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下に示す例からも分かるように、リフレッシュ処理が実施されるタイミングによって、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の実効的な転送効率が変化する。例えば、図１に示すメモリアクセスシーケンスを例に取って説明する。
【００１９】
ここで、図１において、「ＲＤ」は、リードアクセスを意味している。また、「Ｂｉ」は、ｉ番目のバンクアドレスを示している。また、「Ｒｉ」は、ｉ行目のロウアドレスを示している。また、「Ｃｉ」は、ｉ列目のカラムアドレスを示している。例えば、１番目のメモリアクセス要求ＩＤ１は、１番目のバンクアドレス、１番目のロウアドレス、および１番目のカラムアドレスに属する記憶素子に対しする、リードアクセスコマンドである。
【００２０】
図１から分かるように、メモリアクセス要求ＩＤ１とメモリアクセス要求ＩＤ２とは、同一バンク・同一ＲＯＷアドレスに対する連続アクセスである。また、メモリアクセス要求ＩＤ２とメモリアクセス要求ＩＤ３とは、異なったＲＯＷアドレス（バンクアドレスは同一である）に対する連続アクセスである。
【００２１】
図１に示したメモリアクセスシーケンスにおいて、メモリアクセス要求ＩＤ１とメモリアクセス要求ＩＤ２との間にリフレッシュ処理を施した場合（ケースＡ）、およびメモリアクセス要求ＩＤ２とメモリアクセス要求ＩＤ３との間にリフレッシュ処理を施した場合（ケースＢ）、を各々考える。
【００２２】
図２は、ケースＡのＳＤＲＡＭに対するコマンドシーケンスを示す。図３は、ケースＢのＳＤＲＡＭに対するコマンドシーケンスを示す。
【００２３】
ここで、図２，３において、「ＡＣＴ」は、バンクアクティベートコマンドを意味する。また、「ＲＥＡＤ」は、リードコマンドを意味する。また、「ＷＲＩＴＥ」は、ライトコマンドを意味する。また、「ＰＲＥ」は、プリチャージコマンドを意味する。また、「ＲＥＦ」は、リフレッシュコマンドを意味する。
【００２４】
さて、図２から分かるように、ケースＡでは、一連の処理が完了するまでに９サイクル要している。これに対して、図３から分かるように、ケースＢでは、一連の処理が完了するまでに７サイクルしか要していない。
【００２５】
このように、リフレッシュ処理が挿入される場所によって、ＳＤＲＡＭの実効的な転送効率が変化することが分かる。本発明は、このようにリフレッシュの実施タイミングを最適化することで、ＳＤＲＡＭの実効的な転送効率の低下を抑制するものである。
【００２６】
以下、この発明をその実施の形態を示す図面に基づいて、どのタイミングでリフレッシュ処理を施すのかを具体的に説明する。
【００２７】
＜実施の形態１＞
本実施の形態に係るメモリ制御装置は、バンクアクティベート処理が必要なタイミングを狙って、ＳＤＲＡＭに対してリフレッシュ処理を施すことを特徴とする。図４は、本実施の形態に係るメモリ制御装置の構成を示すブロック図である。
【００２８】
図４に示すように、メモリ制御装置１００は、第一、二の閾値設定部１，２、リフレッシュカウンタ３、平均リフレッシュ間隔設定部４、第一、二の比較部５，６、ＢＡＮＫ／ＲＯＷアドレス比較部７、リフレッシュ要求生成部８、要求調停部９、およびＳＤＲＡＭコマンド発行部１０により、構成されている。
【００２９】
また、図４には、メモリ制御装置１００の他に、バスマスタ２００およびＳＤＲＡＭ３００も図示している。
【００３０】
ここで、ＳＤＲＡＭ３００は、外部から入力されるクロックに同期して動作するＤＲＡＭである。また、ＳＤＲＡＭ３００は、同一ＢＡＮＫ・同一ＲＯＷアドレスに属する記憶領域については、バンクアクティベート処理無しに、連続してリード・ライト処理が実施される。
【００３１】
バスマスタ２００は、ＳＤＲＡＭ３００へのメモリアクセス要求を発行する装置である。なお、バスマスタ２００が複数存在するケースもある。しかし、ここでは、簡略化のため一つのみを図示している。バスマスタ２００として、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）などがある。
【００３２】
図４に示すように、第一の閾値設定部１の出力部ｏ１は、第一の比較部５の入力部ｉ３と接続されている。また、第二の閾値設定部２の出力部ｏ２は、第二の比較部６の入力部ｉ５と接続されている。
【００３３】
リフレッシュカウンタ３の出力部ｏ３は、第一の比較部５の入力部ｉ４と第二の比較部６の入力部ｉ６と、各々接続されている。また、リフレッシュカウンタ３の入力部ｉ１は、平均リフレッシュ間隔設定部４の出力部ｏ４と接続されており、入力部ｉ２には、要求調停部９の出力部ｏ９と接続されている。
【００３４】
リフレッシュ要求生成部８の入力部ｉ９は、ＢＡＮＫ／ＲＯＷアドレス比較部７の出力部ｏ７と接続されており、入力部ｉ１０には、第一の比較部５の出力部ｏ５と接続されており、入力部ｉ１１には、第二の比較部６の出力部ｏ６と接続されている。また、リフレッシュ要求生成部８の出力部ｏ８は、要求調停部９の入力部ｉ１２と接続されている。
【００３５】
要求調停部９の出力部ｏ１０は、ＳＤＲＡＭコマンド発行部１０の入力部ｉ１４に接続されている。ＳＤＲＡＭコマンド発行部１０の出力部ｏ１１は、ＳＤＲＡＭ３００の入力部ｉ１５に接続されており、出力部ｏ１２は、ＢＡＮＫ／ＲＯＷアドレス比較部７の入力部ｉ８と接続されている。
【００３６】
バスマスタ２００の出力部ｏ１３は、ＢＡＮＫ／ＲＯＷアドレス比較部７の入力部ｉ７と、要求調停部９の入力部ｉ１３とに、各々接続されている。
【００３７】
次に、メモリ制御装置１００を構成する各部の説明をする。
【００３８】
第一、二の閾値設定部１，２は、リフレッシュ制御方法を切り替えるための基準値となる、閾値を保持（格納）するレジスタである。
【００３９】
平均リフレッシュ間隔設定部４は、必要とされるリフレッシュ間隔の平均値（以下、平均リフレッシュ間隔値と称する）を保持（格納）するレジスタである。
【００４０】
リフレッシュカウンタ３は、サイクル数が増加するに従って、通常はダウンカウントを行う装置である。また、ＳＤＲＡＭ３００に対するリフレッシュ処理が実行されたなら、リフレッシュカウンタ３は、平均リフレッシュ間隔設定部４に保持されている平均リフレッシュ間隔値を、現在のカウント値に加算する。
【００４１】
第一の比較部５は、リフレッシュカウンタ３のカウント値と、第一の閾値設定部１に保持されている閾値（以下、第一の閾値と称する）との大小関係を比較する装置である。もし、カウント値の方が大きければ、第一の比較部５は、「１」の信号を出力する。
【００４２】
第二の比較部６は、リフレッシュカウンタ３のカウント値と、第二の閾値設定部２に保持されている閾値（以下、第二の閾値と称する）との大小関係を比較する装置である。もし、カウント値の方が大きければ、第二の比較部６は、「１」の信号を出力する。
【００４３】
ＢＡＮＫ／ＲＯＷアドレス比較部７は、ＳＤＲＡＭコマンド発行部１０から出力された現在のアクティブＲＯＷ情報（ＢＡＮＫ情報を含む）ＡＲと、バスマスタ２００から出力されたメモリアクセス要求内のＢＡＮＫ／ＲＯＷアドレスとを比較する。当該比較の結果、両者が一致すれば、ＢＡＮＫ／ＲＯＷアドレス比較部７は、「１」の信号を出力する。
【００４４】
ここで、アクティブＲＯＷ情報ＡＲとは、ＳＤＲＡＭコマンド発行部１０が内部情報として保持している情報であり、当該アクティブＲＯＷ情報ＡＲにより、ＳＤＲＡＭ３００のアクティブ状態にあるＢＡＮＫアドレス、ＲＯＷアドレスを知ることができる。
【００４５】
後に説明されるが、ＳＤＲＡＭコマンド発行部１０は、複数のコマンドから構成されるコマンドシーケンスを発行する。ＳＤＲＡＭコマンド発行部１０は、当該コマンドシーケンスの内容を参酌することにより、上記アクティブＲＯＷ情報ＡＲを作成する。そして、当該作成されたアクティブＲＯＷ情報ＡＲを、ＳＤＲＡＭコマンド発行部１０は、内部状態として保持する。
【００４６】
リフレッシュ要求生成部８は、以下のような論理を実現する。
【００４７】
もし、第一の比較部５から「０」の信号が出力された場合（つまり、第一の比較部５での比較処理の結果、リフレッシュカウンタ３のカウント値が、第一の閾値以下である場合）には（以下、ケースαと称する）、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力する（「１」の信号を出力する）。
【００４８】
もし、第一の比較部５から「１」の信号が出力され（つまり、第一の比較部５での比較処理の結果、リフレッシュカウンタ３のカウント値が、第一の閾値より大きいとき）、かつ、第二の比較部６から「０」の信号が出力され（つまり、第二の比較部６での比較処理の結果、リフレッシュカウンタ３のカウント値が、第二の閾値以下である場合）た場合において、ＢＡＮＫ／ＲＯＷアドレス比較部７から「０」の信号が出力される場合（つまり、ＢＡＮＫ／ＲＯＷアドレス比較部７での、ＳＤＲＡＭコマンド発行部１０から出力された現在のアクティブＲＯＷ情報（ＢＡＮＫ情報を含む）と、バスマスタ２００から出力されたメモリアクセス要求内のＢＡＮＫ／ＲＯＷアドレスとの比較処理の結果、ＢＡＮＫアドレスまたはＲＯＷアドレスが異なる場合）には（以下、ケースβと称する）、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力する（「１」の信号を出力する）。
【００４９】
もし、第一の比較部５から「１」の信号が出力され、かつ、第二の比較部６から「０」の信号が出力された場合において、ＢＡＮＫ／ＲＯＷアドレス比較部７から「１」の信号が出力される場合（つまり、ＢＡＮＫ／ＲＯＷアドレス比較部７での、ＳＤＲＡＭコマンド発行部１０から出力された現在のアクティブＲＯＷ情報（ＢＡＮＫ情報を含む）ＡＲと、バスマスタ２００から出力されたメモリアクセス要求内のＢＡＮＫ／ＲＯＷアドレスとの比較処理の結果、ＢＡＮＫアドレスおよびＲＯＷアドレスが、各々一致する場合）には（以下、ケースγと称する）、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力しない（「０」の信号を出力する）。
【００５０】
もし、第一の比較部５から「１」の信号が出力され、かつ、第二の比較部６から「１」の信号が出力された場合（つまり、第二の比較部６での比較処理の結果、リフレッシュカウンタ３のカウント値が、第二の閾値より大きいとき）には（以下、ケースδと称する）、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力しない（「０」の信号を出力する）。
【００５１】
なお、ケースαおよびケースδのときは、ＢＡＮＫ／ＲＯＷアドレス比較部７から出力される信号に関わらず、上記処理を行う。
【００５２】
要求調停部９は、バスマスタ２００から出力されるメモリアクセス要求と、リフレッシュ要求生成部８から出力されるリフレッシュ要求との調停を行う。そして、どちらか一方の要求を、ＳＤＲＡＭコマンド発行部１０に対して出力する。ここで、要求調停部９の調停方式は、常にリフレッシュ要求を優先的に、ＳＤＲＡＭコマンド発行部１０に対して出力する方式である。
【００５３】
ＳＤＲＡＭコマンド発行部１０は、要求調停部９を経由して入力されてくる、メモリアクセス要求とリフレッシュ要求とを受付ける。そして、ＳＤＲＡＭ３００に対して出力するために、ＳＤＲＡＭコマンド発行部１０は、受付順に構成されたコマンドシーケンスを発行する。
【００５４】
次に、図４に示した本実施の形態に係るメモリ制御装置１００の動作について説明する。なお、第一の閾値設定部１には、第一の閾値として「５」が設定されている。また、第二の閾値設定部２には、第二の閾値として「９」が設定されている。また、平均リフレッシュ間隔設定部４には、平均リフレッシュ間隔値として「１０」が設定されている。
【００５５】
また、バスマスタ２００からは、図５に示す一連（図５では９個）のメモリアクセス要求から成るメモリアクセスシーケンスが出力されるものとする。
【００５６】
図５において、メモリアクセス要求ＩＤｉ（ｉ＝１，２，・・・，９）は、ｉ番目のメモリアクセス要求を示す。また、ＲＤは、ＳＤＲＡＭ３００に対するリードアクセスを示す。また、ＷＴは、ＳＤＲＡＭ３００に対するライトアクセスを示す。
【００５７】
また、ＢＡＮＫ  ａｄｄｒｅｓｓＢｋは、ｋ番目のバンクアドレスを示す。また、ＲＯＷ  ａｄｄｒｅｓｓＲｌは、ｌ行目の行アドレスを示す。また、ＣＯＬＵＭＮ  ａｄｄｒｅｓｓＣｍは、ｍ列目の列アドレスを示す。なお、ｋ、ｌ、ｍは自然数である。
【００５８】
また、図６に、図５に示したメモリアクセスシーケンスに対する、図４で示した各回路の状態や信号の変化を示す。
【００５９】
図６において、１行目は、サイクル数である。２行目は、バスマスタ２００から出力されたメモリアクセス要求のＩＤ番号である。３行目は、リフレッシュカウンタ３のカウンタ値である。４行目は、第二の比較部６の出力信号である。５行目は、第一の比較部５の出力信号である。
【００６０】
また、６行目は、ＳＤＲＡＭコマンド発行部１０が管理（保持）する、現在アクティブ状態にあるＲＯＷ情報（アクティブＲＯＷ情報）のうち、ＢＡＮＫアドレスを示している。７行目は、当該ＲＯＷ情報のうちＲＯＷアドレスを示している。８行目は、バスマスタ２００から出力されたメモリアクセス要求のＢＡＮＫアドレスであり、９行目は、ＲＯＷアドレスである。
【００６１】
また、１０行目は、ＢＡＮＫ／ＲＯＷアドレス比較部７の出力信号である。１１行目は、リフレッシュ要求生成部８の出力信号である。１２行目は、ＳＤＲＡＭコマンド発行部１０から出力される、ＳＤＲＡＭ３００に対するコマンドである。１３行目は、ＳＤＲＡＭコマンド発行部１０から出力される、ＳＤＲＡＭ３００に対するＢＡＮＫアドレスである。さらに、１４行目は、ＳＤＲＡＭコマンド発行部１０から出力される、ＳＤＲＡＭ３００に対するＲＯＷアドレスまたはＣＯＬＵＭＮアドレスである。
【００６２】
なお、図６の１１行目のコマンド表示において、「ＲＥＡＤ」は、読み出し処理コマンドを示している。また、「ＷＲＩＴＥ」は、書き込み処理コマンドを示している。また、「ＡＣＴ」はバンクアクティベート処理コマンドを示している。また、「ＰＲＥ」は、バンクプリチャージ処理コマンドを示している。また、「ＲＥＦ」は、リフレッシュ処理コマンドを示している。
【００６３】
まず、図６に示されているように、第一サイクルでは、バスマスタ２００からメモリアクセス要求ＩＤ１が出力される。メモリアクセス要求ＩＤ１は、図５で示した様に、アドレスＢ１，Ｒ１，Ｃ１に対応する、ＳＤＲＡＭ３００の記憶素子からのデータ読み出し処理コマンドである。
【００６４】
ＳＤＲＡＭ３００においては、メモリアクセス要求ＩＤ１の読み出し処理（第二サイクル）を行う前に、ＢＡＮＫアドレスＢ１、ＲＯＷアドレスＲ１の記憶領域に対して、バンクアクティベート処理が実行される（図６の第一サイクル）。つまり、データの読み出しコマンドの前に、バンクアクティベート処理コマンドが発行される。
【００６５】
なお、このとき、リフレッシュカウンタ３のカウンタ値は、「１０」である。したがって、当該カウンタ値「１０」は、第二の閾値設定部２に記憶されている第二の閾値「９」よりも大きいので、第二の比較部６からは、「１」の信号が出力される。また、当該カウンタ値「１０」は、第一の閾値設定部１に記憶されている第一の閾値「５」よりも大きいので、第一の比較部５からは、「１」の信号が出力される。
【００６６】
さて、上記でも説明したように、リフレッシュカウンタ３のカウンタ値は、サイクル数が増加する度に、減少する。したがって、第二サイクル以降は、リフレッシュカウンタ３のカウンタ値は、第二の閾値以下となる。よって、第二の比較部６からは、「０」の信号が出力される（図６の４行目）。
【００６７】
第三サイクルには、バスマスタ２００から出力される、図５で示したメモリアクセス要求ＩＤ２（アドレスＢ１，Ｒ１，Ｃ２に対応する、ＳＤＲＡＭ３００の記憶素子からのデータ読み出し処理）が、各回路７，９に入力される。このとき、リフレッシュカウンタ３のカウンタ値は、「８」である。つまり、第一の閾値「５」よりも大きく、第二の閾値「９」より小さい。したがって、第一の比較部５からは、「１」の信号が出力され、第二の比較部６からは、「０」の信号が出力される。
【００６８】
また、第三サイクルでは、ＳＤＲＡＭコマンド発行部１０から出力されるアクティブＲＯＷ情報ＡＲは、（Ｂ１、Ｒ１）である。
【００６９】
そうすると、ＢＡＮＫ／ＲＯＷアドレス比較部７が受け取る、バスマスタ２００からのメモリアクセス要求ＩＤ２内のＢＡＮＫ・ＲＯＷアドレス（Ｂ１，Ｒ１）と、第三サイクルでのアクティブ状態にあるＢＡＮＫ・ＲＯＷアドレス（Ｂ１，Ｒ１）とが、各々一致する（つまり、ＢＡＮＫ／ＲＯＷ比較部７から「１」の信号が出力される。図６参照）。これは、上記ケースγに該当する。
【００７０】
したがって、リフレッシュ要求生成部８は、リフレッシュ要求を出力しない（つまり、リフレッシュ要求生成部８からは、「０」の信号が出力される。図６参照）。したがって、ＳＤＲＡＭコマンド発行部１０は、メモリアクセス要求ＩＤ２に従い、ＳＤＲＡＭ３００の対応する記憶素子に対する、データの読み出し処理コマンドを発行する（図６参照）。
【００７１】
次に、第四サイクルには、バスマスタ２００から出力される、図５で示したメモリアクセス要求ＩＤ３（アドレスＢ１，Ｒ２，Ｃ３に対応する、ＳＤＲＡＭ３００の記憶素子からのデータ読み出し処理）が、各回路７，９に入力される。このとき、リフレッシュカウンタ３のカウンタ値は、「７」である。つまり、第一の閾値「５」よりも大きく、第二の閾値「９」より小さい。したがって、第一の比較部５からは、「１」の信号が出力され、第二の比較部６からは、「０」の信号が出力される。
【００７２】
また、第四サイクルでは、ＳＤＲＡＭコマンド発行部１０から出力されるアクティブＲＯＷ情報ＡＲは、（Ｂ１、Ｒ１）である。
【００７３】
そうすると、ＢＡＮＫ／ＲＯＷアドレス比較部７が受け取る、バスマスタ２００からのメモリアクセス要求ＩＤ２内のＢＡＮＫ・ＲＯＷアドレス（Ｂ１，Ｒ２）と、第四サイクルでのアクティブ状態にあるＢＡＮＫ・ＲＯＷアドレス（Ｂ１，Ｒ１）とが、完全に一致しない（つまり、ＢＡＮＫ／ＲＯＷ比較部７から「０」の信号が出力される。図６参照）。これは、上記ケースβに該当する。
【００７４】
したがって、リフレッシュ要求生成部８は、リフレッシュ要求を出力する（つまり、リフレッシュ要求生成部８からは、「１」の信号が出力される。図６参照）。そして、現在アクティブ状態にある記憶領域（アドレスＢ１，Ｒ１）を非アクティブ状態とするために、ＳＤＲＡＭコマンド発行部１０は、バンクプリチャージ処理コマンドが発行される。また、このときのＳＤＲＡＭコマンド発行部１０から出力される、アクティブＲＯＷ情報ＡＲは、無効となる（図６では、「Ｘ」で表示する）。
【００７５】
そして、当該バンクプリチャージ処理コマンド発行後、第５サイクルには（リフレッシュカウンタ値は、「６」となる）、リフレッシュ要求に応じて、ＳＤＲＡＭコマンド発行部１０は、ＳＤＲＡＭ３００に対してリフレッシュ処理コマンドを発行する（図６参照）。
【００７６】
また、要求調停部９を介して出力される、リフレッシュ要求に応じて、リフレッシュカウンタ３は、現在のカウント値「６」に、平均リフレッシュ間隔設定部４に記憶されている平均リフレッシュ間隔値「１０」を加算する（図６の第六サイクル）。
【００７７】
したがって、第六サイクルでは、リフレッシュカウンタのカウント値「１６」は、第一、二の閾値よりも大きくなるので、第一、二の比較部５，６からは、「１」の信号が出力される。
【００７８】
また、第六サイクルでは、ＳＤＲＡＭ３００においては、メモリアクセス要求ＩＤ３の読み出し処理（第七サイクル）を行う前に、ＢＡＮＫアドレスＢ１、ＲＯＷアドレスＲ２の記憶領域に対して、バンクアクティベート処理が実行される。したがって、第６サイクルでは、ＳＤＲＡＭコマンド発行部１０からは、読み出し処理コマンドに先立って、バンクアクティベート処理コマンドが発行される。
【００７９】
さて、第六サイクルから第十二サイクルまでは、リフレッシュカウンタ３のカウント値が、第二の閾値「９」よりも大きい。これは、上記ケースδの場合である。
【００８０】
したがって、第六サイクルから第十二サイクルまでの期間中は、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力しない（「０」の信号を出力し続ける）。そして、ＳＤＲＡＭコマンド発行部１０からは、バスメモリ２００から出力されるメモリアクセス要求ＩＤ４，５，６に従って、ＳＤＲＡＭ３００に対する通常のデータ読み出し処理等のコマンドが発行される（図６参照）。
【００８１】
つまり、アクティブ状態にある記憶領域が、ＢＡＮＫアドレスＢｉ、ＲＯＷアドレスＲｉであり、バスマスタ２００から出力されたメモリアクセス要求が、ＢＡＮＫアドレスＢｉ、ＲＯＷアドレスＲｉの記憶領域に対するものであるとする（すなわち、両ＢＡＮＫ／ＲＯＷアドレスが、完全に一致する場合）。このときは、バンクプリチャージ処理コマンドおよびバンクアクティベート処理コマンドを発行せずに、当該メモリアクセス要求に従ったデータの読み出し等の処理コマンドが発行される。
【００８２】
また、アクティブ状態にある記憶領域が、ＢＡＮＫアドレスＢｉ、ＲＯＷアドレスＲｉであり、バスマスタ２００から出力されたメモリアクセス要求が、ＢＡＮＫアドレスＢｊ、ＲＯＷアドレスＲｊの記憶領域に対するものであるとする（すなわち、両アドレスのうち、ＢＡＮＫアドレスまたはＲＯＷアドレスが不一致の場合）。このときは、バンクプリチャージ処理コマンド、その後のバンクアクティベート処理コマンドの発行を行う。そして、その後に、当該メモリアクセス要求に従ったデータの読み出し等の処理コマンドが発行される。
【００８３】
さて、第十三サイクル以降になると、リフレッシュカウンタ３のカウンタ値は、「９」以下となる。すなわち、当該カウンタ値は、第二の閾値「９」以下となる。したがって、リフレッシュ要求生成部８は、ケースβまたはケースγのどちらかに示した動作を行うことになる。
【００８４】
なお、第十三サイクル以降において、リフレッシュ要求生成部８がリフレッシュ要求を生成しない場合には、メモリ制御装置１００は、ＳＤＲＡＭ３００に対しては、バスメモリ２００から出力されるメモリアクセス要求ＩＤ７，８に従って、通常のデータ読み出し処理等が実行する（図６参照）。
【００８５】
ここで、第十五、十六サイクルにおいて、ＢＡＮＫ／ＲＯＷアドレス比較部７には、バスマスタ２００から出力されたメモリアクセス要求ＩＤ７，８が入力される。当該メモリアクセス要求ＩＤ７，８内のＢＡＮＫアドレスおよびＲＯＷアドレスは、アクティブＲＯＷ情報（当該アクティブ情報は、第十五、十六サイクル時に、ＳＤＲＡＭコマンド発行部１０から出力されたものである）内のＢＡＮＫアドレスおよびＲＯＷアドレスと、一致する（ケースγ）。
【００８６】
したがって、ＳＤＲＡＭコマンド発行部１０からは、ＳＤＲＡＭ３００のリフレッシュ処理コマンドの発行を行わず、メモリアクセス要求ＩＤ７，８に従って、該当する記憶素子に対するデータの読み出し、書き込み等の処理コマンドを発行する。
【００８７】
さて、第十七サイクルでは、リフレッシュカウンタ３のカウンタ値は、「５」となる。当該カウンタ値は、第一の閾値「５」以下に該当する。つまり、第一、二の比較部５，６からは、共に「０」の信号が出力される。当該ケースは、ケースαに該当する。
【００８８】
したがって、リフレッシュ要求生成部８は、ＢＡＮＫ／ＲＯＷアドレス比較部７から出力される信号に関わらず、リフレッシュ要求信号を出力する（「１」の信号を出力する）。
【００８９】
これにより、第十七サイクルでは、ＳＤＲＭＡコマンド発行部１０は、現在活性状態ある記憶領域を非活性化するために、バンクプリチャージ処理コマンドを発行する。
【００９０】
そして、第十八サイクルでは、ＳＤＲＡＭコマンド発行部１０からは、ＳＤＲＡＭ３００に対するリフレッシュ処理コマンドが発行される。
【００９１】
その後、第十九サイクルでは、ＳＤＲＡＭコマンド発行部１０からは、メモリアクセス要求ＩＤ９に従ったデータの読み出し処理コマンド（第二十サイクル）を発行前に、該当するＢＡＮＫアドレス、ＲＯＷアドレスの記憶領域に対しての、バンクアクティベート処理コマンドが発行される。
【００９２】
なお、第十八サイクルにおいて、リフレッシュ処理が実施されたので、リフレッシュカウンタ３のカウント値「４」に、平均リフレッシュ間隔値「１０」が加算される。つまり、第十九サイクルでは、リフレッシュカウンタ３のカウンタ値は、「１４」となる。
【００９３】
したがって、第十九サイクル以降はケースδとなる。よって、カウンタ値が第二の閾値「９」以下となるまで、リフレッシュ要求生成部８は、ＢＡＮＫ／ＲＯＷ比較部７の出力に関わらず、リフレッシュ要求の信号は出力しない。
【００９４】
本実施の形態に係るメモリ制御装置１００を用いた場合の、サイクル数に対するリフレッシュカウンタ３のカウンタ値の変化を、図７に模式的に示す。図７において、縦軸はカウンタ値であり、横軸はサイクル数である。なお、上記実施の形態では、第一の閾値「５」、第二の閾値「９」、リフレッシュ間隔値「１０」の場合に説明した。しかし、図７の模式図は、当該各閾値等の設定と異なる設定のものである。
【００９５】
また、「丸印」は、メモリアクセス要求のＢＡＮＫ・ＲＯＷアドレスとアクティブＲＯＷ情報ＡＲのＢＡＮＫ・ＲＯＷアドレスとが、それぞれ一致する場合である。「星印」は、メモリアクセス要求のＢＡＮＫアドレスまたはＲＯＷアドレスが、アクティブＲＯＷ情報ＡＲのＢＡＮＫアドレスまたはＲＯＷアドレスと不一致の場合である。また、「矢印」は、リフレッシュ処理後の平均リフレッシュ間隔値の加算を示す。
【００９６】
図７が示すように、カウンタ値が第二の閾値以下の場合において、上記アドレスの不一致の事象が連続して発生すれば、その度にリフレッシュ処理が連続して実施される。そして、リフレッシュ処理が実施される度に、カウンタ値に平均リフレッシュ間隔値が加算される。
【００９７】
しかし、カウンタ値が第二の閾値より大きくなれば、リフレッシュ処理が実施されることはない。
【００９８】
また、上記アドレスの一致事象が連続して発生した場合、カウンタ値が第一の閾値以下となり得る。しかし、カウント値が減少し続けて第一の閾値以下となったときには、強制的にリフレッシュ処理が実施される。そして、カウント値に平均リフレッシュ間隔値が加算される。
【００９９】
以上のように、本実施の形態に係るメモリ制御装置１００は、ケースβ、γのように、バンクアクティベート処理が必要なタイミングを狙って、ＳＤＲＡＭ３００に対するリフレッシュ処理を実施している。
【０１００】
したがって、図２，３を用いた説明したように、同一ＢＡＮＫ・同一ＲＯＷアドレスに対して連続してアクセスしている途中に、リフレッシュ処理が実施されることを防止することができる。つまり、無駄なバンクプリチャージ処理および無駄なバンクアクティベート処理を行う必要がなくなる。
【０１０１】
よって、ＳＤＲＡＭ３００に対するリフレッシュ処理が施されたとしても、バンクアクティベートが施されるタイミングで行われるので、実効的なデータ転送効率の損失を最小限にすることができる。
【０１０２】
また、本実施の形態に係るメモリ制御装置１００は、平均リフレッシュ間隔値を保持する平均リフレッシュ間隔設定部４を有している。そして、リフレッシュ処理が実施された場合には、リフレッシュカウンタ３のカウンタ値に平均リフレッシュ間隔値が加算される。
【０１０３】
したがって、リフレッシュ処理の間隔は一定になることはないが、長期的に見た場合には、リフレッシュ処理の平均的な間隔は、平均リフレッシュ間隔値とほぼ等しくすることができる。
【０１０４】
また、本実施の形態係るメモリ制御装置１００は、第一の閾値とリフレッシュカウンタ３のカウント値とを比較する第一の比較部５を有している。そして、第一の比較部５の比較の結果、カウンタ値が第一の閾値以下となったときには、リフレッシュ要求生成部８は、リフレッシュ要求を生成している。
【０１０５】
したがって、バスマスタ２００からのメモリアクセス要求のＢＡＮＫアドレスおよびＲＯＷアドレスが、アクティブＲＯＷ情報ＡＲのＢＡＮＫアドレスおよびＲＯＷアドレスと、それぞれ一致する事象が連続して発生した場合に、強制的にＳＤＲＡＭ３００に対してリフレッシュ処理を実施することができる。
【０１０６】
なお、リフレッシュ処理は、前段階の一のメモリアクセス要求に従った処理の終了後に、実施される。したがって、第一の閾値は、一のメモリアクセス要求に要する最大の処理サイクル数以上に設定しておくべきである。
【０１０７】
また、本実施の形態に係るメモリ制御装置１００は、第二の閾値とリフレッシュカウンタ３のカウント値とを比較する第二の比較部６を有している。そして、第二の比較部６の比較の結果、カウンタ値が第二の閾値より大きいときには、リフレッシュ要求生成部８は、リフレッシュ要求を生成することはない。
【０１０８】
したがって、第二の閾値を経験則等に基いて適正な値に設定することにより、ＳＤＲＡＭ３００内に記憶されている電荷量が十分であり、リフレッシュ処理を行う必要がない場合での、無用なＳＤＲＡＭ３００のリフレッシュ処理を防止することができる。
【０１０９】
なお、リフレッシュカウンタ３のカウンタ値が第二の閾値より大きくなると、リフレッシュ処理は実施されない。したがって、第二の閾値のときに、リフレッシュ処理が実施された場合が、リフレッシュカウンタ３の取り得る最大のカウンタ値である。
【０１１０】
また、上記のように、第一の閾値は、一つのメモリアクセス要求に要する最大の処理サイクル数以上に設定することが望ましい。したがって、当該制約を厳守すれば、リフレッシュカウンタ３の取り得る最小のカウンタ値は、「０」となる。つまり、リフレッシュカウンタ３のカウンタ値が「０」のときに、リフレッシュ処理が強制的に実施される可能性がある。
【０１１１】
以上により、リフレッシュ処理間のサイクル数は、最大でも（第二の閾値）＋（平均リフレッシュ間隔値）である。
【０１１２】
ところで、ＳＤＲＡＭ３００には、一度リフレッシュ処理を実施されたから、次にリフレッシュ処理が必要なときまでの上限期間ｔＲＥＦが、定義されている。したがって、第二の閾値をあまりにも大きくとると、リフレッシュ処理間のサイクル数が、上限期間ｔＲＥＦを超えてしまうことがある。
【０１１３】
したがって、第二の閾値は、リフレッシュ処理間のサイクル数が、上限期間ｔＲＥＦを超えない範囲内で設定する必要がある。
【０１１４】
また、本実施の形態に係るメモリ制御装置は、要求調停部９を有している。要求調停部９は、メモリアクセス要求とリフレッシュ要求との調停を行い、リフレッシュ要求を優先的に後段のＳＤＲＡＭコマンド発行部１０へ出力する装置である。したがって、以下の効果を有する。
【０１１５】
つまり、リフレッシュ要求よりもメモリアクセス要求の方が優先してＳＤＲＡＭコマンド発行部１０に入力されたとする。このとき、たとえ、バンクアクティベートが実施されるタイミングでリフレッシュ要求生成されたとしても、ＳＤＲＡＭコマンド発行部１０で発行されるコマンドシーケンスにおいては、リフレッシュ要求の順序が前記タイミングより遅れてしまう。
【０１１６】
しかし、上記要求調停部９を設けることにより、上記のような問題の発生を防止することができる。
【０１１７】
また、本実施の形態に係るメモリ制御装置は、ＳＤＲＡＭ３００のアクティブＲＯＷ情報ＡＲを内部状態として保持しているＳＤＲＡＭコマンド発行部１０を有している。
【０１１８】
したがって、ＢＡＮＫ／ＲＯＷアドレス比較部７での比較処理に際して、当該ＳＤＲＡＭコマンド発行部１０の内部状態を参照することができる。よって、当該比較処理に際して、わざわざＳＤＲＡＭ３００のアクティブ状態を参照する作業を削減でき、当該比較処理をより簡便に行うことができる。
【０１１９】
なお、上記では、ＳＤＲＡＭコマンド発行部１０は、バンクを区別せずにアクティブＲＯＷ情報ＡＲの管理（保持）を行っていた。つまり、アクティブＲＯＷ情報ＡＲ内のＢＡＮＫアドレス、ＲＯＷアドレスと、メモリアクセス要求内のＢＡＮＫアドレス、ＲＯＷアドレスとが、各々同じときには、バンクプリチャージ・バンクアクティベート処理を実施することは無かった。これは、メモリアクセスの効率化のための制御である。
【０１２０】
一方、上記とは別に、ＳＤＲＡＭコマンド発行部１０を、バンクを区別してアクティブＲＯＷ情報ＡＲを管理（保持）する構成としても良い。つまり、アクティブＲＯＷ情報内のＲＯＷアドレスと、メモリアクセス要求内のＲＯＷアドレスとが同じときに、バンクプリチャージ・バンクアクティベート処理を不実施としても良い。これにより、前者の場合と比べて、よりメモリアクセスの効率化を図ることができる。
【０１２１】
＜実施の形態２＞
本実施の形態に係るメモリ制御装置は、バスマスタからのメモリアクセス要求が無い（メモリに対するアクセスがない）アイドルサイクルのタイミングを狙って、ＳＤＲＡＭに対してリフレッシュ処理を施すことを特徴とする。図８は、本実施の形態に係るメモリ制御装置の構成を示すブロック図である。
【０１２２】
本実施の形態に係るメモリ制御装置１００（図８）と、実施の形態１に係るメモリ制御装置１００（図４）とは、以下の点において異なる。
【０１２３】
実施の形態１に係るメモリ制御装置１００は、閾値設定部１，２および比較部５，６は、それぞれ二つ配設されていた。しかし、本実施の形態に係るメモリ制御装置１００は、一つの閾値設定部２１と一つの比較部２２しか配設されていない。
【０１２４】
また、本実施の形態に係るメモリ制御装置１００には、ＢＡＮＫ／ＲＯＷアドレス比較部７の代わりに、アイドルサイクル検出部２３が配設されている。
【０１２５】
その他の構成および接続関係は、実施の形態１に係るメモリ制御装置１００と同じであるので、ここでの詳細な説明は省略する。
【０１２６】
また、図８には、実施の形態１と同様に、メモリ制御装置１００の他に、バスマスタ２００およびＳＤＲＡＭ３００も図示している。バスマスタ２００およびＳＤＲＡＭ３００の説明は、実施の形態１の通りである。
【０１２７】
図８において、閾値設定部２１は、リフレッシュ制御方法を切り替えるための基準となる、第三の閾値を保持（格納）するレジスタである。また、比較部２２は、リフレッシュカウンタ３のカウント値と、閾値設定部２１に設定されている第三の閾値との大小関係を比較する装置である。もし、カウント値の方が大きければ、比較部２２は、「１」の信号を出力する。
【０１２８】
アイドルサイクル検出部２３は、バスマスタ２００から出力されるメモリアクセス要求の状態と、ＳＤＲＡＭコマンド発行部１０から出力されるアクティブＲＯＷ情報ＡＲとを監視する回路である。
【０１２９】
アイドルサイクル検出部２３は、バスマスタ２００からメモリアクセス要求の出力が無く、かつ、ＳＤＲＡＭコマンド発行部１０からＳＤＲＡＭ３００に対してコマンドシーケンスが発行されていない場合には、アイドルサイクルであることを検出する。
【０１３０】
そして、アイドルサイクル検出部２３は、当該アイドルサイクルを検出すると、リフレッシュ要求生成部８に「１」の信号を出力する。これにより、アイドルサイクル検出部２３がアイドルサイクルを検知したことを、リフレッシュ要求生成部８に知らせることができる。
【０１３１】
リフレッシュ要求生成部８は、以下のような論理を実現する。
【０１３２】
もし、比較部２２から「１」の信号が出力された場合（つまり、比較部２２での比較処理の結果、リフレッシュカウンタ３のカウント値が、第三の閾値より大きな場合）には（以下、ケースεと称する）、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力しない（「０」の信号を出力する）。
【０１３３】
もし、比較部２２から「０」の信号が出力され（つまり、比較部２２での比較処理の結果、リフレッシュカウンタ３のカウント値が、第三の閾値以下である場合）、かつ、アイドルサイクル検出部２３から「０」の信号が出力される（つまり、アイドルサイクル検出部２３がアイドルサイクルを検出していない）場合には（以下、ケースζと称する）、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力しない（「０」の信号を出力する）。
【０１３４】
もし、比較部２２から「０」の信号が出力され、かつ、アイドルサイクル検出部２３から「１」の信号が出力される（アイドルサイクル検出部２３がアイドルサイクルを検出した）場合には（以下、ケースηと称する）、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力する（「１」の信号を出力する）。
【０１３５】
なお、ケースεのときは、アイドルサイクル検出部２３からの出力結果に関わらず、上記処理を行う。
【０１３６】
次に、図８に示した本実施の形態に係るメモリ制御装置１００の動作について説明する。なお、閾値設定部２１には、第三の閾値として「５０」が設定されている。また、平均リフレッシュ間隔設定部４には、平均リフレッシュ間隔値として「１０」が設定されている。
【０１３７】
また、バスマスタ２００からは、図９に示す一連（図９では５個である）のメモリアクセス要求から成るメモリアクセスシーケンス（図９では、途中に、メモリアクセス要求が出力されない部分「ＩＤＬＥ」も含まれている）が出力されるものとする。
【０１３８】
なお、図９内に示されている各記号の意味内容は、実施の形態１で説明した図５内に示された各記号のそれと同じである。
【０１３９】
また、図１０に、図９に示したメモリアクセスシーケンスに対する、図８で示した各回路の状態や信号の変化を示す。
【０１４０】
図１０において、１行目は、サイクル数である。２行目は、バスマスタ２００から出力されたメモリアクセス要求のＩＤ番号である。３行目は、リフレッシュカウンタ３のカウンタ値である。４行目は、比較部２２の出力信号である。５行目は、アイドルサイクル検出部２３の出力信号である。６行目は、リフレッシュ要求生成部８の出力信号である。
【０１４１】
また、７行目は、ＳＤＲＡＭコマンド発行部１０から出力される、ＳＤＲＡＭ３００に対するコマンドである。８行目は、ＳＤＲＡＭコマンド発行部１０から出力される、ＳＤＲＡＭ３００に対するＢＡＮＫアドレスである。さらに、９行目は、ＳＤＲＡＭコマンド発行部１０から出力される、ＳＤＲＡＭ３００に対するＲＯＷアドレスまたはＣＯＬＵＭＮアドレスである。
【０１４２】
なお、図１０において、「ＮＯＰ」は、ＳＤＲＡＭコマンド発行部１０から発行されるコマンドが無い状態を示す。図１０内に示されているそれ以外各記号の意味内容は、実施の形態１で説明した図６内に示された各記号のそれと同じである。
【０１４３】
まず、図１０に示されているように、第一サイクルでは、バスマスタ２００からメモリアクセス要求ＩＤ１が出力される。メモリアクセス要求ＩＤ１は、図９で示した様に、アドレスＢ１，Ｒ１，Ｃ１に対応する、ＳＤＲＡＭ３００の記憶素子からのデータ読み出し処理コマンドである。
【０１４４】
ＳＤＲＡＭ３００においては、メモリアクセス要求ＩＤ１の読み出し処理（第二サイクル）を行う前に、ＢＡＮＫアドレスＢ１、ＲＯＷアドレスＲ１の記憶領域に対して、バンクアクティベート処理が実行される（図１０の第一サイクル）。つまり、ＳＤＲＡＭコマンド発行部１０からは、読み出し処理コマンドの発行前に、バンクアクティベート処理コマンドが発行される。
【０１４５】
なお、このとき、リフレッシュカウンタ３のカウンタ値は、「５１」である。したがって、当該カウンタ値「５１」は、閾値設定部２１に記憶されている第三の閾値「５０」よりも大きいので、比較部２２からは、「１」の信号が出力される。
【０１４６】
さて、実施の形態１と同様に、リフレッシュカウンタ３のカウンタ値は、サイクル数が増加する度に、減少する。したがって、第二サイクル以降は、リフレッシュカウンタ３のカウンタ値は、第三の閾値以下となる。よって、比較部２２からは、「０」の信号が出力される（図６の４行目）。
【０１４７】
第二、三サイクルには、ＳＤＲＡＭコマンド発行部１０からは、該当するアドレスの記憶素子に対する読み出し処理コマンドが発行される。ここで、当該読み出しコマンドは、バスマスタ２００から出力された、図９で示したメモリアクセス要求ＩＤ１，ＩＤ２に従ったものである。
【０１４８】
なお、第二、三サイクル（リフレッシュカウンタ３のカウンタ値は、それぞれ「５０」および「４９」である）では、アイドルサイクルの検出はされない。よって、第二、三サイクルは、ケースζに該当する。したがって、リフレッシュ要求生成部８は、リフレッシュ要求を生成しない（つまり、リフレッシュ要求生成部８は、「０」の信号を出力する）。
【０１４９】
次に、第四サイクルには、アイドルサイクル検出部２３は、バスマスタ２００からメモリアクセス要求が出力されていないこと、および、ＳＤＲＡＭコマンド発行部１０からＳＤＲＡＭ３００に対してメモリアクセス要求が発行されていないこと、を検出する。つまり、アイドルサイクル検出部２３は、アイドルサイクルを検出する。
【０１５０】
したがって、アイドルサイクル検出部２３は、「１」の信号を出力し、リフレッシュ要求生成部８は、当該信号を受信する。
【０１５１】
ところで、第四サイクルには、リフレッシュカウンタ３のカウンタ値は、「４８」である。つまり、当該カウンタ値は、第三の閾値以下の条件を満たす。
【０１５２】
以上より、第四サイクルはケースηに該当し、リフレッシュ要求生成部８は、リフレッシュ要求を生成する。つまり、リフレッシュ要求生成部８は、「１」の信号を出力する（図１０参照）。
【０１５３】
したがって、第四サイクルには、ＳＤＲＡＭ３００に対するリフレッシュ処理に先立って、現在アクティブ状態にある記憶領域（アドレスＢ１，Ｒ１）を非アクティブ状態とするために、ＳＤＲＡＭコマンド発行部１０から、バンクプリチャージ処理コマンドが発行される。
【０１５４】
そして、当該バンクプリチャージ処理コマンド発行後、第５サイクルには（リフレッシュカウンタ値は、「４７」となる）、ＳＤＲＡＭコマンド発行部１０は、リフレッシュ要求に応じて、ＳＤＲＡＭ３００に対するリフレッシュ処理コマンドを発行する（図１０参照）。
【０１５５】
また、要求調停部９を介して出力されるリフレッシュ要求に応じて、リフレッシュカウンタ３は、現在のカウント値「４７」に、平均リフレッシュ間隔設定部４に記憶されている平均リフレッシュ間隔値「１０」を加算する（図６の第六サイクル）。
【０１５６】
したがって、第六サイクルでは、リフレッシュカウンタのカウント値「５７」は、第三の閾値よりも大きくなるので、比較部２２からは、「１」の信号が出力される。
【０１５７】
また、第六サイクルでは、メモリアクセス要求ＩＤ３の読み出し処理コマンドの発行（第七サイクル）前に、ＳＤＲＡＭコマンド発行部１０は、ＢＡＮＫアドレスＢ１、ＲＯＷアドレスＲ１の記憶領域に対する、バンクアクティベート処理コマンドを発行する。
【０１５８】
さて、第六サイクルから第十二サイクルまでは、リフレッシュカウンタ３のカウント値が、第三の閾値「５０」よりも大きい。これは、上記ケースεの場合である。
【０１５９】
したがって、第十一サイクルには、アイドルサイクル検出部２３は、アイドルサイクルを検出するが、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力しない（「０」の信号を出力し続ける）。
【０１６０】
よって、第六サイクルから第十二サイクルまでの期間は、アイドルサイクルの検出の有無に係らず、ＳＤＲＡＭコマンド発行部１０からは、バスメモリ２００から出力されるメモリアクセス要求ＩＤ３，４，５に従って、通常のデータ読み出し処理コマンド等が発行される（図６参照）。
【０１６１】
つまり、アクティブ状態にある記憶領域が、ＢＡＮＫアドレスＢｉ、ＲＯＷアドレスＲｉであり、バスマスタ２００から出力されたメモリアクセス要求が、ＢＡＮＫアドレスＢｉ、ＲＯＷアドレスＲｉの記憶領域に対するものであるとする（すなわち、両ＢＡＮＫ／ＲＯＷアドレスが完全に一致する場合）。
【０１６２】
このときは、バンクプリチャージ処理コマンドおよびバンクアクティベート処理コマンドの発行は行わず、ＳＤＲＡＭコマンド発行部１０からは、当該メモリアクセス要求に従ったデータの読み出し等の処理コマンドが発行される。
【０１６３】
また、アクティブ状態にある記憶領域が、ＢＡＮＫアドレスＢｉ、ＲＯＷアドレスＲｉであり、バスマスタ２００から出力されたメモリアクセス要求が、ＢＡＮＫアドレスＢｊ、ＲＯＷアドレスＲｊの記憶領域に対するものであるとする（すなわち、両アドレスのうち、ＢＡＮＫアドレスまたはＲＯＷアドレスが不一致の場合）。
【０１６４】
このときは、ＳＤＲＡＭコマンド発行部１０は、バンクプリチャージ処理コマンド、その後のバンクアクティベート処理コマンドの発行を行う。そして、その後に、ＳＤＲＡＭコマンド発行部１０は、当該メモリアクセス要求に従ったデータの読み出し等の処理コマンドを発行する。
【０１６５】
なお、第十一サイクルには、バスマスタ２００からのメモリアクセス要求が出力されなかったので、ＳＤＲＡＭコマンド発行部１０は、コマンドの発行は行わない（アイドルサイクル）。図１０では、「ＮＯＰ」と表記されている。
【０１６６】
以上のように、本実施の形態に係るメモリ制御装置１００は、ケースζ，ηのように、アイドルサイクルのタイミングを狙って、ＳＤＲＡＭ３００に対するリフレッシュ処理を実施している。したがって、下記の効果を有する。
【０１６７】
例えば、アイドルサイクルと異なるサイクルのときに、ＳＤＲＡＭ３００に対するリフレッシュ処理を実施したとする。この場合には、アイドルサイクル数Ｎ１とリフレッシュ処理に要するサイクル数Ｎ２（バンクプリチャージ処理に要するサイクル数＋リフレッシュ処理に要するサイクル数＋バンクアクティベート処理に要するサイクル数）とが必要である。つまり、合計Ｎ１＋Ｎ２のサイクル数を要する。
【０１６８】
しかし、本実施の形態のようにアイドルサイクルを利用して、当該アイドルサイクルのときにリフレッシュ処理を施すことにより、アイドルサイクル数Ｎ１を削減できる。つまり、合計のＮ２のサイクル数だけで良くなる。
【０１６９】
したがって、本実施の形態に係るメモリ制御装置１００を採用することにより、ＳＤＲＡＭ３００に対するリフレッシュ処理が施されたとしても、実効的なデータ転送効率の損失を最小限にすることができる。
【０１７０】
また、本実施の形態に係るメモリ制御装置１００おいても、平均リフレッシュ間隔値を保持する平均リフレッシュ間隔設定部４を有している。そして、リフレッシュ処理が実施された場合には、リフレッシュカウンタ３のカウンタ値に平均リフレッシュ間隔値が加算される。
【０１７１】
したがって、実施の形態１と同様に、リフレッシュ処理の間隔は一定になることはないが、長期的に見た場合には、リフレッシュ処理の平均的な間隔は、平均リフレッシュ間隔値とほぼ等しくすることができる。
【０１７２】
また、本実施の形態係るメモリ制御装置１００は、第三の閾値とリフレッシュカウンタ３のカウント値とを比較する比較部２２を有している。そして、比較部２２の比較の結果、カウンタ値が第三の閾値より大きいときには、リフレッシュ要求生成部８は、リフレッシュ要求を生成することはない。
【０１７３】
第三の閾値は、あまりに低く設定しすぎると、リフレッシュ処理が必要であるにもかかわらず、されない可能性が高くなる。これに対して、第三の閾値を、あまりに高く設定しすぎると、不必要なリフレッシュ処理が頻繁に行われる可能性がある。
【０１７４】
したがって、第三の閾値を経験則等に基いて適正な値に設定することにより、ＳＤＲＡＭ３００内に記憶されている電荷量が十分であり、リフレッシュ処理を行う必要がない場合での、無用なＳＤＲＡＭ３００のリフレッシュ処理を防止することができる。
【０１７５】
また、本実施の形態に係るメモリ制御装置１００においても、要求調停部９、ＳＤＲＡＭコマンド発行部１０を有している。したがって、実施の形態１で説明した効果と同様の効果を、本実施の形態においても得ることができる。
【０１７６】
なお、上記では、ＳＤＲＡＭコマンド発行部１０は、バンクを区別せずにアクティブＲＯＷ情報ＡＲの管理（保持）を行っていた。つまり、アクティブＲＯＷ情報ＡＲ内のＢＡＮＫアドレス、ＲＯＷアドレスと、メモリアクセス要求内のＢＡＮＫアドレス、ＲＯＷアドレスとが、各々同じときには、バンクプリチャージ・バンクアクティベート処理を実施することは無かった。これは、メモリアクセスの効率化のための制御である。
【０１７７】
一方、実施の形態１で説明したように、ＳＤＲＡＭコマンド発行部１０を、バンクを区別してアクティブＲＯＷ情報ＡＲを管理（保持）する構成としても良い。つまり、アクティブＲＯＷ情報内のＲＯＷアドレスと、メモリアクセス要求内のＲＯＷアドレスとが同じときに、バンクプリチャージ・バンクアクティベート処理を不実施としても良い。これにより、前者の場合と比べて、よりメモリアクセスの効率化を図ることができる。
【０１７８】
＜実施の形態３＞
本実施の形態に係るメモリ制御装置は、実施の形態１と実施の形態２との組合せである。つまり、本実施の形態に係るメモリ制御装置は、バンクアクティベート処理が必要なタイミングと、バスマスタからのメモリアクセス要求が無いアイドルサイクルのタイミングとを狙って、ＳＤＲＡＭに対してリフレッシュ処理を施すことを特徴とする。図１１は、本実施の形態に係るメモリ制御装置の構成を示すブロック図である。
【０１７９】
本実施の形態に係るメモリ制御装置１００（図１１）は、実施の形態１に係るメモリ制御装置１００（図４）に、実施の形態２に係るメモリ制御装置１００（図８）が有していた、アイドルサイクル検出部２３と閾値設定部（本実施の形態では、第三の閾値設定部と称する）２１と比較部（本実施の形態では、第三の比較部と称する）２２とを加えたものである。
【０１８０】
その他の回路および構成等は、実施の形態１，２と同様なので、ここでの説明は省略する。
【０１８１】
また、図１１には、実施の形態１，２と同様に、メモリ制御装置１００の他に、バスマスタ２００およびＳＤＲＡＭ３００も図示している。バスマスタ２００およびＳＤＲＡＭ３００の説明は、実施の形態１，２の通りである。
【０１８２】
本実施の形態に係るＳＤＲＡＭコマンド発行部１０では、図１１に示すように、４つのバンク毎にアクティブＲＯＷ情報ＢＡＲを管理（保持）している。つまり、メモリアクセス要求内のバンクアドレスに対応したアクティブＲＯＷ情報内のＲＯＷアドレスと、メモリアクセス要求内のＲＯＷアドレスとが同じときには、バンクプリチャージ・バンクアクティベート処理を実施しない。
【０１８３】
本実施の形態に係るリフレッシュ要求生成部８の論理を、図１２を基に説明する。
【０１８４】
図１２において、縦軸はリフレッシュカウンタ３のカウンタ値である。また、横軸は、サイクル数である。また、第一、二、三の閾値は、各々第一の閾値設定部１、第二の閾値設定部２および第三の閾値設定部２１に設定されている閾値である。
【０１８５】
また、「丸印」は、メモリアクセス要求のＢＡＮＫ・ＲＯＷアドレスとアクティブＲＯＷ情報のＢＡＮＫ・ＲＯＷアドレスとが、それぞれ一致する場合である。「星印」は、モリアクセス要求のＢＡＮＫアドレスまたはＲＯＷアドレスが、アクティブＲＯＷ情報のＢＡＮＫアドレスまたはＲＯＷアドレスと不一致の場合である。また、「四角印」は、アイドルサイクルを検出した場合である。また、「矢印」は、リフレッシュ処理後の平均リフレッシュ間隔値の加算を示す。
【０１８６】
リフレッシュカウンタ３のカウンタ値が、第三の閾値よりも大きいときには、リフレッシュ要求生成部８は、アイドルサイクルの検出部２３の結果およびＢＡＮＫ／ＲＯＷアドレス比較部７の結果に関わらず、リフレッシュ要求信号を出力しない（「０」の信号を出力する）。
【０１８７】
また、リフレッシュカウンタ３のカウンタ値が、第三の閾値以下で、第二の閾値よりも大きいときには、もし、アイドルサイクルサイクル検出部２３がアイドルサイクルを検出すれば、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力する（「１」の信号を出力する）。
【０１８８】
しかし、アイドルサイクルサイクル検出部２３がアイドルサイクルを検出しない場合には、リフレッシュ要求生成部８は、ＢＡＮＫ／ＲＯＷアドレス比較部７の結果に関わらず、リフレッシュ要求信号を出力しない（「０」の信号を出力する）。
【０１８９】
また、リフレッシュカウンタ値が、第二の閾値以下で、第一の閾値よりも大きいときには、もし、アイドルサイクルサイクル検出部２３がアイドルサイクルを検出した場合、または、ＢＡＮＫ／ＲＯＷアドレス比較部７が、アクティブＲＯＷ情報のＢＡＮＫアドレス・ＲＯＷアドレスとメモリアクセス要求のＢＡＮＫアドレス・ＲＯＷアドレスとの不一致を確認した場合には、それぞれの場合において、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力する（「１」の信号を出力する）。
【０１９０】
しかし、アイドルサイクルサイクル検出部２３がアイドルサイクルを検出しない場合、および、ＢＡＮＫ／ＲＯＷアドレス比較部７が、アクティブＲＯＷ情報のＢＡＮＫアドレス・ＲＯＷアドレスとメモリアクセス要求のＢＡＮＫアドレス・ＲＯＷアドレスとの一致を確認した場合には、リフレッシュ要求生成部８は、リフレッシュ要求信号を出力しない（「０」の信号を出力する）。
【０１９１】
また、リフレッシュカウンタ値が、第一の閾値以下のときには、リフレッシュ要求生成部８は、アイドルサイクルサイクル検出部２３の検出結果およびＢＡＮＫ／ＲＯＷアドレス比較部７の比較結果に関わらず、強制的にリフレッシュ要求信号を出力する（「１」の信号を出力する）。
【０１９２】
以上のように、本実施の形態に係るメモリ制御装置１００は、実施の形態１，２に係るメモリ制御装置１００を組み合わせているので、実施の形態１，２と同様な効果を奏することができる。
【図面の簡単な説明】
【０１９３】
【図１】メモリアクセスシーケンス例を示す図である。
【図２】データの転送効率の悪い例のコマンドシーケンスを示す図である。
【図３】データの転送効率の良い例のコマンドシーケンスを示す図である。
【図４】実施の形態１に係るメモリ制御装置の構成を示す図である。
【図５】実施の形態１に係るメモリ制御装置の動作を説明するためのメモリアクセスシーケンス例を示す図である。
【図６】実施の形態１に係るメモリ制御装置の動作を説明するための図である。
【図７】リフレッシュカウンタのカウンタ値の変化の様子を示す図である。
【図８】実施の形態２に係るメモリ制御装置の構成を示す図である。
【図９】実施の形態２に係るメモリ制御装置の動作を説明するためのメモリアクセスシーケンス例を示す図である。
【図１０】実施の形態２に係るメモリ制御装置の動作を説明するための図である。
【図１１】実施の形態３に係るメモリ制御装置の構成を示す図である。
【図１２】リフレッシュカウンタのカウンタ値の変化の様子を示す図である。
【符号の説明】
【０１９４】
１  第一の閾値設定部、２  第二の閾値設定部、３  リフレッシュカウンタ、４  平均リフレッシュ間隔設定部、５  第一の比較部、６  第二の比較部、７  ＢＡＮＫ／ＲＯＷアドレス比較部、８  リフレッシュ要求生成部、９  要求調停部、１０  ＳＤＲＡＭコマンド発行部、２１  （第三の）閾値設定部、２２  （第三の）比較部、２３  アイドルサイクル検出部、１００  メモリ制御装置、２００  バスマスタ、３００  ＳＤＲＡＭ。
【図１】
2006004464.tif 000003
【図２】
2006004464.tif 000004
【図３】
2006004464.tif 000005
【図４】
2006004464.tif 000006
【図５】
2006004464.tif 000007
【図６】
2006004464.tif 000008
【図７】
2006004464.tif 000009
【図８】
2006004464.tif 000010
【図９】
2006004464.tif 000011
【図１０】
2006004464.tif 000012
【図１１】
2006004464.tif 000013
【図１２】
2006004464.tif 000014