(57)【特許請求の範囲】
【請求項１】
複数のメモリデバイス毎の複数のチップセレクト接続と、
前記複数のメモリデバイスを個別にアクセスするためのアクセスコマンドを保持するキューバッファと、
着目チップセレクト接続について、前記着目チップセレクト接続の接続先のメモリデバイスに関するアクセスコマンドが前記キューバッファに保存されているか否かに基づいて、前記着目チップセレクト接続の接続先のメモリデバイスを複数の省電力レベルのうち現状の省電力レベルとは異なる省電力レベルの省電力モードに移行させる省電力制御手段と、
を有するメモリ制御回路。
【請求項２】
前記キューバッファに保持されているアクセスコマンドの１つを取り出す選択手段と、
前記選択手段の取り出したアクセスコマンドに基づいてアクセス対象のメモリデバイスに対するコマンドを発行するコマンド発行手段と、
を更に有し、
前記省電力制御手段は、前記選択手段が取り出したアクセスコマンドに基づく着目チップセレクト接続の接続先のメモリデバイスへのアクセスが完了すると、前記着目チップセレクト接続に関するアクセスコマンドが前記キューバッファに保存されているか否かを判断する請求項１に記載のメモリ制御回路。
【請求項３】
前記キューバッファに保持されているアクセスコマンドの１つを取り出す選択手段と、
前記選択手段の取り出したアクセスコマンドに基づいてアクセス対象のメモリデバイスに対するコマンドを発行するコマンド発行手段と、
を更に有し、
前記省電力制御手段は、前記選択手段が取り出した着目アクセスコマンドに基づく着目チップセレクト接続の接続先のメモリデバイスへのアクセスが完了すると、前記キューバッファに保持されているアクセスコマンドで前記着目チップセレクト接続に関するものを発行するまでの時間に対応するように前記着目チップセレクト接続の接続先のメモリデバイスを複数の省電力レベルのうち現状の省電力レベルとは異なる省電力レベルの省電力モードに移行させる請求項１に記載のメモリ制御回路。
【請求項４】
前記キューバッファの参照範囲を設定する参照範囲設定手段を更に有し、
前記省電力制御手段は、前記キューバッファの前記参照範囲に保持されているアクセスコマンドで、かつ、前記着目チップセレクト接続の接続先のメモリデバイスに関するアクセスコマンドに基づいて、前記着目チップセレクト接続の接続先のメモリデバイスを複数の省電力レベルのうち現状の省電力レベルとは異なる省電力レベルの省電力モードに移行させる請求項１に記載のメモリ制御回路。
【請求項５】
メモリデバイス毎に設けられたクロック制御手段を更に有し、
前記クロック制御手段は、省電力モードのメモリデバイスについてはクロックイネーブルを無効にし、復帰させる際にクロックイネーブルを有効にする請求項１乃至４何れか１項に記載のメモリ制御回路。
【請求項６】
前記省電力制御手段は、前記キューバッファに前記着目チップセレクト接続の接続先となるメモリデバイスに関するアクセスコマンドがない場合に、前記メモリデバイスについてプリチャージオールコマンド発行すると共に、前記メモリデバイスに対応するクロック制御手段についてクロックイネーブルを無効とするように制御することでプリチャージパワーダウンに移行させる請求項１乃至５何れか１項に記載のメモリ制御回路。
【請求項７】
前記省電力制御手段は、前記キューバッファに前記着目チップセレクト接続の接続先となるメモリデバイスに関するアクセスコマンドがある場合に、前記アクセスコマンドを発行するまでの時間に基づいて、前記メモリデバイスに対応するクロック制御手段についてクロックイネーブルを無効とするように制御することでアクティブパワーダウンに移行させる請求項１乃至５何れか１項に記載のメモリ制御回路。
【請求項８】
複数のメモリデバイスを備えるＤＲＡＭと、前記ＤＲＡＭを制御するメモリ制御回路と、を有するメモリシステムであって、
前記メモリ制御回路は、
前記ＤＲＡＭに対する複数のアクセスコマンドを保持することができるキューバッファと、
前記複数のメモリデバイス毎の複数のチップセレクト接続と、
前記キューバッファの保持しているアクセスコマンドの１つを取り出す選択手段と、
着目チップセレクト接続の接続先のメモリデバイスについて、前記選択手段が取り出した着目アクセスコマンドに従ったアクセスが完了すると、前記着目チップセレクト接続について、前記着目チップセレクト接続の接続先のメモリデバイスに関するアクセスコマンドが前記キューバッファに保存されているか否かに基づいて、前記着目チップセレクト接続の接続先のメモリデバイスを複数の省電力レベルのうち現状の省電力レベルとは異なる省電力レベルの省電力モードに移行させる省電力制御手段と、
を有するメモリシステム。
【請求項９】
複数のメモリデバイス毎の複数のチップセレクト接続と、前記複数のメモリデバイスを個別にアクセスするためのアクセスコマンドを保持するキューバッファと、を備えるメモリ制御回路の制御方法であって、
着目チップセレクト接続について、前記着目チップセレクト接続の接続先のメモリデバイスに関するアクセスコマンドが前記キューバッファに保存されているか否かに基づいて、前記着目チップセレクト接続の接続先のメモリデバイスを複数の省電力レベルのうち現状の省電力レベルとは異なる省電力レベルの省電力モードに移行させる制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路、メモリシステム及び制御方法に関する。
【背景技術】
【０００２】
近年のシステムＬＳＩ（ＳＯＣ）化はチップ上にＣＰＵ以外にも多数のＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）を搭載し高機能化が進んでいる。また、個々のＩＰが同時にデータ処理を行おうとするためＳＯＣと同時にシステム基板上に搭載されるメモリデバイスも高速、大容量のものが多数必要となってきている。この要求を満たすため、昨今ではＳＤＲＡＭデバイスがメモリデバイスとして用いられている。更に高速アクセスのためにはＤＤＲ２ＳＤＲＡＭ或いはＤＤＲ３ＳＤＲＡＭといった高速なメモリデバイスが複数個用いられている。
このようなシステム、特にバッテリー駆動を前提とするシステムにおいては、システム全体での消費電力が無視できなくなってきており、特にＤＲＡＭを多数使用することからＤＲＡＭの消費電力削減は重要な課題となってきている。
この解決方法として、特許文献１が既に公知となっている。
特許文献１では、メモリデバイスのアイドル状態時間を計測し、所定時間アイドル状態が継続した場合にメモリデバイスを駆動するクロックを低減させ、メモリデバイスでの消費電力を低減させるものである。この方法は、メモリデバイス全体の駆動クロック周波数を低減させるため、引いてはシステム全体のパフォーマンスが低くなった場合にのみ有効である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１１５９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、１つのメモリインターフェースを多数のチップ内のマスターモジュールが共用するようなシステムではアクセス頻度が高い。メモリパフォーマンスを要求するようなマスターが存在すれば、メモリデバイス全体の駆動クロック周波数を低くすることは困難である。また、システムで使用するメモリ量の増大により必要とされるメモリデバイスの増加により、先に示したアクセス頻度の高いマスターモジュールがアクセスしないメモリデバイスが存在することも事実である。先に示した従来例では、そのようなデバイスの省電力化ができない問題点があった。
また、メモリデバイスにおいては一般に消費電力をより低い状態にさせた場合、アクセスを行うために必要とされる復帰時間が大きくなるというデバイスのもつ問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、複数のメモリデバイスを使用するシステム構成において、低電力モードを積極的に利用し、かつ、メモリデバイスへのアクセス効率の低下を起こさないことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明のメモリ制御回路は、複数のメモリデバイス毎の複数のチップセレクト接続と、前記複数のメモリデバイスを個別にアクセスするためのアクセスコマンドを保持するキューバッファと、着目チップセレクト接続について、前記着目チップセレクト接続の接続先のメモリデバイスに関するアクセスコマンドが前記キューバッファに保存されているか否かに基づいて、前記着目チップセレクト接続の接続先のメモリデバイスを複数の省電力レベルのうち現状の省電力レベルとは異なる省電力レベルの省電力モードに移行させる省電力制御手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、複数のメモリデバイスを使用するシステム構成において、低電力モードを積極的に利用し、かつ、メモリデバイスへのアクセス効率の低下を起こさないことができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態のメモリ制御回路の概略を示すブロック図である。
【図２】メモリ制御回路が実際のシステムにおいてどのようにメモリデバイスと接続されるかを示す図である。
【図３】図２の接続を行ったときのチップ内部からメモリデバイスを識別するためのメモリマップの一例を示す図である。
【図４】アクセス管理部の判断処理の一例を示すフローチャートである。
【図５】第１の実施形態の各デバイスをパワーダウン状態に移行させるときのタイミングチャートの一例を示す図である。
【図６】第２の実施形態のメモリ制御回路の概略を示すブロック図である。
【図７】参照範囲変更部の処理を説明するための図である。
【図８】デコード部の真理値表の一例を示す図である。
【図９】高速アクセスに重点を置いたコマンド生成部７の一例を示す図である。
【図１０】ＲＡＳ状態遷移回路の処理の一例を示す図である。
【図１１】第２の実施形態の各デバイスをパワーダウン状態に移行させるときのタイミングチャートの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
（第１の実施形態）
図１は、第１の実施形態のメモリ制御回路の概略を示すブロック図である。図１において、１は、チップ内部のメモリアクセスを要求するマスターモジュールとのインターフェースを行うバスインターフェースモジュールである。図１では３つの同一或いは異なる種類のバスに接続可能な構成を図示してある。２は、バスインターフェース１が受け取ったメモリデバイスへのアクセスコマンドを調停、順序化するアービター部である。３は、アービター部で順序化されたメモリアクセスコマンドを一時的に保存可能なキューバッファである。４は、アービター部２が選択したメモリアクセスコマンドがメモリデバイスへのデータ書き込みであった場合にバスインターフェース１から書き込みデータを取り込むデータ制御部である。データ制御部４は、実際のデータ書き込みタイミングまで保存、或いはコマンドが読み出しであった場合、メモリデバイスから読み出されたデータを、読み出しコマンドを発行したバスインターフェースに出力する。５は、キューバッファ３に保存されたメモリアクセスコマンドを順に取り出すコマンド選択部である。６は、各チップセレクトに接続されたデバイス状況を管理するアクセス管理部である。アクセス管理部（省電力制御部）６は、チップセレクトに接続されたメモリデバイスの各バンクの状態を記憶、管理、またクロックイネーブルに関する制御、状態保持を行う。７は、コマンド選択部が選択したメモリアクセスコマンドの対象となるメモリデバイスにコマンドとして選択的に発行するコマンド生成部である。８は、コマンド生成部７が発行したアクセスコマンドに応じてメモリデバイスに対してデータを出力或いはデータを取り込むデータインターフェースである。９は、各チップセレクトに接続されたメモリデバイスのクロックイネーブル（ＣＫＥ）をアクセス管理部６の指示に基づき駆動するＣＫＥ制御部である。
【００１１】
図２は、メモリ制御回路が実際のシステムにおいてどのようにメモリデバイスと接続されるかを示す図である。図２において２１は、メモリ制御回路を含むチップである。２２は、各々がメモリデバイス若しくはメモリデバイスユニットであり、図２ではメモリデバイスが４つ接続されている例を図示してある。図２に示されるように、メモリ制御回路は、複数のメモリデバイス（或いはユニット）ごとに独立したチップセレクト（ＣＳ０−ＣＳ３）及びクロック制御信号（ＣＫＥ０−ＣＫＥ３）が接続される構成で用いられる。
図３は、図２の接続を行ったときのチップ内部からメモリデバイスを識別するためのメモリマップの一例を示す図である。
このメモリに対してアクセスを行うマスターモジュールは３つの種類に分類できるものとする。即ち、全体の制御を行う制御部分からのアクセスで、ある程度の間隔を空けて常時アクセスを行うマスターモジュール群がある。また、ユーザーインターフェースのための表示部分からのアクセスで、先の制御部分よりは頻度が高いが、ある程度の間隔を空けて常時アクセスを行うマスターモジュール群がある。また、制御部分からの指示により処理を開始し、処理中は集中的にアクセスを行うが、処理終了後は再度の指示がない限りアクセスを行わないマスターモジュール群がある。それぞれのマスターモジュール群のアクセス領域をＣＳ０、ＣＳ１、ＣＳ２及びＣＳ３と仮定する。
これらの仮定及び図を用いて本実施形態の動作を説明する。
【００１２】
図１において、図示されていないメモリアクセスを要求するマスターモジュールがバスインターフェース１を介してメモリアクセス要求を行う。バスインターフェース１は、要求があることをアービター部２に伝え、アービター部２は、複数のバスインターフェース１からの要求を調停し、１つずつ順に受け付けて、受け付けた内容をキューバッファ３に出力する。受け付けた要求が書き込み要求であった場合、同時にデータ制御部４に対して書き込み要求があったことを出力することでデータ制御部４は、対応するバスインターフェース１から必要な書き込みデータの取り込みと保持を行う。キューバッファ３に保持されたアクセスコマンドは、コマンド選択部５により取り出され、コマンド生成部７に出力される。コマンド生成部７は、アクセス管理部６が保持している各チップセレクトに接続されたデバイスの各々のバンク状態情報を参照し、必要なコマンドをメモリデバイスに発行する。このとき、コマンド生成部７は、発行するコマンドが書き込みである場合にはデータ出力タイミングを満たすタイミングでデータ出力ができるようにデータインターフェース８に対して指示を行う。コマンド生成部７は、発行するコマンドが読み込みである場合にはデータの取り込みタイミングと取り込まれたデータを戻すべきマスターモジュールが判別できるデータをデータインターフェースに対して指示する。アクセス管理部６は、コマンド生成部７が参照する、各チップセレクト信号に接続されたメモリデバイスの各々のバンクの状態を保持する。アクセス管理部６は、コマンド生成部７が発行するコマンド内容によって保持している内容の更新を行うと同時に、コマンド生成部７或いはデータインターフェース８から出力される省電力モード移行指示信号を受け取る。アクセス管理部６は、この時点でのコマンド選択部５及びキューバッファ３に格納されているアクセスコマンドのＣＳ対象により図４に示されるフローチャートの処理を実行する。
【００１３】
図４において、まず、アクセス管理部６は、該当するチップセレクト接続先に対するアクセスがコマンド選択部５やキューバッファ３にあるかないかが判断される（４１）。なお、アクセス管理部６は、該当するチップセレクト接続先に対するアクセスがキューバッファ３にあるかないかのみを判断するようにしてもよい。アクセスがない場合（Ｙ）、アクセス管理部６は、コマンド生成部７に対して該当するチップセレクト対象にプリチャージオールコマンドの発行を指示し（４２）、発行がなされるのを待つ（４３）。プリチャージコマンドが発行されると、アクセス管理部６は、ＣＫＥ制御部９に対して該当するチップセレクトに対するＣＫＥ信号を'０'とし、プリチャージパワーダウン状態に移行させる（４４）。コマンド選択部５或いはキューバッファ３に該当するチップセレクトに対するアクセスがある場合、アクセス管理部６は、該当するチップセレクトに対するアクセスコマンドの前に存在するコマンドの要するアクセスサイクル数（クロックサイクル）の計算を行う（４５）。アクセス管理部６は、この結果の値を判断し（４６）所定値以上のサイクル数がある場合（Ｙ）、該当するチップセレクトに対するＣＫＥ信号を'０'とするようにＣＫＥ制御部９に対して指示を行い、アクティブパワーダウン状態へ移行させる。
なお、前記電力消費状態の異なる複数の省電力レベルにはアクティブパワーダウン状態とプリチャージパワーダウン状態とを含む２段階以上のレベルである。
【００１４】
図５は、各デバイスをパワーダウン状態に移行させるときのタイミングチャートの一例を示す図である。図５において、ＣＳ０、ＣＳ１に比べＣＳ２、ＣＳ３は２倍のアクセス頻度がある（コマンドはＣＳ０→ＣＳ１→ＣＳ２→ＣＳ３→ＣＳ２→ＣＳ３→・・・の順に受け付けられるとする）。簡単化のため、該当するタイミングにおいてアクセスは全てＷｒｉｔｅであり、ページヒットしているものとして図示してある。また、キューバッファはコマンド３個分であるとする。また、書き込みは全て８ビート長単発であるとし、メモリデバイスはＤＤＲ２−４００相当であるとして図示してある。
図５において、ｔ０でコマンド選択部５を含むキューバッファ３にはアクセス順にＷｒ０（ＣＳ０への書き込み）、Ｗｒ１（ＣＳ１への書き込み）、Ｗｒ２（ＣＳ２への書き込み）が保存されていて、既にＣＳ３への書き込みが発行済みであるとする。また、ＣＳ０及びＣＳ１は全てのバンクがクローズされているとする。ｔ１においてＣＳ１への書き込み（Ｗｒ０）のアクティブコマンドが該当するＣＳ０のバンクに対して発行され、ｔ４において実際の書き込みコマンドが発行、ｔ６よりＣＳ０への書き込みデータの出力が開始される。ｔ１において空きができたキューバッファ３には新たにＷｒ３（ＣＳ３への書き込み）がｔ２で入力される。ＣＳ０へのデータ出力終了後の新たなデータ出力可能なタイミングであるｔ１１にデータ出力が開始可能となるタイミングにデータ出力ができるようにｔ６にＣＳ１の書き込みに対するアクティブコマンドが発行され、ｔ９に実際の書き込みコマンドが発行される。ＣＳ１へのデータ出力が完了し、新たなデータ出力可能な次のタイミングはｔ１６である。しかし、このときの該当する書き込みコマンドはＣＳ２への書き込みであり、この書き込みはヒットであると仮定しているので、アクティブコマンドの発行は行われず、書き込みコマンドがｔ１４に発行される。同様に、ｔ２１からのデータ出力に対応する書き込みコマンドはＣＳ３への書き込みで、これもヒットであると仮定しているので、書き込みコマンドはｔ１９に発行される。
ｔ６から開始されたＣＳ０への書き込みデータ出力の終了後、ＣＳ０を省電力消費状態に移行できるタイミングは図示されているｔ１３である。よって、その１クロック前であるｔ１２にアクセス管理部６に対して省電力状態移行指示信号が出力され、アクセス管理部６はこのときの待ちコマンド状態を参照する。ｔ１２においてＣＳ０へのアクセスが存在しないので、図４の４１の判断に基づき、アクセス管理部６は、コマンド生成部７にＣＳ０に対してプリチャージオールコマンドの発行を指示し（４２）、コマンド生成部７がそのコマンドを発行するのを待つ（４３）。ＣＳ０へのプリチャージオールコマンドの発行が行われたら、アクセス管理部６は、ＣＫＥ制御部９にＣＳ０へのＣＫＥ信号を'０'とする指示を行い、ｔ１４からＣＳ０に接続されているデバイスをプリチャージパワーダウン状態（省電力レベル）に移行させる。
【００１５】
次にＣＳ２、ＣＳ３に対するパワーダウン状態への移行を説明する、ｔ０以前に発行されたＣＳ３への書き込みコマンドによるＣＳ３へのデータ出力はｔ５の前で終了し、可能であればＣＳ３はｔ８から省電力消費状態への移行が可能となる。そこで、その１クロック前であるｔ７にアクセス管理部６に対して省電力状態移行指示信号が出力される。アクセス管理部６は、このときの待ちコマンド状態を参照し、ＣＳ３へのアクセスコマンドがキューバッファ３内に存在するので、図４のフローチャートにおける４５を実行する。図５において、ＣＳ３に対する次のコマンド発行までのサイクル数としては、これから発行するＣＳ１に対するデータ発行に要する期間（４クロック）と次に発行されるＣＳ２へのデータ発行に要する期間（４クロック）との合計８クロックは最低でも必要である。一方、メモリデバイスがアクティブパワーダウンを実行し、通常動作モードに復帰するのに必要とされる最小期間を考える。例えばＤＤＲ２メモリデバイスにおいてはＣＫＥが'０'である期間として最小３クロック期間、ＣＫＥを'１''に戻してから書き込みコマンドが発行可能となるまでの最小期間として同じく３クロック期間、合計して６クロック期間が必要である。ｔ７時点での次のＣＳ３へのアクセスコマンドまで最小でも８クロックを要し、最小である復帰サイクル数６よりも大きい値であるから、アクセス管理部６は、ＣＳ３に対してアクティブパワーダウン状態への移行指示を行う。ｔ８よりＣＳ３に接続されているデバイスを省電力（アクティブパワーダウン）状態としている。ＣＳ２に関してはｔ０以前にデータ出力が完了しているとしてｔ３から同様にアクティブパワーダウンが実行されたものとして図５には図示されている。
【００１６】
次にＣＳ２へのアクセスが行われるのは、ページヒットを仮定しているので、図５におけるｔ１４における書き込みコマンドであり、実際のデータ出力はｔ１６から開始されている。先ほどと同様に考えると、省電力状態への移行タイミングはｔ２３であるので、ｔ２２におけるキューバッファ、コマンド選択部５、コマンド生成部７の内容が参照される。ｔ２２では既にＣＳ２に対する次の書き込みコマンドが選択されているので最小サイクル数を満たすことは困難である。従って図４のフローチャートにおいて４６の選択が'Ｎ'となり、省電力状態に移行することは行われない。
【００１７】
（第２の実施形態）
実際のメモリ制御回路は先の第１の実施形態で図示したキューバッファの段数より多くの段数を有するものもあり、また、メモリデバイスへのアクセスも必ずしもヒットであるとは限らず、多様なタイミングでのアクセスが考えられる。
これらの多様性を考慮した回路構成例を図６に示す。図６は、第２の実施形態のメモリ制御回路の概略を示すブロック図である。
図６において、１１は、アクティブパワーダウンを実行するかどうかを判断する際にクロック数を判断する値を設定するためのタイミング設定部である。１２は、キューバッファの段数を多くした場合に必要以上のアクセスコマンドを参照し、省電力状態に移行できないことを防ぐために参照すべき有効範囲を指定する参照範囲設定部である。１３は、実際にキューバッファ内のコマンドの参照範囲を変更するための参照範囲変更部である。
まず、参照範囲設定部１２及び参照範囲変更部１３についての説明をおこなう。
プリチャージパワーダウン状態に移行した場合のアクティブパワーダウン状態への移行した場合に対するパフォーマンスに対するペナルティは、全てのバンクがクローズ状態となるためアクティベートコマンドから発行する必要があることのみである。最新のＤＤＲ３メモリデバイスの場合には新たに、より大きな省電力効果が得られる代わりにパフォーマンスに対するペナルティの可能性がある新たな省電力モードが追加されている。デバイスのデータブックによると、このモードでは、デバイスが省電力状態から復帰するためにはデバイスのスピードに依存して１０クロックから２０クロックまでのサイクルが最低でも必要である。しかし、図５のタイミング図で用いた条件、キューバッファ３段で、各アクセスが８ビート（４クロック）だとするとたかだか１２クロックを超える程度しかコマンド発行までの余裕がなく、最速のＤＤＲ３−１６００デバイスに用いるには不十分である。一方、ＤＤＲ３−１６００デバイスに最適化してしまうと、ＤＤＲ３−８００程度のデバイスで十分なシステムではプリチャージパワーダウン状態に移行可能であるにも関わらず不要な範囲までアクセスコマンドを参照してしまう。このために十分な省電力効果が得られないといったこととなる。このような事態を回避するために参照範囲設定部１２が必要となる。
【００１８】
参照範囲変更部１３の具体例を図７に示す。
図７において７１は、図１におけるキューバッファ３を図示し直したものである。７２は、キューバッファ７１の各段の内容からどのＣＳへのアクセスコマンドであるかを判別するデコード部である。７３は、各デコード部からの出力をＯＲする他入力のＯＲ回路で、図７ではキューバッファ７１は、８段あるとして図示してある。
デコード部７２は、キューバッファ７１の各段からの、バッファ内に有効なコマンドがあるかどうか（ｅｍｐｔｙ）、実際のコマンドのＣＳ選択信号（ｃｓ）及び参照範囲変更部１３からの有効信号（ｅｎ）に基づき、図８に示す真理値表の出力を生成する。図８は、ｃｓとして４本の信号がシステムに用意されているものとして示してある。
図７、図８に示された内容の信号を基に、図４における４１での判断を実行することで、キューバッファの段数を各使用状況に適切に対応させることが可能となる。
【００１９】
次に、タイミング設定部１１についての説明を行う。
アクセス完了時にアクティブパワーダウン状態にデバイスをできるかどうかは、次にそのチップセレクト対象デバイス及びコマンド生成部７の具体的構成に大きく依存する。
図９は、高速アクセスに重点を置いたコマンド生成部７の一例を示す図である。
図９において９１は、コマンド選択部５より取り出されたコマンド状態に従い、対象ＣＳのデバイスに対してプリチャージコマンド、アクティベートコマンドの発行を行うＲＡＳ状態遷移回路である。９２は、ＲＡＳ状態遷移回路９１により読み出し或いは書き込みが可能となったアクセス対象に実際のデータアクセスコマンドを発行するＣＡＳ状態遷移回路である。９３は、ＲＡＳ状態遷移回路９１及びＣＡＳ状態遷移回路９２から出力されるコマンドのうち、どちらのコマンドを実際のデバイスに供給するかを選択する選択回路であり、図ではＣＡＳ状態遷移回路出力が優先されるとする。
【００２０】
図１０は、ＲＡＳ状態遷移回路の処理の一例を示す図である。図１０に示す例では、プリチャージコマンドの発行は、新たなコマンドを取り込み、発行できる条件が整ったらすぐに行われ、アクティベートコマンドの発行は、９２のＣＡＳ状態遷移回路９２からの許可信号に基づき、発行されるものとして図示してある。許可信号はＣＡＳ状態遷移回路９２が次のコマンド発行が可能なタイミングから逆算して生成するものである。
図１０において、１０１は、初期状態（Ｉｄｌｅ）である。１０２は、コマンドを取り込んだ状態（Ｆｅｔｃｈ）である。１０３は、コマンドがミスヒットで、かつ、パワーダウンのためのプリチャージコマンド発行要求がある場合の状態（Ｓｉｍｕｌ）である。このときはアクセス対象へのプリチャージコマンドはＰｒｅｃｈａｒｇｅＡｌｌコマンドに置き換えられ、アクセス管理部６の保持情報もその内容でアップデートされる。１０４は、アクセス対象がページミスであった場合の状態（ＭｉｓｓＨｉｔ）でアクセス対象へのプリチャージコマンドが発行される。１０５は、アクセス対象へのアクティブコマンド発行待ち状態（Ｏｐｅｎ）で、この状態であってもパワーダウンのためのプリチャージコマンド発行要求がある場合、対応が行われる。１０６は、ＣＡＳ状態遷移回路９２とのコマンド転送を行う状態で、コマンド転送が完了した場合には新たに取り込むコマンドの有無によって遷移先の状態が１０１のＩｄｌｅ若しくは１０２のＦｅｔｃｈ状態に遷移する。この状態にあっても、プリチャージパワーダウンのためのプリチャージコマンド発行要求があれば実行される。
【００２１】
図９及び図１０に基づいたタイミングチャートを図１１に示す。図１１は、図５のタイミングチャートに用いた条件から、ＣＳ２への最初のアクセスがクローズページへのアクセス、ＣＳ３への最初のアクセスがページミスであるとする以外は同じ条件で図示してある。但し、図１１ではキューバッファの状態ではなく、ＲＡＳ状態遷移回路９１及びＣＡＳ状態遷移回路９２が実行中或いは実行待ちであるコマンドを図示している。
図１１において図４と同様に、ｔ０でコマンド選択部５を含むキューバッファ３にはアクセス順にＷｒ０（ＣＳ０への書き込み）、Ｗｒ１（ＣＳ１への書き込み）、Ｗｒ２（ＣＳ２への書き込み）が保存されていて、既にＣＳ３への書き込みが発行済みであるとする。また、ＣＳ０及びＣＳ１は全てのバンクがクローズされているとする。ｔ１においてＲＡＳ状態遷移回路９１にあるＣＳ０へのアクセスコマンドに従い、アクティブコマンドが発行され（図１０の１０５から１０６へ）、次のサイクルｔ２でＣＳ０への書き込みコマンドはＣＡＳ状態遷移回路９２に移行する。同時にキューバッファから新たなＣＳ１への書き込みコマンドがＲＡＳ状態遷移回路９１に渡される（図１０の１０６から１０２へ）。ＣＳ１への書き込みコマンドはクローズページへの書き込みであるので、ＣＡＳ状態遷移回路９２からの許可信号があるまで保持される（図１０の１０２から１０５へ）。ｔ４でＣＳ０への書き込みコマンドが発行されｔ６より対応するデータの出力が行われる。ＲＡＳ状態遷移回路９１に保持されているＣＳ１への書き込みコマンドはｔ６時点でＡｃｔコマンドを発行し、ｔ７時点でＣＡＳ状態遷移回路９２にコマンドが渡される。同時にＲＡＳ状態遷移回路９１には新たなＣＳ２へのコマンドＷｒ２が取り込まれる。ｔ７時点でのＣＳ３に対する次のコマンド発行予測時間は、現在のデータ出力の残サイクル数が３クロックである。次のコマンドのビート数に要するクロック数が４である。異なるデバイスであることのギャップ１ｘ２に対して、書き込みコマンドからデータ出力までが２クロックである。ＲＡＳ状態遷移回路９１が新たなコマンドを取り込んでからプリチャージコマンド発行までが１クロックである。アクティブコマンドから書き込みコマンドまでの必要サイクル数３クロックである。
（実行中のアクセスの残サイクル数）＋（次のアクセスのバーストに要するサイクル数）＋（デバイス間ギャップの合計）−（ＣＬサイクル数）−（ｔＲＰ）＋（回路依存サイクル）≧（ｔＣＫＥ）＋（ｔＸＰ）が満たされる。このときアクティブプリチャージに移行してもパフォーマンスの影響が無いこととなる。つまり上記の例では、
３＋４＋２−２−３＋１＝５
アクティブパワーダウンに関する最少必要サイクル数としてｔＣＫＥ＝３、ｔＸＰ＝２から５クロックであるので、アクティブパワーダウンに移行するとして図１１は図示してある。
【００２２】
ＣＳ３に対するプリチャージコマンド発行はｔ１３であるのでその時点でＣＳ３に対してプリチャージコマンドの発行を行う。このとき、ｔ１２においてＣＳ０のパワーダウン移行判断が行われる。ＣＳ０のプリチャージパワーダウン移行指示が決定されているのでｔ１３ではＣＳ０へのプリチャージパワーダウン移行のためのＰｒｅｃｈａｒｇｅＡｌｌコマンド発行が同時に行われる必要がある。そのためＣＳ３へのプリチャージコマンドはＣＳ０へのＰｒｅｃｈａｒｇｅＡｌｌコマンドで置き換えられ、ＣＳ０、ＣＳ３両方へのコマンド発行として実行される（図１０の１０２から１０３への遷移）。
ｔＣＫＥ及びｔＸＰはデバイスが決まれば一様に決定される値であり、その値はデバイスのスピードに依存する。使用するデバイスが決まれば、その合計値を設定可能とすることでさまざまなスピードのデバイスへの対応が可能となる。
【００２３】
以上、上述した各実施形態によれば、キューバッファ３の内部にある確定しているアクセスコマンドにより、アクセス対象であるチップセレクトに接続されたメモリデバイスへの次のコマンドまでの間隔に応じて対象デバイスを適切な省電力状態にすることができる。
よって、システムとしてのさらなる省電力化が実現できると同時に、従来と同等のアクセスパフォーマンスを維持することができる。
つまり、複数のメモリデバイスを使用するシステム構成において、低電力モードを積極的に利用し、かつ、メモリデバイスへのアクセス効率の低下を起こさないことができる。
【００２４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２５】
３  キューバッファ、５  アクセス管理部
【図１】
0005393289.tif 000002
【図２】
0005393289.tif 000003
【図３】
0005393289.tif 000004
【図４】
0005393289.tif 000005
【図５】
0005393289.tif 000006
【図６】
0005393289.tif 000007
【図７】
0005393289.tif 000008
【図８】
0005393289.tif 000009
【図９】
0005393289.tif 000010
【図１０】
0005393289.tif 000011
【図１１】
0005393289.tif 000012