(57)【特許請求の範囲】
【請求項１】
不揮発性メモリと、揮発性メモリと、処理制御部とを備える情報処理装置であって、
前記不揮発性メモリには、前記情報処理装置の起動の際に必要となる起動プログラムが予め記録されており、
前記処理制御部は、
前記情報処理装置の起動命令を受け付ける起動命令受付手段と、
前記起動命令受付手段が前記起動命令を受け付けたときに、前記起動プログラムが前記揮発性メモリ上に存在するか否かを判定する判定手段と、
前記判定手段によって、前記起動プログラムが前記揮発性メモリ上に存在しないと判定されたときにのみ、前記起動プログラムを前記不揮発性メモリから読み出して、当該揮発性メモリに書きこむ起動プログラムロード手段と、
前記揮発性メモリに書き込まれた前記起動プログラムを実行する実行手段と、
前記情報処理装置の動作停止命令を受け付ける停止命令受付手段と、
前記停止命令受付手段が前記動作停止命令を受け付けたとき、前記起動プログラムを前記不揮発性メモリから読み出して前記揮発性メモリに書きこみ、前記揮発性メモリへの電力供給は継続したまま、前記情報処理装置の他の部品への電力供給を停止することで、当該情報処理装置の動作を停止させる停止制御手段とを含み、
前記処理制御部は、前記停止制御手段の少なくとも一部の機能を実現するための処理を実行する第１の処理制御部と、前記実行手段の少なくとも一部の機能を実現するための処理を実行する第２の処理制御部とを有しており、
前記情報処理装置は、
前記情報処理装置に装着されている電池の残量を検出する電池残量検出部と、
前記第１の処理制御部への電力を供給するための第１の電力供給ラインと、前記揮発性メモリへの電力を供給するための第２の電力供給ラインと、前記第２の処理制御部へ電力を供給するための第３の電力供給ラインとを個別に制御するための電源制御部とを更に備え、
前記第１の処理制御部は、前記電池残量検出部によって前記電池の残量が所定値未満と判定されたときは、当該第１の処理制御部への電力供給は継続したまま前記第２の処理制御部及び前記揮発性メモリへの電力供給を停止する、情報処理装置。
【請求項２】
前記起動プログラムとは、前記情報処理装置で動作するシステムの起動プログラムであり、
前記実行手段は前記揮発性メモリ上の起動プログラムを実行することで前記システムの動作を開始させ、
前記停止制御手段は、前記停止命令受付手段が前記動作停止命令を受け付けたとき、前記実行手段によって開始されたシステムを終了させてから、前記揮発性メモリへの電力供給は継続したまま前記情報処理装置の他の部品への電力供給を停止する、請求項１に記載の情報処理装置。
【請求項３】
前記処理制御部は、動作中のシステムの状態を維持したまま前記情報処理装置を省電力モードとする省電力モード移行手段を更に含む、請求項２に記載の情報処理装置。
【請求項４】
前記処理制御部には、前記判定手段および起動プログラムロード手段を実行させるためのローダプログラムが予め格納されたＲＯＭが内蔵されており、
前記処理制御部は、前記起動命令受付手段が前記起動命令を受け付けたときに、前記ＲＯＭに格納されているローダプログラムを実行する、請求項１に記載の情報処理装置。
【請求項５】
前記揮発性メモリとは、疑似ＳＲＡＭである、請求項１に記載の情報処理装置。
【請求項６】
情報処理装置の起動の際に必要となる起動プログラムが予め記録されている不揮発性メモリと、揮発性メモリとを備える情報処理装置のコンピュータに実行させる起動終了制御プログラムであって、
前記コンピュータを、
前記情報処理装置の起動命令を受け付ける起動命令受付手段と、
前記起動命令受付手段が前記起動命令を受け付けたときに、前記起動プログラムが前記揮発性メモリ上に存在するか否か判定する判定手段と、
前記判定手段によって、前記起動プログラムが前記揮発性メモリ上に存在しないと判定されたときにのみ、前記起動プログラムを前記不揮発性メモリから読み出して、当該揮発性メモリに書きこむ起動プログラムロード手段と、
前記揮発性メモリに書き込まれた前記起動プログラムを実行する実行手段と、
前記情報処理装置の動作停止命令を受け付ける停止命令受付手段と、
前記停止命令受付手段が前記動作停止命令を受け付けたとき、前記起動プログラムを前記不揮発性メモリから読み出して前記揮発性メモリに書きこみ、前記揮発性メモリへの電力供給は継続したまま、前記情報処理装置の他の部品への電力供給を停止することで、当該情報処理装置の動作を停止させる停止制御手段として機能させ、
前記処理制御部は、前記停止制御手段の少なくとも一部の機能を実現するための処理を実行する第１の処理制御部と、前記実行手段の少なくとも一部の機能を実現するための処理を実行する第２の処理制御部とを有しており、
前記起動終了制御プログラムは、前記コンピュータを、
前記情報処理装置に装着されている電池の残量を検出する電池残量検出手段と、
前記第１の処理制御部への電力を供給するための第１の電力供給ラインと、前記揮発性メモリへの電力を供給するための第２の電力供給ラインと、前記第２の処理制御部へ電力を供給するための第３の電力供給ラインとを個別に制御するための電源制御手段として更に機能させ、
前記停止制御手段は、前記第１の処理制御部に、前記電池残量検出部によって前記電池の残量が所定値未満と判定されたときは、当該第１の処理制御部への電力供給は継続したまま、前記第２の処理制御部及び前記揮発性メモリへの電力供給を停止する制御を実行させる、起動終了制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、より特定的には、情報処理装置の起動時間の短縮に関する。
【背景技術】
【０００２】
従来から、コンピュータ装置の起動時間を短縮するために、起動に必要なデータの一部を不揮発性メモリに保存する技術が開示されている（例えば、特許文献１，２）。
【０００３】
上記特許文献１に記載の技術では、ディスク記憶装置が電源投入後に計算機からアクセスが可能になるまでの起動時間やデータ読み書きのつどのアクセスタイムを短縮することを目的としている。そして、ディスク記憶装置の内蔵プロセッサに付属してＥＰＲＯＭ等の不揮発性メモリを組み込み、ディスク内の基本プログラムＯＳを計算機に装荷する際に必要な設定データ（ＤＯＳ等を装荷するために必要なディスク内のアドレス、ディスク内の使用シリンダ数、読み書き動作上のいわゆるリトライの回数等のデータ）を不揮発性メモリに記憶させておく。そして、装置の起動時にディスクを回転起動させる動作と並行して、この設定データを不揮発性メモリからプロセッサにディスクの起動時間よりも短時間内に読み込ませる。その結果、ディスクの回転起動の完了後には計算機側からディスク内の基本プログラムに対して直ちにアクセスできるようにする技術が開示されている。
【０００４】
また、上記特許文献２に記載の装置では、ＨＤＤ内に不揮発性メモリ（フラッシュメモリ）が備えられている。そして、ＯＳの初期インストール時に、当該不揮発性メモリにＯＳの起動プログラムを保存しておく。その後、システムに電源を印加すると，ＲＯＭＢＩＯＳがまずＨＤＤを初期化させる。これにより，フラッシュメモリに保存された起動プログラムが読み出され、システムバスを通じてシステム本体に伝送して，メインメモリにローディングされる。これにより、従来では，電源の印加後，ＨＤＤが初期化されれば，ＨＤＤに内蔵されたスピンドルモーターが駆動されて，スピンドルモーターが定常速度になった後，ディスクから起動プログラムが読み出されてシステム本体に伝送され、システムが起動されていたところ、特許文献２の技術では、ディスクから読み出す起動プログラムがＨＤＤ内部に設けられたフラッシュメモリに保存されているので，電源の印加後，ＨＤＤのスピンドルモーターが定常速度になる時まで待つ必要がなく，システムの起動時間が短縮されるという技術が開示されている。
【０００５】
また、その他、パーソナルコンピュータ装置の起動時間短縮に関して、いわゆるＰＯＳＴ（Ｐｏｗｅｒ  Ｏｎ  Ｓｅｌｆ  Ｔｅｓｔ）処理にかかる時間を短縮することでパーソナルコンピュータ装置の起動時間を短縮する技術も開示されている（例えば、特許文献３）。特許文献３に開示されている技術では、パーソナルコンピュータ装置の使用者によりＯＳの終了の操作が行なわれると、ＢＩＯＳは直ちに電源をオフさせるのではなく、ソフトウェアリセットにより装置を再起動してＰＯＳＴを実行し、ＰＯＳＴが完了しＯＳの起動を開始する直前の装置の状態を揮発性メモリに保持し、省電力モード（スタンバイ）である待機モードに移行させる。そして、次に装置を起動するときは、ＢＩＯＳはＰＯＳＴの実行を省略して省電力モードからの復帰処理のみをおこない、直ちにＯＳの起動を開始している。これにより、装置の起動時間を短縮することを可能としている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−０４４３２５号公報
【特許文献２】特開２００６−３０９７８２号公報
【特許文献３】国際公開第０２／０９５５５６号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような装置においては、以下に示す問題点があった。まず、上記特許文献１および２に開示の装置は、いずれも不揮発性メモリに起動に必要なデータを保存している。しかし、不揮発性メモリを利用しているために、以下のような問題がある。まず、ＮＡＮＤフラッシュメモリ等の不揮発性メモリ自身の読み出し速度は、一般的には、ハードディスクよりは速いが、揮発性メモリの読み出し速度よりも遅い。また、不揮発性メモリは書き換え可能なデバイスであるところ、ハッカーやクラッカー等が不正に書換を行うことによるデータの信頼性の問題がある。更に、不揮発性メモリの書換回数に依存するデータ破壊という観点からの信頼性の問題もある。また、上記の信頼性を確保するためには、読み出しの際にデータの信頼性や整合性をチェックするための処理が必要となり、その結果、読み出しに更に時間を要する、というような問題もある。
【０００８】
また、上記特許文献３に開示の技術では、ＰＯＳＴの結果を揮発性メモリに保持したまま省電力モードに移行することで、次回の起動時間を短縮可能としている。しかし、例えば、省電力モード中に、パーソナルコンピュータ装置の機器の構成の変化が生じた場合（例えば、ＵＳＢメモリ等の周辺機器を装着する等）、そのまま起動させた場合、周辺機器が正常に認識されず誤動作する可能性もある。あるいは、再度ＰＯＳＴ処理を行うことも考えられるが、この場合は、結局ＰＯＳＴ処理にかかる時間は短縮されないことになる。また、この特許文献３の技術は、あくまでＰＯＳＴの結果を保持した状態で省電力モードに移行したものであるため、ＰＯＳＴ処理以降の処理については短縮されるものではなかった。つまり、ＰＯＳＴの結果を保持した状態で省電力モードに移行した後、次回の起動時は、ＰＯＳＴ処理にかかる時間は省略されるものの、その後のＯＳの起動にかかる処理（例えば、ＯＳプログラムをＨＤＤからメインメモリにロードし、メインメモリ上に展開されたＯＳプログラムを実行する処理）については毎回行われる。つまり、ＯＳの起動処理にかかる時間については、短縮され得るものではなかった。
【０００９】
それ故に、本発明の目的は、情報処理装置の起動時間を更に短縮することが可能な情報処理装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【００１１】
第１の発明は、不揮発性メモリと、揮発性メモリと、処理制御部とを備える情報処理装置であって、不揮発性メモリには、情報処理装置の起動の際に必要となる起動プログラムが予め記録されており、処理制御部は、起動命令受付手段と、判定手段と、起動プログラムロード手段と、実行手段と、停止命令受付手段と、停止制御手段とを含む。起動命令受付手段は、情報処理装置の起動命令を受け付ける。判定手段は、起動命令受付手段が起動命令を受け付けたときに、起動プログラムが揮発性メモリ上に存在するか否か判定する。起動プログラムロード手段は、起動プログラムが揮発性メモリ上に存在しないと判定手段が判定したときにのみ、起動プログラムを不揮発性メモリから読み出して、当該揮発性メモリに書きこむ。実行手段は、揮発性メモリに書き込まれた起動プログラムを実行する。停止命令受付手段は、情報処理装置の動作停止命令を受け付ける。停止制御手段は、停止命令受付手段が動作停止命令を受け付けたとき、揮発性メモリへの電力供給は継続したまま、情報処理装置の他の部品への電力供給を停止することで、当該情報処理装置の動作を停止させる。
【００１２】
第１の発明によれば、情報処理装置の起動にかかる時間を短縮することが可能である。
【００１３】
第２の発明は、第１の発明において、停止制御手段は、停止命令受付手段が動作停止命令を受け付けたとき、起動プログラムを不揮発性メモリから読み出して揮発性メモリに書きこみ、その後、当該揮発性メモリへの電力供給は継続したまま情報処理装置の他の部品への電力供給を停止する。
【００１４】
第２の発明によれば、情報処理装置の動作を停止するときに揮発性メモリへの起動プログラムの書き込みを行うため、ユーザが情報処理装置を使用している時に上記書きこみが行われ、このためにユーザ使用時の装置の処理負荷が高くなるといったことが避けられるので、ユーザの快適性を高めることができる。
【００１５】
第３の発明は、第１の発明において、起動プログラムとは、情報処理装置で動作するシステムの起動プログラムである。また、実行手段は、揮発性メモリ上の起動プログラムを実行することでシステムの動作を開始させる。また、停止制御手段は、停止命令受付手段が動作停止命令を受け付けたとき、実行手段によって開始されたシステムを終了させてから、揮発性メモリへの電力供給は継続したまま情報処理装置の他の部品への電力供給を停止する。ここでいう動作停止命令は、例えば、ＯＳのシャットダウン等のような、情報処理装置上で動作しているシステムを終了させる命令を意味しており、いわゆるスリープモードやハイバネーションのような、省電力モードへの移行という意味ではない。すなわち、次回の装置起動時に、電源が投入された際に実行される起動プロセスが必要となるような命令を意味する。
【００１６】
第３の発明によれば、情報処理装置で動作するシステムが起動するまでの時間を短縮することができる。
【００１７】
第４の発明は、第３の発明において、処理制御部は、動作中のシステムの状態を維持したまま情報処理装置を省電力モードとする省電力モード移行手段を更に含む。
【００１８】
第４の発明によれば、情報処理装置の起動時間の短縮が可能な終了処理と、システムは終了させずに一時的に動作を停止させる省電力モードとの併用が可能となり、ユーザの利便性を高めることができる。
【００１９】
第５の発明は、第１の発明において、情報処理装置は、情報処理装置に装着されている電池の残量を検出する電池残量検出部を更に備える。そして、処理制御部は、停止制御手段によって情報処理装置の動作が停止された後であって、起動命令が受け付けられる前において、電池残量検出部によって電池の残量が所定値未満と判定されたときは、揮発性メモリへの電力供給を停止する。
【００２０】
第５の発明によれば、情報処理装置の誤作動を防ぎ、また、電池の残量が無くなりきる前に揮発性メモリへの電力供給を停止するため、電池寿命をより長持ちさせることが可能となる。
【００２１】
第６の発明は、第１の発明において、処理制御部には、判定手段および起動プログラムロード手段を実行させるためのローダプログラムが予め格納されたＲＯＭが内蔵されている。そして、処理制御部は、起動命令受付手段が起動命令を受け付けたときに、ＲＯＭに格納されているローダプログラムを実行する。
【００２２】
第６の発明によれば、起動時間を更に短縮することが可能となる。
【００２３】
第７の発明は、第１の発明において、情報処理装置は、処理制御部への電力を供給するための第１の電力供給ラインと、揮発性メモリへの電力を供給するための第２の電力供給ラインと、当該揮発性メモリおよび処理制御部以外の情報処理装置の構成部品への電力を供給するための第３の電力供給ラインとを個別に制御するための電源制御部を更に備える。
【００２４】
第７の発明によれば、揮発性メモリに個別に電力を供給し続けたまま情報処理装置の動作を停止させることができ、電力を有効に利用することができる。
【００２５】
第８の発明は、第１の発明において、揮発性メモリとは、疑似ＳＲＡＭである。
【００２６】
疑似（擬似）ＳＲＡＭは、単位面積当りで相対的に大容量を実現しやすく、かつ、比較的低コストである。また、近年では低消費電力も実現できるようになってきた。第１の発明は、このような疑似ＳＲＡＭを揮発性メモリとして持つ情報処理装置と組み合わせることが、特に効果的である。第１の発明では、停止命令受付手段が動作停止命令を受け付けた後も、揮発性メモリへの電力供給は継続したままであるが、揮発性メモリを低消費電力の疑似ＳＲＡＭとすれば、比較的低コストに、上記停止命令後の揮発性メモリにおける電力消費を抑えることができる。さらに、疑似ＳＲＡＭを揮発性メモリとして持ち、電池を電源とする携帯型装置（携帯ゲーム装置、携帯電話、携帯型情報端末等）に第１の発明を組み合わせると、より好ましい。電池を電源とする携帯型装置は電力消費にシビアである。また、携帯型装置ゆえに、小さな面積にメモリを配置し、さらに低コストで製造することが一般に要求される。したがって、揮発性メモリに疑似ＳＲＡＭを使用した携帯型装置に、第１の発明を組み合わせることで、占有面積に比して大容量の揮発性メモリを持ち、低電力消費でありながら、起動時間が短い携帯型装置を比較的低コストで実現できる。
【００２７】
第９の発明は、情報処理装置の起動の際に必要となる起動プログラムが予め記録されている不揮発性メモリと、揮発性メモリとを備える情報処理装置のコンピュータに実行させる起動終了制御プログラムであって、コンピュータを、起動命令受付手段と、判定手段と、起動プログラムロード手段と、実行手段と、停止命令受付手段と、停止制御手段として機能させる。起動命令受付手段は、情報処理装置の起動命令を受け付ける。判定手段は、起動命令受付手段が起動命令を受け付けたときに、起動プログラムが揮発性メモリ上に存在するか否か判定する。起動プログラムロード手段は、起動プログラムが揮発性メモリ上に存在しないと判定手段が判定したときにのみ、起動プログラムを不揮発性メモリから読み出して、当該揮発性メモリに書きこむ。実行手段は、揮発性メモリに書き込まれた起動プログラムを実行する。停止命令受付手段は、情報処理装置の動作停止命令を受け付ける。停止制御手段は、停止命令受付手段が動作停止命令を受け付けたとき、揮発性メモリへの電力供給は継続したまま、情報処理装置の他の部品への電力供給を停止することで、当該情報処理装置の動作を停止させる。
【００２８】
第９の発明によれば、第１の発明と同様の効果を得ることができる。
【発明の効果】
【００２９】
本発明によれば、情報処理装置の起動時間を短縮することが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本実施形態での起動プロセスおよび起動時間を説明するための図
【図２】携帯ゲーム装置１の外観図
【図３】携帯ゲーム装置１の内部構成の一例を示す機能ブロック図
【図４】ハードウェア電源制御処理の詳細を示すフローチャート
【図５】システム起動・終了処理の詳細を示すフローチャート
【図６】システム起動・終了処理の詳細を示すフローチャート
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【００３２】
まず、本実施形態で想定する、情報処理装置の起動・終了制御処理の概要について説明する。本実施形態では、情報処理装置の一例として、後述の図２に示すような携帯型のゲーム装置（以下、携帯ゲーム装置と呼ぶ）を例として説明する。当該携帯ゲーム装置は、その電源を投入する操作（すなわち、携帯ゲーム装置１を起動する操作）が行われたとき、以下のような起動シーケンスで起動処理が行われる。まず、電源投入操作が行われると、ブートローダプログラム（以下、単にローダと呼ぶ）が実行される。当該ローダは、電源を投入する操作が行われたときに最初に実行されるプログラムである。そして、当該ローダから、本携帯ゲーム装置のＯＳに相当するプログラムであるファームウェアが呼び出されて実行される。ここで、上記ローダについては、ＣＰＵユニットに内蔵のＲＯＭ（後述の図３のＣＰＵ内蔵ＲＯＭ３３）に予め格納されている。また、ファームウェアについては、後述するような不揮発性メモリに予め格納されており、その実行に際しては、不揮発性メモリから読み出されて揮発性メモリ上に格納（ロード）される。そして、携帯ゲーム装置のＣＰＵユニットは、当該揮発性メモリにアクセスして、当該揮発性メモリ上のファームウェアを実行する。ファームウェアが実行されると、携帯ゲーム装置の初期メニューが画面に表示され、ユーザからの操作を待ち受ける状態となる。
【００３３】
そして、本実施形態にかかる処理では、携帯ゲーム装置の電源をオフにする操作（すなわち、携帯ゲーム装置１の動作を終了させる操作）が行われたときに、上記ファームウェアを上記揮発性メモリにロードする処理を行い、揮発性メモリへの通電は維持したまま、携帯ゲーム装置としての電源はオフとする終了制御が行われる。その結果、次回の電源投入時においては、既に揮発性メモリにファームウェアがロード済みの状態となっているため、上述したような、「不揮発性メモリからファームウェアを読み出して揮発性メモリへ書き込む」というプロセスを省略し、携帯ゲーム装置の起動時間を短縮することが可能である。例えば、典型的には、以下のような動作が想定される。まず、ユーザが携帯ゲーム装置を購入し、初めて電源を投入したとする（なお、本実施形態における携帯ゲーム装置は、充電式の電池（バッテリー）を電源として用いる）。このような「初回起動」時は、上述のように、不揮発性メモリに格納されているファームウェアが読み出されて揮発性メモリ上に書き込まれるというプロセスを経て、ファームウェアの実行が開始される。ここで、本実施形態の携帯ゲーム装置では、「初回起動」のときは初期設定処理（利用者登録、時間合わせ等の処理）が実行される。当該初期設定処理が済めば、携帯ゲーム装置の初期メニューが表示される。当該初期メニューから、ユーザは所定のゲームプログラム等を実行して遊ぶことが可能である。そして、ユーザがゲームプログラム等を実行して遊んだ後、携帯ゲーム装置の電源をオフにする操作を行えば、上記のように、揮発性メモリにファームウェアがロードされ、揮発性メモリには通電を継続したままで、携帯ゲーム装置の電源としてはオフとする制御が実行される。そして、次回以降の携帯ゲーム装置の電源投入時は、上記ローダの実行後すぐにファームウェアが実行されることになり、初回起動時のときよりも携帯ゲーム装置の起動時間（初期メニューが表示されるまでの時間）が短縮され、ユーザからは、電源投入操作を行った直後に上記初期メニューが表示されるように見える。その結果、携帯ゲーム装置の起動時に、「起動に待たされている」という印象をユーザに与えることを防ぐことができる。
【００３４】
図１に、本実施形態での起動プロセスおよび起動時間と従来における起動プロセスおよび起動時間との違いを示す。図１では、縦方向に時間軸をとっている。また、図１では、左側に従来の起動プロセスを模式的に示し、右側に、本実施形態にかかる起動プロセス（正確には、上記初回起動が済んだ後の２度目以降の起動にかかる起動プロセス）を模式的に示している。
【００３５】
従来の起動プロセスでは、電源投入→（必要であればＰＯＳＴの実行→）ローダの実行→ファームウェアの不揮発性メモリからの読み出し、および揮発性メモリへの書込処理（つまり、ファームウェアのロード処理）→揮発性メモリ上に格納されたファームウェアの実行処理→初期メニューが表示される、というプロセスを経ている。ここで、ＣＰＵのメモリアクセス速度の観点から、ファームウェアの実行に際しては、不揮発性メモリから揮発性メモリにファームウェアをロードしてから、ＣＰＵが揮発性メモリにアクセスして実行することが一般的である。そのため、不揮発性メモリに格納されているファームウェアを揮発性メモリ上にロードするプロセスは、原則としてファームウェアの実行に必要不可欠なプロセスといえるものである。また、このようなロードのプロセスは比較的時間のかかる処理であることが一般的である。
【００３６】
対して、本実施形態では、電源投入→（必要であればＰＯＳＴの実行→）ローダの実行（図１のＴ１のタイミング）、までは、従来と同じプロセスである。しかし、上記のように、本実施形態では、電源投入時に既に揮発性メモリにファームウェアをロード済みの状態とするものである。そのため、本実施形態においては、従来の起動プロセスにおいては、毎回必要なプロセスであった不揮発性メモリから揮発性メモリへのファームウェアのロードプロセスが不要となり、ローダ実行のプロセスの終了後、すぐに揮発性メモリ上のファームウェアの実行処理に移ることが可能となる。その結果、携帯ゲーム装置の起動時間を短縮することが可能となる。
【００３７】
なお、上記のように携帯ゲーム装置の電源オフ時に揮発性メモリに書き込むファームウェアについては、必ずしもファームウェア全体（ファームウェアを構成する複数のモジュールの全て）を書き込む必要はなく、その一部だけを書き込むようにしてもよい。例えば、システムの起動に必要最低限のモジュール群（つまり、ファームウェアの一部）だけを書き込んでおくようにしてもよい。また、例えば、最初に何か画面表示が行われるまでのモジュール群だけを上記のような電源オフ時に揮発性メモリに書き込んでおくようにしてもよい。そして、これら以外のモジュール群については、次回起動時に不揮発性メモリから揮発性メモリに適宜ロードするようにしてもよい。このようにすることで、ユーザから見れば、電源投入とほぼ同時に何らかの画面表示が行われるため、ゲーム装置の起動に時間がかかっている（待たされている）という印象をユーザに与えることを防ぐ事が可能となる。また、その他、ユーザからの（最初の）操作を受付可能となるまでのモジュール群を電源オフ時に読み込んでおくようにしてもよい。例えば、上記の例でいうと、上記初期メニューが表示され、ユーザからの入力が可能となるまでのモジュール群のみを書き込んでおくようにしてもよい。その結果、次回起動時には、ユーザが操作可能な状態の初期メニューが速やかに表示されることになる。そして、その他のモジュールについては、当該初期メニューに対するユーザからの操作が実際に行われるまでの時間を利用して、不揮発性メモリから読み出して揮発性メモリに書き込むようにしてもよい。また、その他、ファームウェアの内容によっては、ログイン画面のようなユーザ名とパスワードを入力させる画面を表示するまでのモジュール群を読み込むようにしても良い。この場合も、次回起動時に何らかの操作が可能な画面が表示されるまでの時間を短縮することができ、携帯ゲーム装置等の情報処理装置の起動に時間がかかっているという印象をユーザに与えることを防ぐことが可能となる。なお、以下では、説明の簡略化のため、電源オフ時には、ファームウェア全体を書き込むものとして説明する。
【００３８】
次に、図２および図３を参照して、本発明の実施形態に係る携帯ゲーム装置の構成について説明する。図２において、携帯ゲーム装置１は、折り畳み型の携帯ゲーム装置１であり、開いた状態（開状態）の携帯ゲーム装置１を示している。携帯ゲーム装置１は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【００３９】
携帯ゲーム装置１は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図２の例では、下側ハウジング１１および上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回転可能に連結されている。通常、ユーザは、開状態で携帯ゲーム装置１を使用する。また、ユーザは、携帯ゲーム装置１を使用しない場合には閉状態として携帯ゲーム装置１を保管する。また、図２に示した例では、携帯ゲーム装置１は、上記閉状態および開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００４０】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２が設けられる。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。なお、本実施形態では、携帯ゲーム装置１に内蔵されている表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を利用してもよい。また、携帯ゲーム装置１は、任意の解像度の表示装置を利用することができる。なお、詳細は後述するが、下側ＬＣＤ１２は、主に、内側カメラ２３または外側カメラ２５で撮影されている画像をリアルタイムに表示するために用いられる。
【００４１】
下側ハウジング１１には、入力装置として、各操作ボタン１４Ａ〜１４Ｋおよびタッチパネル１３が設けられる。図２に示されるように、各操作ボタン１４Ａ〜１４Ｋのうち、方向入力ボタン１４Ａ、操作ボタン１４Ｂ、操作ボタン１４Ｃ、操作ボタン１４Ｄ、操作ボタン１４Ｅ、電源ボタン１４Ｆ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、上側ハウジング２１と下側ハウジング１１とを折りたたんだときに内側となる、下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａは、例えば選択操作等に用いられる。各操作ボタン１４Ｂ〜１４Ｅは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン１４Ｆは、携帯ゲーム装置１の電源をオン／オフするために用いられる。図２に示す例では、方向入力ボタン１４Ａおよび電源ボタン１４Ｆは、下側ハウジング１１の内側主面中央付近に設けられる下側ＬＣＤ１２に対して、左右一方側（図２では左側）の当該主面上に設けられる。また、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、下側ＬＣＤ１２に対して左右他方側（図２では右側）となる下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａ、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、携帯ゲーム装置１に対する各種操作を行うために用いられる。
【００４２】
なお、図２においては、操作ボタン１４Ｉ〜１４Ｋの図示を省略している。例えば、Ｌボタン１４Ｉは、下側ハウジング１１の上側面の左端部に設けられ、Ｒボタン１４Ｊは、下側ハウジング１１の上側面の右端部に設けられる。Ｌボタン１４ＩおよびＲボタン１４Ｊは、携帯ゲーム装置１に対して、例えば撮影指示操作（シャッター操作）を行うために用いられる。さらに、音量ボタン１４Ｋは、下側ハウジング１１の左側面に設けられる。音量ボタン１４Ｋは、携帯ゲーム装置１が備えるスピーカの音量を調整するために用いられる。
【００４３】
また、携帯ゲーム装置１は、各操作ボタン１４Ａ〜１４Ｋとは別の入力装置として、さらにタッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル１３として、例えば下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。また、下側ハウジング１１の右側面には、挿入口（図２に示す破線）が設けられている。挿入口は、タッチパネル１３に対する操作を行うために用いられるタッチペン２７を収納することができる。なお、タッチパネル１３に対する入力は、通常タッチペン２７を用いて行われるが、タッチペン２７に限らずユーザの指でタッチパネル１３を操作することも可能である。
【００４４】
また、下側ハウジング１１の右側面には、メモリカード２８を収納するための挿入口（図２では、二点鎖線で示している）が設けられている。この挿入口の内側には、携帯ゲーム装置１とメモリカード２８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２８は、例えばＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードであり、コネクタに着脱自在に装着される。メモリカード２８は、例えば、携帯ゲーム装置１によって撮影された画像を記憶（保存）したり、他の装置で生成された画像を携帯ゲーム装置１に読み込んだりするために用いられる。
【００４５】
さらに、下側ハウジング１１の上側面には、カートリッジ２９を収納するための挿入口（図２では、一点鎖線で示している）が設けられている。この挿入口の内側にも、携帯ゲーム装置１とカートリッジ２９とを電気的に接続するためのコネクタ（図示せず）が設けられる。カートリッジ２９は、色変換プログラムやゲームプログラム等を記録した記録媒体であり、下側ハウジング１１に設けられた挿入口に着脱自在に装着される。
【００４６】
下側ハウジング１１と上側ハウジング２１との連結部の左側部分には、３つのＬＥＤ１５Ａ〜１５Ｃが取り付けられる。ここで、携帯ゲーム装置１は、他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１５Ａは、携帯ゲーム装置１の電源がオンである場合に点灯する。第２ＬＥＤ１５Ｂは、携帯ゲーム装置１の充電中に点灯する。第３ＬＥＤ１５Ｃは、無線通信が確立している場合に点灯する。したがって、３つのＬＥＤ１５Ａ〜１５Ｃによって、携帯ゲーム装置１の電源のオン／オフ状況、充電状況、および、通信確立状況をユーザに通知することができる。
【００４７】
一方、上側ハウジング２１には、上側ＬＣＤ２２が設けられる。上側ＬＣＤ２２は横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ２２に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、上側ＬＣＤ２２上を覆うように、タッチパネルを設けてもかまわない。例えば、上側ＬＣＤ２２には、ユーザに各操作ボタン１４Ａ〜１４Ｋやタッチパネル１３の役割を教えるための、操作説明画面が表示される。
【００４８】
また、上側ハウジング２１には、２つのカメラ（内側カメラ２３および外側カメラ２５）が設けられる。図２に示されるように、内側カメラ２３は、上側ハウジング２１の連結部付近の内側主面に取り付けられる。一方、外側カメラ２５は、内側カメラ２３が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング２１の外側主面（携帯ゲーム装置１が閉状態となった場合に外側となる面であり、図２に示す上側ハウジング２１の背面）に取り付けられる。なお、図２においては、外側カメラ２５を破線で示している。これによって、内側カメラ２３は、上側ハウジング２１の内側主面が向く方向を撮影することが可能であり、外側カメラ２５は、内側カメラ２３の撮影方向の逆方向、すなわち、上側ハウジング２１の外側主面が向く方向を撮影することが可能である。このように、本実施形態では、２つの内側カメラ２３および外側カメラ２５の撮影方向が互いに逆方向となるように設けられる。例えば、ユーザは、携帯ゲーム装置１からユーザの方を見た景色を内側カメラ２３で撮影することができるとともに、携帯ゲーム装置１からユーザの反対側の方向を見た景色を外側カメラ２５で撮影することができる。
【００４９】
なお、上記連結部付近の内側主面には、音声入力装置として図示しないマイクが収納されている。そして、上記連結部付近の内側主面には、当該マイクが携帯ゲーム装置１外部の音を検知できるように、マイクロフォン用孔１６が形成される。マイクを収納する位置およびマイクロフォン用孔１６の位置は必ずしも上記連結部である必要はなく、例えば下側ハウジング１１にマイクを収納し、マイクを収納位置に対応させて下側ハウジング１１にマイクロフォン用孔１６を設けるようにしても良い。
【００５０】
また、上側ハウジング２１の外側主面には、第４ＬＥＤ２６（図２では、破線で示す）が取り付けられる。第４ＬＥＤ２６は、外側カメラ２５によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、外側カメラ２５によって動画が撮影される間点灯する。第４ＬＥＤ２６によって、携帯ゲーム装置１による撮影が行われた（行われている）ことを撮影対象者や周囲に通知することができる。
【００５１】
また、上側ハウジング２１の内側主面中央付近に設けられる上側ＬＣＤ２２に対して、左右両側の当該主面に音抜き孔２４がそれぞれ形成される。音抜き孔２４の奥の上側ハウジング２１内にはスピーカが収納されている。音抜き孔２４は、スピーカからの音を携帯ゲーム装置１の外部に放出するための孔である。
【００５２】
以上に説明したように、上側ハウジング２１には、画像を撮影するための構成である内側カメラ２３および外側カメラ２５と、例えば撮影の際に操作説明画面を表示する表示手段である上側ＬＣＤ２２とが設けられる。一方、下側ハウジング１１には、携帯ゲーム装置１に対する操作入力を行うための入力装置（タッチパネル１３および各ボタン１４Ａ〜１４Ｋ）と、ゲーム画面を表示するための表示手段である下側ＬＣＤ１２とが設けられる。したがって、携帯ゲーム装置１を使用する際には、ユーザは、下側ＬＣＤ１２に表示される撮影画像（カメラによって撮影された画像）を見ながら、下側ハウジング１１を把持して入力装置に対する入力を行うことができる。
【００５３】
次に、図３を参照して、携帯ゲーム装置１の内部構成を説明する。なお、図３は、携帯ゲーム装置１の内部構成の一例を示す機能ブロック図であり、本実施形態に係る電源制御処理に関連する部分のみを抜粋して示している。そのため、本実施形態に直接関連しない構成（例えば操作ボタン１４、内側カメラ２３や外側カメラ２５、その他ＧＰＵやＶＲＡＭ等）については、図示を省略している。
【００５４】
図３において、携帯ゲーム装置１は、ＣＰＵユニット３１と、揮発性メモリ３４と、不揮発性メモリ３５と、マイコン３６、電源制御ＩＣ３７、カードスロット３８、バッテリ電源３９、上側ＬＣＤ２２、下側ＬＣＤ１２、電源ボタン１４Ｆとを備える。
【００５５】
ＣＰＵユニット３１は、ＣＰＵコア３２と、当該ＣＰＵコア３２と電気的に接続されているＣＰＵ内蔵ＲＯＭ３３とを備える。ＣＰＵ内蔵ＲＯＭ３３には、上述したローダが予め格納されている。そのため、ＣＰＵコア３２は直接ＣＰＵ内蔵ＲＯＭ３３にアクセスし、当該ローダを実行することが可能である。また、当該ローダがＲＯＭに記憶されていることから、当該ローダが不正に書き換えられることを防ぐことも可能となっている。また、ＣＰＵユニット３１は、揮発性メモリ３４、不揮発性メモリ３５、カードスロット３８、マイコン３６、電源制御ＩＣ３７と電気的に接続されている。
【００５６】
また、ＣＰＵユニット３１には、ＲＥＳＥＴ１端子４１と割り込み端子４２が設けられている。電源制御ＩＣ３７からの信号を受けて、ＲＥＳＥＴ１端子４１がＬレベルに設定されると、ＣＰＵユニット３１はリセットされる。また、割り込み端子４２にマイコン３６から割込み信号が送られると、ＣＰＵユニット３１に割り込み処理を実行させること可能である。本実施形態では、例えば、ゲーム処理中に電源ボタン１４Ｆが長押しされたときに、携帯ゲーム装置１の電源をオフにするためのシーケンスが割り込み処理として実行される。
【００５７】
また、ＣＰＵユニット３１は、制御バスを介して所定の制御信号を送ることで、マイコン３６に対する命令を発行できる。また、揮発性メモリバスを介して、揮発性メモリ３４との間でデータの読み出し／書き込みが可能である。また、不揮発性メモリバスを介して、不揮発性メモリ３５からのデータの読み出しが可能である。また、カードメモリバスを介して、カードスロット３８の装着されたメモリカードとの間でデータの読み出し／書込みが可能である。
【００５８】
揮発性メモリ３４は、携帯ゲーム装置１のメインメモリとして用いられるメモリであり、いわゆる疑似ＳＲＡＭで構成されている。揮発性メモリバスを介してＣＰＵユニット３１と接続されており、ＣＰＵユニット３１は当該揮発性メモリにアクセスすることで、ここに格納されている（ロードされている）各種プログラムを実行する。なお、疑似ＳＲＡＭとは、メモリセルはＤＲＡＭセルの構造である一方、インターフェースはＳＲＡＭの方式が採用されたメモリである。また、本実施形態にかかる疑似ＳＲＡＭは、その動作モードとして、スリープモードと呼ばれる省電力動作モードを備えている。
【００５９】
また、揮発性メモリ３４には、ＣＥ（ＣｈｉｐＥｎａｂｌｅ）端子４３とＲＥＳＥＴ２端子４４が設けられている。マイコン３６からの信号によってＣＥ端子４３がＬレベルに設定されると、揮発性メモリ３４は上記スリープモードに移行する。また、ＲＥＳＥＴ２端子４４がＬレベルに設定されると、揮発性メモリ３４がリセットされる。
【００６０】
本実施例では、不揮発性メモリ３５としてＮＡＮＤフラッシュメモリを使用しており、不揮発性メモリバスを介してＣＰＵユニット３１と接続される。不揮発性メモリ３５には、上述したようなファームウェアが予め格納されている。不揮発性メモリ３５は、他の半導体メモリであってもよいし、磁気メモリ等であってもよい。
【００６１】
電源制御ＩＣ３７は、バッテリ電源３９（本実施形態では充電池）から以下に説明するような各電源を作りだし、携帯ゲーム装置１を構成する各部品に電力を供給する。また、電源制御ＩＣ３７は、ＣＰＵユニット３１のＲＥＳＥＴ１端子４１の制御を行う。また、電源制御ＩＣ３７は、電池の消耗度合い（電池の残量）も検知する。電源制御ＩＣ３７によって生成される電源には、以下のような種類がある。
（１）第１の常時電源：充電池（バッテリ電源３９）が装着されると生成される電源であり、電源制御ＩＣ３７と後述のマイコン３６の間のラインを通じて供給される。バッテリ残量が十分ある限りは、マイコン３６へは電力が供給され続ける。
（２）第２の常時電源：上記揮発性メモリ３４へ電力を供給するための電源であり、電源制御ＩＣ３７と揮発性メモリ３４の間のラインを通じて供給される。本実施形態では、バッテリ残量が十分ある限り、当該第２の常時電源によって揮発性メモリへの電力は供給され続ける。
（３）バックライト電源：上側ＬＣＤ２２および下側ＬＣＤ１２のバックライトへ電力を供給するための電源であり、電源制御ＩＣ３７と各ＬＣＤ２２、１２のバックライトの間のラインを通じて供給される。
（４）システム電源：上記第１および第２の常時電源と、バックライト電源が供給するもの以外の各種部品（図３では、ＣＰＵユニット３１，不揮発性メモリ３５、カードスロット３８）に電力を供給するための電源であり、電源制御ＩＣ３７とこれらの部品の間のラインを通じて供給される。本実施形態では、基本的には、当該システム電源および上記バックライト電源がオフとなっている状態（これらのラインを通じた電力供給が停止している状態）を携帯ゲーム装置の電源がオフとなっている状態として扱う。また、システム電源およびバックライト電源がオンとなっている状態（これらラインを通じた電力供給が行われている状態）が携帯ゲーム装置の電源がオンとなっている状態として扱う。本実施形態では、電源ボタン１４Ｆを所定時間以上押す操作が、システム電源のオン／オフの操作である（なお、以下の説明において、携帯ゲーム装置１の電源のオン／オフと記載した場合は、電源ボタン１４Ｆの長押しによるシステム電源のオン／オフ、すなわち、携帯ゲーム装置１の起動／終了という意味で記載しているものとする）。
【００６２】
なお、本実施形態の携帯ゲーム装置１の電源状態としては、上記のようなシステム電源のオン状態／オフ状態の他に、「省電力待機状態」と「バッテリ低下状態」がある。省電力待機状態は、いわゆる省電力モードと呼ばれるものに相当する状態であり、本実施形態では、システム電源はオンであるが、バックライト電源はオフとなっている状態である。つまり、消費電力が大きなバックライト電源をオフとすることで、携帯ゲーム装置１全体の電力消費を抑える（省電力とする）ものである。更に、実行中のアプリケーションの内容によっては、ＣＰＵユニット３１の内部クロックの生成と供給を停止するようにしてもよい。本実施形態では、携帯ゲーム装置１が閉状態（下側ハウジング１１と上側ハウジング２１とが折りたたまれた状態）となると、省電力待機状態に移行する。また、バッテリ低下状態は、上記システム電源およびバックライト電源の他、上記第２の常時電源による電力供給も停止した状態である。本実施形態では、携帯ゲーム装置１に装着されているバッテリの残量が所定値未満となった場合に、当該バッテリ低下状態に移行する処理が実行される（詳細は後述）。
【００６３】
マイコン３６は、主にハードウェア的な電源制御に関する処理を行う。マイコン３６は、電源ボタン１４Ｆが所定時間以上押されたことを検知することが可能である。また、上記電源制御ＩＣ３７に対し、制御バスを介して所定の命令の発行が可能である。具体的には、携帯ゲーム装置１のシステム電源がオフのときに電源ボタン１４Ｆが所定時間以上押されたことを検知したときは、電源制御ＩＣに起動命令を発行する。また、携帯ゲーム装置１のシステム電源がオンのときに電源ボタン１４Ｆが所定時間以上押されたことを検知したときは、ＣＰＵユニット３１に割り込み処理を発行し、電源オフのシーケンスにかかる処理を実行させる。また、その他、マイコン３６は、時計の役割も有しており、システム電源がオフとなった後の時間経過を検知することも可能である。
【００６４】
下側ＬＣＤ１２および上側ＬＣＤ２２は、図示は省略しているが、それぞれＣＰＵユニット３１に接続されている。下側ＬＣＤ１２および上側ＬＣＤ２２は、それぞれＣＰＵユニット３１の指示に従って画像を表示する。
【００６５】
カードスロット３８は、カードメモリバスを介してＣＰＵユニット３１に接続される。カードスロット３８は、当該カードスロット３８に装着されたカートリッジ２９に対するデータの読み出しおよび書き込みをＣＰＵユニット３１の指示に従って行う。例えば、携帯ゲーム装置１が実行することが可能なアプリケーションプログラムがカートリッジ２９から読み出され、揮発性メモリ３４に格納されてから、ＣＰＵユニット３１によって実行されることが可能である。
【００６６】
次に、図４〜図６を用いて、携帯ゲーム装置１で行われる処理の詳細動作を説明する。まず、主にバッテリの残量に関連（連動）する制御である、携帯ゲーム装置の全体的な電源制御の処理（ハードウェア的な処理）について説明し、その後、バッテリ残量が十分ある状態で実行される、システムの起動・終了処理について説明する。
【００６７】
図４は、上記全体的な電源制御の処理であるハードウェア電源制御処理の詳細を示すフローチャートである。携帯ゲーム装置１に充電池（バッテリ電源３９）が装着されると、図４に示すような処理ループが実行される。
【００６８】
まず、ステップＳ１において、電源制御ＩＣ３７は、装着されているバッテリ電源３９の電圧を検出する処理を実行する。次に、ステップＳ２において、バッテリ残量が所定値以上残っているか否かが判定される。その結果、バッテリ残量が所定値以上ではないと判定されたときは（ステップＳ２でＮＯ）、上記ステップＳ１に戻り処理が繰り返される。
【００６９】
一方、バッテリ残量が所定値以上であれば（ステップＳ２でＹＥＳ）、続くステップＳ３において、電源制御ＩＣ３７は、バッテリ電源３９から第１の常時電源を生成し、マイコン３６への電力供給を行う。
【００７０】
次に、マイコン３６への電力供給が始まれば、ステップＳ４において、携帯ゲーム装置１は通常動作許容状態となる。この状態は、携帯ゲーム装置１の通常動作に必要なバッテリ残量がある状態であり、この状態のときに、図２に示した電源ボタン１４Ｆを一定時間以上押下する操作（すなわち、携帯ゲーム装置１を起動あるいは終了させる操作）が行われると、後述するようなシステム起動・終了制御処理が実行されることになる。
【００７１】
次に、ステップＳ５において、電源制御ＩＣ３７は、バッテリ残量が所定値未満となったか否かを判定する。その結果、所定値未満でないと判定されたとき（ステップＳ５でＮＯ）、すなわち、バッテリ残量が十分ある場合は、上記ステップＳ４に戻る。つまり、通常動作許容状態の間は、（携帯ゲーム装置１の電源のオン／オフに関わらず）常にバッテリの残量を監視する処理が行われていることになる。
【００７２】
一方、ステップＳ５の判定の結果、バッテリ残量が所定値未満と判定されたときは（ステップＳ５でＹＥＳ）、次に、ステップＳ６において、携帯ゲーム装置１を上記バッテリ低下状態に移行するための処理（つまり、第２の常時電源を含む全電源をオフにする処理）が実行される。具体的には、まず、マイコン３６は、ＲＥＳＥＴ２端子４４をＬレベルに設定し、ＣＥ端子４３をＨレベルに設定する。その後、マイコン３６は、電源制御ＩＣ３７に、電源をオフにする命令を送信する。電源制御ＩＣ３７は、当該電源オフの命令を受けると、第２の常時電源による電力供給を停止する。また、システム電源やバックライト電源による電力供給が行われている場合には（例えば、ゲームプレイ中にユーザがゲーム装置１の電源をオフにする操作を行った場合等）、これらの電源による電力供給も停止する。その結果、揮発性メモリ３４上に格納されているファームウェアは電力供給の停止と共に消去されることになる。その後、上記ステップＳ１に戻り、処理が繰り返される。以上で、ハードウェアの電源制御処理は終了する。
【００７３】
次に、上記通常動作許容状態（図４のＳ４の状態）のときに、電源ボタン１４Ｆが一定時間以上押下されることで実行されるシステム起動・終了処理について説明する。図５および図６は、当該システム起動・終了処理の詳細を示すフローチャートである。なお、図５〜図６に示すフローチャートの説明の前提として、携帯ゲーム装置は、上記通常動作許容状態であって、システム電源はオフの状態であるとする。
【００７４】
まず、ステップＳ１１において、携帯ゲーム装置１を起動するための操作が行われたか否かが判定される。具体的には、マイコン３６は、（システム電源がオフの状態において）携帯ゲーム装置１の電源ボタン１４Ｆが所定時間以上押されたことか否かを判定する。その結果、電源ボタン１４Ｆが所定時間以上押されていないと判定されたときは（ステップＳ１１でＮＯ）、当該ステップＳ１１の判定が繰り返される。
【００７５】
一方、電源ボタン１４Ｆが所定時間以上押されたと判定されたときは（ステップＳ１１でＹＥＳ）、ステップＳ１２において、システム電源起動処理が実行される。このステップＳ１２の処理をより具体的に説明すると、まず、マイコン３６は、制御バスを介して電源制御ＩＣ３７に起動命令を送信する。次に、電源制御ＩＣ３７は、バッテリ電源３９から上記のようなシステム電源を生成し、ＣＰＵユニット３１、不揮発性メモリ３５、カードスロット３８等への電力供給を開始する。また、電源制御ＩＣ３７は、バッテリ電源３９から上記のようなバックライト電源も生成し、上側ＬＣＤ２２および下側ＬＣＤ１２への電力供給も開始する。また、このとき、揮発性メモリ３４に電力が供給されていなければ（例えば、初回起動時等）、電源制御ＩＣ３７はバッテリ電源３９から第２の常時電源も生成し、揮発性メモリ３４への電力供給を開始する。その後、電源制御ＩＣ３７は、ＣＰＵユニット３１のＲＥＳＥＴ１端子４１をＨレベルに設定するとともに、これと同じ信号電圧を印加することで、マイコン３６の端子もＨレベルに設定している。次に、ＲＥＳＥＴ１端子４１がＨレベルになれば、マイコン３６は、揮発性メモリ３４の制御信号ＣＥ端子４３またはＲＥＳＥＴ２端子４４のうち、Ｌレベルに設定されているほうをＨレベルに設定する。このような処理が行われた結果、携帯ゲーム装置１を構成する各パーツに電力が供給されることになる（なお、マイコン３６は、バッテリ電源３９の装着時に上記第１の常時電源によって既に電力は供給されている。また揮発性メモリ３４については、携帯ゲーム装置１の初回起動時を除けば、原則として、後述するような処理が行われることで上記第２の常時電源によって電力が供給され続けている状態である）。
【００７６】
システム電源起動処理の次に、ＣＰＵコア３２は、ＣＰＵ内蔵ＲＯＭ３３に格納されているローダを実行し、以下のステップＳ１３〜Ｓ１５の処理を実行する。なお、上述したように、当該ローダは、ＣＰＵ内蔵ＲＯＭ３３に記憶されているため、実行に際して揮発性メモリ３４上にロードする必要はない。ＣＰＵコア３２は、当該ＣＰＵ内蔵ＲＯＭ３３に直接アクセスすることによって、ローダの実行が可能である。
【００７７】
まず、ステップＳ１３において、揮発性メモリ３４上にファームウェアが存在するか否か（ロード済みか否か）が判定される。当該判定の結果、揮発性メモリ３４上にファームウェアが存在していないときは（ステップＳ１３でＮＯ）、ステップＳ１４において、不揮発性メモリ３５に格納されているファームウェアが読み出され、揮発性メモリ３４に書き込まれる。そして、ステップＳ１５において、揮発性メモリ３４上にあるファームウェアの実行が開始される。その結果、携帯ゲーム装置１の初期メニュー画面が表示されることになる。
【００７８】
一方、ステップＳ１３の判定の結果、揮発性メモリ３４上に既にファームウェアが存在していれば（ステップＳ１３でＹＥＳ）、上記ステップＳ１４の処理は実行されずに、ステップＳ１５の処理が実行される。つまり、ファームウェアを揮発性メモリ３４上にロードするというプロセスが省略されることになる。
【００７９】
次に、ステップＳ１６において、ユーザの操作に基づく各種プログラムの実行処理が行われる。例えば、ユーザは初期メニューから所定のアイコンを選択する操作を行えば、選択されたアイコンに対応するプログラム（所定のゲーム処理プログラム等）を実行する処理が行われる。
【００８０】
次に、ステップＳ１７において、携帯ゲーム装置１を省電力待機状態とするための操作が行われたか否かが判定される。本実施形態では、システム電源がオンの状態のまま、携帯ゲーム装置１が閉状態（下側ハウジング１１と上側ハウジング２１とが折りたたまれた状態）となっている状態が省電力待機状態である。そのため、ここでは、携帯ゲーム装置１を折りたたむ操作が行われたか否かが判定される。当該判定の結果、省電力待機状態とするための操作が行われたと判定されたときは（ステップＳ１７でＹＥＳ）、ステップＳ１８において、携帯ゲーム装置１を省電力待機状態へと移行させるための処理が実行される。具体的には、バックライト電源による電力供給を停止する制御が電源制御ＩＣ３７によって行われる。更に、実行中のアプリケーションの内容によっては、ＣＰＵユニット３１の内部クロックの生成と供給を停止して、更なる省電力化を図るようにしても良い。
【００８１】
省電力待機状態への移行が行われたら、次に、ステップＳ１９において、省電力待機状態を解除する操作が行われたか否かが判定される。本実施形態では、折りたたまれた状態の携帯ゲーム装置を開ける操作が、省電力待機状態を解除するための操作である。そのため、携帯ゲーム装置１を開ける操作が行われたか否かが判定される。当該判定の結果、省電力待機状態を解除する操作が行われていないと判定されたときは（ステップＳ１９でＮＯ）、ステップＳ１９の判定が繰り返される。一方、省電力待機状態を解除する操作が行われたと判定されたときは（ステップＳ１９でＹＥＳ）、省電力待機状態を解除するための処理が実行された後、上記ステップＳ１６に戻って処理が繰り返される。省電力待機状態を解除するための処理とは、例えば、バックライト電源による電力供給を開始し、ＣＰＵユニット３１の内部クロックの供給を再開する処理である。
【００８２】
一方、上記ステップＳ１７の判定の結果、省電力待機状態とするための操作が行われていないと判定されたときは（ステップＳ１７でＮＯ）、次に、ステップＳ２０において、携帯ゲーム装置１の動作を終了させる操作（携帯ゲーム装置１の電源をオフとする操作）、具体的には、電源ボタン１４Ｆが所定時間以上押し続ける操作が検出されたか否かが判定される。その結果、携帯ゲーム装置１の動作を終了させる操作が行われていないと判定されたときは（ステップＳ２０でＮＯ）、上記ステップＳ１６に戻り、処理が繰り返される。
【００８３】
一方、携帯ゲーム装置１の動作を終了させる操作が行われたと判定されたときは（ステップＳ２０でＹＥＳ）、マイコン３６から割り込み信号がＣＰＵユニット３１に送られることにより、システム電源をオフにするためのシーケンスが実行される。具体的には、まず、ステップＳ２１において、上記ステップＳ１４と同様の処理が実行される。すなわち、不揮発性メモリ３５に格納されているファームウェアが読み出され、揮発性メモリ３４に書き込まれる処理が実行される。
【００８４】
次に、ステップＳ２２において、システム電源のみをオフとする処理が実行される。このステップＳ２２の処理をより具体的に説明すると、まず、マイコン３６は、ＣＥ端子４３をＬレベルに設定することで、揮発性メモリ３４をスリープモードに移行させる。次に、マイコン３６は、制御バスを介して電源制御ＩＣ３７に電源オフの命令を送信する。電源制御ＩＣ３７は、当該電源オフの命令を受けると、システム電源のラインのみ、電力の供給を停止する。そして、電源制御ＩＣ３７は、ＣＰＵユニット３１のＲＥＳＥＴ１端子４１をＬレベルに設定する。このような処理の結果、システム電源のみがオフとなり、第１および第２の常時電源による電力は供給されたままの状態（揮発性メモリ３４に電力供給が続けられている状態）で、携帯ゲーム装置１の電源としてはオフとなる。つまり、揮発性メモリ３４上にファームウエアが存在している状態が保持されたまま、ユーザから見れば、携帯ゲーム装置１の電源を切った状態（つまり、システムとしては終了している状態）となる制御が行われることになる。以上で、システム起動・終了処理が終了する。
【００８５】
このように、本実施形態では、携帯ゲーム装置１の電源をオフとする操作が行われた際、揮発性メモリ３４にファームウェアをロードし、揮発性メモリ３４への電力供給を維持したまま、携帯ゲーム装置１の電源をオフとする制御を行っている。これにより、次回の携帯ゲーム装置１の起動プロセスにおいて、ファームウェアを不揮発性メモリ３５から読み出すプロセスを省略でき、速やかな起動を実現できる。換言すれば、ＯＳ（本実施形態ではファームウェア）の揮発性メモリへのロードというプロセスは、情報処理装置の起動シーケンスにおいて必ず必要となるプロセスであり、その結果として毎回同じ結果が期待できるようなプロセスである。そして、このようなロード処理を情報処理装置のシステム終了時に先に行っておいて、起動シーケンスからは省略することで、情報処理装置の起動時間を短縮することができる。
【００８６】
また、ファームウェアのロード先として、フラッシュメモリ等の不揮発性メモリではなく、上記のような揮発性メモリを利用するため、メモリへのアクセス速度もフラッシュメモリを用いる場合に比べて高速である。
【００８７】
また、いわゆるスタンバイモードやスリープモード、ハイバネーションと呼ばれる機能を実現する際には、そのときの装置の状態を示すデータを不揮発性メモリやハードディスク等に書き出す等の、状態保存のための処理を別途実装する必要がある。しかし、本実施形態では、一般的には起動シーケンスにおいて必ず行われるロードの処理をシステムの終了時の処理において呼び出せばよいだけであるため、ソフトウェアの実装面からすると、非常に簡便なものであり、実装しやすい。
【００８８】
更に、本実施形態にかかる処理は、上記携帯ゲーム装置１の省電力待機状態のような、システムとしては稼働したままで（つまり、システム終了のプロセスを行わずに）省電力モードに移行するという処理ではなく、システムの電源をオフとする処理、あるいは、ＯＳのシャットダウンに相当する処理、つまり、一般的に「電源オフ」と呼ばれるような処理（次回起動時に装置の起動シーケンスが必要となるような終了処理）を行うものであるため、上記スリープモード等に比べて、バッテリの消耗を抑えることができる。
【００８９】
また、ＰＯＳＴ処理の省略化のためにＰＯＳＴ処理の結果を保存して省電力モードに移行するという制御ではないため、ハードウェア構成の変更により悪影響を受けることはない。また、パーソナルコンピュータのように、ハードの組み合わせが多彩であり、ハード構成の変更の発生も珍しくないような情報処理装置においては、ＰＯＳＴ処理に関して時間がかかることが一般的ではあるが、上記実施形態で例に挙げた携帯ゲーム装置や携帯電話、ＰＤＡ等のような情報処理装置では、そもそも、パーソナルコンピュータの場合のようなハード構成の変化が発生することは一般的ではないと考えられる。そのため、ＰＯＳＴにかかる処理もパーソナルコンピュータの比べて、さほど時間のかかる処理ではなく、むしろ、上記のようなファームウェアのロードにかかる時間のほうが時間がかかる。そのため、いわゆる組み込みシステム系の情報処理装置に対して、本発明は特に有用である。また、液晶テレビ等の電化製品やカーナビゲーション装置等にも本発明は適用可能である。
【００９０】
なお、上記実施形態では、システム電源をオフにする操作が行われたとき、ファームウェアを不揮発性メモリ３５から読み出して揮発性メモリ３４に書き込む処理を実行していた。これに限らず、揮発性メモリ３４の容量が潤沢であれば、揮発性メモリ３４の領域の一部を固定的にファームウェアの格納領域として割り当て、上記のようなシステム電源をオフにするときにファームウェアを揮発性メモリ３４に書き込む処理を省略するようにしてもよい。つまり、携帯ゲーム装置１の初回起動時に、一旦不揮発性メモリ３５からファームウェアを読み出して、揮発性メモリ３４の上記固定的な格納領域に当該ファームウェアを書き込めば、その後は、上記第２の常時電源により揮発性メモリ３４に電力が供給され続けるため（バッテリ残量が低下したときを除く）、システム終了時のファームウェアのロード処理について省略することができる。特に、情報処理装置のリセットを行う際に、リセットにかかる時間を短縮できるという点で有利である。また、このように書き込み処理を省略することで、不揮発性メモリ３５へのアクセス回数を減らすことが可能となる。その結果、不揮発性メモリ３５自身の信頼性を向上することが可能となる。
【００９１】
また、上記実施形態では、揮発性メモリ３４の例として疑似ＳＲＡＭを用いた場合を挙げていたが、これに限らず、ＳＲＡＭあるいはＤＲＡＭ等を用いるようにしても良い。疑似ＳＲＡＭを用いた場合は、コストの観点や同じダイ面積での記憶容量という観点から有利であり、ＳＲＡＭを用いる場合は、アクセス速度や消費電力の観点から有利である。また、本実施形態では、携帯ゲーム装置１の電源がオフとなった状態でも揮発性メモリ３４への電力供給は保持されているため、通電し続けた状態であっても電力消費が比較的少ないメモリを上記揮発性メモリ３４として用いることが好ましい。
【００９２】
また、上記実施形態では、携帯ゲーム装置１を例とし、ファームウェアが不揮発性メモリ３５に格納されている場合を例に説明したが、ファームウェアやＯＳの格納場所については、例えば、ハードディスク等の記録媒体に格納されていても良い。また、携帯ゲーム装置に限らず、バッテリーではなく、ＡＣ電源で動作するような据置型のゲーム装置に対しても本発明は適用可能である。
【００９３】
また、上述したように、システム電源をオフにするときに揮発性メモリ３４に書き込むファームウェア（またはＯＳ）の範囲については、その全部を書き込むことに限らず、一部だけを書き込むようにしてもよい。特に、多数のモジュールから構成され、そのファイルサイズも大きく、ロードに時間がかかるようなＯＳ等には効果的である。また、システムの起動プロセスにおいて毎回必要となる処理を実行するためのプログラムであれば、上記のようなファームウェアやＯＳと呼ばれるプログラムに限るものではない。つまり、システムの起動プロセスにおいて揮発性メモリにロードすることが必要であり、そのロードに時間がかかるようなプログラムを有する情報処理装置全般について、本発明は適用可能である。
【産業上の利用可能性】
【００９４】
本発明にかかる情報処理装置は、起動時間にかかる時間を短縮することができ、据置型ゲーム装置や携帯型ゲーム装置、携帯電話やＰＤＡ等の携帯型情報端末やパーソナルコンピュータ等の各種情報処理装置に有用である。
【符号の説明】
【００９５】
１…ゲーム装置
１１…下側ハウジング
１２…下側ＬＣＤ
１３…タッチパネル
１４…操作ボタン
１５、２６…ＬＥＤ
１６…マイクロフォン用孔
２１…上側ハウジング
２２…上側ＬＣＤ
２３…内側カメラ
２４…音抜き孔
２５…外側カメラ
２７…タッチペン
２８、２９…メモリカード
３１…ＣＰＵユニット
３２…ＣＰＵコア
３３…ＣＰＵ内蔵ＲＯＭ
３４…揮発性メモリ
３５…不揮発性メモリ
３６…マイコン
３７…電源制御ＩＣ
３８…カードスロット
３９…バッテリ電源
４１…ＲＥＳＥＴ１端子
４２…割り込み端子
４３…ＣＥ端子
４４…ＲＥＳＥＴ２端子
【図１】
0005422308.tif 000002
【図２】
0005422308.tif 000003
【図３】
0005422308.tif 000004
【図４】
0005422308.tif 000005
【図５】
0005422308.tif 000006
【図６】
0005422308.tif 000007