JP2017182446A - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP2017182446A JP2017182446A JP2016068538A JP2016068538A JP2017182446A JP 2017182446 A JP2017182446 A JP 2017182446A JP 2016068538 A JP2016068538 A JP 2016068538A JP 2016068538 A JP2016068538 A JP 2016068538A JP 2017182446 A JP2017182446 A JP 2017182446A
- Authority
- JP
- Japan
- Prior art keywords
- page
- memory
- unit
- memory unit
- data
- 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
- Hardware Redundancy (AREA)
Abstract
Description
本開示は、データの冗長化を管理する技術に関する。 The present disclosure relates to a technique for managing data redundancy.
サーバ等の情報処理装置の可用性を維持するために、同一のデータを別のメモリユニットに複製(ミラーリング)する、冗長化(二重化)と呼ばれる技術が知られている。メモリユニットが冗長化されていれば、そのメモリユニットに障害があった場合であっても、他のメモリユニットにミラーリングされている、障害があったメモリユニットに格納されていたデータと同一のデータを用いることで、情報処理装置は処理を継続することができる。 In order to maintain the availability of an information processing apparatus such as a server, a technique called redundancy (duplication) is known in which the same data is copied (mirrored) to another memory unit. If a memory unit is made redundant, even if the memory unit is faulty, the same data that is mirrored to other memory units and stored in the faulty memory unit By using, the information processing apparatus can continue processing.
特許文献1には、ディスク装置などにおいて、メモリの使用率が所定の閾値を超えた場合に、メモリ内の冗長記憶領域を未使用領域とすることで、メモリの使用率を所定の閾値以下にする技術が開示されている。
In
特許文献1に開示されるように冗長記憶領域を未使用領域とすると、冗長記憶領域に格納されていたデータの冗長性が失われる。このとき、冗長化が解除されたデータを保持しているメモリユニットでメモリ障害が発生すると、そのメモリユニットに格納されていたデータは失われるという問題がある。
If the redundant storage area is an unused area as disclosed in
本発明は、メモリユニットの冗長性を維持しつつ使用可能なメモリ容量を増加させることを可能にすることを、目的の一つとする。 An object of the present invention is to make it possible to increase the usable memory capacity while maintaining the redundancy of the memory unit.
本発明の一態様に係る情報処理装置は、メモリユニットのうち、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する冗長制御手段と、ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込むページファイル制御手段と、ミラーリングが解除されることが決定された前記メモリユニットの一方のページに含まれるデータを消去するページ割当手段と、を備える。 An information processing apparatus according to an aspect of the present invention includes a redundancy control unit that decides to release mirroring of at least one of the memory units that are mirrored among the memory units, and the mirroring is released. The page file control means for writing a copy of the data contained in the memory unit determined to be stored in a storage area different from the memory unit, and included in one page of the memory unit determined to be unmirrored Page allocation means for erasing data.
本発明の一態様に係る情報処理装置は、メモリユニットのうち、ミラーリングされている前記メモリユニットに含まれるデータを、ミラーリングされていない前記メモリユニットに移動させるページ割当手段と、移動させたデータの複製を、前記メモリユニットと異なる記憶領域に書き込むページファイル制御手段と、を備える。 An information processing apparatus according to an aspect of the present invention includes: a page allocation unit that moves data included in the memory unit that is mirrored among the memory units to the memory unit that is not mirrored; and Page file control means for writing a copy to a storage area different from that of the memory unit.
本発明の一態様に係る情報処理方法は、メモリユニットのうち、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定し、ミラーリングを解除することが決定されたメモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込み、ミラーリングが解除されることが決定された前記メモリユニットの一方のページに含まれるデータを消去する。 In the information processing method according to one aspect of the present invention, it is determined that at least one of the mirrored memory units among the memory units is to be released from the mirroring, and the memory that has been determined to release the mirroring. A copy of the data contained in the unit is written into a storage area different from that of the memory unit, and the data contained in one page of the memory unit that is determined to be unmirrored is erased.
本発明の一態様に係るプログラムは、コンピュータに、メモリユニットのうち、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する冗長制御処理と、ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込むページファイル制御処理と、ミラーリングが解除されることが決定された前記メモリユニットの一方のページに含まれるデータを消去するページ割当処理と、を実行させる。 According to one aspect of the present invention, a program for causing a computer to perform redundancy control processing for deciding to release at least one of the mirrored memory units among the memory units, and to release the mirroring. A page file control process for writing a copy of data contained in the memory unit determined to be written to a storage area different from the memory unit, and one page of the memory unit determined to be unmirrored. Page allocation processing for erasing data to be deleted.
本発明によれば、メモリユニットの冗長性を維持しつつ使用可能なメモリ容量を増加させることができる。 According to the present invention, the usable memory capacity can be increased while maintaining redundancy of the memory unit.
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<<第1の実施形態>>
本発明の第1の実施形態について説明する。
<< First Embodiment >>
A first embodiment of the present invention will be described.
<構成>
図1は、第1の実施形態に係る情報処理装置11の構成を示すブロック図である。
<Configuration>
FIG. 1 is a block diagram showing the configuration of the
本実施形態に係る情報処理装置11は、記憶装置30と通信可能に接続される。
The
記憶装置30は、データを記憶する記憶領域300を有する。記憶装置30は、ハードディスク装置であってもよい。記憶装置30は、フラッシュメモリ等の不揮発性SSD(Solid State Drive)等の記憶装置であってもよい。
The
情報処理装置11は、複数のメモリユニット(図1に示す例では、メモリユニット141,142)を備える。メモリユニットは、たとえば、DRAM(Dynamic Random Access Memory)などの、揮発性の記憶装置である。メモリユニットの記憶領域は、複数の所定のサイズの記憶領域に区切られている。この所定のサイズの記憶領域の1つ1つを「ページ」と呼ぶ。ページには、情報処理装置11が実行するアプリケーション等で使用されるデータが、格納される。
The
以下、メモリユニット141のページのそれぞれを、ページ171と表す。メモリユニット142のページのそれぞれを、ページ172と表す。
Hereinafter, each page of the
情報処理装置11において、メモリユニット141とメモリユニット142とはミラーリングされている。ミラーリングとは、双方のメモリユニットが同一のデータを有するように制御されていることである。すなわち、ミラーリングにより、ページ171が含むデータと、ページ172が含むデータとは、実質的に同一である。
In the
情報処理装置11は、冗長制御部101、ページファイル制御部102、および、ページ割当部103を備える。
The
冗長制御部101は、ミラーリングされたメモリユニット141,142のミラーリングを解除することを決定する。以下、「ミラーリングを解除する」とは、メモリユニット間のミラーリングを解除することである。冗長制御部101は、ミラーリングの解除を決定した場合、ページファイル制御部102およびページ割当部103を呼び出す。
The
ページファイル制御部102は、ミラーリングが解除されることが決定されたメモリユニット(メモリユニット141,142)のページ(ページ171,ページ172)が含むデータの複製を、記憶装置30の記憶領域300に作成する。たとえば、ページファイル制御部102は、ページ171が含むデータと同じデータを、記憶装置30の記憶領域300に格納する。
The page
ページ割当部103は、ミラーリングが解除されることが決定されたメモリユニット141,142のページが含むデータを消去する。たとえば、ページ割当部103は、ページ172が含むデータを消去する。
The
図2に本実施形態の情報処理装置11の動作の流れを示す。まず、冗長制御部101は、ミラーリングされたメモリユニット141,142のミラーリングを解除することを決定する(ステップS21)。冗長制御部101は、ミラーリングの解除を決定した場合、ページファイル制御部102およびページ割当部103を呼び出す。ページファイル制御部102は、ミラーリングが解除されることが決定されたメモリユニット141,142のページ(ページ171またはページ172)が含むデータを、記憶装置30の記憶領域300に複製する(ステップS22)。ページ割当部103は、ミラーリングが解除されることが決定されたメモリユニット141,142のうち一方が含むデータを消去する(ステップS23)。
FIG. 2 shows a flow of operations of the
本実施形態によれば、メモリユニットの冗長性を維持しつつ使用可能なメモリ容量を増加させることができる。使用可能なメモリ容量を増加する理由は、メモリユニットのミラーリングを解除し、ミラーリングが解除されたメモリユニットの片方のページが含むデータを消去することにより、データが消去されたメモリユニットに新たに使用可能な領域が生成するからである。冗長性が維持される理由は、ミラーリングが解除されたメモリユニットのデータが、メモリユニットとは異なる記憶領域に複製されるからである。 According to the present embodiment, the usable memory capacity can be increased while maintaining the redundancy of the memory unit. The reason for increasing the usable memory capacity is to cancel the mirroring of the memory unit, and erase the data contained in one page of the memory unit that has been unmirrored. This is because a possible area is generated. The reason why the redundancy is maintained is that the data of the memory unit whose mirroring is released is duplicated in a storage area different from that of the memory unit.
<<主要構成>>
図17に、第1の実施形態の情報処理装置11の主要構成を備える情報処理装置10のブロック図を示す。情報処理装置10は、冗長制御部101と、ページファイル制御部102と、ページ割当部103と、を備える。
<< Main composition >>
FIG. 17 is a block diagram of the
冗長制御部101は、メモリユニットのうち、ミラーリングされているメモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する。
The
ページファイル制御部102は、ミラーリングが解除されることが決定されたメモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込む。
The page
ページ割当部103は、ミラーリングが解除されることが決定されたメモリユニットの一方に含まれるデータを消去する。
The
本構成によれば、メモリユニットの冗長性を維持しつつ使用可能なメモリ容量を増加させることができる。 According to this configuration, the usable memory capacity can be increased while maintaining redundancy of the memory unit.
<<第2の実施形態>>
本発明の第2の実施形態について説明する。
<< Second Embodiment >>
A second embodiment of the present invention will be described.
<構成>
図3は、第2の実施形態に係る情報処理装置12の構成を示すブロック図である。
<Configuration>
FIG. 3 is a block diagram illustrating a configuration of the
本実施形態に係る情報処理装置12は、ハードディスク31と通信可能に接続される。
The
ハードディスク31は、第1の実施形態における記憶装置30の具体例である。ハードディスク31は、ページファイル310を有する。ページファイル310は、ページに格納されるデータと同様のデータを記憶することができるファイルである。
The
情報処理装置12は、複数のメモリユニット15Nと、メモリ割当制御部20と、メモリ使用量監視部121と、例外ハンドル部111とを有する。
The
図3には、複数のメモリユニット15Nとして、メモリユニット151〜154が記載される。メモリユニット15Nは、それぞれページを含む。メモリユニット15Nは、データを、内部のページに格納する。図3で示す例では、メモリユニット151のページにはデータ181が格納されている。メモリユニット152にはデータ181’が格納されている。メモリユニット153およびメモリユニット154には、データが格納されていない。すなわち、メモリユニット153,154は、フリーな(どのページにもデータが格納されていない状態の)メモリユニットである。
FIG. 3 shows
本実施形態の説明において、メモリユニット151と152とは、ミラーリングされている。すなわち、データ181とデータ181’とは、実質的に同一である。
In the description of this embodiment, the
なお、ページへのデータの書き込みや、ページが含むデータの更新は、情報処理装置12内の図示しない機能構成が行えばよい。
It should be noted that writing of data to the page and updating of data included in the page may be performed by a functional configuration (not shown) in the
メモリユニット15Nの機能は、たとえば、コンピュータのメインメモリにより提供される。この場合、一般的に、メモリユニットに格納されるページに対する処理の速度は、ハードディスク31のページファイル310に格納されるページに対する処理の速度よりも速い。したがって、情報処理装置12がページを更新する場合には、更新の対象のデータおよび冗長化されたデータがメモリユニット上に存在する方が、情報処理装置12の処理は速く、効率的である。
The function of the
メモリ使用量監視部121は、メモリの使用状況を監視する。監視により、メモリ使用量監視部121は、メモリ不足を検知する。メモリ不足の定義は、設計により変化しうる。メモリ不足とは、たとえば、メモリの空き容量が所定値を下回る場合である。空き容量とは、たとえば、データが格納されていない、使用可能な記憶領域の容量の総量である。メモリ不足とは、たとえば、メモリの空き容量が、新たに扱うデータのデータ量よりも少ないことである。メモリ不足とは、たとえば、使用されているメモリ容量の増加量を所定時間で割った値が、空き容量の定数倍を上回る場合である。なお、メモリ容量は、データが格納されていない、すなわち、未使用の、ページの数で表されてもよい。メモリ不足とは、たとえば、メモリの使用率が所定の閾値を超えることである。メモリの使用率は、たとえば、OSが認識しているメモリ容量に対する、そのメモリ容量からOSやアプリケーションが新たに使用可能なメモリ容量を差し引いた値の割合である。メモリの使用率は、メモリにおける使用可能なすべてのページの数からミラーリングされているメモリユニットが含むページの総数の半分を差し引いた数に対する、使用されているページの数の割合、で算出されてもよい。
The memory
メモリ使用量監視部121は、メモリ不足を検知した場合は、メモリ割当制御部20の冗長監視部200に、メモリ不足を検知したことを示す通知を送信する。
When the memory
例外ハンドル部111は、書き込み侵害の例外およびメモリ障害を検知する。
The
書き込み侵害の例外とは、「ページ保護」が設定されているページに対して、書き込みや更新の指示が発生することによる例外である。例外ハンドル部111は、たとえば、情報処理装置12の各メモリユニットのページに対する書き込み指示を監視する。例外ハンドル部111は、監視において、「ページ保護」が設定されているページに対する書き込みの指示を検知する。検知した場合、例外ハンドル部111は、書き込み侵害の例外が発生したことを示す通知と、その書き込み指示の対象であるページを示す情報(たとえば、アドレス)を、例外監視部205に送信する。なお、「ページ保護」の設定は、後述するページ属性制御部204によって行われる。
The write infringement exception is an exception caused by an instruction to write or update a page for which “page protection” is set. For example, the
メモリ障害とは、メモリユニット15Nに発生する障害である。例外ハンドル部111は、メモリの障害を検知する他の機能構成と通信可能に接続されていてもよい。例外ハンドル部111は、メモリ障害を検知すると、メモリの障害が発生したことを示す通知と、その障害が発生したメモリユニットを示す情報(たとえば、識別子)とを、例外監視部205に送信する。
The memory failure is a failure that occurs in the
メモリ割当制御部20は、冗長監視部200、冗長制御部201、ページファイル制御部202、ページ割当部203、ページ属性制御部204、例外監視部205、および、メモリ管理テーブル210を含む。
The memory
冗長監視部200は、メモリ使用量監視部121からメモリ不足を検知したことを示す通知を受け取ると、冗長制御部201に、ミラーリング解除指示を送信する。ミラーリング解除指示は、ミラーリングを解除する指示である。
When the
冗長制御部201は、それぞれのメモリユニット15Nの状態を管理する。冗長制御部201は、メモリユニット15Nの状態の管理を、メモリ管理テーブル210によって行えばよい。
The
例えばメモリ管理テーブル210は、情報処理装置12の各メモリユニットに関する次の情報を含んでよい。
・他のメモリユニットとミラーリングされているか否か(以下、「ミラーリング情報」と呼ぶ。「是」/「否」の2値。)
・ミラーリングされている場合、どのメモリユニットとミラーリングされているか
・データを格納しているページが有るか(以下、「ページ情報」と呼ぶ。「有」/「無」の2値。)
・格納されているデータの情報(更新日時、論理アドレス、および、その論理アドレスに割り当てられている物理アドレスもしくはページファイル310におけるアドレス、など。)
For example, the memory management table 210 may include the following information regarding each memory unit of the
Whether or not it is mirrored with another memory unit (hereinafter referred to as “mirroring information”, binary of “Yes” / “No”)
-In the case of mirroring, which memory unit is mirrored-Whether there is a page storing data (hereinafter referred to as "page information", binary of "Yes" / "No")
Information of stored data (update date / time, logical address, physical address assigned to the logical address or address in the
冗長制御部201は、メモリユニット15Nに関する情報が変更される場合に、メモリ管理テーブル210の情報を更新する。冗長制御部201は、必要に応じて、メモリ管理テーブル210の情報を参照する。
The
また、冗長制御部201は、ページファイル制御部202、ページ割当部203、および、ページ属性制御部204に対し、行うべき処理の内容を指示する。
Further, the
ページファイル制御部202は、冗長制御部201の指示に従って、ページファイル310にデータを記録する。
The page
ページ割当部203は、メモリユニット141,142の各ページに対するデータの割当を制御する。「データの割当を制御する」とは、データと、そのデータへのアクセスにおいて使用されるページとの対応付けを、制御することである。たとえば、ページ割当手段は、そのデータに割り当てられた論理アドレスと、ページの物理アドレスとの関連づけを制御する。また、データが、そのデータに関連づけられた物理アドレスのページに存在するよう、ページにデータを書き込む。
The
ページ割当部203は、ページに含まれるデータを「移動させる」。「移動させる」とは、そのデータを格納するページを変更することである。具体的には、ページ割当部203は、そのデータに対応付けられた、ページの物理アドレスを変更する。そして、ページ割当部203は、データを、変更後の物理アドレスのページに書き込む。また、ページ割当部203は、変更前の物理アドレスページに含まれるデータを消去する。
The
ページ割当部203は、ミラーリングが解除されたメモリユニットの一方のデータを消去する。ページ割当部203は、データを消去することによってフリーになったメモリユニットの各ページを解放する。「ページを解放する」とは、ページを使用可能な状態にすることである。たとえば、ページ割当部203は、ページに、使用可能な論理アドレスを割り当てればよい。
The
ページ属性制御部204は、それぞれのページの属性の情報を制御する。ページの属性は、たとえば、そのページが「ページ保護」に設定されているか否かを示す情報を含んでもよい。たとえば、ページ属性制御部204は、ミラーリングされていないページに対して、「ページ保護」を設定してもよい。「ページ保護」に設定されたページは、上述の書き込み侵害の例外の検知に用いられうる。
The page
例外監視部205は、例外ハンドル部111から書き込み侵害の例外の通知またはメモリ障害が発生したことを示す通知を受け取ると、冗長制御部201を呼び出す。なお、このとき、例外監視部205は、例外ハンドル部111から受け取った情報(たとえば、例外の種類、および、例外に係るメモリユニットを示す情報)も、冗長制御部201に送信する。
When the
<動作>
第2の実施形態に係る情報処理装置12の動作について図4、図6、図8、図10のフローチャートを参照して詳細に説明する。
<Operation>
The operation of the
(ミラーリングの解除時)
ミラーリングの解除に係る情報処理装置12の流れを、図4のフローチャートを参照しながら説明する。
(When canceling mirroring)
The flow of the
ミラーリングの解除を行う契機は、たとえば、メモリ不足を検知したメモリ使用量監視部121が、冗長監視部200にメモリ不足を検知した旨を通知したときである。
The trigger for canceling the mirroring is, for example, when the memory
ステップS41において、冗長監視部200は、メモリ使用量監視部121からメモリ不足を検知したことを示す通知を受け取る。すると、冗長監視部200は、冗長制御部201にミラーリング解除指示を送信する(ステップS41)。
In step S41, the
冗長制御部201は、冗長監視部200からミラーリング解除指示を受信すると、メモリユニット15Nのうち、ミラーリングされているメモリユニットの組を少なくとも1つ選択し、そのメモリユニットのミラーリングを解除することを決定する(ステップS42)。例として、冗長制御部201は、メモリユニット151およびメモリユニット152の間のミラーリングを解除することを決定したとする。
When receiving the mirroring cancellation instruction from the
決定されたメモリユニットのミラーリングを解除する手順は、次のステップS43〜S45の手順を含む。 The procedure for canceling the mirroring of the determined memory unit includes the following steps S43 to S45.
ステップS43において、メモリユニット151および152にページが記録されていた場合、ページファイル制御部202は、ミラーリングされていたメモリユニットに含まれるデータの複製をページファイルに作成する。具体的には、ページファイル制御部202は、メモリユニット151(または152)が含むすべてのページの内容の複製を、ハードディスク31のページファイル310に作成する。これによりページファイル310に生成したデータをデータ191とする。なお、メモリユニット151および152がフリーのページであった場合は、ステップS43の処理は省略されてよい。
In step S43, when a page is recorded in the
ステップS44において、ページ割当部203は、ミラーリングを解除したメモリユニットの片方(たとえばメモリユニット152)のすべてのページの内容を消去する。そして、ページ割当部203は、メモリユニット152を解放する。
In step S44, the
ステップS45において、冗長制御部201は、メモリ管理テーブル210における、メモリユニット151、152に関する情報を更新する。具体的には、冗長制御部201は、メモリユニット151、152のミラーリング情報を「否」にする。また、冗長制御部201は、メモリユニット152のページ情報を「無」にする。
In step S <b> 45, the
なお、上記のステップS43〜S45の手順の順序は限定されない。ただし、ステップS45(ページの内容の消去)が、ステップS44(ページの複製)の後に行われれば、ページの冗長性が常に保たれるため、情報処理装置はより障害に対して強くなる。 The order of the steps S43 to S45 is not limited. However, if step S45 (deleting the contents of the page) is performed after step S44 (duplicating the page), the redundancy of the page is always maintained, so that the information processing apparatus becomes more resistant to failures.
なお、ページ属性制御部204は、メモリユニット151が含むページに「ページ保護」を設定してもよい。
Note that the page
以上により、メモリユニットのミラーリングの解除が完了する。 This completes the release of the mirroring of the memory unit.
図5は、本実施形態においてミラーリングが解除された後の構成を例示する図である。メモリユニット151とメモリユニット152のミラーリングは解除され、ページファイル310にて、データ181と実質的に同一の新たなデータ191が生成している。
FIG. 5 is a diagram illustrating a configuration after mirroring is released in the present embodiment. The mirroring of the
なお、ミラーリングを解除するメモリユニット15Nの数は、限定されない。また、ミラーリングを解除するメモリユニット15Nは、予め定められていてもよい。冗長制御部201は、最後に更新されてから経過した時間が最も長いメモリユニット15Nを選択するように設計されてもよい。最後に更新されてから経過した時間が最も長いメモリユニット15Nは、そのメモリへのアクセスの頻度が少ない可能性が高い。あるいは、冗長制御部201は、次に使用されるまでの時間が最も長いと見込まれるメモリユニット15Nを選択するアルゴリズムを用いて、ミラーリングを解除するメモリユニット15Nを選択してもよい。
Note that the number of
また、ページ割当部203は、ミラーリングが解除されたメモリユニットのページに対するデータの割当を、データの更新日時に基づいて制御してもよい。たとえば、ページ割当部203は、ミラーリングされていないメモリユニット151が含むページに含まれるデータが最後に更新されてから経過している時間が、ミラーリングされているメモリユニット15Nが含むページに含まれるデータが最後に更新されてから経過している時間よりも長いように、ページに対するデータの割当を制御してもよい。
Further, the
(ミラーリングが解除されたメモリユニットへのページの作成時)
ミラーリングが解除され解放されたメモリユニットのページに新たにデータが作成される場合の動作について、図6のフローチャートを参照して詳細に説明する。ただし、ステップの順序は一例であり、適宜変更されてよい。
(When creating a page to a memory unit that has been unmirrored)
The operation when data is newly created in the page of the memory unit that has been released after being released from mirroring will be described in detail with reference to the flowchart of FIG. However, the order of the steps is an example, and may be changed as appropriate.
例として、ページ割当部203が新たなデータをメモリユニット152のページに割り当てるとする。
As an example, it is assumed that the
まず、ページ割当部203が、新たなデータをメモリユニット152のページに割り当てる(ステップS61)。このとき、冗長制御部201が、たとえばメモリ管理テーブル210を参照することによって、新たなデータが割り当てられたページを含むメモリユニット(例においては、メモリユニット152)がミラーリングされていないことを、検知すればよい。
First, the
新たなデータが割り当てられたページを含むメモリユニット15N(この説明の例では、メモリユニット152)がミラーリングされていない場合、メモリ割当制御部20の構成要素は、それぞれ次の処理を行う。
When the
ステップS62において、ページファイル制御部202は、メモリユニット152に作成されたデータ182の複製を、ハードディスク31のページファイル310に作成する。複製により生成したデータを、データ192とする。
In step S 62, the page
ステップS63において、冗長制御部201は、メモリ管理テーブル210を更新する。具体的には、冗長制御部201は、メモリ管理テーブル210において、メモリユニット152に関する「ページ情報」を「有」に変更し、データ182に関する情報を書き込む。
In step S63, the
図7は、本実施形態においてミラーリングが解除されたメモリユニット152にデータ182が作成された後の構成を例示する図である。メモリユニット152に新たにデータ182が生成し、ページファイル310にて、データ182と実質的に同一の新たなデータ192が生成している。
FIG. 7 is a diagram illustrating a configuration after
(ミラーリングが解除されたメモリユニットにおける障害の発生時)
メモリ障害が発生した場合の動作について図8のフローチャートを参照して詳細に説明する。ただし、ステップの順序は一例であり、適宜変更されてよい。
(When a failure occurs in a memory unit whose mirroring has been canceled)
The operation when a memory failure occurs will be described in detail with reference to the flowchart of FIG. However, the order of the steps is an example, and may be changed as appropriate.
例として、ミラーリングが解除されたメモリユニット152において障害が発生したとする。
As an example, it is assumed that a failure has occurred in the
メモリ障害が発生すると、例外ハンドル部111が、メモリ障害が発生したことを示す通知を例外監視部205に送信する。例外監視部205は、この通知を受け取る(ステップS81)。すると、例外監視部205は、冗長制御部201を呼び出す。
When a memory failure occurs, the
冗長制御部201は、障害が発生したメモリユニット(メモリユニット152)と異なるメモリユニット15Nの、フリーのページを選択する(ステップS82)。例として、冗長制御部201は、メモリユニット153を選択する。そして、ページファイル制御部202は、ページファイル内の、障害が発生したメモリユニット152が含むデータ182と実質的に同一のデータであるデータ192を読み出す。そして、ページ割当部203が、冗長制御部201によって選択されたメモリユニット153に、ページファイル制御部202が読み出したデータ192を、格納する(ステップS83)。メモリユニット153に作成されたデータをデータ183とする。
The
なお、この例の場合、メモリユニット153はミラーリングされているため、メモリユニット154にも、データ183と同じデータが生成する。メモリユニット154上に生成したデータをデータ183’とする。ページファイル制御部202が、データ183’をメモリユニット154に格納してもよい。
In this example, since the
そして、ページ割当部203は、障害が発生したメモリユニット152に含まれるデータ182を消去する(ステップS84)。
Then, the
冗長制御部201は、メモリ管理テーブル210を更新する(ステップS85)。
The
なお、ステップS83の後、ページファイル制御部202は、ページファイル310に含まれるデータ192を、消去してもよい。
Note that the page
図9は、本実施形態においてミラーリングが解除されたメモリユニットに発生した障害に対する処理の後の構成を例示する図である。メモリユニット152におけるデータ182およびページファイル310におけるデータ192は消去され、データ192と同等のデータ183、183’が、メモリユニット153、154上に生成している。
FIG. 9 is a diagram exemplifying a configuration after processing for a failure that has occurred in a memory unit in which mirroring is released in the present embodiment.
なお、冗長制御部201は、ステップS82において、ミラーリングされていないメモリユニット15Nのページを選んでもよい。この場合、ページファイル制御部202は、ステップS83の後に、ページファイル310におけるデータ192を、削除しなくてよい。
In step S82, the
(ミラーリングが解除されたメモリユニットのページの更新時)
ミラーリングが解除されたメモリユニットのページが更新される場合の動作について、図10のフローチャートを参照して詳細に説明する。
(When updating the page of a memory unit whose mirroring has been canceled)
The operation when the page of the memory unit whose mirroring is released is updated will be described in detail with reference to the flowchart of FIG.
例として、図7で示される状態において、メモリユニット152のページへの書き込み侵害の例外が発生したとする。以下、書き込み侵害の例外が発生したページを、侵害を受けたページと呼ぶ。
As an example, it is assumed that an exception of write intrusion to a page of the
まず、例外ハンドル部111が、書き込み侵害の例外を検知すると、例外監視部205に書き込み侵害の例外の通知を送信する。例外監視部205は、例外ハンドル部111からの通知を受ける(ステップS101)と、冗長制御部201を呼び出す。
First, when the
冗長制御部201は、ミラーリングされているメモリユニット15Nの、フリーのページを選択する(ステップS102)。たとえば、冗長制御部201は、メモリユニット153,154の中のフリーのページを選択する。
The
そして、ページ割当部203は、選択されたページのそれぞれに、侵害を受けたページに含まれるデータ182を移動させる(ステップS103)。具体的には、ページ割当部203は、侵害を受けたページに含まれるデータ182の複製を、選択されたページのそれぞれに格納する。そして、ページ割当部203は、侵害を受けたページ182に含まれるデータを消去する。また、ページ割当部203は、侵害を受けたページおよび選択されたページのそれぞれに関連づけられた論理アドレスを変更する。
Then, the
メモリユニット153,154に複製されたデータを、それぞれデータ184,184’とする。
The data copied to the
ページファイル制御部202は、ハードディスク31のページファイル310内の、侵害を受けたページに含まれるデータの複製を消去する(ステップS104)。
The page
冗長制御部201は、メモリユニット152,153,154に関する情報について、メモリ管理テーブル210を更新する(ステップS105)。具体的には、冗長制御部201は、メモリ管理テーブル210において、データ182,184,184’に関する情報を書き込む。
The
図11は、本実施形態においてミラーリングが解除されたメモリユニットのページを更新する時の構成を例示する図である。メモリユニット152に含まれていたデータ182およびページファイル310に含まれていたデータ192が、データ184、184’として、メモリユニット153、154に移動している。
FIG. 11 is a diagram illustrating a configuration when updating a page of a memory unit in which mirroring is released in the present embodiment.
<効果>
本実施形態の情報処理装置によれば、第1の実施形態と同様、メモリユニットの冗長性を維持しつつ使用可能なメモリ容量を増加させることができる。第2の実施形態の構成により、該メモリユニットに障害が生じた場合でも、ページファイルに複製されていたデータを、他のメモリユニットに読み出す(ページインする)ため、ページの内容が失われない。
<Effect>
According to the information processing apparatus of this embodiment, the usable memory capacity can be increased while maintaining the redundancy of the memory unit, as in the first embodiment. According to the configuration of the second embodiment, even if a failure occurs in the memory unit, the data copied in the page file is read (paged in) to another memory unit, so the page contents are not lost. .
また、ミラーリングが解除されたメモリユニット上のページに書き込み指示が発生した場合、メモリ割当制御部20は、そのページのデータを、ミラーリングされているメモリユニットのページに移動するので、情報処理装置12はページファイル内のデータを更新しなくてよい。そのため、情報処理装置12は、メモリユニット15Nに含まれるデータに対する処理を伴う情報処理において、処理速度を保ってページに対する処理をすることができる。
In addition, when a write instruction is issued to a page on a memory unit that has been unmirrored, the memory
また、ミラーリングを解除するメモリユニットとして、最後に更新されてから経過した時間が最も長いメモリユニット15Nを冗長制御部201が選択した場合、そのメモリユニット15Nへのアクセスの頻度は少ない可能性が高い。すなわち、そのメモリユニット15Nにページインされるまでの時間が長いと期待される。したがって、この場合、ページインに係る処理が少なくなるため、処理の性能の低下を抑制するという効果を奏する。
Further, when the
ページ割当部203が、最後に更新されてから経過している時間が、ミラーリングされているメモリユニット15Nが含むページに含まれるデータが最後に更新されてから経過している時間よりも長いデータを、ミラーリングが解除されたメモリユニットのページに割り当てる構成によっても、当該ページへのアクセスの頻度は少ない可能性が高い。この構成も、処理の性能の低下を抑制するという効果を奏する。
Data that has elapsed since the
<<第3の実施形態>>
第2の実施形態において、メモリユニットのミラーリングを解除する契機は、メモリ不足が検知された時に限らなくてもよい。本発明の第3の実施形態として、ミラーリングの解除の決定に関わる更新管理部206を備える情報処理装置13を説明する。
<< Third Embodiment >>
In the second embodiment, the trigger for releasing the mirroring of the memory unit may not be limited to when the memory shortage is detected. As a third exemplary embodiment of the present invention, an
図12は、第3の実施形態に係る情報処理装置13の構成を示すブロック図である。情報処理装置13のメモリ割当制御部21は、第2の実施形態のメモリ割当制御部20と同様の構成に加え、更新管理部206を備える。
FIG. 12 is a block diagram illustrating a configuration of the
更新管理部206は、ミラーリングされたメモリユニットのページのうち、更新頻度が低いページを検出する。更新頻度が低いページとは、更新されていない状態が継続するページである。更新頻度が低いページとは、たとえば、最後に更新されてから経過した期間が所定の期間よりも長いページである。以下、「更新頻度が低いページ」は、「ミラーリングされたメモリユニットのページのうち、更新頻度が低いページ」を指す。
The
更新管理部206は、更新頻度が低いページのみを含むメモリユニットを検出すると、そのメモリユニットを示す情報を、冗長制御部201に送信する。
When the
冗長制御部201は、更新頻度が低いページのみを含むメモリユニットのミラーリングを解除する決定を行う。この場合、メモリ割当制御部21は、更新頻度が低いページのみを含むメモリユニットのミラーリングを解除する。ミラーリングを解除する処理は、第2の実施形態同様、図4のフローチャートに示されるステップS43からステップS45の処理である。
The
本実施形態によれば、更新頻度が低いページのみを含むメモリユニットが検出されるたびに、ミラーリングが解除されたメモリユニットが(可用性を保ったまま)増える。これにより、メモリの使用率を安全に下げることができる。また、ミラーリングが解除されるメモリユニットは、ページの更新頻度が低いメモリユニットであるため、当該メモリユニットのページが次にページインされるまでの時間が長いと期待される。そのため、本実施形態によれば、ページファイルに記録されたページの更新に伴うページインによる、情報処理装置13の処理の性能の低下を、抑えることができる。
According to the present embodiment, each time a memory unit including only a page with a low update frequency is detected, the number of memory units whose mirroring is released increases (while maintaining availability). As a result, the memory usage rate can be safely reduced. Further, since the memory unit for which the mirroring is released is a memory unit whose page update frequency is low, it is expected that the time until the page of the memory unit is paged in next is long. Therefore, according to the present embodiment, it is possible to suppress a decrease in processing performance of the
<<変形例>>
第3の実施形態の変形例として、メモリ割当制御部21は次のように構成されてもよい。すなわち、更新管理部206は、更新されていない状態が継続するページの数と、予め設定された値とを、随時比較する。更新されていない状態が継続するページの数が設定された値を上回った場合に、冗長制御部201は、ミラーリングされているメモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する。ページ割当部203は、ミラーリングが解除されたメモリユニットの一方を解放する。ページ割当部203は、ミラーリングが解除されたメモリユニットの他方のページに、更新されていない状態が継続するデータを移動させる。ページ割当部203は、このとき、ミラーリングが解除されたメモリユニットの他方に元々含まれているデータを移動させてもよい。
<< Modification >>
As a modification of the third embodiment, the memory
また別の変形例として、更新頻度が低いページが検出された場合に、ミラーリングされていないメモリユニット内のページでフリーのページが存在する場合、ページ割当部203が、更新頻度が低いページを、そのフリーのページに移動させてもよい。この場合、冗長制御部201がメモリユニットのミラーリングを解除させなくとも、使用可能な冗長化されたメモリユニットのページが増加する。
As another modification, when a page with a low update frequency is detected and there is a free page in a page in the memory unit that is not mirrored, the
<<主要構成>>
図18に、本発明の一実施形態に係る情報処理装置9の主要構成のブロック図を示す。情報処理装置9は、ページファイル制御部202と、ページ割当部203とを備える。
<< Main composition >>
FIG. 18 is a block diagram showing the main configuration of the
ページ割当部203は、メモリユニットのうち、ミラーリングされているメモリユニットに含まれるデータを、ミラーリングされていないメモリユニットに移動させる。
The
ページファイル制御部202は、移動させたデータの複製を、メモリユニットと異なる記憶領域に書き込む。
The page
本構成によれば、メモリユニットの冗長性を維持しつつ使用可能なメモリ容量を増加させることができる。 According to this configuration, the usable memory capacity can be increased while maintaining redundancy of the memory unit.
<<第4の実施形態>>
本発明の第4の実施形態について説明する。
<< Fourth Embodiment >>
A fourth embodiment of the present invention will be described.
<構成>
図13は、第4の実施形態に係る情報処理装置14の構成を示すブロック図である。
<Configuration>
FIG. 13 is a block diagram illustrating a configuration of the
情報処理装置14は、少なくとも2つの「区画100」を含む。区画とは、情報処理のまとまりを概念的に区別したものである。たとえば、それぞれの区画100では、異なるプロセッサ(不図示)が、そのプロセッサの制御下のメモリユニットを使用して情報処理を行う。図13において表される区画100は、同じ区画内にあるメモリユニットの群が、同じプロセッサによって使用される群であることを表す。
The
図13では、区画100として、区画100Aと区画100Bが示されている。各区画100は、上述のように、メモリユニットを含む。区画100Aは、メモリユニット15N(151,152を含む)を含む。メモリユニット151とメモリユニット152とは、ミラーリングされている。区画100Bは、メモリユニット16N(161,162を含む)を含む。メモリユニット161とメモリユニット162とは、ミラーリングされている。メモリユニット151,152,161,162は、それぞれ、データ181,181’,183,または183’を含む。データ181とデータ181’とは同一のデータである。データ183とデータ183’とは同一のデータである。
In FIG. 13, as the
また、情報処理装置14は、メモリ使用量監視部121と、構成制御部122とを含む。
In addition, the
メモリ使用量監視部121は、各区画100のメモリの使用量を監視する。メモリ使用量監視部121は、監視により、メモリ不足が発生している区画を検知する。メモリ不足の定義は、第2の実施形態における説明と同様、様々に設定されてよい。メモリ使用量監視部121は、メモリ不足が発生している区画を検知した場合は、そのメモリ不足を検知したことを示す通知およびメモリ不足が発生している区画を示す情報を、構成制御部122に、送信する。
The memory
構成制御部122は、各区画100におけるメモリユニットの構成を制御する。すなわち、構成制御部122は、それぞれのメモリユニット15N,16Nをいずれの区画100のプロセッサに使用させるかを決定する。
The
構成制御部122は、メモリ使用量監視部121からメモリ不足を検知したことを示す通知を受信すると、メモリ不足が発生している区画とは異なる区画の、メモリユニットの少なくとも1つを、メモリ不足が発生している区画に移動させる。「メモリ不足が発生している区画に移動させる」とは、そのメモリユニットをメモリ不足が発生している区画のプロセッサの制御下に変更することを意味する。
When the
具体的には、構成制御部122は、次のようにして、メモリユニットをメモリ不足が発生している区画に移動させる。
Specifically, the
まず、構成制御部122は、メモリ不足が発生している区画とは異なる区画を少なくとも1つ選択する。メモリ不足が発生している区画とは異なる区画が複数ある場合、どの区画を選択するかは、所定のアルゴリズムによって決められていればよい。たとえば構成制御部122は、メモリユニットへのアクセスの頻度が最も少ない区画を選択してもよい。構成制御部122は、メモリの空き容量が最も多い区画を選択してもよい。
First, the
区画を決定したら、構成制御部122は、メモリユニットを移動させる指示である移動指示を、選択した区画のメモリ割当制御部21に送信する。
When the partition is determined, the
そして、構成制御部122は、移動指示を送信した先のメモリ割当制御部21から、メモリユニットの少なくとも1つを示す情報を受信する。移動指示を送信した先のメモリ割当制御部21の動作については、後述する。
Then, the
そして、構成制御部122は、冗長制御部201から受け取った情報が示すメモリユニットの制御を、メモリ不足が発生している区画のプロセッサが行うよう、情報処理装置14の設定を変更する。また、構成制御部122は、メモリユニットが組み込まれたことを示す通知である組み込み通知を、移動先の区画のメモリ割当制御部21に送信する。構成制御部122は、組み込み通知に、その区画に組み込まれるメモリユニットの情報(たとえば、アドレス等)を含めてもよい。
Then, the
以上の処理によって、構成制御部122は、メモリ不足が発生している区画とは異なる区画のメモリユニットの少なくとも1つをメモリ不足が発生している区画に移動させる。
Through the above processing, the
区画100はそれぞれ、例外ハンドル部111と、メモリ割当制御部21とを含む。
Each of the
本実施形態の例外ハンドル部111は、第2の実施形態の例外ハンドル部111の機能と同等の機能を有する。
The exception handle
本実施形態のメモリ割当制御部21は、第3の実施形態のメモリ割当制御部21と同等の機能を有する。また、メモリ割当制御部21の制御構造は、第3の実施形態のメモリ割当制御部21の制御構造と同様でよい。
The memory
すなわち、各区画100のメモリ割当制御部21は、たとえば、冗長監視部200と、冗長制御部201と、ページ割当部203と、ページファイル制御部202と、ページ属性制御部204と、例外監視部205と、更新管理部206と、メモリ管理テーブル210とを含む。メモリ割当制御部21の構成要素のそれぞれは、第2の実施形態における同じ符号の構成要素と同等の機能を有する。
That is, the memory
メモリ割当制御部21は、それぞれ、ハードディスク31と通信可能に接続される。ハードディスク31は、ページファイル310を備える。区画100Aが含むメモリ割当制御部21に接続されるハードディスク31をハードディスク31A、区画100Bが含むメモリ割当制御部21に接続されるハードディスク31をハードディスク31Bとする。ハードディスク31Aが含むページファイルはページファイル310A、ハードディスク31Bが含むページファイルはページファイル310Bである。
Each of the memory
冗長監視部200は、構成制御部122から、移動指示または組み込み通知を受け取ると、冗長制御部201を呼び出す。冗長監視部200は、構成制御部122から受け取った移動指示または組み込み通知を、そのまま冗長制御部201に送信してもよい。
The
冗長制御部201は、構成制御部122から移動指示を受けると、ミラーリングされているメモリユニットの1つ以上のミラーリングを解除する。そして、冗長制御部201は、ミラーリングが解除されたメモリユニットの一方を示す情報(たとえば、アドレス)を、構成制御部122に送信する。
When the
冗長制御部201は、構成制御部122から組み込み通知を受けると、この組み込み通知が示すメモリユニットの情報を更新する。
When receiving the incorporation notification from the
<動作>
第4の実施形態に係る情報処理装置14の動作について説明する。
<Operation>
An operation of the
以下、区画100Aに含まれる構成要素の符号にはAを付し、区画100Bに含まれる構成要素の符号にはBを付して区別する。
Hereinafter, the reference numerals of the constituent elements included in the
メモリ使用量監視部121が区画100Aのメモリ不足を検知したとする。その場合の、情報処理装置14の各部の動作の流れを、図14のシーケンス図を参照しながら説明する。
Assume that the memory
まず、メモリ使用量監視部121は、メモリ不足を検知したことを示す通知およびメモリ不足が発生している区画を示す情報を構成制御部122に送信する(ステップS131)。
First, the memory
構成制御部122は、メモリ使用量監視部121からの通知および情報を受け取ると、受け取った情報が示す区画とは異なる区画を少なくとも1つ選択する(ステップS132)。例として、構成制御部122は、区画100Bを選択したとする。
Upon receiving the notification and information from the memory
構成制御部122は、選択した区画100Bに対し、移動指示を送信する(ステップS133)。
The
移動指示は、区画100Bにて、冗長監視部200Bによって受信される。すると、冗長監視部200Bは、冗長制御部201Bを呼び出す。
The movement instruction is received by the redundancy monitoring unit 200B in the
冗長制御部201Bは、メモリユニットを解除する処理を行う(ステップS134)。この処理は、第2の実施形態で説明されたステップS43〜S45と同様である。本説明の例では、メモリユニット161,162のミラーリングが解除されたとする。これによって、メモリユニット162に含まれるデータは消去される。また、ページファイル制御部202Bによって、ページファイル310に、データ183の複製であるデータ193が作成される。
The redundancy control unit 201B performs processing for releasing the memory unit (step S134). This process is the same as steps S43 to S45 described in the second embodiment. In the example of this description, it is assumed that the mirroring of the
次に、冗長制御部201Bは、ミラーリングが解除されたメモリユニットの片方を選択する。この時、冗長制御部201Bは、ページの内容が消去された(またはフリーの)メモリユニット(この例ではメモリユニット162)を選択する。冗長制御部201は、構成制御部122に対して、選択したメモリユニット162を示す情報を送信する(ステップS135)。
Next, the redundancy control unit 201B selects one of the memory units whose mirroring has been canceled. At this time, the redundancy control unit 201B selects a memory unit (in this example, the memory unit 162) from which the page contents are erased (or free). The
冗長制御部201Bはこのとき、メモリ管理テーブル210Bの情報を更新してもよい。たとえば、冗長制御部201Bは、メモリユニット162が区画100Bのものではないことを示す情報をメモリ管理テーブル210Bに書き込んでもよい。または、冗長制御部201Bは、メモリユニット162に関する情報を削除してもよい。
At this time, the redundancy control unit 201B may update the information in the memory management table 210B. For example, the redundancy control unit 201B may write information indicating that the
構成制御部122は、受け取った情報に基づき、メモリユニット162を区画100Aに移動させる(ステップS136)。
The
続いて、構成制御部122は、区画100Aに対し、組み込み通知を送信する(ステップS137)。
Subsequently, the
区画100Aにおいて、冗長監視部200Aが、構成制御部122から組み込み通知を受け取る。すると、冗長監視部200Aは、冗長制御部201Aを呼び出す。
In the
冗長制御部201Aは、組み込み通知に従って、メモリ管理テーブル210Aの情報を更新する(ステップS138)。たとえば、冗長制御部201は、メモリユニット162が区画100Aのものであることを示す情報をメモリ管理テーブル210Aに書き込んでもよい。または、冗長制御部201は、メモリユニット162に関する情報を生成してもよい。
The redundancy control unit 201A updates the information in the memory management table 210A according to the incorporation notification (step S138). For example, the
以上により、メモリユニットの移動が完了する。図15は、本実施形態におけるメモリユニットの移動後のメモリユニットおよびデータの状態を例示するブロック図である。メモリユニット161とミラーリングされていたメモリユニット162は区画100Aに移動し、ページファイル310にて、ページ183と実質的に同一の新たなページ193が生成している。
Thus, the movement of the memory unit is completed. FIG. 15 is a block diagram illustrating the state of the memory unit and data after the movement of the memory unit in the present embodiment. The
区画100Bにおいては、ミラーリングされていたメモリユニットの片方が移動するため、格納できるデータの量は減少しない。一方、区画100Aにおいては、新たなメモリユニットが追加されるため、格納できるデータの量は増える。
In the
各区画100における、ミラーリングが解除されたメモリユニットの障害の発生時、ページの作成時および更新時の動作は、第2の実施形態で説明された動作と同様でよい。
In each
また、更新部206Aは、組み込まれたメモリユニット162のページに、更新頻度の低いデータを移動させてもよい。
In addition, the update unit 206A may move data with low update frequency to the page of the incorporated
<効果>
本実施形態によれば、メモリユニットの冗長性を維持しつつ使用可能なメモリ容量を増加させることができる。その理由は、メモリが不足した区画とは異なる区画からフリーのメモリユニットを組み込むからである。また、本実施形態によれば、メモリが不足した区画は必ずしも該区画内のメモリユニットのミラーリングを解除しなくとも、メモリの使用率を低減することができる。
<Effect>
According to the present embodiment, the usable memory capacity can be increased while maintaining the redundancy of the memory unit. The reason is that a free memory unit is incorporated from a partition different from the partition lacking memory. In addition, according to the present embodiment, a partition having insufficient memory can reduce the memory usage rate without necessarily releasing the mirroring of the memory unit in the partition.
以上、各実施形態で説明した事項は、本発明の趣旨を逸脱しない限り、実現可能な範囲で組み合わされてよい。 As described above, the matters described in the embodiments may be combined within a feasible range without departing from the gist of the present invention.
以上で説明した本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部または全部は、例えば図16に示すようなコンピュータ1600とプログラムとの可能な組み合わせにより実現される。コンピュータ1600は、一例として、以下のような構成を含む。
・CPU(Central Processing Unit)1601
・ROM(Read Only Memory)1602
・RAM(Random Access Memory)1603
・RAM1603にロードされるプログラム1604Aおよび記憶情報1604B
・プログラム1604Aおよび記憶情報1604Bを格納する記憶装置1605
・記録媒体1606の読み書きを行うドライブ装置1607
・通信ネットワーク1609と接続する通信インタフェース1608
・データの入出力を行う入出力インタフェース1610
・各構成要素を接続するバス1611
In each embodiment of the present invention described above, each component of each device indicates a functional unit block. Part or all of each component of each device is realized by a possible combination of a
CPU (Central Processing Unit) 1601
ROM (Read Only Memory) 1602
-RAM (Random Access Memory) 1603
A
A
A
A
Input /
-Bus 1611 connecting each component
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム1604AをCPU1601がRAM1603にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム1604Aは、例えば、予め記憶装置1605やROM1602に格納されており、必要に応じてCPU1601が読み出す。なお、プログラム1604Aは、通信ネットワーク1609を介してCPU1601に供給されてもよいし、予め記録媒体1606に格納されており、ドライブ装置1607が当該プログラムを読み出してCPU1601に供給してもよい。
Each component of each device in each embodiment is realized by the
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ1600とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ1600とプログラムとの可能な組み合わせにより実現されてもよい。
There are various modifications to the method of realizing each device. For example, each device may be realized by a possible combination of a
また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。 In addition, some or all of the constituent elements of each device are realized by other general-purpose or dedicated circuits, computers, or combinations thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus.
各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。 When some or all of the constituent elements of each device are realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be centrally arranged or distributedly arranged. For example, the computer, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
本願発明は以上に説明した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 The present invention is not limited to the embodiment described above. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。 A part or all of the above embodiment may be described as in the following supplementary notes, but is not limited thereto.
<<付記>>
[付記1]
メモリユニットのうち、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する冗長制御手段と、
ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込むページファイル制御手段と、
ミラーリングが解除されることが決定された前記メモリユニットの一方に含まれるデータを消去するページ割当手段と、
を備える情報処理装置。
[付記2]
前記ページ割当手段は、ミラーリングが解除された前記メモリユニットのページが更新される場合に、当該ページに含まれるデータを、ミラーリングされている前記メモリユニットのページに割り当てる、
付記1に記載の情報処理装置。
[付記3]
前記冗長制御手段は、最後に更新されてから経過した時間が最も長い前記メモリユニットのミラーリングを解除することを決定する、
付記1または2に記載の情報処理装置。
[付記4]
前記ページ割当手段は、ミラーリングされていない前記メモリユニットが含むページに含まれるデータが最後に更新されてから経過している時間が、ミラーリングされている前記メモリユニットが含むページに含まれるデータが最後に更新されてから経過している時間よりも長いように、ページに対するデータの割当を制御する、
付記1から3のいずれか一項に記載の情報処理装置。
[付記5]
前記冗長制御手段に、第1のプロセッサの制御下である前記メモリユニットのうちミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除させ、ミラーリングが解除された前記メモリユニットの片方を、第2のプロセッサの制御下にさせる、構成制御手段を、をさらに備える、
付記1から4のいずれか一項に記載の情報処理装置。
[付記6]
前記冗長制御手段は、
最後に更新されてから経過している時間が所定の期間を超えるデータを含むページの数が所定の値を超えた場合に、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する、
付記1から5のいずれか一項に記載の情報処理装置。
[付記7]
メモリユニットのうち、ミラーリングされている前記メモリユニットに含まれるデータを、ミラーリングされていない前記メモリユニットに移動させるページ割当手段と、
移動させたデータの複製を、前記メモリユニットと異なる記憶領域に書き込むページファイル制御手段と、
を備える情報処理装置。
[付記8]
メモリユニットのうち、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定し、
ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込み、
ミラーリングが解除されることが決定された前記メモリユニットの一方に含まれるデータを消去する、
情報処理方法。
[付記9]
ミラーリングが解除された前記メモリユニットのページが更新される場合に、当該ページに含まれるデータを、ミラーリングされている前記メモリユニットのページに割り当てる、
付記8に記載の情報処理方法。
[付記10]
最後に更新されてから経過した時間が最も長い前記メモリユニットのミラーリングを解除することを決定する、
付記8または9に記載の情報処理方法。
[付記11]
ミラーリングされていない前記メモリユニットが含むページに含まれるデータが最後に更新されてから経過している時間が、ミラーリングされている前記メモリユニットが含むページに含まれるデータが最後に更新されてから経過している時間よりも長いように、ページに対するデータの割当を制御する、
付記8から10のいずれか一項に記載の情報処理方法。
[付記12]
第1のプロセッサの制御下である前記メモリユニットのうちミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除し、ミラーリングが解除された前記メモリユニットの片方を、第2のプロセッサの制御下にさせる、
付記8から11のいずれか一項に記載の情報処理方法。
[付記13]
最後に更新されてから経過している時間が所定の期間を超えるデータを含むページの数が所定の値を超えた場合に、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する、
付記8から12のいずれか一項に記載の情報処理方法。
[付記14]
メモリユニットのうち、ミラーリングされている前記メモリユニットに含まれるデータを、ミラーリングされていない前記メモリユニットに移動させるページ割当手段と、
移動させたデータの複製を、前記メモリユニットと異なる記憶領域に書き込むページファイル制御手段と、
を備える情報処理方法。
[付記15]
コンピュータに、
メモリユニットのうち、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する冗長制御処理と、
ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込むページファイル制御処理と、
ミラーリングが解除されることが決定された前記メモリユニットの一方に含まれるデータを消去するページ割当処理と、
を実行させるプログラム。
[付記16]
前記ページ割当処理は、ミラーリングが解除された前記メモリユニットのページが更新される場合に、当該ページに含まれるデータを、ミラーリングされている前記メモリユニットのページに割り当てる、
付記15に記載のプログラム。
[付記17]
前記冗長制御処理は、最後に更新されてから経過した時間が最も長い前記メモリユニットのミラーリングを解除することを決定する、
付記15または16に記載のプログラム。
[付記18]
前記ページ割当処理は、ミラーリングされていない前記メモリユニットが含むページに含まれるデータが最後に更新されてから経過している時間が、ミラーリングされている前記メモリユニットが含むページに含まれるデータが最後に更新されてから経過している時間よりも長いように、ページに対するデータの割当を制御する、
付記15から17のいずれか一項に記載のプログラム。
[付記19]
前記冗長制御処理に、第1のプロセッサの制御下である前記メモリユニットのうちミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除させ、ミラーリングが解除された前記メモリユニットの片方を、第2のプロセッサの制御下にさせる、構成制御処理を、コンピュータにさらに実行させる、
付記15から18のいずれか一項に記載のプログラム。
[付記20]
前記冗長制御処理は、
最後に更新されてから経過している時間が所定の期間を超えるデータを含むページの数が所定の値を超えた場合に、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する、
付記15から19のいずれか一項に記載のプログラム。
[付記21]
コンピュータに、
メモリユニットのうち、ミラーリングされている前記メモリユニットに含まれるデータを、ミラーリングされていない前記メモリユニットに移動させるページ割当処理と、
移動させたデータの複製を、前記メモリユニットと異なる記憶領域に書き込むページファイル制御処理と、
を実行させるプログラム。
<< Appendix >>
[Appendix 1]
Redundancy control means for deciding to release at least one mirroring of any of the memory units among the memory units;
Page file control means for writing a copy of the data contained in the memory unit for which mirroring is determined to be released to a storage area different from the memory unit;
Page allocating means for erasing data contained in one of the memory units determined to be unmirrored;
An information processing apparatus comprising:
[Appendix 2]
The page allocating means allocates data included in the page to the mirrored page of the memory unit when the page of the memory unit that has been unmirrored is updated.
The information processing apparatus according to
[Appendix 3]
The redundancy control means determines to cancel the mirroring of the memory unit having the longest time elapsed since the last update;
The information processing apparatus according to
[Appendix 4]
The page allocating means determines that the time elapsed since the last update of the data included in the page included in the memory unit that is not mirrored is the last time the data included in the page included in the memory unit that is mirrored. Control the allocation of data to the page so that it is longer than the time elapsed since the update
The information processing apparatus according to any one of
[Appendix 5]
The redundancy control means causes at least one of the mirrored memory units of the memory units under control of the first processor to be unmirrored, and one of the memory units that has been unmirrored is removed. Further comprising configuration control means for controlling the second processor.
The information processing apparatus according to any one of
[Appendix 6]
The redundancy control means includes
When at least one set of mirrored memory units is unmirrored when the number of pages containing data that has passed since the last update exceeds a predetermined period exceeds the predetermined value Decide to do,
The information processing apparatus according to any one of
[Appendix 7]
Page allocation means for moving data contained in the memory unit that is mirrored among the memory units to the memory unit that is not mirrored;
Page file control means for writing a copy of the moved data in a storage area different from the memory unit;
An information processing apparatus comprising:
[Appendix 8]
Determining at least one of the mirrored memory units to be unmirrored,
Writing a copy of the data contained in the memory unit that is determined to be unmirrored to a storage area different from the memory unit;
Erasing data contained in one of the memory units determined to be unmirrored;
Information processing method.
[Appendix 9]
When the page of the memory unit that has been unmirrored is updated, the data included in the page is allocated to the page of the memory unit that is being mirrored.
The information processing method according to attachment 8.
[Appendix 10]
Determining to unmirror the memory unit having the longest time since the last update;
The information processing method according to
[Appendix 11]
The time elapsed since the last update of the data included in the page included in the memory unit that is not mirrored has elapsed since the last update of the data included in the page included in the memory unit that is mirrored Control the allocation of data to the page so that it is longer than the
The information processing method according to any one of appendices 8 to 10.
[Appendix 12]
The mirroring of at least one of the memory units that are mirrored among the memory units under the control of the first processor is released, and one of the memory units that has been released from the mirroring is transferred to the second processor. To be in control,
The information processing method according to any one of appendices 8 to 11.
[Appendix 13]
When at least one set of mirrored memory units is unmirrored when the number of pages containing data that has passed since the last update exceeds a predetermined period exceeds the predetermined value Decide to do,
The information processing method according to any one of appendices 8 to 12.
[Appendix 14]
Page allocation means for moving data contained in the memory unit that is mirrored among the memory units to the memory unit that is not mirrored;
Page file control means for writing a copy of the moved data in a storage area different from the memory unit;
An information processing method comprising:
[Appendix 15]
On the computer,
A redundancy control process for deciding to release at least one of the mirrored memory units of the memory units;
A page file control process for writing a copy of data included in the memory unit that is determined to be unmirrored to a storage area different from the memory unit;
Page allocation processing for erasing data contained in one of the memory units that has been determined to be unmirrored;
A program that executes
[Appendix 16]
The page allocation process allocates data included in the page to the mirrored page of the memory unit when the page of the memory unit that has been unmirrored is updated.
The program according to appendix 15.
[Appendix 17]
The redundancy control process determines to release the mirroring of the memory unit having the longest time elapsed since the last update;
The program according to appendix 15 or 16.
[Appendix 18]
In the page allocation process, the time elapsed since the last update of the data included in the page included in the memory unit that is not mirrored is the last time the data included in the page included in the mirrored memory unit is updated. Control the allocation of data to the page so that it is longer than the time elapsed since the update
The program according to any one of appendices 15 to 17.
[Appendix 19]
In the redundancy control process, at least one of the mirrored memory units of the memory units under the control of the first processor is canceled, and one of the memory units that has been released from the mirroring is removed. Causing the computer to further perform a configuration control process under control of the second processor,
The program according to any one of appendices 15 to 18.
[Appendix 20]
The redundancy control process includes:
When at least one set of mirrored memory units is unmirrored when the number of pages containing data that has passed since the last update exceeds a predetermined period exceeds the predetermined value Decide to do,
The program according to any one of appendices 15 to 19.
[Appendix 21]
On the computer,
A page allocation process for moving data included in the memory unit that is mirrored among the memory units to the memory unit that is not mirrored;
A page file control process for writing a copy of the moved data to a storage area different from the memory unit;
A program that executes
9〜14 情報処理装置
20、21 メモリ割当制御部
30 記憶領域
31 ハードディスク
100、100A、100B 区画
101 冗長制御部
102 ページファイル制御部
103 ページ割当部
111 例外ハンドル部
121 メモリ使用量監視部
141〜142、151〜154、15N、161〜162、16N メモリユニット
171、172 ページ
181〜184、191〜193 データ
200 冗長監視部
201 冗長制御部
202 ページファイル制御部
203 ページ割当部
204 ページ属性制御部
205 例外監視部
206 更新管理部
210 メモリ管理テーブル
300、310 ページファイル
9 to 14
Claims (10)
ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込むページファイル制御手段と、
ミラーリングが解除されることが決定された前記メモリユニットの一方に含まれるデータを消去するページ割当手段と、
を備える情報処理装置。 Redundancy control means for deciding to release at least one mirroring of any of the memory units among the memory units;
Page file control means for writing a copy of the data contained in the memory unit for which mirroring is determined to be released to a storage area different from the memory unit;
Page allocating means for erasing data contained in one of the memory units determined to be unmirrored;
An information processing apparatus comprising:
請求項1に記載の情報処理装置。 The page allocating means allocates data included in the page to the mirrored page of the memory unit when the page of the memory unit that has been unmirrored is updated.
The information processing apparatus according to claim 1.
請求項1または2に記載の情報処理装置。 The redundancy control means determines to cancel the mirroring of the memory unit having the longest time elapsed since the last update;
The information processing apparatus according to claim 1 or 2.
請求項1から3のいずれか一項に記載の情報処理装置。 The page allocating means determines that the time elapsed since the last update of the data included in the page included in the memory unit that is not mirrored is the last time the data included in the page included in the memory unit that is mirrored. Control the allocation of data to the page so that it is longer than the time elapsed since the update
The information processing apparatus according to any one of claims 1 to 3.
請求項1から4のいずれか一項に記載の情報処理装置。 The redundancy control means causes at least one of the mirrored memory units of the memory units under control of the first processor to be unmirrored, and one of the memory units that has been unmirrored is removed. Further comprising configuration control means for controlling the second processor.
The information processing apparatus according to any one of claims 1 to 4.
最後に更新されてから経過している時間が所定の期間を超えるデータを含むページの数が所定の値を超えた場合に、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する、
請求項1から5のいずれか一項に記載の情報処理装置。 The redundancy control means includes
When at least one set of mirrored memory units is unmirrored when the number of pages containing data that has passed since the last update exceeds a predetermined period exceeds the predetermined value Decide to do,
The information processing apparatus according to any one of claims 1 to 5.
移動させたデータの複製を、前記メモリユニットと異なる記憶領域に書き込むページファイル制御手段と、
を備える情報処理装置。 Page allocation means for moving data contained in the memory unit that is mirrored among the memory units to the memory unit that is not mirrored;
Page file control means for writing a copy of the moved data in a storage area different from the memory unit;
An information processing apparatus comprising:
ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込み、
ミラーリングが解除されることが決定された前記メモリユニットの一方に含まれるデータを消去する、
情報処理方法。 Determining at least one of the mirrored memory units to be unmirrored,
Writing a copy of the data contained in the memory unit that is determined to be unmirrored to a storage area different from the memory unit;
Erasing data contained in one of the memory units determined to be unmirrored;
Information processing method.
メモリユニットのうち、ミラーリングされている前記メモリユニットのいずれか少なくとも1組のミラーリングを解除することを決定する冗長制御処理と、
ミラーリングが解除されることが決定された前記メモリユニットに含まれるデータの複製を、当該メモリユニットと異なる記憶領域に書き込むページファイル制御処理と、
ミラーリングが解除されることが決定された前記メモリユニットの一方に含まれるデータを消去するページ割当処理と、
を実行させるプログラム。 On the computer,
A redundancy control process for deciding to release at least one of the mirrored memory units of the memory units;
A page file control process for writing a copy of data included in the memory unit that is determined to be unmirrored to a storage area different from the memory unit;
Page allocation processing for erasing data contained in one of the memory units that has been determined to be unmirrored;
A program that executes
請求項9に記載のプログラム。 The page allocation process allocates data included in the page to the mirrored page of the memory unit when the page of the memory unit that has been unmirrored is updated.
The program according to claim 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016068538A JP6707951B2 (en) | 2016-03-30 | 2016-03-30 | Information processing apparatus, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016068538A JP6707951B2 (en) | 2016-03-30 | 2016-03-30 | Information processing apparatus, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017182446A true JP2017182446A (en) | 2017-10-05 |
JP6707951B2 JP6707951B2 (en) | 2020-06-10 |
Family
ID=60008541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016068538A Active JP6707951B2 (en) | 2016-03-30 | 2016-03-30 | Information processing apparatus, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6707951B2 (en) |
-
2016
- 2016-03-30 JP JP2016068538A patent/JP6707951B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP6707951B2 (en) | 2020-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
JP6437656B2 (en) | Storage device, storage system, and storage system control method | |
JP5437373B2 (en) | Storage system having multiple flash packages | |
US9454317B2 (en) | Tiered storage system, storage controller and method of substituting data transfer between tiers | |
US8700948B2 (en) | Storage area managing apparatus and storage area managing method | |
US20080243946A1 (en) | Storage system and data recovery method | |
JP2008015769A (en) | Storage system and writing distribution method | |
US20200341874A1 (en) | Handling of offline storage disk | |
CN114265670B (en) | Memory block sorting method, medium and computing device | |
JP6853227B2 (en) | Storage system and storage control method | |
JP6476959B2 (en) | Storage control device, storage system, and control program | |
US20160259571A1 (en) | Storage subsystem | |
US8938596B2 (en) | Storage apparatus, control apparatus, and storage apparatus control method | |
JP2015170271A (en) | Storage area management apparatus, storage area management method, and storage area management program | |
JP2015045993A (en) | Volume management device, volume management method, and volume management program | |
JP6707951B2 (en) | Information processing apparatus, information processing method, and program | |
US11494089B2 (en) | Distributed storage system, data control method and storage medium | |
JP6175566B2 (en) | Storage system and storage control method | |
JP5768118B2 (en) | Storage system having multiple flash packages | |
JP7131324B2 (en) | STORAGE ACCESS CONTROL DEVICE, STORAGE ACCESS CONTROL METHOD, AND STORAGE ACCESS CONTROL PROGRAM | |
JP7491545B2 (en) | Information Processing Method | |
US11966590B2 (en) | Persistent memory with cache coherent interconnect interface | |
JP6138318B2 (en) | Storage system having multiple flash packages | |
JP5945040B2 (en) | Storage system having multiple flash packages | |
CN116662217A (en) | Persistent memory device and method for applying same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200403 |
|
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: 20200421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200504 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6707951 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |