JP2004362426A - 情報処理システム及びその制御方法、並びにコンピュータ・プログラム - Google Patents
情報処理システム及びその制御方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2004362426A JP2004362426A JP2003162288A JP2003162288A JP2004362426A JP 2004362426 A JP2004362426 A JP 2004362426A JP 2003162288 A JP2003162288 A JP 2003162288A JP 2003162288 A JP2003162288 A JP 2003162288A JP 2004362426 A JP2004362426 A JP 2004362426A
- Authority
- JP
- Japan
- Prior art keywords
- information
- priority
- storage device
- processing apparatus
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【解決手段】主記憶装置上に不揮発性記憶部を配置し、処理継続に必要な情報を不揮発性記憶部に退避して電源を遮断し、電源投入時には不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する。また、処理の再開に必要な情報を識別して優先度を付与し、優先度の高い情報から順に不揮発性記憶部に格納し、不揮発性記憶部に格納できなかったを2次記憶装置に退避するようにして、サスペンド並びにレジューム処理を効率的に行なう。
【選択図】 図1
Description
【発明の属する技術分野】
パーソナル・コンピュータや携帯端末を始めとする情報処理システム及びその制御方法、並びにコンピュータ・プログラムに係り、特に、システムの使用状況が低下したときなどに内部の各電気回路に対する電力供給を適宜低下若しくは停止させる節電動作機能を備えた情報処理システム及びその制御方法、並びにコンピュータ・プログラムに関する。
【0002】
さらに詳しくは、本発明は、電源遮断時にシステムの状態情報を不揮発性の2次記憶装置に退避し、電源再投入時に退避した状態情報を復元して処理を再開させるハイバーネーション機能を備えた情報処理システム及びその制御方法、並びにコンピュータ・プログラムに係り、特に、ハイバーネーション動作時における状態情報の退避並びに復元処理の所要時間を短縮化する情報処理システム及びその制御方法、並びにコンピュータ・プログラムに関する。
【0003】
【従来の技術】
昨今の技術革新に伴い、デスクトップ型、ノートブック型など各種パーソナル・コンピュータ(以下、「PC」又は「システム」ともいう)が開発され市販されている。このうち、ノートブック型のPCは、屋外での携帯的・可搬的な使用を考量して小型且つ軽量に設計・製作されたものである。
【0004】
ノートブック型PCの1つの特徴は、内蔵したバッテリでも駆動できる「バッテリ駆動型」である点である。これは、商用電源が届かない場所でも使用できるようにしたためである。ノートブックPCが内蔵するバッテリは、一般には、Li−Ionなどの充電式のバッテリ・セルを複数本接続してパッケージ化した「バッテリ・パック」の形態を採っている。バッテリ・パックは充電により再利用可能ではあるが、1回当りの充電容量はシステムのオペレーション時間にして精々2〜3時間程度に過ぎない。バッテリ・ライフを少しでも長時間化するべく、節電のためのさまざまな工夫が凝らされている。
【0005】
また、最近では、商用電源によって無尽蔵に給電可能なデスクトップ型PCに対しても、エコロジー的な観点から、省電力の要求が高まってきている。米環境保護庁(EPA)は、1993年6月に”Energy Star Computer Program”と呼ばれる自主規制を発表し、動作待ち状態での消費電力が一定基準以下(駆動電力が30W以下、又はCPU稼働時の30%以下)になることを要求している。
【0006】
PCの節電は、オペレーション時の装置全体の消費電力を低減させる以外に、システムの使用状況が低下したことに応答してシステムの一部又は全体への電力供給を適宜低下若しくは遮断することによっても実現される。但し、電源を遮断することによりタスクが中断されることから、電源再投入時に中断した時点からタスクを再開できるように、電源を遮断する前にシステムの状態情報を退避し、電源再投入時に退避した状態情報を復元する必要がある。システムの状態情報を退避してタスクを中断する動作のことを「サスペンド」と呼び、状態情報を復元してタスクを再開する動作のことを「レジューム」と呼ぶ。
【0007】
サスペンド・レジューム機能を実現するために、2通りの方法が挙げられる。1つは、計算機装置の電源切断前後で揮発性の主記憶装置などに電源を供給し続けてシステムの状態情報を保持する方式である。また、もう1つは、主記憶装置などに展開されているシステムの状態情報を電源切断時に不揮発性の2次記憶装置に退避し、電源投入時に退避した状態情報を主記憶装置などに復元する方式である。後者は、特に、「ハイバーネーション機能」と呼ばれている。
【0008】
前者の方式では、バッテリ・バックアップされた揮発性の主記憶装置などにシステムの状態情報を保存する。このため、計算機装置の退避・復帰の処理が非常に高速であるが、計算機装置の停止中も主記憶装置による記憶保持動作のために電力を消費するため、節電の効果は低い。一方、後者のハイバーネーション機能の場合、タスク再開に必要なシステムの状態情報を不揮発性の2次記憶装置で保存するため、計算機装置内のほとんどすべてのコンポーネントの電源遮断することができ、節電の効果が高い。しかしながら、2次記憶装置としてのハード・ディスク・ドライブ(あるいはフラッシュ・メモリ)は、一般に主記憶装置よりもアクセス速度が低い。ハイバーネーション機能は、主記憶装置上のメモリ・イメージを2次記憶装置に格納したり展開したりする処理動作を含むので、多くの時間を要するという欠点がある。
【0009】
このようなハイバーネーション機能における退避・復帰処理の所要時間の問題に対しては、これまでもさまざまな改善が試みられてきた。例えば、主記憶装置の使用中の領域のみを退避・復帰する方法(例えば、特許文献1を参照のこと)や、高速な不揮発性記憶装置と低速な不揮発性記憶装置(いずれも非主記憶装置)に揮発性の主記憶装置の内容を転送し退避・復帰処理の高速化を図る方法(例えば、特許文献2を参照のこと)などがその例である。しかしながら、いずれの場合も、主記憶装置とこれよりも低速な2次記憶装置とのデータ転送が一通り完了するまで退避・復帰処理を待つ必要があり、これがハイバーネーション機能の退避・復帰処理における律速過程となっている。
【0010】
【特許文献1】
特開平9−319667号公報
【特許文献2】
特開2001−125659公報
【0011】
【発明が解決しようとする課題】
本発明の目的は、電源遮断時にシステムの状態情報を不揮発性の記憶装置に退避し、電源再投入時に退避した状態情報を復元して処理を再開させるハイバーネーション機能を備えた、優れた情報処理システム及びその制御方法、並びにコンピュータ・プログラムを提供することにある。
【0012】
本発明のさらなる目的は、ハイバーネーション動作時における状態情報の退避並びに復元処理の所要時間を短縮化することができる、優れた情報処理システム及びその制御方法、並びにコンピュータ・プログラムを提供することにある。
【0013】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するタイプの情報処理装置であって、
情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部を備えた主記憶装置と、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避手段と、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開手段と、
を具備することを特徴とする情報処理装置である。
【0014】
ノートブックPCや携帯端末を始めとする情報処理装置においては、システムの状態情報を退避してタスクを中断するサスペンド動作、並びに状態情報を復元してタスクを再開するレジューム動作からなるハイバーネーション機能は、低消費電力化を実現する上で必須の技術である。ところが、ハイバーネーション機能は、主記憶装置上のメモリ・イメージを2次記憶装置に格納したり展開したりする処理動作を含むので、多くの時間を要するという欠点がある。
【0015】
これに対し、本発明によれば、主記憶装置上に情報を不揮発的に保持することができる不揮発性記憶部を配置して、この不揮発性記憶部を利用して情報の退避処理を行なうようにしたので、サスペンド・レジューム機能の退避・復帰処理に要する時間を大幅に短縮することができる。特に、ノートPCなどの携帯端末におけるユーザの操作性(退避・復帰処理の待ち時間)を格段に改善することができる。
【0016】
また、本発明によれば、サスペンド・レジューム機能の退避・復帰処理に要する消費電力を削減し、特にノートPCなどの携帯端末におけるバッテリの持ちを改善することができる。
【0017】
ここで、情報処理装置は、ハード・ディスク装置などの不揮発性の2次記憶装置をさらに備えていてもよい。このような場合、前記情報退避手段は、所定の優先度に従って前記揮発性記憶部上の情報を前記不揮発性記憶部に退避するとともに、該情報退避動作において前記不揮発性記憶部から溢れた情報を前記2次記憶装置に退避することができる。
【0018】
また、前記処理再開手段は、再開した処理を実行中、2次記憶装置上に退避された情報を必要に応じて適宜主記憶装置上の元の場所に復元するようにすればよい。
【0019】
電源の遮断及び投入の間に、揮発性記憶部内の情報を退避し復元するために、処理の再開に必要な情報を識別し、該識別した情報に対して優先度を付与する優先度付け手段をさらに備えていてもよい。このような場合、前記情報退避手段は、優先度の高い情報から順に前記不揮発性記憶部に格納するとともに、前記不揮発性記憶部に格納できなかった前記主記憶装置上の情報を前記2次記憶装置に退避するようにして、サスペンド並びにレジューム処理を効率的に行なうことができる。
【0020】
例えば、前記優先度付け手段は、最近アクセスされた情報の順に優先度を与えることができる。最近アクセスされた情報の順は、例えば、仮想メモリ・システムにおいて、LRU(Least Recently Used)アルゴリズムに基づいて管理されている。
【0021】
あるいは、前記優先度付け手段は、最近のアイドル時間の小さい処理に関連する情報の順に優先度を与えることができる。アイドル時間は、例えばオペレーティング・システムのプロセス管理機構において保持されている。
【0022】
また、前記主記憶装置上の情報領域に対する優先度をユーザにとって有意な情報単位に対する優先度に変換する手段をさらに備えていてもよい。
【0023】
また、前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高い領域に着目し、該領域の優先度の大小に基づいて情報領域の優先度を与えるようにしてもよい。
【0024】
あるいは、前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高いものから順に一定個に着目し、該領域内での優先度の平均値の大小に基づいて情報領域の優先度を与えるようにしてもよい。
【0025】
また、前記処理再開手段は、前記2次記憶装置に退避された情報を優先度に従って前記主記憶装置上の元の場所に復元するようにしてもよい。
【0026】
ここで、再開した処理の続行に必要な情報が発生した場合には、優先度に従った情報の復元を中断して、該必要な情報を前記主記憶装置上の元の場所に復元するようにしてもよい。
【0027】
レジューム処理中に、主記憶装置に未だ復帰していないプログラムやデータが必要になったとする。例えば、主記憶装置に復帰していないプログラムをレジューム処理中にユーザが実行したいとする。この場合、現在復帰中の情報の転送を中断し、ユーザが現在必要とする情報を優先して主記憶装置に転送して、その転送処理が完了した後に中断した転送処理を再開する、という方法を行なえば、ユーザの操作性をさらに向上させることができる。
【0028】
そして、再開した処理の続行に必要な情報が複数発生した場合には、各々に優先度を与えるようにしてもよい。例えば、時間軸上で前に必要とされた情報から順に高い優先度を与えるようにする。
【0029】
また、前記主記憶装置及び前記2次記憶装置上の記憶空間は仮想記憶機構に基づいて管理されている場合には、電源の遮断及び投入に伴う情報の退避及び復元を所定のページ単位で行なうようにしてもよい。
【0030】
既に周知のように、仮想メモリ・システムによれば、ハード・ディスクなどの外部記憶装置に対して論理的なアドレス(仮想アドレス)を割り振り、これらが見かけ上は物理メモリ空間の一部であるかのように扱うことで、少ない物理メモリ容量で論理的には大きなアドレス空間を実現することができる。仮想メモリ方式を採用する情報処理装置においても、本発明に係るハイバーネーション機能を実現することができる。この場合、サスペンド及びレジューム処理におけるシステムの状態情報の退避や復元を、仮想アドレス空間におけるページング動作と並行して実現することができる。
【0031】
また、ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える手段をさらに備えていてもよい。例えば、ユーザが一部の情報単位に対して優先度を与える第1の手段と、ユーザが優先度を与えなかった情報単位に対して自動的に優先度を与える第2の手段と、前記第1及び第2の手段を用いてすべての情報単位に対して一意な優先度を与える第3の手段とを用いて、情報単位毎に一意な優先度を与えることができる。
【0032】
また、本発明の第2の側面は、処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
主記憶装置は、情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部で構成され、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避ステップと、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【0033】
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1の側面に係る情報処理装置と同様の作用効果を得ることができる。
【0034】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0035】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0036】
サスペンド・レジューム機能の退避・復帰処理の高速化に対するためのアプローチとして、主記憶装置自体を不揮発性記憶素子で構成する方法が考えられる。すなわち、主記憶装置自体を不揮発性にすることで、サスペンド・レジューム時の処理(例えば、ハード・ディスクなどの2次記憶装置への退避など)が大幅に省略できるため、明らかに高速化が期待できる。しかしながら、コスト的な観点からすると、主記憶装置をすべて不揮発性にするよりも、安価な揮発性記憶装置とそれよりも高価な不揮発性記憶装置を混在して主記憶空間を構成することが望ましい場面が想定される。
【0037】
このような揮発性及び不揮発性の記憶部が混在した主記憶空間を持つ計算機装置では、主記憶装置のうち揮発性記憶部に格納されている内容は電源切断時に失われてしまう。このため、ハイバーネーション機能をサポートするには、主記憶装置の揮発性記憶部上の情報を主記憶装置内の不揮発性記憶部あるいは2次記憶装置に退避する必要が生じる。それ故に、ハイバーネーション機能の高速化のためには、主記憶装置の不揮発性記憶部を情報の退避先として有効活用することが鍵となってくる。
【0038】
なお、主記憶装置が揮発性記憶部と不揮発性記憶部から構成される計算機装置に関しては特許第3275398号公報などで考案されているが、このような計算機装置におけるハイバーネーション機能の詳細に関してはこれまで考案されていない。
【0039】
図1には、本発明の一実施形態に係る計算機装置のハードウェア構成を模式的に示している。図示の計算機装置は、CPU(Central Processing Unit)101と、主記憶装置102と、2次記憶装置105と、入出力装置106を備えている。
【0040】
メイン・コントローラであるCPU101は、オペレーティング・システム(OS)の制御下で、各種プログラムを実行するようになっている。CPU101は、データ信号線、アドレス信号線、コントロール信号線などからなる共通信号伝送路であるバス110を介して各部と連絡している。
【0041】
主記憶装置102は、主記憶空間を構成し、CPU101が実行する各プログラム(OSやアプリケーション・プログラムなど)をロードしたり、CPU101が作業領域として用いたりするために使用される。
【0042】
本実施形態に係る計算機装置は、主記憶装置102の構成の点で特徴がある。既存の計算機装置(図2を参照のこと)では主記憶装置はDRAM(Dynamic RAM)などの揮発性記憶部のみからなるが、本発明の計算機装置では主記憶装置102は、揮発性記憶部103と不揮発性記憶部104から構成される。主記憶装置102の揮発性記憶部103は、DRAMなどの高速な揮発性記憶装置を用いて構成され、記憶内容を保持するためにはバッテリ・バックアップすなわち電源の継続的な供給が必要である。一方、不揮発性記憶部104は、記憶内容の保持のためにバッテリ・バックアップが不要な構成である。例えば、MRAMやFeRAMなどのメモリ・チップを利用して不揮発性記憶部104を構成することができ、速度的にもアクセス寿命的にもCPU101の主記憶空間として十分な性能を有している。
【0043】
2次記憶装置105は、ハード・ディスク・ドライブ(HDD)やフラッシュ・メモリなどの不揮発性の記憶装置で構成される。2次記憶装置105は、主記憶装置102に比べてアクセス速度は低速であるが、大容量であり、主記憶空間を補助するために装備されている。また、2次記憶装置105は、コスト的に安価である低速なMRAMやFeRAMなどを用いることもできる。
【0044】
ここで、MRAM(Magnetic RAM)は、トンネル磁気抵抗効果を利用したTMR(Tunneling MagnetoResistance)素子で構成され、電子の電荷ではなく電子のスピンで情報を保持することができる。MRAMは、書き換え/読み出しなどのアクセス速度、集積度、消費電力、ビット単価などの点で主記憶装置としての条件をほぼ満足する他、不揮発性であるという特徴を持つ。また、FeRAM(Ferroelectric RAM)は、強誘電体薄膜材料を記憶素子として用いた不揮発性メモリであり(強誘電体は電界を印加しない自然の状態で誘電分極している)、MRAM同様に主記憶装置としての条件をほぼ満足する。
【0045】
また、HDDは、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり(周知)、記憶容量やデータ転送速度などの点でCD/DVDなど他のディスク型記憶装置よりも優れている。ソフトウェア・プログラムを実行可能な状態でHDD上に置くことを、プログラムのシステムへの「インストール」と呼ぶ。通常、HDDには、CPU101が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。
【0046】
入出力装置106には、キーボードやマウスなどのユーザ入力装置、ディスプレイやプリンタなどの出力装置、ネットワーク装置やその他の外部機器との接続インターフェースなどを含む。ディスプレイ上の描画データは、一旦ビデオRAM(VRAM)(図示しない)に一旦書き込まれた後、表示出力される。
【0047】
バス110上の各デバイスには、I/O空間上の固有のアドレス(I/Oアドレス)が割り振られており、I/Oアドレスの指定によって各デバイスへのアクセスが実現される。また、各デバイスのバス・インターフェースはI/Oレジスタ(図示しない)を備えており、デバイスへの書き込みデータやコマンド、デバイスからの読み出しデータ、デバイス状態などは一旦I/Oレジスタに書き込まれた後、バス転送が行なわれる。
【0048】
なお、計算機装置を構成するためには、図1に示した以外にも多くの回路コンポーネントが必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では省略している。また、図面の錯綜を回避するため、図中の各ハードウェア・ブロック間の接続も一部しか図示していない点を了承されたい。
【0049】
図3には、図1に示した計算機装置におけるサスペンド・レジューム処理の概略的な動作をフローチャートの形式で示している。
【0050】
まず、ユーザが計算機装置の電源スイッチをオフにすることにより(ステップS1)、サスペンド処理が起動される(ステップS2)。本実施形態では、電源スイッチをオフにする操作でサスペンド動作が起動しているが、オペレーティング・システムのGUI(Graphical User Interface)画面上を介してユーザが「サスペンド処理」を選択する、ユーザ入力が所定時間以上途絶える、あるいはローバッテリ状態になることによってサスペンド処理を起動するなど、他のシステム・イベントを利用してサスペンドを起動するようにしてもよい。
【0051】
ステップS2において、計算機装置の状態を不揮発性記憶装置に保存した後、計算機装置はハイバーネーション状態に遷移し、バッテリなどの主電源を切断する。
【0052】
このハイバーネーション期間中、電源スイッチが再び押されるかどうか(あるいは、ハイバーネーション状態からのレジュームを要求する他のイベントが発生したかどうか)を判定する(ステップS3)。レジューム処理の起動に関しては、キーボードへのキー入力やマウスの動作によって起動するなど、他のシステム・イベントを利用することができる。
【0053】
そして、電源スイッチが押されなかった場合は電源停止状態を続ける。すなわち、電源スイッチが押されるまで計算機装置は電源停止状態を続け、電源スイッチが押された時点で、レジューム処理を起動する(ステップS4)。レジューム処理により、計算機装置は、電源スイッチを押す前の状態に復帰する。
【0054】
ステップS4において、計算機装置の状態を復帰し、中断前(サスペンド処理の直前)の処理を再開し、サスペンド・レジュームに関する一連の処理を終了する。
【0055】
次に、本発明に係るサスペンド処理並びにレジューム処理の詳細について説明する。
【0056】
本発明に係るハイバーネーション動作の実施形態として、仮想メモリ方式を採用する場合のみに適用可能な形態と、仮想メモリ方式を採用しない場合でも適用可能な形態とに大別することができる。
【0057】
仮想メモリ・システムは、ハード・ディスクなどの外部記憶装置に対して論理的なアドレス(仮想アドレス)を割り振り、これらが見かけ上は物理メモリ空間の一部であるかのように扱うことで、少ない物理メモリ容量で論理的には大きなアドレス空間を実現することができる。
【0058】
仮想メモリ・システムでは、一般に、「ページ」と呼ばれる単位で細かく分割して仮想アドレス空間が管理されている。そして、プログラムの実行やデータへのアクセスの際に、ハード・ディスクへのページの退避(ページ・アウト)やハード・ディスクからメモリへの復元(ページ・イン)などが行なわれる。論理アドレスと物理アドレスの関係をページ単位で掌握するために、各アドレス空間の対応表であるページ・テーブルを用意する。また、一部のページ・テーブル・エントリは、CPU11内のメモリ管理ユニット(MMU)(図示しない)にTLB(Table Lookup Block)として保持される。
【0059】
仮想メモリ・システムが適用される計算機装置上では、サスペンド及びレジューム処理におけるシステムの状態情報の退避や復元を、仮想アドレス空間におけるページング動作と並行して実現することができる。まず、仮想メモリ・システムを適用した本発明の第1の実施形態について説明する。
【0060】
図4には、計算機装置が仮想メモリ・システムを適用した場合におけるサスペンド処理の動作手順をフローチャートの形式で示している。また、図5には、この場合のサスペンド処理の直前における計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示している。
【0061】
図5に示すように、通常の動作状態では、複数のアプリケーション・プログラムAP1、AP2、AP3やデータD1、D2が主記憶装置102上に配置(展開)され、CPU101によって実行されている。なお、図5では、主記憶装置102上のオペレーティング・システム並びに2次記憶装置105内のプログラムやデータのイメージは省略されている。
【0062】
図5に示す記憶空間の状態から計算機装置をサスペンド状態に至らしめるためには、レジュームにより同じ時点からタスクを再開させるために必要なプログラムやデータを適宜不揮発性の記憶装置に退避する必要がある。ここで言う不揮発性の記憶装置は、主記憶装置102内の不揮発性記憶部104と2次記憶装置105に相当する。このようなサスペンド処理の手順について、図4に示したフローチャートを参照しながら説明する。
【0063】
サスペンド処理が起動されると、計算機装置に接続しているデバイスなどの状態(以下では、「システム状態情報(ST)」と呼ぶ)を主記憶装置102上に退避する(ステップS11)。
【0064】
ここでいうシステム状態情報とは、バス110上の各デバイスにおけるI/Oレジスタの内容や、VRAM上のメモリ・イメージなどである。これらはタスクを継続するために必要なデータであり、言い換えれば、ハイバーネーション期間中も保持しておくべき退避データとなる。
【0065】
次いで、主記憶装置103上の各ページに一意な優先度を与える(ステップS12)。ここで言う優先度は、後のレジューム処理によるタスク再開時において必要となる優先度、言い換えれば、サスペンド処理による電源遮断時において不揮発性記憶部104に配置すべき優先度を意味する。
【0066】
本実施形態では、優先度割り振りの一例として、仮想メモリ・システムにおいてページング管理に利用されるLRU(Least recently Used)アルゴリズム(後述)での優先度をそのまま与えるものとする。但し、上記のシステム状態情報は、通常の仮想メモリ・システムの管理下には置かれないが、タスクを継続するために必須のデータであることから、最も高い優先度を与える(あるいはステップS11において不揮発性記憶部104に直接退避する)ようにする。他の優先度の与え方もあるが、これらの方法の詳細については後述に譲る。
【0067】
ステップS13からステップS20では、ステップS12で定めた優先度に基づいて、ページの退避処理を行なう。すなわち、優先度の高いページから順に、主記憶装置の不揮発性記憶部104に優先的に退避していく。
【0068】
ステップS13において、未退避のページの中で最も優先度が高いものが揮発性記憶部103に存在するかどうかを判定する。未退避のページの中で最も優先度が高いものが揮発性記憶部103に存在する場合は次ステップS14に進む。一方、退避対象となっているページが既に不揮発性記憶部104に存在する場合には、退避済みであることを記録するだけでよいので、ステップS17に進む。なお、ページが退避済みであるかどうかは、例えば各ページが退避領域として使われているかどうかを判定するビットマップを不揮発性記憶部104に配設し、ページ退避時に該当するビット位置に記録することで実現できる。
【0069】
ステップS14では、不揮発性記憶部104に存在するページの中で最も優先度が低いものを2次記憶装置105にスワップ・アウトし、このスワップ・アウト処理で空いた不揮発性記憶部104のページ領域に、未退避のページの中で最も優先度が高いものを退避する。なお、主記憶装置102上の情報が不揮発性記憶部104にすべて退避できる場合には、2次記憶装置105にスワップ・アウトせずに、不揮発性記憶部104内で元々空いている領域に退避することも可能である。
【0070】
ステップS15では、前ステップS14で不揮発性記憶部104に退避したページについて、ページ・テーブルの書き換え処理を行なう。
【0071】
仮想メモリ・システムをサポートした計算機装置では、プログラム実行中にメモリ空間上のプログラム又はデータにアクセスする際、通常、仮想アドレスを用いてページ・テーブルを検索することにより物理アドレスを得る(前述)。前ステップS14におけるページの退避動作によって、仮想アドレスに対応する物理アドレスが揮発性記憶部103から不揮発性記憶部104に変更されるため、ページ・テーブルにおいて、この整合性を取らなくてはならない。これは、該当するページ・テーブル・エントリを書き換えることで行なわれる。
【0072】
さらにステップS16では、前ステップS15で書き換えたページ・テーブル・エントリに対応するTLBエントリを無効化する。
【0073】
TLBは、ページ・テーブルのキャッシュに相当するものであり、こちらも仮想アドレスと物理アドレスのマッピングの整合性が取られていなくてはならない。ステップS16での処理は、主記憶装置102上のプログラム又はデータで電源切断までにアクセスされる可能性があるものがある場合の対策となっている。電源切断までにアクセスしないことが保証されているページに関しては、ステップS16におけるTLBエントリの無効化処理を省略することも可能である(TLB自体は電源切断でフラッシュ(消去)される)。
【0074】
ステップS17では、ページの退避が完了したことを記録する。この記録は、ステップS13の場合と同様、不揮発性記憶部104のページ集合を表すビットマップなどを用い、退避が完了したビット位置に記録するようにすればよい(不揮発性記憶部104に格納されているシステム情報の一部として用意する)
【0075】
ステップS18では、すべての未退避のページが退避されたことを判定する。すなわち、揮発性記憶部103内のすべてのページが不揮発性記憶部104(あるいは2次記憶装置105)に退避されているかどうかを判定する。すべてのページの退避が完了している場合はステップS21に進み、サスペンド処理を終了する。他方、未退避のページが存在する場合は、次ステップS19に進む。
【0076】
ステップS19では、不揮発性記憶部104に空きがある場合はステップS13に戻り、揮発性記憶部103から不揮発性記憶部104へのページの退避処理を続ける。一方、不揮発性記憶部104にもはや空きがない場合は、2次記憶装置105への退避処理を行なうために、次ステップS20へ進む。
【0077】
ステップS20では、揮発性記憶部103に残されている未退避(すなわち優先度の低い)のページを、不揮発性記憶部104ではなく2次記憶装置105にスワップ・アウトする。以上の処理によって、主記憶装置102上のページの退避処理は完了し、タスク再開に必要なデータが確保される。
【0078】
ステップS20で、不揮発性記憶部104に退避できなかったページを2次記憶装置105にスワップ・アウトする。すべての未退避のページについてのスワップ・アウトが完了した後、次ステップS21に進んで、計算機装置の電源を切断し、サスペンド処理を終了する。
【0079】
図6には、上記のサスペンド処理が完了した時点での計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示している。図示の状態のまま、計算機装置はユーザが復帰操作(例えば、計算機装置の電源スイッチを押すなど)を行なうまで停止する。
【0080】
図6に示す例では、揮発性記憶部103に配置されていたプログラムAP1とデータD1、並びにシステム状態STは、不揮発性記憶部104に退避されている。また、優先度の低いプログラムAP2やデータD2は、より優先度の高いプログラムやデータで不揮発性記憶部104の退避領域が満杯となってしまったことから、2次記憶装置105に退避されている。また、元々は不揮発性記憶部104に配置されていたプログラムAP3やデータD2は、優先度の高いプログラムやデータのための退避領域を設けるために、2次記憶装置105に退避されている。
【0081】
ここで言う優先度は、後のレジューム処理によるタスク再開時において必要となる優先度を意味する。プログラム及びデータの退避先を図6に示したように配置することにより、レジューム処理が起動されると、不揮発性記憶部104に格納された情報を基に復帰処理が行なわれるとともに、中断中のタスク処理がそのまま再開される。
【0082】
サスペンド状態にある計算機装置は、ユーザのスイッチ押下操作などにより、レジューム処理を開始する。図7には、計算機装置が仮想メモリ・システムを適用した場合におけるレジューム処理の動作手順をフローチャートの形式で示している。
【0083】
まず、レジューム処理が起動されると、主記憶装置102の不揮発性記憶部104に退避されている情報を用いて、デバイスの復帰処理などを行なう(ステップS31)。
【0084】
デバイスの復帰処理は、不揮発性記憶部104内のシステム状態情報として保存されている各デバイスのI/Oレジスタ値やVRAMのメモリ・イメージをそれぞれ元の場所に書き戻すことにより行なわれる。
【0085】
次いで、不揮発性記憶部104上の情報を用いて、サスペンド処理により中断したタスクの再開を行なうことによって、レジューム処理を終了する(ステップS32)。
【0086】
サスペンド処理において2次記憶装置105にスワップ・アウトされたページは、レジューム処理後で必要となった時点で適宜主記憶装置103上に配置される。但し、2次記憶装置105にスワップ・アウトされたページ群は、サスペンド処理の直前において最近のアクセスがなかった情報である。このため、例えば、不揮発性記憶部704の容量に比べて、巨大なアプリケーション・ソフトやデータ・ファイルを用いているような場合でない限り、レジューム処理直後に多数のスワップ・イン処理が生じる可能性は少ないと言える。
【0087】
図6に示した状態から一連のレジューム処理が完了した時点での記憶内容の配置状態を図8に示している。これは図6とほぼ同一であるが、不揮発性記憶部104上のデバイスの状態情報が復帰されているなど、システム内部的な状態は異なっている。
【0088】
既存の計算機装置ではサスペンド時に主記憶装置102上の情報をすべて2次記憶装置のみに保存する。これに対し、本実施形態では、保存すべき情報をステップS12で定めた優先度に基づいて不揮発性記憶部104に保存していき、不揮発性記憶部103に保存しきれなかった情報を2次記憶装置105に保存する、という点が異なる。
【0089】
ここで、図9にはサスペンド処理前とサスペンド処理後、並びにレジューム処理後のページ移動の様子を示している。サスペンド処理前に主記憶装置102の揮発性記憶部103にあったページは、優先度に応じて、主記憶装置102の不揮発性記憶部103又は2次記憶装置105に移動する。また、主記憶装置の不揮発性記憶部103に配置されていたページは、優先度に応じて、主記憶装置102の不揮発性記憶部103に留まるか、又は2次記憶装置105に移動する。このように、サスペンド処理時において、より低速な2次記憶装置105への退避すべき情報量が削減されるため、既存のサスペンド処理よりも高速な退避処理を実現することができる。
【0090】
また、レジューム処理が起動されると、不揮発性記憶部104に格納された情報を基に復帰処理が行なわれるとともに、中断中のタスク処理が再開される。従来のレジューム処理では低速な2次記憶装置に退避された情報を主記憶装置に転送し終わるまで待たなくてはならない。これに対し、本実施形態では、図9で示したよう、レジューム処理では高速な主記憶装置の不揮発性記憶部104上の情報のみで復帰処理が行なうことができるので、レジューム処理の所要時間が飛躍的に短縮される。
【0091】
このように、本発明の第1の実施形態では、仮想メモリ・システムに主記憶装置の不揮発性記憶部への退避優先度という概念を導入することにより、サスペンド処理及びレジューム処理の所要時間の短縮を達成することができる。特に、レジューム処理が単純化されるため、同レジューム処理を従来技術よりも格段に高速化することができる。
【0092】
続いて、仮想メモリ・システムを適用しない場合でも採用可能な、本発明の第2の実施形態について説明する。
【0093】
図10には、計算機装置が仮想メモリ・システムを適用しない場合におけるサスペンド処理の動作手順をフローチャートの形式で示している。また、図11には、この場合のサスペンド処理の直前における計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示している。
【0094】
図11に示すように、通常の動作状態では、複数のアプリケーション・プログラムAP1、AP2、AP3やデータD1、D2が主記憶装置102上に配置(展開)され、CPU101によって実行されている。なお、図11では、主記憶装置102上のオペレーティング・システム並びに2次記憶装置105内のプログラムやデータのイメージは省略されている。
【0095】
図11に示す記憶空間の状態から計算機装置をサスペンド状態に至らしめるためには、レジュームにより同じ時点からタスクを再開させるために必要なプログラムやデータを適宜不揮発性の記憶装置に退避する必要がある。ここで言う不揮発性の記憶装置は、主記憶装置102内の不揮発性記憶部104と2次記憶装置105に相当する。このようなサスペンド処理の手順について、図10に示したフローチャートを参照しながら説明する。ここでは、各プログラム及びデータが主記憶装置102上又は2次記憶装置105上で連続した領域を占有しているものとするが、非連続な領域を占有している場合についても容易に拡張することができる。
【0096】
まず、サスペンド処理が起動されると、システムが保存すべき情報の識別処理を行なう(ステップS41)。
【0097】
主記憶装置102上の情報はオペレーティング・システムが管理しており、この管理情報を活用する。具体的には、オペレーティング・システムなどのシステムに関する情報、主記憶装置102上で実行されているプログラム及びデータに関する情報である。これに加え、計算機装置に接続されている入出力装置に関するシステム状態情報(前述)も保存すべき情報の対象となる。
【0098】
次いで、前ステップS41において識別した各情報に対して、レジューム処理が起動されてタスクが再開した直後に必要とされるかに基づいて優先度を与える(ステップS42)。
【0099】
優先度の与え方については後に詳解するが、システムがタスクを再開するために必須な情報(オペレーティング・システムなど)に対しては、あらかじめ最高の優先度を与えるものとする。
【0100】
本実施形態では、退避する各情報についての優先度や元の格納場所並びに退避先の場所を管理するためのデータ構造を主記憶装置102の不揮発性記憶部104内に用意する。図12には、このデータ構造の構成例を示している。図示のデータ構造では、各情報はIDで一意に示されるものとし、各情報のエントリは、「優先度」、「退避元の位置」、「退避先の位置」、「サイズ」を格納するフィールドを持つ。「退避元の位置」にはサスペンド前の各退避すべき情報の先頭番地を格納し、「退避先の位置」にはサスペンド後の各退避すべき情報の格納位置(不揮発性記憶部104上の番地、又は2次記憶装置105上での先頭位置)を格納する。また、「サイズ」には各情報の大きさを格納する。また、「復帰?」は、復帰ビットであり、サスペンド処理時に未復帰を示すフラグで初期化される。
【0101】
次いで、前ステップS42で定めた優先度に基づいて、保存すべき情報の退避処理を行なう(ステップS43)。
【0102】
次いで、すべての保存すべき情報を退避できたかを判定する(ステップS44)。そして、すべて退避できた場合(すべての保存すべき情報を不揮発性記憶部104に退避することができた場合)は、計算機装置の電源を切断し、サスペンド処理を終了する(ステップS7)。すべての保存すべき情報がまだ退避できていない場合は、次ステップS45に進む。
【0103】
ステップS45では、不揮発性記憶部104の空き容量を判定する。不揮発性記憶部104に十分な容量が残っている場合は、ステップS43に戻り、上述の不揮発性記憶部104への情報の退避処理を繰り返し実行する。また、不揮発性記憶部104に十分な容量が残っていない場合は次ステップS46に進む。
【0104】
ステップS46では、保存すべき情報のうち不揮発性記憶部104に退避しきれなかったもの(すなわち、優先順位の低い情報)をすべて2次記憶装置105に退避する。
【0105】
そして、計算機装置の電源を切断した時点でサスペンド処理を終了する(ステップS47)。
【0106】
図13には、上記のサスペンド処理が完了した時点での計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示している。図示の状態のまま、計算機装置はユーザが復帰操作(例えば、計算機装置の電源スイッチを押すなど)を行なうまで停止する。
【0107】
図13に示す例では、揮発性記憶部103に配置されていたプログラムAP1とデータD1、並びにシステム状態STは、不揮発性記憶部104に退避されている。また、優先度のより低いプログラムAP2やデータD2は、より優先度の高いプログラムやデータで不揮発性記憶部104の退避領域が満杯となってしまったことから、2次記憶装置105に退避されている。また、元々は不揮発性記憶部104に配置されていたプログラムAP3やデータD2は、優先度の高いプログラムやデータの退避領域を設けるために、2次記憶装置105に退避されている。
【0108】
ここで言う優先度は、後のレジューム処理によるタスク再開時において必要となる優先度を意味する。プログラム及びデータの退避先を図13に示したように配置することにより、レジューム処理が起動されると、不揮発性記憶部104に格納された情報を基に復帰処理が行なわれるとともに、中断中のタスク処理がそのまま再開される。
【0109】
サスペンド状態にある計算機装置は、ユーザのスイッチ押下操作などにより、レジューム処理を開始する。図14には、計算機装置が仮想メモリ・システムを適用しない場合におけるレジューム処理の動作手順をフローチャートの形式で示している。
【0110】
まず、レジューム処理が起動されると、図12に示したデータ構造の該当情報エントリを参照して、主記憶装置102の不揮発性記憶部104に退避されている各情報を、「退避元の位置」で示す番地に復帰させ、復帰が完了した情報については「復帰ビット」を立てる(ステップS51)。
【0111】
次いで、主記憶装置102上の情報を用いて、システムの再開を行なう(ステップS52)。
【0112】
ここで、すべての必要な情報が不揮発性記憶部104に退避されているかどうかを判別する(ステップS53)。必要な情報がすべて不揮発性記憶部104に退避されていた場合は、既に計算機装置の状態が復帰されており、後続のタスク実行処理を行なうことができるので、レジューム処理を終了する。一方、不揮発記憶装置の情報のみでは復帰処理が完了していなかったと判断された場合には、次ステップS54に進む。
【0113】
ステップS54では、主記憶装置102上の情報を用いてシステムが再開する一方、そのバックグラウンド処理として、2次記憶装置105に退避している残りの保存情報をサスペンド処理時に決定した優先度の順に従って主記憶装置102に読み込む。このとき、復帰が完了した情報については、データ構造(図12を参照のこと)の該当情報エントリにおいて、その復帰ビットを立てる。
【0114】
ステップS55では、次ステップS54に付随する復帰処理を行なう。なお、ステップS54及びステップS55では、復帰中の情報は復帰処理が完了するまでは利用できないものとする。すなわち、同情報を用いるには復帰処理の完了を待つ必要がある。
【0115】
ステップS56では、2次記憶装置105上のすべての退避情報についての復帰が完了したかどうかを判断する。そして、これが完了している場合はレジューム処理を完了する。まだ完了していない場合は、ステップS54に戻り、再開したタスク実行のバックグラウンドにおいて復帰処理を続ける。
【0116】
図13に示した状態から一連のレジューム処理が完了した時点での記憶内容の配置状態を図15に示している。これは図13とほぼ同一であるが、不揮発性記憶部104上のデバイスの状態情報が復帰されているなど、システム内部的な状態は異なっている。
【0117】
本実施形態に係る計算機装置では、レジューム処理が起動されると、不揮発性記憶部104に格納された情報を基に計算機装置の状態を復帰するとともに、不揮発性記憶部104に格納されたプログラムAP1やデータD1を実行する。このように、不揮発性記憶部104上のプログラムが実行された時点で、計算機装置のユーザには、計算機装置が通常動作状態に復帰した効果を与える。
【0118】
第1の実施形態の場合と同様に、本発明の第2の実施形態では、保存すべき情報をステップS42で定めた優先度に基づいて主記憶装置102の不揮発性記憶部104に保存していき、不揮発性記憶部104に保存できなかった情報を2次記憶装置105に保存するという点で、従来のサスペンド処理とは相違する。
【0119】
ここで、図16には、サスペンド処理前とサスペンド処理後、並びにレジューム処理後の情報の移動の様子を示している。サスペンド処理前に主記憶装置102の揮発性記憶部103にあった情報は、優先度に応じて、主記憶装置102の不揮発性記憶部104又は2次記憶装置105に移動する。また、主記憶装置102の不揮発性記憶部104にあった情報は、優先度に応じて、主記憶装置102の不揮発性記憶部104に留まるか、又は2次記憶装置105に移動する。このように、低速な2次記憶装置105への退避すべき情報量が削減されるため、既存のサスペンド処理よりも高速な退避処理を実現することができる。また、低速な2次記憶装置105からの転送処理を待たずして、計算機装置の処理が再開されるため、ユーザの体感所要時間を既存のレジューム処理に比べて大幅に短縮することができる。
【0120】
このように、本発明の第2の実施形態では、タスク再開時における必要度合いによる優先度に基づいて、主記憶装置102の不揮発性記憶部104を有効活用することにより、サスペンド処理及びレジューム処理の所要時間の短縮を達成することができる。また、上述した第1の実施形態とは異なり、仮想メモリ・システムをサポートしない環境(例えば、組み込み用途のように、CPUにMMUを搭載していない機器など)においても適用することが可能である。
【0121】
続いて、サスペンド処理時における、退避すべき情報に対する優先度付けに関する3通りの手段について説明する。これら優先度付け手段は、上述した本発明の第1及び第2の実施形態のいずれにも適用することができる。
【0122】
第1の優先度付けの手段は、オペレーティング・システムにおいて提供される仮想メモリ・システムを利用した方法である。但し、第2の実施形態で適用する場合は、仮想メモリ・システムをサポートしている環境のみ適用可能である(仮想メモリ・システムをサポートしていない環境では、後述の第2の優先順位付け手段、あるいは第3の優先順位付け手段を用いることができる)。仮想メモリ・システムは、計算機装置に搭載している主記憶装置の容量よりも多くのメモリを必要とするプログラムやデータを扱うためのメカニズムである
【0123】
図17には、仮想メモリ・システムの構成を模式的に示している。物理メモリすなわち主記憶装置102の容量は例えば数十〜数百メガバイト程度である。これに対し、仮想メモリは、例えば32ビット・アーキテクチャであれば4ギガバイト(=232)程度の広大なアドレス空間である。当然、仮想アドレスのごく一部しか物理メモリ上に存在せず、その他のデータはハード・ディスク上に退避されている。
【0124】
仮想メモリ・システムを実現する際、タスク切り替えの度にタスクに関するメモリの内容をハード・ディスクに退避したりハード・ディスクから回復したりするのでは効率的でない。そこで、仮想アドレス空間を「ページ」と呼ばれる単位で細かく分割し、ページ単位で論理アドレス空間と物理アドレス空間のマッピングが行なわれる。ページ単位で管理することにより、物理メモリ上には常に複数のタスクのページが配置された状態となり、タスク切り替え時にハード・ディスクへのページの退避(ページ・アウト)や復元(ページ・イン)が頻繁に起こることはなくなる。仮想メモリへのアクセスは、仮想アドレス空間上のページ・アドレスの参照という形態で行なわれる。仮想メモリ・システムでは、論理アドレスと物理アドレスの関係をページ単位で掌握するために、ページ・テーブルを用意する。
【0125】
仮想メモリ・システムにおけるページ・アウトやページ・インなどのページ置き換え処理では、LRU(Least Recently Used)すなわち最近最も参照されなくなった主記憶装置上のページを置き換えるというアルゴリズム及びその近似アルゴリズムが広く用いられている。オペレーティング・システムは、このLRUアルゴリズムを実現するために、主記憶上の各ページに対するアクセス時刻情報を管理している。本発明では、仮想メモリ・システムにおけるこのようなページ管理情報を活用して、最近アクセスされたページから順に高い優先度を与えていくという優先度付けを行なう。
【0126】
既に述べたように、第1の実施形態に対しては、仮想メモリ・システムにおけるページ管理情報を直接用いることができる。一方、このページ管理情報を第2の実施形態で活用する場合には、ページ単位ではなく、プログラム及びデータ単位の優先度に変換する方法が必要である。このような優先度の与え方としては、例えば、(1)プログラム及びデータが保有するページの最高優先度のものに着目し、この優先度が高い順に高い優先度を与える方法、(2)プログラム及びデータが保有するページの優先度の上位数個の平均の大きいものから順に高い優先度を与える方法、などが考えられる。
【0127】
第2の優先度付けの手段は、一般的なオペレーティング・システムにおいて管理している「実行中のプログラムの最近のアイドル時間」に関する情報を優先度付けに活用する方法である。すなわち、アイドル時間の小さいプロセス(最近実行されているプロセス)から順に高い優先度を与えていき、アイドル時間が大きいプロセス(最近実行されていないプロセス)ほど低い優先度を与えるようにする。
【0128】
ここで、プロセス同士の間で一意な優先度を与えるには、例えば、アイドル時間の等しいプロセスの間には、システムの管理するプロセスIDの大小関係などで優先度の大小を決するようにすればよい。また、データ(アプリケーションが使うファイルなど)に対する優先度は、そのデータを用いるプロセスの中で最高優先度を持つプロセスの優先度に準ずるようにする。1つのプロセスが複数のデータを用いる場合は、プロセスの場合と同様に、IDなどで大小を決すればよい。第2の実施形態では、プログラム及びデータに一意な優先度を与えることで、アイドル時間に関する情報を優先度付けにそのまま活用することができる。
【0129】
一方、第1の実施形態において、アイドル時間に関する情報を優先度付けに適用するには、プログラムやデータに与えた優先度をページ単位の優先度に変換することで実現できる。すなわち、優先度の高いプログラムやデータに属するページほど高い優先度を与えるという変換を行なう。一般に、プログラムやデータには複数のページが属するが、その間に一意な優先度を与えるには、前述のLRUアルゴリズムにおける優先度を適用する方法などがある。
【0130】
第3の優先度付けの手段は、ユーザからの定義を優先度付けに反映させる方法である。すなわち、ユーザが主記憶装置102の不揮発性記憶部104に残したいプログラムやデータの優先度をあらかじめ指定し、サスペンド時において、この優先度を考慮してプログラムやデータを退避する。ユーザが優先度を定義する方法としては、例えば、(1)サスペンドを行なう前にユーザが優先度リストを編集し、システムに与える方法、(2)サスペンド直前にシステムがユーザに優先度を尋ねる方法、などが挙げられる。
【0131】
ここで、ユーザがすべてのプログラムやデータに関して優先度を与えるとは限らない。この場合には、ユーザが優先度を与えなかったプログラムやデータに対してシステムが自動的に優先度を付ける方法を適用することができる。すなわち、ユーザが付けた優先度リストにおける最低優先度の退避すべき情報に続いて、残りの退避すべき情報に対してシステムが自動的に優先度付けしたリストを加え、すべての退避すべき情報に関する優先度リストを作成する。システムが自動的に優先度付けする方法としては、例えば上述した第1並びに第2の優先度付けの手段などを適用することができる。
【0132】
また、ユーザがプログラムやデータに優先度を与えるのが煩わしいという場合には、主記憶装置102の不揮発性記憶部104に残しておきたいプログラムやデータの候補をユーザがシステムに与えるという方法も考えられる。この場合、まず、ユーザが与えた候補リストに対して、システムが自動的に優先度を与える。その後、残りの退避すべき情報に対してもシステムが自動的に優先度付けを行ない、候補リストに対する優先度付けの結果に残りの退避すべき情報(候補でないもの)に対する優先度付けの結果を加えて、すべての情報に対する優先度リストを作成する。この方法においても、システムが自動的に優先度付けする方法として、上述した第1並びに第2の優先度付けの手段を適用することができる。
【0133】
第3の優先度付け手段については、第2の実施形態に直接適用することができる。また、第2の優先度付け手段によりプログラムやデータの優先度をページ単位の優先度に変換する手法を用いることで、第1の実施形態に適用することも可能である。
【0134】
次に、レジューム処理時の復帰処理中において未復帰の情報が呼び出されたときに対処する手段について説明する。
【0135】
第2の実施形態では、レジューム処理時には、主記憶装置102上のプログラムやデータを用いて中断していたタスクを再開しながら、タスク実行のバックグラウンドで、2次記憶装置105に退避されていたプログラムやデータを退避元の位置に復元する処理が行なわれる。ここで、バックグラウンド処理で未復帰の情報がタスクにより呼び出された場合に、当該手段を用いることができる。
【0136】
レジューム処理中に、主記憶装置102に未だ復帰していないプログラムやデータが必要になったとする。例えば、主記憶装置102に復帰していないプログラムをレジューム処理中にユーザが実行したいとする。この場合、現在復帰中の情報の転送を中断し、ユーザが現在必要とする情報を優先して主記憶装置102に転送して、その転送処理が完了した後に中断した転送処理を再開する、という方法を行なえば、ユーザの操作性を向上させることができる。
【0137】
ユーザが現在必要とする情報を優先して復帰させる場合も、図12に示したようなデータ構造を参照する。図18には、レジューム処理時の復帰処理中において未復帰の情報が呼び出されたときに対処するための処理手順を、フローチャートの形式で示している。
【0138】
まず、途中で復帰処理を中断するプログラムやデータに対して、中断箇所に関する情報を図12に示したデータ構造に保存する(ステップS61)。ここで、中断時の2次記憶装置105上の位置を「退避先の位置」に、中断時の主記憶装置102上の位置を「退避元の位置」に、中断時の残りの転送量を「サイズ」に記録する。
【0139】
次いで、割り込み復帰処理リストを主記憶装置102上に生成して、すぐに復帰しなくてはならないプログラムやデータの復帰処理を当該リストの末尾に追加する(ステップS62)。
【0140】
そして、割り込み復帰処理リストの先頭から順に処理を開始する(ステップS63)。
【0141】
ここで、新たに割り込み復帰処理が発生した場合は(ステップS64)、ステップS62に戻り、新たな割り込み復帰処理を割り込み復帰処理リストの末尾に加える。ステップS63では、現在実行中の割り込み復帰処理が再び選ばれるため、続きの処理を継続することになる。
【0142】
一方、新たな割り込み復帰処理が発生しない場合は、次ステップS65に進み、現在実行中の復帰処理が完了したかどうかを判断する。復帰処理が完了していない場合は、ステップS63に戻り、現在実行中の復帰処理を再開する。
【0143】
次いで、現在実行中の復帰処理が完了したかどうかを判別する(ステップS65)。そして、復帰処理が完了したと判断される場合は、次ステップS66に進む。
【0144】
ステップS66では、割り込み復帰処理リストの先頭の処理(直前まで行なっていた割り込み復帰処理)を除去する。
【0145】
次いで、割り込み復帰処理リストが空になったかどうかを判別する(ステップS67)。割り込み復帰処理リストが空になっている場合は、現時点で緊急に行なうべき復帰処理がないことを意味し、割り込み復帰処理を終了する。その後、2次記憶装置105上の最高優先度の情報の復帰処理に戻る。また、割り込み復帰処理リストが空になっていない場合には、ステップS63に戻り、割り込み復帰処理を続ける。
【0146】
このように、割り込み復帰処理リストというデータ構造を用いることで、複数の割り込み復帰処理に対応することができる。また、割り込み復帰処理が発生する直前まで実行していた復帰処理が緊急に必要になった場合にも対応することができる。
【0147】
次に、2次記憶装置105から主記憶装置102へのデータの復帰処理中に、復帰が未完了の情報へのアクセスを禁ずるための手段について説明する。この手段も、第2の実施形態におけるサスペンドからレジューム処理において活用することができる。
【0148】
本発明の第2の実施形態のようにシステム再開後もレジューム処理をバックグラウンドで継続処理するような計算機装置において、バックグラウンドで主記憶装置102に転送しているプログラムやデータをシステム内のあるプログラムが呼び出した場合、これを禁止する機構が必要である。何故ならば、復帰が完了していないメモリ領域にはでたらめな情報が書き込まれているにも拘らず、このような呼び出しを許してしまえば、復帰中のプログラムやデータの一部とみなしてしまい、呼び出したプログラムが誤動作したり暴走したりする可能性が生じるからである。
【0149】
このような問題を解決するために、図12に示したデータ構造を用いてアクセス許可を判定することができる。また、図19には、レジューム処理中に復帰が未完了の情報へのアクセスを禁止するための処理手順をフローチャートの形式で示している。
【0150】
まず、サスペンド前に主記憶装置102上に存在した情報へのアクセスがあった場合、図12に示したデータ構造の該当情報エントリを参照し、その情報の復帰ビットを調べる(ステップS71)。
【0151】
この復帰ビットが「未復帰」を示していた場合には、次ステップS72に進み、復帰の完了を待つ。また、「復帰」を示していた場合、既に主記憶装置102上に情報が存在するため、ステップS73に進み、アクセスを許可する。
【0152】
ステップS72では、アクセスしようとした情報が主記憶装置102上に復帰されるのを待つ。そして、当該情報が主記憶装置102に復帰された時点で次ステップS73に進み、この情報にアクセスすることができる。
【0153】
ステップS73では、アクセスを試みた情報が主記憶装置102上に存在するので、これにアクセスして所望の処理を行なう。
【0154】
以上のように、第2の実施形態において、2次記憶装置105から主記憶装置102への情報の復帰中に、復帰が未完了の情報にアクセス要求が生じた場合の対応を行なうことができる。
【0155】
[追補]
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0156】
【発明の効果】
以上詳記したように、本発明によれば、電源遮断時にシステムの状態情報を不揮発性の記憶装置に退避し、電源再投入時に退避した状態情報を復元して処理を再開させるハイバーネーション機能を備えた、優れた情報処理システム及びその制御方法、並びにコンピュータ・プログラムを提供することができる。
【0157】
本発明によれば、計算機装置において、サスペンド・レジューム機能の退避・復帰処理に要する時間を大幅に短縮し、特にノートPCなどの携帯端末におけるユーザの操作性(退避・復帰処理の待ち時間)を格段に改善することができる。
【0158】
また、本発明によれば、サスペンド・レジューム機能の退避・復帰処理に要する消費電力を削減し、特にノートPCなどの携帯端末におけるバッテリの持ちを改善することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る計算機装置のハードウェア構成を模式的に示した図である。
【図2】既存の計算機装置の構成を模式的に示した図である。
【図3】サスペンド・レジューム処理の概略的な動作を示したフローチャートである。
【図4】本発明の第1の実施形態におけるサスペンド処理の動作手順を示したフローチャートである。
【図5】サスペンド処理の直前における計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示した図である。
【図6】サスペンド処理が完了した時点での計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示した図である。
【図7】本発明の第1の実施形態におけるレジューム処理の動作手順を示したフローチャートである。
【図8】レジューム処理が完了した時点での計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示した図である。
【図9】サスペンド処理前とサスペンド処理後、並びにレジューム処理後におけるページ移動の様子を示した図である。
【図10】本発明の第2の実施形態におけるサスペンド処理の動作手順を示したフローチャートである。
【図11】サスペンド処理の直前における計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示した図である。
【図12】退避する各情報についての優先度や元の格納場所並びに退避先の場所を管理するためのデータ構造を示した図である。
【図13】サスペンド処理が完了した時点での計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示した図である。
【図14】本発明の第2の実施形態におけるレジューム処理の動作手順を示したフローチャートである。
【図15】レジューム処理が完了した時点での計算機装置内の主記憶装置102並びに2次記憶装置105の記憶内容を模式的に示した図である。
【図16】サスペンド処理前とサスペンド処理後、並びにレジューム処理後におけるページ移動の様子を示した図である。
【図17】仮想メモリ・システムの構成を模式的に示した図である。
【図18】レジューム処理時の復帰処理中において未復帰の情報が呼び出されたときに対処するための処理手順を示したフローチャートである。
【図19】レジューム処理中に復帰が未完了の情報へのアクセスを禁止するための処理手順を示したフローチャートである。
【符号の説明】
101…CPU
102…主記憶装置
103…揮発性記憶部
104…不揮発性記憶部
105…2次記憶装置
106…入出力装置
110…バス
Claims (37)
- 処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するタイプの情報処理装置であって、
情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部を備えた主記憶装置と、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避手段と、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開手段と、
を具備することを特徴とする情報処理装置。 - 不揮発性の2次記憶装置をさらに備え、
前記情報退避手段は、所定の優先度に従って前記揮発性記憶部上の情報を前記不揮発性記憶部に退避するとともに、該情報退避動作において前記不揮発性記憶部から溢れた情報を前記2次記憶装置に退避する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記処理再開手段は、再開した処理を実行中、退避された情報を必要に応じて前記主記憶装置上の適宜元の場所に復元する、
ことを特徴とする請求項1又は2のいずれかに記載の情報処理装置。 - 処理の再開に必要な情報を識別し、該識別した情報に対して優先度を付与する優先度付け手段をさらに備え、
前記情報退避手段は、優先度の高い情報から順に前記不揮発性記憶部に格納するとともに、前記不揮発性記憶部に格納できなかった前記主記憶装置上の情報を前記2次記憶装置に退避する、
ことを特徴とする請求項2に記載の情報処理装置。 - 前記優先度付け手段は、最近アクセスされた情報の順に優先度を与える、
ことを特徴とする請求項4に記載の情報処理装置。 - 前記優先度付け手段は、最近のアイドル時間の小さい処理に関連する情報の順に優先度を与える、
ことを特徴とする請求項4に記載の情報処理装置。 - 前記主記憶装置上の情報領域に対する優先度をユーザにとって有意な情報単位に対する優先度に変換する手段をさらに備える、
ことを特徴とする請求項4に記載の情報処理装置。 - 前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高い領域に着目し、該領域の優先度の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項7に記載の情報処理装置。 - 前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高いものから順に一定個に着目し、該領域内での優先度の平均値の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項7に記載の情報処理装置。 - 前記処理再開手段は、前記2次記憶装置に退避された情報を優先度に従って前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項4に記載の情報処理装置。 - 前記処理再開手段は、再開した処理の続行に必要な情報が発生したことに応答して、優先度に従った情報の復元を中断して、該必要な情報を前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項10に記載の情報処理装置。 - 再開した処理の続行に必要な情報が複数発生した場合に各々に優先度を与える、
ことを特徴とする請求項11に記載の情報処理装置。 - 前記主記憶装置及び前記2次記憶装置上の記憶空間は仮想記憶機構に基づいて管理されており、電源の遮断及び投入に伴う情報の退避及び復元を所定のページ単位で行なう、
ことを特徴とする請求項2に記載の情報処理装置。 - 前記情報退避手段はLRUアルゴリズムに基づいて前記揮発性記憶部上の情報の退避処理を行ない、
前記処理再開手段により再開された処理を実行中にページ・ミスした情報が適宜前記2次記憶装置から元の場所にページ・インされる、
ことを特徴とする請求項13に記載の情報処理装置。 - ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える手段をさらに備える、
ことを特徴とする請求項4に記載の情報処理装置。 - ユーザが一部の情報単位に対して優先度を与える第1の手段と、
ユーザが優先度を与えなかった情報単位に対して自動的に優先度を与える第2の手段と、
前記第1及び第2の手段を用いてすべての情報単位に対して一意な優先度を与える第3の手段と、
をさらに備えることを特徴とする請求項15に記載の情報処理装置。 - ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える第1の手段と、
各々の情報単位の属する主記憶装置上の領域に対して一意な優先度を与える第2の手段と、
前記の各手段を用いて主記憶装置上の全領域に対して一意な優先度を与える第3の手段と、
をさらに備えることを特徴とする請求項4に記載の情報処理装置。 - 前記第1の手段は、ユーザが一部の情報単位に対して一意な優先度を与える手段と、ユーザが優先度を与えなかった情報単位に対して自動的に一意な優先度を与える手段を備える、
ことを特徴とする請求項17に記載の情報処理装置。 - 処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するタイプの情報処理装置の制御方法であって、
前記情報処理装置は、情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部からなる主記憶装置を備えており、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避ステップと、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開ステップと、
を具備することを特徴とする情報処理装置の制御方法。 - 前記情報処理装置は不揮発性の2次記憶装置をさらに備え、
前記情報退避ステップでは、所定の優先度に従って前記揮発性記憶部上の情報を前記不揮発性記憶部に退避するとともに、該情報退避動作において前記不揮発性記憶部から溢れた情報を前記2次記憶装置に退避する、
ことを特徴とする請求項19に記載の情報処理装置の制御方法。 - 前記処理再開ステップでは、再開した処理を実行中、退避された情報を必要に応じて前記主記憶装置上の適宜元の場所に復元する、
ことを特徴とする請求項19又は20のいずれかに記載の情報処理装置の制御方法。 - 処理の再開に必要な情報を識別し、該識別した情報に対して優先度を付与する優先度付けステップをさらに備え、
前記情報退避ステップでは、優先度の高い情報から順に前記不揮発性記憶部に格納するとともに、前記不揮発性記憶部に格納できなかった前記主記憶装置上の情報を前記2次記憶装置に退避する、
ことを特徴とする請求項20に記載の情報処理装置の制御方法。 - 前記優先度付けステップでは、最近アクセスされた情報の順に優先度を与える、
ことを特徴とする請求項22に記載の情報処理装置の制御方法。 - 前記優先度付けステップでは、最近のアイドル時間の小さい処理に関連する情報の順に優先度を与える、
ことを特徴とする請求項22に記載の情報処理装置の制御方法。 - 前記主記憶装置上の情報領域に対する優先度をユーザにとって有意な情報単位に対する優先度に変換するステップをさらに備える、
ことを特徴とする請求項22に記載の情報処理装置の制御方法。 - 前記優先度付けステップでは、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高い領域に着目し、該領域の優先度の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項25に記載の情報処理装置の制御方法。 - 前記優先度付けステップでは、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高いものから順に一定個に着目し、該領域内での優先度の平均値の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項25に記載の情報処理装置の制御方法。 - 前記処理再開ステップでは、前記2次記憶装置に退避された情報を優先度に従って前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項22に記載の情報処理装置の制御方法。 - 前記処理再開ステップでは、再開した処理の続行に必要な情報が発生したことに応答して、優先度に従った情報の復元を中断して、該必要な情報を前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項28に記載の情報処理装置の制御方法。 - 再開した処理の続行に必要な情報が複数発生した場合に各々に優先度を与える、
ことを特徴とする請求項29に記載の情報処理装置の制御方法。 - 前記主記憶装置及び前記2次記憶装置上の記憶空間は仮想記憶機構に基づいて管理されており、電源の遮断及び投入に伴う情報の退避及び復元を所定のページ単位で行なう、
ことを特徴とする請求項20に記載の情報処理装置の制御方法。 - 前記情報退避ステップではLRUアルゴリズムに基づいて前記揮発性記憶部上の情報の退避処理を行ない、
前記処理再開ステップにより再開された処理を実行中にページ・ミスした情報が適宜前記2次記憶装置から元の場所にページ・インされる、
ことを特徴とする請求項31に記載の情報処理装置の制御方法。 - ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与えるステップをさらに備える、
ことを特徴とする請求項22に記載の情報処理装置の制御方法。 - ユーザが一部の情報単位に対して優先度を与える第1のステップと、
ユーザが優先度を与えなかった情報単位に対して自動的に優先度を与える第2のステップと、
前記第1及び第2のステップによりすべての情報単位に対して一意な優先度を与える第3のステップと、
をさらに備えることを特徴とする請求項33に記載の情報処理装置の制御方法。 - ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える第1のステップと、
各々の情報単位の属する主記憶装置上の領域に対して一意な優先度を与える第2のステップと、
前記の各ステップを用いて主記憶装置上の全領域に対して一意な優先度を与える第3のステップと、
をさらに備えることを特徴とする請求項22に記載の情報処理装置の制御方法。 - 前記第1のステップは、ユーザが一部の情報単位に対して一意な優先度を与えるステップと、ユーザが優先度を与えなかった情報単位に対して自動的に一意な優先度を与えるステップを備える、
ことを特徴とする請求項35に記載の情報処理装置の制御方法。 - 処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
主記憶装置は、情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部で構成され、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避ステップと、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開ステップと、
を具備することを特徴とするコンピュータ・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162288A JP4281421B2 (ja) | 2003-06-06 | 2003-06-06 | 情報処理システム及びその制御方法、並びにコンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162288A JP4281421B2 (ja) | 2003-06-06 | 2003-06-06 | 情報処理システム及びその制御方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004362426A true JP2004362426A (ja) | 2004-12-24 |
JP4281421B2 JP4281421B2 (ja) | 2009-06-17 |
Family
ID=34054477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003162288A Expired - Fee Related JP4281421B2 (ja) | 2003-06-06 | 2003-06-06 | 情報処理システム及びその制御方法、並びにコンピュータ・プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4281421B2 (ja) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334383A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 情報処理装置とその起動方法およびプログラム |
WO2008081915A1 (ja) | 2006-12-28 | 2008-07-10 | Sony Corporation | 情報処理装置、起動方法、およびプログラム |
JP2009104320A (ja) * | 2007-10-22 | 2009-05-14 | Seiko Epson Corp | データ管理装置、情報処理装置及びプログラム |
JP2009223713A (ja) * | 2008-03-18 | 2009-10-01 | Fujitsu Ltd | メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム |
JP2010086365A (ja) * | 2008-10-01 | 2010-04-15 | Fujitsu Microelectronics Ltd | 記録媒体、ドライブ装置、マウントプログラムおよびマウント方法 |
JP2010165251A (ja) * | 2009-01-16 | 2010-07-29 | Toshiba Corp | 情報処理装置及びプロセッサ並びに情報処理方法 |
JP2010186477A (ja) * | 2009-02-10 | 2010-08-26 | Samsung Electronics Co Ltd | メモリシステム及びその磨耗度管理方法 |
JP2011137885A (ja) * | 2009-12-25 | 2011-07-14 | Canon Inc | 画像形成装置及びその制御方法 |
US8069360B2 (en) | 2006-12-28 | 2011-11-29 | Sony Corporation | Apparatus, method and computer program for processing information |
US8117476B2 (en) | 2006-12-28 | 2012-02-14 | Sony Corporation | Information processing apparatus, startup method and computer program |
JP2012504278A (ja) * | 2008-09-23 | 2012-02-16 | クゥアルコム・インコーポレイテッド | 不揮発性磁気メモリを使用している低電力電子システム |
JP2012203585A (ja) * | 2011-03-24 | 2012-10-22 | Toshiba Corp | 情報処理装置 |
JP2013037430A (ja) * | 2011-08-04 | 2013-02-21 | Dainippon Printing Co Ltd | Icチップ、icチップにおける処理方法、及びicチップ用処理プログラム |
JP2013050657A (ja) * | 2011-08-31 | 2013-03-14 | Kyocera Document Solutions Inc | 画像形成装置 |
CN103049339A (zh) * | 2011-09-09 | 2013-04-17 | 微软公司 | 恢复应用和/或使应用免于中止 |
JP2013073498A (ja) * | 2011-09-28 | 2013-04-22 | Toshiba Corp | 情報処理装置および制御方法 |
WO2013076913A1 (ja) * | 2011-11-24 | 2013-05-30 | パナソニック株式会社 | 仮想計算機システム、仮想計算機システム制御方法、及び仮想計算機システム制御プログラム |
JP2014006626A (ja) * | 2012-06-22 | 2014-01-16 | Semiconductor Energy Lab Co Ltd | コンピュータのメモリ管理方法 |
JP2014501976A (ja) * | 2010-12-06 | 2014-01-23 | マイクロソフト コーポレーション | 高速コンピューター起動 |
US8683249B2 (en) | 2009-09-16 | 2014-03-25 | Kabushiki Kaisha Toshiba | Switching a processor and memory to a power saving mode when waiting to access a second slower non-volatile memory on-demand |
JP2014063358A (ja) * | 2012-09-21 | 2014-04-10 | Fixstars Corp | 情報処理装置、情報処理方法、およびプログラム |
WO2015015589A1 (ja) * | 2013-07-31 | 2015-02-05 | 富士通株式会社 | 情報処理装置、メモリダンプ方法、およびメモリダンププログラム |
US8997171B2 (en) | 2011-08-19 | 2015-03-31 | Microsoft Technology Licensing, Llc | Policy based application suspension and termination |
US9025366B2 (en) | 2012-10-10 | 2015-05-05 | Samsung Electronics Co., Ltd. | Main memory system storing operating system program and computer system including the same |
US9063845B2 (en) | 2012-08-29 | 2015-06-23 | Buffalo Memory Co., Ltd. | Solid-state drive device |
US9081692B2 (en) | 2012-10-26 | 2015-07-14 | Canon Kabushiki Kaisha | Information processing apparatus and method thereof |
JP2016004420A (ja) * | 2014-06-17 | 2016-01-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリ管理方法 |
JP2016009275A (ja) * | 2014-06-23 | 2016-01-18 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびコンピュータプログラム |
JP2016009273A (ja) * | 2014-06-23 | 2016-01-18 | キヤノン株式会社 | 情報処理装置および情報処理方法、およびコンピュータプログラム |
US9274808B2 (en) | 2010-07-08 | 2016-03-01 | Konica Minolta Business Technologies, Inc. | Image processing apparatus and hibernation start-up method |
US9348606B2 (en) | 2010-12-06 | 2016-05-24 | Microsoft Technology Licensing, Llc | Fast computer startup |
US9411607B2 (en) | 2010-12-06 | 2016-08-09 | Microsoft Technology Licensing, Llc | Fast computer startup |
CN107153586A (zh) * | 2016-03-04 | 2017-09-12 | 富士通株式会社 | 装置和数据保存处理方法 |
US9904350B2 (en) | 2013-02-28 | 2018-02-27 | Toshiba Memory Corporation | Control device and computer program product |
US10445233B2 (en) | 2014-06-23 | 2019-10-15 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960035077A (ko) * | 1995-03-22 | 1996-10-24 | 이형도 | 주사 광학장치 |
-
2003
- 2003-06-06 JP JP2003162288A patent/JP4281421B2/ja not_active Expired - Fee Related
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334383A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 情報処理装置とその起動方法およびプログラム |
US7937571B2 (en) | 2006-06-12 | 2011-05-03 | Sony Corporation | Information-processing apparatus and activation method and program for activating an operating system in a short period of time |
WO2008081915A1 (ja) | 2006-12-28 | 2008-07-10 | Sony Corporation | 情報処理装置、起動方法、およびプログラム |
US8176305B2 (en) | 2006-12-28 | 2012-05-08 | Sony Corporation | Information processing apparatus, activation method, and program |
US8069360B2 (en) | 2006-12-28 | 2011-11-29 | Sony Corporation | Apparatus, method and computer program for processing information |
US8117476B2 (en) | 2006-12-28 | 2012-02-14 | Sony Corporation | Information processing apparatus, startup method and computer program |
JP2009104320A (ja) * | 2007-10-22 | 2009-05-14 | Seiko Epson Corp | データ管理装置、情報処理装置及びプログラム |
JP2009223713A (ja) * | 2008-03-18 | 2009-10-01 | Fujitsu Ltd | メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム |
JP2012504278A (ja) * | 2008-09-23 | 2012-02-16 | クゥアルコム・インコーポレイテッド | 不揮発性磁気メモリを使用している低電力電子システム |
US8719610B2 (en) | 2008-09-23 | 2014-05-06 | Qualcomm Incorporated | Low power electronic system architecture using non-volatile magnetic memory |
JP2015038738A (ja) * | 2008-09-23 | 2015-02-26 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 不揮発性磁気メモリを使用している低電力電子システム |
JP2010086365A (ja) * | 2008-10-01 | 2010-04-15 | Fujitsu Microelectronics Ltd | 記録媒体、ドライブ装置、マウントプログラムおよびマウント方法 |
US8583862B2 (en) | 2008-10-01 | 2013-11-12 | Fujitsu Semiconductor Limited | Recording medium, drive device, and mounting method |
JP2010165251A (ja) * | 2009-01-16 | 2010-07-29 | Toshiba Corp | 情報処理装置及びプロセッサ並びに情報処理方法 |
JP2010186477A (ja) * | 2009-02-10 | 2010-08-26 | Samsung Electronics Co Ltd | メモリシステム及びその磨耗度管理方法 |
US8683249B2 (en) | 2009-09-16 | 2014-03-25 | Kabushiki Kaisha Toshiba | Switching a processor and memory to a power saving mode when waiting to access a second slower non-volatile memory on-demand |
JP2011137885A (ja) * | 2009-12-25 | 2011-07-14 | Canon Inc | 画像形成装置及びその制御方法 |
US9274808B2 (en) | 2010-07-08 | 2016-03-01 | Konica Minolta Business Technologies, Inc. | Image processing apparatus and hibernation start-up method |
JP2014501976A (ja) * | 2010-12-06 | 2014-01-23 | マイクロソフト コーポレーション | 高速コンピューター起動 |
US9411607B2 (en) | 2010-12-06 | 2016-08-09 | Microsoft Technology Licensing, Llc | Fast computer startup |
US9361128B2 (en) | 2010-12-06 | 2016-06-07 | Microsoft Technology Licensing, Llc | Fast computer startup |
US9032194B2 (en) | 2010-12-06 | 2015-05-12 | Microsoft Technology Licensing, Llc | Fast computer startup |
US20160328243A1 (en) | 2010-12-06 | 2016-11-10 | Microsoft Technology Licensing, Llc | Fast computer startup |
US9348606B2 (en) | 2010-12-06 | 2016-05-24 | Microsoft Technology Licensing, Llc | Fast computer startup |
US10061595B2 (en) | 2010-12-06 | 2018-08-28 | Microsoft Technology Licensing, Llc | Fast computer startup |
US10268487B2 (en) | 2010-12-06 | 2019-04-23 | Microsoft Technology Licensing, Llc | Fast computer startup |
JP2012203585A (ja) * | 2011-03-24 | 2012-10-22 | Toshiba Corp | 情報処理装置 |
JP2013037430A (ja) * | 2011-08-04 | 2013-02-21 | Dainippon Printing Co Ltd | Icチップ、icチップにおける処理方法、及びicチップ用処理プログラム |
US8997171B2 (en) | 2011-08-19 | 2015-03-31 | Microsoft Technology Licensing, Llc | Policy based application suspension and termination |
JP2013050657A (ja) * | 2011-08-31 | 2013-03-14 | Kyocera Document Solutions Inc | 画像形成装置 |
US9361150B2 (en) | 2011-09-09 | 2016-06-07 | Microsoft Technology Licensing, Llc | Resuming applications and/or exempting applications from suspension |
CN103049339A (zh) * | 2011-09-09 | 2013-04-17 | 微软公司 | 恢复应用和/或使应用免于中止 |
JP2013073498A (ja) * | 2011-09-28 | 2013-04-22 | Toshiba Corp | 情報処理装置および制御方法 |
WO2013076913A1 (ja) * | 2011-11-24 | 2013-05-30 | パナソニック株式会社 | 仮想計算機システム、仮想計算機システム制御方法、及び仮想計算機システム制御プログラム |
US9367342B2 (en) | 2011-11-24 | 2016-06-14 | Panasonic Intellectual Property Corporation Of America | Optimizing a deactivation process for a virtual machine system |
JPWO2013076913A1 (ja) * | 2011-11-24 | 2015-04-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 仮想計算機システム、仮想計算機システム制御方法、及び仮想計算機システム制御プログラム |
JP2014006626A (ja) * | 2012-06-22 | 2014-01-16 | Semiconductor Energy Lab Co Ltd | コンピュータのメモリ管理方法 |
US9063845B2 (en) | 2012-08-29 | 2015-06-23 | Buffalo Memory Co., Ltd. | Solid-state drive device |
US9632714B2 (en) | 2012-08-29 | 2017-04-25 | Buffalo Memory Co., Ltd. | Solid-state drive device |
JP2014063358A (ja) * | 2012-09-21 | 2014-04-10 | Fixstars Corp | 情報処理装置、情報処理方法、およびプログラム |
US9025366B2 (en) | 2012-10-10 | 2015-05-05 | Samsung Electronics Co., Ltd. | Main memory system storing operating system program and computer system including the same |
US9081692B2 (en) | 2012-10-26 | 2015-07-14 | Canon Kabushiki Kaisha | Information processing apparatus and method thereof |
US9904350B2 (en) | 2013-02-28 | 2018-02-27 | Toshiba Memory Corporation | Control device and computer program product |
US10025670B2 (en) | 2013-07-31 | 2018-07-17 | Fujitsu Limited | Information processing apparatus, memory dump method, and storage medium |
WO2015015589A1 (ja) * | 2013-07-31 | 2015-02-05 | 富士通株式会社 | 情報処理装置、メモリダンプ方法、およびメモリダンププログラム |
JPWO2015015589A1 (ja) * | 2013-07-31 | 2017-03-02 | 富士通株式会社 | 情報処理装置、メモリダンプ方法、およびメモリダンププログラム |
US9891854B2 (en) | 2014-06-17 | 2018-02-13 | International Business Machines Corporation | Memory management method |
US9552291B2 (en) | 2014-06-17 | 2017-01-24 | International Business Machines Corporation | Memory management method |
JP2016004420A (ja) * | 2014-06-17 | 2016-01-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリ管理方法 |
JP2016009273A (ja) * | 2014-06-23 | 2016-01-18 | キヤノン株式会社 | 情報処理装置および情報処理方法、およびコンピュータプログラム |
JP2016009275A (ja) * | 2014-06-23 | 2016-01-18 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびコンピュータプログラム |
US10445233B2 (en) | 2014-06-23 | 2019-10-15 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
CN107153586A (zh) * | 2016-03-04 | 2017-09-12 | 富士通株式会社 | 装置和数据保存处理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4281421B2 (ja) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4281421B2 (ja) | 情報処理システム及びその制御方法、並びにコンピュータ・プログラム | |
US8838918B2 (en) | Information processing apparatus and data backup method | |
JP6882662B2 (ja) | マイグレーションプログラム、情報処理装置およびマイグレーション方法 | |
JP4902501B2 (ja) | 電力制御方法、計算機システム、及びプログラム | |
TW201331941A (zh) | 經由記憶體通道關閉之節電技術 | |
JP2009525555A (ja) | 装置の非アクティブな期間の間、dramの未使用部分のリフレッシュを動作不能にすることによって電力消費量を低減すること | |
JPH077317B2 (ja) | システム再起動装置 | |
US20110099339A1 (en) | Information processing apparatus, method for controlling information processing apparatus and storage medium | |
JP2011186555A (ja) | メモリ管理装置及び方法 | |
CN103914325B (zh) | 基于混合内存的Linux系统的关机、开机方法及系统 | |
US20140297927A1 (en) | Information processing apparatus, information processing method, and recording medium | |
KR101392062B1 (ko) | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 | |
JP2006252754A (ja) | ポータブルデジタルオーディオ/ビデオ再生装置 | |
JP2011186553A (ja) | メモリ管理装置 | |
US6851012B2 (en) | Information processing system, information processing method and readable-by-computer recording medium | |
JP2010044460A (ja) | 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 | |
US20130332662A1 (en) | Information processing apparatus and method and program | |
JP5166211B2 (ja) | 不揮発性メモリを主記憶に用いた装置 | |
JPH0944418A (ja) | 情報処理システム及びその制御方法 | |
JP2008158773A (ja) | 情報処理装置およびメモリ管理方法 | |
KR100994723B1 (ko) | 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체 | |
JP2011186558A (ja) | メモリ管理装置及び方法 | |
JP2002099390A (ja) | ディスク制御装置 | |
US20140289486A1 (en) | Information processing apparatus, information processing method, and recording medium | |
JP2008262451A (ja) | メモリ電源管理装置及びメモリ電源管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090309 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |