JP2011159101A - 情報処理装置、メモリ管理方法、およびメモリ管理プログラム - Google Patents

情報処理装置、メモリ管理方法、およびメモリ管理プログラム Download PDF

Info

Publication number
JP2011159101A
JP2011159101A JP2010020144A JP2010020144A JP2011159101A JP 2011159101 A JP2011159101 A JP 2011159101A JP 2010020144 A JP2010020144 A JP 2010020144A JP 2010020144 A JP2010020144 A JP 2010020144A JP 2011159101 A JP2011159101 A JP 2011159101A
Authority
JP
Japan
Prior art keywords
storage area
data
target storage
memory
redundant
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
Application number
JP2010020144A
Other languages
English (en)
Inventor
Naoya Horiguchi
直也 堀口
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 JP2010020144A priority Critical patent/JP2011159101A/ja
Publication of JP2011159101A publication Critical patent/JP2011159101A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】データを効率的に冗長化し、システムの安定化を図ることが可能な情報処理装置、メモリ管理方法、およびメモリ管理プログラムを提供する。
【解決手段】情報処理装置は、データを記憶するための記憶装置を用いる。情報処理装置は、記憶装置よりも高速にアクセス可能であり、複数の記憶領域を論理的に設けることが可能なメモリ102と、メモリ102を管理するためのメモリ管理部151とを備える。メモリ管理部151は、複数の記憶領域の中で使用状態が遷移する対象記憶領域が、記憶装置に対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか記憶装置に対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、対象記憶領域に他の記憶領域を冗長記憶領域として割り当てて対象記憶領域のデータのコピーを格納するか否かを決定する。
【選択図】図2

Description

本発明は、情報処理装置、メモリ管理方法、およびメモリ管理プログラムに関し、特に、記憶領域の冗長化を行なう情報処理装置、メモリ管理方法、およびメモリ管理プログラムに関する。
ミッションクリティカルなサーバシステムでは、故障によってサービスが停止する時間を減らすために様々な技術が用いられている。特に、本番系が故障したときに待機系に切り替える二重化および冗長化の技術は、サーバ、ディスクおよびメモリなど、さまざまな部分で用いられている。しかしながら、従来の冗長化では本番環境と同一の待機系を用意しなければならないため、導入コストおよび保守コストが高くなるという難点があった。
このような問題を解決するために、たとえば、特許文献1(特開平05-088989号公報)には、以下のような技術が開示されている。すなわち、メモリ部に格納するプログラムまたはデータの重要度に応じて、メモリ部をソフトウェアによりブロック単位で二重化構成とする。より詳細には、メモリ装置は、内部が複数のブロックに分かれかつこれらの複数のブロックの中の2つのブロックを二重化メモリとして機能させることが可能に構成したメモリ部と、各ブロックを二重化構成とするかしないかの情報が格納されたブロック・ステータスレジスタと、このレジスタに格納されたステータス情報が二重化構成を指示する場合、CPU(Central Processing Unit)部からのアドレスを変換してメモリ部に与えるアドレス変換手段と、レジスタに格納された情報が二重化構成を指示する場合、対応するブロックを二重化メモリとして機能するように制御する二重化メモリ制御部とを備える。
また、特許文献2(特開平07-253935号公報)には、以下のような技術が開示されている。すなわち、ディスクキャッシュメモリ及びディスクを備えたコンピュータにおいて、上記ディスクキャッシュメモリを不揮発性メモリで構成し、上記コンピュータ本体の起動指令の入力に対応して上記ディスクキャッシュメモリの内容を上記ディスクに書込む。
一方、メモリの高可用性(availability)機能としては、特許文献3(特開2008−134809号公報)および特許文献4(特開2006−134241号公報)に記載されているようなメモリミラーリングに加えて、エラー発生時にエラーを閉じこめることによりシステムを安全に継続できる技術が最近実現されつつある。ここで、エラーの閉じ込め機能とは、エラーが発生したメモリ位置に印をつけて、エラーの発生後にそのデータを参照しないようにすることにより、エラーを無害化する機能である。
特開平05-088989号公報 特開平07-253935号公報 特開2008−134809号公報 特開2006−134241号公報
ところで、OS(Operating System)およびアプリケーション等のプログラムが使用す
る内部変数等の内部データの重要度は時々刻々と変化する場合が多い。
しかしながら、特許文献1に記載の技術では、データの重要度の具体的な判定基準、すなわち冗長化の必要性を判断するための具体的な基準が与えられていないため、上記のような重要度の変化するデータについて効率の良い冗長化を実現することが困難である。
また、特許文献2に記載の技術では、単にディスクキャッシュメモリの内容をディスクに格納するだけであるため、上記のような重要度の変化するデータを冗長化することには適していない。
また、エラーの閉じ込め機能では、エラーが発生したメモリ位置にあるデータを、ストレージから読み出すなどの方法で修復できる場合にはシステムを正常に継続できる。その一方で、当該データを修復できない場合にはシステムを正常に継続することができず、アプリケーションあるいはシステムがダウンしてしまう、という問題点があった。
この発明は、上述の課題を解決するためになされたもので、その目的は、データを効率的に冗長化し、システムの安定化を図ることが可能な情報処理装置、メモリ管理方法、およびメモリ管理プログラムを提供することである。
上記課題を解決するために、この発明のある局面に係わる情報処理装置は、データを記憶するための記憶装置を用いる情報処理装置であって、
前記記憶装置よりも高速にアクセス可能であり、複数の記憶領域を論理的に設けることが可能なメモリと、
前記メモリを管理するためのメモリ管理部とを備え、
前記メモリ管理部は、前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定する。
上記課題を解決するために、この発明のある局面に係わるメモリ管理方法は、データを記憶するための記憶装置を用い、前記記憶装置よりも高速にアクセス可能なメモリを備える情報処理装置におけるメモリ管理方法であって、
(a)前記メモリに複数の記憶領域を論理的に設けるステップと、
(b)前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定するステップとを含む。
上記課題を解決するために、この発明のある局面に係わるメモリ管理プログラムは、データを記憶するための記憶装置を用い、前記記憶装置よりも高速にアクセス可能なメモリを備える情報処理装置におけるメモリ管理プログラムであって、コンピュータに、
(a)前記メモリに複数の記憶領域を論理的に設けるステップと、
(b)前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定するステップとを実行させる。
本発明によれば、データを効率的に冗長化し、システムの安定化を図ることができる。
本発明の実施の形態に係る情報処理装置の概略構成図である。 本発明の実施の形態に係る情報処理装置が提供する制御構造を示すブロック図である。 フラグとページ状態の関係を示す図である。 図3に示す4種類のページ状態間の遷移を示す図である。 本発明の実施の形態に係る情報処理装置がメモリ管理処理を行なう際の動作手順を示すフローチャートである。 本発明の実施の形態に係る情報処理装置が冗長化開始処理を行なう際の動作手順を示すフローチャートである。 本発明の実施の形態に係る情報処理装置が冗長化終了を行なう際の動作手順を示すフローチャートである。 本発明の実施の形態に係る情報処理装置がデータ復旧処理を行なう際の動作手順を示すフローチャートである。
[概要]
本発明の実施の形態では、メモリ上でハードウェアのエラーが発生したときに、特許文献1〜4に記載の技術等の従来の方法よりも効率良く高可用性を実現することが可能となる。すなわち、本発明の実施の形態では、エラーにより失われたデータを修復する手段がない場合のみ、データの冗長化を行なう。これにより、従来の方法ではデータを復旧できなかった場合でも、冗長化領域へフェイルオーバーすることにより、システムを正常に継続させることができる。さらに、冗長化のために用いるメモリ領域を小さく抑えることができるため、メモリの使用効率を高めることができる。
このような効果を実現するためには、メモリ上の各データについて、従来の方法でデータを修復できるかどうかを判断し、修復不可能なメモリ領域のみ部分的に冗長化する必要がある。本発明の実施の形態では、一例として、OSのメモリ管理機能に対して、動的に冗長化のオン・オフを切り替えるための仕組みを追加することにより、上記効果を実現する。
本発明の実施の形態は、メモリ冗長化の範囲を動的に変更するメモリ管理機能を実現しており、メモリ冗長化の範囲を、メモリエラーに対するデータの修復可能性に応じて動的に制御する。言い換えれば、エラー発生時のデータの修復可能性に基づいてメモリ冗長化の範囲を判断し、メモリ冗長化の範囲を動的に制御する。
本発明の実施の形態に係る情報処理装置は、典型的には、汎用的なアーキテクチャを有するコンピュータを基本構造としており、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。一般的に、このようなプログラムは、フロッピーディスク(登録商標)およびCD−ROM(Compact Disk Read Only Memory)などの記録媒体に格納されて、あるいはネットワークなどを介して流通する。
本発明の実施の形態に係るプログラムは、OS等の他のプログラムの一部に組み込まれて提供されるものであってもよい。この場合でも、本発明の実施の形態に係るプログラム自体は、上記のような組み込み先の他のプログラムが有するモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本発明の実施の形態に係る
プログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
なお、代替的に、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
[装置構成]
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
図1は、本発明の実施の形態に係る情報処理装置の概略構成図である。図1を参照して、情報処理装置200は、演算処理部であるCPU(Central Processing Unit)101と、メインメモリ102と、ハードディスク103と、入力インターフェイス104と、表示コントローラ105と、データリーダ/ライタ106と、通信インターフェイス107とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU101は、ハードディスク103に格納されたプログラム(コード)をメインメモリ102に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ102は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク103から読み出されたプログラムに加えて、各種の演算処理結果を示すデータなどを保持する。また、ハードディスク103は不揮発性の磁気記憶装置であり、CPU101で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク103にインストールされるプログラムは、後述するように、記録媒体111に格納された状態で流通する。なお、ハードディスク103に加えて、あるいはハードディスク103に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
入力インターフェイス104は、CPU101とキーボード108、マウス109および図示しないタッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス104は、ユーザが入力部を操作することで与えられる操作指令などの外部からの入力を受付ける。
表示コントローラ105は、表示部の典型例であるディスプレイ110と接続され、ディスプレイ110での表示を制御する。すなわち、表示コントローラ105は、CPU101による画像処理の結果などをユーザに対して表示する。ディスプレイ110は、たとえばLCD(Liquid Crystal Display)またはCRT(Cathode Ray Tube)である。
データリーダ/ライタ106は、CPU101と記録媒体111の間のデータ伝送を仲介する。すなわち、記録媒体111は、情報処理装置200で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ106は、この記録媒体111からプログラムを読み出す。また、データリーダ/ライタ106は、CPU101の内部指令に応答して、情報処理装置200における処理結果などを記録媒体111へ書き込む。なお、記録媒体111は、たとえば、CF(Compact Flash)およびSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体、またはCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体である。
通信インターフェイス107は、CPU101とパーソナルコンピュータおよびサーバ装置などの間のデータ伝送を仲介する。通信インターフェイス107は、典型的には、イーサネット(登録商標)またはUSB(Universal Serial Bus)の通信機能を有する。な
お、記録媒体111に格納されたプログラムを情報処理装置200にインストールする形態に代えて、通信インターフェイス107を介して配信サーバなどからダウンロードしたプログラムを情報処理装置200にインストールしてもよい。
また、情報処理装置200には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
[制御構造]
次に、情報処理装置200におけるメモリ管理機能を提供するための制御構造について説明する。
図2は、本発明の実施の形態に係る情報処理装置が提供する制御構造を示すブロック図である。図2に示す各ブロックは、ハードディスク103に格納されたプログラム(コード)などをメインメモリ102に展開して、CPU101に実行させることで提供される。なお、図2に示す制御構造の一部もしくは全部を専用ハードウェアおよび/または配線回路によって実現してもよい。
図2を参照して、情報処理装置200は、その制御構造として、メモリ管理部151を備える。メモリ管理部151は、キャッシュ領域管理部152と、冗長領域管理部153とを含む。この制御構造は、たとえばOSの機能の一部として提供される。メモリ管理部151は、メインメモリ102を管理する。
より詳細には、冗長領域管理部153は、キャッシュ領域管理部152からの要求(C11)に応じて冗長化のオン・オフを実行し、冗長領域の情報を管理する。
物理メモリであるメインメモリ102は、ハードディスク103よりも高速にアクセス可能である。メインメモリ102は、論理的に設けられた連続する複数の記憶領域を有する。OSは、この記憶領域を単位としてメインメモリ102を管理する。この単位をページと呼ぶ。ページ管理データ201〜206は、メインメモリ102上の固定サイズ領域301〜306をそれぞれ管理するためのデータである。
各ページ管理データは、ページが未使用(フリー)であることを示すフリーフラグと、ページがキャッシュ領域管理部152に繋がれていることを示すキャッシュフラグと、キャッシュがハードディスク103などのストレージにバックアップを持たないことを示すダーティフラグと、ページが冗長ページであることを示す冗長化フラグとを含む。
図3は、フラグとページ状態の関係を示す図である。図3の一番右の列は、ページを冗長化する必要の有無を示している。
図3を参照して、ページが未使用ページである場合には、当該ページを冗長化する必要は無く、フリーフラグがオンに設定され、キャッシュフラグは無効であり、ダーティフラグは無効である。また、ページがクリーンページ、すなわちアプリケーションが使用し、かつハードディスク103にデータのコピーが存在する場合には、当該ページを冗長化する必要は無く、フリーフラグがオフに設定され、キャッシュフラグがオンに設定され、ダーティフラグがオフに設定される。また、ページがダーティページ、すなわちアプリケーションが使用し、かつハードディスク103にデータのコピーが存在しない場合には、当該ページを冗長化する必要が有り、フリーフラグがオフに設定され、キャッシュフラグがオンに設定され、ダーティフラグがオンに設定される。また、ページがOS使用ページ、すなわちOSが使用し、かつハードディスク103にデータのコピーが存在しない場合には、当該ページを冗長化する必要が有り、フリーフラグがオフに設定され、キャッシュフ
ラグがオフに設定され、ダーティフラグは無効である。
本発明の実施の形態では、ダーティページおよびOS使用ページに対してのみ冗長化を行ない、他のページに対しては冗長化を行なわない。その理由は、ダーティページおよびOS使用ページは、他の場所にデータのコピーを持たないので、冗長化しなければエラー発生時にデータを修復することができないからである。
[動作]
次に、本発明の実施の形態に係る情報処理装置の動作について図面を用いて説明する。本発明の実施の形態では、情報処理装置200を動作させることによって、本発明の実施の形態に係るメモリ管理方法が実施される。よって、本発明の実施の形態に係るメモリ管理方法の説明は、以下の情報処理装置200の動作説明に代える。なお、以下の説明においては、適宜図2を参照する。
図4は、図3に示す4種類のページ状態間の遷移を示す図である。図4を参照して、アプリケーションがハードディスク103からデータファイルを読みだして未使用ページ501に当該データファイルを格納すると、未使用ページ501はクリーンページ502に遷移する(TR51)。アプリケーションがクリーンページ502を解放すると、クリーンページ502は未使用ページ501に遷移する(TR52)。また、アプリケーションがクリーンページ502にデータを書き込むと、クリーンページ502はダーティページ503に遷移する(TR53)。アプリケーションがメインメモリ102とハードディスク103との同期をとると、ダーティページ503はクリーンページ502に遷移する(TR54)。また、アプリケーションが未使用ページ501を動的ページとして割り当てると、未使用ページ501はダーティページ503に遷移する(TR55)。アプリケーションがダーティページ503を解放すると、ダーティページ503は未使用ページ501に遷移する(TR56)。また、OSが未使用ページ501を自身の作業用として割り当てると、未使用ページ501はOS使用ページ504に遷移する(TR57)。OSがOS使用ページ504を解放すると、OS使用ページ504は未使用ページ501に遷移する(TR58)。
図5は、本発明の実施の形態に係る情報処理装置がメモリ管理処理を行なう際の動作手順を示すフローチャートである。
図5を参照して、メモリ管理部151は、ページ状態すなわちページの使用状態の遷移が指示されるまで待機し(S10でNO)、使用状態の遷移が指示されると(S10でYES)、当該遷移が冗長化の不要な使用状態から冗長化の必要な使用状態への遷移である場合には(S12でYES)、冗長化開始処理を行ない(S14)、その後、次の使用状態の遷移が指示されるまで待機する(S10)。また、メモリ管理部151は、当該遷移が冗長化の必要な使用状態から冗長化の不要な使用状態への遷移である場合には(S12でNO、S16でYES)、冗長化終了処理を行ない(S18)、その後、次の使用状態の遷移が指示されるまで待機する(S10)。また、メモリ管理部151は、当該ページの冗長化の必要性が変わらない場合には(S12でNO、S16でNO)、次の使用状態の遷移が指示されるまで待機する(S10)。
具体的には、使用状態の遷移が指示されたページ(以下、対象ページと称する。)が、冗長化が不要な未使用ページ501またはクリーンページ502から、冗長化が必要なダーティページ503またはOS使用ページ504へ遷移するとき(TR53、TR55、TR57)、キャッシュ領域管理部152は、冗長領域管理部153へ冗長化開始指示を送ることにより、冗長化開始処理を行なう。冗長領域管理部153は、キャッシュ領域管理部152から冗長化開始指示を受けて、冗長化開始指示の示す対象ページを冗長化する
一方、対象ページが冗長化が必要なページ状態から不要なページ状態へ遷移するとき(TR54、TR56、TR58)、キャッシュ領域管理部152は、冗長領域管理部153へ冗長化終了指示を送ることにより、冗長化終了処理を行なう。冗長領域管理部153は、キャッシュ領域管理部152から冗長化終了指示を受けて、冗長化終了指示の示す対象ページを非冗長化する。
次に、本発明の実施の形態に係る情報処理装置の冗長化開始処理および冗長化終了処理について説明する。ここでは、図2に示す一例を参照しながら説明する。
図6は、本発明の実施の形態に係る情報処理装置が冗長化開始処理を行なう際の動作手順を示すフローチャートである。
図6を参照して、キャッシュ領域管理部152は、冗長化の不要な使用状態から必要な使用状態へ遷移するページ(固定サイズ領域)303,305を冗長領域管理部153に関連付ける(S601、図2のC14,C16)。ページ303,305を管理するためにそれぞれページ管理データ203,205が用いられる。
次に、キャッシュ領域管理部152は、ページ303,305に対してそれぞれページ304,306を冗長ページとして割り当てる(S602)。
次に、キャッシュ領域管理部152は、冗長ページ304,306を冗長領域管理部153に関連付ける(S603、図2のC15,C17)。冗長ページ304,306を管理するためにそれぞれページ管理データ204,206が用いられる。
次に、キャッシュ領域管理部152は、冗長領域管理部153に冗長化開始を要求する(S604)。
次に、冗長領域管理部153は、ページ管理データ204,206の冗長化フラグをオンに設定する(S605)。
次に、OSまたはアプリケーションにより、ページ303,305の使用状態の遷移処理が実行される(S606、図4のTR53,TR55,TR57)。
図7は、本発明の実施の形態に係る情報処理装置が冗長化終了を行なう際の動作手順を示すフローチャートである。
図7を参照して、OSまたはアプリケーションにより、ページ303,305を冗長化の必要な使用状態から不要な使用状態へ遷移する処理が実行される(S611、図4のTR54,TR56,TR58)。
次に、冗長領域管理部153は、ページ管理データ204,206の冗長化フラグをオフに設定する(S612)。
次に、キャッシュ領域管理部152は、冗長領域管理部153に冗長化終了を要求する(S613)。
次に、キャッシュ領域管理部152は、冗長ページ304,306と冗長領域管理部153との関連を消去する(S614、図2のC15,C17)。
次に、キャッシュ領域管理部152は、冗長ページ304,306を解放して未使用ページとする(S615)。
次に、キャッシュ領域管理部152は、ページ303,305と冗長領域管理部153との関連を消去する(S616、図2のC14,C16)。
ステップS601〜S605とステップS612〜S616は、本発明の実施の形態における特徴的な処理である。これらの処理により、効率の良い冗長化が可能となる。
また、上記ステップS604およびS613の処理の詳細は、メモリ二重化の実装内容に依存する。メモリ二重化の手段として、例えば特許文献1に記載されている二重化手段を用いた場合には、ステップS604およびS613の処理は二重化のオン・オフを制御するためのステータスレジスタに値を書き込む処理に相当する。このような二重化手段により二重化をオンにした場合、CPU101およびメインメモリ102間のデータ転送は、二重化されたページの両方に対して同期的に行なわれる。
要約すれば、メモリ管理部151は、冗長化の不要な使用状態から冗長化の必要な使用状態へ対象ページが遷移する場合には、対象ページに他のページを冗長ページとして割り当てて対象ページのデータのコピーを格納し、冗長化の必要な使用状態から冗長化の不要な使用状態へ対象ページが遷移する場合には、対象ページに対する冗長ページの割り当てを解除する。
また、メモリ管理部151は、対象ページが冗長化の不要な使用状態から冗長化の必要な使用状態へ遷移する前に対象ページに対する冗長ページの割り当てを行ない、対象ページが冗長化の必要な使用状態から冗長化の不要な使用状態へ遷移した後に対象ページに対する冗長ページの割り当ての解除を行なう。すなわち、冗長化開始処理では、ページ遷移処理(S606)を行う前に冗長化のための処理(S601〜S605)を行う。一方、冗長化終了処理では、ページ遷移処理(S611)の後に冗長化のための処理(S612〜S616)を行う。このような方法により、ページ状態の遷移途中でメモリエラーが発生した場合でも、エラーからの復旧が可能となる。
次に、メモリエラー発生時のデータ復旧処理について説明する。図8は、本発明の実施の形態に係る情報処理装置がデータ復旧処理を行なう際の動作手順を示すフローチャートである。
要約すれば、メモリ管理部151は、冗長ページが割り当てられた対象ページにおいてエラーが発生した場合には、対象ページの使用を停止して対応の冗長ページを対象ページとして新たに設定する。そして、メモリ管理部151は、メインメモリ102における複数のページのうち、エラーの発生した対象ページおよび新たに設定した対象ページ以外のページを新たに冗長ページとして割り当てる。そして、メモリ管理部151は、新たに割り当てられた冗長ページに、新たに設定された対象ページのデータのコピーを格納する。
図8を参照して、データ復旧処理は、メモリエラー発生時に情報処理装置200におけるハードウェアが発行するマシンチェック割り込み(S701)を発端として、エラーの発生したエラーページの閉じ込め処理(S702)を行った後に行われる。ここで、エラーページの閉じ込め処理とは、エラーページにハードウェアエラーが起こったことを示すフラグをオンに設定する処理である。この処理以降、当該エラーページへのアクセスは拒否される。データ復旧処理(S703〜S709)では、エラーページの種類(図3に示した4種類)に応じて、以下のように処理の分岐がなされる。
エラーページが未使用ページの場合には、エラーによりデータが失われないため、エラ
ーページの閉じ込め処理を行うだけで、安全に処理を継続することができる(S709)。
エラーページがクリーンページの場合、メインメモリ102において冗長化はされていないが、ハードディスク103等のストレージにデータのコピーが存在する。このため、メモリ管理部151は、ハードディスク103からコピーデータを読み出し、新しく割り当てたページに格納する(S704)。これにより、データの整合性が保たれ、安全に処理を継続することができる(S709)。
エラーページがダーティページまたはOS使用ページの場合、まず、メモリ管理部151は、冗長領域管理部153に冗長ページの位置を問い合わせる(S705)。次に、メモリ管理部151は、エラーページの管理データを冗長ページの管理データにコピーする(S706)。さらに、ユーザ空間のアプリケーションを全て検査し、エラーページへの参照を全て冗長ページへの参照に切り替える(S707)。最後に、メモリ管理部151は、冗長ページに対して改めて冗長化を行い(S708)、フェイルオーバー処理を完了する。これらの処理により、データの整合性を保ちつつエラーを無害化できるため、安全に処理を継続することができる(S709)。
ステップS705〜S708は、本発明の実施の形態における特に特徴的な処理である。これらの処理により、メモリ冗長化によるデータ復旧が可能となる。
ところで、特許文献1に記載の技術では、データの重要度の具体的な判定基準、すなわち冗長化の必要性を判断するための具体的な基準が与えられていないため、重要度の変化するデータについて効率の良い冗長化を実現することが困難であった。また、特許文献2に記載の技術では、単にディスクキャッシュメモリの内容をディスクに格納するだけであるため、重要度の変化するデータを冗長化することには適していなかった。
これに対して、本発明の実施の形態に係る情報処理装置200では、メインメモリ102は、ハードディスク103よりも高速にアクセス可能であり、複数の記憶領域を論理的に設けることが可能である。また、メモリ管理部151は、使用状態が遷移するページである対象ページが、冗長化の不要な使用状態へ遷移するか冗長化の必要な使用状態へ遷移するかに基づいて、対象ページに他のページを冗長ページとして割り当てて対象ページのデータのコピーを格納するか否かを決定する。ここで、冗長化の不要な使用状態とは、ハードディスク103に対象ページのデータのコピーが格納される使用状態であり、冗長化の必要な使用状態とは、ハードディスク103に対象ページのデータのコピーが格納されない使用状態である。このような構成により、データの重要度の具体的な判定基準、すなわち冗長化の必要性を判断するための具体的な基準に従って、OS等がプログラムの状態すなわちページの状態に応じて冗長化を行なうか否かを自律的に決定することができる。したがって、重要度の変化するデータについて効率の良い冗長化を実現することが可能となる。
すなわち、本発明の実施の形態に係る情報処理装置200における各構成要素のうち、メインメモリ102およびメモリ管理部151により、データを効率的に冗長化し、システムの安定化を図るという本発明の目的を達成することが可能となる。
上記最小構成により、従来の方法ではデータを修復できなかったケースでも、冗長化によりデータを修復することができるため、メモリエラーによりシステムおよびアプリケーションがダウンすることを防ぐことができる。また、従来のメモリミラーリングと比べて、冗長ページのために使用する記憶領域を低減できるため、従来のメモリミラーリングと比べてメモリの使用効率を向上させることができる。
また、特許文献2に記載の技術では、単にディスクキャッシュメモリの内容をディスクに格納するだけであるため、重要度の変化するデータを冗長化することには適していなかった。すなわち、特許文献2に記載の技術は、バックアップをメモリ上に保存していると、電源障害時などシステムレベルの障害時にデータが失われるため、バックアップをディスク上に移す構成である。これに対して、本発明の実施の形態は、メモリの一部が壊れても他の部分が正常に運用を継続できることから、特許文献2に記載の技術とは保護できる障害のレベルが異なる。
また、特許文献2には、「ダーティビット」の記載があるが、これは、「キャッシュエリア番号に対応するブロック内の書込の有無を示す情報」、すなわち、メインメモリ上のデータのコピーをCPUキャッシュ上にコピーしたことを示すビットである。これに対して、本発明の実施の形態における「ダーティページ」は、プログラムの内部データすなわちストレージ上にコピーが無いデータを格納するページを意味しており、本発明の実施の形態と特許文献2に記載の「ダーティ」とはまったく異なる概念である。
なお、本発明の実施の形態では、冗長化開始処理において、ページ遷移処理(S606)を行う前に冗長化のための処理を行ない、冗長化終了処理において、ページ遷移処理(S611)の後に冗長化のための処理を行なったが、これに限定するものではない。冗長化開始処理において、ページ遷移処理(S606)を行なった後に冗長化に関する処理を行ない、冗長化終了処理において、ページ遷移処理(S611)の前に冗長化に関する処理を行なってもよい。
また、情報処理装置200がハードディスク103を備える構成であるとしたが、これに限定するものではなく、情報処理装置200の外部にハードディスク103が設けられる構成であってもよい。
また、上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
[付記1]
データを記憶するための記憶装置を用い、前記記憶装置よりも高速にアクセス可能なメモリを備える情報処理装置におけるメモリ管理方法であって、
(a)前記メモリに複数の記憶領域を論理的に設けるステップと、
(b)前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定するステップとを含む、メモリ管理方法。
[付記2]
前記(b)のステップにおいては、前記第1の使用状態から前記第2の使用状態へ前記対象記憶領域が遷移する場合には、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納し、前記第2の使用状態から前記第1の使用状態へ前記対象記憶領域が遷移する場合には、前記対象記憶領域に対する前記冗長記憶領域の割り当てを解除する、付記1に記載のメモリ管理方法。
[付記3]
前記(b)のステップにおいては、前記対象記憶領域が前記第1の使用状態から前記第
2の使用状態へ遷移する前に前記対象記憶領域に対する前記冗長記憶領域の割り当てを行ない、前記対象記憶領域が前記第2の使用状態から前記第1の使用状態へ遷移した後に前記対象記憶領域に対する前記冗長記憶領域の割り当ての解除を行なう、付記2に記載のメモリ管理方法。
[付記4]
前記メモリ管理方法は、さらに、
前記冗長記憶領域が割り当てられた前記対象記憶領域においてエラーが発生した場合には、前記対象記憶領域の使用を停止して対応の前記冗長記憶領域を前記対象記憶領域として新たに設定し、前記複数の記憶領域のうち、エラーの発生した前記対象記憶領域および新たに設定した前記対象記憶領域以外の前記記憶領域を新たに冗長記憶領域として割り当て、新たに割り当てられた前記冗長記憶領域に、新たに設定された前記対象記憶領域のデータのコピーを格納するステップを含む、付記1から3のいずれかに記載のメモリ管理方法。
[付記5]
データを記憶するための記憶装置を用い、前記記憶装置よりも高速にアクセス可能なメモリを備える情報処理装置におけるメモリ管理プログラムであって、コンピュータに、
(a)前記メモリに複数の記憶領域を論理的に設けるステップと、
(b)前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定するステップとを実行させる、メモリ管理プログラム。
[付記6]
前記(b)のステップにおいては、前記第1の使用状態から前記第2の使用状態へ前記対象記憶領域が遷移する場合には、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納し、前記第2の使用状態から前記第1の使用状態へ前記対象記憶領域が遷移する場合には、前記対象記憶領域に対する前記冗長記憶領域の割り当てを解除する、付記5に記載のメモリ管理プログラム。
[付記7]
前記(b)のステップにおいては、前記対象記憶領域が前記第1の使用状態から前記第2の使用状態へ遷移する前に前記対象記憶領域に対する前記冗長記憶領域の割り当てを行ない、前記対象記憶領域が前記第2の使用状態から前記第1の使用状態へ遷移した後に前記対象記憶領域に対する前記冗長記憶領域の割り当ての解除を行なう、付記6に記載のメモリ管理プログラム。
[付記8]
前記メモリ管理プログラムは、さらに、コンピュータに、
前記冗長記憶領域が割り当てられた前記対象記憶領域においてエラーが発生した場合には、前記対象記憶領域の使用を停止して対応の前記冗長記憶領域を前記対象記憶領域として新たに設定し、前記複数の記憶領域のうち、エラーの発生した前記対象記憶領域および新たに設定した前記対象記憶領域以外の前記記憶領域を新たに冗長記憶領域として割り当て、新たに割り当てられた前記冗長記憶領域に、新たに設定された前記対象記憶領域のデータのコピーを格納するステップを実行させる、付記5から7のいずれかに記載のメモリ管理プログラム。
101 CPU
102 メインメモリ
103 ハードディスク
104 入力インターフェイス
105 表示コントローラ
106 データリーダ/ライタ
107 通信インターフェイス
121 バス
151 メモリ管理部
152 キャッシュ領域管理部
153 冗長領域管理部
200 情報処理装置

Claims (6)

  1. データを記憶するための記憶装置を用いる情報処理装置であって、
    前記記憶装置よりも高速にアクセス可能であり、複数の記憶領域を論理的に設けることが可能なメモリと、
    前記メモリを管理するためのメモリ管理部とを備え、
    前記メモリ管理部は、前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定する、情報処理装置。
  2. 前記メモリ管理部は、前記第1の使用状態から前記第2の使用状態へ前記対象記憶領域が遷移する場合には、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納し、前記第2の使用状態から前記第1の使用状態へ前記対象記憶領域が遷移する場合には、前記対象記憶領域に対する前記冗長記憶領域の割り当てを解除する、請求項1に記載の情報処理装置。
  3. 前記メモリ管理部は、前記対象記憶領域が前記第1の使用状態から前記第2の使用状態へ遷移する前に前記対象記憶領域に対する前記冗長記憶領域の割り当てを行ない、前記対象記憶領域が前記第2の使用状態から前記第1の使用状態へ遷移した後に前記対象記憶領域に対する前記冗長記憶領域の割り当ての解除を行なう、請求項2に記載の情報処理装置。
  4. 前記メモリ管理部は、さらに、前記冗長記憶領域が割り当てられた前記対象記憶領域においてエラーが発生した場合には、前記対象記憶領域の使用を停止して対応の前記冗長記憶領域を前記対象記憶領域として新たに設定し、前記複数の記憶領域のうち、エラーの発生した前記対象記憶領域および新たに設定した前記対象記憶領域以外の前記記憶領域を新たに冗長記憶領域として割り当て、新たに割り当てられた前記冗長記憶領域に、新たに設定された前記対象記憶領域のデータのコピーを格納する、請求項1から3のいずれかに記載の情報処理装置。
  5. データを記憶するための記憶装置を用い、前記記憶装置よりも高速にアクセス可能なメモリを備える情報処理装置におけるメモリ管理方法であって、
    (a)前記メモリに複数の記憶領域を論理的に設けるステップと、
    (b)前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定するステップとを含む、メモリ管理方法。
  6. データを記憶するための記憶装置を用い、前記記憶装置よりも高速にアクセス可能なメモリを備える情報処理装置におけるメモリ管理プログラムであって、コンピュータに、
    (a)前記メモリに複数の記憶領域を論理的に設けるステップと、
    (b)前記複数の記憶領域の中で使用状態が遷移する対象記憶領域が、前記記憶装置に前記対象記憶領域のデータのコピーが格納される第1の使用状態へ遷移するか前記記憶装置に前記対象記憶領域のデータのコピーが格納されない第2の使用状態へ遷移するかに基づいて、前記対象記憶領域に他の前記記憶領域を冗長記憶領域として割り当てて前記対象記憶領域のデータのコピーを格納するか否かを決定するステップとを実行させる、メモリ管
    理プログラム。
JP2010020144A 2010-02-01 2010-02-01 情報処理装置、メモリ管理方法、およびメモリ管理プログラム Pending JP2011159101A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010020144A JP2011159101A (ja) 2010-02-01 2010-02-01 情報処理装置、メモリ管理方法、およびメモリ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010020144A JP2011159101A (ja) 2010-02-01 2010-02-01 情報処理装置、メモリ管理方法、およびメモリ管理プログラム

Publications (1)

Publication Number Publication Date
JP2011159101A true JP2011159101A (ja) 2011-08-18

Family

ID=44590997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020144A Pending JP2011159101A (ja) 2010-02-01 2010-02-01 情報処理装置、メモリ管理方法、およびメモリ管理プログラム

Country Status (1)

Country Link
JP (1) JP2011159101A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010739A (ja) * 2012-07-02 2014-01-20 Fujitsu Ltd システムの状態の復元についての情報処理方法、情報処理プログラム及び情報処理装置
JP7489183B2 (ja) 2019-11-19 2024-05-23 三菱重工業株式会社 演算装置、冗長化システムおよびプログラム、ならびに冗長化構成の構築方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181755A (ja) * 1992-01-06 1993-07-23 Hitachi Ltd 仮想記憶方式
JPH0887450A (ja) * 1994-09-16 1996-04-02 Toshiba Corp 情報記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181755A (ja) * 1992-01-06 1993-07-23 Hitachi Ltd 仮想記憶方式
JPH0887450A (ja) * 1994-09-16 1996-04-02 Toshiba Corp 情報記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010739A (ja) * 2012-07-02 2014-01-20 Fujitsu Ltd システムの状態の復元についての情報処理方法、情報処理プログラム及び情報処理装置
JP7489183B2 (ja) 2019-11-19 2024-05-23 三菱重工業株式会社 演算装置、冗長化システムおよびプログラム、ならびに冗長化構成の構築方法

Similar Documents

Publication Publication Date Title
JP4385215B2 (ja) スナップショットシミュレーション機能を有するディスクアレイ装置
JP6882662B2 (ja) マイグレーションプログラム、情報処理装置およびマイグレーション方法
US9507671B2 (en) Write cache protection in a purpose built backup appliance
US20120303913A1 (en) Transparent file system migration to a new physical location
JP2012190267A (ja) 移行プログラム、情報処理装置、及び移行方法
TWI417724B (zh) 使用替代頁池管理直接記憶器存取寫入頁錯誤之電腦執行方法、裝置、及電腦程式產品
JP2004005358A (ja) 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
JPWO2008099786A1 (ja) メモリ障害復旧方法、情報処理装置およびプログラム
JP2008269142A (ja) ディスクアレイ装置
JP7472341B2 (ja) ストレージシステム及びストレージシステムの制御方法
JP2006318017A (ja) Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
JP5284604B2 (ja) 過渡状態情報を格納するための方法、システムおよびコンピュータ・プログラム
KR20180044095A (ko) 전자 시스템 및 그것의 동작 방법
US8489829B2 (en) Reduction of communication and efficient failover processing in distributed shared memory-based application
CN113934571A (zh) 用于页高速缓存管理的方法和装置
JP2011159101A (ja) 情報処理装置、メモリ管理方法、およびメモリ管理プログラム
JP2009104369A (ja) ディスクサブシステム
JP2014038551A (ja) データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム
JP4741976B2 (ja) ディスクアレイ装置およびデータ管理方法
JP2012190064A (ja) 情報処理装置、メモリ管理方法、およびメモリ管理プログラム
CN107797885B (zh) 电子设备及其控制方法
WO2016006108A1 (ja) ストレージおよびその制御方法
JP2009157880A (ja) サーバ装置及びファイルシステム
JP6379914B2 (ja) ストレージシステム、制御方法および制御プログラム
JP6627541B2 (ja) ボリューム管理装置、ボリューム管理方法およびボリューム管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140625