JP4867892B2 - メモリ制御装置、システム、プログラム、および、方法 - Google Patents

メモリ制御装置、システム、プログラム、および、方法 Download PDF

Info

Publication number
JP4867892B2
JP4867892B2 JP2007284740A JP2007284740A JP4867892B2 JP 4867892 B2 JP4867892 B2 JP 4867892B2 JP 2007284740 A JP2007284740 A JP 2007284740A JP 2007284740 A JP2007284740 A JP 2007284740A JP 4867892 B2 JP4867892 B2 JP 4867892B2
Authority
JP
Japan
Prior art keywords
page
unit
data
storage device
check code
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
JP2007284740A
Other languages
English (en)
Other versions
JP2009110467A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007284740A priority Critical patent/JP4867892B2/ja
Publication of JP2009110467A publication Critical patent/JP2009110467A/ja
Application granted granted Critical
Publication of JP4867892B2 publication Critical patent/JP4867892B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Description

本発明はメモリ制御装置、システム、プログラム、および、方法に関し、特に、レジューム機能を有するメモリ制御装置、システム、プログラム、および、方法に関する。
電源投入時に電源断直前の状態復帰を図るレジューム機能を有したコンピュータにおいて、電源断(サスペンド)中のメモリへの電源供給が不安定な場合、電源投入(レジューム)時にメモリ内容が変化していることがあるという問題があった。
この問題に対して、関連する技術として、電源投入(レジューム)時にメモリ内容の変化をチェックして、誤動作を防止する手段を提供しているものがある(例えば、特許文献1)。
同じくこの問題に対して、関連する他の技術として、電源断(サスペンド)時にメモリに格納されている情報を補助記憶手段に保存し、電源投入(レジューム)時に復元対象の情報をメモリに転送するものがある(例えば、特許文献2)。また、類似の関連する他の技術として、メモリに格納されている情報のうち、空き領域および廃棄可能領域を除いて補助記憶手段に保存するものがある(例えば、特許文献3)。
他の、関連する技術として、システム起動時に、メモリ回路のチェックをページ単位で実行するものがある(例えば、特許文献4)。
特開平05−088795号公報 特開平10−289167号公報 特開平10−333997号公報 特開2000−293391号公報
しかしながら、特許文献1の技術は、メモリ内容のチェックを全体に対して一度に行うので、レジューム動作に時間がかかるという問題があった。
また、特許文献2の技術は、大量の情報を補助記憶手段に格納し、また、補助記憶手段から復元するので、サスペンド動作、レジューム動作ともに時間がかかるという問題があった。特許文献3の技術では、特許文献2に比べて若干改良されているものの、サスペンド動作、レジューム動作ともに時間がかかるという問題が十分に解決されてはいなかった。
本発明の目的は、上述した課題を解決するメモリ制御装置、システム、プログラム、および、方法を提供することにある。
本発明のメモリ制御装置は、複数の単位記憶部からなる第1の記憶装置と、第2の記憶装置とを制御するメモリ制御装置であって、サスペンド時には変更状態にある前記単位記憶部内の前記データを前記第2の記憶装置に格納し、変更状態にある前記単位記憶部内の前記データのチェックコードを生成し、前記第1の記憶装置へのアクセスを検出した場合に、有効状態にない前記単位記憶部内の前記データの前記チェックコードを生成し、当該チェックコードと前記サスペンド時に生成した前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置に格納した前記単位記憶部内の前記データを読み出して前記単位記憶部に書き込む手段を有する。
本発明のプログラムは、複数の単位記憶部からなる第1の記憶装置と、第2の記憶装置とを制御するプログラムであって、サスペンド時には変更状態にある前記単位記憶部内の前記データを前記第2の記憶装置に格納し、変更状態にある前記単位記憶部内の前記データのチェックコードを生成し、前記第1の記憶装置へのアクセスを検出した場合に、有効状態にない前記単位記憶部内の前記データの前記チェックコードを生成し、当該チェックコードと前記サスペンド時に生成した前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置に格納した前記単位記憶部内の前記データを読み出して前記単位記憶部に書き込む処理をコンピュータに実行させる。
本発明の方法は、コンピュータが、複数の単位記憶部からなる第1の記憶装置と、第2の記憶装置とを制御する方法であって、サスペンド時には変更状態にある前記単位記憶部内の前記データを前記第2の記憶装置に格納し、変更状態にある前記単位記憶部内の前記データのチェックコードを生成し、前記第1の記憶装置へのアクセスを検出した場合に、有効状態にない前記単位記憶部内の前記データの前記チェックコードを生成し、当該チェックコードと前記サスペンド時に生成した前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置に格納した前記単位記憶部内の前記データを読み出して前記単位記憶部に書き込む。
本発明によれば、サスペンド動作、および、レジューム動作の高速化が可能になる。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
なお、サスペンドとは、コンピュータ等の情報処理装置の使用を中断する際に、情報処理装置内の直前の作業の状態を保存して電源を切断する動作を示す。こうして電源を切られた情報処理装置の状態は、サスペンド状態と呼ばれる。また、レジュームとは、サスペンド状態の情報処理装置が電源を投入された場合に、電源を切断する直前の状態から作業を再開する動作を示す。そして、本実施の形態では、本発明によるメモリについてのサスペンド/レジュームを実現する構成と動作について説明している。
なお、以下の実施の形態で記載する各手段は、ハードウェアで実現されても良いし、ソフトウェアで実現されても良いし、ハードウェアとソフトウェアの混在により実現されても良い。
また、各手段の物理的な構成は、以下の実施の形態の記載に限定されることは無く、独立して存在しても良いし、組み合わされて存在しても良いし、または、分離して構成されても良い。
また、各動作は、以下の実施の形態の記載に限定されることは無く、本発明を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更して良い。
図1を参照すると、本発明の第1の実施の形態の一例は、複数の単位記憶部301(たとえば、ページ、セグメント)からなる第1の記憶装置300(たとえば、メモリ、ハードディスク)と、第2の記憶装置500(たとえば、メモリ、ハードディスク)と、メモリ制御装置600とを含む。
メモリ制御装置600は、サスペンド時には、変更状態にない単位記憶部301内のデータを第2の記憶装置500に格納しない。メモリ制御装置600は、サスペンド時には、変更状態にある前記単位記憶部301内のデータを第2の記憶装置500に格納する。メモリ制御装置600は、サスペンド時には、変更状態にある単位記憶部301内のデータに対応するチェックコードを生成する。尚、メモリ制御装置600は、サスペンド時には、変更状態にない単位記憶部301内のデータを第2の記憶装置500に格納する、という構成も可能である。
メモリ制御装置600は、第1の記憶装置300へのライト指示またはリード指示(ライト指示またはリード指示は、アクセスの一例である。)があった場合は、これを検出する。そして、メモリ制御装置600は、ライト指示またはリード指示された単位記憶部301が有効状態にない場合は、この単位記憶部301内のデータに対応するチェックコードを生成する。そして、メモリ制御装置600は、この生成した有効状態にない単位記憶部301内のデータに対応するチェックコードと、サスペンド時に生成した変更状態にある単位記憶部301内のデータに対応するチェックコードとを比較する。そして、メモリ制御装置600は、これらのチェックコードが一致しなかった場合に、第2の記憶装置500に格納された、ライト指示またはリード指示された単位記憶部301に対応するデータを読み出す。そして、メモリ制御装置600は、単位記憶部301に読み出したデータを書き込む。
本発明の第一の実施の形態の別の例を用いてさらに詳細に説明する。
図2を参照すると、本発明の第1の実施の形態の他の一例は、プロセッサ1と、メモリ3と、バッテリ4と、補助記憶手段5と、メモリ制御装置6とで構成されている。メモリ3は、第1の記憶装置300の一例である。補助記憶手段5は、第2の記憶装置500の一例である。 プロセッサ1は、メモリ制御装置6経由でメモリ3をアクセスする。
バッテリ4は、メモリ3の電源をバックアップする。
補助記憶手段5は、メモリ3のデータを格納する。
メモリ制御装置6は、変更状態情報保持手段61と、チェックコード保持手段62と、有効状態情報保持手段63と、変更状態情報設定手段64と、サスペンド処理手段65と、有効状態情報制御手段66とから構成されている。
メモリ制御装置6は、メモリ3をあらかじめ定められたサイズのページ単位に分割して制御する。図3は、メモリ3のページ31(以後、単にページ31と記述する。)の概念を示す図である。ページ31は、単位記憶部301の一例である。メモリ制御装置6は、ページ31ごとに、変更状態情報611と、チェックコード621と、有効状態情報631を制御する。
図4に変更状態情報保持手段61と、チェックコード保持手段62と、有効状態情報保持手段63の構造の例を示す。図4の例では、変更状態情報保持手段61と、チェックコード保持手段62と、有効状態情報保持手段63とは、1つの表形式で実現されている。
変更状態情報保持手段61は、ページ31ごとの変更状態情報611を保持する。本実施の形態においては、例として、変更状態情報611は、『1』で変更有りを示し、『0』で変更なしを示すこととする。メモリ制御装置6の初期化処理後における変更状態情報611の初期値は、例えば『0』が設定されている。
チェックコード保持手段62は、ページ31ごとのチェックコード621を保持する。本実施の形態においては、例として、チェックコード621は、32ビットのチェックサムコードであるとする。なお、図4のチェックコード621は、32ビットの2進数を16進数で表現している。
なお、チェックコード621はチェックサムコードに限らず、巡回冗長検査符号値や、ハッシュ値を用いてもよい。また、チェックコード621は、誤り訂正が可能な冗長度を持つものであっても良い。
有効状態情報保持手段63は、ページ31ごとの有効状態情報631を保持する。本実施の形態においては、例として、有効状態情報631は、『1』で有効を示し、『0』で無効を示すこととする。メモリ制御装置6の初期化処理後における有効状態情報631の初期値は、例えば『1』が設定されている。
変更状態情報設定手段64は、メモリ制御装置6がプロセッサ1からメモリ3へのライト指示を検出した場合に、該当するページ31の変更状態情報611を変更有『1』に設定する。
サスペンド処理手段65は、メモリ制御装置6がプロセッサ1からのサスペンド処理指示を検出した場合に、各ページ31の変更状態情報611を参照して、変更有『1』のページ31のデータを補助記憶手段5に書き込む。そして、サスペンド処理手段65は、そのページ31のデータのチェックコード621を生成する。次に、サスペンド処理手段65は、生成したチェックコード621をチェックコード保持手段62に書き込む。そして、サスペンド処理手段65は、すべてのページ31の有効状態情報631を無効に設定する。
有効状態情報制御手段66は、メモリ制御装置6がプロセッサ1からメモリ3へのライト指示またはリード指示を検出した場合に、有効状態情報保持手段63を参照して、該当するページ31の有効状態情報631をチェックする。そして、有効状態情報制御手段66は、有効状態情報631が無効『0』の場合に、該当するページ31のデータのチェックコード621を生成する。そして、有効状態情報制御手段66は、生成したチェックコード621とチェックコード保持手段62に格納されている該当するページ31のチェックコード621とを比較する。そして、有効状態情報制御手段66は、これらのチェックコード621が一致しなかった場合に、補助記憶手段5から該当するページ31に対応するデータを読み出す。そして、有効状態情報制御手段66は、読み出したデータを該当するページ31に書き込む。そして、有効状態情報制御手段66は、該当するページ31の有効状態情報631を有効『1』に設定する。また、有効状態情報制御手段66は、これらのチェックコード621が一致した場合には、補助記憶手段5からの該当するページ31の復旧処理を行うことなく、該当するページ31の有効状態情報631を有効『1』に設定する。
次に、本発明の実施の形態の動作について図面を参照して説明する。
図5は、メモリ制御装置6のサスペンド処理手段65の動作である。
メモリ制御装置6は、プロセッサ1からのサスペンド処理指示を検出する(ステップS800)。
サスペンド処理手段65は、すべてのページ31に対して、ステップS802〜S806を行う(ステップS801)。
まず、サスペンド処理手段65は、変更状態情報611をチェックする(ステップS802)。
変更状態情報611が『0』(ステップS802でNOの場合)であれば、サスペンド処理手段65は、有効状態情報631を『0』にして(ステップS806)、次のページ31の処理へ進む。
変更状態情報611が『1』(ステップS802でYESの場合)であれば、サスペンド処理手段65は、該当するページ31のデータを補助記憶手段5へ書き込む(ステップS803)。そして、サスペンド処理手段65は、該当するページ31のデータについてチェックコードを計算する。そして、サスペンド処理手段65は、その計算したチェックコードをチェックコード621としてチェックコード保持手段62に書き込む(ステップS804)。次に、サスペンド処理手段65は、変更状態情報611を『0』にする(ステップS805)。次に、サスペンド処理手段65は、有効状態情報631を『0』にして(ステップS806)、次のページ31の処理へ進む。
すべてのページ31について以上の処理が終了した時、すべてのページ31のデータと、補助記憶手段5に記憶された各ページ31に対応するデータとの整合が取れた状態になる。つまり、すべてのページ31の変更状態情報611が『0』の状態である。
本処理後、一般的には、プロセッサ1は、図示しないサスペンド処理プログラムに基づいて、本発明の第一の実施の形態の構成全体をハードウェア的にサスペンド状態にするために、電源系サスペンド処理へ進む。しかし、これ以後の処理は、本発明と直接的な技術的関係を有しないため、説明を省略する。
図6はレジューム時の動作を示している。
図示しない手段により、電源が投入され、レジューム処理が開始される(ステップS810)。
プロセッサ1は、レジューム処理手段11により、メモリ制御装置6の正常性チェックを行う(ステップS811)。そして、レジューム処理手段11は、メモリ制御装置6に問題がなければ(ステップS812のYESの場合)、レジュームすなわち、サスペンド前の動作の再開へ進む。
そして、レジューム処理手段11は、メモリ制御装置6に問題があれば(ステップS812のNOの場合)、レジュームはあきらめて、図示しない初期化ブート処理へ制御を渡す。
図7は、メモリ制御装置6がプロセッサ1からメモリ3へのライト指示またはリード指示を検出した場合の変更状態情報設定手段64と有効状態情報制御手段66の動作である。
メモリ制御装置6がプロセッサ1からメモリ3へのライト指示またはリード指示を検出する(ステップS820)。
まず、有効状態情報制御手段66は、ライト指示またはリード指示されたページ31の有効状態情報631を調べる(ステップS821)。そして、有効状態情報制御手段66は、有効状態情報631が『1』ならば(ステップS821のYESの場合)、ステップS826へ進む。また、有効状態情報制御手段66は、有効状態情報631が『0』ならば(ステップS821のNOの場合)、ステップS822へ進む。
そして、有効状態情報制御手段66は、該当するページ31のデータについてチェックコードを計算する(ステップS822)。
次に、有効状態情報制御手段66は、その生成したチェックコードが、チェックコード保持手段62に記憶されているチェックコード621と一致するかどうかを調べる(ステップS823)。これらのチェックコードが一致したことは、該当するページ31のデータが変化してないのでそのまま使用して良いことを示している。また、これらのチェックコードが一致しなかったことは、該当するページ31のデータが変化しているのでそのまま使用してはならないことを示している。そして、これらのチェックコードが一致した場合(S823でYESの場合)、有効状態情報制御手段66は、ステップS825へ進む。また、これらのチェックコードが一致しなかった場合(S823でNOの場合)、有効状態情報制御手段66は、ステップS824へ進む。
そして、有効状態情報制御手段66は、補助記憶手段5から該当するページ31に対応するデータを読み出す。そして、有効状態情報制御手段66は、読み出したデータを該当するページ31に書き込む。
そして、有効状態情報制御手段66は、該当するページ31の有効状態情報631を『1』にする(ステップS825)。
次に、変更状態情報設定手段64は、プロセッサ1からの指示が、ライト指示か否かをチェックする(ステップS826)。そして、変更状態情報設定手段64は、プロセッサ1からの指示がライト指示ならば(ステップS826でYESの場合)、ステップS827へ進む。また、変更状態情報設定手段64は、プロセッサ1からの指示がライト指示でなければ(ステップS826でNOの場合)、指示されたリード処理へ進む。
そして、変更状態情報設定手段64は、該当するページ31の変更状態情報611を『1』にして(ステップS827)、指示されたライト処理へ進む。
なお、チェックコード621として誤り検出訂正を用いることにより、ステップS823でNOの場合に、該当するページ31のデータの誤り訂正を実行し、訂正しきれない場合にステップS824に進むようにしても良い。
本発明の第1の実施の形態のメモリ制御装置によれば、サスペンド時は、ページ単位で、変更状態情報に基づいて補助記憶手段への書き込みを行うようにした。そして、ライト時またはリード時に、ページ単位で、有効状態情報とチェックコードに基づいてデータの有効性をチェックするようにした。このように構成することで、サスペンド処理、および、レジューム処理の高速化が可能になるという効果を有している。
さらに、本発明の第1の実施の形態のメモリ制御装置によれば、補助記憶手段から各ページに対応するデータを読み込むようにした。このように構成することで、あるページのデータが変化していた場合、あるいは、チェックコードが一致しなかった場合に、該当するページのデータを復旧することで、レジューム動作を行える、すなわち、初期化ブートを不要とする効果を有している。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図8を参照すると、本発明の第2の実施の形態は、プロセッサ1と、メモリ3と、バッテリ4と、補助記憶手段5と、メモリ制御装置8とで構成されている。メモリ制御装置8は、アドレス変換手段2と、メモリ管理手段7とで構成されている。
図9は、メモリ3の実ページ33(以後、単に実ページ33と記述する。)の概念を示す図である。実ページ33は、物理的/電気的な面で、第1の実施の形態のページ31と同等のものである。図10は、補助記憶手段5に格納された仮想メモリ50の仮想ページ53(以後、単に仮想ページ53と記述する。)の概念を示す図である。仮想ページ53は、プロセッサ1から見た論理的な面で、第1の実施の形態のページ31と同等のものである。
アドレス変換手段2とメモリ管理手段7は、連携して、仮想メモリを実現するメモリ制御装置8を構成している。
アドレス変換手段2は、後述するアドレス変換表71を参照し、仮想アドレス(仮想ページ番号710)から実アドレス(実ページ番号720)への変換を行う。
メモリ管理手段7は、後述するアドレス変換表71を参照し、メモリ3の容量以上の仮想メモリを実現する。具体的には、メモリ管理手段7は、メモリ3の空きが少なくなると、当面不要な仮想ページ53に割り当てられた実ページ33のデータを補助記憶手段5に書き込んで空き実ページ33を作る。また、メモリ管理手段7は、動作に必要になった仮想ページ53に対応するデータを補助記憶手段5から読み出してメモリ3に再配置する。
アドレス変換表と、アドレス変換手段を使用した仮想メモリに関する技術は、当業者にとって周知技術であるため、本明細書では詳細な説明を省略する。なお、上記の技術は、例えば、野口健一郎著「IT Text オペレーティングシステム」第10章(発行所:オーム社、ISBN4−274−13250−1、平成14年9月5日発行)に記載されているので参照することができる。
アドレス変換手段2は、プロセッサ1からメモリ3へのライト指示またはリード指示を検出した場合に、後述するアドレス変換表71を参照し、仮想アドレス(仮想ページ番号710)と実アドレス(実ページ番号720)の変換を行う。アドレス変換手段2は、当該仮想アドレスにメモリ3が割り当て済みで無い場合、すなわち、当該仮想ページ番号710に対応する実ページ番号720がアドレス変換表71に登録されていない場合(例えば、実ページ番号720の部分が『00』になっている場合に登録されていないと判定する。)は、アドレス変換に失敗し、アドレス変換例外を発生する。アドレス変換手段2は、プロセッサ1からメモリ3へのライト指示またはリード指示を検出した場合に、後述するアドレス変換表71を参照して、該当する仮想ページ53の有効ビット711をチェックする。そして、アドレス変換手段2は、有効ビット711が無効『0』の場合はアドレス変換例外を発生する。アドレス変換例外が発生した場合は、制御は、アドレス変換手段2からメモリ管理手段7へ渡る。
アドレス変換手段2は、プロセッサ1からメモリ3へのライト指示を検出した場合に、変更ビット712を『1』にする。
メモリ管理手段7は、アドレス変換表71と、チェックサムデータ表72と、サスペンド処理手段75と、チェックサム確認手段76と、ページイン処理手段77と、ページアウト処理手段78とを備える。
図11はアドレス変換表71の構造を示している。アドレス変換表71は、有効状態情報保持手段として仮想ページ53ごとに有効ビット711を有している。アドレス変換表71は、変更状態情報保持手段として仮想ページ53ごとに変更ビット712を有している。アドレス変換表71は、プロセッサ1がアクセスするアドレス(仮想ページ番号710)が、メモリ3のどこに対応するのか(実ページ番号720)を示す。有効ビット711は、対応する仮想ページ53が、実ページ33を割り当てられて有効な状態にあるか否かを示す。有効ビット711が『1』の場合は有効、『0』の場合は無効を示す。変更ビット712は、対応する仮想ページ53が割り当てられた実ページ33のデータに変更があったかどうかを示す。変更ビット712が『1』の場合は変更有り、『0』の場合は変更なしを示す。
図12はチェックサムデータ表72の構造を示している。チェックサムデータ表72は、チェックコードとして、各実ページ33のデータに対応するチェックサム722の値と、そのチェックサム722によって対応する実ページ33のデータがチェック済みかどうかを示すチェックビット721から構成されている。チェックサム722のチェックが済んでいなければチェックビット721は『0』、チェック済みであれば『1』である。
メモリ管理手段7は、プロセッサ1からのサスペンド処理指示を検出した場合に、サスペンド処理手段75によりサスペンド処理を実行する。サスペンド処理手段75は、各仮想ページ53の変更ビット712を参照して、変更有『1』の仮想ページ53に割り当てられた実ページ33のデータを補助記憶手段5に書き込む。そして、サスペンド処理手段75は、その実ページ33のデータのチェックサム722を計算する。次に、サスペンド処理手段75は、計算したチェックサム722をチェックサムデータ表72に書き込む。そして、サスペンド処理手段75は、すべての仮想ページ53の有効ビット711を無効『0』に設定する。
メモリ管理手段7は、アドレス変換例外が発生すると、アドレス変換例外処理を実行する。
メモリ管理手段7は、アドレス変換例外の発生原因が、有効ビット711が無効『0』であることによる場合は、チェックサム確認手段76により以下の処理を行う。チェックサム確認手段76は、該当する実ページ33のデータのチェックサム722を計算する。そして、チェックサム確認手段76は、計算したチェックサム722とチェックサムデータ表72に格納されている該当する実ページ33のチェックサム722とを比較する。そして、チェックサム確認手段76は、これらのチェックサム722が一致しなかった場合に、補助記憶手段5から該当する仮想ページ53に対応するデータを読み出す。そして、チェックサム確認手段76は、読み出したデータを該当する実ページ33に書き込む。そして、チェックサム確認手段76は、該当する実ページ33のチェックビット721を『1』に設定する。
そして、メモリ管理手段7は該当する仮想ページ53の有効ビット711を有効『1』に設定する。
メモリ管理手段7は、アドレス変換例外の発生原因がアクセス対象の仮想ページ番号710に対応する実ページ番号720がアドレス変換表71に登録されていないことによる場合は、メモリ割り当て処理(図示せず)を実行する。メモリ割り当て処理において、すでに補助記憶手段5にデータが格納されている仮想ページ53の場合は、メモリ管理手段7は、ページイン処理手段77によりページイン処理を行う。
メモリ管理手段7は、メモリ3の空きが少なくなったことを検出した場合は、ページアウト処理手段78によりページアウト処理を実行する。なお、メモリ3の空きが少なくなったことを検出するタイミングは、例えば、ページイン処理を実行した直後である。
次に、本発明の第2の実施の形態の動作について図面を参照して説明する。
図13はサスペンド時のメモリ管理手段7の動作である。
メモリ管理手段7は、サスペンド処理指示を検出する(ステップS830)。
メモリ管理手段7は、アドレス変換表71のすべての仮想ページ番号710について、ステップS832〜ステップS836を行う(ステップS831)。
メモリ管理手段7において、サスペンド処理手段75は、変更ビット712をチェックする(ステップS832)。
変更ビット712が『1』の場合(ステップS832でYESの場合)、サスペンド処理手段75は、該当する実ページ33のデータを補助記憶手段5へ書き込む(ステップS833)。
さらに、サスペンド処理手段75は、該当する実ページ33のデータについてチェックサムを計算し、その計算したチェックサムをチェックコード722としてチェックサムデータ表72に書き込む(ステップS834)。そして、サスペンド処理手段75は、変更ビット712を『0』にする(ステップS835)。そして、サスペンド処理手段75は、有効ビット711を『0』にする。そして、サスペンド処理手段75は、アドレス変換表71に設定されている実ページ番号720に対応するチェックサムデータ表72の実ページ番号720のチェックビット721を『0』にする(ステップS836)。そして、メモリ管理手段7は、次の仮想ページ53の処理へ進む。
変更ビット712が『0』の場合(ステップS832でNOの場合)、サスペンド処理手段75は、有効ビット711を『0』にする。そして、サスペンド処理手段75は、アドレス変換表71に設定されている実ページ番号720に対応するチェックサムデータ表72の実ページ番号720のチェックビット721を『0』にする(ステップS836)。そして、メモリ管理手段7は、次の仮想ページ53の処理へ進む。
図13に示す動作が終了した時、すべての仮想ページ53の変更ビット712が『0』となり、メモリ3に格納されているデータは、補助記憶手段5に格納されているデータと整合が取れた状態になる。
また、すべての仮想ページ53の有効ビット711が『0』、チェックビット721が『0』の状態になる。従って、レジューム後のアクセスにおいて、アドレス変換例外が発生する。
図14はレジューム時の動作を示している。
図示しない手段により、電源が投入され、レジューム処理が開始される(ステップS840)。
プロセッサ1は、メモリ管理手段7のチェックを行う(ステップS841)。チェックの結果が問題なしならば(ステップS842でYESの場合)、サスペンドの直前の動作を再開する。
チェックの結果が問題有りならば(ステップS842でNOの場合)、レジュームはあきらめて、初期化ブート処理(図示しない)へ制御を渡す。
図15は、リード指示、または、ライト指示を検出した場合のアドレス変換手段2の動作を示すフローチャートである。
アドレス変換手段2がプロセッサ1からメモリ3へのライト指示またはリード指示を検出する(ステップS860)。
アドレス変換手段2は、有効ビット711をチェックする(ステップS861)。有効ビット711が『0』の場合(ステップS861でNOの場合)、アドレス変換手段2は、アドレス変換例外を発生する。また、有効ビット711が『1』の場合(ステップS861でYESの場合)、アドレス変換手段2は、S862へ進む。
次に、アドレス変換手段2は、実ページ番号720がアドレス変換表71に登録されているか否かをチェックする(ステップS862)。実ページ番号720が登録されていない場合(ステップS862でNOの場合)、アドレス変換手段2は、アドレス変換例外を発生する。また、実ページ番号720がアドレス変換表71に登録されている場合(ステップS862でYESの場合)、アドレス変換手段2は、S863へ進む。
次にアドレス変換手段2は、ライト指示か否かを確認する(ステップS863)。ライト指示で無かった場合(ステップS863でNOの場合)、アドレス変換手段2は、アドレス変換処理へ進む。ライト指示であった場合(ステップS863でYESの場合)、アドレス変換手段2は、ステップS864へ進む。
そして、アドレス変換手段2は、対応する仮想ページ53の変更ビット712を『1』にする(ステップS864)。そしてアドレス変換手段2は、アドレス変換処理へ進む。
図16は、アドレス変換手段2がアドレス変換例外を発生した場合の、メモリ管理手段7のアドレス変換例外動作のフローチャートである。
メモリ管理手段7は、アドレス変換表71に実ページ番号720が登録されているかどうかを確認する(ステップS851)。
実ページ番号720が登録されていない場合(ステップS851でNOの場合)、メモリ管理手段7は、メモリ割り当て処理へ進む。実ページ番号720が登録されている場合(ステップS851でYESの場合)、メモリ管理手段7は、ステップ852へ進む。
次に、メモリ管理手段7は、変更ビット712を確認する(ステップS852)。変更ビット712が『1』の場合(ステップS852でYESの場合)、ステップS858へ進む。変更ビット712が『0』の場合(ステップS852でNOの場合)、ステップS853へ進む。
次に、メモリ管理手段7は、チェックビット721を確認する(ステップS853)。チェックビット721が『1』の場合(ステップS853でYESの場合)、ステップS858へ進む。チェックビット721が『0』の場合(ステップS853でNOの場合)、ステップS854へ進む。
次に、チェックサム確認手段76は、対象の実ページ33のデータについてチェックサムを計算する(ステップS854)。そして、その計算したチェックサムが、対象の実ページ番号720に対応するチェックサムデータ表72に記憶されているチェックサム722と一致するか否かを確認する(ステップS855)。2つのチェックサムが一致した場合(ステップS855でYESの場合)、ステップS857へ進む。なお、2つのチェックサムが一致したことは、該当する実ページ33のデータは変化してないので、そのまま使用して良いことを示している。2つのチェックサムが一致しなかった場合(ステップS855でNOの場合)、ステップS856へ進む。なお、2つのチェックサムが一致しなかったことは、該当する実ページ33のデータが変化しているので、そのまま使用できないことを示している。
そして、チェックサム確認手段76は、補助記憶手段5から対象の仮想ページ53に対応するデータを読み込む。そして、チェックサム確認手段76は、読み込んだ仮想ページ53に対応するデータを対象の実ページ33に書き込む(ステップS856)。これで、実ページ33のデータは変化前の状態に復旧する。
そして、チェックサム確認手段76は、チェックビット721を『1』にする(ステップS857)。
そして、メモリ管理手段7は、有効ビット711を『1』にする(ステップS858)。なお、この後、元の処理に復帰すると、今度は有効ビット711が『1』なので、アドレス変換手段2によるアドレス変換が成功する。
図17は、必要になった仮想ページ53に対応するデータを、補助記憶手段5から読み込み、メモリ3に配置してアクセスできるようにするページイン処理の動作のフローチャートである。
ページイン処理手段77は、仮想ページ53を配置するメモリ3内の実ページ33の位置を決めて、これに対応する実ページ番号720をアドレス変換表71に登録する(ステップS871)。
次に、ページイン処理手段77は、補助記憶手段5から対象の仮想ページ53に対応するデータを読み出し、割り当てた実ページ33に書き込む(ステップS872)。
さらに、ページイン処理手段77は、この実ページ33のデータについてチェックサム722を計算し、チェックサムデータ表72に書き込む(ステップS873)。
そして、ページイン処理手段77は、チェックビット721を『1』に、変更ビット712を『0』に初期化し、有効ビット711を『1』にする(ステップS874)。
図18は、メモリ3の空きが少なくなった時に、当面不要な仮想ページ53に割り当てられた実ページ33のデータを補助記憶手段5に書き出して、未使用実ページ33を作るページアウト処理の動作のフローチャートである。
ページアウト処理手段78は、該当する仮想ページ53に対応するアドレス変換表71の有効ビット711を『0』にする(ステップS875)。
次に、ページアウト処理手段78は、該当する仮想ページ53に対応する変更ビット712を確認する(ステップS876)。変更ビット712が『0』の場合(ステップS876でNO場合)、ページアウト処理手段78は、ステップS878へ進む。変更ビット712が『1』の場合(ステップS876でYES場合)、ページアウト処理手段78は、ステップS877へ進む。
そして、ページアウト処理手段78は、該当する実ページ33のデータを補助記憶手段5に書き込む(ステップS877)。
そして、ページアウト処理手段78は、アドレス変換表71の、該当する仮想ページ53に対応する実ページ番号720クリアし、メモリ3の対応する実ページ33を開放する(ステップS878)。
本発明の第2の実施の形態によれば、仮想メモリを制御する構成において、サスペンド時は、実ページ単位で、変更状態情報に基づいて補助記憶への書き込みを行うようにした。そして、仮想メモリを制御する構成において、レジューム時は、メモリ制御装置部分のチェックだけでサスペンド前の動作を再開するようにした。そして、仮想メモリを制御する構成において、ライト時またはリード時に、実ページ単位で、有効状態情報とチェックサムに基づいてデータの有効性をチェックするようにした。
こうして、仮想メモリを制御する構成において、第一の実施の形態と同様の効果を得ることができる。
また、本発明の第2の実施の形態によれば、ページインの際にチェックサムを計算している。こうして、それ以降にその実ページのデータの書き換えがなければ、サスペンド時にチェックサム計算処理を行う必要がなく、サスペンド処理の高速化が可能になるという効果を有している。
次に、本発明の第3の実施の形態について図面を参照して説明する。なお、本発明の第3の実施の形態については、本発明の第2の実施の形態と異なる部分について説明する。
図19を参照すると、本発明の第3の実施の形態は、メモリ管理手段7が、第2の実施の形態の構成を示す図8のメモリ管理手段7に加えて、レジューム対象プロセス表79を有する点で第2の実施の形態と異なる。また、図21に示すアドレス変換表71が、図11に示す第2の実施の形態のアドレス変換表71に比べて、プロセス識別子保持手段として、仮想ページ53ごとにプロセスID731を追加されている点で第2の実施の形態と異なる。
レジューム対象プロセス表79は、レジュームの対象とするプロセスを設定する表である。図20にレジューム対象プロセス表79の構造を示す。本発明の第3の実施の形態のメモリ管理手段7は、レジューム対象プロセス表79に設定されたプロセスID731のプロセスについてレジュームを保障する。
次に本発明の第3の実施の形態の動作について説明する。本発明の第3の実施の形態のサスペンド処理手段75によるサスペンド処理の動作は、図13のステップS833の部分を図22に置き換えたものである。本発明の第3の実施の形態のメモリ管理手段7によるアドレス変換例外処理の動作は、図16のステップS856の部分を図23に置き換えたものである。
サスペンド処理手段75は、変更ビット712が『1』であっても、無条件で補助記憶手段5にデータを書き込まない。サスペンド処理手段75は、アドレス変換表71から、対象の仮想ページ53のプロセスID731を取得する。 そして、サスペンド処理手段75は、レジューム対象プロセス表79を参照して、取得したプロセスID731がレジューム対象プロセス表79に設定されているか否かを確認する。そして、サスペンド処理手段75は、プロセスID731がレジューム対象プロセス表79に設定されている場合(ステップS881のYESの場合)は、レジューム対象プロセスの仮想ページ53であると判断してステップS882へ進む。また、サスペンド処理手段75は、プロセスID731がレジューム対象プロセス表79に設定されていない場合(ステップS881のNOの場合)は、レジューム対象プロセスの仮想ページ53ではないと判断してステップS883へ進む。
そして、サスペンド処理手段75は、補助記憶手段5に該当する仮想ページ53に割り当てられた実ページ33のデータを書き込む(ステップS882)。
そして、サスペンド処理手段75は、補助記憶手段5の該当部分を無効化する(ステップS883)。なお、無効化の処理方法としては、例えば、該当する仮想ページ53に割り当てられた実ページ33のデータが、補助記憶装置5のどこに記憶されているかの情報(図示しない)をクリアし、補助記憶装置5の該当領域を解放する方法がある。
本発明の第3の実施の形態のアドレス変換例外処理におけるチェックサム確認手段76による処理は、第2の実施の形態の図16のステップS856の動作を、図23の動作に置き換えた構成となる。本発明の第3の実施の形態では、図16のステップS856で補助記憶手段5の該当する仮想ページ53の部分が無効化された部分である場合は、その仮想ページ53を使用しているプロセスを強制終了させる処理(図示しない。)へ制御を渡す。このため、レジューム対象プロセス表79に設定されていないプロセスの仮想ページ53に対応するデータがサスペンド状態の間に変化した場合は、そのプロセスはレジューム後に強制終了となる。
本発明の第3の実施の形態によれば、レジューム対象プロセス表に設定されたプロセスのみのレジュームを保証するように構成して、補助記憶手段5へ書き込む量が減少させたため、サスペンド処理がより高速になるという効果を有する。
なお、以上説明した実施の形態は一例であるため、例えば、チェックコードを保持する場所は、メモリでも、補助記憶手段でも良い。また、例えば、補助記憶手段は、ディスクその他の不揮発性メモリでも良いし、ネットワーク経由で接続された記憶処断を持つ装置であっても良い。
本発明は、レジューム機能を有するコンピュータ等に利用できる。本発明は、例えば、サスペンド状態時のメモリへの電源供給が不安定な状況下においても、高速でかつ信頼性の高いレジューム動作を要求されるコンピュータ等に利用できる。
本発明の第1実施の形態の構成の一例を示すブロック図である。 本発明の第1実施の形態の構成の一例を示すブロック図である。 本発明の第1の実施の形態におけるメモリのページの概念を示す図である。 本発明の第1の実施の形態における変更状態情報保持手段とチェックコード保持手段と有効状態情報保持手段の構造を示す図である。 本発明の第1の実施の形態におけるサスペンド処理の動作を示すフローチャートである。 本発明の第1の実施の形態におけるレジューム処理の動作を示すフローチャートである。 本発明の第1の実施の形態におけるライト指示またはリード指示を検出した場合の動作を示すフローチャートである。 本発明の第2実施の形態の構成を示すブロック図である。 本発明の第2の実施の形態におけるメモリの実ページの概念を示す図である。 本発明の第2の実施の形態における補助記憶手段に格納された仮想ページの概念を示す図である。 本発明の第2の実施の形態におけるアドレス変換表の構造を示す図である。 本発明の第2の実施の形態におけるチェックサムデータ表の構造を示す図である。 本発明の第2の実施の形態におけるサスペンド処理の動作を示すフローチャートである。 本発明の第2の実施の形態におけるレジューム処理の動作を示すフローチャートである。 本発明の第2の実施の形態におけるライト指示またはリード指示を検出した場合の動作を示すフローチャートである。 本発明の第2の実施の形態におけるアドレス変換例外処理の動作を示すフローチャートである。 本発明の第2の実施の形態におけるページイン処理の動作を示すフローチャートである。 本発明の第2の実施の形態におけるページアウト処理の動作を示すフローチャートである。 本発明の第3実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態におけるレジューム対象プロセス表の構造を示す図である。 本発明の第3の実施の形態におけるアドレス変換表の構造を示す図である。 本発明の第3の実施の形態におけるサスペンド処理の動作の一部を示すフローチャートである。 本発明の第3の実施の形態におけるアドレス変換例外処理の動作の一部を示すフローチャートである。
符号の説明
1 プロセッサ
2 アドレス変換手段
3 メモリ
4 バッテリ
5 補助記憶手段
6 メモリ制御装置
7 メモリ管理手段
8 メモリ制御装置
11 レジューム処理手段
31 ページ
33 実ページ
50 仮想メモリ
53 仮想ページ
61 変更状態情報保持手段
62 チェックコード保持手段
63 有効状態情報保持手段
64 変更状態情報設定手段
65 サスペンド処理手段
66 有効状態情報制御手段
71 アドレス変換表
72 チェックサムデータ表
75 サスペンド処理手段
76 チェックサム確認手段
77 ページイン処理手段
78 ページアウト処理手段
79 レジューム対象プロセス表
300 第1の記憶装置
301 単位記憶部
500 第2の記憶装置
600 メモリ制御装置
611 変更状態情報
621 チェックコード
631 有効状態情報
710 仮想ページ番号
711 有効ビット
712 変更ビット
720 実ページ番号
721 チェックビット
722 チェックサム
731 プロセスID

Claims (21)

  1. 複数の単位記憶部からなる第1の記憶装置と、第2の記憶装置とを制御するメモリ制御装置であって、
    サスペンド時には変更状態にある前記単位記憶部内のデータを前記第2の記憶装置に格納し、変更状態にある前記単位記憶部内の前記データのチェックコードを生成し、前記単位記憶部内の前記データの有効または無効を示す有効状態情報を無効を示すように設定し、
    前記第1の記憶装置へのアクセスを検出した場合に、前記有効状態情報が無効を示すように設定されている前記単位記憶部内の前記データの前記チェックコードを生成し、当該チェックコードと前記サスペンド時に生成した前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置に格納した前記単位記憶部内の前記データを読み出して前記単位記憶部に書き込み、前記有効状態情報が有効を示すように設定する手段
    を有するメモリ制御装置。
  2. 前記手段は、サスペンド時には変更状態にない前記単位記憶部内の前記データを前記第2の記憶装置には格納しない
    請求項1記載のメモリ制御装置。
  3. ページ単位の前記単位記憶部で構成されるメモリである前記第1の記憶装置と、
    補助記憶手段である前記第2の記憶装置と、
    を制御する請求項1または2記載のメモリ制御装置。
  4. 前記ページを単位として前記第1の記憶装置を管理する前記メモリ制御装置であって、
    前記ページのデータの有効状態情報を保持する有効状態情報保持手段と、
    前記ページのデータに対する前記チェックコードを保持するチェックコード保持手段と、
    前記第1の記憶装置へのアクセスを検出した場合に、該当する前記ページの前記有効状態情報を参照し、前記有効状態情報が無効を示すように設定されている場合に、当該ページの前記チェックコードを生成し、当該チェックコードと前記チェックコード保持手段に格納されている前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置から当該ページに対応する前記データを読み出して当該ページに書き込み、前記有効状態情報を有効を示すように設定する有効状態情報制御手段と、
    を有する請求項3記載のメモリ制御装置。
  5. 前記ページのデータの変更状態情報を保持する変更状態情報保持手段と、
    ライト指示により前記ページのデータが変更された場合に、該当するページの前記変更状態情報を変更有に設定する変更状態情報設定手段と、
    サスペンド処理指示を検出した場合に、前記変更状態情報を参照して変更有の場合に、当該ページの前記データを前記第2の記憶装置に書き込み、当該ページの前記データのチェックコードを生成して前記チェックコード保持手段に書き込むサスペンド処理手段と、
    を更に有する請求項4記載のメモリ制御装置。
  6. 仮想メモリ制御のためのアドレス変換手段を有し、
    前記アドレス変換手段が、前記第1の記憶装置へのアクセスを検出し、これを前記有効状態情報設定手段に通知する手段と、前記変更状態情報設定手段と、
    を有する請求項4または5記載のメモリ制御装置。
  7. ページイン処理指示を検出した場合に、前記チェックコードを生成し、前記有効状態情報が有を示すように設定する手段を有する請求項6記載のメモリ制御装置。
  8. レジューム対象のプロセスの識別子を保持するレジューム対象プロセス保持手段と、
    前記ページが割り当てられた前記プロセスの前記識別子を保持するプロセス識別子保持手段と、
    前記サスペンド処理指示を検出した場合に、前記レジューム対象プロセス保持手段を参照して、当該ページが前記レジューム対象の前記プロセスに割り当てられているか否かを判断し、当該ページが前記レジューム対象の前記プロセスに割り当てられている場合に、当該ページの前記データを前記第2の記憶装置に書き込む手段と、を有する請求項3乃至7のいずれかに記載のメモリ制御装置。
  9. 請求項1乃至8のいずれかに記載の前記メモリ制御装置と、 前記第1の記憶装置と、
    前記第2の記憶装置と、
    前記メモリ制御装置を介して前記第1の記憶装置をアクセスするプロセッサと、
    前記第1の記憶装置の電源をバックアップするバッテリと、
    を有するシステム。
  10. レジューム処理時に、前記メモリ制御装置が正常であることを検出した場合はサスペンド前の動作を再開し、前記メモリ制御装置が正常でないことを検出した場合は前記メモリ制御装置及び前記第1の記憶装置の初期化処理を実行する手段を
    更に有する請求項9記載のシステム。
  11. 複数の単位記憶部からなる第1の記憶装置と、第2の記憶装置とを制御するプログラムであって、
    サスペンド時には変更状態にある前記単位記憶部内のデータを前記第2の記憶装置に格納し、変更状態にある前記単位記憶部内の前記データのチェックコードを生成し、前記単位記憶部内の前記データの有効または無効を示す有効状態情報を無効を示すように設定し、
    前記第1の記憶装置へのアクセスを検出した場合に、前記有効状態情報が無効を示すように設定されている前記単位記憶部内の前記データの前記チェックコードを生成し、当該チェックコードと前記サスペンド時に生成した前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置に格納した前記単位記憶部内の前記データを読み出して前記単位記憶部に書き込み、前記有効状態情報が有効を示すように設定する処理をコンピュータに実行させるプログラム。
  12. ページ単位の前記単位記憶部で構成されるメモリである前記第1の記憶装置と、
    補助記憶手段である前記第2の記憶装置と、
    を制御する請求項11記載のプログラム。
  13. 前記ページを単位として前記第1の記憶装置を管理する前記プログラムであって、
    前記ページの前記データの有効状態情報を保持する有効状態情報保持部と、
    前記ページの前記データに対する前記チェックコードを保持するチェックコード保持部と、をワークエリアとして使用し、
    前記第1の記憶装置へのアクセスを検出した場合に、前記ページの前記有効状態情報を参照し、前記有効状態情報が無効を示すように設定されている場合に、当該ページの前記チェックコードを生成し、当該チェックコードと前記チェックコード保持部に格納されている前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置から当該ページに対応する前記データを読み出して当該ページに書き込み、前記有効状態情報を有効を示すように設定する処理、
    をコンピュータに実行させる請求項12記載のプログラム。
  14. 前記ページのデータの変更状態情報を保持する変更状態情報保持部を
    更にワークエリアとして使用し、
    ライト指示により前記ページのデータが変更された場合に、該当するページの前記変更状態情報を変更有に設定する処理と、
    サスペンド処理指示を検出した場合に、前記変更状態情報を参照して変更有の場合に、当該ページの前記データを前記第2の記憶装置に書き込み、当該ページの前記データのチェックコードを生成して前記チェックコード保持手段に書き込むサスペンド処理と、
    を更にコンピュータに実行させる請求項13記載のプログラム。
  15. 前記サスペンド処理指示を検出した場合に、前記各ページが割り当てられた前記プロセスがあらかじめ定められた前記レジューム対象の前記プロセスである場合に、当該ページの前記データを前記第2の記憶装置に書き込む処理
    をコンピュータに実行させる請求項12乃至14のいずれかに記載のプログラム。
  16. コンピュータが、複数の単位記憶部からなる第1の記憶装置と、第2の記憶装置とを制御する方法であって、
    サスペンド時には変更状態にある前記単位記憶部内のデータを前記第2の記憶装置に格納し、変更状態にある前記単位記憶部内の前記データのチェックコードを生成し、前記単位記憶部内の前記データの有効または無効を示す有効状態情報を無効を示すように設定し、
    前記第1の記憶装置へのアクセスを検出した場合に、前記有効状態情報が無効を示すように設定されている前記単位記憶部内の前記データの前記チェックコードを生成し、当該チェックコードと前記サスペンド時に生成した前記チェックコードとを比較し、一致しなかった場合に、前記第2の記憶装置に格納した前記単位記憶部内の前記データを読み出して前記単位記憶部に書き込み、前記有効状態情報が有効を示すように設定する方法。
  17. サスペンド時には変更状態にない前記単位記憶部内の前記データを前記第2の記憶装置に格納しない
    請求項16記載の方法。
  18. ページ単位の前記単位記憶部で構成されるメモリである前記第1の記憶装置と、
    補助記憶手段である前記第2の記憶装置を制御する請求項17記載の方法。
  19. コンピュータが前記ページを単位として前記第1の記憶装置を管理する方法であって、
    前記第1の記憶装置へのアクセスを検出した場合に、前記ページの前記有効状態情報が無効を示すように設定されているならば、当該ページの前記データのチェックコードを生成し、当該チェックコードと前記サスペンド時に生成した前記チェックコードとが一致しなかった場合に、前記第2の記憶装置から当該ページに対応する前記データを読み出して当該ページに書き込み、前記有効状態情報を有効を示すように設定する
    請求項18記載の方法。
  20. コンピュータが、ライト指示により前記ページのデータが変更された場合に、該当するページの前記変更状態情報を変更有に設定し、
    サスペンド処理指示を検出した場合に、前記変更状態情報が変更有ならば、当該ページの前記データを前記第2の記憶装置に書き込み、当該ページの前記データのチェックコードを生成する
    請求項19記載の方法。
  21. 記サスペンド処理指示を検出した場合に、前記各ページが割り当てられた前記プロセスがあらかじめ定められた前記レジューム対象の前記プロセスである場合に、当該ページの前記データを前記第2の記憶装置に書き込む請求項18乃至20のいずれかに記載の方法。
JP2007284740A 2007-11-01 2007-11-01 メモリ制御装置、システム、プログラム、および、方法 Expired - Fee Related JP4867892B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007284740A JP4867892B2 (ja) 2007-11-01 2007-11-01 メモリ制御装置、システム、プログラム、および、方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007284740A JP4867892B2 (ja) 2007-11-01 2007-11-01 メモリ制御装置、システム、プログラム、および、方法

Publications (2)

Publication Number Publication Date
JP2009110467A JP2009110467A (ja) 2009-05-21
JP4867892B2 true JP4867892B2 (ja) 2012-02-01

Family

ID=40778856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007284740A Expired - Fee Related JP4867892B2 (ja) 2007-11-01 2007-11-01 メモリ制御装置、システム、プログラム、および、方法

Country Status (1)

Country Link
JP (1) JP4867892B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060217A (ja) * 2009-09-14 2011-03-24 Toshiba Corp データ蓄積装置及びデータ書込み/読出し方法
JP5664347B2 (ja) * 2011-03-04 2015-02-04 ソニー株式会社 仮想メモリシステム、仮想メモリの制御方法、およびプログラム
KR101662616B1 (ko) * 2012-09-14 2016-10-05 인텔 코포레이션 저전력 상태시 메모리 영역 보호 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61278953A (ja) * 1985-06-04 1986-12-09 Ishida Scales Mfg Co Ltd Ramのエラ−チエツク方法
JPH04180111A (ja) * 1990-11-15 1992-06-26 Seiko Epson Corp 情報処理装置
JP3024308B2 (ja) * 1991-09-30 2000-03-21 カシオ計算機株式会社 データ処理装置
JPH07200112A (ja) * 1993-12-15 1995-08-04 Internatl Business Mach Corp <Ibm> 情報処理システム
JPH10207789A (ja) * 1997-01-23 1998-08-07 Canon Inc 情報処理装置、情報処理方法および記憶媒体
JPH11328045A (ja) * 1998-05-20 1999-11-30 Nec Corp バッテリバックアップ機能付きdram装置の初期化制御方式
JP2000082014A (ja) * 1998-09-04 2000-03-21 Canon Inc 情報処理装置、情報処理方法、及び記憶媒体

Also Published As

Publication number Publication date
JP2009110467A (ja) 2009-05-21

Similar Documents

Publication Publication Date Title
TWI629591B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US9104529B1 (en) System and method for copying a cache system
US10114578B2 (en) Solid state disk and data moving method
JP4481999B2 (ja) デマンドページング技法を適用したシステムでページ置換実行時間を短縮させる方法および装置
EP2016499B1 (en) Migrating data that is subject to access by input/output devices
CN102077188A (zh) 用于虚拟化操作系统的直接存储器访问过滤器
JP2006268503A (ja) 計算機システム、ディスク装置およびデータ更新制御方法
Skarlatos et al. Pageforge: a near-memory content-aware page-merging architecture
CN102016808A (zh) 将检查点数据存储于非易失性存储器中
JP5658827B2 (ja) ストレージシステム
JP2008090657A (ja) ストレージシステム及び制御方法
JP4745465B1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US8090907B2 (en) Method for migration of synchronous remote copy service to a virtualization appliance
JP4867892B2 (ja) メモリ制御装置、システム、プログラム、および、方法
US20120226832A1 (en) Data transfer device, ft server and data transfer method
TW200417857A (en) Allocating cache lines
WO2012163017A1 (zh) 分布式虚拟机访问异常的处理方法以及虚拟机监控器
JP2003345528A (ja) 記憶システム
JP5977430B2 (ja) ストレージシステム、ストレージシステムの制御方法及びストレージコントローラ
US20130103910A1 (en) Cache management for increasing performance of high-availability multi-core systems
US9003129B1 (en) Techniques for inter-storage-processor cache communication using tokens
KR20110052902A (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 메모리 관리 방법
JP2000305818A (ja) チップカードのメモリ断片化解消(デフラグ)
JP2021026375A (ja) ストレージシステム
JP6740719B2 (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090512

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110921

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees