(57)【要約】【課題】不揮発性メモリにかかる電力制御をより効率的に行うことが可能な電力制御装置、情報処理装置及び電力制御方法を提供する。【解決手段】複数のメモリ領域の各々に対応して設けられ、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する第１設定情報を保持するモード設定手段と、前記複数のメモリ領域のうち、活動状態と規定された第１設定情報に対応するメモリ領域に電力を供給するとともに、停止状態と規定された第１設定情報に対応するメモリ領域への電力供給を停止する電源制御手段と、を備える。【選択図】        図２
2009211153.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリ領域から構成される不揮発性のメモリ手段と、
前記メモリ領域の各々に対応して設けられ、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する第１設定情報を保持するモード設定手段と、
前記複数のメモリ領域のうち、活動状態と規定された第１設定情報に対応するメモリ領域に電力を供給するとともに、停止状態と規定された第１設定情報に対応するメモリ領域への電力供給を停止する電源制御手段と、
を備えたことを特徴とするメモリ装置。
【請求項２】
前記メモリ領域の単位で前記第１設定情報の設定を個別に変更する設定変更手段を更に備えたことを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記メモリ領域の各々に対応して設けられ、当該各メモリ領域へのデータの書き込みを行う書込手段と、
前記メモリ領域の各々に対応して設けられ、対応するメモリ領域を読み書き可能とするか読み出し専用とするかを規定する第２設定情報を保持するアクセス設定手段と、
を更に備え、
前記電力制御手段は、前記複数の書込手段のうち、読み書き可能と規定された第２設定情報に対応するメモリ領域に設けられた書込手段に電力を供給するとともに、読み出し専用と規定された第２設定情報に対応するメモリ領域に設けられた書込手段への電力供給を停止することを特徴とする請求項１又は２に記載のメモリ装置。
【請求項４】
前記メモリ手段は、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲＲＡＭの何れか一つであることを特徴とする請求項１に記載のメモリ装置。
【請求項５】
複数のメモリ領域から構成される不揮発性のメモリ手段と、
前記メモリ領域の各々に対応して設けられ、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する第１設定情報を保持するモード設定手段と、
前記メモリ手段にアクセスするアクセス手段と、
前記複数のメモリ領域から、前記アクセスの対象となるアドレスを含んだメモリ領域を、アクセス対象領域として特定する特定手段と、
前記アクセス対象領域に対応する前記第１設定情報が、活動状態を規定するよう設定を変更する設定変更手段と、
前記複数のメモリ領域のうち、活動状態と規定された第１設定情報に対応するメモリ領域に電力を供給するとともに、停止状態と規定された第１設定情報に対応するメモリ領域への電力供給を停止する電源制御手段と、
を備えたことを特徴とする情報処理装置。
【請求項６】
前記アクセス対象領域に対応する前記第１設定情報の設定を判定する判定手段を更に備え、
前記設定変更手段は、前記判定手段により前記第１設定情報が停止状態を規定すると判定された場合に、当該第１設定情報が活動状態を規定するよう設定を変更することを特徴とする情報処理装置。
【請求項７】
前記メモリ領域各々のアドレス範囲と、各メモリ領域へのアクセスが可能な状態か否かを示したアクセス情報とを関連付けて記録したアクセス管理テーブルを記憶するテーブル記憶手段を更に備え、
前記判定手段は、前記アドレスと、前記アクセス管理テーブルに記録された前記メモリ領域毎のアドレス範囲とを比較し、当該アドレスを包含するアドレス範囲のメモリ領域を前記アクセス対象領域として特定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記設定変更手段は、前記アクセス管理テーブルに記録された前記アクセス対象領域に対応する前記アクセス情報がアクセス不可を示す場合に、当該アクセス対象領域に対応する前記第１設定情報が活動状態を規定するよう設定を変更するとともに、当該アクセス情報がアクセス可能を示すよう設定を変更することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記設定変更手段は、前記アクセス手段によるアクセスが完了した後、前記アクセス対象領域に対応する前記第１設定情報が停止状態を規定するよう設定を変更するとともに、このアクセス対象領域に対応する前記アクセス管理テーブルのアクセス情報がアクセス不可を示すよう設定を変更することを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記設定変更手段は、前記アクセス手段によるアクセスの完了後、所定時間が経過した後、前記メモリ領域の全てに対応する前記第１設定情報が停止状態を規定するよう設定を変更するとともに、各メモリ領域に対応する前記アクセス管理テーブルのアクセス情報がアクセス不可を示すよう設定を変更することを特徴とする請求項７〜９の何れか一項に記載の情報処理装置。
【請求項１１】
前記アクセス手段がアクセスしたアドレスのデータをキャッシュする、ライトバック方式の第１キャッシュ手段と、
前記設定変更手段により前記アドレスに対応するアクセス対象領域の第１設定情報が停止状態に変更される前に、このアクセス対象領域について前記第１キャッシュ手段にキャッシュされたデータを当該アクセス対象領域に書き戻す書戻手段と、
を更に備えたことを特徴とする請求項７に記載の情報処理装置。
【請求項１２】
前記アクセス管理テーブルは、メモリ管理機構で用いるページテーブルであることを特徴とする請求項７〜９の何れか一項に記載の情報処理装置。
【請求項１３】
前記アクセス管理テーブルに記録された情報を前記メモリ領域の単位でキャッシュする第２キャッシュ手段と、
前記設定変更手段により前記第１設定情報の設定が変更される毎に、当該第１設定情報に対応するメモリ領域に関する情報を前記第２キャッシュ手段から削除する削除手段と、
を更に備えたことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記メモリ領域の各々に対応して設けられ、前記アクセス手段からの要求に応じて対応するメモリ領域にデータの書き込みを行う書込手段と、
前記メモリ領域の各々に対応して設けられ、対応するメモリ領域を読み書き可能とするか読み出し専用とするかを規定する第２設定情報を保持するアクセス設定手段と、
を更に備え、
前記電力制御手段は、前記複数の書込手段のうち、読み書き可能と規定された第２設定情報に対応するメモリ領域に設けられた書込手段に電力を供給するとともに、読み出し専用と規定された第２設定情報に対応するメモリ領域に設けられた書込手段への電力供給を停止することを特徴とする請求項５に記載の情報処理装置。
【請求項１５】
前記メモリ手段は、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲＲＡＭの何れか一つであることを特徴とする請求項５に記載の情報処理装置。
【請求項１６】
複数のメモリ領域から構成される不揮発性のメモリ手段を備えた情報処理装置で実行される電力制御方法であって、
前記情報処理装置は、前記メモリ領域の各々に対応して設けられ、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する第１設定情報を保持するモード設定手段を備え、
アクセス手段が、前記メモリ手段にアクセスするアクセス工程と、
特定手段が、前記アクセスの対象となるアドレスを含むメモリ領域を、アクセス対象領域として特定する特定工程と、
設定変更手段が、前記アクセス対象領域に対応する前記第１設定情報が、活動状態を規定するよう設定を変更する設定変更工程と、
電源制御手段が、前記複数のメモリ領域のうち、活動状態と規定された第１設定情報に対応するメモリ領域に電力を供給するとともに、停止状態と規定された第１設定情報に対応するメモリ領域への電力供給を停止する電源制御工程と、
を含むことを特徴とする電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの電力制御を行うメモリ装置、情報処理装置及び電力制御方法に関する。
【背景技術】
【０００２】
従来、プロセッサを中心に各種メモリや入出力回路を結合した組み込みシステムでは、使用してないデバイスへの電力供給を停止することで、組み込みシステム全体の消費電力を低減することが行われている。例えば、特許文献１には、各機能部に電力を供給しない状態を基本とし、動作が必要な場合にのみ電力を供給して処理を行わせる技術が開示されている。しかし、主記憶装置については、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリが用いられることが一般的であることから、不用意に電力供給を停止することはできなかった。
【０００３】
また近年ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のユニバーサルメモリと呼ばれる不揮発性メモリが登場してきている。これらのユニバーサルメモリでは、高速アクセスが可能で且つフラッシュメモリと同様の不揮発性といった特性を有している。そのため、上記した揮発性メモリに代えてユニバーサルメモリを主記憶装置に用いることで、プロセッサの待機時に主記憶装置も含めて電源を遮断しても、主記憶装置に記憶されたデータを保持することが可能となる。
【０００４】
【特許文献１】特開２００６−１７２０５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術では、電力供給のオン／オフをデバイス単位で制御するため、主記憶装置の一部の記憶領域に格納されたデータのみにアクセスが行われているような場合であっても、主記憶装置全体に電力を供給する必要がある。そのため、ＭＲＡＭやＦｅＲＡＭ等の不揮発性メモリを用いたとしても、他のデバイスと同様にデバイス単位でしかオン／オフを制御することができない。
【０００６】
本発明は上記に鑑みてなされたものであって、不揮発性メモリにかかる電力制御をより効率的に行うことが可能な電力制御装置、情報処理装置及び電力制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、複数のメモリ領域から構成される不揮発性のメモリ手段と、前記メモリ領域の各々に対応して設けられ、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する第１設定情報を保持するモード設定手段と、前記複数のメモリ領域のうち、活動状態が規定された第１設定情報に対応するメモリ領域に電力を供給するとともに、停止状態が規定された第１設定情報に対応するメモリ領域への電力供給を停止する電源制御手段と、を備える。
【０００８】
また、本発明は、複数のメモリ領域から構成される不揮発性のメモリ手段と、前記メモリ領域の各々に対応して設けられ、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する第１設定情報を保持するモード設定手段と、前記メモリ手段にアクセスするアクセス手段と、前記複数のメモリ領域から、前記アクセスの対象となるアドレスを含んだメモリ領域を、アクセス対象領域として特定する特定手段と、前記アクセス対象領域に対応する前記第１設定情報が、活動状態を規定するよう設定を変更する設定変更手段と、前記複数のメモリ領域のうち、活動状態が指示された第１設定情報に対応するメモリ領域に電力を供給するとともに、停止状態が指示された第１設定情報に対応するメモリ領域への電力供給を停止する電源制御手段と、を備える。
【０００９】
また、本発明は、複数のメモリ領域から構成される不揮発性のメモリ手段を備えた情報処理装置で実行される電力制御方法であって、前記情報処理装置は、前記メモリ領域の各々に対応して設けられ、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する第１設定情報を保持するモード設定手段を備え、アクセス手段が、前記メモリ手段にアクセスするアクセス工程と、特定手段が、前記アクセスの対象となるアドレスを含むメモリ領域を、アクセス対象領域として特定する特定工程と、設定変更手段が、前記アクセス対象領域に対応する前記第１設定情報が、活動状態を規定するよう設定を変更する設定変更工程と、電源制御手段が、前記複数のメモリ領域のうち、活動状態が指示された第１設定情報に対応するメモリ領域に電力を供給するとともに、停止状態が指示された第１設定情報に対応するメモリ領域への電力供給を停止する電源制御工程と、を含む。
【発明の効果】
【００１０】
本発明によれば、不揮発性メモリを構成する複数のメモリ領域の単位で電力制御を個別に行うことで、不揮発性メモリの消費電力を低減することができるため、不揮発性メモリにかかる電力制御をより効率的に行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、メモリ装置、情報処理装置及び電力制御方法の最良な実施形態を詳細に説明する。なお、以下に説明する実施形態では、ＭＲＡＭやＦｅＲＡＭ等の不揮発性メモリを主記憶装置とする情報処理装置に本発明を適用した例を説明するが、適用される対象はこの例に限らないものとする。
【００１２】
［第１の実施形態］
図１は、第１の実施形態にかかる情報処理装置１００の構成を示したブロック図である。同図に示したように、情報処理装置１００は、プロセッサ１１と、４つのメモリ装置１２とを備え、各部はバス１３を介して接続されている。
【００１３】
プロセッサ１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等であって、後述する不揮発性メモリ１２１を主記憶装置として種々の処理を実行する。なお、プロセッサ１１の動作については後述する。
【００１４】
メモリ装置１２は、プロセッサ１１の主記憶装置として機能する不揮発性のメモリデバイスを有し、プロセッサ１１に対して並列に接続されている。なお、図１では、メモリ装置１２を４つ備えた構成例を示したが、メモリ装置１２の個数はこの例に限らないものとする。
【００１５】
図２は、メモリ装置１２と、プロセッサ１１との関係を示した図である。同図に示したように、メモリ装置１２は、不揮発性メモリ１２１と、電源管理部１２２と、モード設定レジスタ１２３とを有している。
【００１６】
不揮発性メモリ１２１は、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ（Ｐｈａｓｅ  ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＲＡＭ（Ｒｅｓｉｓｉｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等とよばれる、読み書き自在な不揮発性メモリバイスである。
【００１７】
なお、不揮発性メモリ１２１は、ＤＩＰ（Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｐａｃｋａｇｅ）やＢＧＡ（Ｂａｌｌ  Ｇｒｉｄ  Ａｒｒａｙ）等にパッケージされたチップ（ダイ）を用いて実現することとしてもよいし、不揮発性メモリ１２１のダイをマルチチップモジュール等に搭載して実現することとしてもよい。
【００１８】
電源管理部１２２は、図示しない電源から供給される電力を不揮発性メモリ１２１に供給するとともに、各メモリ領域に対して設けられたモード設定レジスタ１２３のレジスタ値に応じて、メモリ領域の単位で電力供給量を制御する。ここで、図３を参照して、電源管理部１２２と、モード設定レジスタ１２３との関係について説明する。
【００１９】
図３は、不揮発性メモリ１２１のメモリ領域と、モード設定レジスタ１２３との関係を示した図である。同図では、プロセッサ１１が使用するメモリ空間として、不揮発性メモリ１２１の“００００００００”番地から“０７ＦＦＦＦＦＦ”番地までの１２８ＭＢを割り当てた例を示している。また、図３では、１２８ＭＢのメモリ空間を８分割した１６ＭＢ分の各領域を一のメモリ領域としている。なお、図３で示したメモリ領域の個数や容量は一例であって、使用するメモリデバイスや環境に応じて適宜変更することが可能であるものとする。
【００２０】
モード設定レジスタ１２３は、不揮発性メモリ１２１を構成するメモリ領域の各々と対応する複数のレジスタを有し、対応するメモリ領域の状態を活動状態とするか停止状態とするかを規定する設定情報が夫々保持されている。具体的に、モード設定レジスタ１２３の各レジスタには、対応するメモリ領域への電力供給のオン、オフを規定する二値（０又は１）のレジスタ値が夫々保持される。
【００２１】
電源管理部１２２は、モード設定レジスタ１２３の各レジスタに設定されたレジスタ値に応じて、各レジスタに対応するメモリ領域の電力制御を個別に行う。具体的に、電源管理部１２２は、レジスタ値が“オン”のメモリ領域に電力供給を行うことで、当該メモリ領域を活動状態とし、プロセッサ１１からアクセス可能な状態へと移行させる。以下、メモリ領域が活動状態にあること、即ち、プロセッサ１１からアクセス可能な状態を「活動モード」という。
【００２２】
また、電源管理部１２２は、レジスタ値がオフのメモリ領域への電力供給を停止又は抑制することで、当該メモリ領域を停止状態とする。ここで、電力供給の抑制とは、該当するメモリ領域を低消費電力で動作させる、所謂スリープ状態に移行させることを意味する。つまり、プロセッサ１１から停止状態にあるメモリ領域へのアクセスは不可能となる。以下、メモリ領域が停止状態にあること、即ち、プロセッサ１１からアクセス不可能な状態を「停止モード」という。
【００２３】
上記の構成において、プロセッサ１１は、図示しない記憶媒体に保持されたアクセス管理テーブル１１１に基づいて、モード設定レジスタ１２３のレジスタ値を変更しながら不揮発性メモリ１２１にアクセスする。なお、アクセス管理テーブル１１１を保持するデバイスは特に問わないものとするが、例えば、プロセッサ１１が記憶媒体を内蔵する場合には、プロセッサ１１内に保持する態様としてもよいし、不揮発性メモリ１２１を用いて保持する態様としてもよい。後者の場合、不揮発性メモリ１２１のうち、後述する電力制御処理の対象とならないメモリ領域に保持することが好ましい。
【００２４】
図４は、アクセス管理テーブル１１１の一例を示した図である。同図に示したように、アクセス管理テーブル１１１には、不揮発性メモリ１２１のメモリ領域毎に、その開始アドレスと、終了アドレスと、動作モードとが関連付けて登録されており、各行がメモリ領域の夫々に対応している。ここで、動作モードの項目には、メモリ領域毎の状態（活動モード／停止モード）が記録され、モード設定レジスタ１２３のレジスタ値を変更する度に、当該レジスタ値に応じた状態に動作モードを更新する。なお、図４では、図３に示したメモリ領域の各々についての開始アドレスと、終了アドレスと、動作モードとを夫々示している。
【００２５】
プロセッサ１１は、プログラムの実行等に伴い、不揮発性メモリ１２１へのアクセスが発生すると、アクセス管理テーブル１１１を参照し、アクセス対象となるメモリアドレスを包含するメモリ領域の動作モードが“活動モード”にあるか否かを判定する。ここで、プロセッサ１１は、アクセス対象のメモリアドレスを包含するメモリ領域が“活動モード”にあると判定した場合、アクセス対象のメモリアドレスにアクセスを行う。
【００２６】
また、プロセッサ１１は、アクセス対象のメモリアドレスを包含するメモリ領域が“停止モード”にあると判定した場合、このメモリ領域に対応するモード設定レジスタ１２３のレジスタ値を“オン”に設定した後、当該メモリ領域に対応するアクセス管理テーブル１１１の動作モードを“活動モード”に書き換える。このとき、プロセッサ１１は、レジスタ値を“オン”としたメモリ領域が安定して動作する状態となるまで所定時間待機した後、アクセス対象のメモリアドレスにアクセスを行う。なお、待機時間は予め定められているものとするが、任意の時間を設定することが可能であるとする。
【００２７】
また、プロセッサ１１は、プログラムの実行を終了すると、“活動モード”としたメモリ領域に対応するアクセス管理テーブル１１１の動作モードを“停止モード”に書き換えた後、このメモリ領域に対応するモード設定レジスタ１２３のレジスタ値を“オフ”に設定する。
【００２８】
ここで“活動モード”から“停止モード”への書き換えは、プログラム実行の終了後直ちに行うのではなく、所定時間待機した後に行うことが好ましい。具体的に、プロセッサ１１は、プログラム実行の終了後、“活動モード”としたメモリ領域を使用しない期間を計測し、この期間が所定時間続いた場合に、“活動モード”から“停止モード”に書き換えを行う。これにより、特定のメモリ領域にかかるプログラムの実行が終了した後、このメモリ領域へのアクセスが所定時間以内に発生した場合には、モードの書き換えを行うことなく処理を継続することができるため、処理の効率化を図ることができる。“活動モード”から“停止モード”に書き換えるまでの時間は、任意の値を設定することが可能であるものとするが、プロセッサ１１が実行する処理に応じて動的に設定することが好ましい。また、本実施形態では、“活動モード”から“停止モード”に書き換えを行うアクセス後の処理を、アクセス処理に引き続き行っているが、メモリ領域へのアクセスが完了した時点で処理を終了した後、別のプロセスとしてアクセス後の処理を行ってもよい。
【００２９】
なお、プロセッサ１１がライトバック方式のキャッシュメモリを有する場合には、アクセス対象のアドレスから読み出したデータがキャッシュメモリにキャッシュされている可能性がある。そのため、プロセッサ１１は、レジスタ値を“オフ”に変更する前に、アクセス対象としたメモリアドレスを包含するメモリ領域についてキャッシュされたデータを、キャッシュメモリから該当するメモリ領域に書き戻す処理を行う。
【００３０】
以下、図５、６を参照して、プロセッサ１１の不揮発性メモリ１２１へのアクセスにかかる動作について説明する。
【００３１】
図５は、プロセッサ１１が、不揮発性メモリ１２１にアクセスする際の処理（アクセス処理）の手順を示した図である。まず、プロセッサ１１は、所定のプログラムの実行等により不揮発性メモリ１２１へのアクセスが発生すると（ステップＳ１１）、アクセス対象となるメモリアドレスを包含するエントリ（メモリ領域）が、アクセス管理テーブル１１１に登録されているか否かを判定する（ステップＳ１２）。ここで、プロセッサ１１が、アクセス管理テーブル１１１中のエントリにアクセス対象のメモリアドレスが含まれないと判定した場合には（ステップＳ１２；Ｎｏ）、ステップＳ１７の処理に直ちに移行する。
【００３２】
一方、ステップＳ１２において、アクセス対象のメモリアドレスがアクセス管理テーブル１１１中の特定のメモリ領域（以下、アクセス対象領域という）に包含されると判定した場合（ステップＳ１２；Ｙｅｓ）、プロセッサ１１は、アクセス管理テーブル１１１を参照し、アクセス対象領域の動作モードが“停止モード”にあるか否かを判定する（ステップＳ１３）。ここで、プロセッサ１１が、アクセス対象領域の動作モードが“活動モード”にあると判定した場合には（ステップＳ１３；Ｎｏ）、ステップＳ１７の処理に直ちに移行する。
【００３３】
一方、ステップＳ１３において、アクセス対象領域の動作モードが“停止モード”にあると判定した場合（ステップＳ１３；Ｙｅｓ）、プロセッサ１１は、このアクセス対象領域に対応するモード設定レジスタ１２３のレジスタ値を“オン”に設定する（ステップＳ１４）。
【００３４】
続いて、プロセッサ１１は、アクセス対象領域に対応するアクセス管理テーブル１１１の動作モードを“活動モード”に書き換え（ステップＳ１５）、このアクセス対象領域が安定して動作する状態となるまで所定時間待機し（ステップＳ１６）、ステップＳ１７の処理に移行する。
【００３５】
続くステップＳ１７において、プロセッサ１１は、アクセス対象となったメモリアドレスにアクセスを行い（ステップＳ１７）、本処理を終了する。
【００３６】
次に、図６を参照して、不揮発性メモリ１２１へのアクセス完了後の処理（アクセス後処理）について説明する。図６は、プロセッサ１１により実行されるアクセス後処理の手順を示したフローチャートである。
【００３７】
プロセッサ１１は、プログラムの実行完了等により、不揮発性メモリ１２１へのアクセスを完了すると（ステップＳ２１）、アクセスを行ったメモリアドレスを包含するエントリ（メモリ領域）がアクセス管理テーブル１１１に登録されているか否かを判定する（ステップＳ２２）。ここで、プロセッサ１１が、アクセス管理テーブル１１１中のエントリに、アクセスを行ったメモリアドレス含まれないと判定した場合には（ステップＳ２２；Ｎｏ）、本処理を直ちに終了する。
【００３８】
一方、ステップＳ２２において、アクセスを行ったメモリアドレスがアクセス管理テーブル１１１の特定のメモリ領域（以下、アクセス済領域という）に包含されると判定した場合（ステップＳ２２；Ｙｅｓ）、プロセッサ１１は、アクセス管理テーブル１１１を参照し、アクセス済領域の動作モードが“活動モード”にあるか否かを判定する（ステップＳ２３）。ここで、プロセッサ１１が、アクセス済領域の動作モードが“停止モード”にあると判定した場合には（ステップＳ２３；Ｎｏ）、本処理を直ちに終了する。
【００３９】
一方、ステップＳ２３において、アクセス済領域の動作モードが“活動モード”にあると判定した場合（ステップＳ２３；Ｙｅｓ）、プロセッサ１１は、このアクセス済領域の何れかに新たなアクセスが発生したか否かを判定する（ステップＳ２４）。ここで、プロセッサ１１は、アクセスの発生を検出した場合（ステップＳ２４；Ｙｅｓ）、このアクセスの発生したアクセス済領域について、図５で説明したアクセス処理を実行する（ステップＳ２５）。
【００４０】
また、ステップＳ２４において、アクセスの発生が検出されない場合（ステップＳ２４；Ｎｏ）、プロセッサ１１は、不揮発メモリへのアクセスが完了してから所定時間経過した否かを判定し、経過していないと判定した場合には（ステップＳ２６；Ｎｏ）、ステップＳ２４の処理に再び戻る。
【００４１】
また、ステップＳ２６において、所定時間経過したと判定した場合（ステップＳ２６；Ｙｅｓ）、プロセッサ１１は、アクセス済領域に対応するアクセス管理テーブル１１１の動作モードを“停止モード”に書き換える（ステップＳ２７）。なお、プロセッサ１１がライトバック方式のキャッシュメモリを有する場合、プロセッサ１１は、アクセス済領域に書き戻す必要のあるデータをキャッシュメモリから読み出し、このアクセス済領域に書き戻す処理を実行する（ステップＳ２８）。
【００４２】
続いて、プロセッサ１１は、アクセス済領域に対応するモード設定レジスタ１２３のレジスタ値を“オフ”に設定し（ステップＳ２９）、本処理を終了する。なお、本実施形態では、“活動モード”から“停止モード”に書き換えを行うアクセス後の処理を、アクセス処理に引き続き行っているが、不揮発メモリへのアクセスが完了した時点で処理を終了した後、別のプロセスとしてアクセス後の処理を行ってもよい。
【００４３】
次に、図７を参照して、メモリ装置１２の動作について説明する。図７は、不揮発性メモリ１２１の電力制御処理の手順を示したフローチャートである。なお、本処理は、上述したステップＳ１４又はステップＳ２９の処理に応じて、電源管理部１２２が実行する処理である。
【００４４】
まず、電源管理部１２２は、モード設定レジスタ１２３のレジスタ値を監視し、モード設定レジスタ１２３のレジスタ値が変更されるまで現在行っている電力制御を継続する（ステップＳ３１；Ｎｏ）。電源管理部１２２は、プロセッサ１１によりモード設定レジスタ１２３のレジスタ値が変更されたことを検出すると（ステップＳ３１；Ｙｅｓ）、モード設定レジスタ１２３の各レジスタ値を判定する（ステップＳ３２）。
【００４５】
ここで、電源管理部１２２は、モード設定レジスタ１２３のレジスタ値が“オン”のメモリ領域については（ステップＳ３２；オン）、当該メモリ領域への電力供給を開始することで、当該メモリ領域を活動モードとする（ステップＳ３３）。
【００４６】
一方、電源管理部１２２は、モード設定レジスタ１２３のレジスタ値が“オフ”のメモリ領域については（ステップＳ３２；オフ）、当該メモリ領域への電力供給を停止又は抑制することで、当該メモリ領域を停止モードとする（ステップＳ３４）。
【００４７】
上記の構成により、例えば、不揮発性メモリ１２１の一部のメモリ領域にプロセッサ１１がアクセスする際には、このアクセス対象のメモリ領域のみを活動モードとし、他のメモリ領域を停止モードとすることができる。これにより、プロセッサ１１に対する不揮発性メモリ１２１の機能を維持するとともに、不揮発性メモリ１２１への電力供給量を減少させることができるため、消費電力を低減することができる。
【００４８】
以上のように、第１の実施形態によれば、不揮発性メモリ１２１を構成するメモリ領域の単位で電力制御を行うことで、不揮発性メモリ１２１の消費電力を低減することができるため、不揮発性メモリにかかる電力制御をより効率的に行うことができる。
【００４９】
なお、図４に示したアクセス管理テーブル１１１では、開始アドレスと、終了アドレスと、動作モードとの３つの情報をメモリ領域毎に保持することとしたが、アクセス対象のメモリアドレスと比較することが可能であれば、他の情報を用いてアクセス管理テーブル１１１を構成することとしてもよい。例えば、終了アドレスに代えて、開始アドレスから終了アドレスまでのサイズをメモリ領域毎に保持する態様としてもよい。
【００５０】
また、動作モードの項目を設けずに、停止モードにあるメモリ領域のアドレス範囲だけをアクセス管理テーブル１１１に保持し、このアクセス管理テーブル１１１に存在しないアドレス範囲を活動モードとして扱う態様としてもよい。逆に、活動モードにあるメモリ領域のアドレス範囲だけをアクセス管理テーブル１１１に保持し、このアクセス管理テーブル１１１に存在しないアドレス範囲を停止モードとして扱う態様としてもよい。
【００５１】
なお、本実施形態では、アクセス管理テーブル１１１を用いて停止モードにあるメモリ領域を検出する態様としたが、プロセッサ１１がメモリ保護機能を搭載する場合には、このメモリ保護機能を用いて、停止モードのメモリ領域へのアクセスを検出することができる。ここで、メモリ保護機能とは、プログラムの暴走時等に当該プログラムが読み書きしているメモリ領域を破壊することが無いように保護する機能であって、例えば、ＡＲＭ  Ｓｙｓｔｅｍ  Ｄｅｖｅｌｏｐｅｒ’ｓ  Ｇｕｉｄｅ（Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ，ＩＳＢＭ  １−５５８６０−８７４−５）の１３章に、ＡＲＭプロセッサについてのメモリ保護機能（Ｍｅｍｏｒｙ  Ｐｒｏｔｅｃｔｉｏｎ  Ｕｎｉｔｓ）が開示されている。
【００５２】
上述したメモリ保護機能を用いることで、メモリ空間上での複数のアドレス範囲（メモリ領域）に対してその保護属性を付与することができる。ここで、アクセス禁止の保護属性を付与しておけば、そのアドレス範囲をアクセスした時点で割り込みが発生し、プログラムの実行を一時停止することができる。即ち、このメモリ保護機能を利用し、停止モードにあるメモリ領域に対してアクセス禁止の属性を付与しておくことで、停止モードのメモリ領域へのアクセスを検出することが可能となる。
【００５３】
また、本実施形態では、レジスタ値の“オン”から“オフ”への切り替えをアクセス終了時に行う構成としたが、任意のタイミングで行うこととしてもよい。例えば、プロセッサ１１が、不揮発性メモリ１２１にアクセスしてからの経過時間を計測し、所定時間経過後にモード設定レジスタ１２３の全てのレジスタ値を“オフ”とする態様としてもよい。また、他の態様として、所定時間経過毎に所定個分のレジスタ値を順次“オフ”とする態様としてもよい。何れの場合においても、プロセッサ１１は、レジスタ値の変更に伴い、アクセス管理テーブル１１１に登録された対応するメモリ領域の動作モードを“停止モード”に書き換える。これにより、不揮発性メモリ１２１へのアクセスが発生しないときに、不揮発性メモリ１２１への電力供給を停止又は抑制することができるため、情報処理装置１００の消費電力をさらに低減することが可能となる。
【００５４】
なお、トリガとなる経過時間は、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）等の時間の測定を行う図示しない時間計測部から取得するものとし、任意の時間を設定することが可能であるとする。
【００５５】
また、プロセッサ１１がアクセスする不揮発性メモリ１２１のメモリ領域については、特段の制約はないものとする。なお、プログラム実行時に必要となる作業領域の確保については以下に説明するメモリ管理方法を用いることで、不揮発性メモリ１２１の電力制御をより効率的に行うことができる。
【００５６】
一般にプログラムは、作業領域用のメモリが必要になればｍａｌｌｏｃ関数等を呼び出してメモリ領域を確保し、また、不要になればｆｒｅｅ関数等の関数を呼び出してメモリ領域を解放する。これは、予め確保しておいた大きなサイズのメモリ領域を、要求された細かなサイズに切り分けてプログラムに与え、不要になればそれらを回収して再利用するメモリ管理を行うことで実現している。
【００５７】
そこで、プロセッサ１１が、上記したメモリ管理をメモリ領域単位で行うことで、プログラムがメモリを必要とした場合に、どのメモリ領域からメモリを確保するかを選択できるよう構成する。これにより、作業領域を効率的に確保することが可能となる。
【００５８】
また、プログラムが新しいメモリの確保を要求する場合、プロセッサ１１は、アクセス管理テーブル１１１やモード設定レジスタ１２３を参照し、現在活動状態にあるメモリ領域から優先して作業領域を確保する。これにより、確保した作業領域をすぐに利用できるとともに、新たなメモリ領域が停止状態から活動状態に遷移することを抑制できるため、不揮発性メモリ１２１の電力制御をより効率的に行うことができる。
【００５９】
また、他のメモリ管理方法として、同じプログラムが使用する作業領域は、できるだけ同じメモリ領域から確保する方法が挙げられる。この場合、プロセッサ１１は、あるプログラムが前回どのメモリ領域から作業領域を確保したかを覚えておき、次に作業領域が必要になったときはできるだけ同じメモリ領域から作業領域を確保する。これにより、一つのプログラムが使用するメモリ領域の数を減らすことができるため、より多くのメモリ領域を停止状態にでき、消費電力をより低減することができる。
【００６０】
［変形例］
次に、上述した第１の実施形態の変形例として、メモリ管理機構のページテーブルを用いてメモリ領域へのアクセスを行う構成について説明する。なお、上述した第１の実施形態と同様の構成については、同一の符号を付与し、その説明は省略する。
【００６１】
図８は、第１の実施形態の変形例にかかる情報処理装置２００の構成を示した図である。なお、同図では、一のメモリ装置１２のみを示しているが、プロセッサ２１と、メモリ装置１２との関係は図１で示した構成と同様であるものとする。
【００６２】
プロセッサ２１は、プロセッサ１１と同様の演算装置であって、メモリ装置１２の不揮発性メモリ１２１を主記憶装置として種々の処理を実行する。また、プロセッサ２１は、不揮発性メモリ１２１に対するメモリ管理機構を実装しており、このメモリ管理機構で用いるページテーブル２１１、変換ルックアサイド・バッファ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）２１２を図示しない記憶媒体に保持している。
【００６３】
なお、ページテーブル２１１及び変換ルックアサイド・バッファ２１２を保持するデバイスは特に問わないものとするが、例えば、プロセッサ２１が記憶媒体を内蔵する場合には、プロセッサ２１内に保持する態様としてもよいし、不揮発性メモリ１２１を用いて保持する態様としてもよい。後者の場合、不揮発性メモリ１２１のうち、電力制御処理の対象とならないメモリ領域に保持することが好ましい。
【００６４】
ここで、メモリ管理機構とは、不揮発性メモリ１２１のメモリ空間の管理と保護を行うための機構であって、例えば、ＡＲＭ  Ｓｙｓｔｅｍ  Ｄｅｖｅｌｏｐｅｒ’ｓ  Ｇｕｉｄｅ（Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ，ＩＳＢＮ  １−５５８６０−８７４−５）の１４章に、ＡＲＭプロセッサについてのメモリ管理機構（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔｓ）が開示されている。なお、メモリ管理機構では、ページテーブル２１１を用いてアドレス変換やアクセス制御を行うことで仮想記憶を実現する。
【００６５】
図９は、ページテーブル２１１と、不揮発性メモリ１２１のメモリ領域との関係を示した図である。図９に示したように、ページテーブル２１１には、アクセス制御情報と、アドレス情報とが関連付けて登録されており、これら情報の組毎にエントリ番号が付与されている。なお、図９では、ページサイズが４ＫＢの例を示している。
【００６６】
ここで、アクセス制御情報には、アクセスが可能か否かを指示するための情報が記録されている。なお、本実施形態では、アクセス制御情報“０”が、アクセス可能であることを示すものとし、アクセス制御情報“１”が、アクセス不可を示すものとする。
【００６７】
プロセッサ２１は、メモリアドレスを指定して不揮発性メモリ１２１（メモリ領域）の読み書きを行う際に、メモリアドレスの上位２０ビットをページ番号として取り出し、このページ番号と同じエントリ番号に関連付けられたエントリ（アクセス制御情報及びアドレス情報）をページテーブル２１１から読み出す。
【００６８】
ここで、読み出したアクセス制御情報が“０”であった場合、プロセッサ２１は、読み出したアドレス情報を上位２０ビットとし、アクセス対象として指定したメモリアドレスを下位１２ビットとした、計３２ビットのアドレスを生成し、このアドレスで不揮発性メモリ１２１にアクセスする。つまり、ページテーブル２１１のアドレス情報には、不揮発性メモリ１２１での各メモリページのアドレス上位２０ビットが夫々記録されている。
【００６９】
一方、読み出したアクセス制御情報が“１”であった場合には、プロセッサ２１は、そのエントリのアドレス情報を参照し、アドレス情報が“０（０００００）”であれば、このアドレス情報に対応するメモリページが不揮発性メモリ１２１上に割り当てられていないと判定する。また、アドレス情報が“０”以外の値である場合、プロセッサ２１は、このアドレス情報に対応するメモリページは不揮発性メモリ１２１上に割り当てられているが、このメモリページを含むメモリ領域が停止モードにあると判定する。
【００７０】
変換ルックアサイド・バッファ２１２は、ページテーブル２１１の一部又は全てのエントリを保持するキャッシュである。上述したアドレス変換の際に、変換ルックアサイド・バッファ２１２が保持するエントリを利用することで、処理の高速化を図ることができる。
【００７１】
本実施形態の構成では、上記したページテーブル２１１のエントリを利用することで、プロセッサ２１によるプログラムの実行を一時停止させる。具体的には、停止モードのメモリ領域に包含されるメモリページを指示するエントリ（アドレス情報）のアクセス制御情報を“１”、即ちアクセス不可としておくことで、プロセッサ２１が停止状態のメモリ領域にアクセスした際に割り込み（ページフォールト）を発生させる。このページフォールト発生時に、電源管理部１２２が不揮発性メモリ１２１への電力制御を行うことで、第１の実施形態と同様の電力制御処理を実行することができる。
【００７２】
以下、図１０を参照して、プロセッサ２１の動作を説明する。図１０は、メモリ装置１２へのアクセス処理の手順を示した図である。まず、プロセッサ２１が、ページテーブル２１１でのアクセス制御情報が“アクセス不可”となっているメモリページや、読み出し専用になっているメモリページにアクセスすると、ページフォールトが発生する（ステップＳ４１）。
【００７３】
続いて、プロセッサ２１は、ページフォールトが発生したメモリページに対応するページテーブル２１１のエントリに基づいて、ステップＳ４１で発生したページフォールトが仮想記憶のためのページフォールトか否かを判定する（ステップＳ４２）。ここで、アクセス制御情報が“１”（アクセス不可）で且つアドレス情報が“０”（０００００）であった場合、プロセッサ２１は、仮想記憶のためのページフォールトと判定する（ステップＳ４２；Ｙｅｓ）。次いで、プロセッサ２１は、図示しない２次記憶(仮想記憶)装置と不揮発性メモリ１２１との間でページのスワッピングを行い（ステップＳ４３）、本処理を終了する。
【００７４】
一方、ステップＳ４２において、アクセス制御情報が“１”で且つアドレス情報が“０”以外と判定した場合（ステップＳ４２；Ｎｏ）、プロセッサ２１は、モード設定レジスタ１２３のレジスタ値を参照し、このアドレス情報で指示されたメモリページを包含するメモリ領域（アクセス対象領域）が停止モードにあるか否かを判定する（ステップＳ４４）。ここで、アクセス対象領域が活動モードにあると判定した場合（ステップＳ４４；Ｎｏ）、ステップＳ４７の処理に直ちに移行する。
【００７５】
一方、ステップＳ４４において、アクセス対象領域が停止モードにあると判定した場合（ステップＳ４４；Ｙｅｓ）、プロセッサ２１は、このアクセス対象領域に対応するモード設定レジスタ１２３のレジスタを“オン”に設定する（ステップＳ４５）。続いて、プロセッサ２１は、アクセス対象メモリ領域が活動状態になるまで所定時間待機した後（ステップＳ４６）、ステップＳ４７の処理に移行する。
【００７６】
続くステップＳ４７において、プロセッサ２１は、ステップＳ４２で判定対象としたアクセス制御情報と同一エントリのアクセス制御情報をアクセス可能“０”に設定する（ステップＳ４７）。次いで、プロセッサ２１は、ステップＳ４７で設定変更したエントリを変換ルックアサイド・バッファ２１２から削除する（ステップＳ４８）。そして、プロセッサ２１は、ステップＳ４１でページフォールトが発生した処理を再開し（ステップＳ４９）、本処理を終了する。
【００７７】
次に、図１１を参照して、メモリ装置１２へのアクセス完了後の処理について説明する。なお、図１１は、プロセッサ２１により実行されるアクセス後処理の手順を示したフローチャートである。
【００７８】
プロセッサ２１は、プログラムの実行完了等により、不揮発性メモリ１２１へのアクセスを完了すると（ステップＳ５１）、ページテーブル２１１を参照し、アクセスを行ったメモリ領域（アクセス済領域）を指す全てのエントリを特定する（ステップＳ５２）。
【００７９】
続いて、プロセッサ２１は、ステップＳ５２で特定した全てのエントリに対して、当該エントリに含まれたアクセス制御情報を“アクセス不可”に設定する（ステップＳ５３）。
【００８０】
次いで、プロセッサ２１は、ステップＳ５２で特定したエントリの何れかに新たなアクセス（ページフォールト）が発生したか否かを判定する（ステップＳ５４）。ここで、プロセッサ２１は、ページフォールトの発生を検出した場合（ステップＳ５４；Ｙｅｓ）、このページフォールトの発生したエントリについて、図１０で説明したアクセス処理を実行する（ステップＳ５５）。
【００８１】
また、ステップＳ５４において、ページフォールトの発生が検出されない場合（ステップＳ５４；Ｎｏ）、プロセッサ２１は、不揮発メモリへのアクセスが完了してから所定時間経過した否かを判定し、経過していないと判定した場合には（ステップＳ５６；Ｎｏ）、ステップＳ５４の処理に再び戻る。
【００８２】
また、ステップＳ５６において、所定時間経過したと判定した場合（ステップＳ５６；Ｙｅｓ）、プロセッサ２１は、ステップＳ５３で“アクセス不可”に設定変更したエントリの情報を変換ルックアサイド・バッファ２１２から削除する（ステップＳ５７）。
【００８３】
プロセッサ２１が上述したライトバック方式のキャッシュメモリを有する場合には、ステップＳ５７の後、プロセッサ２１は、アクセスを行ったメモリ領域に書き戻す必要のあるデータをキャッシュメモリから読み込み、当該メモリ領域に書き戻す（ステップＳ５８）。続いて、プロセッサ２１は、アクセス済領域に対応するモード設定レジスタ１２３を“オフ”に設定し（ステップＳ５９）、本処理を終了する。なお、本実施形態では、“活動モード”から“停止モード”に書き換えを行うアクセス後の処理を、アクセス処理に引き続き行っているが、メモリ領域へのアクセスが完了した時点で処理を終了した後、別のプロセスとしてアクセス後の処理を行ってもよい。
【００８４】
以上のように、第１の実施形態の変形例によれば、プロセッサ２１が搭載するメモリ管理機構を利用して、不揮発性メモリを構成する複数のメモリ領域の単位で電力制御を個別に行うことで、メモリ管理機構を搭載するプロセッサに容易に適用することができるため、より多くの情報処理装置で消費電力の低減を図ることができる。
【００８５】
［第２の実施形態］
上述した第１の実施形態では、不揮発性メモリと電源管理部とを一対一対応とする構成を説明した。以下に説明する第２の実施形態では、一つの不揮発性メモリに対し、複数の電源管理部を備えた構成について説明する。なお、上述した第１の実施形態と同様の構成については、同一の符号を付与し、その説明は省略する。
【００８６】
図１２は、第２の実施形態にかかる情報処理装置３００の構成を示した図である。なお、同図では、一のメモリ装置３１のみを示しているが、プロセッサ１１と、メモリ装置３１との関係は図１で示した構成と同様であるものとする。
【００８７】
図１２に示したように、メモリ装置３１は、不揮発性メモリ３１１と、電源管理部３１２と、モード設定レジスタ３１３とを有している。
【００８８】
不揮発性メモリ３１１は、内部に複数のメモリアレイＭ３１〜Ｍ３８を備えている。ここでメモリアレイは、不揮発性メモリ３１１内部で実際にデータを格納する領域であって、上述したメモリ領域に対応するものである。なお、各メモリアレイの記憶容量は特に問わないものとする。
【００８９】
電源管理部３１２は、メモリアレイ毎に設けられており、各メモリアレイに対応するレジスタ値が、対応する電源管理部３１２の夫々に入力されるようモード設定レジスタ３１３と接続されている。電源管理部３１２は、自己の電源管理部３１２に接続されたモード設定レジスタ３１３のレジスタ値を監視し、このレジスタ値のオン又はオフに応じて、自己の電源管理部３１２に接続されたメモリアレイへの電力供給を制御する。なお、本実施形態では、モード設定レジスタ３１３の各レジスタを１ヶ所に集中させた構成としたが、これに限らず、各レジスタを対応する電源管理部３１２の近傍に分散して配置する構成としてもよい。
【００９０】
プロセッサ１１は、第１の実施形態と同様、不揮発性メモリ３１１（メモリアレイ）へのアクセス時に、このアクセス対象となる不揮発性メモリ３１１のメモリアレイについて、モード設定レジスタ３１３のレジスタ値を“オン”とする。なお、プロセッサ１１のレジスタ設定にかかる動作は、上述した第１の実施形態と同様に行うことができる。
【００９１】
通常、各メモリアレイへのデータの読み書きをするためにプロセッサ１１のバスは不揮発性メモリ３１１に接続されるので、その接続をモード設定レジスタ３１３の設定に利用することができる。なお、電源管理部３１２が実行する電力制御処理の手順は、上述した第１の実施形態にかかる電力制御処理の手順と同様であるため、説明を省略する。
【００９２】
以上のように、第２の実施形態によれば、不揮発性メモリ３１１を構成するメモリアレイ（メモリ領域）の単位で電力制御を行うことで、不揮発性メモリ３１１の消費電力を低減することができるため、不揮発性メモリにかかる電力制御をより効率的に行うことができる。
【００９３】
［第３の実施形態］
次に、電力制御装置の第３の実施形態について説明する。上述した第２の実施形態では、不揮発性メモリを構成するメモリアレイ単位で電力供給を制御する態様を説明した。本実施形態では、このメモリアレイをさらに細分化したメモリ領域（以下、細分メモリ領域という）の単位で電力供給の制御を行う構成について説明する。なお、上述した第１、第２の実施形態と同様の構成については、同一の符号を付与し、その説明は省略する。
【００９４】
図１３は、第３の実施形態にかかる情報処理装置４００の構成を示した図である。なお、同図では、不揮発性メモリ４１１を構成する複数のメモリアレイのうち、一つのメモリアレイＭ４１についてのみ図示しているが、不揮発性メモリ４１１とメモリアレイＭ４１との関係は図１２で示した構成と同様であるものとする。また、プロセッサ４２と、メモリ装置４１との関係は図１で示した構成と同様であるものとする。
【００９５】
図１３に示したように、メモリ装置４１は、不揮発性メモリ４１１（メモリアレイＭ４１）と、デコーダ／ドライバ４１２と、電源管理部４１３と、モード設定レジスタ４１４と、センスアンプ４１５とを有している。
【００９６】
メモリアレイＭ４１は、不揮発性メモリ４１１の構成要素となるメモリ領域であって、図１２で示した不揮発性メモリ３１１のメモリアレイＭ３１〜Ｍ３８に対応する。ここで、メモリアレイＭ４１のメモリ領域は、当該メモリ領域がさらに細分化された細分メモリ領域Ｍ４１１〜Ｍ４１４から構成されている。なお、各細分メモリ領域に記憶容量は特に問わないものとする。
【００９７】
デコーダ／ドライバ４１２は、メモリアレイＭ４１の細分メモリ領域毎に設けられ、自己のデコーダ／ドライバ４１２に対応する細分メモリ領域（アドレス空間）を有効とする信号をメモリアレイＭ４１に送信することで、対応する細分メモリ領域をアクセス可能な活動モードとする。
【００９８】
電源管理部４１３は、デコーダ／ドライバ４１２毎に設けられ、モード設定レジスタ４１４の各レジスタに設定されたレジスタ値（オン又はオフ）に応じて、デコーダ／ドライバ４１２への電力供給を制御する。ここで、モード設定レジスタ４１４は、細分メモリ領域Ｍ４１１〜Ｍ４１４の夫々に対応する複数のレジスタを有しており、これらレジスタのレジスタ値が、各細分メモリ領域に対応する電源管理部４１３に入力されるよう構成されている。
【００９９】
電源管理部４１３は、自己の電源管理部４１３に対応するレジスタ値がオン状態となったことを検出すると、自己の電源管理部４１３に接続されたデコーダ／ドライバ４１２への電力供給を開始することで、デコーダ／ドライバ４１２を動作させる。つまり、電源管理部４１３は、デコーダ／ドライバ４１２を動作させることで、このデコーダ／ドライバ４１２に対応する細分メモリ領域を活動モードとする。
【０１００】
また、電源管理部４１３は、自己の電源管理部４１３に対応するレジスタ値がオフ状態となったことを検出すると、自己の電源管理部４１３に接続されたデコーダ／ドライバ４１２への電力供給を遮断又は低下させることで、デコーダ／ドライバ４１２の動作を停止させる。つまり、電源管理部４１３は、デコーダ／ドライバ４１２の動作を停止させることで、このデコーダ／ドライバ４１２に対応する細分メモリ領域を停止モードとする。
【０１０１】
センスアンプ４１５は、メモリアレイＭ４１のアクセスにかかる電圧を増幅する回路であって、プロセッサ４２はこのセンスアンプ４１５を介して、メモリアレイＭ４１の各細分メモリ領域Ｍ４１１〜Ｍ４１４にアクセスを行う。
【０１０２】
プロセッサ４２は、上述したプロセッサ１１と同様の演算装置であって、不揮発性メモリ４１１を主記憶装置として種々の処理を実行する。また、プロセッサ４２は、アクセス対象となるメモリアレイ及び細分メモリ領域に対応するモード設定レジスタ４１４を“オン”とする。なお、プロセッサ４２のレジスタ設定にかかる動作は、上述した第１の実施形態と同様に行うことができる。
【０１０３】
以下、図１４を参照して、メモリ装置４１の動作について説明する。図１４は、電源管理部４１３により実行される電力制御処理の手順を示したフローチャートである。まず、電源管理部４１３は、モード設定レジスタ４１４の状態を監視し（ステップＳ６１；Ｎｏ）、プロセッサ４２によりモード設定レジスタ４１４が変更されたことを検出すると（ステップＳ６１；Ｙｅｓ）、モード設定レジスタ４１４のレジスタ値を判定する（ステップＳ６２）。
【０１０４】
ここで、電源管理部４１３は、モード設定レジスタ４１４のレジスタ値が“オン”と判定すると（ステップＳ６２；オン）、自己の電源管理部４１３に接続されたデコーダ／ドライバ４１２への電力供給を開始することで、このデコーダ／ドライバ４１２に対応する細分メモリ領域をアクセス可能な状態（活動状態）とし（ステップＳ６３）、本処理を終了する。
【０１０５】
一方、電源管理部４１３は、モード設定レジスタ４１４のレジスタ値が“オフ”と判定すると（ステップＳ６２；Ｎｏ）、自己の電源管理部４１３に接続されたデコーダ／ドライバ４１２への電力供給を停止又は抑制することで、このデコーダ／ドライバ４１２に対応する細分メモリ領域をアクセス不可能な状態（停止状態）とし（ステップＳ６４）、本処理を終了する。
【０１０６】
以上のように、第３の実施形態によれば、不揮発性メモリ４１１を構成するメモリアレイ（メモリ領域）を細分化した細分メモリ領域の単位で電力制御を行うことで、不揮発性メモリの消費電力をさらに低減することができるため、不揮発性メモリにかかる電力制御をより効率的に行うことができる。
【０１０７】
［第４の実施形態］
次に、電力制御装置の第４の実施形態について説明する。本実施形態では、不揮発性メモリを構成するメモリアレイ単位で電力供給を制御するとともに、メモリアレイ単位でアクセス制御を行う構成について説明する。なお、上述した第１〜第３の実施形態と同様の構成については、同一の符号を付与し、その説明は省略する。
【０１０８】
図１５は、第４の実施形態にかかる情報処理装置５００の構成を示した図である。なお、同図では、不揮発性メモリ５１１を構成する複数のメモリアレイのうち、一つのメモリアレイＭ５１についてのみ図示しているが、不揮発性メモリ５１１とメモリアレイＭ５１との関係は図１２で示した構成と同様であるものとする。また、プロセッサ５２と、メモリ装置５１との関係は図１で示した構成と同様であるものとする。
【０１０９】
図１５に示したように、メモリ装置５１は、不揮発性メモリ５１１（メモリアレイＭ５１）と、デコーダ／ドライバ５１２と、書込用ドライバ５１３と、電源管理部５１４と、モード設定レジスタ５１５と、アクセス制御レジスタ５１６と、センスアンプ５１７とを有している。
【０１１０】
メモリアレイＭ５１は、不揮発性メモリ５１１の構成要素となるメモリ領域であって、図１２で示した不揮発性メモリ３１１のメモリアレイＭ３１〜Ｍ３８に対応する。デコーダ／ドライバ５１２は、メモリアレイ毎に設けられ、メモリアレイを有効とする信号をメモリアレイＭ５１に送信することで、このメモリアレイＭ５１をアクセス可能な活動モードとする。
【０１１１】
書込用ドライバ５１３は、メモリアレイＭ５１へのデータの書き込みの際に、書き込みに必要な電流をセンスアンプ５１７に供給するドライバである。電源管理部５１４は、デコーダ／ドライバ５１２と、書込用ドライバ５１３とに接続され、モード設定レジスタ５１５及びアクセス制御レジスタ５１６の各レジスタに設定されたレジスタ値の組み合わせに応じて、デコーダ／ドライバ５１２、書込用ドライバ５１３への電力供給を制御する。
【０１１２】
ここで、モード設定レジスタ５１５は、メモリアレイＭ５１の電力制御にかかる一のレジスタを有し、このレジスタ値（０又は１）が電源管理部５１４に入力されるよう構成されている。なお、モード設定レジスタ５１５のレジスタ値が“０”のときオフ状態（停止モード）を規定するものとし、レジスタ値が“１”のときオン状態（活動モード）を規定するものとする。
【０１１３】
また、アクセス制御レジスタ５１６は、メモリアレイＭ５１の読み出し及び書き込みにかかるアクセス制限を規定するための一のレジスタを有し、このレジスタ値（０又は１）が電源管理部５１４に入力されるよう構成されている。ここで、アクセス制御レジスタ５１６のレジスタ値“０”は、読み出し専用を規定するものとし、レジスタ値“１”は、読み書き可能を規定するものとする。なお、本実施形態では、メモリアレイ毎にアクセス制御レジスタ５１６のレジスタ値は予め定められているものとするが、プロセッサ５２が、アクセス制御レジスタ５１６を設定する態様としてもよい。
【０１１４】
電源管理部５１４は、モード設定レジスタ５１５のレジスタ値が“０”のとき、デコーダ／ドライバ５１２及び書込用ドライバ５１３への電力供給を停止又は抑制することで、デコーダ／ドライバ５１２及び書込用ドライバ５１３を停止状態とする。また、電源管理部５１４は、モード設定レジスタ５１５のレジスタ値が“１”で、且つ、アクセス制御レジスタ５１６のレジスタ値が“０”のとき、デコーダ／ドライバ５１２への電力供給を開始することでデコーダ／ドライバ５１２を活動状態にするとともに、書込用ドライバ５１３への電力供給を停止又は抑制することで書込用ドライバ５１３を停止状態とする。さらに、電源管理部５１４は、モード設定レジスタ５１５のレジスタ値が“１”で、且つ、アクセス制御レジスタ５１６のレジスタ値が“１”のとき、デコーダ／ドライバ５１２及び書込用ドライバ５１３への電力供給を開始することでデコーダ／ドライバ５１２及び書込用ドライバ５１３を活動状態とする。
【０１１５】
センスアンプ５１７は、メモリアレイＭ５１とのアクセスにかかる電圧を増幅する回路である。プロセッサ５２はこのセンスアンプ５１７を介してメモリアレイＭ５１にアクセスを行う。
【０１１６】
プロセッサ５２は、不揮発性メモリ５１１を主記憶装置として種々の処理を実行する。ここで、プロセッサ５２は、不揮発性メモリ５１１にアクセスする際に、アクセス対象となるメモリ領域を不揮発性メモリ５１１のメモリアレイ単位でセンスアンプ５１７に指定する。また、プロセッサ５２は、アクセス対象となるメモリアレイのモード設定レジスタ５１５を“オン”とする。なお、プロセッサ５２のレジスタ設定にかかる動作は、上述した第１の実施形態と同様に行うことができる。
【０１１７】
以下、図１６を参照して、メモリ装置５１の動作について説明する。図１６は、電源管理部５１４により実行される電力制御処理の手順を示したフローチャートである。まず、電源管理部５１４は、モード設定レジスタ５１５の状態を監視し（ステップＳ７１；Ｎｏ）、プロセッサ５２によりモード設定レジスタ５１５が変更されたことを検出すると（ステップＳ７１；Ｙｅｓ）、モード設定レジスタ５１５のレジスタ値を判定する（ステップＳ７２）。
【０１１８】
ここで、モード設定レジスタ５１５のレジスタ値が“オフ”と判定した場合（ステップＳ７２；オフ）、電源管理部５１４は、自己の電源管理部５１４に接続されたデコーダ／ドライバ５１２及び書込用ドライバ５１３への電力供給を停止又は抑制することで、このデコーダ／ドライバ５１２及び書込用ドライバ５１３を停止し（ステップＳ７３）、本処理を終了する。
【０１１９】
一方、ステップＳ７２において、モード設定レジスタ５１５のレジスタ値が“オン”と判定した場合（ステップＳ７２；オン）、電源管理部５１４は、アクセス制御レジスタ５１６のレジスタ値が“読み出し専用”又は“読み書き可能”を示すものかを判定する（ステップＳ７４）。
【０１２０】
ステップＳ７４において、アクセス制御レジスタ５１６のレジスタ値が“読み出し専用”を示すと判定した場合（ステップＳ７４；読出専用）、電源管理部５１４は、自己の電源管理部５１４に接続されたデコーダ／ドライバ５１２への電力供給を開始するとともに、書込用ドライバ５１３への電力供給を停止又は抑制し（ステップＳ７５）、本処理を終了する。
【０１２１】
一方、ステップＳ７４において、アクセス制御レジスタ５１６のレジスタ値が“読み書き可能”を示すと判定した場合（ステップＳ７４；読書可能）、電源管理部５１４は、自己の電源管理部５１４に接続されたデコーダ／ドライバ５１２及び書込用ドライバ５１３への電力供給を開始し（ステップＳ７６）、本処理を終了する。
【０１２２】
以上のように、不揮発性メモリを構成する複数のメモリ領域の単位で電力制御を個別に行うとともに、各メモリ領域に設定されたアクセス制限に基づいてアクセスにかかるデバイスの電力制御を行うことで、不揮発性メモリにかかる電力制御をより効率的に行うことができるとともに、情報処理装置全体の消費電力も低減することができる。
【０１２３】
なお、本実施形態では、メモリアレイＭ５１を読み出し専用とするため、書込用ドライバ５１３への電力供給を遮断又は低下させる態様としたが、この態様に限らないものとする。例えば、プロセッサ５２から送信される書き込み要求信号を無視するように回路を構成することで、メモリアレイＭ５１を読み出し専用とする態様としてもよい。
【０１２４】
以上、発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加などが可能である。
【０１２５】
例えば、上記実施形態では、メモリ装置を主記憶装置として用いた例について説明したが、これに限らず、メモリ装置を文書や画像等のファイルを記憶する補助記憶装置として用いた場合にも同様に適用することができる。この場合、ファイルを記憶する専用のメモリ領域を設け、通常はそのメモリ領域を停止モードとしておき、ファイルの操作が必要なときのみ、そのメモリ領域を活動モードとすることが好ましい。これにより、補助記憶装置の消費電力を低減することができ、プログラムの異常等による予期せぬ動作によりファイルが破壊されてしまうことを防止することが可能となる。
【０１２６】
また、第４の実施形態で説明したように、メモリ領域毎にアクセス制限を設定できるよう構成することとしてもよい。この場合、ファイルを記憶するメモリ領域を通常は読み出し専用としておき、当該メモリ領域への書き込みが必要な場合にのみ読み書き可能にアクセス制限を変更し、処理の終了に伴い読み出し専用に戻すことが好ましい。これにより、プログラムの異常等による予期せぬ動作により、メモリ領域に記憶されたファイルが破壊されてしまうことを防止することができる。
【図面の簡単な説明】
【０１２７】
【図１】第１の実施形態にかかる情報処理装置の構成を示した図である。
【図２】図１に示したメモリ装置と、プロセッサとの関係を示した図である。
【図３】図２に示した不揮発性メモリのメモリ領域と、モード設定レジスタとの関係を示した図である。
【図４】図２に示したアクセス管理テーブルの一例を示した図である。
【図５】第１の実施形態にかかるアクセス処理の手順を示したフローチャートである。
【図６】第１の実施形態にかかるアクセス後処理の手順を示したフローチャートである。
【図７】第１の実施形態にかかる電力制御処理の手順を示したフローチャートである。
【図８】第１の実施形態の変形例にかかる情報処理装置の構成を示した図である。
【図９】図８に示したページテーブルと、不揮発性メモリのメモリ領域との関係を示した図である。
【図１０】第１の実施形態の変形例にかかるアクセス処理の手順を示したフローチャートである。
【図１１】第１の実施形態の変形例にかかるアクセス後処理の手順を示したフローチャートである。
【図１２】第２の実施形態にかかる情報処理装置の構成を示した図である。
【図１３】第３の実施形態にかかる情報処理装置の構成を示した図である。
【図１４】第３の実施形態にかかる電力制御処理の手順を示したフローチャートである。
【図１５】第４の実施形態にかかる情報処理装置の構成を示した図である。
【図１６】第４の実施形態にかかる電力制御処理の手順を示したフローチャートである。
【符号の説明】
【０１２８】
１００  情報処理装置
１１    プロセッサ
１１１  アクセス管理テーブル
１２    メモリ装置
１２１  不揮発性メモリ
１２２  電源管理部
１２３  モード設定レジスタ
２００  情報処理装置
２１    プロセッサ
２１１  ページテーブル
２１２  変換ルックアサイド・バッファ
３００  情報処理装置
３１    メモリ装置
３１１  不揮発性メモリ
３１２  電源管理部
３１３  モード設定レジスタ
４００  情報処理装置
４１    メモリ装置
４１１  不揮発性メモリ
４１２  デコーダ／ドライバ
４１３  電源管理部
４１４  モード設定レジスタ
４１５  センスアンプ
４２    プロセッサ
５００  情報処理装置
５１    メモリ装置
５１１  不揮発性メモリ
５１２  デコーダ／ドライバ
５１３  書込用ドライバ
５１４  電源管理部
５１５  モード設定レジスタ
５１６  アクセス制御レジスタ
５１７  センスアンプ
５２    プロセッサ
【図１】
2009211153.tif 000003
【図２】
2009211153.tif 000004
【図３】
2009211153.tif 000005
【図４】
2009211153.tif 000006
【図５】
2009211153.tif 000007
【図６】
2009211153.tif 000008
【図７】
2009211153.tif 000009
【図８】
2009211153.tif 000010
【図９】
2009211153.tif 000011
【図１０】
2009211153.tif 000012
【図１１】
2009211153.tif 000013
【図１２】
2009211153.tif 000014
【図１３】
2009211153.tif 000015
【図１４】
2009211153.tif 000016
【図１５】
2009211153.tif 000017
【図１６】
2009211153.tif 000018