(57)【要約】      （修正有）【課題】ＤＲＡＭを主記憶に使用しＬＳＩ内蔵メモリを一時記憶として使用するメモリシステムにおいて、ＤＲＡＭへの書き戻し時間を短くする。【解決手段】内蔵メモリからＤＲＡＭへの書き戻し時に同一のＤＲＡＭページのアクセスは連続して発行されるようにアクセス順序を生成し、別のＤＲＡＭページへのアクセスは直前に書き戻しを行ったＤＲＡＭバンクと異なるバンクとなるようにアクセス順序を生成する。さらに、内蔵メモリをキャッシュとして使用し、キャッシュ内に保持されたデータの無効化を行う際に同一のＤＲＡＭページに対応するエントリは連続して無効化し、別のＤＲＡＭページに対応するエントリは直前に無効化したＤＲＡＭバンクとは異なるバンクとなるように無効化する。【選択図】図１
2012083946.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭデバイスへの複数のメモリアクセスを保持する内部メモリと、
ＤＲＡＭデバイスの構成に基づきメモリアクセス期間が短くなるように内部メモリに保持されたメモリアクセスデータをＤＲＡＭデバイスへ書き戻す制御手段と
を有することを特徴とするメモリ制御装置。
【請求項２】
前記メモリ制御手段は、前記内部メモリに保持されたメモリアクセスで同一のＤＲＡＭページのアクセスは連続して発行されるようアクセス順序を生成し、別のＤＲＡＭページへのアクセスは直前に書き戻しを行ったＤＲＡＭバンクと異なるバンクとなるようにアクセス順序を生成することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記内部メモリは、外部主記憶に対するメモリアクセスの一時記憶として用いられることを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項４】
前記内部メモリはキャッシュメモリとして用いられることを特徴とする請求項１乃至３のいずれか１項に記載のメモリ制御装置。
【請求項５】
前記内部メモリをキャッシュメモリとして用いるＣＰＵを更に有し、前記ＣＰＵはキャッシュ内に保持された複数のデータエントリの無効化を行う際に、同一のＤＲＡＭページに対応するエントリに関しては連続して無効化を行い、別のＤＲＡＭページに対応するエントリに関しては可能な限り直前に無効化したＤＲＡＭバンクとは異なるバンクに相当するエントリの無効化を行うことを特徴とする請求項４に記載のメモリ制御装置。
【請求項６】
前記内部メモリはＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であることを特徴とする請求項１乃至５のいずれか１項に記載のメモリ制御装置。
【請求項７】
ＤＲＡＭデバイスへの複数のメモリアクセスを保持する内部メモリと当該内部メモリを制御するメモリ制御手段とを有するメモリ制御装置によるメモリ制御方法であって、
前記メモリ制御手段が、前記ＤＲＡＭデバイスの構成に基づきメモリアクセス期間が短くなるように内部メモリに保持されたメモリアクセスデータをＤＲＡＭデバイスへ書き戻す内部メモリ制御工程を有することを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体メモリを制御するメモリ制御装置、メモリ制御方法に関わるものである。
【背景技術】
【０００２】
組み込み系システムでは、ＣＰＵの他、特定の機能を実現する機能ブロック・処理モジュールを複数搭載しシステムに求められる機能を実現している。特に要求される性能の高い機能ブロックに関してはハードワイヤードロジックで回路を実装することで、ソフトウエア処理では達成することが困難な高性能・高速処理を実現している。多くの機能ブロックではデータの授受は外部主記憶デバイスを介して行う。また複雑な処理や多くのデータを参照する処理では、主記憶を一時記憶・ワークメモリとして使用することで機能を実現している。多くの組み込み系システムでは外部主記憶にＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）デバイスを採用している。
【０００３】
近年デジタル機器において、高機能／高性能化が継続的に進展している。例えばデジタルカメラ等の映像入力機器やプリンタ等の画像出力機器において高解像度化が進展しており、取り扱うデータ量も増加しているので、単位時間内に多くのデータ量を取り扱うためにメモリアクセスの高速化が必要である。また、リアルタイム処理を必要とする動画像においてもＨＤ（ｈｉｇｈ  ｄｅｆｉｎｉｔｉｏｎ）化が進展しており、更なるメモリアクセスの高速化が必要である。
【０００４】
外部主記憶に使用されるＤＲＡＭデバイスにおいても、半導体プロセスの進化に伴い高速化、広帯域化が進んでいる。しかしながら、半導体プロセスの進化によるＬＳＩ内部の集積度、演算処理性能の向上速度が著しいため、ＬＳＩ内に実装されるシステムに要求されるメモリアクセス性能と外部主記憶の性能に乖離が生じている。
【０００５】
本課題を解決する手法として、主記憶を一時記憶・ワークメモリとして使用を想定しているケースにおいて、より小容量のＬＳＩ内蔵メモリの使用が挙げられる。これは外部主記憶より小容量の一時記憶としてＬＳＩ内部に高速な内蔵メモリを実装し高速メモリアクセスが必要な場合は内蔵メモリを使用する。外部主記憶の保持するデータと整合性を取るために、メモリアクセス終了後に内蔵メモリに保持されたデータを外部主記憶に書き戻しを行うという手法がある。その代表がＣＰＵ等に実装されるキャッシュメモリである。
【０００６】
また、近年のデジタル機器において省電力化が一つの大きな課題となっている。半導体のプロセス技術の進化による回路の微細化に伴い、コア電圧の低下により動的な消費電力の低減を図ることが出来る反面、リーク電流により静的な消費電力が増加する傾向にある。更にデジタル機器のシステムにおいて、外部主記憶が消費する消費電力は無視できない一つの要因となっている。ＤＲＡＭデバイスは省電力モードを有しており、その機能を使用して消費電力の削減が図られている。ここで、特許文献１、２のように、外部主記憶を省電力モードで動作させている期間、主記憶へのメモリアクセスをＬＳＩ内蔵メモリに保持する方法がある。この方法ではＬＳＩ内蔵メモリに保持されたデータは、ＤＲＡＭが省電力モードより復帰したタイミングにＳＤＲＡＭに書き戻している。
【０００７】
ＤＲＡＭデバイス内部は複数のバンクで構成され、各バンクはページと呼ばれる複数の領域に分割されている。図４にＤＲＡＭへのアクセス時の制御フローを示す。ＤＲＡＭに対するメモリアクセスは、バンクと行アドレスを指定とページを活性化させるコマンド（アクティブコマンド）を発行する。アクティブコマンドにてページの選択を行った後（以後ページオープンと記す）に、列アドレスの指定とリード・ライトといったメモリアクセスコマンドを発行することで実現される。継続して同一のページ内のアドレスに対してメモリアクセスを発行する場合には再度ページオープン処理を行う必要は無い。列アドレスの指定とメモリアクセスコマンドを発行することによりアクセス可能である。
【０００８】
しかしながら、同一バンク内で活性化されているページ以外の別のページへメモリアクセスを発行する場合には、一旦バンク内の活性化されているページを非活性化するコマンド（プリチャージコマンド）を発行が必要である。その後アクセス対象のページオープン処理を行った後に、メモリアクセスコマンドを発行する必要がある。この様に、活性化されているページ以外の別のページへメモリアクセスを発行することはページミスと呼ばれる。さらに、それに要するプリチャージコマンドとページオープン処理に要する期間をページミスペナルティと呼ばれる。
【０００９】
このページミスペナルティを低減する方法として、一般的にバンクインターリーブが用いられる。これはＤＲＡＭのアクセスプロトコルで行アドレスコマンドと列アドレスコマンドのパイプライン処理を利用したものである。行アドレスコマンドを発行する場合には、同一バンクに対する前コマンドが完了していないと発行が出来ない。すなわちページミスとなるメモリアクセスはプリチャージが完了するまで発行が待たされることとなる。しかし、異バンクに対するメモリアクセスであれば、別バンクのメモリアクセス完了前に行アドレスコマンドを発行することが可能である。従って、ページミスが発生した場合において、異バンクへのメモリアクセスを発行することでページミスのオーバーヘッドを隠蔽することが可能である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０００−２０７２７７号公報
【特許文献２】特開２００３−５９２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
また、ＤＲＡＭを省電力モードに投入した際にＬＳＩ内蔵メモリを使用してバッファリングする構成にした場合、省電力モード復帰時に内蔵メモリに蓄積されたデータを書き戻した後、再度省電力モードに投入する方法が考えられる。この方法では、書き戻しの際に、ＦＩＦＯバッファ的にアクセスされた順にメモリコマンドを発行する。
【００１２】
しかしながら、書き戻しの際にページ遷移が多いとＤＲＡＭのページミスペナルティによりアクセス期間が長くなってしまう。書き戻しに要する期間が長くなると通常モードで動作する期間が長くなり（省電力モードで動作する期間が短くなり）、省電力効果が限定されてしまう。
【００１３】
従って、本発明ではＤＲＡＭを主記憶に使用しＬＳＩ内蔵メモリを一時記憶として使用するメモリシステムの書き戻し期間を短くすることを目的とする
【課題を解決するための手段】
【００１４】
上記課題を解決するため本発明に係るメモリ制御装置は、ＤＲＡＭデバイスへの複数のメモリアクセスを保持する内部メモリと、ＤＲＡＭデバイスの構成に基づきメモリアクセス期間が短くなるように内部メモリに保持されたメモリアクセスデータをＤＲＡＭデバイスへ書き戻す制御手段と有することを特徴とする。
【発明の効果】
【００１５】
本発明によると、ＬＳＩ内蔵メモリに保持された主記憶へのメモリアクセスの発行順序をＤＲＡＭのアクセス形態を考慮し順序制御することにより、書き戻しのメモリアクセス期間を短くすることが可能となる。
【００１６】
従って、外部主記憶のメモリアクセス帯域を補完するためにＬＳＩ内蔵メモリを使用するシステムにおいては、メモリアクセス帯域への影響を小さくすることが可能となり、システム全体のメモリアクセス帯域確保に寄与する。一方で、ＤＲＡＭ省電力モード時にＬＳＩ内蔵メモリを使用するシステムにおいては、書き戻し完了後再度省電力モードへ投入するまでの期間を短くし、省電力効果を向上させることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】メモリ書き戻し順序を作成する処理を示すフローチャートである。
【図２】メモリシステムの概略構成を示す図である。
【図３】内蔵メモリ制御処理を示すフローチャートである。
【図４】内蔵ＳＲＡＭに保持されるＳＲＡＭデータ構成例である。
【図５】メモリアクセス受信時のメモリアクセス制御部の処理を示すフローチャートである。
【図６】パワーダウン制御時のメモリアクセス制御部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
＜実施形態１＞
図２本発明の一実施形態であり、外部主記憶にＤＲＡＭ２０１（ＤＲＡＭデバイス）を有したＬＳＩ２００の概略構成を示す。ＬＳＩ２００の内部構成としては複数のバスマスタ２０３〜２０５がシステムバス２０２を介しスレーブデバイスであるメモリアクセス制御部２０６に接続されているものとする。バスマスタ２０３〜２０５は、外部主記憶であるＤＲＡＭ２０１のメモリ空間を一時記憶領域として使用し、任意の処理を実行するモジュールである。
【００１９】
次に、メモリアクセス制御部２０６の構成を説明する。バスインターフェース２０８はバスマスタ２０３〜２０５からのメモリアクセスコマンド（以下、メモリアクセスと称す）を受信する。メモリアクセスは、ＲＥＡＤ、ＷＲＩＴＥ等のメモリへのアクセス種別を示す情報や、アクセスする領域を示すアドレスを含んでいる。バスインターフェース２０８は受信したメモリアクセスをコマンドキュー２１１へ伝達する。コマンドキュー２１１は受信したメモリアクセスを保持し、メモリアクセスを発行可能なタイミングでメモリデバイス制御部２１３にアクセスを伝達する機能を有する。メモリデバイス制御部２１３は、コマンドキュー２１１からメモリアクセスを受信する。そして、受信したメモリアクセスをＤＲＡＭ２０１のアクセスプロトコルに変換し、指定されたアドレス空間へのメモリアクセス発行制御を司る。パワーダウン制御部２１２は、ＤＲＡＭ２０１のパワーダウンコマンド（省電力に関する指示）を発行する制御をする。なお、本実施形態の説明ではＤＲＡＭ２０１の１つをメモリデバイス（又はデバイス）と称する。ここで、ＤＲＡＭ２０１の１つはＤＲＡＭチップの事を示す。例えば、ＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）規格を採用した基盤の場合には複数のＤＲＡＭチップを基盤上に有することになる。
【００２０】
本実施形態では下記の条件を満たした際に、パワーダウン制御部２１２が着目デバイスに対するパワーダウン投入コマンドをＤＲＡＭ２０１に対して発行するものとする。
・コマンドキュー２１１内に着目デバイスに対するメモリアクセスが存在しない場合。
・メモリデバイス制御部２１３が着目デバイスにメモリアクセスを発行制御していない場合。
【００２１】
以下、アクセス振り分け部２０９と内部メモリ制御部２１０の制御を図３のフローチャートを用いて説明する。
バスインターフェース２０８内のアクセス振り分け部２０９は、バスマスタ２０３〜２０５より受信したメモリアクセスをＬＳＩに内蔵されたＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０７へのアクセスあるいはＤＲＡＭ２０１へのアクセスに振り分ける。アクセス振り分け部２０９はパワーダウン制御部２１２からＤＲＡＭ２０１が省電力状態にあることを示すパワーダウン状態情報を受信する。アクセス振り分け部２０９は、受信したメモリアクセスのアクセス対象がパワーダウン中のデバイスである場合（Ｓ３０１、Ｙｅｓ）はＳＲＡＭ２０７へのアクセスに振り分け、そうでなければＤＲＡＭ２０１へのアクセスに振り分ける（Ｓ３０２、Ｎｏ）。アクセス振り分け部２０９によって振り分けられたライトアクセスは、ライトアクセスに対応するフラグと、書き込む先の領域を示すアドレスと、書き込むデータと、を１組としてバスインターフェース２０８によってコマンドキュー２１１あるいは内蔵メモリ制御部２１０に伝達される（Ｓ３０２）。リードアクセスの場合はリードアクセスに対応するフラグと読み出し元のアドレスが１組として伝達される（Ｓ３０２）。
【００２２】
内蔵メモリ制御部２１０では、受信したメモリアクセスがライトアクセスである場合（Ｓ３０３、Ｙｅｓ）、アドレスとデータとを１組としてＳＲＡＭ２０７への書き込み制御を行う。リードアクセスである場合（Ｓ３０３、Ｎｏ）は、まず該当アドレスのデータがＳＲＡＭ２０７に存在するかどうかを走査する（Ｓ３０５）。ＳＲＡＭ２０７内にリードアクセスの対象のデータが存在する場合（Ｓ３０５、Ｙｅｓ）は、該当データをＳＲＡＭ２０７より読み出し、メモリアクセスを完了する。ＳＲＡＭ２０７内にデータが存在しない場合（Ｓ３０５、Ｎｏ）は、内部メモリ制御部２１０がＳＲＡＭ２０７にデータが存在しなかったリードアクセスをコマンドキュー２１１に伝達する。
【００２３】
上記で示した通り、コマンドキュー２１１にパワーダウン中のデバイスに対するメモリアクセスが送信されたため、パワーダウン制御部２１２はメモリアクセス対象として該当するデバイス（以下、単に該当デバイスと称す）に対してパワーダウン解除コマンドを発行する。また、パワーダウン制御部２１２はパワーダウン状態情報を内部メモリ制御部２１０とバスインターフェース２０８へ伝達する。内蔵メモリ制御部２１０はパワーダウン制御部２１２から伝達されるパワーダウン状態情報の変化に基づいて、パワーダウンから解除されたデバイスを検知すると書き戻し制御を行う。書き戻し制御は、内部メモリ制御部２１０がＳＲＡＭに保持した該当デバイスへのデータをＳＲＡＭ２０７より読み出し、コマンドキュー２１１に伝達することにより実現される。
【００２４】
以下、内蔵メモリ制御部２１０とＳＲＡＭ２０７構成の詳細を示す。図４に示すように、ＳＲＡＭ２０７はアドレス情報を保持するインデックスＳＲＡＭ４００とデータを保持するデータＳＲＡＭ４１０の組を有する。また、図４に示すようにインデックスＳＲＡＭ４００は以下の情報を保持している。
・  保持されたデータエントリが有効であるか否かを示すフラグ４０１。
・  アクセス対象のデバイスを示すデバイスアドレス４０２
・  バンクアドレス４０３
・  行アドレス４０４
・  列アドレス４０５
フラグ４０１は１ビットであるが、デバイスアドレス４０２、バンクアドレス４０３、行アドレス４０４、列アドレス４０５等は接続されるデバイスによりビット幅が決定される。そして各情報のビット幅の総和がインデックスＳＲＡＭ４００のデータ幅となる。ＤＲＡＭ２０１のデバイス数が４デバイス（２ビット）、バンクアドレスが３ビット、行アドレスが１３ビット、列アドレスが１０ビットであると、１＋２＋３＋１３＋１０＝２９ビットのデータ幅がインデックスＳＲＡＭ４００を必要とする。
【００２５】
一つのＤＲＡＭの構成を例にとって説明したが、複数種類のＤＲＡＭ構成の接続が可能な場合は、総和が最大となる種類のＤＲＡＭに応じてインデックスＳＲＡＭ４００のデータ幅を決定すればよい。また、データＳＲＡＭ４１０には、ＤＲＡＭ２０１へのアクセス単位のデータ幅でデータが保持される。接続されるＤＲＡＭのデータ幅を８ビットとして取り扱い、バースト長が４ビートで処理が行われる場合８ｘ４＝３２ビットのデータ幅が必要となる。各ＳＲＡＭの同一番地には、ライトアクセスとして受信したアドレスとデータの対として保持される。
【００２６】
図４のＳＲＡＭの０ｘ３番地に保持している情報は、ＤＲＡＭのデバイスアドレスが０、バンクアドレスが１番地、行アドレスが０ｘ００２番地、列アドレスが０ｘ００４番地でデータが０ｘ１２３４＿５６７８であることを示している。
【００２７】
内蔵メモリ制御部２１０は、受信したメモリアクセスをＳＲＡＭ２０７へリード／ライトする処理を行う第１制御部とＤＲＡＭ２０１へ書き戻し処理を行う第２制御部を有する。第１制御部はＳＲＡＭ４００、４１０への書き込み、読み出し処理の制御を行う。ＤＲＡＭ２０１への書き戻し処理を行う第２制御部はデータＳＲＡＭ４１０に対しては読み出し処理のみを行い、インデックスＳＲＡＭ４００に対しては書き込み、読み出し処理の双方を行う。上記２つの制御部とおのおののＳＲＡＭ（４００、４１０）との接続形態は任意である。すなわち、２つの制御部からＳＲＡＭへのアクセスの調停部を介して接続する形態にしてもよいし、２つの制御部がそれぞれ独立してＳＲＡＭへのアクセスパスを有する形態にしてもよい。前者は、共通のバスを介して其々の制御部に接続されている単一ポートのＳＲＡＭで構成することができ、後者は複数ポートを有するＳＲＡＭで構成することができる。アクセス性能を確保する場合は、データＳＲＡＭ４１０は２つのリードポートと１つのライトポートを有したＳＲＡＭにて構成することが望ましい。また、インデックスＳＲＡＭ４００は２つのリードポートと２つのライトポートを有したＳＲＡＭで構成することが望ましい。
【００２８】
受信したメモリアクセスの処理を行うメモリアクセス制御部２０６の処理の詳細を図５のフローチャートに基づいて説明する。メモリアクセス制御部２０６はアドレス振り分け部２０９よりメモリアクセスを受信すると、受信したアクセスアドレスに相当するアドレスがインデックスＳＲＡＭ４００内に存在するかの検索を実行する（Ｓ５００）。そして、インデックスＳＲＡＭ４００内に存在した場合、受信したメモリアクセスがリードアクセスかライトアクセスかにより処理を切り換える（Ｓ５０１）。リードアクセスであった場合、データＳＲＡＭ４１０に対して検索結果ヒットしたアドレスより読み出し処理を行う（Ｓ５０４）。ライトアクセスであった場合は、データＳＲＡＭ４１０の検索結果ヒットしたアドレスに対して、受信したデータの書き込み処理を行う（Ｓ５０３）。
【００２９】
一方、ステップＳ５００でアクセスアドレスに相当するアドレスがインデックスＳＲＡＭ４００に存在しなかった場合、受信したメモリアクセスがリードアクセスかライトアクセスかによって処理を切り換える（Ｓ５０２）。リードアクセスであった場合、受信したメモリアクセスをコマンドキュー２１１に対して伝達する（Ｓ５０５）。
【００３０】
ライトアクセスであった場合（Ｓ５０６）、新規メモリアクセスとしてインデックスＳＲＡＭ４００のフラグ４０１が立っていないエントリのＳＲＡＭアドレスに対して、インデックスＳＲＡＭ４００とデータＳＲＡＭ４１０の双方に書き込み処理を行う。インデックスＳＲＡＭ４００に対しては、フラグを立て、受信アドレスをＤＲＡＭ２０１のデバイスアドレス、バンクアドレス、行アドレス、列アドレスに分割して書き込む。データＳＲＡＭ４１０に対しては、受信したメモリアクセスデータの書き込みを行う。
【００３１】
インデックスＳＲＡＭ４００のフラグ４０１が立っていないエントリの探索方法として、本実施形態ではＳＲＡＭアドレスカウンタを配置し、ＳＲＡＭへの新規エントリの書き込みの度に加算する。この場合、カウンタがＳＲＡＭのアドレス上限に達した場合は、ＳＲＡＭに書き込まれたデータを後述のフローに則りＤＲＡＭ（２０１）へ書き戻し処理を行ってもよい。
【００３２】
一方エントリを探索する際に、受信したアクセスアドレスに相当するアドレスがインデックスＳＲＡＭ４００内に存在するかの検索実行時に合わせてフラグ４０１の立っていないエントリを探索しても構わない。この場合、フラグ４０１の立っていないエントリが存在しない時には同様にＤＲＡＭ２０１へ書き戻し処理を行ってもよい。
【００３３】
次に、書き戻し処理を行うメモリアクセス制御部の処理を図６、図７のフローチャートに基づいて説明する。書き戻し処理は内蔵メモリ制御部２１０に対するイベントに応じて開始される。第２制御部は、パワーダウン制御部２１２からの通知されるパワーダウン状態情報の変化に基づいて書き戻し処理を開始する。具体的には、通知されるパワーダウン状態情報から、パワーダウン状態から復帰したデバイスの存在を検知したことをトリガー条件とする。
【００３４】
メモリアクセス制御部はパワーダウン状態からの復帰イベントを検知すると、インデックスＳＲＡＭ４００内のデバイスアドレス４０２を検索し、パワーダウンから復帰したデバイスに該当するデータの存在を検索する（Ｓ６００）。検索した結果、パワーダウンから復帰したデバイスに該当するデータが存在した場合は該当するＳＲＡＭアドレスからインデックスＳＲＡＭ４００からはＤＲＡＭ２０１へのアクセスアドレス、データＳＲＡＭ４１０からは書き戻しデータを読み出す。読み出したアドレス、データはコマンドキュー２１１に伝達する（Ｓ６０１）。
【００３５】
次に、内部メモリ制御部２１０が複数のエントリに対して書き戻す際の書き戻し順序作成フロー（Ｓ６０１の詳細フロー）を示す。
【００３６】
第２制御部は書き戻し処理が開始されると、書き戻し対象として該当するデバイスに対する第一エントリについて、インデックスＳＲＡＭ４００、データＳＲＡＭ４１０よりアドレス、データを読み出し、コマンドキューに転送する（Ｓ７００）。本実施形態では、第１エントリは該当デバイスの検索において最初にヒットしたエントリを第１エントリとして選択するが、他の方法であってもよい。また読み出しと同時にインデックスＳＲＡＭ４００のフラグ４０１のクリアを行う。
【００３７】
第一エントリに対する書き戻し処理終了後、該当デバイスに対して保持された他のエントリがないかを検索する（Ｓ７０６）。エントリがない場合は書き戻し処理が終了し、エントリが存在した場合は、次のステップ（Ｓ７０１）へと移行する。次のステップでは、前に転送したメモリアクセスに対して同一ページのアクセスの存在を検索する。つまり、インデックスＳＲＡＭ４００内のデバイスアドレス４０２、バンクアドレス４０３、行アドレス４０４を参照し、コマンドキュー２１１に直前に転送したメモリアクセスと同一のものが存在するかを検索する（Ｓ７０１）。同一のものが存在した場合、該当エントリに対して、インデックスＳＲＡＭ４００、データＳＲＡＭ４１０よりアドレス、データを読み出し、コマンドキューに転送する（Ｓ７０２）。読み出しと同時にインデックスＳＲＡＭ４００のフラグ４０１のクリアを行う。
【００３８】
一方、検索した結果（Ｓ７０１）、同一ページのメモリアクセスが存在しなかった場合、前転送先のＤＲＡＭバンクと異なるＤＲＡＭバンクへのメモリアクセスを検索する。すなわち、インデックスＳＲＡＭ４００内のデバイスアドレス４０２及びバンクアドレス４０３が、コマンドキュー２１１に直前に転送したメモリアクセスのデバイスアドレス４０２及びバンクアドレス４０３と同一のものを検索する（Ｓ７０３）。デバイスアドレス及びバンクアドレスが同一のメモリアクセスが存在した場合は、該当エントリに対して、インデックスＳＲＡＭ４００、データＳＲＡＭ４１０よりアドレス、データを読み出し、コマンドキューに転送する（Ｓ７０４）。また、読み出しと同時にインデックスＳＲＡＭ４００のフラグ４０１のクリアを行う。
【００３９】
一方デバイスアドレス及びバンクアドレスが同一のメモリアクセスが存在しなかった場合、インデックスＳＲＡＭ内で書き戻し該当デバイスの任意のエントリに対してインデックスＳＲＡＭ４００、データＳＲＡＭ４１０よりアドレス、データを読み出し、コマンドキューに転送する（Ｓ７０５）。また、読み出しと同時にインデックスＳＲＡＭ４００のフラグ４０１のクリアを行う。
【００４０】
それぞれのフロー終了後、該当デバイスへの転送終了か否かを判定し（Ｓ７０６）、書き戻し対象エントリ全ての書き戻しが終了するまで繰り返し実行する。
【００４１】
本実施例においては、ＳＲＡＭ２０７に保持されたデータの一部を書き戻す場合について説明を行った。しかし、ＳＲＡＭ２０７内の全てのデータを書き戻す場合についても図１のフロー図において異なるＤＲＡＭバンクの選択ステップ（Ｓ７０３）において、デバイスアドレスあるいはバンクアドレスが異なるエントリを検索することにより同様に実現できる。
【００４２】
また、内蔵メモリ制御部２１０がメモリアクセス制御部２０６内に存在する構成について開示したが、内臓メモリ制御部２１０はバスマスタとしてシステムバス２０２に直接接続する構成にしてもよい。
【００４３】
更に、キャッシュメモリのコントローラ内やＣＰＵに内蔵メモリ制御部２１０の機能を実装し、キャッシュ内のデータエントリを参照し一括でのキャッシュデータのライトバック処理を行うようにしてもよい。この場合、キャッシュ内のデータエントリの無効化を実施する際に、同一ＤＲＡＭページに対応するエントリが連続して発行されるよう制御することにより、同一の効果を得ることが出来る。
【００４４】
以上実施例で示した構成によると、ＬＳＩ内蔵メモリに主記憶に保持されるデータの一時記憶を有し所定のタイミングにて書き戻しを行う際、同一ＤＲＡＭページに対するアクセスは連続して転送を発行することが可能となる。またページ遷移が必要な場合は異なるＤＲＡＭバンクのメモリアクセスを選択するようアクセス順序を生成することによりバンクインターリーブにて書き戻しアクセスを発行することが可能である。従って、まとまったデータ量の書き戻し処理において、メモリアクセス期間を短くし、効率を向上させることが可能となる。
【００４５】
また、上述の実施形態においてＤＲＡＭ２０１としてＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）やＤＤＲＳＤＲＡＭ１〜３（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ＳＤＲＡＭ）を用いることもできる。
【００４６】
また上述の実施形態ではメモリデバイス（デバイス）をＤＲＡＭチップ１つとして説明したが、ＬＳＩがメモリモジュール単位で省電力モードに移行させるように構成されている場合はメモリモジュールの１つをメモリデバイス（デバイス）としてもよい。また、ＬＳＩ構成が２つのＤＲＡＭチップ毎に省電力モードに移行させることができるように構成されていれば、２つのＤＲＡＭチップをメモリデバイスとしてもよい。すなわち、省電力モードに移行させる回路の単位をメモリデバイスと対応させることが好ましい。なお、メモリモジュールとは複数のＤＲＡＭチップを有し、ＤＩＭＭ規格やＳＩＭＭ（Ｓｉｎｇｌｅ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）規格などに対応するメモリ基盤のことを示す。
【符号の説明】
【００４７】
２００  ＬＳＩ
２０１  ＤＲＡＭ
２０２  システムバス
２０３、２０４、２０５  バスマスタ
２０６  メモリアクセス制御部
２０７  ＳＲＡＭ
２０８  バスインターフェース
２０９  アクセス振り分け部
２１０  内蔵メモリ制御部
２１１  コマンドキュー
２１２  パワーダウン制御部
２１３  メモリデバイス制御部
４００  インデックスＳＲＡＭ
４０１  有効フラグ
４０２  デバイスアドレスフィールド
４０３  バンクアドレスフィールド
４０４  行アドレスフィールド
４０５  列アドレスフィールド
４１０  データＳＲＡＭ
【図１】
2012083946.tif 000003
【図２】
2012083946.tif 000004
【図３】
2012083946.tif 000005
【図４】
2012083946.tif 000006
【図５】
2012083946.tif 000007
【図６】
2012083946.tif 000008