JP5929326B2 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP5929326B2
JP5929326B2 JP2012046676A JP2012046676A JP5929326B2 JP 5929326 B2 JP5929326 B2 JP 5929326B2 JP 2012046676 A JP2012046676 A JP 2012046676A JP 2012046676 A JP2012046676 A JP 2012046676A JP 5929326 B2 JP5929326 B2 JP 5929326B2
Authority
JP
Japan
Prior art keywords
data
stored
block
block data
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012046676A
Other languages
English (en)
Other versions
JP2013182476A (ja
Inventor
靖人 古賀
靖人 古賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012046676A priority Critical patent/JP5929326B2/ja
Publication of JP2013182476A publication Critical patent/JP2013182476A/ja
Application granted granted Critical
Publication of JP5929326B2 publication Critical patent/JP5929326B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステムにかかり、特に、重複記憶排除機能を有するストレージシステムに関する。
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
具体的に、コンテンツアドレスストレージシステムでは、所定のデータを分割したブロックデータを複数のフラグメントデータにさらに分割すると共に、冗長データ(パリティデータ)となるフラグメントデータを付加して、これら複数のフラグメントデータを複数の記憶装置に分散して格納している。そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントデータを読み出し、複数のフラグメントデータから分割前の所定のデータを復元することができる。
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
そして、複数のユーザで上述した重複記憶排除機能を有するストレージシステムを使用する場合には、異なるユーザ間におけるデータに対しても重複記憶を排除することで、さらにストレージシステムの記憶容量を効率的に使用することができる。
特開2005−235171号公報
一方で、上述したように異なるユーザのデータに対しても重複排除する場合には、不都合が生じることもある。例えば、ファイルをブロックデータに分割して格納する場合には、あるユーザAの格納したファイルのデータが、部分的に他のユーザBのファイルのデータと重複していると、そのユーザAのファイルのデータは物理的に離れた位置に格納されてしまう可能性がある。すると、ユーザAがファイルを読み出す際には、そのファイルの読み出し性能が低下する、という問題が生じる。また、同じブロックデータを異なるユーザが共有することで、ユーザごとのブロックデータの参照状態や記憶装置の使用物理容量を把握することが困難となる。なお、上記でいう「ユーザ」は、必ずしも一人の使用者と対応する必要はなく、「部署」「企業」など使用者の集合や、あるいはデータの用途などと対応するものであってもよい。
このため、本発明の目的は、上述した課題である、重複記憶排除機能を有するストレージシステムの読み出し性能が低下することと、ユーザ毎の使用記憶容量の把握が困難であることを、解決することができるストレージシステムを提供することにある。
本発明の一形態であるストレージシステムは、
ファイルを分割したブロックデータが格納される記憶装置と、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
を備え、
前記重複判定手段は、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
という構成をとる。
また、本発明の他の形態であるストレージシステムは、
ファイルを分割したブロックデータが格納される記憶装置と、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
を備え、
前記データ格納制御手段は、前記記憶装置に格納された前記ブロックデータを参照すると共に当該ブロックデータを識別するブロック識別データと、当該ブロックデータの分割元であるファイルの属性を表す属性識別データと、を関連付けて前記記憶装置に記憶し、
前記重複判定手段は、前記記憶装置に格納された前記ブロックデータを参照する前記ブロック識別データに関連付けられた前記属性識別データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
という構成をとる。
また、本発明の他の形態であるプログラムは、
ファイルを分割したブロックデータが格納される記憶装置に接続された情報処理装置に、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
を実現させると共に、
前記重複判定手段は、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ことを実現させるためのプログラムである。
また、本発明の他の形態であるプログラムは、
ファイルを分割したブロックデータが格納される記憶装置に接続された情報処理装置に、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
を実現させると共に、
前記データ格納制御手段は、前記記憶装置に格納された前記ブロックデータを参照すると共に当該ブロックデータを識別するブロック識別データと、当該ブロックデータの分割元であるファイルの属性を表す属性識別データと、を関連付けて前記記憶装置に記憶し、
前記重複判定手段は、前記記憶装置に格納された前記ブロックデータを参照する前記ブロック識別データに関連付けられた前記属性識別データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ことを実現させるためのプログラムである。
また、本発明の他の形態であるデータ格納方法は、
記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割したブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定し、
新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させると共に、
前記ブロックデータの重複判定の際に、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
という構成をとる。
また、本発明の他の形態であるデータ格納方法は、
記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割したブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定し、
新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させると共に、
新たに格納する前記ブロックデータが重複しないと判定され、当該新たに格納する前記ブロックデータを前記記憶装置に格納した際に、当該記憶装置に格納された前記ブロックデータを参照すると共に当該ブロックデータを識別するブロック識別データと、当該ブロックデータの分割元であるファイルの属性を表す属性識別データと、を関連付けて前記記憶装置に記憶し、
前記ブロックデータの重複判定の際に、前記記憶装置に格納された前記ブロックデータを参照する前記ブロック識別データに関連付けられた前記属性識別データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
という構成をとる。
本発明は、以上のように構成されることにより、重複記憶排除機能を有するストレージシステムの読み出し性能の向上を図ることができると共に、ユーザ毎の使用記憶容量の把握が容易であるストレージシステムを提供することができる。
本発明の実施形態1におけるシステム全体の構成を示すブロック図である。 図1に開示したストレージシステムの構成の概略を示すブロック図である。 図2に開示したストレージシステムの構成を示すブロック図である。 図2に開示したストレージシステムの動作を説明するための説明図である。 図2に開示したストレージシステムの動作を説明するための説明図である。 図2に開示したストレージシステムに記憶されているデータの一例を示す図である。 本発明に関連するストレージシステムの動作の一例を示す図である。 図2に開示したストレージシステムの動作の一例を示す図である。 図2に開示したストレージシステムに記憶されているデータの一例を示す図である。 図2に開示したストレージシステムに記憶されているデータの一例を示す図である。 図2に開示したストレージシステムの動作を示すフローチャートである。 本発明の実施形態2におけるストレージシステムの構成を示すブロック図である。 図12に開示したストレージシステムに記憶されているデータの一例を示す図である。 図12に開示したストレージシステムに記憶されているデータの一例を示す図である。 本発明の実施形態3におけるストレージシステムに記憶されているデータの一例を示す図である。 本発明の付記1におけるストレージシステムの構成を示す機能ブロック図である。
<実施形態1>
本発明の第1の実施形態を、図1乃至図11を参照して説明する。図1は、システム全体の構成を示すブロック図である。図2は、ストレージシステムの概略を示すブロック図であり、図3は、ストレージシステムの詳細な構成を示すブロック図である。図4乃至図8は、ストレージシステムの動作を説明するための説明図であり、図9乃至図10は、ストレージシステムに記憶されているデータの一例を示す図である。図11は、ストレージシステムの動作を示すフローチャートである。
ここで、本実施形態では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータ(情報処理装置)で構成されていてもよい。
図1に示すように、本発明におけるストレージシステム10は、ネットワークNを介してバックアップ処理を制御するバックアップシステム11に接続している。そして、バックアップシステム11は、ネットワークNを介して接続されたバックアップ対象装置12に格納されているバックアップ対象データを取得し、ストレージシステム10に対して記憶するよう要求する。これにより、ストレージシステム10は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。なお、本実施形態におけるストレージシステム10は、バックアップ対象データを記憶する場合を例示して説明するが、それは一例であって、いかなるデータを記憶してもよい。
そして、図2に示すように、本実施形態におけるストレージシステム10は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム10は、ストレージシステム10自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード20と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード30と、を備えている。なお、アクセラレータノード20の数とストレージノード30の数は、図2に示したものに限定されず、さらに多くの各ノード20,30が接続されて構成されていてもよい。
さらに、本実施形態におけるストレージシステム10は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。このコンテンツアドレスストレージシステムについては、後に詳述する。
図3に、本実施形態におけるストレージシステム10の詳細な構成を示す。ここでは、上述したアクセラレータノード20とストレージノード30とを区別せずに、ストレージシステム10が1つのシステムとして構成されていることとして説明する。
まず、ストレージシステム10は、図3に示すように、まず、ネットワークインターフェースなどで構成されるファイル操作入力部1と、アクセラレータノード20やストレージノード30に装備されたCPU(Central Processing Unit)などの演算装置にプログラムが組み込まれることによって構築されたデータ処理装置2と、を備えている。そして、データ処理装置2は、ファイル操作実行部21を備えている。
また、ストレージシステム10は、主にストレージノード30が装備する記憶装置3内に構成された、FS構造記憶部31と、ブロックIDリスト記憶部32と、ブロック関連データ記憶部33と、ブロックデータ記憶部34と、ブロックIDマッピング記憶部35と、を備えている。以下、ストレージシステム10の各構成と動作について詳述する。
上記ファイル操作入力部1は、バックアップ対象装置12などからバックアップシステム11を介して送信されたバックアップ対象データを受信して、ファイル操作実行部21に渡す。
上記ファイル操作実行部21(データ格納制御手段、重複判定手段)は、上述したようにファイル操作入力部1を介してバックアップ対象装置12から送信されたバックアップ対象データの入力を受け、当該データを記憶装置3内に格納するよう制御する。具体的に、ファイル操作実行部21は、バックアップ対象データを、複数のストレージノード30やディスクによって構成される記憶装置に対して分散すると共に、重複を排除して記憶する。また、ファイル操作実行部21は、分散記憶したデータを読み出す処理を行う。以下、上記ファイル操作実行部21による分散記憶処理の一例を、図4乃至図8及び図11のフローチャートを参照して説明する。
はじめに、ファイル操作実行部21による基本的な分散記憶処理の動作について、図4及び図5を参照して説明する。まず、ファイル操作実行部21は、バックアップ対象データであるファイルを構成するデータAの入力を受けると(図4、図5の矢印Y1)、図4及び図5の矢印Y2に示すように、当該データAを所定容量(例えば、64KB)のブロックデータDに分割する。そして、このブロックデータDのデータ内容に基づいて、当該データ内容を代表する固有のハッシュ値Hを算出する(図5の矢印Y3)。例えば、ハッシュ値Hは、予め設定されたハッシュ関数を用いて、ブロックデータDのデータ内容から算出する。なお、本実施形態においては、単にブロックデータDからハッシュ値Hを算出するのではなく、ブロックデータDにファイルの属性を表すグループID(GID)を付加したデータ(結合データ)のハッシュ値Hを算出する。かかる処理については後述する。
続いて、ファイル操作実行部21は、同じ内容のブロックデータDの重複記録を排除するために、ブロックデータDのハッシュ値Hを用いて、重複排除処理を行う。具体的には、まず、既に格納されているブロックデータDは、後述するように、当該ブロックデータDのハッシュ値Hと格納位置を表すコンテンツアドレスCAとが関連付けられて登録されているため、算出したブロックデータDのハッシュ値Hが既に存在している場合には、既に同一内容のブロックデータDが格納されていると判断できる。この場合には、格納前のブロックデータDのハッシュ値Hと一致した登録されているハッシュ値Hに関連付けられているコンテンツアドレスCAを取得する。そして、このコンテンツアドレスCAを、書き込み要求されたブロックデータDのコンテンツアドレスCAとして参照する。これにより、このコンテンツアドレスCAにて参照される既に格納されているデータが、書き込み要求されたブロックデータDとして使用されることとなり、当該書き込み要求にかかるブロックデータDを記憶する必要がなくなる。
また、ファイル操作実行部21は、書き込み要求にかかるブロックデータDがまだ記憶されていないと判断された場合には、かかるブロックデータDを格納する処理を行う。具体的には、まず、ブロックデータDを複数の所定の容量のフラグメントデータ(分割データ)に分割する。例えば、図4の符号D1〜D9に示すように、9つのフラグメントデータ(分割データ41)に分割する。さらに、ストレージシステム10は、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータDを復元可能なよう冗長データを生成し、上記分割したフラグメントデータ41に追加する。例えば、図4の符号D10〜D12に示すように、3つのフラグメントデータ(冗長データ42)を追加する。これにより、9つの分割データ41と、3つの冗長データ42とにより構成される12個のフラグメントデータからなるデータセット40を生成する(図5の矢印Y4)。
そして、ファイル操作実行部21は、上述したように生成された各フラグメントデータを、ブロックデータ記憶部34内に記憶する。例えば、図4に示すように、12個のフラグメントデータD1〜D12を生成した場合には、複数のストレージノード30にて構成されたブロックデータ記憶部34内に形成されたデータ格納領域である各コンポーネントCに、各フラグメントデータD1〜D12を1つずつそれぞれ格納して、分散記憶する(図5の矢印Y5参照)。
ここで、上述したようにフラグメントデータが格納されると、ストレージシステム10では、当該フラグメントデータD1〜D12の格納位置、つまり、当該フラグメントデータD1〜D12にて復元されるブロックデータDの格納位置を表すコンテンツアドレスCAを生成する。このとき、コンテンツアドレスCAは、例えば、格納したブロックデータDの内容に基づいて算出したハッシュ値Hの一部(ショートハッシュ)(例えば、ハッシュ値Hの先頭8B(バイト))と、論理格納位置を表す情報と、を組み合わせて、生成される。そして、このコンテンツアドレスCAは、ストレージシステム10内のファイルシステムを管理するアクセラレータノード20にて、バックアップ対象データであるファイルを構成する各ブロックデータの識別情報と、コンテンツアドレスCAとが関連付けられて、ファイル操作実行部21にてファイルシステムとして管理される。なお、ブロックデータの識別情報自体が、当該ブロックデータを参照するコンテンツアドレスCAとなっていてもよい。
また、ファイル操作実行部21は、ファイルの読み出し要求を受けると、要求されたファイルに対応するコンテンツアドレスCAにて指定される格納位置を特定し、この特定された格納位置に格納されている各フラグメントデータを、読み出し要求されたデータとして読み出すことができる。以上のように、ストレージシステム10は、データを読み書きする機能を有する。
ここで、本実施形態におけるファイル操作実行部21による、記憶装置3内にデータを記憶してファイルシステムを管理する処理について、図6乃至図8、及び、図11を参照してさらに詳述する。
ファイル操作実行部21は、ファイルが新規に作成された場合には、図6に示すように、まずFS構造記憶部31に、ファイルシステム内におけるファイル31aの存在を表すディレクトリ構造を記憶する。これに伴い、ファイル31aを複数に分割した場合における各ブロックデータを識別する各ブロックID32a(ブロック識別データ)を格納する領域(ブロックIDエントリ)が形成されたブロックIDリストを作成してブロックIDリスト記憶部32に記憶し、当該ブロックIDリストをFS構造記憶部31に記憶されたファイル31aに関連付ける。
続いて、ファイル操作実行部21は、ファイル31aのデータを複数のブロックデータに分割し(図11のステップS1)、各ブロックデータを識別するブロックIDを算出する。このとき、ブロックIDは、例えば、ブロックデータのハッシュ値を用いる。ここで、本実施形態におけるブロックIDとなるハッシュ値の作成方法について、図7乃至図8を参照して説明する。
本実施形態におけるファイル操作実行部21は、まず、ファイル31aのデータを分割したブロックデータに、当該ブロックデータの分割元となるファイル31aに設定された属性であるグループを識別するグループID(以下、「GID」と記す)(属性識別データ)を付加した結合データを生成する。図8の例では、ファイルがblock 1, block 2, ・・・などに分割された各ブロックデータに対して、分割元となるファイルのGIDをそれぞれ付加した各結合データD’を生成する。そして、ブロックデータにGIDを付加した結合データD’に基づく情報として、当該結合データD’のデータ内容の特徴を表すハッシュ値H(特徴データ)を算出する(図11のステップS2)。
これにより、上記ハッシュ値Hは、仮にデータ内容が同一のブロックデータから算出した場合であっても、異なるGIDが付加されたもの同士は異なる値となる。なお、図7は、既存のストレージシステムにおけるハッシュ値Hの算出方法の一例を示しており、かかる例では、ブロックデータのみからハッシュ値を算出している。
ここで、上述した図8の例では、ブロックデータの先頭にGIDを付加して結合データD’を生成するよう図示しているが、GIDをブロックデータに付加する位置は、ブロックデータの先頭、末尾など、いずれの位置であってもよい。
続いて、ファイル操作実行部21は、ブロックデータにGIDを付加した結合データD’のハッシュ値Hを用いて、同一のグループIDが有するファイルから分割され、同一のデータ内容であるブロックデータが、既にブロックデータ記憶部34内に記憶されているか否かを調べる(図11のステップS3)。ここで、既にブロックデータ記憶部34内にブロックデータが格納されている場合には、後述するようにブロックデータと共に結合データD’のハッシュ値Hもブロック関連データ記憶部33内などの記憶装置3内に記憶されていることとなる。このことを利用して、ファイル操作実行部21は、新たに格納しようとする結合データD’のハッシュ値Hが、既に記憶装置3内に記憶されているか否かを調べる。
そして、ファイル操作実行部21は、同一のグループIDが有するファイルから分割され、同一のデータ内容であるブロックデータが、まだストレージシステム10内に記憶されていない場合には(図11のステップS4でNo)、かかるブロックデータ34aをブロックデータ記憶部34に格納すると共に(図11のステップS6)、このブロックデータ34aを参照して関連付けられるブロック関連データ33aを、ブロック関連データ記憶部33に格納する。このブロック関連データ33aには、関連付けられたブロックデータ34aの情報、例えば、ブロックデータ34aのデータサイズを表すサイズ情報と、上述したようにブロックデータ34aにGIDを付加した結合データD’のデータ内容を表すハッシュ値Hと、が格納される(図11のステップS6)。
そして、ファイル操作実行部21は、上述したように算出したハッシュ値HからなるブロックID32aを、新たに格納するファイル31aに対応するブロックIDリスト記憶部32内のブロックIDリストに格納する。このとき、ブロックID32aは、対応する格納したブロックデータ34aに関連付けられたブロック関連データ33aを参照するよう、当該ブロック関連データ33aにマッピング情報を用いて関連付けて記憶する。なお、ブロックID32aとブロック関連データ33aとの関連付けは、ブロックID32aにブロック関連データ33aを参照するコンテンツアドレスを、マッピング情報35aとして用いて関連付けることで行う。なお、マッピング情報は、ブロックIDマッピング記憶部35に記憶される。
これにより、ファイル31aを読み出す際には、FS構造記憶部31を参照してファイル31aのブロックIDリストを読み出すことで、当該リストに含まれるブロックID32aが参照するブロック関連データ33aをマッピング情報35aに基づいて参照して、ファイル31aを構成するブロックデータ34aを読み出すことができる。このように、上記ブロックID32a(ブロック識別データ)とブロック関連データ33aとは、格納されたブロックデータ34aを参照する参照データとして機能している。なお、上記ブロックID32aとブロック関連データ33aとは、1つのデータ(参照データ)にて構成されていてもよい。
なお、上述したようにブロックデータをブロックデータ記憶部34に格納する際に、ブロックデータ自体にGIDを付加して格納してもよい。この場合には、ファイルの読み出し時においては、読み出したデータ内からGIDの部分を削除して使用する。
また、ファイル操作実行部21は、上述したように、新たに格納するファイル34aを分割したブロックデータにGIDを付加した結合データD’からハッシュ値Hを算出し(図11のステップS1,S2)、このハッシュ値つまり結合データD’が既にブロック関連データ記憶部33など記憶装置3内に記憶されていると判断された場合には(図11のステップS3,ステップS4でYes)、既に記憶されたブロックデータ34aを参照させる処理を行う(図11のステップS5)。つまり、新たに格納するブロックデータのブロックID32aを算出してブロックIDリストに格納すると共に、当該ブロックID32aが既に記憶されているブロックデータ34aに関連付けられたブロック関連データ33aを参照するよう、マッピング情報35aを用いて当該ブロック関連データ33aに関連付けて記憶する。これにより、ブロックデータが、例えば図6に示すように異なるファイルから参照されることとなり、同一のブロックデータ34aを重複して記憶することを排除することができる。
このとき、本実施形態では、ブロックデータ34aの重複排除は、同一のGID(グループID)が付加されたもの同士に限られる。つまり、同一のグループ(属性)に属するファイルにおいて、ブロックデータのデータ内容が同一のものだけが重複排除される。逆に言うと、ブロックデータのデータ内容が同一であっても、当該ブロックデータの分割元となるファイルのグループ(属性)が異なる場合には、重複排除されないこととなる。
以上のように、本実施形態によると、異なるグループ(例えば、ユーザ)のファイルを構成するブロックデータに対しては重複排除しないため、グループごとのファイルのブロックデータが記憶装置3内において物理的に離れた位置に格納されることを抑制できる。このため、ファイルを読み出す際における読み出し性能の向上を図ることができる。特に、既存の技術に対して、GIDをブロックデータに付加してハッシュ値を算出する機能を付加することで実現できるため、簡易な改良で実現でき、コストの低減を図ることができる。
また、同じブロックデータを異なるグループで共有することを抑制できるため、グループごとのブロックデータの参照状態や記憶装置内における使用物理容量を把握することが容易となり、データ管理が容易となる。
ここで、上述したファイルの属性としてのGID(グループID)は、予め設定され、当該ファイルに関連付けられて記憶されている。そして、GIDとしては、以下の基準によるものが考えられる。
まず、ファイルを作成(所有)するユーザごとに、GIDを分けることが考えられる。この場合、ファイルの所有ユーザあるいは作成ユーザ毎に設定された識別情報であるユーザIDを、GIDとして用いる。
また、ファイルを作成(所有)するユーザが属する予め設定された集合(グループ)ごとに、GIDを分けることが考えられる。この場合、ユーザIDとGIDとの対応関係を図9に示すようにストレージシステム内や他の記憶装置に記憶しておき、ファイルの所有ユーザあるいは作成ユーザに対応するGIDを取得して、そのGIDを用いる。図9の例では、ユーザIDがuser1, user2,user3は同じグループに属すると設定されており、同じGIDが設定されている。これにより、例えば、企業内の部署ごとや、同じストレージを異なる企業が使う場合に企業ごとに、グループ分けすることができる。
また、ファイルを管理するファイルシステムごとに、GIDを分けることが考えられる。これにより、例えばファイルシステムごとに当該ファイルシステムで管理するファイルの使用者や用途を分け、当該ファイルシステムごとにグループ分けすることができる。この場合、ファイルシステムを識別するファイルシステムID(FSID)をGIDとして用いる。
また、上記ファイルシステムが属する集合(グループ)ごとに、GIDを分けることも考えられる。この場合、ファイルシステムとGIDとの対応関係を図10に示すように記憶しておき、ファイルシステムのファイルシステムIDから対応するGIDを取得して、そのGIDを用いる。例えば、図10の例では、ファイルシステムID(FSID)がfs1, fs2, fs3は同じグループに属すると設定されており、同じGIDが設定されている。
なお、上記GIDによりファイルのグループを分ける基準は、上述したものであることに限定されない。ファイルを識別することができる属性であれば、いかなる属性を上述したグループとして用いてもよく、かかる属性を識別する情報(属性識別データ)をGIDとして設定してもよい。
なお、上記では、ハッシュ値Hを用いて結合データD’の重複判定を行っているが、かかる重複判定においては必ずしもハッシュ値Hを用いることに限定されない。ブロックデータにグループを識別する情報を付加した結合データから、他のデータを算出してかかるデータに基づいて重複判定を行ってもよく、結合データに基づいて行われればよい。
<実施形態2>
次に、本発明の第2の実施形態を、図12乃至図14を参照して説明する。図12は、本実施形態におけるストレージシステムの構成を示すブロック図であり、図13乃至図14は、ストレージシステムに記憶されるデータの一例を示す図である。
本実施形態におけるストレージシステムは、上述した実施形態1のものとほぼ同様の構成である。これに加え、本実施形態では、図12に示すように、ストレージシステムを構成するデータ処理装置2が使用物理容量管理部22を備え、また、ストレージシステムを構成する記憶装置3が使用物理容量記憶部36を備える。また、上記構成に伴い、本実施形態におけるファイル操作実行部21は、以下の機能を有する。
まず、本実施形態におけるファイル操作実行部21は、上述したようにブロックデータ34aをブロックデータ記憶部34に格納すると共に、このブロックデータ34aを参照して関連付けられるブロック関連データ33aをブロック関連データ記憶部33に格納する。このとき、ファイル操作実行部21は、図13に示すように、ブロック関連データ33a内に、ブロックデータ34aのデータサイズを表すサイズ情報(「size」)と、ブロックデータ34aが参照されている数を表す被参照数(「ref count」)と、を記憶する。なお、被参照数は、初めてブロックデータが格納された際にはその値「1」となり、他のファイルから参照されるとその値が加算され、参照しているファイルの削除によってその値が減算される。従って、どのファイルからも参照されていないブロックデータの被参照数の値は「0」となる。
さらに、ファイル操作実行部21は、図13に示すように、ブロック関連データ記憶部33内において、各ブロック関連データ33aに、当該ブロック関連データ33aが参照するブロックデータの分割元とのなるファイルのグループ(属性)を識別するGIDを関連付けて記憶する。
そして、上記使用物理容量管理部22(記憶容量管理手段)は、上述したブロック関連データ記憶部33内の各ブロック関連データ33aに含まれるサイズ情報や被参照数、さらには、ブロック関連データ33aが関連付けられているGIDに基づいて、グループ(GID)ごとに記憶装置3が物理的に使用されている記憶容量(使用物理使用量)を算出する。具体的に、使用物理容量管理部22は、新たなブロックデータが格納される毎に、当該ブロックデータを参照するブロック関連データ33aに関連付けられたGIDについての使用物理容量に、当該ブロック関連データ33aに含まれるサイズ情報の値を加算する。また、使用物理容量管理部22は、ファイルの削除時など任意のタイミングで、ブロック関連データ33aの被参照数が「0」となったものを調べ、当該ブロック関連データ33aに関連付けられたGIDについての使用物理容量から、当該ブロック関連データ33aに含まれるサイズ情報の値を減算する。このようにして、グループ(GID)ごとの使用物理容量を算出する。
そして、使用物理容量管理部22は、図14に示すように、算出したグループ(GID)ごとの使用物理容量を使用物理容量記憶部36に記憶する。
以上のように、本実施形態によると、ブロックデータをグループ間で重複記憶排除しないことによって、グループごとのブロックの参照状態および記憶装置3内における使用物理容量を容易に把握することができる。特に、グループごとにブロックデータを記憶しているため、上述した被参照数を各ブロックデータ毎に1つ保持すればよいため、簡易な構成で実現することができる。
なお、使用物理容量管理部22は、グループ(GID)ごとの使用物理容量の算出を上述した方法にて行うことに限定されない。例えば、任意のタイミングで、ブロック関連データ記憶部33内の全てのブロック関連データ33aを調べ、当該ブロック関連データ33aに関連付けられたGIDやサイズ情報、被参照数を調べることで、グループ(GID)ごとの使用物理容量を算出してもよい。
ここで、上述した実施形態1,2において、グループ分けにファイルの所有ユーザを用いる場合には、ファイルの所有ユーザを変更するとGIDが変わる場合がある。これに対処する1つの方法としては、ストレージシステムにおいてGIDが変わるような所有ユーザの変更を禁止することである。もう1つの方法としては、GIDが変わった場合に、そのファイルの全ブロックについて、ブロックIDマッピング記憶部35(及び、必要ならばブロックIDリスト記憶部32、ブロックデータ記憶部34)内のGIDに関連する情報を、新しいGIDを使った場合の情報に更新する。また、実施形態2のように、ブロック関連データで被参照数を管理している場合は、さらにブロック関連データ記憶部33内の古いGIDで参照していたブロック関連データの被参照数を減らし、新しいGIDで参照するブロック関連データの被参照数を増やす(必要ならば、新規のブロック関連データを作成する)処理を行うとよい。
<実施形態3>
次に、本発明の第3の実施形態を、図15を参照して説明する。本実施形態におけるストレージシステムは、上述した実施形態1,2とほぼ同様の構成をとっているが、以下の点でその構成が異なる。
本実施形態におけるファイル操作実行部21は、ファイルが新規に作成された場合には、まず、上述同様図15に示すように、ファイルシステム内におけるファイル31aの存在を表すディレクトリ構造を記憶し、当該ファイル31aに関連付けて、ファイル31aを複数に分割した場合における各ブロックデータを識別する各ブロックID32aを格納するブロックIDリストを作成する。
続いて、ファイル操作実行部21は、ファイル31aのデータを複数のブロックデータに分割し、各ブロックデータを識別するブロックIDを算出する。このとき、ブロックIDとして、例えば、ブロックデータのハッシュ値を用いる場合には、上述した図7に示すように、ブロックデータのみからハッシュ値を算出してもよい。
続いて、ファイル操作実行部21は、ブロックデータのハッシュ値を用いて、同一のデータ内容となるブロックデータが既にブロックデータ記憶部34内に記憶されていないか否かを調べる。ここで、ブロックデータのハッシュ値は、後述するように、ブロックデータと共に記憶装置3内に記憶されていることとなるため、同一のハッシュ値が既に記憶されている場合には、同一のブロックデータが記憶されていることとなる。但し、本実施形態では、後述するように、ブロックデータを識別するブロックIDと共に、当該ブロックデータの分割元となるファイルの属性を表すGID(グループID)が関連付けられて記憶されている。このことを利用して、ファイル操作実行部21は、新たに記憶するブロックデータの分割元となるファイルのGIDと、既にブロックIDと共に記憶されているGIDとを比較して、これらが同一である既に記憶されているブロックデータだけを、重複判定の対象とする。
そして、ファイル操作実行部21は、GIDが同一であり、データ内容が同一のブロックデータがまだストレージシステム10内に記憶されていない場合には、かかるブロックデータ34aをブロックデータ記憶部34に格納すると共に、このブロックデータ34aを参照して関連付けられるブロック関連データ33aを、ブロック関連データ記憶部33に格納する。このブロック関連データ33aには、関連付けられたブロックデータ34aの情報、例えば、ブロックデータ34aのデータサイズを表すサイズ情報と、ブロックデータ34aのデータ内容を表すハッシュ値Hと、が格納される。
そして、ファイル操作実行部21は、上述したように算出したハッシュ値HからなるブロックID32aを、新たに格納するファイル31aに対応するブロックIDリスト記憶部32内のブロックIDリストに格納する。このとき、ブロックID32aには、対応する格納したブロックデータ34aの分割元となるファイルのGID(グループID)を関連付けて記憶する。そして、ファイル操作実行部21は、GIDとブロックIDとを組み合わせた組み合わせデータから、格納したブロックデータに関連付けられたブロック関連データ33aを参照するマッピング情報を生成して、当該マッピング情報をブロックIDマッピング記憶部35に記憶する。
これにより、ファイル31aを読み出す際には、FS構造記憶部31を参照してファイル31aのブロックIDリストを読み出すことで、当該リストに含まれるブロックID32aが参照するブロック関連データ33aをマッピング情報35aに基づいて参照して、ファイル31aを構成するブロックデータ34aを読み出すことができる。
以上のように、本実施形態では、ファイルの属性を表すGIDとブロックIDとの組み合わせデータから、格納されたブロックデータに関連付けられたブロック関連データを参照するマッピング情報を記憶しているため、GID毎にブロックデータが記憶されることとなる。従って、異なるGID間でブロックデータが重複排除されることがないため、グループごとのファイルのブロックデータが記憶装置3内において物理的に離れた位置に格納されることを抑制できる。このため、ファイルを読み出す際における読み出し性能の向上を図ることができる。また、ブロックIDに関連付けられたGIDを参照することで、グループごとの使用記憶容量も容易に把握することができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム(図16参照)、プログラム、データ格納方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
ファイルを分割したブロックデータが格納される記憶装置110と、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段101と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段102と、
を備え、
前記重複判定手段101は、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ストレージシステム100。
(付記2)
付記1に記載のストレージシステムであって、
前記データ格納制御手段は、前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納すると共に、当該格納したブロックデータに対応して生成された前記結合データに基づく情報を前記記憶装置に格納し、
前記重複判定手段は、新たに格納する前記ブロックデータに対応して生成された前記結合データに基づく情報と前記記憶装置に記憶されている情報とに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ストレージシステム。
(付記3)
付記2に記載のストレージシステムであって、
前記データ格納制御手段は、前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納すると共に、当該格納したブロックデータに対応して生成された前記結合データのデータ内容の特徴を表す特徴データを生成して前記記憶装置に格納し、
前記重複判定手段は、新たに格納する前記ブロックデータに対応して生成された前記結合データのデータ内容の特徴を表す特徴データを生成して、当該特徴データが前記記憶装置に記憶されているか否かに応じて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ストレージシステム。
(付記4)
付記1乃至3のいずれかに記載のストレージシステムであって、
前記データ格納制御手段は、前記記憶装置に格納した前記ブロックデータを参照する参照データに、当該ブロックデータの分割元となるファイルの属性を表す前記属性識別データを関連付けると共に、当該参照データが参照する前記ブロックデータのデータサイズを表すサイズ情報を含めて前記記憶装置に格納し、
前記参照データに関連付けられた前記属性識別データと、前記参照データに含まれる前記サイズ情報と、に基づいて、前記記憶装置内における前記属性毎の使用記憶容量を算出する記憶容量管理手段を備えた、
ストレージシステム。
(付記5)
付記4に記載のストレージシステムであって、
前記データ格納制御手段は、前記参照データに、当該参照データが参照する前記ブロックデータが他のブロックデータとして参照されている数を表す被参照数を含めて前記記憶装置に格納し、
前記記憶容量管理手段は、前記参照データに含まれる前記被参照数に基づいて、前記記憶装置内における前記属性毎の使用記憶容量を算出する、
ストレージシステム。
(付記6)
ファイルを分割したブロックデータが格納される記憶装置と、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
を備え、
前記データ格納制御手段は、前記記憶装置に格納された前記ブロックデータを参照すると共に当該ブロックデータを識別するブロック識別データと、当該ブロックデータの分割元であるファイルの属性を表す属性識別データと、を関連付けて前記記憶装置に記憶し、
前記重複判定手段は、前記記憶装置に格納された前記ブロックデータを参照する前記ブロック識別データに関連付けられた前記属性識別データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ストレージシステム。
(付記7)
付記1乃至6のいずれかに記載のストレージシステムであって、
前記データ格納制御手段は、ファイルの前記属性として、ファイルを使用するユーザ、ファイルを使用するユーザが属する予め設定されたグループ、ファイルの管理を行うファイルシステム、ファイルの管理を行うファイルシステムが属する予め設定されたグループ、のうち、いずれかを用いる、
ストレージシステム。
(付記8)
ファイルを分割したブロックデータが格納される記憶装置に接続された情報処理装置に、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
を実現させると共に、
前記重複判定手段は、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ことを実現させるためのプログラム。
(付記9)
付記8に記載のプログラムであって、
前記データ格納制御手段は、前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納すると共に、当該格納したブロックデータに対応して生成された前記結合データに基づく情報を前記記憶装置に格納し、
前記重複判定手段は、新たに格納する前記ブロックデータに対応して生成された前記結合データに基づく情報と前記記憶装置に記憶されている情報とに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
プログラム。
(付記10)
ファイルを分割したブロックデータが格納される記憶装置に接続された情報処理装置に、
前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
を実現させると共に、
前記データ格納制御手段は、前記記憶装置に格納された前記ブロックデータを参照すると共に当該ブロックデータを識別するブロック識別データと、当該ブロックデータの分割元であるファイルの属性を表す属性識別データと、を関連付けて前記記憶装置に記憶し、
前記重複判定手段は、前記記憶装置に格納された前記ブロックデータを参照する前記ブロック識別データに関連付けられた前記属性識別データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
ことを実現させるためのプログラム。
(付記11)
記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割したブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定し、
新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させると共に、
前記ブロックデータの重複判定の際に、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
データ格納方法。
(付記12)
付記11に記載のデータ格納方法であって、
新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納すると共に、当該格納したブロックデータに対応して生成された前記結合データに基づく情報を前記記憶装置に格納し、
前記ブロックデータの重複判定の際に、新たに格納する前記ブロックデータに対応して生成された前記結合データに基づく情報と前記記憶装置に記憶されている情報とに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
情報処理方法。
(付記13)
記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割したブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定し、
新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させると共に、
新たに格納する前記ブロックデータが重複しないと判定され、当該新たに格納する前記ブロックデータを前記記憶装置に格納した際に、当該記憶装置に格納された前記ブロックデータを参照すると共に当該ブロックデータを識別するブロック識別データと、当該ブロックデータの分割元であるファイルの属性を表す属性識別データと、を関連付けて前記記憶装置に記憶し、
前記ブロックデータの重複判定の際に、前記記憶装置に格納された前記ブロックデータを参照する前記ブロック識別データに関連付けられた前記属性識別データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
データ格納方法。
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
10 ストレージシステム
11 バックアップシステム
12 バックアップ対象装置
20 アクセラレータノード
30 ストレージノード
1 ファイル操作入力部
2 データ処理装置
21 ファイル操作実行部
22 使用物理容量管理部
3 記憶装置
31 FS構造記憶部
32 ブロックIDリスト記憶部
33 ブロック関連データ記憶部
34 ブロックデータ記憶部
35 ブロックIDマッピング記憶部
36 使用物理容量記憶部
31a ファイル
32a ブロックID
33a ブロック関連データ
34a ブロックデータ
35a マッピング情報

Claims (7)

  1. ファイルを分割したブロックデータが格納される記憶装置と、
    前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
    前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
    を備え、
    前記重複判定手段は、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行い、
    前記データ格納制御手段は、前記記憶装置に格納した前記ブロックデータを参照する参照データに、当該ブロックデータの分割元となるファイルの属性を表す前記属性識別データを関連付けると共に、当該参照データが参照する前記ブロックデータのデータサイズを表すサイズ情報を含めて前記記憶装置に格納し、
    さらに、
    前記参照データに関連付けられた前記属性識別データと、前記参照データに含まれる前記サイズ情報と、に基づいて、前記記憶装置内における前記属性毎の使用記憶容量を算出する記憶容量管理手段を備えた、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記データ格納制御手段は、前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納すると共に、当該格納したブロックデータに対応して生成された前記結合データに基づく情報を前記記憶装置に格納し、
    前記重複判定手段は、新たに格納する前記ブロックデータに対応して生成された前記結合データに基づく情報と前記記憶装置に記憶されている情報とに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
    ストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記データ格納制御手段は、前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納すると共に、当該格納したブロックデータに対応して生成された前記結合データのデータ内容の特徴を表す特徴データを生成して前記記憶装置に格納し、
    前記重複判定手段は、新たに格納する前記ブロックデータに対応して生成された前記結合データのデータ内容の特徴を表す特徴データを生成して、当該特徴データが前記記憶装置に記憶されているか否かに応じて、新たに格納する前記ブロックデータが重複するか否かの判定を行う、
    ストレージシステム。
  4. 請求項1乃至3のいずれかに記載のストレージシステムであって、
    前記データ格納制御手段は、前記参照データに、当該参照データが参照する前記ブロックデータが他のブロックデータとして参照されている数を表す被参照数を含めて前記記憶装置に格納し、
    前記記憶容量管理手段は、前記参照データに含まれる前記被参照数に基づいて、前記記憶装置内における前記属性毎の使用記憶容量を算出する、
    ストレージシステム。
  5. 請求項1乃至のいずれかに記載のストレージシステムであって、
    前記データ格納制御手段は、ファイルの前記属性として、ファイルを使用するユーザ、ファイルを使用するユーザが属する予め設定されたグループ、ファイルの管理を行うファイルシステム、ファイルの管理を行うファイルシステムが属する予め設定されたグループ、のうち、いずれかを用いる、
    ストレージシステム。
  6. ファイルを分割したブロックデータが格納される記憶装置に接続された情報処理装置に、
    前記記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定する重複判定手段と、
    前記重複判定手段にて新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、前記重複判定手段にて新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させる、データ格納制御手段と、
    を実現させると共に、
    前記重複判定手段は、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行い、
    前記データ格納制御手段は、前記記憶装置に格納した前記ブロックデータを参照する参照データに、当該ブロックデータの分割元となるファイルの属性を表す前記属性識別データを関連付けると共に、当該参照データが参照する前記ブロックデータのデータサイズを表すサイズ情報を含めて前記記憶装置に格納し、
    さらに、前記情報処理装置に、
    前記参照データに関連付けられた前記属性識別データと、前記参照データに含まれる前記サイズ情報と、に基づいて、前記記憶装置内における前記属性毎の使用記憶容量を算出する記憶容量管理手段を実現させるためのプログラム。
  7. 記憶装置に対してファイルを新たに格納する際に、当該新たに格納するファイルを分割したブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容であり、かつ、新たに格納するファイルの属性が前記記憶装置に既に記憶されているデータにて構成されるファイルの属性と同一である場合に、新たに格納する前記ブロックデータが重複すると判定し、
    新たに格納する前記ブロックデータが重複しないと判定された場合に、当該新たに格納する前記ブロックデータを前記記憶装置に格納し、新たに格納する前記ブロックデータが重複すると判定された場合に、前記記憶装置に既に記憶されているデータを新たに格納する前記ブロックデータとして参照させると共に、
    前記ブロックデータの重複判定の際に、前記ブロックデータと、当該ブロックデータの分割元となるファイルの予め設定された属性を識別する属性識別データと、を結合した結合データを生成し、当該結合データに基づいて、新たに格納する前記ブロックデータが重複するか否かの判定を行い、
    さらに、
    前記記憶装置に格納した前記ブロックデータを参照する参照データに、当該ブロックデータの分割元となるファイルの属性を表す前記属性識別データを関連付けると共に、当該参照データが参照する前記ブロックデータのデータサイズを表すサイズ情報を含めて前記記憶装置に格納し、
    前記参照データに関連付けられた前記属性識別データと、前記参照データに含まれる前記サイズ情報と、に基づいて、前記記憶装置内における前記属性毎の使用記憶容量を算出する、
    データ格納方法。
JP2012046676A 2012-03-02 2012-03-02 ストレージシステム Expired - Fee Related JP5929326B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012046676A JP5929326B2 (ja) 2012-03-02 2012-03-02 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012046676A JP5929326B2 (ja) 2012-03-02 2012-03-02 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2013182476A JP2013182476A (ja) 2013-09-12
JP5929326B2 true JP5929326B2 (ja) 2016-06-01

Family

ID=49273072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012046676A Expired - Fee Related JP5929326B2 (ja) 2012-03-02 2012-03-02 ストレージシステム

Country Status (1)

Country Link
JP (1) JP5929326B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803019B2 (en) 2014-07-02 2020-10-13 International Business Machines Corporation Hash-based multi-tenancy in a deduplication system
JP6052812B2 (ja) 2014-07-11 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上のファイルの管理、書き込み、及び読み出し方法
JPWO2016038714A1 (ja) * 2014-09-11 2017-04-27 株式会社東芝 ファイルシステム、データ重複排除方法、及びファイルシステムのためのプログラム
US10719483B2 (en) 2017-11-20 2020-07-21 International Business Machines Corporation Remote copy with data deduplication functionality

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199065A1 (en) * 2009-02-04 2010-08-05 Hitachi, Ltd. Methods and apparatus for performing efficient data deduplication by metadata grouping
JP5595701B2 (ja) * 2009-09-16 2014-09-24 株式会社日立製作所 ファイル管理方法及びストレージシステム

Also Published As

Publication number Publication date
JP2013182476A (ja) 2013-09-12

Similar Documents

Publication Publication Date Title
US11662936B2 (en) Writing data using references to previously stored data
JP5407430B2 (ja) ストレージシステム
JP5339432B2 (ja) ストレージシステム
US9043540B2 (en) Systems and methods for tracking block ownership
US20140297603A1 (en) Method and apparatus for deduplication of replicated file
KR102187127B1 (ko) 데이터 연관정보를 이용한 중복제거 방법 및 시스템
JP5650982B2 (ja) ファイルの重複を排除する装置及び方法
JP6094267B2 (ja) ストレージシステム
JP5929326B2 (ja) ストレージシステム
JP5517224B2 (ja) ストレージ装置
JP5660617B2 (ja) ストレージ装置
JP5459388B2 (ja) ストレージ装置
JP6269120B2 (ja) ストレージシステム
JP6281333B2 (ja) ストレージシステム
JP5891842B2 (ja) ストレージシステム
JP5998517B2 (ja) ストレージシステム
JP7491545B2 (ja) 情報処理方法
JP6201340B2 (ja) レプリケーションシステム
US10846005B2 (en) Method, apparatus and computer program product for determining ownership of a data segment
JP6343952B2 (ja) ストレージシステム
JP2023169514A (ja) 計算機システム、データの来歴の追跡方法、及びプログラム
JP2013206017A (ja) 記録システム、データ記録方法及びプログラム
JP2015158765A (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160418

R150 Certificate of patent or registration of utility model

Ref document number: 5929326

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees