JP5046845B2 - データ更新履歴格納装置及びデータ更新履歴格納方法 - Google Patents
データ更新履歴格納装置及びデータ更新履歴格納方法 Download PDFInfo
- Publication number
- JP5046845B2 JP5046845B2 JP2007268284A JP2007268284A JP5046845B2 JP 5046845 B2 JP5046845 B2 JP 5046845B2 JP 2007268284 A JP2007268284 A JP 2007268284A JP 2007268284 A JP2007268284 A JP 2007268284A JP 5046845 B2 JP5046845 B2 JP 5046845B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- update
- stored
- address
- storing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Andy Hisgen, et. al., "New-Value Logging in the Echo Replicated File System", Research Report 104, Systems Research Center, Digital Equipment Corporation.
(1−1)データ更新履歴格納装置の構成
本発明の第1の実施の形態を図1から図9を用いて示す。
図4は、データ更新履歴格納装置のソフトウェア構成を階層的に示した図である。CPU311はアプリケーション101を介してシステムコールを発行することによって、CPU311がファイル手段111に対してファイル操作を要求する。ファイル操作が完了してファイル内のデータが更新すると、CPU311はファイルシステム102を介してアプリケーション101にシステムコールリターンを発行する。
それでは次に、上述で説明をしたVMモニタ103内の各種手段112〜117を用いてCPU311が更新データをデータ領域に格納する動作について詳細に説明をする。
図5は、CPU311がファイルシステム102からI/O命令を発行した際のI/O要求捕捉手段112の動作を実行するフローチャートである。
図6は、図5のステップS503において、CPU311がページテーブル124を操作した以降に開始されるページ例外捕捉手段の動作を実行するフローチャートである。
図7は、CPU311がシステムコール捕捉手段の動作を実行するフローチャートである。
図8は、CPU311がログ書き込み手段115の動作を実行するフローチャートである。
図9は、CPU311が更新データをデータ領域126に格納中に、データ更新履歴格納装置100内で故障が発生した場合の、ログ復旧手段を実行するフローチャートである。
本方式に従うと、既存のファイルシステムのソースコードを改変することなく、既存のファイルシステムの指示により更新履歴を格納し、かつ、データの更新を行うことができる。
それでは次に、第2の実施の形態について説明する。第2の実施の形態では、第1の実施の形態で説明をしたシステムコール捕捉手段の動作フローチャートを除いて、第1の実施の形態と同様の構成及び同様の動作であるため、説明を省略する。なお、第1の実施の形態で説明した構成と同一の構成には、同一の図番を付している。
図10は、CPU311がシステムコール捕捉手段114A(図4に記載)の動作を実行するフローチャートである。
本方式によっても、既存のファイルシステムのソースコードを改変することなく、既存のファイルシステムの指示により更新履歴を格納し、かつ、データの更新を行うことができる。
それでは次に、第3の実施の形態について、図11を用いて説明する。1100は、第3の実施の形態のデータ更新履歴格納装置である。なお、第1の実施の形態で説明した構成と同一の構成には、同一の図番を付している。
第3の実施の形態では、データ更新履歴格納装置1100は、複数のファイルシステム102−0〜102−Nのデータ更新履歴の格納を行う。このために、データ更新履歴格納装置1100は、ファイルシステム102−0〜102−Nごとに対応するHBA104−0〜104−N、ログ領域127−0〜127−N、データ領域126−0〜126−N、更新キュー125−0〜125−N、ディスクリプタ123−0〜123−N、キャッシュ構造体スヌープドライバ106−0〜106−Nを備える。
I/O要求捕捉手段112´の起動契機は第1の実施の形態のステップS501と同様である。CPU311は、図5のステップS503において次のように変更する。
ページ例外捕捉手段113´の起動契機は第1の実施の形態のステップS601と同様である。CPU311は、図6のステップS603、ステップS605を次のように変更する。
システムコール捕捉手段114´の起動契機は第1の実施の形態のステップS701と同様である。CPU311は、図7のステップS703を、次のように変更する。
ログ領域書き込み手段115´の起動契機は、CPU311が実行中VM番号1002を確認後、VM管理テーブル1001から実行中VM番号1に対応する更新キュー125−1に更新履歴が入ることで始まる。
本方式によっても、既存のファイルシステムのソースコードを改変することなく、既存のファイルシステムの指示により更新履歴を格納し、かつ、データの更新を行うことができる。
Claims (10)
- ストレージ部と、アプリケーション及びファイルシステムを格納するメモリと、を備え、
前記アプリケーションが、システムコール命令を発行して前記ファイルシステムを呼び出すI/O命令発行手段を備え、
かつ、前記ファイルシステムが、前記I/O命令の発行に基づきデータを更新し、更新データを前記ストレージ部に格納する手段及び前記更新データの格納後にシステムコールリターン命令による前記アプリケーションへのリターン手段を備えたデータ更新履歴格納装置において、
前記更新データを一時的に格納するバッファプールと、
前記バッファプールに格納される更新データのバッファアドレスにアクセスする権限を前記バッファアドレスごとに設定するページ管理部と、
前記更新データを格納するバッファプールの前記バッファアドレスと、前記更新データを格納するデータ領域のアドレスとの対応を管理するアドレス管理部と、
前記メモリに格納される前記アプリケーションからI/O命令を発行し、前記バッファプールに格納されている任意の更新データを、前記バッファプールのバッファアドレスと対応する任意のアドレスのデータ領域に格納しようとする際、前記ページ管理部内の任意の更新データに設定された任意のアクセス権限をリードアクセスのみ可能に変更するI/O命令捕捉手段と、
前記任意のアクセス権限をリードアクセスのみ可能に変更すると、ページ例外通知を発行し、前記アドレス管理部内で前記任意の更新データを格納する前記バッファアドレスから前記データ領域のアドレスを取得して、前記更新データと前記更新データの更新履歴と、を更新キューに格納するページ例外捕捉手段と、を有する
ことを特徴とするデータ更新履歴格納装置。 - 前記更新キューに格納される前記更新データの更新履歴をログ領域に格納し、前記ログ領域に格納した前記更新データの更新履歴に基づいて前記更新データを前記データ領域に格納するログ書き込み手段をさらに有する
ことを特徴とする請求項1に記載のデータ更新履歴格納装置。 - 前記メモリに格納される前記アプリケーションからシステムコールリターン命令を発行し、前記バッファプールに格納される更新データの終了を示すコミットエントリを前記更新キューに格納するシステムコールリターン捕捉手段をさらに有する
ことを特徴とする請求項2に記載のデータ更新履歴格納装置。 - 前記更新キューに前記コミットエントリが格納され、当該コミットエントリが前記ログ領域に格納されると、前記更新データを前記データ領域に格納する
ことを特徴とする請求項3に記載のデータ更新履歴格納装置。 - 前記ログ領域に格納される全ての更新履歴からコミットエントリを検出し、先頭エントリからコミットエントリまでの更新履歴に基づいて、更新データと当該更新データを格納するデータ領域のアドレスを検出し、前記ログ領域にある更新データを前記データ領域のアドレスに格納するデータ復旧手段をさらに有する
ことを特徴とする請求項4に記載のデータ更新履歴格納装置。 - ストレージ部と、アプリケーション及びファイルシステムを格納するメモリと、を備え、
前記アプリケーションが、システムコール命令を発行して前記ファイルシステムを呼び出すI/O命令発行手段を備え、
かつ、前記ファイルシステムが、前記I/O命令の発行に基づきデータを更新し、更新データを前記ストレージ部に格納する手段及び前記更新データの格納後にシステムコールリターン命令による前記アプリケーションへのリターン手段を備えたデータ更新履歴格納装置のデータ更新履歴格納方法において、
前記更新データをバッファプールに一時的に格納するステップと、
前記バッファプールに格納される更新データのバッファアドレスにアクセスする権限を前記バッファアドレスごとに設定するページ管理ステップと、
前記更新データを格納するバッファプールの前記バッファアドレスと、前記更新データを格納するデータ領域のアドレスとの対応を管理するアドレス管理ステップと、
前記メモリに格納される前記アプリケーションからI/O命令を発行し、前記バッファプールに格納されている任意の更新データを、前記バッファプールのバッファアドレスと対応する任意のアドレスのデータ領域に格納しようとする際、前記ページ管理部内の任意の更新データに設定された任意のアクセス権限をリードアクセスのみ可能に変更するI/O命令捕捉ステップと、
前記任意のアクセス権限をリードアクセスのみ可能に変更すると、ページ例外通知を発行し、前記アドレス管理部内で前記任意の更新データを格納する前記バッファアドレスから前記データ領域のアドレスを取得して、前記更新データと前記更新データの更新履歴と、を更新キューに格納するページ例外捕捉ステップと、を有する
ことを特徴とするデータ更新履歴格納方法。 - 前記更新キューに格納される前記更新データの更新履歴をログ領域に格納し、前記ログ領域に格納した前記更新データの更新履歴に基づいて前記更新データを前記データ領域に格納するログ書き込みステップをさらに有する
ことを特徴とする請求項6に記載のデータ更新履歴格納方法。 - 前記メモリに格納される前記アプリケーションからシステムコールリターン命令を発行し、前記バッファプールに格納される更新データの終了を示すコミットエントリを前記更新キューに格納するシステムコールリターン捕捉ステップをさらに有する
ことを特徴とする請求項7に記載のデータ更新履歴格納方法。 - 前記更新キューに前記コミットエントリが格納され、当該コミットエントリが前記ログ領域に格納されると、前記更新データを前記データ領域に格納する
ことを特徴とする請求項8に記載のデータ更新履歴格納方法。 - 前記ログ領域に格納される全ての更新履歴からコミットエントリを検出し、先頭エントリからコミットエントリまでの更新履歴に基づいて、更新データと当該更新データを格納するデータ領域のアドレスを検出し、前記ログ領域にある更新データを前記データ領域のアドレスに格納するデータ復旧ステップをさらに有する
ことを特徴とする請求項9に記載のデータ更新履歴格納方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007268284A JP5046845B2 (ja) | 2007-10-15 | 2007-10-15 | データ更新履歴格納装置及びデータ更新履歴格納方法 |
US11/972,647 US7934067B2 (en) | 2007-10-15 | 2008-01-11 | Data update history storage apparatus and data update history storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007268284A JP5046845B2 (ja) | 2007-10-15 | 2007-10-15 | データ更新履歴格納装置及びデータ更新履歴格納方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009098808A JP2009098808A (ja) | 2009-05-07 |
JP5046845B2 true JP5046845B2 (ja) | 2012-10-10 |
Family
ID=40535335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007268284A Expired - Fee Related JP5046845B2 (ja) | 2007-10-15 | 2007-10-15 | データ更新履歴格納装置及びデータ更新履歴格納方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7934067B2 (ja) |
JP (1) | JP5046845B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5257016B2 (ja) * | 2008-11-21 | 2013-08-07 | 富士通株式会社 | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 |
US9400819B2 (en) * | 2013-06-07 | 2016-07-26 | Dell Products, Lp | Updating object attributes in a lock-coupled namespace traversal |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993603B2 (en) * | 2002-12-09 | 2006-01-31 | Microsoft Corporation | Managed file system filter model and architecture |
US20040268084A1 (en) * | 2003-06-30 | 2004-12-30 | Steve Longerbeam | Protected RAM filesystem |
-
2007
- 2007-10-15 JP JP2007268284A patent/JP5046845B2/ja not_active Expired - Fee Related
-
2008
- 2008-01-11 US US11/972,647 patent/US7934067B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7934067B2 (en) | 2011-04-26 |
JP2009098808A (ja) | 2009-05-07 |
US20090100239A1 (en) | 2009-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114341792B (zh) | 存储集群之间的数据分区切换 | |
US10133641B2 (en) | Tracking modifications to a virtual machine image that occur during backup of the virtual machine | |
JP5227887B2 (ja) | バックアップ管理方法 | |
US9058195B2 (en) | Virtual machines failover | |
US7774636B2 (en) | Method and system for kernel panic recovery | |
US8954408B2 (en) | Allowing writes to complete without obtaining a write lock to a file | |
US20120303913A1 (en) | Transparent file system migration to a new physical location | |
US9069701B2 (en) | Virtual machine failover | |
US20080178050A1 (en) | Data backup system and method for synchronizing a replication of permanent data and temporary data in the event of an operational error | |
US9519502B2 (en) | Virtual machine backup | |
US10339009B2 (en) | System for flagging data modification during a virtual machine backup | |
CN108604201B (zh) | 一种快照回滚方法、装置、存储控制器和系统 | |
JP2009251853A (ja) | メモリデータベース、メモリデータベースシステム及びメモリデータベース更新方法 | |
CN105683985A (zh) | 虚拟机内省 | |
US20170068603A1 (en) | Information processing method and information processing apparatus | |
JP5046845B2 (ja) | データ更新履歴格納装置及びデータ更新履歴格納方法 | |
US8301609B1 (en) | Collision detection and data corruption protection during an on-line database reorganization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120528 |
|
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: 20120619 |
|
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: 20120717 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5046845 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |