JP2008158773A - 情報処理装置およびメモリ管理方法 - Google Patents
情報処理装置およびメモリ管理方法 Download PDFInfo
- Publication number
- JP2008158773A JP2008158773A JP2006346254A JP2006346254A JP2008158773A JP 2008158773 A JP2008158773 A JP 2008158773A JP 2006346254 A JP2006346254 A JP 2006346254A JP 2006346254 A JP2006346254 A JP 2006346254A JP 2008158773 A JP2008158773 A JP 2008158773A
- Authority
- JP
- Japan
- Prior art keywords
- volatile memory
- data
- memory
- storage area
- saved
- 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.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】サスペンド/レジューム機能を有する情報処理装置において、レジューム時の所要時間をより短縮させることを実現する。
【解決手段】メモリ管理ユーティリティ101は、サスペンド時、揮発性メモリ13内に存在する使用中のデータを不揮発性メモリ12内に退避させたとき、その揮発性メモリ13の領域が仮想アドレス空間の一部であるかどうかを調べ、仮想アドレス空間の一部であったならば、レジューム時の不揮発性メモリ12から揮発性メモリ13への復元を省略させるために、そのページテーブルエントリを退避先の不揮発性メモリ12の領域を示すように更新するとともに、この揮発性メモリ13へのデータの復元に用いられるコピー管理表150への当該コピー(揮発性メモリ13から不揮発性メモリ12へのコピー)の履歴の記録を省略する。
【選択図】図1
【解決手段】メモリ管理ユーティリティ101は、サスペンド時、揮発性メモリ13内に存在する使用中のデータを不揮発性メモリ12内に退避させたとき、その揮発性メモリ13の領域が仮想アドレス空間の一部であるかどうかを調べ、仮想アドレス空間の一部であったならば、レジューム時の不揮発性メモリ12から揮発性メモリ13への復元を省略させるために、そのページテーブルエントリを退避先の不揮発性メモリ12の領域を示すように更新するとともに、この揮発性メモリ13へのデータの復元に用いられるコピー管理表150への当該コピー(揮発性メモリ13から不揮発性メモリ12へのコピー)の履歴の記録を省略する。
【選択図】図1
Description
この発明は、いわゆるサスペンド/レジューム機能を有するパーソナルコンピュータ等に適用して好適なメモリ管理技術に関する。
近年、ノートブックタイプやデスクトップタイプ等、様々なタイプのパーソナルコンピュータが広く普及している。この種のパーソナルコンピュータでは、例えば前日の退勤時に中断した状態から作業を再開すること等を可能とするいわゆるサスペンド/レジューム機能を有することが一般的である。
このサスペンド/レジューム機能は、例えば電源ボタンの押下等によるサスペンド指示を受けた際、その時の動作状態を退避させておき、レジューム指示を受けた際には、その退避させておいた動作状態を復元することで実現する。その処理の大部分は、揮発性メモリ上に存在する使用中のデータを不揮発性メモリ上にコピーし、また、不揮発性メモリ上にコピーしたデータを揮発性メモリに再コピーすることに費やされている。そのため、サスペンド時やレジューム時の所要時間を短縮すべく、速やかに使用中データのコピーを完了させるための工夫がこれまでも種々提案されている(例えば特許文献1等参照)。
国際公開第01/037066号パンフレット
上記特許文献1の情報処理装置では、DRAM等に存在する使用中データの退避先をHDD等よりも動作速度の速いフラッシュメモリ等とすることによって、サスペンド時やレジューム時の所要時間を短縮するというものである。
ところで、この手法では、レジューム時において、フラッシュメモリ等に退避したデータすべてを一律にDRAM等に書き戻す。しかしながら、最近では、搭載されるメモリが大容量化の傾向にあるので、サスペンド時やレジューム時の所要時間を短縮するためのさらなる工夫が要求され始めている。
この発明は、このような事情を考慮してなされたものであり、レジューム時の所要時間をより短縮させることを実現する情報処理装置およびメモリ管理方法を提供することを目的とする。
前述した目的を達成するために、この発明の情報処理装置は、データ記憶領域上の物理的な位置を指定してアクセス可能な揮発性メモリと、データ記憶領域上の物理的な位置を指定してアクセス可能な不揮発性メモリと、その時の動作状態を保持しながら電源オフするサスペンド時に、前記揮発性メモリに格納された使用中のデータを前記不揮発性メモリに退避させる退避手段と、前記退避手段がデータを退避した前記揮発性メモリ内のデータ記憶領域がマッピングされたメインメモリ空間上の領域に、退避先である不揮発性メモリ内のデータ記憶領域をマッピングし直す更新手段と、を具備することを特徴とする。
この発明によれば、レジューム時の所要時間をより短縮させることを実現する情報処理装置およびメモリ管理方法を提供できる。
以下、図面を参照して本発明の一実施形態を説明する。
図1には、本発明の実施形態に係る情報処理装置の概略構成が示されている。この情報処理装置10は、例えばノートブックタイプやデスクトップタイプのパーソナルコンピュータ等として実現されている。
図1に示すように、この情報処理装置10は、CPU11、不揮発性メモリ12、揮発性メモリ13およびHDD/フラッシュROM14を有している。
CPU11は、この情報処理装置内の各部の動作を制御するプロセッサである。CPU11は、HDD14/フラッシュROM14から不揮発性メモリ12または揮発性メモリ13にロードされるオペレーティングシステム(OS)100や当該OS100の配下で動作する各種プログラムを実行する。この各種プログラムの中に、後述するメモリ管理ユーティリティ101が存在する。
不揮発性メモリ12は、例えばMRAM、FeRAM、セルフリフレッシュでバックアップされたDRAM等で構成される、データを恒久的に保持することのできるメモリデバイスであり、一方、揮発性メモリ13は、DRAM等で構成される、データを一時的(電力が供給されている期間中)に保持することのできるメモリデバイスである。この不揮発性メモリ12および揮発性メモリ13の双方とも、リニアにアクセス可能、即ち、データ記憶領域上の物理的な位置を指定してアクセス可能なメモリデバイスである。
HDD/フラッシュROM14は、ハードディスクとフラッシュROMを併せ持つハイブリッド型のストレージデバイスであり、不揮発性メモリ12および揮発性メモリ13の補助装置として大量の各種プログラムおよび各種データを格納する。
このような構成を持つ本情報処理装置10は、中断した時点の状態から作業を再開することを可能とするいわゆるサスペンド/レジューム機能を有している。前述のメモリ管理ユーティリティ101は、このサスペンド/レジューム機能に関し、揮発性メモリ13に格納された使用中データの退避/復元を実行制御する。より具体的には、メモリ管理ユーティリティ101は、サスペンド時に揮発性メモリ13に格納された使用中データを不揮発性メモリ12に退避させることを基本とし、不揮発性メモリ12の空き容量を越える量の使用中データが揮発性メモリ13に存在する場合には、その超過分をHDD/フラッシュROM14に退避する。そして、メモリ管理ユーティリティ101は、レジューム時に不揮発性メモリ12およびHDD/フラッシュROM14に退避させた使用中データを揮発性メモリ13に復元する。この復元のために、メモリ管理ユーティリティ101は、退避元のデータ記憶領域と退避先のデータ記憶領域との対応を記録するコピー管理表150を不揮発性メモリ12上で管理する。
ところで、前述したように、不揮発性メモリ12および揮発性メモリ13の双方とも、リニアにアクセス可能なメモリデバイスである。従って、これらのデータ記憶領域はCPU11がアクセスできるメインメモリ空間(仮想アドレス空間)に割り当てることが可能である。この点に着目して、この情報処理装置10は、レジューム時におけるデータ復帰の所要時間を短縮させるための仕組みを備えたものである。以下、この点について詳述する。
図2には、サスペンド時における本情報処理装置10の仮想アドレス空間の割り当て状況が示されている。CPU11によるアクセスは、すべて仮想アドレス空間21に対して行われ、この仮想アドレス空間21と物理的なメモリである不揮発性メモリ12および揮発性メモリ13とは、ページテーブルエントリ22で対応づけられている。
メモリ管理ユーティリティ101は、サスペンド時においては、この揮発性メモリ13に格納された使用中データを不揮発性メモリ12またはHDD/フラッシュROM14に退避させ、その履歴をコピー管理表150に記録する。一方、レジューム時においては、メモリ管理ユーティリティ101は、このコピー管理表150に基づき、不揮発性メモリ12またはHDD/フラッシュROM14に退避させた使用中データを揮発性メモリ13に復元する。最近では、搭載されるメモリが大容量化の傾向にあるので、この使用中データ復元に時間を要するようになってきている。そこで、メモリ管理ユーティリティ101は、この復元のための処理量を軽減するために、ページテーブルエントリ22によって仮想アドレス空間21に割り当てられた揮発性メモリ13のデータ記憶領域上の使用中データを不揮発性メモリ12のデータ記憶領域上に退避した場合、このページテーブルエントリ22の内容を更新する。図3は、揮発性メモリ13に格納された使用中データの退避およびページテーブルエントリ22の更新が行われた後の本情報処理装置10の仮想アドレス空間の割り当て状況を示す図である。
図3に示すように、かつて使用中データが格納されていた揮発性メモリ13上のデータ記憶領域のアドレスが保持されていたページテーブルエントリ22には、退避先の不揮発性メモリ12上のデータ記憶領域のアドレスが保持されている。そのため、CPU11による当該使用中データへのアクセスは何ら問題なく行うことができる。不揮発性メモリ12から揮発性メモリ13へ使用中データをコピーする所要時間と比較して、ページテーブルエントリ22を更新する所要時間は十分小さいので、レジューム時におけるデータ復帰の所要時間を大幅に短縮することを実現する。なお、ページテーブルエントリ22は、OS100によって管理されるので、メモリ管理ユーティリティ101は、その更新をOS100に依頼する。
図4は、本情報処理装置10がサスペンド時に実行するメモリ管理の手順を示すフローチャートである。
メモリ管理ユーティリティ101は、サスペンド時、揮発性メモリ13内に使用中のデータ(領域)があるかどうかを順次調べていき(ステップA1)、使用中の領域があったならば(ステップA1のYES)、続いて、その領域上のデータを退避させるための未使用領域が不揮発性メモリ12内に残存するかどうかを調べる(ステップA2)。
もし、未使用領域が不揮発性メモリ12内にあったら(ステップA2のYES)、メモリ管理ユーティリティ101は、その揮発性メモリ13の内容を不揮発性メモリ12にコピーする(ステップA3)。そして、この時、メモリ管理ユーティリティ101は、その揮発性メモリ13の領域が仮想アドレス空間21の一部であるかどうかを調べ(ステップA4)、仮想アドレス空間21の一部であったならば(ステップA4のYES)、ページテーブルエントリ22の更新を実行する(ステップA5)。また、その揮発性メモリ13の領域が仮想アドレス空間21の一部でなければ(ステップA4のNO)、メモリ管理ユーティリティ101は、この揮発性メモリ13から不揮発性メモリ12へのコピーの履歴をコピー管理表150に記録する(ステップA7)。
一方、未使用領域が不揮発性メモリ12内になければ(ステップA2のNO)、メモリ管理ユーティリティ101は、その揮発性メモリ13の内容をHDD/フラッシュROM14にコピーして(ステップA6)、このHDD/フラッシュROM14から不揮発性メモリ12へのコピーの履歴をコピー管理表150に記録する(ステップA7)。
そして、不揮発性メモリ12またはHDD/フラッシュROM14へのコピーを完了すると、メモリ管理ユーティリティ101は、その揮発性メモリ13の領域を未使用領域に変更し(ステップA8)、ステップA1から処理を繰り返す。即ち、揮発性メモリ13内に使用中の領域がない状態(ステップA1のNO)となるまで、メモリ管理ユーティリティ101は、上記の処理を繰り返す。
その後のレジューム時には、逆に、コピー管理表150に基づき、メモリ管理ユーティリティ101は、不揮発性メモリ12またはHDD/フラッシュROM14から揮発性メモリ13へのコピーを行うことになるが、仮想アドレス空間21の一部である領域について行った揮発性メモリ13から不揮発性メモリ12へのコピーの履歴はコピー管理表150に記録されていないので、その分のコピーが省略されることになる。
このように、本実施形態の情報処理装置10によれば、レジューム時の所要時間をより短縮させることが実現される。
なお、以上では、ページテーブルエントリ22の更新を、サスペンド時に実施する例を説明したが、その実施タイミングをレジューム時に移動させることも可能である。この場合、コピー管理表150に基づいて揮発性メモリ13へのコピーを行っていく際に、仮想アドレス空間21の一部である領域について揮発性メモリ13から不揮発性メモリ12へコピーしたものかどうかを調べて、そうであれば、実データのコピーに代えて、ページテーブルエントリ22の更新を行うようにすればよい。あるいは、揮発性メモリ13へのコピーを行っていく前に、仮想アドレス空間21の一部である領域について行った揮発性メモリ13から不揮発性メモリ12へのコピーをコピー管理表150から検出し、ページテーブルエントリ22の更新を実行すると共に、この履歴をコピー管理表150から削除する作業を前処理としてうことによっても可能である。
このように、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
10…情報処理装置、11…CPU、12…不揮発性メモリ、13…揮発性メモリ、14…HDD/フラッシュROM、21…仮想アドレス空間、22…ページテーブルエントリ、100…オペレーティングシステム(OS)、101…メモリ管理ユーティリティ、150…コピー管理表。
Claims (8)
- データ記憶領域上の物理的な位置を指定してアクセス可能な揮発性メモリと、
データ記憶領域上の物理的な位置を指定してアクセス可能な不揮発性メモリと、
その時の動作状態を保持しながら電源オフするサスペンド時に、前記揮発性メモリに格納された使用中のデータを前記不揮発性メモリに退避させる退避手段と、
前記退避手段がデータを退避した前記揮発性メモリ内のデータ記憶領域がマッピングされたメインメモリ空間上の領域に、退避先である不揮発性メモリ内のデータ記憶領域をマッピングし直す更新手段と、
を具備することを特徴とする情報処理装置。 - 前記退避手段によるデータ退避が行われた際、前記更新手段による再マッピングに係わるデータ以外のデータについて、退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性メモリ内のデータ記憶領域との対応を記録する記録手段と、
サスペンド時に保持された動作状態を復元させながら電源オンするレジューム時に、前記記録手段に記録された対応に基づき、前記不揮発性メモリに退避されたデータを前記揮発性メモリに書き戻す復元手段と、
をさらに具備することを特徴とする請求項1記載の情報処理装置。 - 前記更新手段は、前記サスペンド時、前記退避手段によるデータ退避後に、前記再マッピングを行うことを特徴とする請求項1記載の情報処理装置。
- 前記更新手段は、前記レジューム時、前記復元手段によるデータ復元前に、前記再マッピングを行うことを特徴とする請求項1記載の情報処理装置。
- 前記不揮発性メモリよりも記憶容量の大きい不揮発性の記憶装置をさらに具備し、
前記退避手段は、退避すべき前記揮発性メモリ上のデータ量が前記不揮発性メモリ上の空き容量を超えている場合、その超過分を前記不揮発性の記憶装置に退避し、
前記記録手段は、前記退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性の記憶装置内のデータ記憶領域との対応をさらに記録し、
前記復元手段は、前記記録手段に記録された対応に基づき、さらに前記不揮発性の記憶装置に退避されたデータを前記揮発性メモリに書き戻す、
ことを特徴とする請求項2記載の情報処理装置。 - データ記憶領域上の物理的な位置を指定してアクセス可能な揮発性メモリおよび不揮発性メモリを具備する情報処理装置のメモリ管理方法であって、
その時の動作状態を保持しながら電源オフするサスペンド時に、前記揮発性メモリに格納された使用中のデータを前記不揮発性メモリに退避させ、
前記データを退避した前記揮発性メモリ内のデータ記憶領域がマッピングされたメインメモリ空間上の領域に、退避先である不揮発性メモリ内のデータ記憶領域をマッピングし直す、
ことを特徴とするメモリ管理方法。 - 前記データ退避を行った際、前記再マッピングに係わるデータ以外のデータについて、退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性メモリ内のデータ記憶領域との対応を記録する記録し、
サスペンド時に保持された動作状態を復元させながら電源オンするレジューム時に、前記記録した対応に基づき、前記不揮発性メモリに退避されたデータを前記揮発性メモリに書き戻す、
ことを特徴とする請求項6記載のメモリ管理方法。 - 前記情報処理装置は、前記不揮発性メモリよりも記憶容量の大きい不揮発性の記憶装置をさらに具備し、
退避すべき前記揮発性メモリ上のデータ量が前記不揮発性メモリ上の空き容量を超えている場合、その超過分を前記不揮発性の記憶装置に退避し、
前記退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性の記憶装置内のデータ記憶領域との対応をさらに記録し、
前記記録した対応に基づき、さらに前記不揮発性の記憶装置に退避されたデータを前記揮発性メモリに書き戻す、
ことを特徴とする請求項7記載のメモリ管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006346254A JP2008158773A (ja) | 2006-12-22 | 2006-12-22 | 情報処理装置およびメモリ管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006346254A JP2008158773A (ja) | 2006-12-22 | 2006-12-22 | 情報処理装置およびメモリ管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008158773A true JP2008158773A (ja) | 2008-07-10 |
Family
ID=39659615
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006346254A Pending JP2008158773A (ja) | 2006-12-22 | 2006-12-22 | 情報処理装置およびメモリ管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008158773A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010186477A (ja) * | 2009-02-10 | 2010-08-26 | Samsung Electronics Co Ltd | メモリシステム及びその磨耗度管理方法 |
| US8626987B2 (en) | 2009-10-27 | 2014-01-07 | Samsung Electronics Co., Ltd. | Flash memory system and defragmentation method |
| JP2014041649A (ja) * | 2013-10-28 | 2014-03-06 | Toshiba Corp | 仮想記憶管理装置及び記憶管理装置 |
| JP2015018575A (ja) * | 2014-09-25 | 2015-01-29 | 株式会社東芝 | 記憶装置、情報処理装置、及びプログラム |
| WO2015186165A1 (ja) * | 2014-06-02 | 2015-12-10 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
| US9256264B2 (en) | 2012-06-22 | 2016-02-09 | Semiconductor Energy Laboratory Co., Ltd. | Information processing device and method for driving the same |
-
2006
- 2006-12-22 JP JP2006346254A patent/JP2008158773A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010186477A (ja) * | 2009-02-10 | 2010-08-26 | Samsung Electronics Co Ltd | メモリシステム及びその磨耗度管理方法 |
| US8626987B2 (en) | 2009-10-27 | 2014-01-07 | Samsung Electronics Co., Ltd. | Flash memory system and defragmentation method |
| US9256264B2 (en) | 2012-06-22 | 2016-02-09 | Semiconductor Energy Laboratory Co., Ltd. | Information processing device and method for driving the same |
| JP2014041649A (ja) * | 2013-10-28 | 2014-03-06 | Toshiba Corp | 仮想記憶管理装置及び記憶管理装置 |
| WO2015186165A1 (ja) * | 2014-06-02 | 2015-12-10 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
| US9697097B2 (en) | 2014-06-02 | 2017-07-04 | Hitachi, Ltd. | Storage system and method for controlling storage system |
| JP2015018575A (ja) * | 2014-09-25 | 2015-01-29 | 株式会社東芝 | 記憶装置、情報処理装置、及びプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5404798B2 (ja) | 仮想記憶管理装置及び記憶管理装置 | |
| CN101901189B (zh) | 更新用户数据的方法以及恢复用户数据的方法 | |
| JP5808854B2 (ja) | ストレージシステム及びストレージ方法 | |
| JP4248510B2 (ja) | 計算機システム、ディスク装置およびデータ更新制御方法 | |
| US20050086551A1 (en) | Memory optimization for a computer system having a hibernation mode | |
| US10430346B2 (en) | DDR storage adapter | |
| JP2004362426A (ja) | 情報処理システム及びその制御方法、並びにコンピュータ・プログラム | |
| JP2009187062A (ja) | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 | |
| JP2010211734A (ja) | 不揮発性メモリを用いた記憶装置 | |
| JP2009064263A (ja) | メモリ装置 | |
| JP2008299848A (ja) | 不揮発性メモリのデータ処理装置及びその処理方法 | |
| JP2019133703A (ja) | 記憶システム | |
| JP2010211618A (ja) | 半導体記憶装置 | |
| JP2016085677A (ja) | メモリ管理方法、メモリ管理プログラム及び情報処理装置 | |
| US20130332662A1 (en) | Information processing apparatus and method and program | |
| JP4988054B2 (ja) | メモリシステム | |
| US20140218767A1 (en) | Image forming apparatus, memory management method for image forming apparatus, and program | |
| JP2008158773A (ja) | 情報処理装置およびメモリ管理方法 | |
| US8478956B2 (en) | Computing system and method controlling memory of computing system | |
| JP2002099390A (ja) | ディスク制御装置 | |
| US20090157951A1 (en) | Information recording device and information recording method | |
| US20140289486A1 (en) | Information processing apparatus, information processing method, and recording medium | |
| JP2009258925A (ja) | 計算機システムおよび計算機システムのメモリ管理方法 | |
| US20160259697A1 (en) | Storage system and method for controlling storage system | |
| CN101789004B (zh) | 一种Flash文件系统的快速启动方法及装置 |