(57)【要約】【課題】  アクセス効率を低下させることなく最適なパワーダウン制御を実施し、半導体メモリの消費電力を削減する【解決手段】  メモリコントローラＳＤＲＡＭＣは、システムコントローラＣＰＵから供給されるアクセス要求に応答して半導体メモリＳＤＲＡＭにアクセス制御信号ＣＭＤを出力する。メモリコントローラＳＤＲＡＭＣは、アクセス要求に応答する半導体メモリＳＤＲＡＭのアクセス動作の完了に応答してパワー制御信号ＣＫＥを非活性化する。半導体メモリＳＤＲＡＭは、パワー制御信号ＣＫＥの非活性中にパワーダウンモードに移行する。メモリコントローラＳＤＲＡＭＣは、アクセス要求から所定時間内に次のアクセス要求がある場合に次のアクセス要求に同期してパワー制御信号ＣＫＥを活性化し、次のアクセス要求の前に所定時間が経過したときに所定時間の経過に同期してパワー制御信号ＣＫＥを活性化する。【選択図】    図２
2008225624.tif 000002
【特許請求の範囲】
【請求項１】
パワー制御信号の非活性中にパワーダウンモードに移行する半導体メモリをアクセスするメモリコントローラであって、
システムコントローラから供給されるアクセス要求に応答して半導体メモリにアクセス制御信号を出力する動作制御部と、
前記アクセス要求に応答する半導体メモリのアクセス動作の完了に応答して前記パワー制御信号を非活性化し、前記アクセス要求から所定時間内に次のアクセス要求がある場合に前記次のアクセス要求に同期して前記パワー制御信号を活性化し、前記次のアクセス要求の前に前記所定時間が経過したときに前記所定時間の経過に同期して前記パワー制御信号を活性化するパワー制御部と
を備えていることを特徴とするメモリコントローラ。
【請求項２】
請求項１記載のメモリコントローラにおいて、
クロック信号のパルス数をカウントし、前記アクセス要求に応答してリセットされるカウンタを備え、
前記所定時間は、前記カウンタのカウンタ値が予め設定された基準値に達するまでの時間であることを特徴とするメモリコントローラ。
【請求項３】
請求項２記載のメモリコントローラにおいて、
所定数のアクセス要求が発生するモニタ期間において、前記アクセス要求毎に前記カウンタ値をモニタし、前記カウンタ値が暫定値を超える回数であるオーバー回数と前記カウンタ値が前記暫定以下の回数であるアンダー回数とを計測するモニタ部を備え、
前記基準値は、前記モニタ部の計測結果に基づいて、前記オーバー回数と前記アンダー回数が等しくなるときの前記暫定回数に設定されることを特徴とするメモリコントローラ。
【請求項４】
パワー制御信号の非活性中にパワーダウンモードに移行する半導体メモリの制御方法であって、
システムコントローラから供給されるアクセス要求に応答して半導体メモリにアクセス制御信号を出力し、
前記アクセス要求に応答する半導体メモリのアクセス動作の完了に応答して前記パワー制御信号を非活性化し、
前記アクセス要求から所定時間内に次のアクセス要求がある場合に前記次のアクセス要求に同期して前記パワー制御信号を活性化し、
前記アクセス要求の完了後であって前記次のアクセス要求の前に前記所定時間が経過したときに前記所定時間の経過に同期して前記パワー制御信号を活性化することを特徴とする半導体メモリの制御方法。
【請求項５】
パワー制御信号の非活性中にパワーダウンモードに移行する半導体メモリと、前記半導体メモリをアクセスするためのアクセス要求を出力するシステムコントローラと、前記アクセス要求を前記半導体メモリに出力するメモリコントローラとを備えたシステムであって、
前記メモリコントローラは、
システムコントローラから供給されるアクセス要求に応答して半導体メモリにアクセス制御信号を出力する動作制御部と、
前記アクセス要求に応答する半導体メモリのアクセス動作の完了に応答して前記パワー制御信号を非活性化し、前記アクセス要求から所定時間内に次のアクセス要求がある場合に前記次のアクセス要求に同期して前記パワー制御信号を活性化し、前記アクセス要求の完了後であって前記次のアクセス要求の前に前記所定時間が経過したときに前記所定時間
の経過に同期して前記パワー制御信号を活性化するパワー制御部と
を備えていることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パワーダウンモードを有する半導体メモリのアクセスを制御するメモリコントローラおよびシステムに関する。
【背景技術】
【０００２】
ＳＤＲＡＭ等の半導体メモリは、消費電力を削減するためのパワーダウンモードを有している。例えば、ＳＤＲＡＭは、クロックイネーブル信号ＣＫＥの非活性化（低レベル）に応答してパワーダウンモードに入る。パワーダウンモード中、クロック信号およびクロックイネーブル信号の入力バッファを除く入力バッファは非活性化され、内部回路の動作は停止する。また、ＳＤＲＡＭは、クロックイネーブル信号ＣＫＥの活性化（高レベル）に応答してパワーダウンモードから元の状態に復帰する。
【０００３】
従来、所定の期間にアクセス要求がない場合にパワーダウンモードに移行し、アクセス要求またはリフレッシュ要求に応答してパワーダウンモードを解除することで、ＳＤＲＡＭの消費電力を削減する手法が提案されている。（例えば、特許文献１参照。）
【特許文献１】特開２００２−２３０９７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＳＤＲＡＭでは、パワーダウンモードから復帰するためにクロックイネーブル信号を活性化した後に、アクセス要求コマンドを供給可能になるまで数クロックサイクルを必要とする。このため、パワーダウンモードへの移行と復帰が頻繁に繰り返されると、消費電力が削減できる反面、アクセス要求の頻度が下がり、アクセス効率が低下してしまう。
【０００５】
本発明の目的は、アクセス効率を低下させることなく最適なパワーダウン制御を実施し、半導体メモリの消費電力を削減することである。
【課題を解決するための手段】
【０００６】
本発明の一形態では、メモリコントローラは、システムコントローラから供給されるアクセス要求に応答して半導体メモリにアクセス制御信号を出力する。メモリコントローラは、アクセス要求に応答する半導体メモリのアクセス動作の完了に応答してパワー制御信号を非活性化する。半導体メモリは、パワー制御信号の非活性中にパワーダウンモードに移行する。メモリコントローラは、アクセス要求から所定時間内に次のアクセス要求がある場合に次のアクセス要求に同期してパワー制御信号を活性化し、次のアクセス要求の前に所定時間が経過したときに所定時間の経過に同期してパワー制御信号を活性化する。所定時間は、例えば、クロック信号のパルス数をカウントするとともにアクセス要求に応答してカウンタ値がリセットされるカウンタのカウンタ値が予め設定された基準値に達するまでの時間である。
【０００７】
本発明の一形態における好ましい例では、所定数のアクセス要求が発生するモニタ期間において、カウンタ値はアクセス要求毎にモニタされる。そして、カウンタ値が暫定値を超える回数であるオーバー回数と、カウンタ値が暫定以下の回数であるアンダー回数とが計測される。モニタ部の計測結果に基づいて、オーバー回数とアンダー回数が等しくなるときの暫定回数が、基準値として設定される。例えば、オーバー回数およびアンダー回数は、複数の暫定値に対応してそれぞれ同時に計測され、基準値は、暫定値のいずれかに設定される。
【発明の効果】
【０００８】
複数回のアクセス要求の一部は、パワー制御信号が活性化された後に発生し、残りのアクセス要求は、パワー制御信号の非活性化中に発生する。アクセス要求がパワー制御信号の非活性化中に発生した場合、アクセス要求後にパワー制御信号の活性化処理を行うため、アクセス動作の開始が遅れる（アクセスペナルティ）。一方、パワー制御信号の非活性化期間が長いほど半導体メモリの消費電力は削減される。本発明では、アクセスペナルティの発生頻度と、パワーダウンモードの発生頻度とをバランスよく設定することにより、アクセス効率を低下させることなく最適なパワーダウン制御を実施し、半導体メモリの消費電力を削減できる。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明の第１の実施形態を示している。この実施形態では、システムＳＹＳは、例えば映像を表示し、音声を出力するビデオプレーヤである。システムＳＹＳは、ＳＤＲＡＭ、ＳｏＣ（Ｓｙｔｅｍ  ｏｎ  Ｃｈｉｐ）、ＬＣＤ等のディスプレイＤＩＳＰ、スピーカＳＰＫ、フラッシュメモリＦＬＡＳＨおよびメモリカードＭＣを装着するためのメモリカードアダプタＭＣＡを有している。フラッシュメモリＦＬＡＳＨは、システムＳＹＳのパワーオン時にＳＤＲＡＭに転送されるアプリケーションプログラムおよびシステムＳＹＳの動作に必要なワークデータ等を記憶する。アプリケーションプログラムおよびワークデータの初期値は、システムＳＹＳの出荷前に予めフラッシュメモリＦＬＡＳＨに書き込まれる。アプリケーションプログラムおよびワークデータは、出荷後にも書き換え可能である。なお、システムＳＹＳは、上記の一例に限定されない。例えば、システムＳＹＳは、クロックイネーブル信号ＣＫＥ等のパワー制御信号の非活性中にパワーダウンモードに移行する半導体メモリと、半導体メモリをアクセスするためのアクセス要求を出力するＣＰＵ等のシステムコントローラと、アクセス要求を半導体メモリに出力するメモリコントローラとで構成される。
【００１０】
ＳｏＣは、メモリコントローラＳＤＲＡＭＣ、ＣＰＵ、ＤＭＡＣ、クロック生成部ＣＬＫＧ、ビデオ表示コントローラＶＤＣ、オーディオインタフェースＡＩ／Ｏ、メモリコントローラＭＣＮＴおよびメモリカードコントローラＭＣＣＮＴを有している。メモリコントローラＳＤＲＡＭＣ、ビデオ表示コントローラＶＤＣ、オーディオインタフェースＡＩ／Ｏ、メモリコントローラＭＣＮＴおよびメモリカードコントローラＭＣＣＮＴは、共通の内部バスＩＢＵＳを介してＣＰＵおよびＤＭＡＣに接続されており、ＣＰＵおよびＤＭＡＣによりアクセス可能である。
【００１１】
メモリコントローラＳＤＲＡＭＣは、ＣＰＵやＤＭＡＣ等からのアクセス要求を受けて、ＳＤＲＡＭをアクセス動作させるための信号を出力する。具体的には、メモリコントローラＳＤＲＡＭＣは、ＳＤＲＡＭのアクセス状況に応じてクロックイネーブル信号ＣＫＥを活性化または非活性化し、アクセス要求等に応答してコマンド信号ＣＭＤ、アドレス信号ＡＤおよび書き込みデータ信号ＤＱをＳＤＲＡＭに出力し、読み出しデータ信号ＤＱを受ける。コマンド信号ＣＭＤは、メモリコントローラＳＤＲＡＭＣからＳＤＲＡＭに出力されるアクセス要求である。
【００１２】
ＣＰＵは、ＳＤＲＡＭに記憶されたアプリケーションプログラムを実行し、システムＳＹＳ全体を動作させる。なお、ＳＤＲＡＭは、アプリケーションプログラムの実行の合間に実行されるオペレーションシステム（ＯＳ）も記憶しているが、以降の説明では、ＣＰＵが実行するＯＳについての説明は省略する。ＤＭＡＣは、バスマスタとして動作し、例えば、ディスプレイＤＩＳＰに映像を表示し、スピーカＳＰＫから音声を出力するために、メモリカードＭＣに記憶されたビデオデータ（オーディオデータを含む）をビデオ表示コントローラＶＤＣおよびオーディオインタフェースＡＩ／Ｏに転送する。クロック生成部ＣＬＫＧは、基本クロックＣＬＫ０を逓倍し、クロックＣＬＫとして出力する。クロッ
クＣＬＫは、システムＳＹＳの基板に搭載される発振器から出力され、ＳｏＣ内部とＳＤＲＡＭに供給される。
【００１３】
ビデオ表示コントローラＶＤＣは、内部バスＩＢＵＳを介して供給されるビデオデータをディスプレイＤＩＳＰの入力仕様に合わせて出力する。オーディオインタフェースＡＩ／Ｏは、内部バスＩＢＵＳを介して供給されるオーディオデータを、例えばＤ／Ａ変換し、スピーカＳＰＫに出力する。メモリコントローラＭＣＮＴは、内部バスＩＢＵＳを介して供給されるフラッシュメモリＦＬＡＳＨのアクセス要求（アクセスコマンド、アドレス、データ）をフラッシュメモリＦＬＡＳＨのインタフェース仕様に合わせて変換する。メモリカードコントローラＭＣＣＮＴは、内部バスＩＢＵＳを介して供給されるメモリカードＭＣのアクセス要求（アクセスコマンド、アドレス、データ）をメモリカードＭＣのインタフェース仕様に合わせて変換する。
【００１４】
図２は、図１に示したメモリコントローラＳＤＲＡＭＣの詳細を示している。メモリコントローラＳＤＲＡＭＣは、動作制御部ＯＰＣ、カウンタＣＯＵＮＴ、クロックイネーブル制御部ＣＫＥＣ（パワー制御部）および基準値レジスタＲＶＲＥＧを有している。動作制御部ＯＰＣは、内部バスＩＢＵＳを介して供給されるＳＤＲＡＭのアクセス要求ＡＲＥＱを受けて、コマンドＣＭＤ、アドレスＡＤおよびデータＤＱ（書き込みデータ）をＳＤＲＡＭに出力し、ＳＤＲＡＭからのデータＤＱ（読み出しデータ）を内部バスＩＢＵＳに出力する。コマンドＣＭＤ、アドレスＡＤおよびデータＤＱは、ＳＤＲＡＭにアクセス動作（読み出し動作または書き込み動作）を実行させるためのアクセス制御信号である。コマンドＣＭＤは、アクティブコマンドＡＣＴ、読み出しコマンドＲＤ、書き込みコマンドＷＲおよびプリチャージコマンドＰＲＥ等がある。これ等コマンドは、一般的であるため、詳細な説明は省略する。
【００１５】
カウンタＣＯＵＮＴは、クロックＣＬＫに同期してカウントされ、クロック数（パルス数）の積算値を示すカウンタ値ＣＶをクロックイネーブル制御部ＣＫＥＣに出力する。カウンタＣＯＵＮＴは、アクセスコマンドＣＭＤ（アクセス要求）に同期してゼロにリセットされる。アクセスコマンドＣＭＤは、チップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳおよびライトイネーブル信号／ＷＥの組み合わせにより識別されるアクティブコマンドＡＣＴ、読み出しコマンドＲＤ、書き込みコマンドＷＲおよびプリチャージコマンドＰＲＥ等である。
【００１６】
基準値レジスタＲＶＲＥＧは、内部バスＩＢＵＳを介して供給される基準値ＲＶを保持する。基準値ＲＶは、ＣＰＵが実行するプログラムによって設定される。基準値ＲＶは、図１に示したフラッシュメモリＦＬＡＳＨのワークエリアに記憶されており、システムＳＹＳのパワーオン毎にＣＰＵにより基準値レジスタＲＶＲＥＧに書き込まれる。クロックイネーブル制御部ＣＫＥＣは、比較部ＣＯＭＰおよびクロックイネーブル生成部ＣＫＥＧを有している。比較部ＣＯＭＰは、カウンタ値ＣＶが基準値レジスタＲＶＲＥＧに保持された基準値ＲＶを超えたときに一致信号ＣＯＩＮを出力する。クロックイネーブル生成部ＣＫＥＧは、一致信号ＣＯＩＮの出力またはアクセスコマンドＣＭＤの出力に同期してクロックイネーブル信号ＣＫＥを高レベルに活性化し（通常動作モードエントリ＝パワーダウンモードイクジット）、アクセスコマンドＣＭＤに応答するＳＤＲＡＭの動作完了後にクロックイネーブル信号ＣＫＥを低レベルに非活性化する（パワーダウンモードエントリ）。
【００１７】
図３は、第１の実施形態の動作を示している。この例では、ＣＰＵは、ＳＤＲＡＭに記憶されたアプリケーションプログラムＡＰ１を間欠的に実行する。このため、アプリケーションプログラムＡＰ１を実行するためのアクセスコマンドＣＭＤは、間欠的にＳＤＲＡＭに供給される。図中に四角で示した各アプリケーションプログラムの実行単位は、一般
にタスクと称される。
【００１８】
カウンタ値ＣＶが基準値ＲＶを超えたときに図２に示した比較部ＣＯＭＰから一致信号ＣＯＩＮが出力される。イネーブル生成部ＣＫＥＧは、カウンタ値ＣＶが基準値ＲＶに到達する前にアクセスコマンドＣＭＤが発生するときに、アクセスコマンドＣＭＤに同期してクロックイネーブル信号ＣＫＥを活性化する（図３（ｅ、ｉ、ｍ））。この場合、ＳＤＲＡＭは、パワーダウンモードの解除を待ってアクセス動作を開始する必要がある。このため、アクセスペナルティＡＰが数クロック発生する。より詳細には、パワーダウンモード中にＳＤＲＡＭにはアクセスコマンドＣＭＤを供給できないため、メモリコントローラＳＤＲＡＭＣは、パワーダウンモード中の解除に同期してアクセスコマンドＣＭＤをＳＤＲＡＭに出力する。
【００１９】
また、クロックイネーブル生成部ＣＫＥＧは、アクセスコマンドＣＭＤが発生する前にカウンタ値ＣＶが基準値ＲＶに到達したときに、一致信号ＣＯＩＮに同期してクロックイネーブル信号ＣＫＥを活性化する（図３（ａ、ｃ、ｇ、ｋ））。この場合、アクセスコマンドＣＭＤがＳＤＲＡＭに供給される少なくとも数クロック前にパワーダウンモードが解除されるため、メモリコントローラＳＤＲＡＭＣは、ＣＰＵ等からのアクセス要求に応答してアクセスコマンドＣＭＤを直ちに出力できる。このように、クロックイネーブル制御部ＣＫＥＣは、アクセスコマンドＣＭＤから所定時間内に次のアクセス要求ＣＭＤがある場合に次のアクセス要求ＣＭＤに同期してクロックイネーブル信号ＣＫＥを活性化し、次のアクセス要求ＣＭＤの前に所定時間が経過したときに所定時間の経過に同期してクロックイネーブル信号ＣＫＥを活性化する。ここで、所定時間は、カウンタ値ＣＶがゼロから基準値ＲＶまで変化する時間である。
【００２０】
さらに、クロックイネーブル生成部ＣＫＥＧは、アクセスコマンドＣＭＤに応答するＳＤＲＡＭの動作の完了に同期してクロックイネーブル信号ＣＫＥを非活性化する（図３（ｂ、ｄ、ｆ、ｈ、ｊ、ｌ、ｎ））。なお、この実施形態では、アクセスコマンドＣＭＤの発生回数に対するアクセスペナルティＡＰの発生回数の比が、ほぼ１／２になるように、基準値ＲＶが予め設定されている。このように、カウンタ値ＣＶと基準値ＲＶの比較結果に応じてクロックイネーブル信号ＣＫＥの活性化／非活性化を制御することにより、アクセスコマンドＣＭＤの発生前に予めパワーダウンモードを解除する頻度と（アクセスペナルティＡＰなし）、アクセスペナルティＡＰが発生する頻度とをほぼ等しくできる。これにより、アクセス効率の向上とＳＤＲＡＭの消費電力の削減を同時に実現できる。
【００２１】
以上、第１の実施形態では、アクセスペナルティＡＰの発生頻度と、パワーダウンモードの発生頻度（パワーオン期間に対するパワーダウンモード期間の比率）とをバランスよく設定することにより、アクセス効率を低下させることなく最適なパワーダウン制御を実施し、半導体メモリの消費電力を削減できる。
【００２２】
アクセスコマンドＣＭＤの発生から次のアクセスコマンドＣＭＤの発生までの時間を、カウンタＣＯＵＮＴによりクロックのパルス数をカウントすることにより測定することで、アクセスコマンドＣＭＤが所定時間内に発生したか否かを、簡易な回路で容易に判定できる。
【００２３】
図４は、本発明の第２の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、ＳｏＣは、ＣＰＵに直接接続された命令キャッシュＩＣＡＳＨおよびデータキャッシュＤＣＡＳＨを有している。命令キャッシュＩＣＡＳＨには、ＳＤＲＡＭに記憶されたアプリケーションプログラムおよびＯＳの一部が転送される。データキャッシュＤＣＡＳＨには、アプリケーションプログラムおよびＯＳで使用するデータの一部が転送
される。その他の構成は、第１の実施形態と同じである。
【００２４】
ＳｏＣにキャッシュＩＣＡＳＨ、ＤＣＡＳＨを搭載することにより、ＳＤＲＡＭへのアクセス頻度は少なくなる。これにより、アクセスペナルティを減らし、ＳＤＲＡＭのアクセス効率を向上できる。なお、キャッシュＩＣＡＳＨ、ＤＣＡＳＨがＳｏＣに搭載される場合、基準値ＲＶは、第１の実施形態に比べて大きい値に設定される。これにより、クロックイネーブル信号ＣＫＥの低レベル期間（パワーダウンモード期間）を減らすことなく、アクセス効率を向上できる。一般的には、キャッシュＩＣＡＳＨ、ＤＣＡＳＨのヒット率が高いと想定される場合、基準値ＲＶは大きい値に設定され、キャッシュＩＣＡＳＨ、ＤＣＡＳＨのヒット率が低いと想定される場合、基準値ＲＶは小さい値に設定される。以上、第２の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。
【００２５】
図５は、本発明の第３の実施形態におけるメモリコントローラＳＤＲＡＭＣの詳細を示している。メモリコントローラＳＤＲＡＭＣを除く構成は、第１または第２の実施形態と同じである。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００２６】
この実施形態のメモリコントローラＳＤＲＡＭＣは、第１の実施形態（図２）にモニタレジスタＭＲＥＧおよびモニタ部ＭＯＮを加えて構成されている。モニタレジスタＭＲＥＧは、内部バスＩＢＵＳを介して供給されるモニタ用の暫定値ＲＶ０を保持する。暫定値ＲＶ０は、例えば、フラッシュメモリＦＬＡＳＨに記憶されており、ＣＰＵが実行するプログラムによって設定される。ＣＰＵは、暫定値ＲＶ０と同じ値を基準値ＲＶとして基準値レジスタＲＶＲＥＧにも設定する。
【００２７】
モニタ部ＭＯＮは、後述するモニタ期間に、アクセスコマンドＣＭＤが発生したときのカウンタ値ＣＶと暫定値ＲＶ０とをアクセスコマンドＣＭＤ毎に比較する。そして、モニタ部ＭＯＮは、カウンタ値ＣＶが暫定値ＲＶ０を超えた回数であるオーバー回数ＯＶＮと、カウンタ値ＣＶが暫定値ＲＶ０以下の回数であるアンダー回数ＵＮＮとを計測し、計測した回数ＯＶＮ、ＵＮＮを内部バスＩＢＵＳに出力する。ＣＰＵは、モニタ期間に、回数ＯＶＮ、ＵＮＮをモニタし、回数ＯＶＮ、ＵＮＮが互いに等しくなるように暫定値ＲＶ０を調整する。
【００２８】
実際には、回数ＯＶＮ、ＥＷＮの違いが１以下の時、回数ＯＶＮ、ＵＮＮが等しいと判断される。なお、回数ＯＶＮ、ＥＷＮの違いが２または３以下の時、回数ＯＶＮ、ＵＮＮが等しいと判断してもよい。ＣＰＵによる回数ＯＶＮ、ＵＮＮのモニタと暫定値ＲＶ０の変更は、回数ＯＶＮ、ＵＮＮが等しくなるまで繰り返される。そして、ＣＰＵは、回数ＯＶＮ、ＵＮＮが等しくなったときの暫定値ＲＶ０を最終的な基準値ＲＶとして基準値レジスタＲＶＲＥＧおよびフラッシュメモリＦＬＡＳＨのワークエリアに書き込む。
【００２９】
図６は、第３の実施形態におけるモニタ期間の動作の一例を示している。例えば、モニタ期間は、システムＳＹＳのパワーオン時に設定される。あるいは、モニタ期間は、システムＳＹＳが動作中に所定の頻度で設定される。モニタ期間がパワーオン時に設定される場合、暫定値ＲＶ０は、基準値レジスタＲＶＲＥＧに書き込まれなくてもよく、このとき、クロックイネーブル信号ＣＫＥは活性化状態（高レベル）に常時保持される。
【００３０】
例えば、モニタ期間は、図３に示した複数のタスク（四角で囲ったＡＰ１）の少なくともいずれかの実行期間に対応する。すなわち、回数ＯＶＮ、ＵＮＮのモニタは、１つのタスク単位で実施される。なお、モニタ期間を、タスク内の一部の期間に設定し、回数ＯＶＮ、ＵＮＮのモニタを、１つのタスク内の一部の期間のみ実施してもよい。
【００３１】
暫定値ＲＶ０のラインより上側にある数字は、オーバー回数ＯＶＮを示し、暫定値ＲＶ０のラインより下側にある数字は、アンダー回数ＵＮＮを示している。この例では、暫定値ＲＶ０が比較的高く、オーバー回数ＯＶＮがアンダー回数ＵＮＮより少ない場合を示している。この場合、カウンタ値ＣＶが暫定値ＲＶ０に達する前にアクセスコマンドＣＭＤが出力されることが相対的に多く、第１の実施形態で述べたようにアクセスペナルティＡＰが多く発生する。一方、パワーダウンモードの期間の総和（ＣＫＥの低レベル期間の合計）は、相対的に長くなる。このため、ＳＤＲＡＭの消費電力は低くなるが、アクセス効率は低下する。
【００３２】
図７は、第３の実施形態におけるモニタ期間の動作の別の例を示している。図の表記方法は、図６と同じである。この例は、回数ＯＶＮ、ＵＮＮが互いに等しく、ＣＰＵが最適な暫定値ＲＶ０を見つけた状態を示している。この場合、アクセスペナルティＡＰの頻度は、アクセスコマンドＣＭＤの発生頻度のほぼ１／２であり、パワーダウンモードの期間の総和は比較的長い。すなわち、ＳＤＲＡＭの消費電力の削減効果と、アクセス効率の向上効果のバランスがよい。
【００３３】
図８は、第３の実施形態におけるモニタ期間の動作の別の例を示している。図の表記方法は、図６と同じである。この例では、暫定値ＲＶ０が比較的低く、オーバー回数ＯＶＮがアンダー回数ＵＮＮより多い場合を示している。この場合、カウンタ値ＣＶが暫定値ＲＶ０に達する前にアクセスコマンドＣＭＤが出力されることが相対的に少なく、アクセスペナルティＡＰの発生頻度は低い。一方、パワーダウンモードの期間の総和は、相対的に短くなる。このため、ＳＤＲＡＭの消費電力は高くなる反面、アクセス効率は向上する。この実施形態では、ＣＰＵは、複数のモニタ期間を利用して、図６または図８の状態から図７の状態になるように、基準値ＲＶを調整していく。
【００３４】
以上、第３の実施形態においても、上述した第１および第２の実施形態と同様の効果を得ることができる。さらに、この実施形態では、モニタ期間に測定されたオーバー回数ＯＶＮおよびアンダー回数ＵＮＮにより、暫定値ＲＶ０を調整し、基準値ＲＶにフィードバックすることにより、パワーオン毎あるいはアプリケーションプログラムの実行に応じて、パワーダウン制御を徐々に最適にできる。特に、モニタ期間を、システムＳＹＳの動作中に所定の頻度で設定する場合、システムＳＹＳの動作に応じてアプリケーションプログラムの実行状況が変わる場合にも、実行状況に追従して常に最適なパワーダウン制御を実施でき、半導体メモリの消費電力を削減できる。
【００３５】
図９は、第４の実施形態の動作の一例を示している。システムＳＹＳの構成は、第１、第２または第３の実施形態と同じである。この例では、ＣＰＵは、２つのアプリケーションプログラムＡＰ１、ＡＰ２を時分割で実行する（マルチタスク）。アプリケーションプログラムＡＰ１、ＡＰ２は、フラッシュメモリＦＬＡＳＨに記憶され、パワーオン時にＳＤＲＡＭに転送される。ＣＰＵは、ＳＤＲＡＭに記憶されたアプリケーションプログラムＡＰ１、ＡＰ２を実行する。基準値ＲＶは、アプリケーションプログラムＡＰ１、ＡＰ２毎に独立に設定される。このために、フラッシュメモリＦＬＡＳＨには、複数の基準値ＲＶを記憶する領域が割り当てられている。なお、ＣＰＵが実行するアプリケーションプログラムは、３つ以上でもよい。
【００３６】
ＣＰＵは、アプリケーションプログラムＡＰ１、ＡＰ２の切り替え毎に、フラッシュメモリＦＬＡＳＨから対応する基準値ＲＶを読み出し、基準値レジスタＲＶＲＥＧに書き込む。これにより、アプリケーションプログラムＡＰ１、ＡＰ２毎に最適な基準値ＲＶを設定できる。例えば、メモリコントローラＳＤＲＡＭＣが図５の場合（モニタ機能付き）、アクセスコマンドＣＭＤの発生頻度のモニタも、アプリケーションプログラムＡＰ１、Ａ
Ｐ２毎に行われる。この場合、フラッシュメモリＦＬＡＳＨには、回数ＯＶＮ、ＵＮＮを記憶する領域が割り当てられる。これにより、一方のアプリケーションプログラムのモニタ期間に、他方のアプリケーションプログラムの回数ＯＶＮ、ＵＮＮを失うことなく保持できる。
【００３７】
以上、第４の実施形態においても、上述した第１、第２および第３の実施形態と同様の効果を得ることができる。さらに、この実施形態では、アプリケーションプログラムＡＰ１、ＡＰ２毎に最適な基準値ＲＶを設定できるため、アプリケーションプログラムＡＰ１、ＡＰ２毎にアクセス効率を低下させることなく最適なパワーダウン制御を実施し、半導体メモリの消費電力を削減できる。さらに、最小限の数のモニタ部ＭＯＮにより複数のアプリケーションプログラムＡＰ１、ＡＰ２のそれぞれに最適な基準値ＲＶを求めることができる。
【００３８】
図１０は、本発明の第５の実施形態におけるメモリコントローラＳＤＲＡＭＣの詳細を示している。この実施形態のメモリコントローラＳＤＲＡＭＣは、第３の実施形態のメモリコントローラＳＤＲＡＭＣに複数組のモニタ部ＭＯＮ（ＭＯＮ１、ＭＯＮ２、...、ＭＯＮｎ）、モニタレジスタＭＲＥＧ（ＭＲＥＧ１、ＭＲＥＧ２、...、ＭＲＥＧｎ）が形成されている。メモリコントローラＳＤＲＡＭＣを除く構成は、第３の実施形態と同じである。第１および第３の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００３９】
モニタレジスタＭＲＥＧ１、ＭＲＥＧ２、...、ＭＲＥＧｎは、内部バスＩＢＵＳを介して供給されるモニタ用の暫定値ＲＶ０１、ＲＶ０２、...、ＲＶ０ｎをそれぞれ保持する。暫定値ＲＶ０１、ＲＶ０２、...、ＲＶ０ｎは、例えば、フラッシュメモリＦＬＡＳＨに記憶されており、ＣＰＵが実行するプログラムによって設定される。
【００４０】
図１１は、第５の実施形態におけるモニタ期間の動作の一例を示している。図では、メモリコントローラＳＤＲＡＭＣに３つのモニタ部ＭＯＮと３つのモニタレジスタＭＲＥＧが形成された例を示している。そして、モニタ期間に３つの暫定値ＲＶ０１、ＲＶ０１、ＲＶ０２を用いて、３組の回数ＯＶＮ１／ＵＮＮ１、ＯＶＮ２／ＵＮＮ２、ＯＶＮ３／ＵＮＮ３が暫定値ＲＶ０１、ＲＶ０２、ＲＶ０３毎に同時に測定される。これにより、図６、図７および図８に示した動作を同時に実行できる。
【００４１】
モニタ期間は、システムＳＹＳのパワーオン時に設定され、あるいは、システムＳＹＳが動作中に所定の頻度で設定される。暫定値ＲＶ０１、ＲＶ０２、ＲＶ０３は、モニタ期間中に基準値レジスタＲＶＲＥＧに書き込まれない。この実施形態では、モニタ期間に暫定値ＲＶ０１、ＲＶ０２、ＲＶ０３のうちから最適な値が判定され、この値が基準値レジスタＲＶＲＥＧに書き込まれる。モニタ期間の間、クロックイネーブル信号ＣＫＥは活性化状態（高レベルＨ）に保持される。
【００４２】
モニタ期間中に最適な基準値ＲＶが求められない場合、オーバー回数ＯＶＮとアンダー回数ＵＮＮの差が最も小さい暫定値が、オーバー回数ＯＶＮとアンダー回数ＵＮＮが互いに等しい暫定値であると判定される。なお、モニタ期間中に最適な基準値ＲＶが求められない場合、オーバー回数ＯＶＮとアンダー回数ＵＮＮが互いに等しくなるまで、暫定値ＲＶ０１、ＲＶ０２、ＲＶ０３をずらしながら図に示した動作を再度実施してもよい。この実施形態では、ＣＰＵが実行するアプリケーションプログラムの数は、１つでもよく、複数でもよい。
【００４３】
以上、第５の実施形態においても、上述した第１、第２および第３の実施形態と同様の効果を得ることができる。さらに、この実施形態では、最適な基準値ＲＶを求めるための
モニタ動作を短期間に実行できる。これにより、システムＳＹＳの動作期間におけるアプリケーションプログラムの実行頻度を向上でき、ＳＤＲＡＭの実質的なアクセス効率を向上できる。
【００４４】
なお、上述した実施形態では、本発明をＳＤＲＡＭに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。本発明は、クロックイネーブル信号ＣＫＥ等のパワー制御信号によりパワーダウンモードに移行するパワーダウンモードを有する他の半導体メモリを制御するメモリコントローラまたはシステムに適用できる。
【００４５】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
パワー制御信号の非活性中にパワーダウンモードに移行する半導体メモリをアクセスするメモリコントローラであって、
システムコントローラから供給されるアクセス要求に応答して半導体メモリにアクセス制御信号を出力する動作制御部と、
前記アクセス要求に応答する半導体メモリのアクセス動作の完了に応答して前記パワー制御信号を非活性化し、前記アクセス要求から所定時間内に次のアクセス要求がある場合に前記次のアクセス要求に同期して前記パワー制御信号を活性化し、前記次のアクセス要求の前に前記所定時間が経過したときに前記所定時間の経過に同期して前記パワー制御信号を活性化するパワー制御部とを備えていることを特徴とするメモリコントローラ。
（付記２）
付記１記載のメモリコントローラにおいて、
クロック信号のパルス数をカウントし、前記アクセス要求に応答してリセットされるカウンタを備え、
前記所定時間は、前記カウンタのカウンタ値が予め設定された基準値に達するまでの時間であることを特徴とするメモリコントローラ。
（付記３）
付記２記載のメモリコントローラにおいて、
所定数のアクセス要求が発生するモニタ期間において、前記アクセス要求毎に前記カウンタ値をモニタし、前記カウンタ値が暫定値を超える回数であるオーバー回数と前記カウンタ値が前記暫定以下の回数であるアンダー回数とを計測するモニタ部を備え、
前記基準値は、前記モニタ部の計測結果に基づいて、前記オーバー回数と前記アンダー回数が等しくなるときの前記暫定回数に設定されることを特徴とするメモリコントローラ。
（付記４）
付記３記載のメモリコントローラにおいて、
複数の暫定値にそれぞれ対応して設けられ、同時に動作する複数の前記モニタ部を備え、
前記基準値は、前記暫定値のいずれかに設定されることを特徴とするメモリコントローラ。
（付記５）
パワー制御信号の非活性中にパワーダウンモードに移行する半導体メモリの制御方法であって、
システムコントローラから供給されるアクセス要求に応答して半導体メモリにアクセス制御信号を出力し、
前記アクセス要求に応答する半導体メモリのアクセス動作の完了に応答して前記パワー制御信号を非活性化し、
前記アクセス要求から所定時間内に次のアクセス要求がある場合に前記次のアクセス要求に同期して前記パワー制御信号を活性化し、
前記アクセス要求の完了後であって前記次のアクセス要求の前に前記所定時間が経過し
たときに前記所定時間の経過に同期して前記パワー制御信号を活性化することを特徴とする半導体メモリの制御方法。
（付記６）
付記５記載の半導体メモリの制御方法において、
クロック信号のパルス数をカウントし、前記アクセス要求に応答してカウンタ値をリセットし、
前記所定時間は、前記カウンタのカウンタ値が予め設定された基準値に達するまでの時間であることを特徴とする半導体メモリの制御方法。
（付記７）
付記６記載の半導体メモリの制御方法において、
所定数のアクセス要求が発生するモニタ期間において、前記アクセス要求毎に前記カウンタ値をモニタし、
前記カウンタ値が暫定値を超える回数であるオーバー回数と前記カウンタ値が前記暫定以下の回数であるアンダー回数とを計測し、
前記基準値を、前記モニタ部の計測結果に基づいて、前記オーバー回数と前記アンダー回数が等しくなるときの前記暫定回数に設定することを特徴とする半導体メモリの制御方法。
（付記８）
付記７記載の半導体メモリの制御方法において、
前記オーバー回数および前記アンダー回数を、複数の前記暫定値に対応してそれぞれ同時に計測し、
前記基準値を、前記暫定値のいずれかに設定することを特徴とする半導体メモリの制御方法。
（付記９）
パワー制御信号の非活性中にパワーダウンモードに移行する半導体メモリと、前記半導体メモリをアクセスするためのアクセス要求を出力するシステムコントローラと、前記アクセス要求を前記半導体メモリに出力するメモリコントローラとを備えたシステムであって、
前記メモリコントローラは、
システムコントローラから供給されるアクセス要求に応答して半導体メモリにアクセス制御信号を出力する動作制御部と、
前記アクセス要求に応答する半導体メモリのアクセス動作の完了に応答して前記パワー制御信号を非活性化し、前記アクセス要求から所定時間内に次のアクセス要求がある場合に前記次のアクセス要求に同期して前記パワー制御信号を活性化し、前記アクセス要求の完了後であって前記次のアクセス要求の前に前記所定時間が経過したときに前記所定時間の経過に同期して前記パワー制御信号を活性化するパワー制御部とを備えていることを特徴とするシステム。
（付記１０）
付記９記載のシステムにおいて、
クロック信号のパルス数をカウントし、前記アクセス要求に応答してリセットされるカウンタを備え、
前記所定時間は、前記カウンタのカウンタ値が予め設定された基準値に達するまでの時間であることを特徴とするシステム。
（付記１１）
付記１０記載のシステムにおいて、
所定数のアクセス要求が発生するモニタ期間において、前記アクセス要求毎に前記カウンタ値をモニタし、前記カウンタ値が暫定値を超える回数であるオーバー回数と前記カウンタ値が前記暫定以下の回数であるアンダー回数とを計測するモニタ部を備え、
前記基準値は、前記モニタ部の計測結果に基づいて、前記オーバー回数と前記アンダー回数が等しくなるときの前記暫定回数に設定されることを特徴とするシステム。
（付記１２）
付記１１記載のシステムにおいて、
複数の暫定値にそれぞれ対応して設けられ、同時に動作する複数の前記モニタ部を備え、
前記基準値は、前記暫定値のいずれかに設定されることを特徴とするシステム。
（付記１３）
付記１０記載のシステムにおいて、
前記半導体メモリは、前記システムコントローラにより実行される複数のアプリケーションプログラムを記憶し、
前記基準値は、前記アプリケーションプログラムが切り替えられる毎に、前記アプリケーションプログラムに対応してそれぞれ設定されることを特徴とするシステム。
【００４６】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【００４７】
本発明は、パワーダウンモードを有する半導体メモリのアクセスを制御するメモリコントローラおよびシステムに適用可能である。
【図面の簡単な説明】
【００４８】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】図１に示したメモリコントローラの詳細を示すブロック図である。
【図３】第１の実施形態の動作を示す説明図である。
【図４】本発明の第２の実施形態を示すブロック図である。
【図５】本発明の第３の実施形態におけるメモリコントローラの詳細を示すブロック図である。
【図６】第３の実施形態におけるモニタ期間の動作の一例を示す説明図である。
【図７】第３の実施形態におけるモニタ期間の動作の別の例を示す説明図である。
【図８】第３の実施形態におけるモニタ期間の動作の別の例を示す説明図である。
【図９】第４の実施形態の動作の一例を示す説明図である。
【図１０】本発明の第５の実施形態におけるメモリコントローラの詳細を示すブロック図である。
【図１１】第５の実施形態におけるモニタ期間の動作の一例を示す説明図である。
【符号の説明】
【００４９】
ＡＩ／Ｏ‥オーディオインタフェース；ＣＬＫＧ‥クロック生成部；ＣＫＥＣ‥クロックイネーブル制御部；ＣＫＥＧ‥クロックイネーブル生成部；ＣＯＭＰ‥比較部；ＣＯＵＮＴ‥カウンタ；ＤＩＳＰ‥ディスプレイ；ＦＬＡＳＨ‥フラッシュメモリ；ＭＣＡ‥メモリカードアダプタ；ＭＣＣＮＴ‥メモリカードコントローラ；ＭＣＮＴ‥メモリコントローラ；ＯＰＣ‥動作制御部；ＲＶＲＥＧ‥基準値レジスタ；ＳＤＲＡＭＣ‥メモリコントローラ；ＳＰＫ‥スピーカ；ＳＹＳ‥システム；ＶＤＣ‥ビデオ表示コントローラ
【図１】
2008225624.tif 000003
【図２】
2008225624.tif 000004
【図３】
2008225624.tif 000005
【図４】
2008225624.tif 000006
【図５】
2008225624.tif 000007
【図６】
2008225624.tif 000008
【図７】
2008225624.tif 000009
【図８】
2008225624.tif 000010
【図９】
2008225624.tif 000011
【図１０】
2008225624.tif 000012
【図１１】
2008225624.tif 000013