(57)【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイス（ＰＣＤ）におけるハードウェア（ＨＷ）ベースのダイナミックメモリ管理のための方法であって、
メモリコンポーネント内にメモリページルックアップテーブル（ＬＵＴ）を生成するステップであって、前記ＬＵＴが揮発性メモリの複数の部分にわたって位置する複数のメモリページの各々に対するレコードを含む、ステップと、
前記レコードに関連する前記メモリページにデータコンテンツが格納されているか否かを各レコードが示すように、前記ＬＵＴを更新するステップと、
前記ＰＣＤがスリープ状態に入ったことを認識するステップと、
前記ＬＵＴに問合せを行って、前記揮発性メモリの第１部分内のどのメモリページがデータコンテンツを含むかおよび前記揮発性メモリの第２部分内のどのメモリページがコンテンツを受け入れるために利用可能であるかを判定するステップと、
前記揮発性メモリの前記第２部分内のメモリページが利用可能でない場合、前記ＬＵＴに問合せを行って、前記揮発性メモリの前記第２部分内のどのメモリページが上書きしてもよいデータを含むかを判定するステップと、
前記ＬＵＴへの前記問合せに基づいて、かつ前記揮発性メモリの前記第２部分内のメモリページが利用可能である場合、データコンテンツを前記第１部分内のメモリページから前記第２部分内の利用可能なメモリページに移動させるステップと、
前記揮発性メモリの前記第２部分内のメモリページが利用可能でない場合、データコンテンツを前記揮発性メモリの前記第１部分内の１つまたは複数のメモリページから、前記上書きしてもよいデータを含む前記揮発性メモリの前記第２部分内の１つまたは複数のメモリページに移動させるステップと、
前記揮発性メモリの前記第１部分への電力供給を断つステップであって、前記揮発性メモリの前記第１部分への電力供給を断つことによって、前記ＰＣＤの前記スリープ状態に伴うスリープ電流が低減される、ステップと
を有し、
前記ＬＵＴを更新するステップは、複数のアプリケーションが前記ＰＣＤのユーザによって優先順位付けされることに基づいて、前記複数のアプリケーションに関連したデータコンテンツの重要度に優先順位を付けるステップを含み、
前記上書きしてもよいデータは、前記ＰＣＤのユーザによって優先順位付けされ、前記ＬＵＴで更新がなされた、前記複数のアプリケーションに関連したデータコンテンツの重要度の前記優先順位によって判定される、方法。
【請求項２】
前記上書きしてもよいデータは、優先順位の低いアプリケーションに関連したデータであるので、上書きしてよいと指定される、請求項１に記載の方法。
【請求項３】
前記上書きしてもよいデータは、過去の所定の時間の間にアクセスされなかったデータであるので、上書きしてよいと指定される、請求項１に記載の方法。
【請求項４】
前記ＬＵＴが、不揮発性メモリコンポーネント内に格納される、請求項１に記載の方法。
【請求項５】
前記不揮発性メモリコンポーネントが、フラッシュメモリコンポーネントである、請求項４に記載の方法。
【請求項６】
前記ＬＵＴが、揮発性メモリコンポーネント内に格納される、請求項１に記載の方法。
【請求項７】
前記ＬＵＴが、前記揮発性メモリの前記第２部分内に格納される、請求項１に記載の方法。
【請求項８】
前記揮発性メモリが、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）である、請求項１に記載の方法。
【請求項９】
前記揮発性メモリの前記第１部分および前記揮発性メモリの前記第２部分が、同一のメモリコンポーネント内に位置する、請求項１に記載の方法。
【請求項１０】
ポータブルコンピューティングデバイス（ＰＣＤ）におけるハードウェア（ＨＷ）ベースのダイナミックメモリ管理のためのコンピュータシステムであって、
ダイナミックメモリ管理（ＤＭＭ）モジュールを具備し、
前記ＤＭＭモジュールは、
メモリコンポーネント内にメモリページルックアップテーブル（ＬＵＴ）を生成する手順であって、前記ＬＵＴが揮発性メモリの複数の部分にわたって位置する複数のメモリページの各々に対するレコードを含む、手順と、
前記レコードに関連する前記メモリページにデータコンテンツが格納されているか否かを各レコード示すように、前記ＬＵＴを更新する手順と、
前記ＰＣＤがスリープ状態に入ったことを認識する手順と、
前記ＬＵＴに問合せを行って、前記揮発性メモリの第１部分内のどのメモリページがデータコンテンツを含むかおよび前記揮発性メモリの第２部分内のどのメモリページがコンテンツを受け入れるために利用可能であるかを判定する手順と、
前記揮発性メモリの前記第２部分内のメモリページが利用可能でない場合、前記ＬＵＴに問合せを行って、前記揮発性メモリの前記第２部分内のどのメモリページが上書きしてもよいデータを含むかを判定する手順と、
前記ＬＵＴへの前記問合せに基づいて、かつ前記揮発性メモリの前記第２部分内のメモリページが利用可能である場合、データコンテンツを前記第１部分内のメモリページから前記第２部分内の利用可能なメモリページに移動させる手順と、
前記揮発性メモリの前記第２部分内のメモリページが利用可能でない場合、データコンテンツを前記揮発性メモリの前記第１部分内の１つまたは複数のメモリページから、前記上書きしてもよいデータを含む前記揮発性メモリの前記第２部分内の１つまたは複数のメモリページに移動させる手順と、
前記揮発性メモリの前記第１部分への電力供給を断つ手順であって、前記揮発性メモリの前記第１部分への電力供給を断つことによって、前記ＰＣＤの前記スリープ状態に伴うスリープ電流が低減される、手順と
を実行するように動作可能であり、
前記ＬＵＴを更新する手順は、複数のアプリケーションが前記ＰＣＤのユーザによって優先順位付けされることに基づいて、前記複数のアプリケーションに関連したデータコンテンツの重要度に優先順位を付ける手順を含み、
前記上書きしてもよいデータは、前記ＰＣＤのユーザによって優先順位付けされ、前記ＬＵＴで更新がなされた、前記複数のアプリケーションに関連したデータコンテンツの重要度の前記優先順位によって判定される、コンピュータシステム。
【請求項１１】
前記上書きしてもよいデータは、優先順位の低いアプリケーションに関連したデータであるので、上書きしてよいと指定される、請求項１０に記載のコンピュータシステム。
【請求項１２】
前記上書きしてもよいデータは、過去の所定の時間の間にアクセスされなかったデータであるので、上書きしてよいと指定される、請求項１０に記載のコンピュータシステム。
【請求項１３】
前記ＬＵＴが、不揮発性メモリコンポーネント内に格納される、請求項１０に記載のコンピュータシステム。
【請求項１４】
前記不揮発性メモリコンポーネントが、フラッシュメモリコンポーネントである、請求項１３に記載のコンピュータシステム。
【請求項１５】
前記ＬＵＴが、揮発性メモリコンポーネント内に格納される、請求項１０に記載のコンピュータシステム。
【請求項１６】
前記ＬＵＴが、前記揮発性メモリの前記第２部分内に格納される、請求項１０に記載のコンピュータシステム。
【請求項１７】
前記揮発性メモリが、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）である、請求項１０に記載のコンピュータシステム。
【請求項１８】
前記揮発性メモリの前記第１部分および前記揮発性メモリの前記第２部分が、同一のメモリコンポーネント内に位置する、請求項１０に記載のコンピュータシステム。
【請求項１９】
ポータブルコンピューティングデバイス（ＰＣＤ）におけるハードウェア（ＨＷ）ベースのダイナミックメモリ管理のためのコンピュータシステムであって、
メモリコンポーネント内にメモリページルックアップテーブル（ＬＵＴ）を生成するための手段であって、前記ＬＵＴが揮発性メモリの複数の部分にわたって位置する複数のメモリページの各々に対するレコードを含む、手段と、
前記レコードに関連する前記メモリページにデータコンテンツが格納されているか否かを各レコードが示すように、前記ＬＵＴを更新するための手段と、
前記ＰＣＤがスリープ状態に入ったことを認識するための手段と、
前記ＬＵＴに問合せを行って、前記揮発性メモリの第１部分内のどのメモリページがデータコンテンツを含むかおよび前記揮発性メモリの第２部分内のどのメモリページがコンテンツを受け入れるために利用可能であるかを判定するための手段と、
前記揮発性メモリの前記第２部分内のメモリページが利用可能でない場合、前記ＬＵＴに問合せを行って、前記揮発性メモリの前記第２部分内のどのメモリページが上書きしてもよいデータを含むかを判定するための手段と、
前記ＬＵＴへの前記問合せに基づいて、かつ前記揮発性メモリの前記第２部分内のメモリページが利用可能である場合、データコンテンツを前記第１部分内のメモリページから前記第２部分内の利用可能なメモリページに移動させるための手段と、
前記揮発性メモリの前記第２部分内のメモリページが利用可能でない場合、データコンテンツを前記揮発性メモリの前記第１部分内の１つまたは複数のメモリページから、前記上書きしてもよいデータを含む前記揮発性メモリの前記第２部分内の１つまたは複数のメモリページに移動させるための手段と、
前記揮発性メモリの前記第１部分への電力供給を断つための手段であって、前記揮発性メモリの前記第１部分への電力供給を断つことによって、前記ＰＣＤの前記スリープ状態に伴うスリープ電流が低減される、手段と
を具備し、
前記ＬＵＴを更新するための手段は、複数のアプリケーションが前記ＰＣＤのユーザによって優先順位付けされることに基づいて、前記複数のアプリケーションに関連したデータコンテンツの重要度に優先順位を付けるための手段を含み、
前記上書きしてもよいデータは、前記ＰＣＤのユーザによって優先順位付けされ、前記ＬＵＴで更新がなされた、前記複数のアプリケーションに関連したデータコンテンツの重要度の前記優先順位によって判定される、コンピュータシステム。
【請求項２０】
前記上書きしてもよいデータは、優先順位の低いアプリケーションに関連したデータであるので、上書きしてよいと指定される、請求項１９に記載のコンピュータシステム。
【請求項２１】
前記上書きしてもよいデータは、過去の所定の時間の間にアクセスされなかったデータであるので、上書きしてよいと指定される、請求項１９に記載のコンピュータシステム。
【請求項２２】
前記ＬＵＴが、不揮発性メモリコンポーネント内に格納される、請求項１９に記載のコンピュータシステム。
【請求項２３】
前記不揮発性メモリコンポーネントが、フラッシュメモリコンポーネントである、請求項２２に記載のコンピュータシステム。
【請求項２４】
前記ＬＵＴが、揮発性メモリコンポーネント内に格納される、請求項１９に記載のコンピュータシステム。
【請求項２５】
前記ＬＵＴが、前記揮発性メモリの前記第２部分内に格納される、請求項１９に記載のコンピュータシステム。
【請求項２６】
前記揮発性メモリが、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）である、請求項１９に記載のコンピュータシステム。
【請求項２７】
前記揮発性メモリの前記第１部分および前記揮発性メモリの前記第２部分が、同一のメモリコンポーネント内に位置する、請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイナミックメモリ電力管理のためのシステムおよび方法に関する。
【背景技術】
【０００２】
ポータブルコンピューティングデバイス(「PCD: portable computing device」)は、個人レベルおよび専門職レベルにおいて人々に必要なものになりつつある。これらのデバイスには、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスが含まれ得る。PCDは、バッテリーなどの容量の限られた電源に依存するので、電源の節約は、ユーザが経験する全体的なサービス品質(「QoS」)に密接に関係する。すなわち、PCDにおける電力資源を効率的に使用することによって、ユーザがバッテリーを再充電しなければならない頻度を低減させることができる。
【０００３】
大部分のユーザは、自身のPCDを常に使用するとは限らず、したがって、PCDは一般に、長期間にわたってアイドルモード、スリープモード、または待機モードのままになる。重要な点は、これらのスリープ期間の間に「アイドル」モードであったとしても、PCDは依然としてスリープ電流の形で電力を消費しているということである。PCDのスリープ電流は、ダイナミックランダムアクセスメモリ(「DRAM」)などの揮発性メモリコンポーネントを周期的にセルフリフレッシュさせるために必要な電流を含む、PCD内の様々な構成要素に伴う漏れレートの和である。セルフリフレッシュ動作は、PCDの電力節約スリープモードを無効にし、特定の間隔で自動的に実行され、PCDがアイドル状態である間にデータの完全性を維持するために必要である。
【０００４】
揮発性メモリコンポーネントのセルフリフレッシュ動作は、PCDのスリープ電流の大きな部分を占め、したがって、PCDがアイドル状態である間にPCDに生じる顕著な量の電力消耗の原因となる。実際、PCD内のメモリは大型化され続けており、したがって、メモリをセルフリフレッシュするために必要な電流も増大しており、それによって限られた電源に対する負担もさらに増大している。したがって、当技術分野では、アイドルモードにおけるPCDの揮発性メモリコンポーネントのデータの完全性を維持するために必要な電流の量を低減させるためのシステムまたは方法が必要である。
【発明の概要】
【課題を解決するための手段】
【０００５】
ポータブルコンピューティングデバイス(「PCD」)におけるハードウェア(「HW」)および/またはソフトウェア(「SW」)ベースのダイナミックメモリ管理のための方法およびシステムの様々な実施形態を開示する。例示的な一方法は、不揮発性フラッシュメモリコンポーネントなどのメモリコンポーネント内にメモリページルックアップテーブル(「LUT」)を生成することを含む。LUTは、DRAMなどの揮発性メモリの複数の部分にわたって位置する各メモリページのレコードを含んでよい。DRAMは、当技術分野で理解されているように、上部バンクおよび下部バンクなどの部分に分割されてよい。
【０００６】
LUT内のレコードは、PCDがアクティブ状態である間に更新されて、PCDによってアクセスされるメモリページが追跡され、したがって、所与のメモリページにデータコンテンツが格納されていることを示す。同様に、LUTを更新することによって、データコンテンツを含まないメモリページも追跡される。PCDがエネルギーを節約するためにスリープ状態に入ったときに、LUTに問合せを行って、揮発性メモリの第1部分(たとえば、上部バンク)内のどのメモリページがデータコンテンツを含むか、および揮発性メモリの第2部分(たとえば、下部バンク)内のどのページがコンテンツを受け入れるために利用可能であるかを判定してよい。特に、実施形態に応じて、コンテンツを受け入れるために利用可能なページとして特定されたページは、現在データを含んでいないか、または「古い」データであり上書きしてもよいデータを含んでいるのでそのように特定されてよい。
【０００７】
問合せに基づいて、上部バンクのメモリページ内のデータの位置がわかり、この位置を、データを受け入れるためのメモリページとして特定された下部バンク内のメモリページに移動させてよい。移動後、上部バンクへの電力供給を断ち、したがって、そうしない場合に上部バンクをセルフリフレッシュするために必要な電力の消費を回避することによってスリープ電流フロアを低減できる。有利なことに、LUTはデータを含む上部バンク内の特定のメモリページおよびデータを受け入れることのできる下部バンク内の特定のメモリページを迅速に知るために利用されるので、この移動を実施するために必要な時間は最低限に維持される。したがって、当業者には、真の節電を実現するために上部バンクへの電力供給が断たれた状態でPCDがスリープ状態のままでなければならない時間が最短になることが認識されよう。
【０００８】
図面では、別段に規定されていない限り、様々な図の全体を通して、同様の参照番号は同様の部分を指す。「102A」または「102B」などの文字指定を伴う参照番号の場合、文字指定は、同じ図に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することが意図されるとき、参照番号の文字指定は省略される場合がある。
【図面の簡単な説明】
【０００９】
【図１】ハードウェア(「HW」)および/またはソフトウェア(「SW」)ベースのページ移動によるポータブルコンピューティングデバイス(「PCD」)におけるダイナミックメモリ電力管理のためのオンチップシステムの実施形態を示す機能ブロック図である。
【図２Ａ】例示的な下部メモリバンク内の利用可能な空間の量以下であったある量のコンテンツの例示的な上部メモリバンクからのページ移動の前後として示された例示的なメモリページルックアップテーブル(「LUT」)の図である。
【図２Ｂ】図2Aの「移動前」テーブルに関連するメモリコンポーネント内の例示的な上部バンクおよび下部バンクの図である。
【図２Ｃ】図2Aの「移動後」テーブルに関連するメモリコンポーネント内の例示的な上部バンクおよび下部バンクの図である。
【図３Ａ】例示的な下部メモリバンク内の利用可能な空間の量を超えたある量のコンテンツの例示的な上部メモリバンクからのページ移動の前後として示された例示的なメモリページルックアップテーブル(「LUT」)の図である。
【図３Ｂ】図3Aの「移動前」テーブルに関連するメモリコンポーネント内の例示的な上部バンクおよび下部バンクの図である。
【図３Ｃ】図3Aの「移動後」テーブルに関連するメモリコンポーネント内の例示的な上部バンクおよび下部バンクの図である。
【図４】ハードウェア(「HW」)および/またはソフトウェア(「SW」)ベースのページ移動によるダイナミックメモリ電力管理のための方法およびシステムを実施するワイヤレス電話器の形態のPCDの例示的かつ非限定的な態様の機能ブロック図である。
【図５】図4のPCDにおけるSWベースのダイナミックメモリ電力管理のための方法の一実施形態を示す論理フローチャートである。
【図６】図4のPCDにおけるHWベースのダイナミックメモリ電力管理のための方法の一実施形態を示す論理フローチャートである。
【発明を実施するための形態】
【００１０】
「例示的な」という言葉は、「例、事例、または例示として機能すること」を意味するように本明細書で使用される。「例示的な」ものとして本明細書に記載されるいずれの態様も、必ずしも他の態様に対して排他的であるか、他の態様よりも好ましいか、または有利であると解釈されるべきではない。
【００１１】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなどの限られた容量の電源で動作する任意のデバイスを説明するために使用される。何十年もの間、バッテリー式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述のデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであり得る。
【００１２】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含むことができる。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなどの本質的に実行可能ではないファイルも含むことができる。
【００１３】
本明細書の文脈では、「アトム」、「ページ」、または「メモリページ」は、所与のプログラムのためにオペレーティングシステムによってコンテンツを格納するために利用可能なメモリの連続するブロックである。一例として、メモリの連続するブロックは、メモリコンポーネント内の行(メモリコンポーネントは固定長の行および列を有するマトリックスと見なされる)などの、メモリの固定長連続ブロックであってよい。ただし、アトム、ページ、またはメモリページは、特定のサイズまたは長さに限定されない。したがって、本明細書における「ページアドレス」または「メモリ位置」の参照は、所与の「アトム」、「ページ」、または「メモリページ」が位置する所与のメモリコンポーネント内の特定の位置に関する。したがって、当業者には、この説明において、「ページ移動(page migration)」がメモリコンポーネント内の特定のアドレスを有する第1のページから異なるアドレスを有する第2のページへのデータの転送を指すことが認識されよう。特に、第1および第2のページアドレスは、実施形態に応じて、別々のメモリコンポーネントに位置してもまたは同じメモリコンポーネントに位置してもよい。さらに、本明細書の文脈では、ある量のコンテンツを格納するための第1のページは、メモリコンポーネントの第1のバンクまたは部分内にアドレスを有してよく、一方、コンテンツを格納するための第2のページは、同じメモリコンポーネントの第2のバンクまたは部分内にアドレスを有してよいが、すべての実施形態がそのような構成に限定されるとは限らない。
【００１４】
本明細書では、「メモリ」、「メモリコンポーネント」、「メモリデバイス」、「コンピュータ可読媒体」などの用語の一般的な参照は、「オンチップ」、「オフチップ」、「内部」、「外部」に位置するか、またはそうでない場合にPCDと相対的に位置するかにかかわらず「揮発性」と「不揮発性」との両方の種類のメモリコンポーネントを想定するということが理解されよう。さらに、メモリコンポーネントは、本明細書では全般的に、単一の構成要素として示されているが、様々なメモリコンポーネントのうちのいずれもデジタル信号プロセッサ(または追加のプロセッサコア)に接続された別個のデータストアを有する分散型メモリデバイスであってよい。また、説明のために、例示的な実施形態は、本明細書では、2つの部分、すなわち、「上部バンク」部分および「下部バンク」部分に分割された単一のメモリコンポーネントの文脈内で実現される。この点について、当業者には、単一のメモリデバイスの上部バンクおよび下部バンクの参照が、説明上好都合であるためになされたものであり、かつ様々な実施形態およびその均等物を互いに等しいバンクに分割された単一のメモリデバイスに限定するものではないことが認識されよう。したがって、本明細書では、バンクの参照は、「上部」または「下部」にかかわらず、1)連続していてもまたは連続していなくてもよく、2)複数のメモリデバイスにわたっていてもまたはわたっていなくてもよく、3)複数種類のメモリデバイスにわたっていてもまたはわたっていなくてもよく、4)別のバンクと対称であるかまたはそうでなければ別のバンクと等価であってもまたはそうでなくてもよい、任意のメモリ空間を想定していることが理解されよう。
【００１５】
特定の実施形態の特定の態様が揮発性または不揮発性メモリコンポーネントのいずれかに関連すると想定されているが、この説明の範囲は、実施形態の特定の態様が特定のメモリタイプに固有に関連するような範囲に限定されない。すなわち、特定の実施形態に応じて、所与の態様が任意の種類のメモリコンポーネントに格納されても、または移動しても、またはそうでなければ関連付けされてもよい。この説明におけるメモリコンポーネントは、これらに限定はしないが、マルチメディアカード(「MMC」もしくは「eMMC」)またはセキュアデジタル(「SD」)カードなどのフラッシュメモリタイプ、常に電力を供給しなければならないスタティックランダムアクセスメモリ(「SRAM」)または周期的にリフレッシュしなければならないダイナミックランダムアクセスメモリ(「DRAM」)などの半導体タイプ、固体メモリ、1本または複数のワイヤを有する電気接続、ポータブルコンピュータディスケット(磁気)、電子読取り専用メモリ(「ROM」)、消去およびプログラム可能読取り専用メモリ(「EPROM」または「EEPROM」)、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(「CDROM」)などであってよい。
【００１６】
本明細書では、特定の実施形態の各態様のうちの1つまたは複数はハードウェアで実現される。そのような実装形態では、それらの態様の様々な論理は、各々当技術分野でよく知られている以下の技術、すなわち、データ信号に論理関数を実装するための論理ゲートを有する個別の論理回路、適切な組合せの論理ゲートを有する特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)などのうちのいずれかまたはその組合せによって実装され得ることが想定される。
【００１７】
本明細書で使用されているように、「構成要素(コンポーネント)」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェアであるか、またはファームウェアであるか、ハードウェアとソフトウェアとの組合せであるか、またはソフトウェアであるか、または実行中のソフトウェアであるかにかかわらず、コンピュータ関連エンティティを指し、機能を実現し、かつ本明細書で説明するプロセスまたはプロセスフローにおける特定のステップを実行する例示的な手段を表すものである。たとえば、構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、コンピューティングデバイス上で動作しているアプリケーションとコンピューティングデバイスとの両方は、構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に常駐することができ、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータに分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を格納している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システム中の別の構成要素と、かつ/または、インターネットのようなネットワークにわたって他のシステムと対話する、1つの構成要素からのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスによって通信することができる。
【００１８】
本明細書では、「中央処理装置」(「CPU」)、「モデムCPU」、デジタル信号プロセッサ(「DSP」)、「チップ」、および「チップセット」という用語は、PCD中に存在し得る処理コンポーネントの非限定的な例であり、別段に規定されている場合を除き、互換的に使用される。その上、本明細書で区別されているように、CPU、DSP、またはチップもしくはチップセットは、「コア」または「サブコア」と本明細書では全般的に呼ばれる1つまたは複数の別個の処理コンポーネントからなることができる。上記で定義されるものに加えて、「処理構成要素」は、これらに限定はしないが、中央処理装置、グラフィカル処理ユニット、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路内または外にある任意の構成要素であってよく、スリープ状態、アイドル状態、または待機状態に入ることができる。
【００１９】
例示的なPCDでは、合計で1.3mAのスリープ電流のうちの0.6mAのスリープ電流の全体が、接続された512MB揮発性メモリコンポーネントのセルフリフレッシュサイクルに起因する。上述のように、PCDがスリープモードにあるときのメモリのセルフリフレッシュに関するこの電力消費は、バッテリーの頻繁な再充電を必要とするバッテリーの顕著な消耗である。したがって、メモリセルフリフレッシュ動作に伴う電流を低減させることによって事実上バッテリー寿命が延び、それによってQoSが向上する。例示的な「高性能」PCDでは、総スリープ電流が2.5mA程度になることがあり、そのうち有意な1.5mAがメモリセルフリフレッシュ動作に起因する。メモリコンポーネント全体にわたってデータの基本的な完全性を維持するために必要な電流の低減が、バッテリー寿命を延ばしQoSを改善する機会を表すことは明らかである。
【００２０】
説明のために、512MBメモリコンポーネントが上部メモリバンクおよび下部メモリバンク(各々が256MB)に分割されると仮定する。PCDがアイドルモードにあるときは2つのメモリバンクのうちの一方への電力供給を断つことによって(たとえば、上部バンクへの電力供給を断つことによって)メモリコンポーネント全体をセルフリフレッシュすることに伴う電力消費を2分の1に削減することができる。このようにして、引き続き電力を供給される下部メモリバンクに基本的なデータコンテンツを保持し、一方、上部メモリバンクをオフラインにすることによって節電を実現してもよい。しかしながら、そのような単純な節電方法の問題は、基本的なデータコンテンツが上部バンクと下部バンクとの両方にわたってランダムに分散され、したがって、単純に上部バンクへの電力供給を断つと、そのバンクに格納されたデータが失われることである。
【００２１】
上記の例をさらに説明すると、上部バンクへの電力供給を断つ前に上部バンクのデータコンテンツを保持するための方法は、コンテンツのページを上部バンクから下部バンク内の未使用の利用可能なメモリ空間に移動させることを含む。それが行われた後、基本的なデータコンテンツを失うことなく上部バンクへの電力供給を断つことができ、それによって、そうしない場合に上部バンクのセルフリフレッシュ動作によって消費されるPCDスリープ電流を節約することが実現される。
【００２２】
1つのページ移動方法は、上部バンクおよび下部バンクの各ページを個々に検査してそこにコンテンツが格納されているか否かを判定するソフトウェア(「SW」)ドリブン方法である。前述のように、データコンテンツは上部バンクと下部バンクとの両方にわたってランダムに保存され得、各バンクの一部のページのみがデータを含む。したがって、ページは、「ページごとに」または「試行錯誤」的に検査される。たとえば、上部バンクのページアドレスにコンテンツが見つかった場合、そのコンテンツを下部バンク内のページアドレスに移動させてもよい。特に、この説明、および上部バンクから下部バンクへのデータコンテンツの移動に言及する本明細書内の他の説明は、基本的に例示的なものであり、実施形態の範囲を「上部」バンクから「下部」バンクへの移動のみを含むように限定するものではない。基本的に、任意のメモリ位置から任意の他のメモリ位置への移動が想定される。当業者には、矛盾する構成がなければ、データをメモリコンポーネント内の任意の位置から同じメモリコンポーネントまたは別のメモリコンポーネント内の任意の他の位置に移動させてもよい。
【００２３】
例示的なSWドリブンページ移動に戻ると、上部バンクページアドレスからのデータコンテンツの移動は、下部バンクの受け取り側アドレスに格納されたデータに上書きを施すこと(したがって、上部バンクアドレスから移動させようとするデータの保存を優先させて下部バンクアドレスにすでにあるデータを失うこと)、または利用可能な記憶空間を見つけることを期待して次の下部バンクアドレスを検査することの選択を可能にする。
【００２４】
SW方法の実施形態に伴う電力消費オーバヘッドが過剰になり、ページごとの検査プロセスを反復するためにかかる持続時間が比較的長くなり得る。その結果、ページ移動時に消費される電力が、移動完了後に上部バンクへの電力供給を断つことによって結果的に節約される電力を上回ることがある。言い換えれば、ページごとのSW移動を集中的に反復することによって消費される電力が、PCDがスリープモードのままである期間にわたって節約される電力の量として測定される「投資に対する利得」を決定する。
【００２５】
説明のために、揮発性メモリの一部への電力供給を断つ前に例示的なSWベースのページ移動を利用する場合の利益は、次のように算出することができる。保存する必要がある安定したメモリコンテンツがメモリ密度の2分の1以下であると仮定し、すなわち、512MBメモリコンポーネントにおける256MBのページ移動サイズを仮定すると、不利益は、2(2つの256MBメモリバンクを表す)×10秒(反復的なSWページ移動を完了するために必要な時間)×250mA(1秒当たりに引き込まれる電流の量)×3.7V=5.14mWHの消費電力と推定される。例示的な移動の結果として、移動後に上部バンクへの電力供給が断たれることに起因してスリープフロアにおいて0.3mAの低減を実現することができる。節電が0.3mAである場合、256MB上部バンクへの電力供給を断つ前にメモリコンテンツの完全性を維持するために消費されるエネルギーを取り戻すにはPCDにおいて4.6時間のアイドル時間がかかる[(5.14mWH/3.7V)/0.3mA=4.6時間]。特に、この例示的な計算では、4.6時間のアイドル時間を事実上、SWベースの移動のオーバーヘッドコストのために必要な9.2時間まで延長させる可能性がある、SWベースの移動を実施するためにPCDを「ウェークアップ」することに伴う追加的な電力も考慮していない。
【００２６】
ハードウェア(「HW」)ベースのダイナミックメモリ管理(「DMM」)システムおよび方法は、上記に概説したような代表的なSWベースの解決手段に伴うオーバーヘッドコストに対してページ移動を実施するオーバーヘッドコストを低減させることができる。不揮発性メモリソースに格納された(いくつかの実施形態では、揮発性メモリソースの専用部分に格納された)ルックアップテーブル(「LUT」)を使用することによって、格納されたコンテンツの特定のページアドレスを追跡し、最終的に、対象となるページ移動において使用できるように問合せを行うことができる。各実施形態は、たとえば上部バンク内のコンテンツの位置、およびたとえば下部バンク内の利用可能な記憶空間の位置を迅速に特定することができるので、上記に概説したSWベースの手法の反復方法を回避することができ、それによって上部バンクへの電力供給を断つ前にページ移動を実施するために必要な時間(および、したがって、電力)が大幅に低減される。
【００２７】
例示的なHWベースの一DMM実施形態は、フラッシュメモリコンポーネント内にLUTを作成する。LUTは、DRAMメモリコンポーネントなどの1つまたは複数のメモリコンポーネント内の各ページアドレスに個々に関連付けられたレコードを含む。上記の例示的なシナリオに戻ると、LUTは、512MB DRAMメモリコンポーネントの上部バンクおよび下部バンク内の各ページアドレスのレコードを含んでよい。
【００２８】
PCDの通常動作の間、LUTは、プロセスまたはアプリケーションがメモリページにアクセスするたびに更新されてよい。所与のページがアクセスされ、したがって、データコンテンツを所与のページに格納する必要が生じると、アクセスされたページアドレスに関連するLUT内のレコードがバイナリで「0」とマーク付けされてよく、それによって、所与のアドレスにコンテンツが含まれることがLUTに記録される。同様に、レコードが「1」とマーク付けされた場合、関連するページは空であると仮定され、または場合によっては、少なくとも上書きに利用可能であると仮定される。特に、本明細書では、バイナリ「0」を使用してLUTにおいてページにデータが含まれていることを示し、同様にバイナリ「1」を使用してあるページがデータを受け入れるために利用可能であることを示すことは、説明のためのことに過ぎず、各実施形態をそのような構成のみに限定するものではない。すなわち、当業者には、このバイナリ表示が、上述とは逆に利用されてもよいことが認識されよう。当業者にはLUTにレコードを記録する他の方法が想起されよう。
【００２９】
例示的なHWベースのDDM実施形態に戻り、(256MBの上部バンクおよび下部バンクに分割された)512MBのメモリ空間を備える揮発性メモリコンポーネントを仮定する。さらに、512MBの各メモリページは4KBの容量を表す(すなわち、0.004MB)と仮定する。たとえば、2GBのeMMCまたはフラッシュメモリを有するPCDの場合、HWベースのDMM実施形態によって利用される得られるLUTは、500000個のレコードからなる(2000MB/0.004MB=500000メモリページ)。有利なことに、LUTを保持するには約64KBの不揮発性フラッシュメモリしか必要とされず、これは、更新に必要な電力がごく少量であるわずかな量のメモリである。特に、本明細書で説明する例示的な実施形態はフラッシュメモリ内のLUTの位置を含むが、LUTはPCDに関連する任意のメモリコンポーネントに位置してよいと想定される。たとえば、いくつかの実施形態では、上記の例における下部バンクの一部など(この例では、下部バンクが、保存されセルフリフレッシュされるように割り当てられるメモリコンポーネントの部分であるため)の、DRAM内の専用メモリ空間にLUTを位置させてもよいと想定される。
【００３０】
いくつかの実施形態では、ページがアクセスされるたびにLUTが更新され、一方、別の実施形態では、LUTが周期的に一括して更新されてよいことがさらに想定される。さらに別の実施形態では、特に実施形態が揮発性メモリ空間内のLUTの位置を含む場合に、更新のタイミングがメモリトランザクション間に調整される。たとえば、上述のように、いくつかの実施形態では、LUTは所与のDRAMメモリコンポーネントの下部バンクまたは上部バンク(すなわち、保存することが指定されたどちらかのバンク)から割り振られたわずかな専用の量の空間に保持されてよい。
【００３１】
さらに、HWベースのDMM解決手段のいくつかの実施形態は所与のページがアクセスされてから経過した持続時間を考慮してよいことが想定される。その時間に基づいて、所与のページに含まれるデータが古いデータと仮定されてよく、それにより、LUTをそれに応じて更新することがトリガされる。たとえば、LUTは、特定のメモリページを上書きしてもよいページとして割り当てる追加の指定を各レコードに含んでよく、または代替として、別の実施形態では、コンテンツのバイナリインジケータを「0」から「1」に変更して(上記の例の拡張)所与のメモリページをページ移動において新しいコンテンツを受け入れるために利用可能な空間として示すフラグを立ててもよい。
【００３２】
特に、説明を簡単にするために、本明細書で示される例は、各々が256MBの上部バンクおよび下部バンクに分割された512MB DRAMメモリコンポーネントの文脈で実現され、上部バンクから下部バンクへのページ移動は、PCDが待機モードである間に上部バンクへの電力供給が断たれてよいように行われることが望ましい。上述のように、本開示の範囲はそのような構成のみに限定されない。さらに、いくつかの実施形態では、例示的な上部メモリバンクなどのメモリバンクのより小さい部分への電力供給を断つ前にその部分を移動させてよいことが想定される。限定ではなく例として、LUTは、移動後に128MBへの電力供給だけが断たれるように、256MB上部バンクのうちの128MB内の各ページを追跡するために利用されてよい。
【００３３】
メモリページに格納されたコンテンツの相対的な「古さ」、すなわち、特定のメモリページに格納されたコンテンツが最後にアクセスされてからの持続時間を記録するように構成されたLUTを含む例示的なHWベースのDMM実施形態に戻ると、そのような実施形態は、移動対象のページの数がコンテンツを受け入れるために利用可能であることがわかっているページの数を超えたときに有用であると想定される。上述のように、特定の持続時間にわたってアクセスされていないデータコンテンツを含む、連続的なセルフリフレッシュに指定されたメモリの部分内のページに関して、LUT内に上書きしてもよいページであることを示すフラグが立てられてもよい。上書きしてもよいメモリページであることを示すフラグをLUT内に立てるために想定される他の方法には、これらに限定はしないが、特定のアプリケーションによって使用されるコンテンツをより重要でない他のアプリケーションによって使用されるコンテンツよりも高い維持優先順位を有するコンテンツとして認識すること(eメールアプリケーションとゲームアプリケーションなど)、ユーザがアプリケーションを優先順位付けするのを可能にし、したがって、アプリケーションに関連するデータコンテンツの重要性に優先順位付けすること、およびメモリコンポーネントの特定の部分に格納されたコンテンツを、その部分が特定の機能専用に使用されるとき(すなわち、アプリケーションヒープが真っ先に上書きに割り当てられてよい、アプリケーションヒープ部分、ビデオRAM部分、カーネル部分など)に他の部分に格納されたコンテンツよりも重要なコンテンツとして指定することを含む。
【００３４】
さらに別の実施形態は、SWベースのDMM実施形態と組み合わされたHWベースのDMM実施形態のハイブリッド解決手段を備えてよいことをさらに想定する。たとえば、コンテンツを受け入れるために利用可能なすべての空間が利用されており、LUTにおいて上書きしてもよいページとして割り当てられたすべてのページが上書きされており、移動対象の基本的なコンテンツがまだあるというシナリオでは、ハイブリッド解決手段によって、上書きする追加のメモリページを選択するかまたは特定のページを移動させないことを選ぶSWベースの解決手段を利用してよい。すなわち、実施形態はSWベースの解決手段を起動してプロセスを強制終了し、HWベースの解決手段が作業を完了した後にページ移動を完了してよい。特に、HWベースの手法はすでにいくつかのページを移動させているので、SWベースの移動のアプリケーションは必然的に持続時間が短くなり(依然としてかなり長いこともあるが)、したがって、ハイブリッド実施形態は、純粋なSWベースのDMM手法のみよりも少ない電力を消費する。HW/SWハイブリッドDMM手法は、メモリ容量全体に重い負担をかける多数のアプリケーションおよびタスクを実行するユーザを有する高機能PCDに有利であり得ることが想定される。
【００３５】
図1は、ハードウェア(「HW」)および/またはソフトウェア(「SW」)ベースのページ移動によるポータブルコンピューティングデバイス(「PCD」)におけるダイナミックメモリ電力管理のためのオンチップシステムの実施形態を示す機能ブロック図である。図を見るとわかるように、ダイナミックメモリ管理(「DMM」)モジュール101は、集積回路102の中央処理装置(「CPU」)110と通信する。DMMモジュール101は、PCD100の使用中にプロセッサ222，224，226，228のためにデータコンテンツの格納および取込みを管理するためのメモリコントローラ機能を含んでよい。当業者によって理解されるように、DMMモジュール101は、ダイナミックメモリ112A内のCPU110によって実行されるアプリケーションのコンテンツを格納し取り込むことができる。コンテンツは、ダイナミックメモリ112Aにわたって、場合に応じて上部バンク27または下部バンク29のいずれかに存在するメモリページにランダムに保存されてよい。
【００３６】
DMMモジュール101は、メモリページルックアップテーブル(「LUT」)24を格納するMMCメモリデバイス(すなわち、フラッシュメモリ)であってよい不揮発性メモリコンポーネント112Bと通信する。前述のように、PCD100が電力消費を最低限に抑えるためにスリープ状態に入ると、CPU110のスリープモードをDMMモジュール101によって認識することができ、それによって、DMMモジュール101がダイナミックメモリ112A内でページ移動を実施することがトリガされる。有利なことに、データコンテンツを上部バンク27から下部バンク29のように、あるメモリバンクから別のメモリバンクに移動させることによって、コンテンツが移動されたバンク(たとえば、上部バンク27)への電力供給が断たれてよく、それによって、そうしない場合にメモリバンクの周期的なセルフリフレッシュに起因して消費されるスリープ電流の部分を低減させる。受け取り側メモリバンク(たとえば、下部バンク29)に移動したコンテンツとすでに受け取り側バンクに格納されているコンテンツは、PCD100がスリープ状態のままである間セルフリフレッシュ動作によって保持されてよい。
【００３７】
特定の実施形態では、PCD100がアクティブ状態であるとき、DMMモジュール101はLUT24を更新し、コンテンツがダイナミックメモリ112Aに格納されるページアドレスを記録する。この更新は、CPU110によって処理されたアプリケーションがダイナミックメモリ112A内の所与のメモリページへのアクセスを要求したというDMMモジュール101の認識に基づいてよい。さらに、いくつかの実施形態では、更新は、所与のメモリページがアクセスされてから特定の時間が満了したこと、所与のメモリページに格納されたコンテンツが関連付けられた特定のアプリケーションなどに基づいてよい。
【００３８】
上述のように、いくつかの実施形態では、DMMモジュール101は、ダイナミックメモリ112Aの所与のメモリページに格納されたデータへの個々のアクセス要求を認識したときにLUT24を更新してよい。しかしながら、別の実施形態では、DMMモジュール101はLUT24を一括して更新してよく、それによって、LUT24を更新するために必要な電力消費量の低減が促進され得る。特に、当業者に認識されるように、DMMモジュール101は、揮発性ダイナミックメモリ112Aと不揮発性フラッシュメモリ112Bとの両方に対する読取りおよび書込みを行うように構成されかつ読取りおよび書込みを行うように動作可能であってよい。
【００３９】
上述のように、CPU110がスリープモードに入ったときに、DMMモジュール101が例示的な実施形態に応じてHWベースのページ移動解決手段を実施するようにトリガされてよい。そうする際に、例示的な実施形態のDMMモジュール101は、LUT24に問合せを行って、最近PCD100のアクティブ期間中にアクセスされたデータコンテンツを含む上部バンク27内のメモリページを特定する。DMMモジュール101は、問合せに基づいて、上部バンク27内の特定されたメモリページを対象として、これらのページを下部バンク29に移動させてよい。データを受け入れるために利用可能であるかまたは上書きしてもよい下部バンク29内のメモリページも、DMMモジュール101がLUT24に問合せを行うことによって特定されてよい。
【００４０】
有利なことに、DMMモジュール101は、LUT24を使用することによって、ページ移動を最短時間で実行し完了することができ、それによって移動時に消費される電力の量が低減され、上部バンク27への電力供給が断たれた後に節電を実現するためにPCD100がスリープ状態のままでなければならない時間が最短になる。
【００４１】
図2Aは、図1の図の上部バンク27および下部バンク29のような、例示的な下部メモリバンク内の利用可能な空間の量以下であったある量のコンテンツの例示的な上部メモリバンクからのページ移動の前後として示された例示的なメモリページルックアップテーブル(「LUT」)24Aの図である。LUT24Aの移動前バージョンでは、上部バンク27の各メモリページU-1〜U-nおよび下部バンク29のL-1〜L-nについて個々のレコード(すなわち、行)が含められる。各レコードを検討すると、各メモリページに「0」または「1」のいずれかが指定されており、「0」は、コンテンツがPCD100の最後のアクティブサイクル中にアクセスされたことを示し、「1」はメモリページが未使用であることを示す。さらに、下部バンク29のレコードL-1〜L-nに関しては、関連するメモリページに上書きしてもよいか否かを示す指定がさらに含められる。LUT24Aの移動前バージョンでは、レコードL-2によって表される下部バンク29内のメモリページは上書きしてもよいメモリページとして指定されている。特に、当業者には、そのような指定がバイナリ方法を介して実現されてもよいことが認識されよう。さらに、前述のように、上書き許容機能では、コンテンツが現在レコードによって表されるメモリページに格納されているが、このコンテンツは、上部バンク27から移動するより新しいコンテンツに格納場所が必要である場合に上書きされてもよくなると仮定している。
【００４２】
次に、LUT24Aの移動後バージョンについて説明する。HWベースのダイナミックメモリ管理解決手段を使用するページ移動の結果を見ることができる。特に、上部バンク27から下部バンク29への移動を必要とした、LUT24Aの例示的な移動前バージョンにおいて表されるページの数は、2つである(U-1およびU-2)。有利なことに、LUT24Aの問合せによって、レコードU-3、U-4、およびU-nによって表されるメモリページにはコンテンツが格納されていないと判定できるので、例示的なHWベースのDMM解決手段はこれらの位置の検査を回避する。下部バンク29においてコンテンツを受け入れるために利用可能なLUT24Aの例示的な移動前バージョンにおいて表されるページの数は3つである(L-3、L-4、およびL-n)。
【００４３】
LUT24Aの移動後バージョンを参照すると、コンテンツが上部バンク27から下部バンク29に移動しており、それによって、メモリページU-1〜U-nに関連するレコードの各々に「1」が指定され、したがって、データを失わずに上部バンク27への電力供給を断てることが示されている。同様に、U-1およびU-2によって表されるメモリページに以前に格納されていたコンテンツは、以前に占有されていなかったメモリページL-3およびL-4に移動している。特に、移動を必要とするページの数は、下部バンク29内の利用可能なページ以下であったので、移動を完了するうえでレコードL-2によって表されるメモリページに上書きする必要はなかった。
【００４４】
図2Bは、図2AのLUT24Aの「移動前」バージョンに関連するメモリコンポーネント112A内の例示的な上部バンク27および下部バンク29の図である。図2Bの図を検討すると、図2Aに関して説明した移動の前のメモリ112Aの状態が示されている。LUT24Aの移動前バージョン内のレコードをマッピングすると、コンテンツが上部バンク27のメモリページU-1およびU-2ならびに下部バンク29のメモリページL-1およびL-2に格納される。
【００４５】
図2Cを参照すると、図2AのLUT24Aの移動後バージョンに関連するメモリコンポーネント112A内の例示的な上部バンク27および下部バンク29の図が示されている。図2Cの図を検討すると、図2Aに関して説明した移動の後のメモリ112Aの状態が示されている。LUT24Aの移動後バージョンにおけるレコードをマップすると、レコードU-1およびU-2によって表されるメモリページに以前に格納されていたコンテンツは、レコードL-3およびL-4に関連する以前に利用可能であったメモリページに移動している。したがって、上部バンク27のメモリページは電力供給を断つように条件付けられ、一方、以前両方のバンク27，29にわたっていたコンテンツは現在、下部バンク29のみのメモリページに格納されている。したがって、上部バンク27への電力供給を断ち、PCD100が待機状態である間に消費されるスリープフロア電流を低減させることができる。下部バンク29は、引き続き電力を供給され、そこに格納されたすべてのデータの完全性を維持するようにリフレッシュされてよい。
【００４６】
図3Aは、図1の図の上部バンク27および下部バンク29のような、例示的な下部メモリバンク内の利用可能な空間の量よりも多かったある量のコンテンツの例示的な上部メモリバンクからのページ移動の前後として示された例示的なメモリページルックアップテーブル(「LUT」)24Bの図である。LUT24Bの移動前バージョンでは、上部バンク27の各メモリページU-1〜U-nおよび下部バンク29のL-1〜L-nについて個々のレコード(すなわち、行)が含められる。各レコードを検討すると、各メモリページに「0」または「1」のいずれかが指定されており、「0」は、コンテンツがPCD100の最後のアクティブサイクル中にアクセスされたことを示し、「1」はメモリページが未使用であることを示す。さらに、下部バンク29のレコードL-1〜L-nに関しては、関連するメモリページに上書きしてもよいか否かを示す指定がさらに含められる。LUT24Bの移動前バージョンでは、レコードL-2によって表される下部バンク29内のメモリページは上書きしてもよいメモリページとして指定されている。特に、当業者には、そのような指定がバイナリ方法を介して実現されてもよいことが認識されよう。さらに、前述のように、上書き許容機能では、コンテンツが現在レコードL-2によって表されるメモリページに格納されているが、このコンテンツは、上部バンク27から移動するより新しいコンテンツに格納場所が必要である場合に上書きされてもよくなると仮定している。
【００４７】
次に、LUT24Bの移動後バージョンについて説明する。HWベースのダイナミックメモリ管理解決手段を使用するページ移動の結果を見ることができる。特に、上部バンク27から下部バンク29への移動を必要とした、LUT24Bの例示的な移動前バージョンにおいて表されるページの数は、2つである(U-1およびU-2)。有利なことに、LUT24Bの問合せによって、レコードU-3、U-4、およびU-nによって表されるメモリページにはコンテンツが格納されていないと判定することができるので、例示的なHWベースのDMM解決手段はこれらの位置の検査を回避する。下部バンク29においてコンテンツを受け入れるために利用可能なLUT24Bの例示的な移動前バージョンにおいて表されるページの数は、レコードL-2によって表されるメモリページには上書きしてもよいにもかかわらず1つだけである(L-3)。
【００４８】
LUT24Bの移動後バージョンを参照すると、コンテンツが上部バンク27から下部バンク29に移動しており、それによって、メモリページU-1〜U-nに関連するレコードの各々に「1」が指定され、したがって、データを失わずに上部バンク27への電力供給を断てることが示されている。同様に、U-1およびU-2によって表されるメモリページに以前に格納されていたコンテンツは、以前に占有されていなかったメモリページL-3に移動し、メモリページL-2に上書きされている。特に、移動を必要とするページの数は、下部バンク29内の利用可能なページよりも多かったので、移動を完了するためにレコードL-2によって表されるメモリページが上書きされた。以前にL-2に格納されていたデータが最近アクセスされていなかったことに起因して「古かった」か、または場合によっては低優先順位のアプリケーションに関連付けられていたので、HWベースのDMM解決手段は、U-1またはU-2のいずれかから移動したデータの完全性を維持するためにL-2を上書きすることを選択した。
【００４９】
図3Bは、図3AのLUT24Bの移動前バージョンに関連するメモリコンポーネント112A内の例示的な上部バンク27および下部バンク29の図である。図3Bの図を検討すると、図3Aに関して説明した移動の前のメモリ112Aの状態が示されている。LUT24Bの移動前バージョン内のレコードをマッピングすると、コンテンツが上部バンク27のメモリページU-1およびU-2ならびに下部バンク29のメモリページL-1、L-2、L-4およびL-nに格納される。
【００５０】
図3Cを参照すると、図3AのLUT24Bの移動後バージョンに関連するメモリコンポーネント112A内の例示的な上部バンク27および下部バンク29が示されている。図3Cの図を検討すると、図3Aに関して説明した移動の後のメモリ112Aの状態が示されている。LUT24Bの移動後バージョンにおけるレコードをマップすると、レコードU-1およびU-2によって表されるメモリページに以前に格納されていたコンテンツは、上書きしてもよかった以前に利用可能であったメモリページL-3およびページL-2に移動している。したがって、上部バンク27のメモリページは電力供給を断つように条件付けられ、一方、以前両方のバンク27，29にわたっていたコンテンツは現在、下部バンク29のみのメモリページに格納されている。したがって、上部バンク27への電力供給を断ち、PCD100が待機状態である間に消費されるスリープフロア電流を低減させることができる。下部バンク29は、引き続き電力を供給され、そこに格納されたすべてのデータの完全性を維持するようにリフレッシュされてよい。
【００５１】
図4は、ハードウェア(「HW」)および/またはソフトウェア(「SW」)ベースのページ移動によるダイナミックメモリ電力管理のための方法およびシステムを実施するワイヤレス電話器の形態のPCDの例示的かつ非限定的な態様の機能ブロック図である。
【００５２】
図示されたように、PCD100は、互いに接続された中央処理装置(「CPU」)110およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。当業者によって理解されるように、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を備えることができる。さらに、当業者によって理解されるように、CPU110の代わりに、デジタル信号プロセッサ(「DSP」)も利用され得る。さらに、異種マルチコアプロセッサの技術分野で理解されているように、コア222，224，230の各々は、PCD100の異なるアプリケーションまたは機能に関連付けられたそれぞれに異なる作業負荷を処理してよく、それによって、メモリ112内のそれぞれに異なるメモリページにアクセスする必要がある。
【００５３】
一般に、DMMモジュール101は、CPU110を監視し、PCD100がアクティブ状態であるときにデータコンテンツの格納および取込みを制御し、格納されたデータコンテンツへのアクセスイベントの数およびタイミングを記録することに関与しており、HWベースおよび/またはSWベースのダイナミックメモリ管理解決手段を適用することができる。DMM解決手段を適用すると、PCD100がアイドル状態または待機状態である間に消費されるスリープフロア電流を低減させることができ、有利なことにPCD100のバッテリー寿命が延びる。このようにして、DMMモジュール101は、電源188上の充電サイクルの頻度を最低限に抑えることによってユーザに提供されるQoSを最適化することができる。
【００５４】
DMMモジュール101は、CPU110によって実行されるソフトウェアを備えることができる。しかしながら、本発明の範囲から逸脱することなく、DMMモジュール101はまた、ハードウェアおよび/またはファームウェアから形成することができる。DMMモジュール101は、メモリコンポーネント112のうちのいずれかに対してデータコンテンツの読取りおよび書込みを行うように構成されかつ読取りおよび書込みを行うように動作可能であってよい。たとえば、いくつかの実施形態では、LUT24は、不揮発性メモリ112Bなどの外部フラッシュメモリに存在し、DMMモジュール101によって連続的に管理され更新されてよい。同様に、再び図1の図を簡単に参照するとわかるように、LUT24は、オンチップに位置する不揮発性メモリ112B内に存在してよい。さらに別の実施形態では、LUT24は、揮発性メモリ112AなどのオンチップDRAMメモリ内に存在し、DMMモジュール101によって連続的に管理され更新されてよい。上記におよび以下に説明するように、DMMモジュール101は、LUT24に問合せを行ってメモリ112内のコンテンツの位置およびメモリ112内の利用可能な空間の位置を特定し、それによって、PCD100がアイドル状態である間電力を供給されるよう指定されたメモリ112の部分にコンテンツを高速にかつ効率的に移動させることができる。
【００５５】
図4に示すように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130は、CPU110に接続される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132は、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に接続される。
【００５６】
PCD100はさらに、ビデオデコーダ134、たとえば位相反転線(「PAL」)デコーダ、順次式カラーメモリ(「SECAM」)デコーダ、全国テレビジョン方式委員会(「NTSC」)デコーダ、または任意の他のタイプのビデオデコーダ134を含むことができる。ビデオデコーダ134は、中央処理装置(「CPU」)110に接続される。ビデオ増幅器136がビデオデコーダ134およびタッチスクリーンディスプレイ132に接続される。ビデオポート138がビデオ増幅器136に接続される。図4に示すように、ユニバーサルシリアルバス(「USB: universal serial bus」)コントローラ140がCPU110に接続される。また、USBポート142はUSBコントローラ140に接続される。オンチップメモリコンポーネント112AもCPU110に接続されてよい。限定はしないがフラッシュメモリなどのオフチップメモリコンポーネント112Bおよび加入者識別モジュール(SIM)カード146が、チップ102の外部に位置し、CPU110に接続されてよい。さらに、図4に示すように、デジタルカメラ148は、CPU110に接続され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００５７】
図4にさらに示すように、ステレオオーディオコーデック150は、アナログ信号プロセッサ126に接続され得る。さらに、オーディオ増幅器152がステレオオーディオコーデック150に接続され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156がオーディオ増幅器152に接続される。図4は、マイクロフォン増幅器158もステレオオーディオコーデック150に接続され得ることを示す。加えて、マイクロフォン160は、マイクロフォン増幅器158に接続される場合がある。特定の態様では、周波数変調(「FM」)ラジオチューナ162は、ステレオオーディオコーデック150に接続される場合がある。また、FMアンテナ164がFMラジオチューナ162に接続される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に接続され得る。
【００５８】
図4は、さらに、無線周波数(「RF: radio frequency」)送受信機168がアナログ信号プロセッサ126に接続され得ることを示す。RFスイッチ170は、RFトランシーバ168およびRFアンテナ172に接続される場合がある。図4に示すように、キーパッド174がアナログ信号プロセッサ126に接続され得る。また、マイクロフォン付きモノヘッドセット176がアナログ信号プロセッサ126に接続され得る。さらに、バイブレータデバイス178がアナログ信号プロセッサ126に接続され得る。図4は、たとえばバッテリーなどの電源188が、電力管理集積回路(「PMIC」)180を介してオンチップシステム102に接続されることも示す。特定の態様では、電源188は、充電式DCバッテリー、または交流(「AC」)電源に接続されたAC-DC変換器から導出されたDC電源を含む。
【００５９】
CPU110はまた、1つまたは複数の内部のオンチップ熱センサ157A，157B、ならびに、1つまたは複数の外部のオフチップ熱センサ157Cに接続され得る。オンチップ熱センサ157A，157Bは、垂直のPNP構造に基づく、通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用の、1つまたは複数の絶対温度に比例する(「PTAT」)温度センサを備えることができる。オフチップ熱センサ157Cは、1つまたは複数のサーミスタを備えることができる。熱センサ157は、アナログデジタル変換器(「ADC」)コントローラ103(図5A参照)によってデジタル信号に変換される、電圧降下を発生させ得る。しかしながら、本発明の範囲から逸脱することなく、他の種類の熱センサ157が利用されてもよい。
【００６０】
タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157C、メモリ112B、PMIC180および電源188は、オンチップシステム102の外部にある。
【００６１】
ある特定の態様では、本明細書に記載される方法ステップのうちの1つまたは複数は、1つまたは複数のDMMモジュール101を形成するメモリ112に格納された、実行可能命令およびパラメータによって実施することができる。DMMモジュール101を形成するこれらの命令は、本明細書に記載される方法を実行するために、ADCコントローラ103に加えて、CPU110、アナログ信号プロセッサ126、GPU182、または別のプロセッサによって実行することができる。さらに、プロセッサ110，126、メモリ112、メモリ112に格納された命令、またはそれらの組合せは、本明細書に記載された方法ステップのうちの1つまたは複数を実行するための手段として機能し得る。
【００６２】
図5は、図4のPCD100におけるSWベースのダイナミックメモリ電力管理のための方法500のある実施形態を示す論理フローチャートである。ブロック505から始まり、DMMモジュール101は、CPU110がスリープモードに入ったことを認識してよい。スリープモードの目的はエネルギーを節約することであるので、DMMモジュール101は、ブロック510において、メモリコンポーネント112の一部への電力供給を断たれることに備えてメモリコンポーネント112Aのメモリバンク27およびメモリバンク29などのPCD100のメモリコンポーネント112間のページ移動を開始してよい。上述のように、スリープモードに関連する電力消費は、有利なことに、揮発性メモリコンポーネント112Aへの電力供給を断つことによって低減させることができ、それによって、周期的なリフレッシュ動作に伴う電流が回避される。さらに、当業者に認識されるように、消費電力量を低減させてページをメモリコンポーネント112間で移動させると、真の節電を実現するためにPCD100がスリープモードに留まる必要がある時間が短縮される。
【００６３】
図5に戻るとわかるように、ブロック510において、DMMモジュール101はSWベースのダイナミックメモリ管理解決手段を開始する。ブロック515において、DMMモジュール101は、上部バンク27内の第1のメモリページをチェックして、そこにコンテンツが格納されているか否かを判定する。決定ブロック520において、上部バンク27のチェックされたメモリページにコンテンツが格納されていると判定された場合、この方法はブロック535に進み、下部バンク29内のメモリページに関してコンテンツの有無がチェックされる。決定ブロック540において、下部バンク29においてチェックされたメモリページがコンテンツを含むと判定された場合、プロセスは決定ブロック550に移動し、ブロック535において下部バンク29内の次のメモリページがチェックされる。プロセスは、下部バンク29において利用可能な空間を含むメモリページが発見されるまでブロック535、ブロック540、およびブロック550においてこのように繰り返される。決定ブロック540において利用可能なメモリページが発見された後、プロセスはブロック545に移動し、上部バンク27のメモリページにおいて特定されたコンテンツが下部バンク29内の利用可能なメモリページに移動する。
【００６４】
プロセスは、決定ブロック525に移動し、上部バンク27に別のメモリページがあるか否かを判定してコンテンツの有無をチェックする。コンテンツの有無をチェックすべきメモリページが上部バンク27内にある限り、プロセスは、上部バンク27のメモリページにおいてコンテンツを見つけて(決定ブロック520の「yes」分岐)、下部バンク29において未使用の空間を有すると特定されたメモリブロックにそれらを移動させる(決定ブロック540およびブロック545の「yes」分岐)ことを反復する。下部バンク29内のメモリページについて未使用の空間の有無をチェックする際に、未使用のメモリページが特定されない場合、いくつかの実施形態では、低優先順位のコンテンツが格納されている下部バンク内のメモリページを特定し(ブロック555)、次いでブロック545においてコンテンツを上部バンク27のメモリページから移動させ、低優先順位の指定を有する下部バンク29のメモリページを上書きしてよい。さらに別の実施形態では、所与の下部バンク29のメモリページにすでに格納されているコンテンツの重要性を考慮せずに、下部バンク29のメモリページ内のコンテンツを単純に上書きしてよい。
【００６５】
コンテンツの有無をチェックすべきメモリページが上部バンク27にはもはやなくなったら、決定ブロック525の「no」分岐を辿ってブロック530に至り、上述のように、上部バンク27への電力供給を断ってスリープ電流を節約する。
【００６６】
図6は、図4のPCD100におけるHWベースのダイナミックメモリ電力管理のための方法600のある実施形態を示す論理フローチャートである。ブロック603から始まり、例示的なLUT24などのメモリページLUTが生成され保持される。前述のように、LUTは、これらに限定はしないが、現在データを含んでいるか否かの指定、上書きしてもよいか否かなどを含む各メモリページのステータスを指定する、メモリ112内の各メモリページに関連するレコードを含んでよい。LUTは、上記のようにPCDがアクティブ状態である間に更新される。ブロック605において、DMMモジュール101は、CPU110がスリープモードに入ったことを認識してよい。スリープモードの目的はエネルギーを節約することであるので、DMMモジュール101は、ブロック610において、メモリコンポーネント112の一部への電力供給を断たれることに備えてメモリコンポーネント112Aのメモリバンク27およびメモリバンク29などのPCD100のメモリコンポーネント112間のページ移動を開始してよい。上述のように、スリープモードに関連する電力消費は、有利なことに、揮発性メモリコンポーネント112Aへの電力供給を断つことによって低減させることができ、それによって、周期的なリフレッシュ動作に伴う電流が回避される。さらに、当業者に認識されるように、消費電力量を低減させてページをメモリコンポーネント112間で移動させると、真の節電を実現するためにPCD100がスリープモードに留まる必要がある時間が短縮される。
【００６７】
図6に戻るとわかるように、ブロック610において、DMMモジュール101はHWベースのダイナミックメモリ管理解決手段を開始する。ブロック615において、DMMモジュール101は、PCD100がアクティブ状態であった間DMMモジュール101によって管理され更新されたLUT24などのメモリページルックアップテーブル(「LUT」)に問合せを行う。DMMモジュール101は、ブロック615においてLUT24に問合せを行うと、有利なことに、たとえば、移動させる必要のあるデータコンテンツを現在含んでいる上部バンク27内の特定のメモリページのすべてを特定することができる。同様に、ブロック620において、DMMモジュール101は、LUT24に問合せを行って、現在未使用であり、かつデータコンテンツを受け入れるために利用可能である下部バンク29内のメモリページを判定してよい。
【００６８】
決定ブロック625において、DMMモジュール101は、上部バンク27内のページの数が下部バンク29内の利用可能なページの数を超えているか否かを判定してよい。上部バンク27からの移動を必要とするページの数が下部バンク29においてコンテンツを受け入れるために利用可能なページの数以下である場合、「yes」分岐を辿ってブロック630に至る。ブロック630において、DMMモジュール101は、特定された上部バンク27メモリページ内のコンテンツを下部バンク29内の利用可能なページに移動させる。その後、ブロック635において、上部バンク27への電力供給を断ち、下部バンクを維持し周期的にリフレッシュして、下部バンクに格納されたデータを保持してよい。有利なことに、DMMモジュール101は、移動させるコンテンツを見つけかつコンテンツを移動させることのできる場所を見つけるために上部バンク27および下部バンク29内の各メモリページを反復的にチェックする必要がなかったので、移動を完了するために必要な時間は最短であり、したがって、移動に伴う電力消費が低減し、上部バンク27への電力供給を断つことによって真の節電を実現するためにPCD100が待機状態のままでいなければならない時間が短縮される。
【００６９】
決定ブロック625に戻るとわかるように、上部バンク27内のページの数が下部バンク29内の利用可能なページの数を超えている場合、「no」分岐を辿ってブロック640に至る。ブロック640において、上部バンク27の特定されたページ内のコンテンツの第1の部分を下部バンク29において利用可能なページに移動させてよい。ブロック645において、LUT24は、コンテンツを含むが上書きしてもよい下部バンク29内のページを特定してよい。前述のように、上書きしてもよいか否かは、コンテンツが最後にアクセスされてからの持続時間、優先順位が低いと見なされるプログラムまたはアプリケーションとのコンテンツの関連などによって判定されてよい。ブロック650において、上部バンク27内のページからコンテンツの残りの第2の部分を、低優先順位のコンテンツを有し、したがって必要に応じて上書きしてもよいと指定された下部バンク29内のページに移動させてよい。しかしながら、特に、下部バンク29内のコンテンツよりも古いかまたは優先順位が低いと見なされる上部バンク27からのコンテンツが破棄されるか、あるいはそうでない場合は、下部バンク29内のコンテンツが上書きしてもよいコンテンツであるにもかかわらず下部バンク29への移動を拒絶され得ることも想定される。
【００７０】
プロセスは、ブロック650からブロック635に移動し、上部バンク27への電力供給を断たれる。ブロック650後に移動させるべき追加のコンテンツがまだある場合、いくつかの実施形態では、ブロック635において単に上部バンク27への電力供給を断ち、移動されなかったコンテンツの部分を犠牲にしてよい。別の実施形態では、上記に図5の方法に関して説明した解決手段などのSWベースの解決手段に移行し、SWベースの解決手段が下部バンク29内のどのコンテンツを上書きすべきかを反復的に判定するのを可能にしてよい。
【００７１】
本発明が記載されたように機能するために、本明細書に記載されたプロセスまたはプロセスフロー内の特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変えない場合、本発明は記載されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、あるステップは、他のステップの前に実施されるか、後に実施されるか、または他のステップと並行して(実質的に同時に)実施される場合があることを認識されたい。いくつかの例では、ある特定のステップは、本発明から逸脱することなく、省略されるか、または実施されない場合がある。さらに、「その後」、「次いで」、「次に」、「以後」などの単語は、ステップの順序を限定するものではない。これらの言葉は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００７２】
加えて、プログラミングの当業者は、たとえば本明細書内のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を識別して、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明をどのように製作および使用すべきかについて適切に理解するために必要であるとは見なされない。特許請求されるコンピュータ実装プロセスの発明性のある機能は、上記の説明において、かつ、様々なプロセスフローを示すことができる図面とともに、より詳細に説明される。
【００７３】
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。各機能は、ソフトウェアで実装される場合、1つまたは複数の命令またはコードとして非一時的コンピュータ可読媒体上に格納されるか、または、コンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体との両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは格納するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。
【００７４】
また、任意の接続はコンピュータ可読媒体と適切に呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL: digital subscriber line」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００７５】
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(「CD」)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(「DVD」)、フロッピー(登録商標)ディスク、およびBlu-ray(登録商標)ディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲の中に含まれるべきである。
【００７６】
したがって、選択された態様が詳細に図示および説明されたが、添付の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
【符号の説明】
【００７７】
24，24A，24B  ルックアップテーブル(LUT)
27  上部バンク
29  下部バンク
100  ポータブルコンピューティングデバイス
101  ダイナミックメモリ管理(DMM)モジュール
102  集積回路(オンチップシステム)
103  アナログデジタル変換器(ADC)コントローラ
110  中央処理装置(CPU)
112A  ダイナミックメモリ
112B  不揮発性メモリ
126  アナログ信号プロセッサ
128  ディスプレイコントローラ
130  タッチスクリーンコントローラ
132  タッチスクリーンディスプレイ
134  ビデオデコーダ
136  ビデオ増幅器
138  ビデオポート
140  ユニバーサルシリアルバス(USB)コントローラ
142  USBポート
146  加入者識別モジュール(SIM)カード
148  デジタルカメラ
150  ステレオオーディオコーデック
152  オーディオ増幅器
154  第1のステレオスピーカー
156  第2のステレオスピーカー
157A，157B  オンチップ温度センサ
157C  オフチップ温度センサ
158  マイクロフォン増幅器
160  マイクロフォン
162  周波数変調(FM)ラジオチューナ
164  FMアンテナ
166  ステレオヘッドフォン
168  無線周波数(RF)トランシーバ
170  RFスイッチ
172  RFアンテナ
174  キーパッド
176  マイクロフォン付きモノラルヘッドセット
178  バイブレータデバイス
180  電力管理集積回路(PMIC)
182  GPU
188  電源
222，224，226，228，230  プロセッサコア
【図１】
0005845382.tif 000002
【図２Ａ】
0005845382.tif 000003
【図２Ｂ】
0005845382.tif 000004
【図２Ｃ】
0005845382.tif 000005
【図３Ａ】
0005845382.tif 000006
【図３Ｂ】
0005845382.tif 000007
【図３Ｃ】
0005845382.tif 000008
【図４】
0005845382.tif 000009
【図５】
0005845382.tif 000010
【図６】
0005845382.tif 000011