(57)【要約】ＤＲＡＭまたはＳＤＲＡＭのコンポーネントは、行のような、ＤＲＡＭアレイの独立してリフレッシュ可能なメモリ装置が有効データを含むかどうか示すインジケータを維持する。リフレッシュ操作が関連するメモリに導かれるとき、メモリが有効データを含んでいない場合にリフレッシュ操作が抑えられる。著しい省電力は無効データに向けられたリフレッシュ操作を抑えることにより実現されるかもしれない。
2010534897.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ独立してリフレッシュ可能なメモリ装置にインジケータを関連させることと、
独立してリフレッシュ可能なメモリ装置にデータを書き込むことで、有効データを反映させるために関連するインジケータをセットすることと、
その関連するインジケータがメモリ装置に記憶された有効データを反映する、独立してリフレッシュ可能なメモリ装置だけをリフレッシュすることとを具備する
ダイナミックメモリをリフレッシュすることの方法。
【請求項２】
前記独立してリフレッシュ可能なメモリ装置が行である請求項１の方法。
【請求項３】
前記独立してリフレッシュ可能なメモリ装置が２つ以上のメモリバンクを通して行を具備する請求項１の方法。
【請求項４】
前記インジケータが有効ビットである請求項１の方法。
【請求項５】
前記有効ビットがＤＲＡＭアレイに記憶される請求項４の方法。
【請求項６】
前記有効ビットがスタティックメモリに記憶される請求項４の方法。
【請求項７】
前記有効ビットがレジスタに記憶される請求項４の方法。
【請求項８】
有効データを反映させるために前記関連するインジケータをセットすることは、
前記関連する独立してリフレッシュ可能なメモリ装置にデータを書き込むことで前記インジケータを自動的にセットすることを具備する請求項１の方法。
【請求項９】
有効データを反映させるために前記関連するインジケータをセットすることは、
メモリコントローラからのコマンドで前記インジケータをセットすることを具備する請求項１の方法。
【請求項１０】
有効データを反映するためにセットしたインジケータはリセットでクリアされる請求項１の方法。
【請求項１１】
有効データを反映するためにセットしたインジケータは、メモリコントローラからのコマンドでクリアされる請求項１の方法。
【請求項１２】
その関連するインジケータがメモリ装置に記憶された有効データを反映する、前記独立してリフレッシュ可能なメモリ装置だけをリフレッシュすることは、
その関連するインジケータがそこに記憶された有効データを反映する、前記独立してリフレッシュ可能なメモリ装置だけをセルフリフレッシュすることを具備する請求項１の方法。
【請求項１３】
その関連するインジケータがメモリ装置に記憶された有効データを反映する、前記独立してリフレッシュ可能なメモリ装置だけをリフレッシュすることは、
その関連するインジケータがそこに記憶された有効データを反映する、前記独立してリフレッシュ可能なメモリ装置だけをオートリフレッシュすることを具備する請求項１の方法。
【請求項１４】
その関連するインジケータがメモリ装置に記憶された有効データを反映する、前記独立してリフレッシュ可能なメモリ装置だけをリフレッシュすることは、
不連続の独立してリフレッシュ可能なメモリ装置を連続してリフレッシュすることを具備する請求項１の方法。
【請求項１５】
その関連するインジケータがメモリ装置に記憶された有効データを反映する、前記独立してリフレッシュ可能なメモリ装置だけをリフレッシュすることは、
リフレッシュコマンドを受け取ることと、
現在のリフレッシュアドレスに関連した前記インジケータを検査することと、
前記インジケータが有効データを反映する場合で、前記アドレスされた、独立してリフレッシュ可能なメモリ装置をリフレッシュすることを具備する請求項１の方法。
【請求項１６】
前記インジケータが無効データを反映する場合で、リフレッシュサイクルを抑えることをさらに具備する請求項１４の方法。
【請求項１７】
前記インジケータが有効データを反映する場合で、有効データを反映する前記インジケータをもつ、前記次の独立してリフレッシュ可能なメモリ装置へのリフレッシュアドレスをインクリメントすることをさらに具備する請求項１４の方法。
【請求項１８】
スキップされたリフレッシュアドレスの数に比例してリフレッシュ回数を縮小することをさらに具備する請求項１６の方法。
【請求項１９】
データを記憶するのに作用し、複数の独立してリフレッシュ可能なメモリ装置として組織されたＤＲＡＭアレイと、
各々独立してリフレッシュ可能なメモリ装置に関係していて、有効データが前記独立してリフレッシュ可能なメモリ装置に記憶されるかどうか示した複数のインジケータと、
前記インジケータを検査し、かつ有効データを記憶する独立してリフレッシュ可能なメモリ装置だけをリフレッシュするために制御信号とオペレイティヴ（operative）を受け取るコントローラと
を具備するＤＲＡＭコンポーネント。
【請求項２０】
前記ＤＲＡＭアレイの中の前記独立してリフレッシュ可能なメモリ装置のアドレスを生成するのに作用するリフレッシュカウンタをさらに具備する請求項１９のＤＲＡＭコンポーネント。
【請求項２１】
データが、関連する独立してリフレッシュ可能なメモリ装置に書き込まれている場合にインジケータをセットするのに作用する回路をさらに具備する請求項１９のＤＲＡＭコンポーネント。
【請求項２２】
前記インジケータが初期設定中にクリアされる請求項１９のＤＲＡＭコンポーネント。
【請求項２３】
前記コントローラは、制御信号に応じて前記インジケータをセットするかクリアするのにさらに作用する請求項１９のＤＲＡＭコンポーネント。
【請求項２４】
前記インジケータは、１つ以上の独立してリフレッシュ可能なメモリ装置に記憶される請求項１９のＤＲＡＭコンポーネント。
【請求項２５】
前記インジケータは、前記ＤＲＡＭアレイとは異なるメモリに記憶される請求項１９のＤＲＡＭコンポーネント。
【請求項２６】
タスクにメモリを割り付けるソフトウェアタスクからのリクエストを受け取ることと、
メモリ装置中の１つ以上の独立してリフレッシュ可能なメモリ装置からのタスクにメモリを割り付けることと、
前記独立してリフレッシュ可能なメモリ装置に向けられたリフレッシュ操作を抑えないために前記メモリ装置に向けられた、それぞれ独立してリフレッシュ可能なメモリ装置に関連したインジケータをセットすることとのステップを行なうのに作用する１つのメモリマネージャコンピュータプログラムを少なくとも含むコンピュータ読取可能媒体。
【請求項２７】
前記メモリマネージャコンピュータプログラムは、
以前にタスクに割り付けられたメモリを開放するためにソフトウェアタスクからリクエストを受け取ることと、
以前に前記タスクに割り付けられたメモリを開放することと、
前記独立してリフレッシュ可能なメモリ装置中のメモリがすべて開放されている場合、その独立してリフレッシュ可能なメモリ装置に向けられた、リフレッシュ操作を抑えるようにメモリ装置に命令するために前記関連するインジケータをクリアすること
とのステップを行なうのにさらに作用する請求項２６のコンピュータ読取可能媒体。
【請求項２８】
シングルプロセッサ上で実行する複数のソフトウェアタスクに前記メモリマネージャコンピュータプログラムがメモリを割り付ける請求項２６のコンピュータ読取可能媒体。
【請求項２９】
異なるプロセッサ上で各々実行する、２つ以上のソフトウェアタスクに前記メモリマネージャコンピュータプログラムがメモリを割り付ける請求項２６のコンピュータ読取可能媒体。
【請求項３０】
前記メモリマネージャコンピュータプログラムは、前記関連する独立してリフレッシュ可能なメモリ装置に最初にデータを書き込むことで、独立してリフレッシュ可能なメモリ装置インジケータをセットする請求項２６のコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリの分野に一般に関係があり、システムへダイナミックＲＡＭ電力消費を減らすためのシステム及び方法に特に関係がある。
【背景技術】
【０００２】
ソリッドステートダイナミックランダムアクセスメモリ（ＤＲＡＭ）は、携帯用電子機器を含む、多くの現代のコンピューティングシステムのための資金効率の良い大容量メモリ装置ソリューションである。同期ＤＲＡＭ（ＳＤＲＡＭ）を含むＤＲＡＭは、高位ビット密度、およびファスター(faster)と比較してビットあたりの比較的低いコスト、レジスタ、スタティックＲＡＭなど（ＳＲＡＭ）のようなオンチップメモリ構造、および、ハードディスク、ＣＤ−ＲＯＭなどのような電気的、磁気的、または光学的−機械的な大容量ストレージより劇的に速いアクセス速度を提供する。
【０００３】
図１は、代表的な５１２メガビットのＤＲＡＭアレイ１００の論理的な見方を描く。アレイ１００は、別々にアドレス指定できる複数のバンク１０２，１０４，１０６，１０８として組織される。それぞれのバンクは、行(row)１１０の多数、例えば４０９６に分割される。それぞれの行１１０は、複数の列(column)（例えば５１２列）に分割され、また、それぞれの列はバイト群（例えば８バイト）として典型的に組織されて、多くのデータビッツを含む。いくつかのデータアドレッシングスキームは従来から知られている。例えば、バンク、行、列（ＢＲＣ）アドレッシングで、メモリアドレスは
【表１】
2010534897.tif 000003
【０００４】
として解釈されるかもしれない。行、バンク、列（ＲＢＣ）アドレシングのような代替アドレスッシングスキームでは、メモリアドレスは
【表２】
2010534897.tif 000004
【０００５】
として解釈されるかもしれない。
【０００６】
ＤＲＡＭメモリアレイは揮発性であり、その保全性を維持するためにＤＲＡＭアレイに記憶されたデータは周期的にリフレッシュされなければならない。ＤＲＡＭリフレッシュ動作中に、多くのデータ保存場所は、アレイ１００から同時に除かれ、充電される。因習的に、ＤＲＡＭアレイは一行ずつリフレッシュされる。すなわち、行が、あるいは、いくつかのインプリメンテーションで、あらゆるバンクの中で同時に同じ行が選択され、また、行の内の全てのデータは単一の操作でリフレッシュされる。ここに使用されるように、用語“独立してリフレッシュ可能なメモリ装置”すなわちＩＲＭＵは、単一のリフレッシュ操作でリフレッシュされるデータの量を指す。本発明は一行ずつのリフレッシュ操作に制限されていないが、ＤＲＡＭアレイのためのＩＲＭＵは典型的に行である。
【０００７】
ＩＲＭＵに向けられたリフレッシュ操作は、メモリアクセスで因習的に散りばめられ、また、時間が計られる、帯電減衰(charge decay)により失われた任意のデータに先立って全ＤＲＡＭアレイがリフレッシュされるそのようなものである。もともとは、リフレッシュアドレス、すなわちそれぞれ独立してリフレッシュ可能なメモリ装置のアドレスは、プロセッサのようなメモリコントローラによって供給され、それは制御信号の個性的なコンビネーションによってリフレッシュ操作を指定する。現代のＳＤＲＡＭコンポーネントは２つの付加的なリフレッシュモードである、セルフリフレッシュおよびオートリフレッシュを含むかもしれない。両方のモードにおいて、ＳＤＲＡＭコンポーネントは内部リフレッシュアドレスカウンタを含んでいる。セルフリフレッシュは、電力を保持するために“スリープ”モードを使用する、電池式の電子装置のような多くのシステムで利用される。セルフリフレッシュモードでは、ＳＤＲＡＭコンポーネントは保存またはデータ検索へアクセス可能ではなく、しかしながら、ＳＤＲＡＭは、記憶データの保全性を保証するために内部でリフレッシュ操作を行なう。オートリフレッシュモードでは、メモリコントローラはリフレッシュ操作を指定するが、リフレッシュアドレスを提供しない。もっと正確に言えば、ＳＤＲＡＭコンポーネントは、それは連続的な独立してリフレッシュ可能なメモリ装置（例えば行）アドレスを提供する内部リフレッシュアドレスカウンタをインクリメントする。
【０００８】
データがＤＲＡＭアレイから読まれ充電されるとともに、リフレッシュ操作はそれぞれ電力を消費する。しかしながら、特に下記パワーオンあるいはシステムリセット、ＤＲＡＭアレイの中のほとんどのメモリ装置場所（locations）は有効データを含んでいない。
【発明の概要】
【０００９】
ここに示されてクレームされた１つ以上の実施形態によれば、メモリのリフレッシュ可能なセグメントが有効データを含むかどうか示すインジケータが維持される。リフレッシュ操作が関連するメモリに向けられる際、メモリが有効データを含んでいない場合、リフレッシュ操作が抑えられる。著しい省電力は無効データに向けられたリフレッシュ操作を抑えることにより実現されるかもしれない。
【００１０】
１つの実施形態はダイナミックメモリをリフレッシュする方法に関係がある。インジケータはそれぞれ独立してリフレッシュ可能なメモリ装置に関係している。独立してリフレッシュ可能なメモリ装置にデータを書き込む際、関連するインジケータは、有効データを反映する準備ができている。独立してリフレッシュ可能なメモリ装置だけがリフレッシュされ、その関連するインジケータは、そのメモリ装置に記憶した有効データを反映したものである。
【００１１】
１つの実施形態はＤＲＡＭコンポーネントに関係がある。ＤＲＡＭコンポーネントは、データを記憶するのに作用して、複数の独立してリフレッシュ可能なメモリ装置として組織されたＤＲＡＭアレイを含んでいる。ＤＲＡＭコンポーネントは、各々独立してリフレッシュ可能なメモリ装置に関係していて、独立してリフレッシュ可能なメモリ装置に有効データが保存されるかどうか示した複数のインジケータをさらに含んでいる。ＤＲＡＭコンポーネントは、インジケータを検査するため、かつ有効データを記憶する独立してリフレッシュ可能なメモリ装置のみをリフレッシュするために制御信号とオペレイティヴ（operative）を受け取るコントローラをさらに含んでいる。
【図面の簡単な説明】
【００１２】
【図１】図１は、ＤＲＡＭアレイの中のデータ組織の機能ブロック図である。
【図２】図２は、それぞれ独立してリフレッシュ可能なメモリ装置に関連した、有効なインジケータあるいはビットを伴うＤＲＡＭアレイの中のデータ編成の機能ブロック図である。
【図３】図３はＳＤＲＡＭコンポーネントの機能ブロック図である。
【図４】図４はシングルプロセッサコンピューティングシステムの機能ブロック図である。
【図５】図５は多重プロセッサコンピューティングシステムの機能ブロック図である。
【図６】図６はＤＲＡＭアレイをリフレッシュする方法のフローチャートである。
【発明を実施するための形態】
【００１３】
図２は、１つの実施形態によるＤＲＡＭアレイ２００組織の論理的な視界を描く。アレイ２００は、４つのバンク２０２，２０４，２０６，２０８として論理上組織され、各バンクは４０９６行を含む。代表的な行は２１０として描かれる。この実施形態では、行２１０は最も小さな独立してリフレッシュ可能なメモリ装置である。アレイ２００中で行２１０に関係していたものは、行２１０が有効データを含んでいても含んでいなくても反映するインジケータ２１１である。描かれた実施形態では、それぞれのインジケータ２１１は、各行に関係する、有効ビットとしてここに参照されるシングルビットを具備する。図２は、それぞれ、バンク２０２，２０４，２０６，２０８で行に関連した各インジケータビットである、インジケータビット２１２，２１４，２１６，２１８のセットを描く。最も小さな独立してリフレッシュ可能なメモリ装置が４つのバンク２０２，２０４，２０６，２０８すべてにまたがる行を具備する実施形態では、インジケータビット２１２の１つのセットのみが必要だろう。
【００１４】
リフレッシュ操作中に、例えばＩＲＭＵ２１０といった、現在アドレス指定された独立してリフレッシュ可能なメモリ装置に関連した、例えばインジケータ２１１といった、インジケータあるいは有効ビットは検査される。インジケータビットがセットされる場合、関連するＩＲＭＵが有効データを含むことを示して、リフレッシュ操作はデータを維持するためにＩＲＭＵ上で行なわれる。インジケータビットがセットされない場合、関連するＩＲＭＵを示すことは有効データを含まず、１つの実施形態では、リフレッシュ操作はＩＲＭＵをリフレッシュする際にさもなければ消費される電力を保存することで抑えられる。したがって、有効データを含んでいるＩＲＭＵのみがリフレッシュされるだろう、そして初期化されなかった、あるいは“don't care”状態でのアレイ中のＩＲＭＵはリフレッシュされない。リフレッシュアドレスはメモリコントローラによって供給されるかもしれない、あるいは例えばオートリフレッシュあるいはセルフリフレッシュの期間のように内部アドレスカウンタによって生成されるかもしれない。
【００１５】
インジケータビットは様々な方法で維持されるかもしれない。１つの実施形態では、インジケータビットはメモリアレイ２００の固定のまたはプログラム可能な部分で記憶される。この場合、アレイ２００の使用可能なサイズは０．００３％減らされる。別の実施形態では、インジケータビットは、例えばスタティックＲＡＭストラクチャ中やレジスタ中などでのように、ＤＲＡＭアレイ２００以外のメモリ中のＤＲＡＭ／ＳＤＲＡＭコンポーネントで記憶される。１つの実施形態では、ＩＲＭＵ有効インジケータメモリは、ＳＤＲＡＭコンポーネントのモードレジスタと拡張モードのレジスタアクセスシーケンスに似ている２サイクルシーケンスによってアクセスされる。
【００１６】
図３は、１つの実施形態によるＳＤＲＡＭコンポーネント３００の機能ブロック図である。ＳＤＲＡＭ３００は、４つのバンク３０２，３０４，３０６，３０８として組織されるＤＲＡＭアレイ３０１を含んでいる。それぞれのバンクは行デコーダ３１２，列デコーダ３１０を含む。センスアンプ３１４は、Ｉ／Ｏバッファ３１６にＤＲＡＭアレイ３０１からの読まれたデータを供給する。Ｉ／Ｏバッファ３１６からの書込データ（write data）は入力バッファ３１８を通り、ＤＲＡＭアレイ３０１に書き込む前にライトデータレジスタ３２０に保存される。
【００１７】
ＳＤＲＡＭコンポーネント３００の動作はステートマシン３２２によって制御される。バンクとメモリアドレスはアドレスバッファ３２４へ入力されてアドレスレジスタ３２６に記憶され、するとそこで、それらが列プレデコーダ＆カウンタ回路（column pre-decoder and counter circuit）３２８を制御する。モードレジスタ３３０および拡張モードレジスタ３３２は、例えばカラム・アドレス・ストロープ(CAS)遅れ、バースト長などのようなモード選択ビットを記憶し、そしてそれはバーストカウンタ３３４およびデータ出力制御回路３３６の動作を制御する。
【００１８】
リフレッシュロジック＆タイマ回路（refresh logic and timer circuit）３３８は、内部カウンタ３４０からのＩＲＭＵアドレス、およびＩＲＭＵ有効メモリ３４２からのＩＲＭＵ有効ビットを受け取る。リフレッシュロジックは、行プレデコーダ（row pre-decoder）３４４にＩＲＭＵアドレスを出力する。ＩＲＭＵ有効メモリ３４２がＤＲＡＭアレイ３０１から分離して区別された機能ブロックとして図３に描かれている間に、ＩＲＭＵ有効インジケータの記憶装置に物理的に専用のメモリは、ＤＲＡＭアレイ３０１の一部かもしれないし、あるいは個別のＤＲＡＭ、ＳＲＡＭ、レジスタあるいは他のメモリかもしれないことに注意されたい。
【００１９】
１つの実施形態中で、ＳＤＲＡＭコンポーネント３００は、書込アドレス(write addresses)を自動的に監視し、また、それぞれの書込み操作(write operation)が向けられるＩＲＭＵに対応するＩＲＭＵ有効インジケータをセットする。その後、リフレッシュロジック３３８は、各リフレッシュ操作でのＩＲＭＵ有効メモリ３４２を検査し、有効データを含んでいないあらゆるＩＲＭＵに向けられたリフレッシュサイクルを抑える。これは、ＳＤＲＡＭコンポーネント３００の電力消費を最小化するが、リフレッシュ抑制知識あるいはメモリコントローラまたはプロセッサによる関与を要求しない。ＤＲＡＭアレイ３０１が、有効データの大部分が中身がない場合、主要な省電力化は、パワーオンあるいはリセットに続いておそらく生じる。ＤＲＡＭアレイ３０１の中のより多くのＩＲＭＵへのメモリコントローラ書込データ(memory controller writes data)として、より多くのＩＲＭＵ有効ビットがセットされ、また、より少数のリフレッシュサイクルが抑えられる。この実施形態では、ＩＲＭＵメモリ３４２は、電源投入かリセットに続くＳＤＲＡＭコンポーネント３００初期設定の部分として自動的にクリアされる。精巧なメモリ管理機能性を含んでいない既存のメモリコントローラおよびソフトウェアを利用している間、この実施形態は、システム設計者がＳＤＲＡＭコンポーネント３００のより低い電力消費を利用することを可能にする。
【００２０】
１つの実施形態では、ＩＲＭＵメモリ３４２は、例えば定義済みのモードレジスタ３３０あるいは拡張モードレジスタ３３２書込み操作かビットパターンのような、メモリコントローラからのコマンドによってクリアされるかもしれない。この実施形態は、ソフト（例えばソフトウェア初期化)リセットに続く、減らされたＳＤＲＡＭコンポーネント３００電力消費を考慮に入れ、しかしメモリコントローラがＩＲＭＵメモリ３４２クリアコマンドを出すことを要求する。
【００２１】
図４は、ＤＲＡＭ電力消費を制御して減らすコンピューティングシステム４００を描く。システム４００は、例えばプロセッサ４０２、メモリコントローラハードウェア４０４（それはプロセッサに統合されてもよい)、およびＳＤＲＡＭコンポーネント４０６のようなメモリ装置のようなメモリコントローラを含んでいる。ＳＤＲＡＭコンポーネント４０６内部のＤＲＡＭアレイは、独立してリフレッシュ可能なメモリ装置４０８ａ，４０８ｂ，４０８ｃ，．．．４０８ｊに論理的に分割される。例えばビット４１０ａ，４１０ｂ，４１０ｃ，．．．４１０ｊのようなＩＲＭＵ有効インジケータが各ＩＲＭＵに関係しており、そしてそれは関連するＩＲＭＵが有効データを含むかどうかを示す。
【００２２】
複数のソフトウェアタスク４１２，４１４はプロセッサ４０２で実行する。それぞれのソフトウェアタスクはデータ記憶のためにメモリを割り付けるかもしれず、また、もはや必要とされないメモリを開放するかもしれない。ソフトウェアメモリマネージャ４１６は、プロセッサ４０２用メモリを管理するソフトウェアモジュールである。ソフトウェアメモリマネージャ４１６はソフトウェアタスク４１２，４１４からのメモリ“allocate”および／または“free”リクエストを受け取る。レスポンスで、ソフトウェアメモリマネージャ４１６は、タスク４１２，４１４間のメモリを割り当てる、１以上の独立してリフレッシュ可能なメモリ装置４０８ａ，４０８ｂ，４０８ｃ，...４０８ｊ（例えば行）に割り当てられたメモリを位置づけ、また、現在ＩＲＭＵ４０８ａ，４０８ｂ，４０８ｃ，...４０８ｊの中のデータのステータスを反映する、対応するＩＲＭＵ有効インジケータ４１０ａ，４１０ｂ，４１０ｃ，...４１０ｊをセットしクリアする。１つの実施形態では、実際のメモリコントローラは独立したハードウェア要素４０４であり、別の実施形態では、メモリコントローラ機能はプロセッサ４０２へ統合される。ＳＤＲＡＭコンポーネント４０６は、無効データを含んでいるＩＲＭＵ４０８ａ，４０８ｂ，４０８ｃ，...４０８ｊに向けられたリフレッシュ操作をすべて抑える。
【００２３】
図５は、メモリ割当てを制御して、ＳＤＲＡＭ電力消費を最小化するマルチプロセッサシステム５００を描く。プロセッサ５０２，５０４はシステムバス５０６を通って互いおよびメモリコントローラハードウェア５０８と通信する。既に知られているように、バス５０６も、スイッチング構成（fabric）、クロスバースイッチなどとして実施されるかもしれない。１つ以上のソフトウェアタスク５０３，５１６，５１８は、プロセッサ５０２，５０４上で実行する。システム全体のソフトウェアメモリマネージャ５２０は、システムで実行するすべてのソフトウェアタスク５０３，５１６，５１８間でメモリを割り当てて、１つのプロセッサ５０４上で実行する。プロセッサ５０２上で実行するいくらかのソフトウェアタスク５０３は、メモリ割り当て、バス５０６を通ったソフトウェアメモリマネージャ５２０へのフリーリクエストを送るかもしれない。上に述べられたように、ソフトウェアメモリマネージャ５２０は、タスク５０３，５１６，５１８間にメモリを割り当て、１以上の独立してリフレッシュ可能なメモリ装置５１２ａ，５１２ｂ，５１２ｃ，...５１２ｊに割り当てられたメモリを位置づけ、また、ＩＲＭＵ５１４ａ，５１４ｂ，５１４ｃ，...５１２ｊに現在保存されたデータのステータスを反映するメモリコントローラハードウェア５０８による対応するＩＲＭＵ有効インジケータ５１４ａ，５１４ｂ，５１４ｃ，...５１４ｊをセットしクリアする。ＳＤＲＡＭコンポーネント５１０は、無効データを含んでいるＩＲＭＵ５１２ａ，５１２ｂ，５１２ｃ，...５１２ｊに向けられたリフレッシュ操作を抑える。
【００２４】
従来のリフレッシュモード、オートリフレッシュモードあるいはセルフリフレッシュモードでは、ＳＤＲＡＭコンポーネント３００，４０６，５１０はリフレッシュアドレス（メモリコントローラまたは内部カウンタによって供給された)をＩＲＭＵ有効メモリ３４２，４１０，５１４と比較し、有効データを含んでいないＩＲＭＵ４０８，５１２に向けられたリフレッシュ操作を抑える。１つの実施形態では、ソフトウェアメモリマネージャ４１６，５２０は活発にメモリを管理し、ＩＲＭＵ有効ビット４１０，５１４をセットする又はクリアし、システムはメモリリフレッシュをさらに最適化するかもしれず、物理メモリが割り当てからソフトウェアタスクまで開放されて“pool,”に返されるとともに、ＩＲＭＵへのリフレッシュコマンドをダイナミックに抑えることにより、電力消費を最小化し、その場合には、そのデータ内容は適切ではない。
【００２５】
従来のリフレッシュモードでは、ソフトウェアメモリマネージャ４１６，５２０は、有効データを含んでいるＩＲＭＵ４０８，５１２にのみにリフレッシュアドレスを提供するかもしれない。オートリフレッシュあるいはセルフリフレッシュモードでは、ＳＤＲＡＭコンポーネント３００，４０６，５１０は、各リフレッシュ操作に続いて、有効データを含んでいる次のＩＲＭＵ４０８，５１２への、そのリフレッシュアドレスカウンタをインクリメントすることにより、無効のメモリを“スキップ”するかもしれない。いずれの場合も、メモリコントローラ４０４，５０８は、リフレッシュ操作間の遅れを増加させるかもしれず、それは、有効データを含んでいるＩＲＭＵ４０８，５１２だけが最大のリフレッシュ周期ですべてリフレッシュされるほどのものである。この実施形態では、リフレッシュコマンドはＳＤＲＡＭコンポーネント３００，４０６，５１０によって抑えられない。これは、不必要なメモリコマンドサイクルの回避により、電力消費をさらに最適化し（さらにバス輻輳を減らす)、また、進行中のメモリアクセスに乗じる遅れリフレッシュコマンドを減らす。
【００２６】
図６は、１つ以上の実施形態によるリフレッシュするＤＲＡＭの方法６００を描く。初期設定に際して、すべてのＩＲＭＵインジケータはクリアされる（ブロック６０２)。その後、その方法は、リフレッシュ操作が行なわれることになっているかどうかチェックする（ブロック６０４)。従来のリフレッシュモードでは、リフレッシュ操作は、メモリコントローラからのＤＲＡＭコンポーネントへ送られる制御信号によって示され、また、リフレッシュされるＩＲＭＵはアドレスバス上で示される。オートリフレッシュモードでは、リフレッシュ操作はメモリコントローラによって命令され、また、内部カウンタはＩＲＭＵリフレッシュアドレスを提供する。セルフリフレッシュモードでは、リフレッシュタイマーの終了は、リフレッシュ操作が必要であることを示し、また、内部カウンタはＩＲＭＵアドレスを提供する。
【００２７】
リフレッシュ操作が示される場合（ブロック６０４）、現在のＩＲＭＵアドレス（例えば行アドレスのような)に関連したＩＲＭＵインジケータは検査される（ブロック６０６)。ＩＲＭＵが有効データを含むことをＩＲＭＵインジケータが示す場合（ブロック６０８）、リフレッシュ操作はアドレス指定されたＩＲＭＵ上で行なわれる（ブロック６１０)。ＩＲＭＵが有効データを含まないことをＩＲＭＵインジケータが示す場合（ブロック６０８）、リフレッシュ操作は、無効の（あるいは、“don't care”)データのリフレッシュにより、さもなければ消費されると推測される電力を節約することで抑えられる。
【００２８】
セルフリフレッシュモードでは、ＳＤＲＡＭコンポーネントはリフレッシュアドレスカウンタの次の終了に関してブロック６０４で待機する。他のリフレッシュモード中で、リフレッシュ操作が命令されない場合（ブロック６０４）、ＤＲＡＭ（あるいはＳＤＲＡＭ）コンポーネントは、またはメモリコントローラによって命令されるような、読み、書き、および／又はレジスタアクセス操作を実行する（ブロック６１２）。１つの実施形態中で、メモリ管理ソフトウェアモジュールがメモリブロックを割り付け、開放する場合には、メモリあるいはレジスタアクセス操作が、ＩＲＭＵインジケータを読み、セットし、クリアするＩＲＭＵメモリに向けられた動作を含むかもしれない。１つの実施形態では、ＩＲＭＵインジケータは、関連するＩＲＭＵに向けられた書込み操作で自動的にセットされる（ブロック６１４）。この実施形態では、ＩＲＭＵインジケータは初期設定で単にクリアされ（ブロック６０２）、しかし有効データが多くのＩＲＭＵに少なくとも一度書き込まれるまで著しい省電力を提供するかもしれない。
【００２９】
[0032]  ＤＲＡＭアレイの物理的なリフレッシュ操作に、メモリ管理のソフトウェアパラダイム（paradigm）（ここで、メモリは、タスクに割り付けられて、割り付けより前に又は開放された後に“don't care”状態を仮定する場合に単に該当する)を適用することによって、著しい省電力は、有効データを保持しないメモリのセグメントに向けられた不必要なリフレッシュ操作を除くことにより実現されるかもしれない。１つの実施形態では、有効データのトラッキングは、関連するＩＲＭＵビットのセットによって、自動的である。この実施形態では、本発明の省電力の利点は、選択的にリフレッシュ操作を抑える能力のソフトウェアメモリ管理か知識のないシステムにおいて有効である。他の実施形態では、ＩＲＭＵメモリの直接制御は、精巧なメモリ管理および最大電力節約を考慮に入れる。
【００３０】
ここに使用されるように、用語“独立してリフレッシュ可能なメモリ装置”すなわちＩＲＭＵは単一のリフレッシュ操作でリフレッシュされるデータの量を参照する。本発明はそのように制限されていないが、ＤＲＡＭアレイのためのＩＲＭＵは典型的に行である。ここに使用されるように、用語“セット”は、データ（例えば０、または１、マルチビットパターン）の価値にかかわらず、有効データが関連するＩＲＭＵに記憶されることを示すためにＩＲＭＵインジケータにデータを書き込むことを参照する。“クリア”は、データ（例えば０、または１、マルチビットパターン）の価値にかかわらず、有効データが関連するＩＲＭＵに記憶されないことを示すためにＩＲＭＵインジケータにデータを書き込むことを指す。ここに使用されるように、“ＤＲＡＭアレイ”はダイナミックランダムアクセスメモリアレイを参照し、それはＤＲＡＭおよびＳＤＲＡＭ集積回路コンポーネントの両方にデータを記憶する。ここに使用されるように、用語“ＤＲＡＭ”だけ、あるいは“ＤＲＡＭコンポーネント”の範囲は、非同期ＤＲＡＭメモリコンポーネントおよびＳＤＲＡＭコンポーネントの両方を含む。ここに使用されるように、用語“allocate”はソフトウェアタスクに一連のメモリアドレスを割り当てることを参照し、また、用語“free”は割り当てを解除されたメモリのプール（pool）に、前に割り当てられたメモリアドレスを返すことを参照する。
【００３１】
本発明は、それの具体的特徴、局面および実施形態に関してここに記述されたが、多数の変形、改良および他の実施形態が本発明の広い範囲内で可能であることは明白であろうし、また、従って、全ての変形、改良および実施例は本発明の範囲内にみなされることである。したがって、現在の実施形態は、実例となり、限定的でないものとして、すべての局面の中で解釈されることであり、また、追加された請求項の意味および同等の範囲内に来る全ての変更は、そこに包含されるように意図される。
【図１】
2010534897.tif 000005
【図２】
2010534897.tif 000006
【図３】
2010534897.tif 000007
【図４】
2010534897.tif 000008
【図５】
2010534897.tif 000009
【図６】
2010534897.tif 000010
【国際調査報告】
2010534897.tif 000011
2010534897.tif 000012
2010534897.tif 000013