(57)【要約】【課題】  不揮発性メモリを備える情報処理装置において、電力制御のためのメモリ管理を適切に行うこと。【解決手段】  情報処理装置１は、不揮発性メモリ４０の記憶領域に確保されるメモリブロックそれぞれに固有のメモリブロック名を付し、そのメモリブロック名によってメモリブロックを識別するメモリ管理テーブルを用いて、不揮発性メモリ４０のメモリ管理を行う。そして、電源の再投入時には、アプリケーションがメモリブロック名を指定することにより、不揮発性メモリ４０においてメモリブロック名が検索され、そのメモリブロック名に対応するメモリブロックのデータにアクセスされる。したがって、不揮発性メモリを備える情報処理装置において、電力制御のためのメモリ管理を適切に行うことが可能となる。【選択図】  図３
2006023919.tif 000002
【特許請求の範囲】
【請求項１】
装置内部における電力の供給を自律的に制御する情報処理装置であって、
記憶している情報を不揮発的に保持する不揮発性メモリと、
前記不揮発性メモリの記憶領域におけるメモリブロックに固有のメモリブロック名を付して、該メモリブロック名によって前記メモリブロックを識別するためのメモリ管理情報を生成し、該メモリ管理情報を前記不揮発性メモリに記憶する不揮発性メモリ管理手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
前記不揮発性メモリ管理手段は、装置に対する電力の供給停止後、電力の供給が再開された場合、前記メモリブロック名を基に前記不揮発性メモリにおける記憶領域を検索し、該メモリブロック名に対応する前記メモリブロックに記憶された情報にアクセスすることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記不揮発性メモリ管理手段は、前記メモリブロックが不要となった場合、該メモリブロックのメモリブロック名を基に前記不揮発性メモリにおける記憶領域を検索し、該メモリブロックを解放することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記不揮発性メモリより高速に読み出しあるいは書き込みが可能な揮発性メモリと、
前記不揮発性メモリの記憶領域に記憶された情報を該揮発性メモリに記憶させ、前記不揮発性メモリに代えて、該揮発性メモリに記憶された情報にアクセスする間接アクセス手段と、
をさらに含むことを特徴とする請求項１から３のいずれか1項に記載の情報処理装置。
【請求項５】
前記不揮発性メモリ管理手段は、前記メモリブロック名に対応するメモリブロックにアクセスの必要が生じた場合に、前記メモリ管理情報を基に、該メモリブロックに記憶された情報に直接アクセスすることを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項６】
前記不揮発性メモリ管理手段は、前記メモリブロック名として、任意の文字列からなる名称を付すことを特徴とする請求項１から５のいずれか1項に記載の情報処理装置。
【請求項７】
前記不揮発性メモリ管理手段は、前記メモリブロック名として、自装置においてデータを取り扱う際のデータ幅に対応するサイズの名称を付すことを特徴とする請求項１から５のいずれか1項に記載の情報処理装置。
【請求項８】
前記不揮発性メモリ管理手段は、前記メモリブロック名として、自装置においてデータを取り扱う際のデータ幅を“８”で除した個数の文字からなる名称を付すことを特徴とする請求項７記載の情報処理装置。
【請求項９】
前記不揮発性メモリとデータ線によって接続された所定のプロセッサを含み、
前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記データ線のデータ幅に合わせたサイズの名称を付すことを特徴とする請求項７記載の情報処理装置。
【請求項１０】
演算対象となる情報を記憶するためのレジスタを備える所定のプロセッサを含み、
前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記レジスタのデータ幅に合わせたサイズの名称を付すことを特徴とする請求項７記載の情報処理装置。
【請求項１１】
演算対象となる情報に対して論理演算を行うためのＡＬＵを備える所定のプロセッサを含み、
前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記ＡＬＵの入力データ幅に合わせたサイズの名称を付すことを特徴とする請求項７記載の情報処理装置。
【請求項１２】
装置内部における電力の供給を自律的に制御する情報処理装置を制御するメモリ管理プログラムであって、
前記情報処理装置に備えられた、記憶している情報を不揮発的に保持する不揮発性メモリの記憶領域におけるメモリブロックに固有のメモリブロック名を付して、該メモリブロック名によって前記メモリブロックを識別するためのメモリ管理情報を生成し、該メモリ管理情報を前記不揮発性メモリに記憶する不揮発性メモリ管理機能を前記情報処理装置に実現させることを特徴とするメモリ管理プログラム。
【請求項１３】
装置内部における電力の供給を自律的に制御する情報処理装置におけるメモリ管理方法であって、
前記情報処理装置に備えられた、記憶している情報を不揮発的に保持する不揮発性メモリの記憶領域におけるメモリブロックに固有のメモリブロック名を付して、該メモリブロック名によって前記メモリブロックを識別するためのメモリ管理情報を生成し、該メモリ管理情報を前記不揮発性メモリに記憶する不揮発性メモリ管理ステップを含むことを特徴とするメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置内部における電力の供給を自律的に制御可能な情報処理装置、そのメモリ管理プログラムおよびメモリ管理方法に関する。
【背景技術】
【０００２】
近年、コンピュータシステム技術の分野においては、処理を行っていない場合に装置内部における電力の供給を停止し、装置に対する入力操作が行われた場合等、処理の必要が生じた場合に、瞬時に電力の供給を再開して処理を行うことにより、待機時における消費電力を削減する電力制御技術が開発されている。
また、近年、ＦｅＲＡＭ（Ferroelectric Random Access Memory）やＭＲＡＭ（Magnetoresistive Random Access Memory）といった不揮発性のメモリが開発されている。このような不揮発性のメモリは、情報の記憶を維持するための電力が不要であるため、例えば上述のような電力制御が行われ、メモリに対する電力の供給が停止された場合にも、電力の供給が停止される以前に記憶していた情報がメモリ上に保持されることとなる。
【０００３】
そして、このような不揮発性メモリは、高速にアクセスすることが可能であることから、コンピュータシステムにおける汎用のメモリとして利用することが期待されている。
ところで、従来のソフトウェア技術においては、上述の電力制御技術のように、コンピュータの電源が一度停止された後、処理が再開されることは原則として想定されておらず、コンピュータの再起動を行う際にはオペレーティングシステムソフトウェア（ＯＳ）がシステムの初期化を伴う起動（いわゆるコールドスタート）を行うのが一般的である。
【０００４】
なお、コンピュータシステムの電力制御に関しては、例えば特開平９−１１４５５７号公報に、サスペンドあるいはレジュームといった技術が開示されている。
【特許文献１】特開平９−１１４５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のコンピュータシステムにおいては、メモリの管理を行う場合、メモリ上における使用領域の先頭アドレスを管理しておき、メモリの確保や解放を行う際には、その領域の先頭アドレスを指定する手法が用いられている。
したがって、ＦｅＲＡＭやＭＲＡＭといった不揮発性のメモリが用いられた場合であっても、上述のように電力の供給が停止され、処理の必要に応じて電力の供給を再開した場合には、ＯＳがコールドスタートを行うことによりメモリアドレスの管理情報が失われ、メモリ上に記憶されている情報にアクセスできなくなるという問題があった。
【０００６】
なお、ＯＳがサスペンドやレジュームといった処理を行った場合には、メモリアドレスの管理情報がハードディスク等の記憶装置に記憶され、コンピュータの電源を再投入した際にもメモリ上の情報にアクセスすることが可能である。
しかし、従来のサスペンドやレジュームといった処理は、不揮発性のメモリを用いることを想定した処理とはなっていない。また、その実行に際して多くの情報をメモリやハードディスク等に退避させる必要がある上、コンピュータの電源を再投入した際に、確実に元の状態に戻らない場合があるという問題があった。
【０００７】
本発明の課題は、不揮発性メモリを備える情報処理装置において、電力制御のためのメモリ管理を適切に行うことである。
【課題を解決するための手段】
【０００８】
以上の課題を解決するため、本発明は、
装置内部における電力の供給を自律的に制御する情報処理装置であって、記憶している情報を不揮発的に保持する不揮発性メモリ（例えば、図１の揮発性メモリ３０）と、前記不揮発性メモリの記憶領域におけるメモリブロック（例えば、図３のメモリブロックＭＢ１〜３）に固有のメモリブロック名を付して、該メモリブロック名によって前記メモリブロックを識別するためのメモリ管理情報（例えば、図３のメモリ管理テーブル）を生成し、該メモリ管理情報を前記不揮発性メモリに記憶する不揮発性メモリ管理手段（例えば、図３の不揮発性メモリ管理モジュールを構成するＣＰＵ５０）とを含むことを特徴としている。
【０００９】
これにより、不揮発性のメモリを備え、電力制御によって再起動を繰り返す情報処理装置において、電源の再投入時に不揮発性メモリに保持されているデータを利用することが可能となる。
即ち、不揮発性メモリを備える情報処理装置において、電力制御のためのメモリ管理を適切に行うことが可能となる。
【００１０】
また、前記不揮発性メモリ管理手段は、装置に対する電力の供給停止後、電力の供給が再開された場合、前記メモリブロック名を基に前記不揮発性メモリにおける記憶領域を検索し、該メモリブロック名に対応する前記メモリブロックに記憶された情報にアクセスすることを特徴としている。
これにより、電源が再投入された場合に、速やかに不揮発性メモリのメモリ管理情報が参照され、不揮発性メモリに保持されている情報を利用することが可能となる。
【００１１】
また、前記不揮発性メモリ管理手段は、前記メモリブロックが不要となった場合、該メモリブロックのメモリブロック名を基に前記不揮発性メモリにおける記憶領域を検索し、該メモリブロックを解放することを特徴としている。
これにより、不揮発性メモリにおけるメモリブロックの解放もメモリブロック名を指定して行うことができ、記憶領域を有効に利用することが可能となる。
【００１２】
また、前記不揮発性メモリより高速に読み出しあるいは書き込みが可能な揮発性メモリ（例えば、図１の揮発性メモリ３０）と、前記不揮発性メモリの記憶領域に記憶された情報を該揮発性メモリに記憶させ、前記不揮発性メモリに代えて、該揮発性メモリに記憶された情報にアクセスする間接アクセス手段（例えば、図１のＣＰＵ５０）とをさらに含むことを特徴としている。
【００１３】
これにより、不揮発性メモリに記憶された情報を、高速に読み出しおよび書き込みができる揮発性メモリを介して利用することができる。
また、前記不揮発性メモリ管理手段は、前記メモリブロック名に対応するメモリブロックにアクセスの必要が生じた場合に、前記メモリ管理情報を基に、該メモリブロックに記憶された情報に直接アクセスすることを特徴としている。
【００１４】
これにより、不揮発性メモリ上の情報に対して直接読み出し、書き込みができるため、他のメモリの記憶領域を占有することなく、記憶領域全体を効率的に利用することができる。
また、前記不揮発性メモリ管理手段は、前記メモリブロック名として、任意の文字列からなる名称を付すことを特徴としている。
【００１５】
これにより、ユーザあるいはアプリケーションにとって認識が容易な名称を付すことが可能となる。
また、前記不揮発性メモリ管理手段は、前記メモリブロック名として、自装置においてデータを取り扱う際のデータ幅に対応するサイズの名称を付すことを特徴としている。
これにより、ハードウェアに適合するメモリブロック名を付すことができ、処理の高速化を図ることが可能となる。
【００１６】
また、前記不揮発性メモリ管理手段は、前記メモリブロック名として、自装置においてデータを取り扱う際のデータ幅を“８”で除した個数の文字からなる名称を付すことを特徴としている。
これにより、自装置においてデータを取り扱う際のデータ幅に収まるデータブロック名を付すことができ、処理の高速化を図ることが可能となる。
【００１７】
また、前記不揮発性メモリとデータ線によって接続された所定のプロセッサ（例えば、図１のＣＰＵ５０）を含み、前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記データ線のデータ幅に合わせたサイズの名称を付すことを特徴としている。
これにより、プロセッサと不揮発性メモリとの間で、メモリブロック名を１クロックで伝送することが可能となる。
【００１８】
また、演算対象となる情報を記憶するためのレジスタを備える所定のプロセッサを含み、前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記レジスタのデータ幅に合わせたサイズの名称を付すことを特徴としている。
これにより、プロセッサ内部において、レジスタにメモリブロック名を書き込んだり、読み出したりする処理を一度に行うことが可能となる。
【００１９】
また、演算対象となる情報に対して論理演算を行うためのＡＬＵを備える所定のプロセッサ（例えば、図１のＣＰＵ５０）を含み、前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記ＡＬＵの入力データ幅に合わせたサイズの名称を付すことを特徴としている。
これにより、ＡＬＵにおいてメモリブロック名を比較する処理を一度に行うことができ、不揮発性メモリにおいてメモリブロックを検索する処理を高速に行うことが可能となる。
【００２０】
また、本発明は、
装置内部における電力の供給を自律的に制御する情報処理装置を制御するメモリ管理プログラムであって、前記情報処理装置に備えられた、記憶している情報を不揮発的に保持する不揮発性メモリの記憶領域におけるメモリブロックに固有のメモリブロック名を付して、該メモリブロック名によって前記メモリブロックを識別するためのメモリ管理情報を生成し、該メモリ管理情報を前記不揮発性メモリに記憶する不揮発性メモリ管理機能を前記情報処理装置に実現させることを特徴としている。
【００２１】
また、本発明は、
装置内部における電力の供給を自律的に制御する情報処理装置におけるメモリ管理方法であって、前記情報処理装置に備えられた、記憶している情報を不揮発的に保持する不揮発性メモリの記憶領域におけるメモリブロックに固有のメモリブロック名を付して、該メモリブロック名によって前記メモリブロックを識別するためのメモリ管理情報を生成し、該メモリ管理情報を前記不揮発性メモリに記憶する不揮発性メモリ管理ステップを含むことを特徴としている。
【００２２】
このように、本発明によれば、不揮発性メモリを備える情報処理装置において、電力制御のためのメモリ管理を適切に行うことが可能となり、情報処理装置の消費電力を大幅に削減することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図を参照して本発明に係る情報処理装置の実施の形態を説明する。
まず、構成を説明する。
図１は、本発明に係る情報処理装置１の機能構成を示すブロック図である。
なお、ここでは、情報処理装置１を用いて電子ブックのコンテンツを閲覧する場合の例について説明する。
【００２４】
図１において、情報処理装置１は、Ｉ／Ｏ（Input/Output）部１０と、ＲＯＭ（Read Only Memory）２０と、揮発性メモリ３０と、不揮発性メモリ４０と、ＣＰＵ（Central Processing Unit）５０と、グラフィックアクセラレータ（以下、「ＧＡ」と言う。）６０と、ディスプレイコントローラ７０と、ディスプレイ８０と、電力制御部９０と、バッテリ１００とを含んで構成される。
【００２５】
Ｉ／Ｏ部１０は、情報処理装置１が各種装置と信号を入出力するためのポートであり、Ｉ／Ｏ部１０を介して、キーボード、タッチパネル、マウスあるいは本体に備えられた操作ボタン等の入力装置、スピーカおよびマイク等の音声の入出力装置、ネットワークインターフェースあるいはメモリカードインターフェース等の各種インターフェース（以下、インターフェースを「Ｉ／Ｆ」と記す。）、タイマー等の各種周辺回路と信号の入出力が行われる。
【００２６】
なお、本実施の形態において、電子ブックのコンテンツはメモリカードに記憶されて提供され、そのメモリカードがメモリカードＩ／Ｆに挿入されることで、Ｉ／Ｏ部１０を介してコンテンツが閲覧されるものとする。
ＲＯＭ２０は、例えばフラッシュＲＯＭ等の不揮発性のメモリによって構成され、ＲＯＭ２０には、オペレーティングシステムプログラム（ＯＳ）、アプリケーションプログラム、メモリブロック名（後述）が記憶されている。
【００２７】
また、ＲＯＭ２０に記憶されているシステムプログラムは、不揮発性メモリ４０の記憶領域を管理する不揮発性メモリ管理モジュールを含んでいる。
不揮発性メモリ管理モジュールは、不揮発性メモリ４０のメモリ管理を行うＡＰＩ（Application Program Interface）である。そして、不揮発性メモリ管理モジュールは、図２に示すＡＰＩの関数を含んで構成される。
【００２８】
図２は、不揮発性メモリ管理モジュールを構成するＡＰＩを具体的に示す図である。
図２において、“NVAllocateNamedMemory”は、情報処理装置１が処理を行う上で不揮発性メモリ４０にデータを記憶させる必要が生じた場合に、そのデータを記憶するための領域を、引数として指定された固有の名称（メモリブロック名）を付与して確保する関数である。
【００２９】
また、“NVGetNamedMemoryAddress”は、引数として指定されたメモリブロック名の領域を不揮発性メモリ４０から検索する関数である。
さらに、“NVFreeNamedMemory”は、引数として指定されたメモリブロック名の領域を解放する関数である。
ここで、メモリブロック名については、任意の文字列とすることが可能である他、不揮発性メモリ４０の記憶領域からメモリブロックを検索する処理が、より高速化されるようなサイズの名称を付与することが可能である。
【００３０】
例えば、メモリブロック名をＣＰＵ５０のデータ幅に合わせたサイズとすることが考えられ、この場合、メモリブロック名を、ＣＰＵ５０と不揮発性メモリ４０とを接続するデータ線（データバス）のデータ幅、ＣＰＵ５０内部に備えられているＡＬＵ（Arithmetic Logical Unit）の入力データ幅、あるいは、ＣＰＵ５０内部に備えられているレジスタファイルのレジスタのデータ幅等に合わせたサイズとすることが可能である。
【００３１】
このように、メモリブロック名をＣＰＵ５０における各種データ幅に合わせたサイズとすることにより、メモリブロック名を示すコードを、１回の処理で伝送したり比較したりすることができる。
即ち、メモリブロック名のサイズを、ＣＰＵ５０と不揮発性メモリ４０とを接続するデータ線のデータ幅に合わせることにより、不揮発性メモリ４０とＣＰＵ５０とを接続するデータ線上においてメモリブロック名を１クロックで伝送することができる。また、メモリブロック名のサイズを、ＣＰＵ５０内部に備えられているＡＬＵの入力データ幅と合わせることにより、キーとなるメモリブロック名と、不揮発性メモリ４０上の各メモリブロック名とをＡＬＵによって比較する処理を一度に行うことができる。さらに、メモリブロック名のサイズを、ＣＰＵ５０内部に備えられているレジスタファイルのレジスタのデータ幅と合わせることにより、レジスタファイルにメモリブロック名を書き込んだり、読み出したりする処理を一度に行うことができる。
【００３２】
したがって、キーとなるメモリブロック名のメモリブロックを不揮発性メモリ４０の記憶領域から検索する処理が高速なものとなる。
図１に戻り、揮発性メモリ３０は、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）あるいはＳＤＲＡＭ（Synchronous DRAM）といった揮発性のメモリによって構成され、ＣＰＵ５０が処理を実行する際にワークエリアを形成すると共に、その処理結果を記憶する。
【００３３】
また、揮発性メモリ３０に、不揮発性メモリ４０における各メモリブロックの先頭アドレスを記憶しておくことも可能である。
不揮発性メモリ４０は、ＦＲＡＭ（Ferroelectric RandomAccess Memory）あるいはＭＲＡＭ（Magnetoresistive Random Access Memory）等の不揮発性のメモリによって構成され、例えば電子ブックのコンテンツが閲覧されている場合であれば、閲覧中のページ番号といったように、情報処理装置１の電源が切断された場合にも保存しておく必要のあるデータが記憶される。
【００３４】
なお、不揮発性メモリ４０は、上述のように、電源によるバックアップが不要な不揮発性メモリで構成することが可能である他、ＳＲＡＭ等、揮発性のメモリを専用の電源でバックアップすることにより、擬似的な不揮発性メモリとする構成も採用可能である。
ここで、不揮発性メモリ４０によって構成されるメモリ空間のメモリマップについて説明する。
【００３５】
図３は、情報処理装置１が有するメモリ空間のメモリマップを示す図である。
図３において、情報処理装置１が有するメモリ空間は、ＲＯＭ２０の記憶領域であるＲＯＭ領域と、揮発性メモリ３０の記憶領域である揮発性メモリ領域およびＩ／Ｏ領域と、不揮発性メモリ４０の記憶領域である不揮発性メモリ領域とによって構成されている。
さらに、不揮発性メモリ領域は、メモリ管理テーブル領域と、メモリブロックＭＢ１〜ＭＢ３と、空き領域とによって構成されている。
【００３６】
メモリ管理テーブル領域は、メモリブロックの名称（メモリブロック名）と、そのメモリブロック名に対応する記憶領域のアドレスとを対応付けるためのテーブル形式のデータ（メモリ管理テーブル）を記憶するための領域である。
メモリ管理テーブルは、不揮発性メモリ４０におけるメモリアドレスの管理情報である。したがって、このメモリ管理テーブルが不揮発性メモリ領域に記憶されていることにより、情報処理装置１の電源が切断された場合にも、電源の再投入時に、不揮発性メモリ領域の各メモリブロックに記憶されているデータを利用することが可能となる。
【００３７】
なお、メモリ管理テーブルは、メモリブロックの個数、メモリブロック名、メモリブロックのサイズ（メモリブロックのアドレスを把握するためのデータ）によって構成される。ただし、本実施の形態においては、メモリ管理テーブル領域には、不揮発性メモリ４０に確保されている全メモリブロックの個数のみが格納され、他のメモリ管理情報については、各メモリブロックに含まれるものとして説明する。この場合においても、メモリブロックの個数、メモリブロック名、メモリブロックのサイズ（メモリブロックのアドレスを特定するためのデータ）が実質的にメモリ管理情報を構成するものである。
【００３８】
メモリブロックＭＢ１〜ＭＢ３は、不揮発性メモリ管理モジュールによって確保される領域であり、電源が切断された場合にも保持しておくことが必要な各種データが記憶される。なお、ここでは３つのメモリブロックＭＢ１〜ＭＢ３が確保されている状態を例として図示しているが、情報処理装置１における処理に応じて、必要な数およびサイズのメモリブロックが確保される。
【００３９】
そして、メモリブロックＭＢ１〜ＭＢ３に記憶されたデータが不要となった場合、不揮発性メモリ管理モジュールによって、不要なデータを記憶しているメモリブロックは解放され、空き領域とされる。
空き領域は、不揮発性メモリ４０における未使用領域であり、この空き領域から不揮発性メモリ管理モジュールがメモリブロックを確保する。
【００４０】
図１に戻り、ＣＰＵ５０は、情報処理装置１全体を制御するもので、Ｉ／Ｏ部１０を介して入力される各種の指示信号に従って、ＲＯＭ２０に記憶されたオペレーティングシステムプログラムあるいはアプリケーションプログラムを読み出して実行する。ＣＰＵ５０がオペレーティングシステムプログラムを実行することにより、上述の不揮発性メモリ管理モジュールの機能が実現される。そして、ＣＰＵ５０は、各種処理結果を揮発性メモリ３０あるいは不揮発性メモリ４０の所定領域に格納する。
【００４１】
さらに、ＣＰＵ５０は、情報処理装置１に対する入力操作が行われた場合等、動作の必要が生じた場合にのみ電源を投入して処理を行い、動作が不要な場合には、電源を切断した状態とするように電力制御部９０を介して電力制御を行う。そのため、ＣＰＵ５０は、メモリ管理テーブル等のＯＳが必要とする情報や、閲覧中の電子ブックのページ番号等のアプリケーションが必要とする情報のように、電力が切断された場合にも保持しておくことが必要なデータを不揮発性メモリ４０に記憶する。
【００４２】
ＧＡ６０は、ＣＰＵ５０の命令に従って、ディスプレイ８０に表示する画像の描画処理を高速に行うハードウェアである。具体的には、ＧＡ６０は、ＣＰＵ５０から入力されたベクトル図形をラスタ図形に展開するといった処理を行う。そして、ＧＡ６０は、描画処理を行った図形をディスプレイ８０に描画するための描画データをディスプレイコントローラ７０に出力する。
【００４３】
ディスプレイコントローラ７０は、ディスプレイ８０を直接制御し、ＧＡ６０から入力された描画データをディスプレイ８０に表示させる。
具体的には、ディスプレイコントローラ７０は、ＧＡ６０から入力された描画データを参照して、ディスプレイ８０のＸドライバおよびＹドライバを駆動することにより、描画対象であるラスタ図形をディスプレイ８０に表示させる。
【００４４】
ディスプレイ８０は、例えばＡ４サイズの高画素密度（多ピクセル）である表示装置によって構成され、ディスプレイコントローラ７０の制御に応じて、所定画素に画素データを表示する。
また、ディスプレイ８０は、記憶性の表示装置（電源を切断しても表示画面が維持される表示装置）である。そのため、表示画面の状態を維持するためには電力が不要となることから、情報処理装置１をより低消費電力化することができる。
【００４５】
なお、ディスプレイ８０として、例えば、電気泳動ディスプレイ、コレステリック液晶ディスプレイ、帯電トナーを利用したディスプレイ、ツイストボールを利用したディスプレイあるいはエレクトロデポジションディスプレイ等が採用可能である。
電力制御部９０は、ＣＰＵ５０の指示に従って、情報処理装置１の各部に対するバッテリ１００からの電力の供給を制御する。
【００４６】
バッテリ１００は、電力制御部９０を介して情報処理装置１に電力を供給する一次電池あるいは二次電池である。
次に、動作を説明する。
本実施の形態における情報処理装置１は、上述の構成の下、入力操作が行われた場合等、動作が必要な場合にのみ電源が投入され、必要な動作が終了すると、再び電源が切断された状態となる。また、このとき、閲覧中の電子ブックコンテンツのページ番号やメモリ管理テーブル等、電源が切断された場合にも保持が必要なデータは、不揮発性メモリ４０に記憶され、電源が再投入された場合に、不揮発性メモリ４０に記憶されているデータが利用可能な状態となっている。
【００４７】
以下、電池交換等の後にユーザが電源を初期投入し、電子ブックのコンテンツを読みつつ１ページめくった後、２ページ目を読み終えた時点で、そのコンテンツの閲覧を終了する場合を想定し、この場合における情報処理装置１の具体的動作例を説明する。
図４は、情報処理装置１の具体的動作例を示すフローチャートであり、図５は、このときの不揮発性メモリ４０におけるメモリマップの遷移を示す図である。なお、図５（ａ）は、図４に示すフローチャートが実行される際の初期状態を示すメモリマップであり、他のアプリケーションによって使用される２つのメモリブロック“ＵＳＥＲ”，“ＡＬＲＭ”が確保されている。
【００４８】
図４において、電池交換後（あるいは工場出荷後等）に、ユーザによって情報処理装置１の電源が初期投入されると、ＣＰＵ５０は、“ＰＧＮＯ”なるメモリブロック名を引数として関数“NVAllocateNamedMemory”を実行し、図５（ｂ）に示すように、４バイト分のメモリブロックを不揮発性メモリ４０の記憶領域に確保する（ステップＳ１）。この“ＰＧＮＯ”は、電子ブックの閲覧ソフトウェアが閲覧中のページを管理するために専用に用いるメモリブロック名である。
【００４９】
続いて、ＣＰＵ５０は、確保したメモリブロックの実データとして、ページ番号“１”（第１ページ目）を設定し（ステップＳ２）、第１ページ目のコンテンツをメモリカードから読み出してディスプレイ８０に表示する（ステップＳ３）。
すると、ＣＰＵ５０は、バッテリ１００から情報処理装置１に対する電力の供給を停止する（ステップＳ４）。即ち、情報処理装置１は、ディスプレイ８０に画面が表示されたまま電源が切断された状態となり、電力を消費しない状態となる。
【００５０】
その後、ユーザによってボタンが操作され、ページをめくる指示入力が行われると、このボタン操作が電源投入のトリガとなり、情報処理装置１に電力の供給が再開され（ステップＳ５）、ＣＰＵ５０は、メモリブロック名“ＰＧＮＯ”を引数として関数“NVGetNamedMemoryAddress”を実行する（ステップＳ６）。即ち、ステップＳ６においては、メモリブロック名“ＰＧＮＯ”の領域が不揮発性メモリ４０から検索される。
【００５１】
すると、ＣＰＵ５０は、図５（ｃ）に示すように、検索されたメモリブロック名“ＰＧＮＯ”の領域におけるページ番号を“１”インクリメントし、第２ページを示す“２”とする（ステップＳ７）。
次いで、ＣＰＵ５０は、第２ページ目のコンテンツをメモリカードから読み出してディスプレイ８０に表示する（ステップＳ８）。
【００５２】
すると、ＣＰＵ５０は、バッテリ１００から情報処理装置１に対する電力の供給を停止し、再び電源が切断された状態となる（ステップＳ９）。
その後、ユーザによってボタンが操作され、電子ブックの閲覧を終了する指示入力が行われると、このボタン操作が電源投入のトリガとなり、情報処理装置１に電力の供給が再開され（ステップＳ１０）、ＣＰＵ５０は、メモリブロック名“ＰＧＮＯ”を引数として関数“NVFreeMemory”を実行する（ステップＳ１１）。即ち、ステップＳ１１においては、図５（ｄ）に示すように、不要となったメモリブロック名“ＰＧＮＯ”の領域が不揮発性メモリ４０から削除され、空き領域となる。
【００５３】
さらに、ＣＰＵ５０は、電子ブックの閲覧ソフトウェアの終了に伴う各種処理（例えば、揮発性メモリ３０において使用していた領域の解放等）を行い（ステップＳ１２）、バッテリ１００から情報処理装置１に対する電力の供給を停止し、再び電源が切断された状態となる（ステップＳ１３）。
なお、ステップＳ１３において、情報処理装置１は電源が切断された状態となり、ここに示す具体的動作例の処理は終了するが、ユーザによってボタンが操作された場合等、情報処理装置１における動作の必要が生じた場合には、速やかに電力の供給が再開され、ＣＰＵ５０が所定の処理を行うものである。そして、このとき、ＣＰＵ５０（不揮発性メモリ管理モジュール）は、電力の供給が再開されると、メモリブロック名をキーとして不揮発性メモリ４０上の記憶領域を検索する。
【００５４】
以上のように、本実施の形態に係る情報処理装置１は、不揮発性メモリ４０の記憶領域に確保されるメモリブロックそれぞれに固有のメモリブロック名を付し、そのメモリブロック名によってメモリブロックを識別するメモリ管理テーブルを用いて、不揮発性メモリ４０のメモリ管理を行う。そして、電源の再投入時には、アプリケーションがメモリブロック名を指定することにより、不揮発性メモリ４０においてメモリブロック名が検索され、そのメモリブロック名に対応するメモリブロックのデータにアクセスされる。
【００５５】
したがって、不揮発性のメモリを備え、電力制御によって再起動を繰り返す情報処理装置において、電源の再投入時に不揮発性メモリに保持されているデータを利用することが可能となる。
即ち、不揮発性メモリを備える情報処理装置において、電力制御のためのメモリ管理を適切に行うことが可能となる。そして、それにより、情報処理装置における消費電力を大幅に削減することが可能となる。
【００５６】
なお、本実施の形態においては、メモリ管理テーブルにはメモリブロックの個数のみを格納し、メモリブロック名およびメモリブロックのサイズをそのメモリブロックの実データと一体とする形で不揮発性メモリ４０に記憶することとして説明したが、メモリブロック名およびメモリブロックのサイズをメモリ管理テーブルに含めて管理することとしても良い。
【００５７】
また、メモリブロック名を付与する方法としては、上述のように、データバスのデータ幅、ＡＬＵの入力データ幅、レジスタのデータ幅に合わせる場合の他、任意文字列あるいは任意の数値とすることが可能である。また、一般に、情報処理装置１において取り扱われるデータ幅をＡＳＣＩＩコードの１文字分である８（ビット）で除した文字数とすることが望ましい。
【００５８】
また、本実施の形態においては、不揮発性メモリ４０に直接アクセスしてデータの読み出しや書き込みを行う例について説明したが、一般に、不揮発性メモリより揮発性メモリの方が高速に動作可能であることから、不揮発性メモリ４０に記憶されたデータを揮発性メモリ３０にコピーし、揮発性メモリ３０に記憶されたデータを利用することとしても良い。このように、不揮発性メモリ４０に記憶されたデータを揮発性メモリ３０にコピーして利用する処理は、ＯＳあるいはアプリケーションが行うことが可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明に係る情報処理装置１の機能構成を示すブロック図である。
【図２】不揮発性メモリ管理モジュールを構成するＡＰＩを具体的に示す図である。
【図３】情報処理装置１が有するメモリ空間のメモリマップを示す図である。
【図４】情報処理装置１の具体的動作例を示すフローチャートである。
【図５】不揮発性メモリ４０におけるメモリマップの遷移を示す図である。
【符号の説明】
【００６０】
１  情報処理装置、１０  Ｉ／Ｏ部、３０  揮発性メモリ、４０  不揮発性メモリ、５０  ＣＰＵ、６０  ＧＡ、７０  ディスプレイコントローラ、８０  ディスプレイ、９０  電力制御部、１００  バッテリ
【図１】
2006023919.tif 000003
【図２】
2006023919.tif 000004
【図３】
2006023919.tif 000005
【図４】
2006023919.tif 000006
【図５】
2006023919.tif 000007
【手続補正書】
【提出日】平成17年6月17日(2005.6.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１１
【補正方法】変更
【補正の内容】
【請求項１１】
演算対象となる情報に対して算術論理演算を行うためのＡＬＵを備える所定のプロセッサを含み、
前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記ＡＬＵの入力データ幅に合わせたサイズの名称を付すことを特徴とする請求項７記載の情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
また、演算対象となる情報に対して算術論理演算を行うためのＡＬＵを備える所定のプロセッサ（例えば、図１のＣＰＵ５０）を含み、前記不揮発性メモリ管理手段は、前記メモリブロック名として、前記ＡＬＵの入力データ幅に合わせたサイズの名称を付すことを特徴としている。
これにより、ＡＬＵにおいてメモリブロック名を比較する処理を一度に行うことができ、不揮発性メモリにおいてメモリブロックを検索する処理を高速に行うことが可能となる。