JP5534043B2 - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- JP5534043B2 JP5534043B2 JP2012554499A JP2012554499A JP5534043B2 JP 5534043 B2 JP5534043 B2 JP 5534043B2 JP 2012554499 A JP2012554499 A JP 2012554499A JP 2012554499 A JP2012554499 A JP 2012554499A JP 5534043 B2 JP5534043 B2 JP 5534043B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- index
- file
- index entry
- divided
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
Description
本発明は、記憶対象となるデータを分割して記憶装置に記憶するストレージシステムに関する。
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。
そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
また、上記コンテンツアドレスとして、データの内容に応じて固有となるよう生成される例えばデータのハッシュ値を用いる。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
上述した重複記録排除機能を備えたストレージシステムでは、上位のファイルシステムと下位のファイルシステムとを有しており、以下の特徴を有する。
・上位のファイルシステムが、書き込まれたファイルを内部的に複数のファイルに分割する。
・上位のファイルシステムから、分割されたファイルがそれぞれ下位のファイルシステムに書き出され、下位のファイルシステムによって安定的なストレージ装置と同期される。
・下位のファイルシステムでは、データの書き込み順序を保証しない。そのため、データの書き出し途中でシステムダウンが発生した場合に一部のデータが抜けている状態になる可能性がある。
・上位のファイルシステムが、書き込まれたファイルを内部的に複数のファイルに分割する。
・上位のファイルシステムから、分割されたファイルがそれぞれ下位のファイルシステムに書き出され、下位のファイルシステムによって安定的なストレージ装置と同期される。
・下位のファイルシステムでは、データの書き込み順序を保証しない。そのため、データの書き出し途中でシステムダウンが発生した場合に一部のデータが抜けている状態になる可能性がある。
ここで、図1に、ファイル分割によってファイルFが2つに分割される様子を示す。まず、上位のファイルシステムでは、ファイルFを複数の部分データ(F1_1,F2_1等)に分割することによって作成されたファイル1(F1)とファイル2(F2)の他に、書き込まれた元のファイルFと分割された各ファイル1,2のマッピング情報を記録するインデックスファイルIdxを作成する。このインデックスファイルIdxは、分割された各部分データ(F1_1,F2_1等)のマッピング情報を、インデックスエントリ(I_1等)として有する。
そして、インデックスエントリ中のマッピング情報は、主に以下のような情報である。
・対応するファイルの情報
・分割される前のファイル内のファイル先頭からのオフセット情報
・分割されたファイルのファイル先頭からのオフセット情報
・データサイズ情報
・対応するファイルの情報
・分割される前のファイル内のファイル先頭からのオフセット情報
・分割されたファイルのファイル先頭からのオフセット情報
・データサイズ情報
上述したようなファイルを分割するファイルシステムが使用される一例として、データをバックアップするソフトウェアがある。バックアップソフトウェアでは、ファイルシステムの上位で、バックアップデータを「データ部」と、バックアップソフトによって挿入された「マーカ部」と、に分割している。ここで、データの重複排除の判定は、一般的に、ファイルのデータをある長さ(固定長または可変長)に区切って、それらを比較することにより行っている。このため、1つのファイル中のデータの差異が、ファイルを区切った長さより小さな間隔で存在すると、それらは同一内容のデータとは判定されない。つまり、区切ったデータ間に同一内容のデータ部分が存在していた場合であっても、わずかな差異が存在すると、両方の区切ったデータが記憶されることとなり、効率よく記憶するデータの重複排除ができない。そして、データをバックアップするソフトウェアでは、バックアップするデータの他に、バックアップ時刻等のバックアップ毎にユニークな情報が挿入されていることがあり、そのようなマーカ部は、各フルバックアップ間における重複排除の妨げになる。
従って、上述したように、ファイルシステムの上位でバックアップデータを、「データ部」と「マーカ部」とに分割することで、「データ部」側でバックアップデータの重複排除効果を向上させることができる。特に、フルバックアップを数世代取得する場合、各フルバックアップ間では重複している部分が非常に多いことが期待できるため、さらなる重複排除機能の向上を図ることができ、効率よくストレージ領域の削減が行える。
しかしながら、このようなファイルシステムでは、データの書き出し途中でシステムダウンが発生した場合、図2に示す符号が付されていない部分などのように、分割されたそれぞれのファイルが不完全な状態となる可能性がある。特に、分割されたファイルの中でも、各ファイルのマッピング情報を記録したインデックスファイルIdxは重要なファイルであり、その内容が不完全となった場合には、データアクセスが正常に行えなくなる。
このため、本発明の目的は、上述した課題である、ファイルシステムにおいてデータアクセスを正常に行えなくなる、という不都合を解決したストレージシステムを提供することにある。
上記目的を達成すべく、本発明の一形態であるストレージシステムでは、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
という構成をとる。
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
という構成をとる。
また、本発明の他の形態であるプログラムは、
情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラムである。
情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラムである。
また、本発明の他の形態である情報処理方法は、
情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
という構成を取る。
情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
という構成を取る。
本発明は、以上のように構成されることにより、システムダウン等によりによって記憶装置に書き込まれたデータが不完全となった場合であっても、その後のデータアクセスを正常に行うことができる。
<実施形態1>
本発明の第1の実施形態を、図3乃至図12を参照して説明する。図3乃至図4は、本実施形態におけるストレージシステムの構成を説明するための図であり、図5乃至図12は、ストレージシステムの動作を説明するための図である。
本発明の第1の実施形態を、図3乃至図12を参照して説明する。図3乃至図4は、本実施形態におけるストレージシステムの構成を説明するための図であり、図5乃至図12は、ストレージシステムの動作を説明するための図である。
[構成]
本発明におけるストレージシステム1は、1台のサーバコンピュータ、あるいは、接続された複数台のサーバコンピュータ、にて構成されている。そして、図2に示すように、ストレージシステム1は、ファイルシステムAとファイルシステムBといった2つのファイルシステムを備えている。ファイルシステムAは、例えば、ストレージシステム1自体における記憶再生動作を制御する機能を有しており、ファイルシステムBは、実際に記憶装置にデータを記憶する機能を備えている。
本発明におけるストレージシステム1は、1台のサーバコンピュータ、あるいは、接続された複数台のサーバコンピュータ、にて構成されている。そして、図2に示すように、ストレージシステム1は、ファイルシステムAとファイルシステムBといった2つのファイルシステムを備えている。ファイルシステムAは、例えば、ストレージシステム1自体における記憶再生動作を制御する機能を有しており、ファイルシステムBは、実際に記憶装置にデータを記憶する機能を備えている。
なお、本実施形態におけるストレージシステム1は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。これにより、記憶するデータの重複排除を実現している。但し、本発明におけるストレージシステム1は、コンテンツアドレスストレージシステムであることに限定されず、重複排除機能を有していることにも限定されない。
そして、本実施形態におけるストレージシステム1は、演算装置にプログラムが組み込まれることで構築された、データ属性判別部11と、ファイル分割部12と、インデックスファイル作成部13と、データ書き込み部14と、修復部15と、をファイルシステムAに備えている。また、ストレージシステム1は、主記憶部に形成されたファイル情報テーブル16を備えている。
さらに、ストレージシステム1は、図示しないが、ファイルシステムBにてアクセス可能な複数の記憶装置を備えている。そして、後述する分割ファイルF1,F2やインデックスファイルIdxを、さらに分割及び冗長化して、複数の記憶装置に分散して記憶し、重複排除を実現する機能を備えている。
上記データ属性判別部11(データ分割手段)は、書き込み対象となるファイル(書き込み対象データ)中の各部分データが、予め設定されたいずれの属性(分類)に属するか、を判別する。ここで、本実施形態では、例えば、書き込み対象となるファイルFは、バックアップデータであり、当該バックアップデータの実データ部分であり生成された時間や更新回数などによっても値が変化しない「データ部」と、タイムスタンプや通番などのように時間や更新回数などの違いによって値が変化しファイル自体の管理情報を含む「マーカ部」と、いった2属性のうち、いずれの属性であるか判別する。なお、データ属性判別部11には、予めファイルF内の各部分データのデータ内容から、属性を判別する基準情報が予め設定されており、かかる基準情報に従って属性判別を行う。
上記ファイル分割部12(データ分割手段)は、データ判別部11による属性の判別に従って、ファイルF中の各部分データを分割して、各属性毎にそれぞれ振り分けて新たな分割ファイルデータをそれぞれ生成する。例えば、本実施形態では、上述したようにファイルF中の「データ部」に属する各部分データを、分割後の分割ファイルデータであるファイル1(F1)に振り分け、「マーカ部」に属する各分割データを、分割後の分割ファイルデータであるファイル2(F2)に振り分ける。そして、それぞれ振り分けられた各部分データを、各属性に対応する各ファイル毎(ファイル1、ファイル2)で結合して、ファイル1とファイル2とを生成する。具体的には、図1に示すように、書き込み対象となるファイルFのうち、符号F1_1〜F1_7の部分データをファイル1に振り分け、符号F2_1〜F2_6の部分データをファイル2に振り分ける。
ここで、上述したファイルFを分割してファイル1,2を生成する処理は、ストレージシステム1内の主記憶装置上で行われ、かかるファイル1,2は、後述するように、データ書き込み部14によるファイルシステムAとファイルシステムBとのデータ同期時に、実際に記憶装置に書き込まれることとなる。
なお、本実施形態では、書き込み対象となるファイルFを2つのファイルに分割する場合を例示したが、本発明は分割するファイル数を2つに限定するものではなく、さらに多くの数のファイルに分割する場合でも適用可能である。
上記インデックスファイル作成部13(インデックスファイル作成手段)は、上述したようにファイルF中の各部分データを分割した際に、当該各部分データのインデックスエントリを生成して結合し、インデックスファイルIdx(インデックスファイルデータ)を生成する。なお、インデックスエントリは、例えば、ファイル情報テーブル16に格納された情報を利用して作成され、例えば、図4に示すように、インデックスエントリに対応する部分データの分割前におけるファイルF中の位置情報を表す”originalFile_offset”と、部分データから生成された分割ファイルデータ(ファイル1又はファイル2)中の位置情報を表す”fileA_offset”もしくは”fileB_offset”(“current_File”に記載されているファイルのoffset情報)、部分データ自体のデータサイズを表すデータサイズ情報である”data_size”、ファイルシステムBとの同期が完了したか否かを表す”index_sync”、といったデータを含んでいる。なお、”index_sync”は、初期設定値は”0”であるが、ファイルシステムBとの同期が完了すると、”1”に設定される。
また、インデックスファイル作成部13は、上述したインデックスエントリに、当該インデックスエントリの不正を検出するために利用する誤り検出用の検査データを付加する。この検査データは、例えば、「CRC32」といった冗長コードであるが、かかるデータに限定されない。
上記データ書き込み部14(データ書き込み手段)は、上述したファイル分割部12にて生成された各分割ファイルデータであるファイル1とファイル2、及び、上記インデックスファイル作成部13にて作成されたインデックスファイルIdxを、ファイルシステムBに書き込む。具体的には、ストレージシステム1内の主記憶装置上で生成されたファイル1,2及びインデックスファイルIdxを、ファイルシステムAとファイルシステムBとのデータ同期のタイミングで、実際に補助記憶装置に書き込む。また、データ書き込み部14は、特に、インデックスエントリの補助記憶装置への書き込みが完了すると、当該インデックスエントリ内の”index_sync”を”1”に設定し、特定情報を付加する。
上記修復部15(修復手段)は、上述したデータ書き込み部14にてファイル1,2、及びインデックスファイルIdxを補助記憶装置に書き込んでいる最中に、ストレージシステム1自体やファイルシステムBなどに障害が発生するなどシステムダウンが発生した場合に、補助記憶装置に書き込まれたデータに次回アクセスする際に、当該データの確認と修復といったリカバリ処理を行う。
具体的に、修復部15は、インデックスファイルIdx内のインデックスエントリに格納されている誤り検出用の検査データを調べ、誤り検出処理を行う。そして、修復部15は、インデックスエントリの誤りを検出した際には、当該インデックスエントリよりも後端側に位置する全てのインデックスエントリを、インデックスファイルIdx内から削除する修正を行う。このとき、修復部15は、インデックスファイルIdxの終端側から順に始端側に向かって、インデックスエントリの誤り検出処理を行うと共に、当該インデックスエントリ中の”index_sync”の値を調べるバックリードを行う。そして、インデックスエントリ中の”index_sync”が”1”である場合には、インデックスファイルIdxの終端側から順に行っていた誤り検出処理つまりバックリードを終了する。なお、修復部15は、バックリード中にインデックスファイルIdxの先頭のエントリに達した場合も、バックリードを終了する。
さらに、修復部15は、上述したように各インデックスエントリの確認と修正が完了すると、修正後のインデックスファイルIdxの終端側に位置するインデックスエントリ内の情報から、各分割ファイルであるファイル1,2のファイルサイズを特定する。そして、この特定したファイル1,2のファイルサイズと、実際のファイル1,2のファイルサイズが一致するか否かを調べ、実際のファイル1,2がインデックスエントリから特定したファイルサイズに一致するよう、ファイル1,2の終端を拡張あるいは削除する。なお、具体的な処理内容については後述する。
[動作]
次に、上述したストレージシステム1の動作を、図5乃至図9のフローチャート、及び、図10乃至図12の図を参照して説明する。
次に、上述したストレージシステム1の動作を、図5乃至図9のフローチャート、及び、図10乃至図12の図を参照して説明する。
はじめに、図5を参照して、ストレージシステム1によるファイル分割とインデックスファイルの作成について説明する。ファイルシステムAに対してファイルFを書き込む際には、まず、ファイル情報テーブル16を初期化すると共に(ステップS1)、ファイルの作成を行い、そのファイルに対するinode番号等の各種情報をヘッダとして、インデックスファイルIdxに書き出す(ステップS2)。そして、ファイルFが書き込まれると(ステップS3)、データ属性判別部11が部分データのデータ属性を確認し、ファイル情報テーブル16中の”current_File”にデータ属性を書き込み(ステップS4)、ファイル分割部12がデータの属性に応じて、各部分データを各ファイル1,2へ書き出す(ステップS5)。
その後、ファイルFからのデータ書き込みの度に(ステップS6)、データ属性の判別(ステップS7)、データ書き出し(ステップS11)を行う。このとき、データ属性判別によって判定された部分データの属性が、ひとつ前の属性と異なる場合は(ステップS8でNo)、インデックスファイル作成部13によって、インデックスエントリが作成され、当該インデックスエントリをインデックスファイルIdxに書き出し(ステップS9)、”current_File”を更新する(ステップS10)。
そして、ファイルF内の全ての部分データの書き込みが完了すると(ステップS11,ステップS12でYes)、最後にインデックスエントリの書き出しを行う(ステップS13)。なお、かかる書き出しは、主記憶部上で行われ、実際に補助記憶装置への記憶は、後の同期時に行われる。
次に、図5で説明したステップS5やステップS11におけるデータ書き出し処理について、図6のフローチャートを参照して説明する。ファイル分割部12は、ファイルFの部分データを、ファイル情報テーブル16中の”current_File”に従って(ステップS21)、ファイルシステムBのファイル1又はファイル2に書き出し(ステップS22,S23)、ファイル情報テーブル16中の”data_size”に、書き出した部分データのサイズを加算する(ステップS24)。
次に、図5で説明したステップS9におけるインデックスエントリ書き出し処理について、図7のフローチャートを参照して説明する。上述したように、ファイルFの部分データの属性が変化した場合には、インデックスエントリを書き出す。このとき、ファイル情報テーブル16中の”current_File”を確認して(ステップS31)、ファイル情報テーブル16中の各情報を元に、検査用の冗長コードを計算する(ステップS32,S35)。そして、ファイル情報テーブル16中の各情報と検査用の冗長コードを一つのインデックスエントリとして、ファイルシステムBのインデックスファイルIdxに書き出す(ステップS33,S34)。インデックスエントリをインデックスファイルIdxに書き出した後は、”fileA_offset”もしくは”fileB_offset”(“current_File”に記載されているファイルのoffset情報)、”originalFile_offset”に、”data_size”を加算し(ステップS34,S37,S38)、”index_sync”を”0”にする(ステップS39)。
次に、ファイルシステムAに対して、データ同期命令が行われた際のデータ同期処理、つまり、上述したように生成されたファイル1,2及びインデックスファイルIdxを主記憶部から補助記憶装置に実際にデータを書き込むときの動作を、図8のフローチャートを参照して説明する。
データ同期命令が実行された場合(ステップS41)、インデックスエントリの書き出しを行い(ステップS42)、ファイルシステムBの全てのファイルに対して、データ同期命令を発行する(ステップS43)。最後にファイル情報テーブル16中の”index_sync”を”1”にする(ステップS44)。これにより、データ同期直後に作成されたインデックスエントリ中の”index_sync”は”1”になり、その他の場合は”0”になる。
続いて、上述したデータ同期時に、ファイルシステムBへのデータ書き出し途中でシステムダウンが発生した場合には、ファイルFへの次回アクセス時にリカバリ処理が行われる。このリカバリ処理について、図9のフローチャートと図10乃至図12を参照して説明する。
リカバリ処理では(ステップS51)、図10に示すように、インデックスファイルIdx中のインデックスエントリを、当該インデックスファイルIdxの終端側からバックリードする(ステップS52)。そして、インデックスエントリ中の検査用の冗長コードを用いて、不正なインデックスエントリが存在するかどうか確認する(ステップS53)。このとき、さらに、インデックスエントリ中の”index_sync”が”1”、もしくは、インデックスファイルIdxの先頭に達するか否かを調べ(ステップS54)、達していなければ一つ前のエントリを読み込み(ステップS55)、上記同様の処理を行う。
そして、バックリード中に、インデックスエントリ中の”index_sync”が”1”、もしくは、インデックスファイルIdxの先頭に達した場合にはバックリードを終了する(ステップS54)。このとき、不正なインデックスエントリが存在していた場合には、そのインデックスエントリ以降つまり不正なインデックスエントリからインデックスファイルIdxの終端までのインデックスエントリを、全て削除する(ステップS56)。例えば、図10に示す符号I_9のインデックスエントリの”index_sync”が”1”であり、これよりも終端側である右隣のインデックスエントリが不正であった場合には、図10に示すように、符号I_9のインデックスエントリよりも後端側に位置する点線部分のインデックスエントリを、矢印に示すように削除する。
なお、インデックスエントリ中の”index_sync”が”1”の場合には、そのインデックスエントリ以前の各ファイル(ファイル1、ファイル2、インデックスファイル)は同期されていることが保証されていることとなる。従って、それ以前のインデックスエントリは不正かどうかを調べる必要はなく、バックリードする必要はない。以上のように、インデックスエントリに”index_sync”を付加することにより、バックリード区間を短くすることができる。
その後、インデックスエントリの確認と修正が完了すると、各ファイル1,2のデータサイズと、当該各ファイル1,2に対応する正常な最終インデックスエントリが指す領域の終端とに、ずれがあるかどうかを確認する(ステップS57)。例えば、図11に示すインデックスファイルの正常部分の終端に位置する符号I_9のインデックスエントリに含まれるファイル1内の位置情報とデータサイズに基づいてファイル1のサイズを特定し、これと実際のファイル1のサイズとを比較する。そして、実際のファイル1のサイズが、終端インデックスエントリから特定したサイズよりも大きい場合には、当該終端インデックスエントリに対応する実際のファイル1の符号F1_5に示す終端より後方に存在する不完全なデータを削除し、ファイル1を切り詰める。つまり、最終インデックスエントリから特定したサイズまで、ファイル1の終端である図11の点線に示す部分データを、矢印に示すように削除する(ステップS58)。
一方、実際のファイル1のサイズが、最終インデックスエントリから特定したサイズよりも小さい場合には、正常な最終インデックスエントリにて特定されるサイズまで、ファイル1の終端を拡張する(ステップS59)。
そして、ファイル2に対しても、上述同様に当該ファイル2のデータサイズと、当該ファイル2に対応する正常な最終インデックスエントリが指す領域の終端とに、ずれがあるかどうかを確認する(ステップS60)。例えば、図11に示すファイル2に対応するインデックスファイルの正常部分の終端に位置する符号I_8のインデックスエントリに含まれるファイル2内の位置情報とデータサイズに基づいてファイル2のサイズを特定し、これと実際のファイル2のサイズとを比較する。そして、実際のファイル2のサイズが、終端インデックスエントリから特定したサイズよりも大きい場合には、当該最終インデックスエントリに対応する実際のファイル2の終端より後方に存在する不完全なデータを削除し、ファイル2を切り詰める(ステップS61)。
一方、実際のファイル2のサイズが、当該ファイル2に対応する最終インデックスエントリ(符号I_8)から特定したサイズよりも小さい場合には、正常な最終インデックスエントリにて特定されるサイズまで、図12の点線及び矢印に示すように、ファイル2の終端を拡張する(ステップS62)。
本発明におけるストレージシステムは、以上のように構成することにより、書き込み中にシステムダウンした場合でも、ファイル1、ファイル2、インデックスファイルのファイル間の整合が保たれるため、次回の当該ファイルへのアクセスを正常に行うことができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステムの構成の概略を、図13を参照して説明する。但し、本発明は、以下の構成に限定されない。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステムの構成の概略を、図13を参照して説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段101と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段102と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段103と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段104と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
ストレージシステム100。
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段101と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段102と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段103と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段104と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
ストレージシステム100。
(付記2)
付記1に記載のストレージシステムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
ストレージシステム。
付記1に記載のストレージシステムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
ストレージシステム。
(付記3)
付記2に記載のストレージシステムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
ストレージシステム。
付記2に記載のストレージシステムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
ストレージシステム。
(付記4)
付記1乃至3のいずれかに記載のストレージシステムであって、
前記インデックスファイル作成手段は、前記インデックスエントリに、当該インデックスエントリに対応する前記部分データのデータサイズを表すデータサイズ情報含め、
前記修復手段は、前記誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを削除した後における修復された前記インデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報に基づいて、前記分割ファイルデータのファイルサイズを修正する、
ストレージシステム。
付記1乃至3のいずれかに記載のストレージシステムであって、
前記インデックスファイル作成手段は、前記インデックスエントリに、当該インデックスエントリに対応する前記部分データのデータサイズを表すデータサイズ情報含め、
前記修復手段は、前記誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを削除した後における修復された前記インデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報に基づいて、前記分割ファイルデータのファイルサイズを修正する、
ストレージシステム。
(付記5)
付記4に記載のストレージシステムであって、
前記修復手段は、前記修復されたインデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報であり、当該インデックスエントリに対応する前記部分データが含まれる前記分割ファイルデータ中の位置情報と当該分割データの前記データサイズ情報とにより特定されるファイルサイズに、前記分割ファイルデータのファイルサイズが一致するよう当該分割ファイルデータの後端側を拡張あるいは削除する、
ストレージシステム。
付記4に記載のストレージシステムであって、
前記修復手段は、前記修復されたインデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報であり、当該インデックスエントリに対応する前記部分データが含まれる前記分割ファイルデータ中の位置情報と当該分割データの前記データサイズ情報とにより特定されるファイルサイズに、前記分割ファイルデータのファイルサイズが一致するよう当該分割ファイルデータの後端側を拡張あるいは削除する、
ストレージシステム。
(付記6)
情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラム。
情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラム。
(付記7)
付記6に記載のプログラムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
プログラム。
付記6に記載のプログラムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
プログラム。
(付記8)
付記7に記載のプログラムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
プログラム。
付記7に記載のプログラムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
プログラム。
(付記9)
情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
情報処理方法。
情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
情報処理方法。
(付記10)
付記9に記載の情報処理方法であって、
前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
情報処理方法。
付記9に記載の情報処理方法であって、
前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
情報処理方法。
(付記11)
付記10に記載の情報処理方法であって、
前記データ書き込み時に、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
情報処理方法。
付記10に記載の情報処理方法であって、
前記データ書き込み時に、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
情報処理方法。
なお、上記各実施形態においてプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
なお、本発明は、日本国にて2011年1月28日に特許出願された特願2011−16229の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
1 ストレージシステム
11 データ属性判別部
12 ファイル分割部
13 インデックスファイル作成部
14 データ書き込み部
15 修復部
16 ファイル情報テーブル
100 ストレージシステム
101 データ分割部
102 インデックスファイル作成手段
103 データ書き込み手段
104 修復手段
F ファイル(書き込み対象データ)
F1 ファイル1(分割ファイルデータ)
F2 ファイル2(分割ファイルデータ)
Idx インデックスファイル
11 データ属性判別部
12 ファイル分割部
13 インデックスファイル作成部
14 データ書き込み部
15 修復部
16 ファイル情報テーブル
100 ストレージシステム
101 データ分割部
102 インデックスファイル作成手段
103 データ書き込み手段
104 修復手段
F ファイル(書き込み対象データ)
F1 ファイル1(分割ファイルデータ)
F2 ファイル2(分割ファイルデータ)
Idx インデックスファイル
Claims (9)
- 所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
ストレージシステム。 - 請求項2に記載のストレージシステムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
ストレージシステム。 - 請求項1乃至3のいずれかに記載のストレージシステムであって、
前記インデックスファイル作成手段は、前記インデックスエントリに、当該インデックスエントリに対応する前記部分データのデータサイズを表すデータサイズ情報含め、
前記修復手段は、前記誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを削除した後における修復された前記インデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報に基づいて、前記分割ファイルデータのファイルサイズを修正する、
ストレージシステム。 - 請求項4に記載のストレージシステムであって、
前記修復手段は、前記修復されたインデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報であり、当該インデックスエントリに対応する前記部分データが含まれる前記分割ファイルデータ中の位置情報と当該分割データの前記データサイズ情報とにより特定されるファイルサイズに、前記分割ファイルデータのファイルサイズが一致するよう当該分割ファイルデータの後端側を拡張あるいは削除する、
ストレージシステム。 - 情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラム。 - 請求項6に記載のプログラムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
プログラム。 - 情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
情報処理方法。 - 請求項8に記載の情報処理方法であって、
前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012554499A JP5534043B2 (ja) | 2011-01-28 | 2011-11-30 | ストレージシステム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011016229 | 2011-01-28 | ||
JP2011016229 | 2011-01-28 | ||
PCT/JP2011/006679 WO2012101707A1 (ja) | 2011-01-28 | 2011-11-30 | ストレージシステム |
JP2012554499A JP5534043B2 (ja) | 2011-01-28 | 2011-11-30 | ストレージシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5534043B2 true JP5534043B2 (ja) | 2014-06-25 |
JPWO2012101707A1 JPWO2012101707A1 (ja) | 2014-06-30 |
Family
ID=46580320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012554499A Active JP5534043B2 (ja) | 2011-01-28 | 2011-11-30 | ストレージシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9858287B2 (ja) |
EP (1) | EP2669804A4 (ja) |
JP (1) | JP5534043B2 (ja) |
CN (1) | CN103339615B (ja) |
CA (1) | CA2825885C (ja) |
WO (1) | WO2012101707A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9773059B2 (en) * | 2010-11-09 | 2017-09-26 | Storagedna, Inc. | Tape data management |
CN103024541B (zh) * | 2012-12-19 | 2016-03-30 | 四川长虹电器股份有限公司 | 一种智能电视机数据存储和可视化的方法 |
CN104021049B (zh) * | 2014-05-16 | 2017-11-03 | 华为技术有限公司 | 分布式存储系统中数据统一的方法和以太接口硬盘 |
CN104408154B (zh) * | 2014-12-04 | 2018-05-29 | 华为技术有限公司 | 重复数据删除方法及装置 |
JP6862951B2 (ja) * | 2017-03-15 | 2021-04-21 | 富士通株式会社 | メモリ制御装置、情報処理装置およびメモリ制御方法 |
CN111552667B (zh) * | 2020-04-29 | 2023-11-03 | 杭州海康威视系统技术有限公司 | 一种数据删除方法、装置及电子设备 |
CN112114753B (zh) * | 2020-09-17 | 2022-09-30 | 杭州海康威视系统技术有限公司 | 一种数据写入方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06175901A (ja) * | 1992-06-12 | 1994-06-24 | Fujitsu Ltd | ファイルを管理する処理装置 |
JPH06290092A (ja) * | 1991-11-04 | 1994-10-18 | American Teleph & Telegr Co <Att> | 記憶装置へのファイル格納装置 |
JPH07146810A (ja) * | 1993-09-27 | 1995-06-06 | Toshiba Corp | 計算機システム |
JP2002501258A (ja) * | 1998-01-21 | 2002-01-15 | マイクロソフト コーポレイション | ファイル・システムにおけるネーティブ・データ署名 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8602654A (nl) * | 1986-10-23 | 1988-05-16 | Philips Nv | Werkwijze voor het in kavels verdelen en in een massageheugen bitsgewijs opslaan van een gegevensbestand, alsook voor het adresseren van een kavel, en inrichting voor het uitvoeren van de werkwijze. |
CA2402933C (en) * | 2000-03-22 | 2012-01-10 | Robert Bradshaw | Method of and apparatus for recovery of in-progress changes made in a software application |
US6668262B1 (en) * | 2000-11-09 | 2003-12-23 | Cisco Technology, Inc. | Methods and apparatus for modifying a database |
US7444389B2 (en) | 2003-12-09 | 2008-10-28 | Emc Corporation | Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time |
US7917494B2 (en) * | 2008-07-11 | 2011-03-29 | Adobe Software Trading Company Limited | System and method for a log-based data storage |
US9015181B2 (en) * | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
CN101799788B (zh) | 2010-03-23 | 2014-06-11 | 中兴通讯股份有限公司 | 一种分级管理存储资源的方法及系统 |
-
2011
- 2011-11-30 WO PCT/JP2011/006679 patent/WO2012101707A1/ja active Application Filing
- 2011-11-30 US US13/981,166 patent/US9858287B2/en active Active
- 2011-11-30 JP JP2012554499A patent/JP5534043B2/ja active Active
- 2011-11-30 CA CA2825885A patent/CA2825885C/en active Active
- 2011-11-30 EP EP11856977.1A patent/EP2669804A4/en not_active Withdrawn
- 2011-11-30 CN CN201180066195.4A patent/CN103339615B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06290092A (ja) * | 1991-11-04 | 1994-10-18 | American Teleph & Telegr Co <Att> | 記憶装置へのファイル格納装置 |
JPH06175901A (ja) * | 1992-06-12 | 1994-06-24 | Fujitsu Ltd | ファイルを管理する処理装置 |
JPH07146810A (ja) * | 1993-09-27 | 1995-06-06 | Toshiba Corp | 計算機システム |
JP2002501258A (ja) * | 1998-01-21 | 2002-01-15 | マイクロソフト コーポレイション | ファイル・システムにおけるネーティブ・データ署名 |
Also Published As
Publication number | Publication date |
---|---|
EP2669804A1 (en) | 2013-12-04 |
CA2825885A1 (en) | 2012-08-02 |
CN103339615B (zh) | 2016-03-09 |
US9858287B2 (en) | 2018-01-02 |
JPWO2012101707A1 (ja) | 2014-06-30 |
EP2669804A4 (en) | 2017-10-18 |
WO2012101707A1 (ja) | 2012-08-02 |
CN103339615A (zh) | 2013-10-02 |
CA2825885C (en) | 2019-07-02 |
US20130339320A1 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5534043B2 (ja) | ストレージシステム | |
US8341460B2 (en) | Verification of computer backup data | |
US7421551B2 (en) | Fast verification of computer backup data | |
US9396073B2 (en) | Optimizing restores of deduplicated data | |
CN108319602B (zh) | 数据库管理方法及数据库系统 | |
US8972343B2 (en) | Storage system | |
KR101301828B1 (ko) | 플래시 메모리에 기반한 ssd에서의 전원-손실 복구 방법 및 장치 | |
JP6341307B1 (ja) | 情報処理装置 | |
US20080059736A1 (en) | Storage system and backup method | |
CN113885809B (zh) | 数据管理系统及方法 | |
JP5517224B2 (ja) | ストレージ装置 | |
JP2013058134A (ja) | データ書き込み装置 | |
JP5660617B2 (ja) | ストレージ装置 | |
US9575679B2 (en) | Storage system in which connected data is divided | |
CN114138566B (zh) | 虚拟机的数据存储方法、装置、虚拟机及存储介质 | |
JP5365236B2 (ja) | ストレージシステム | |
CN103902227A (zh) | 一种支持追加写和共享读的文件存储方式 | |
JP6337982B1 (ja) | ストレージシステム | |
US20220391118A1 (en) | Journals for data cloning operations | |
KR101686340B1 (ko) | 대용량 스토리지 장치를 위한 효율적인 비휘발성 캐시 부하 관리 방법 | |
CN107402850B (zh) | 一种数据库数据文件的冗余方法与装置 | |
CN111124740A (zh) | 一种数据读取方法、装置、存储设备及机器可读存储介质 | |
JP5891842B2 (ja) | ストレージシステム | |
JP6337507B2 (ja) | ストレージシステム | |
JP2004005524A (ja) | データ記録装置、データ記録方法、当該方法を実行するためのプログラム及びプログラム記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20140401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5534043 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140414 |