JP5960519B2 - コンピュータのメモリ管理方法 - Google Patents

コンピュータのメモリ管理方法 Download PDF

Info

Publication number
JP5960519B2
JP5960519B2 JP2012140608A JP2012140608A JP5960519B2 JP 5960519 B2 JP5960519 B2 JP 5960519B2 JP 2012140608 A JP2012140608 A JP 2012140608A JP 2012140608 A JP2012140608 A JP 2012140608A JP 5960519 B2 JP5960519 B2 JP 5960519B2
Authority
JP
Japan
Prior art keywords
storage device
stored
computer
main storage
page
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.)
Expired - Fee Related
Application number
JP2012140608A
Other languages
English (en)
Other versions
JP2014006626A (ja
JP2014006626A5 (ja
Inventor
卓也 太田
卓也 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Semiconductor Energy Laboratory Co Ltd
Original Assignee
Semiconductor Energy Laboratory Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Semiconductor Energy Laboratory Co Ltd filed Critical Semiconductor Energy Laboratory Co Ltd
Priority to JP2012140608A priority Critical patent/JP5960519B2/ja
Publication of JP2014006626A publication Critical patent/JP2014006626A/ja
Publication of JP2014006626A5 publication Critical patent/JP2014006626A5/ja
Application granted granted Critical
Publication of JP5960519B2 publication Critical patent/JP5960519B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

開示される発明の一態様は、コンピュータのメモリ管理方法に関する。
近年、様々な電気機器が、CPU(Central Processing Unit:中央演算処理装置)及びメモリを有するコンピュータを搭載している。このようなコンピュータの多くは、コンピュータでの作業を中断するための電源オフ時に、主記憶装置(「メインメモリ」ともいう)に記憶されているデータを外部記憶装置(ハードディスクドライブ)に保存し、その後、主記憶装置を含む各デバイスの電源をオフにするハイバネーション処理を行っている。ハイバネーション処理を行うことにより、コンピュータの電源を再度オンにした時(レジューム処理時)、作業途中から再開できる。
また、再度コンピュータの電源をオンにした時には、電源をオフにする直前の状態に復帰させるレジューム処理が行われる。ハイバネーション処理、及びハイバネーション処理からの復帰であるレジューム処理を行うことにより、中途の状態のままコンピュータの作業の中断が行える(特許文献1乃至特許文献3)。
特開2010−55184号公報 特開平10−333997号公報 特開2007−304914号公報
しかし、ハイバネーション処理時に外部記憶装置に保存されたデータには、揮発性メモリである主記憶装置上の空き領域や破棄可能な領域も含まれている。このため、主記憶装置のメモリ容量が増加すればするほど、ハイバネーション処理及びレジューム処理に要する時間が増大する。そのため、コンピュータの電源をオフ又は復帰しても、コンピュータが休止状態又は利用可能な状態となるまでに時間を要するという問題があった。
以上を鑑みて、開示される発明の一態様では、ハイバネーション処理及びレジューム処理に要する時間を短縮することを課題の一とする。
また開示される発明の一態様では、コンピュータの電源をオフ又は復帰した後に、コンピュータが休止状態又は利用可能な状態となるまでの時間を短縮することを課題の一とする。
開示する発明の一態様では、ハイバネーション処理時に、主記憶装置上のデータのうち、一定期間アクセスされなくなった古いデータを外部記憶装置に退避させるスワップアウト処理を行う。当該一定期間アクセスされなくなった古いデータには、主記憶装置上の空き領域や破棄可能な領域が含まれている。
また主記憶装置上のデータのうち、アクセスが頻繁に行われるデータは、主記憶装置以上の記憶容量を有する補助記憶装置に保存する。当該補助記憶装置として不揮発性メモリを用いることにより、コンピュータの電源をオフにした後もデータを保存する。
アクセスが頻繁に行われるデータを、外部記憶装置よりも高速な補助記憶装置に保存するので、ハイバネーション処理にかかる時間を短縮することができる。
また補助記憶装置として、主記憶装置以上の記憶容量を有する不揮発性メモリを用いることで、当該補助記憶装置に保存されるデータに対して、可能な限り圧縮を行わない。
また、レジューム処理において、可能な限り圧縮されていない、補助記憶装置(不揮発性メモリ)上のデータ(アクセスが頻繁に行われるデータ)を最初に読み出すので、レジューム処理に要する時間を短縮することができる。
開示される発明の一態様は、コンピュータの電源のオフ時に、揮発性の第1の記憶装置上のデータにスワップアウト処理を行うことにより、前記揮発性の第1の記憶装置上のデータのうち、優先度の低いデータを、外部記憶装置に保存し、当該第1の記憶装置上のデータのうち、優先度の高いデータを、当該第1の記憶装置以上の記憶容量を有し、不揮発性の第2の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法に関する。
開示される発明の一態様において、当該外部記憶装置は、ハードディスクドライブであることを特徴とする。
開示される発明の一態様において、当該コンピュータの電源のオフ時に、当該優先度の高いデータを、非圧縮で当該第2の記憶装置に保存することを特徴とする。
開示される発明の一態様において、当該コンピュータの電源のオフ時に、当該優先度の高いデータを、圧縮して当該第2の記憶装置に保存することを特徴とする。
開示される発明の一態様において、当該コンピュータの電源の復帰時に、当該第2の記憶装置に保存された優先度の高いデータに直接アクセスすることを特徴とする。
開示される発明の一態様において、当該コンピュータの電源の復帰時に、当該第2の記憶装置に保存された優先度の高いデータを、当該第1の記憶装置にコピーすることを特徴とする。
開示される発明の一態様により、ハイバネーション処理及びレジューム処理に要する時間を短縮することができる。
また開示される発明の一態様により、コンピュータの電源をオフ又は復帰した後に、コンピュータが休止状態又は利用可能な状態となるまでの時間を短縮することができる。
コンピュータのブロック図。 ハイバネーション処理を説明するフローチャート。 レジューム処理を説明するフローチャート。
以下、本明細書に開示された発明の実施の態様について、図面を参照して説明する。但し、本明細書に開示された発明は多くの異なる態様で実施することが可能であり、本明細書に開示された発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施の形態の記載内容に限定して解釈されるものではない。なお、以下に示す図面において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。また、同様のものを指す際には同じハッチパターンを使用し、特に符号を付さない場合がある。
なお本明細書に開示された発明において、半導体装置とは、半導体を利用することで機能する素子及び装置全般を指し、電子回路、表示装置、発光装置、記憶装置等を含む電気装置およびその電気装置を搭載した電気機器をその範疇とする。
なお、図面等において示す各構成の、位置、大きさ、範囲などは、説明を分かりやすくするために、実際の位置、大きさ、範囲などを表していない場合がある。このため、開示する発明は、必ずしも、図面等に開示された位置、大きさ、範囲などに限定されない。
なお、本明細書等における「第1」、「第2」、「第3」などの序数は、構成要素の混同を避けるために付すものであり、数的に限定するものではないことを付記する。
なお、本明細書等において、「電気的に接続」には、「何らかの電気的作用を有するもの」を介して接続されている場合が含まれる。ここで、「何らかの電気的作用を有するもの」は、接続対象間での電気信号の授受を可能とするものであれば、特に制限を受けない。例えば、「何らかの電気的作用を有するもの」には、電極や配線をはじめ、トランジスタなどのスイッチング素子、抵抗素子、インダクタ、キャパシタ、その他の各種機能を有する素子などが含まれる。
<構成>
図1は、本実施の形態のコンピュータのブロック図である。本実施の形態のコンピュータは、CPU101、主記憶装置102、補助記憶装置103、及び外部記憶装置104を有しており、CPU101、主記憶装置102、補助記憶装置103、及び外部記憶装置104は、システムバス105によって電気的に接続されている。
主記憶装置102は、揮発性メモリであり、動作時にオペレーティングシステム106及びハイバネーションマネージャー107が格納される。ハイバネーションマネージャー107は、本発明のハイバネーション処理及びレジューム処理を行うプログラムである。
補助記憶装置103は、不揮発性メモリであり、主記憶装置102以上の記憶容量を有する。補助記憶装置103が主記憶装置102以上の記憶容量を有することで、ハイバネーション処理時にデータを可能な限り非圧縮で保存することが可能である。これにより、ハイバネーション処理及びレジューム処理時に、データを圧縮及び解凍する時間を削減することができる。
<メモリ管理方法>
以下に本実施の形態のコンピュータでの作業を中断するためのコンピュータの電源オフ時(ハイバネーション処理時)、及び復帰時(レジューム処理)のメモリ管理方法について説明する。なお本実施の形態において、記憶装置上で有効なアドレス(物理アドレス)はページと呼ばれる小さな単位に分割して管理される(ページング方式)。
<<ハイバネーション処理>>
図2は、本実施の形態のハイバネーション処理のフローチャートである。
まず、主記憶装置102上でスワップアウト処理を行う。スワップアウト処理とは、主記憶装置102上のデータを一時的に外部記憶装置104(ハードディスクドライブ(HDD))へ退避させることで、実メモリ容量を超える領域を扱えるようにする処理である。
スワップ処理において、優先度の低い、一定期間アクセスされなくなった古いページを、可能な限り外部記憶装置104に保存する(ステップS101)。これにより、主記憶装置102上にはアクセスが頻繁に行われるページ、または、主記憶装置102に常駐するページ(優先度が高いページ)のみが残る。これは、後のステップで、主記憶装置102から補助記憶装置103へ必要なデータのみを保存するための処理である。
次いで主記憶装置102上のページで、補助記憶装置103へ保存されていない、未保存のページを検索する(ステップS102)。主記憶装置102上に未保存ページがあった場合(ステップS103)は、主記憶装置102上の未保存ページの総容量と補助記憶装置103の使用容量を取得する(ステップS104)。
次いで、主記憶装置102上の未保存ページの総容量と補助記憶装置103の使用容量を比較し、主記憶装置102上の未保存ページの総容量が、補助記憶装置103の使用容量以下でない場合(ステップS105)、主記憶装置102上のページを圧縮して、補助記憶装置103に保存する(ステップS106)。また主記憶装置102上のページテーブルに、補助記憶装置103に圧縮保存されたページの圧縮フラグを保存する(ステップS107)。ページテーブルとは、物理アドレスと仮想アドレスのマッピングを格納するものである。物理アドレスとは、主記憶装置102のアドレスであり、仮想アドレスとは、仮想記憶が採用されている場合に、その構成単位となるページ等におけるメモリ空間に割り振られた相対アドレスのことである。補助記憶装置103内に、ページテーブルを保存する領域は常に確保されており、ページテーブルは、補助記憶装置103内の所定のアドレスに保存される。また、圧縮フラグとは、該当ページが圧縮されているか圧縮されていないかを表す変数である。本実施の形態では、当該ページが圧縮されている場合は、圧縮フラグ「1」、圧縮されていない場合は、圧縮フラグ「0」とする。
主記憶装置102上の未保存ページの総容量と補助記憶装置103の使用容量を比較し、主記憶装置102上の未保存ページの総容量が、補助記憶装置103の使用容量以下である場合(ステップS106)、主記憶装置102上のページを非圧縮で補助記憶装置103に保存する(ステップS108)。
ステップS107及びステップS108終了後は、主記憶装置102上に未保存ページがなくなるまで、ステップS102からステップS107又はステップS108までの処理を繰り返す。
主記憶装置102上に未保存ページがなかった場合(ステップS103)は、ページテーブルを補助記憶装置103に保存する(ステップS109)。
次いで、主記憶装置102上に存在したページの物理アドレスと、補助記憶装置103に保存したページのアドレスとの対応表を、補助記憶装置103に保存する(ステップS110)。
次いで、次回起動は復帰モードで起動するように、コンピュータの電源をオフにする(ステップS111)。
ステップS101乃至ステップS111の一連の処理は、主記憶装置102に格納されたハイバネーションマネージャー107によって行われる。またステップS101乃至ステップS111において、予期せぬエラーが発生した場合、ハイバネーション処理をエラーとし、次回起動は通常モードで起動するように、電源をオフする。
本実施の形態のハイバネーション処理において、優先度の低いページは、外部記憶装置104に保存する。また優先度の高いページは、主記憶装置102以上の記憶容量を有し、不揮発性メモリである補助記憶装置103に保存される。以上により、外部記憶装置104に保存されるページは、優先度の低いページのみであるので、ハイバネーション処理の時間を短縮することができる。
また、補助記憶装置103として、主記憶装置102以上の記憶容量を有する不揮発性メモリを用いることで、優先度の高いページを可能な限り非圧縮で保存することができる。
以上により、本実施の形態のハイバネーション処理の時間を短縮することが可能である。
<<レジューム処理>>
図3は、本実施の形態のレジューム処理のフローチャートである。レジューム処理は、コンピュータが復帰モードで起動されると同時に開始される。
まず、補助記憶装置103から、ページテーブルを主記憶装置102にコピーする(ステップS201)。
次いで、所定のページにアクセスするために、主記憶装置102へアクセスする(ステップS202)。
アクセスしようとしたページが、主記憶装置102に存在しない場合(ステップS203)は、ステップS110で保存した物理アドレスと補助記憶装置103のアドレスとの対応表を基に、補助記憶装置103から、当該アクセスしようとしたページに該当するページを検索する。
該当するページが圧縮されたページへのアクセスでなく(ステップS204)、かつ、アクセスの目的が読み込みである場合(ステップS205)、補助記憶装置103に直接アクセスして、ページの参照を行う。またこの際、当該ページを主記憶装置102にコピーしない。
またアクセスの目的が読み込みでない場合(ステップS205)、補助記憶装置103から当該ページを主記憶装置102にコピーする(ステップS207)。
また、ステップS204で、該当するページが圧縮されたページへのアクセスである場合、補助記憶装置103から当該ページを主記憶装置102にコピーし、その後解凍する(ステップS208)。
またステップS203で、アクセスしようとしたページが、主記憶装置102に存在する場合、主記憶装置102内の該当ページへ直接アクセスする(ステップS209)。
ステップS201乃至ステップ209の一連の処理は、主記憶装置102に格納されたハイバネーションマネージャー107によって行われる。ハイバネーションマネージャー107は、CPU101の状態を監視し、CPU101がアイドル状態の時に、主記憶装置102へ復元していないページを、補助記憶装置103から主記憶装置102に順次コピーする。以上により、コンピュータの電源をオフにする前の状態に復帰させる。
本実施の形態のレジューム処理において、ハイバネーション処理時に補助記憶装置103に保存された、優先度の高いページのみが主記憶装置102にコピーされる。また、当該優先度の高いページは、可能な限り非圧縮で保存されているため、主記憶装置102にコピーする時間を短縮することができる。以上により、本実施の形態のレジューム処理の時間を短縮することが可能である。
本実施の形態により、ハイバネーション処理及びレジューム処理に要する時間を短縮することができる。
また本実施の形態により、コンピュータの電源をオフ又は復帰した後に、コンピュータが休止状態又は利用可能な状態となるまでの時間を短縮することができる。
101 CPU
102 主記憶装置
103 補助記憶装置
104 外部記憶装置
105 システムバス
106 オペレーティングシステム
107 ハイバネーションマネージャー

Claims (3)

  1. コンピュータの電源のハイバネーション処理時に、
    揮発性の第1の記憶装置上のデータにスワップアウト処理により、前記揮発性の第1の記憶装置上のデータのうち、優先度の低いデータを、ハードディスクドライブである外部記憶装置に保存し、
    前記第1の記憶装置上のデータのうち、優先度の高いデータを、前記第1の記憶装置以上の記憶容量を有する不揮発性の第2の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法。
  2. 請求項1において、
    前記コンピュータの電源のハイバネーション処理時に、前記優先度の高いデータを、非圧縮で前記第2の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法。
  3. 請求項1において、
    前記コンピュータの電源のハイバネーション処理時に、前記優先度の高いデータを、圧縮して前記第2の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法。
JP2012140608A 2012-06-22 2012-06-22 コンピュータのメモリ管理方法 Expired - Fee Related JP5960519B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012140608A JP5960519B2 (ja) 2012-06-22 2012-06-22 コンピュータのメモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012140608A JP5960519B2 (ja) 2012-06-22 2012-06-22 コンピュータのメモリ管理方法

Publications (3)

Publication Number Publication Date
JP2014006626A JP2014006626A (ja) 2014-01-16
JP2014006626A5 JP2014006626A5 (ja) 2015-07-30
JP5960519B2 true JP5960519B2 (ja) 2016-08-02

Family

ID=50104303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012140608A Expired - Fee Related JP5960519B2 (ja) 2012-06-22 2012-06-22 コンピュータのメモリ管理方法

Country Status (1)

Country Link
JP (1) JP5960519B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129286A (ja) * 1993-11-05 1995-05-19 Fuji Electric Co Ltd 計算機システムの電源断時のバックアップ方法
JP2001125659A (ja) * 1999-10-29 2001-05-11 Ricoh Co Ltd 情報処理装置
JP4281421B2 (ja) * 2003-06-06 2009-06-17 ソニー株式会社 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
JP4480454B2 (ja) * 2004-05-07 2010-06-16 パイオニア株式会社 メモリ制御装置、車載用機器、メモリ制御方法、メモリ制御プログラムおよび記録媒体
US7971081B2 (en) * 2007-12-28 2011-06-28 Intel Corporation System and method for fast platform hibernate and resume
JP4399020B1 (ja) * 2008-08-26 2010-01-13 株式会社東芝 情報処理装置およびメモリ管理方法

Also Published As

Publication number Publication date
JP2014006626A (ja) 2014-01-16

Similar Documents

Publication Publication Date Title
US8375191B2 (en) Non-volatile memory, page dynamic allocation apparatus and page mapping apparatus therefor, and page dynamic allocation method and page mapping method therefor
CN107273042B (zh) 重复删除dram系统算法架构的存储器模块及方法
KR101497860B1 (ko) 메모리 어드레스 변환
JP4399020B1 (ja) 情報処理装置およびメモリ管理方法
EP3108367A1 (en) Kernel masking of dram defects
CN107273397B (zh) 用于有效的存储器在线重复删除应用的虚拟桶多哈希表
KR20120048999A (ko) 데이터 저장 장치 및 그것의 구동 방법
US9977598B2 (en) Electronic device and a method for managing memory space thereof
US10083120B2 (en) Memory system, and address mapping method and access method thereof
JP2013088928A (ja) 計算機及びデータ退避方法
JP2014021752A (ja) 半導体記憶装置
JP2015195690A (ja) パワーマネージメントコントローラ、それを用いたパワーマネージメント回路および電子機器
JP2017529044A (ja) 充電回路及び移動端末
US20160188252A1 (en) Method and apparatus for presearching stored data
JP6639714B2 (ja) 記憶装置
JP5960519B2 (ja) コンピュータのメモリ管理方法
TWM528459U (zh) 資料儲存系統以及電子裝置
JP2012069565A (ja) 半導体集積回路及び制御方法
US11216383B2 (en) Storage device providing a virtual memory region, electronic system including the same, and method of operating the same
US6240525B1 (en) Method and apparatus for re-addressing defective memory cells
WO2012098633A1 (ja) メモリ管理方法、メモリ管理装置およびメモリ管理回路
JP2023010603A (ja) メモリシステム、制御方法および電源制御回路
JP5505195B2 (ja) メモリの制御装置、及び制御方法
Luo et al. A NAND flash management algorithm with limited on-chip buffer resource
US20160246502A1 (en) Virtual memory system based on the storage device to support large output

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160531

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: 20160607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160623

R150 Certificate of patent or registration of utility model

Ref document number: 5960519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees