説明

ストレージシステム

【課題】データ格納効率の低下を解決すること。
【解決手段】記憶対象データを記憶装置に記憶すると共に、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、上記記憶装置に記憶されている上記記憶対象データを、上記記憶装置から削除するデータ削除処理部と、を備える。そして、上記データ格納制御部は、既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときに、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する。さらに、上記データ削除処理部は、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステムにかかり、特に、格納したデータの内容に応じて格納位置を管理するコンテンツアドレス型のストレージシステムに関する。
【背景技術】
【0002】
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
【0003】
このような状況に応じて、近年では、例えば、特許文献1に示すような、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムが開発されている。
【0004】
図1に、コンテンツアドレスストレージシステムの構成の一例を示す。この図に示すように、ストレージシステム100は、複数のデータ格納部110と、コンテンツアドレスリスト120と、を有すると共に、重複排除機能部101と、分散冗長配置機能部102と、データ移動機能部103と、データ削除機能部104と、を備えている。このような構成を有するストレージシステム100は、それぞれつぎのように動作する。
【0005】
上記重複排除機能部101は、図2のフローチャートに示すような処理を行う。まず、データ格納が開始されると(ステップS101)、書き込まれたデータをチャンキングして、細かくブロックに分割する(ステップS102)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS103)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS104)。このとき、同一のハッシュ値が存在している場合には、かかるブロックが重複していると判断し(ステップS104:No)、当該重複しているブロックは格納しない。この場合には、重複している既に格納されているブロックのCAを取得して(ステップS106)、このCAを元に実ブロックにアクセス可能となる。
【0006】
一方で、同一のハッシュ値が存在していない場合には、かかるブロックは重複していないと判断し(ステップS104:Yes)、当該重複していないユニークなブロックを新規に格納する(ステップS105)。そして、ブロックを格納すると、当該ブロックのCA(Content Address)が得られ(ステップS106)、このCAを元に実ブロックにアクセス可能となる。なお、CAは、後述するように、ブロックのハッシュ値と論理格納位置を表す情報から構成される。そして、全てのブロックに対して上記処理を行う(ステップS107)。
【0007】
上記分散冗長配置機能部102は、図3に示すように、上記重複排除機能部101によってユニークと判断されたブロックを格納する処理を行う(ステップS111)。まず、ブロックを更に細かく、指定された数に分割する(ステップS112)。この更に細かく分割されたブロックを、それぞれフラグメントと呼ぶこととする。そして、フラグメントをもとに冗長フラグメントを作成して(ステップS113)、フラグメントと冗長フラグメントを分散して配置する(ステップS114)。このとき、フラグメントの格納位置とハッシュ値を用いて、ブロックのCAを生成する(ステップS115)。
【0008】
これによって、ディスク障害等が発生した場合でも冗長フラグメントが存在するため、元のブロックを復元できる。例えば、分割フラグメント:冗長フラグメント=9:3と指定する場合、ユニークなブロックは9個に分割され、更に3個の冗長フラグメントを加えた12個のフラグメントを分散して配置する。すると、ディスク障害などによって、失われたフラグメントが12個のうち3個までなら元のブロックを復元することができる。なお、分割フラグメント数と冗長フラグメント数の比は、データの種類によって選択可能であるとする。
【0009】
上記データ移動機能部103は、ブロックの移動を行う。例えば、ストレージシステム側の都合(例えば、そのストレージシステムが備える分散冗長配置機能等)によってブロックの移動を行う必要がある場合には、かかるデータ移動機能部103によってデータの移動を行う。
【0010】
ここで、図4を参照して、データAとデータBとが格納される際の一例を説明する。まず、データA、データBを、それぞれチャンキングによってブロックa,b,cとブロックc,d,eに分割する。このとき、ストレージシステム100が備える重複排除機能によって、ブロックcは一つだけ格納され、データAとデータBから参照されている。そして、ユニークなブロックはそれぞれフラグメントa1〜a9に分割され(符号A10参照)、さらに、冗長フラグメントa10〜a12が付加される(符号A20参照)。これらのフラグメントa1〜a12が分散して各データ格納部110へそれぞれ格納される。
【0011】
ここで、図5に、上述したコンテンツアドレスの構成要素の一例を示す。この図に示すように、コンテンツアドレス(CA)は、ブロックのハッシュ値とブロックの論理格納位置から決定されるものとする。なお、論理格納位置とは、ブロックを構成するフラグメントの代表的な物理位置とする。例えば、データAにおけるフラグメントa1の物理格納位置等である。つまり、他のフラグメントa2〜a12は、フラグメントa1に連動して格納されており、当該フラグメントa1の論理格納位置が分かれば他のフラグメントa2〜a12を参照可能であるとする。
【0012】
そして、上述したようなコンテンツアドレスストレージシステムでは、物理データを削除する際は、ある特殊な処理が必要である。つまり、実際に格納されているブロックは、複数のデータから共有されている可能性があるため、データ削除時に安易にブロックは削除できない。このため、ブロックを削除する場合は、全てのデータに関してどのブロックを使用しているのか、ということを確認して、使用されていないブロックを削除する。この作業は、上記データ削除機能部104によって、図7に示すような流れで行われている。
【0013】
具体的に、このストレージシステム100は、図6に示すような、使用されている各CAに「flag」が関連付けられたリストを持つ。そして、図7に示すように、まず、このリストの全コンテンツアドレス(CA)に対するフラグを0に初期化する(ステップS121)。その後、削除せずに格納されているデータを読み込み(ステップS122)、そのCAを確認する(ステップS123)。それぞれのCAに関してフラグを確認して(ステップS124)、フラグが0ならば1に変更する(ステップS126)。フラグが1ならばなにも行わない。そして、全てのデータのCAを確認後(ステップS125)、フラグが0のCAに対応するブロックのみを削除する(ステップS127)。
【0014】
図8に、データ削除の一例を示す。ここでは、図8の左側に示すように、データAとデータBの格納後、データBだけを削除する場合を考える。このとき、ブロックa,b,c,d,eに対応するCAを、それぞれCA1,CA2,CA3,CA4,CA5とする。まずCA1〜CA5のフラグは全て0となる。そして、削除せずに現時点で格納されているデータ、つまり、データAを読み込むと、当該データAを構成するブロックa,b,cに対応するCA1,CA2,CA3のフラグがそれぞれ1となり、CA4とCA5のフラグは0のままである。その後、図8の右側に示すように、フラグが0であるCA4とCA5に対応するブロック、すなわち、ブロックd,eを削除する。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開2005−235171号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
しかしながら、上述したようなストレージシステムが以下の構成である場合には、複数の形態で同一ブロックを格納してしまい、格納するデータ容量が増大してしまう、という問題があった。
(1)同一ストレージシステム内で、データの種類によって分割フラグメント数と冗長フラグメント数の比を変更した場合。
(2)ストレージシステムが持つ分散冗長配置機能によって、格納済みのブロックが移動する必要がある場合。
【0017】
上記(1)の場合について、図9を参照して詳述する。まず、データAとデータBが格納される場合を考える。このとき、データBに予め設定された冗長度が、データAに設定されている冗長度(例えば、冗長フラグメント数)に対して同等もしくは低い場合は、上述した図4に示すように、データBはデータAのブロックcを共有すればよい。なお、データの冗長度とは、例えば、データの種類や当該データの格納先などに応じて、利用者によって予め設定されたデータの重要度によって特定される。
【0018】
しかし、データBの方が、データAより高い冗長度で格納される場合には、ブロックcを共有すると冗長度が満たせなくなるため、当該ブロックcは共有できない。従って、図9に示すように、ブロックc’を新たに格納する必要がある。このような場合、同一のデータ内容であるにも関わらず、ブロックcとブロックc’が格納されることになる。
【0019】
上記処理の流れを図10に示す。まず、上述同様に、データ格納が開始されると(ステップS131)、書き込まれたデータをチャンキングして、細かくブロックに分割する(ステップS132)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS133)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS134)。このとき、同一のハッシュ値が存在し、ブロックが既に格納されていると判断した場合には(ステップS134:Yes)、格納済みのブロックの冗長度(重複度)と書き込もうとしているブロックの冗長度を比較する(ステップS135)。そして、書き込もうとしているブロックの冗長度が格納済みの同一ブロックと比べて高い場合は(ステップS136:Yes)、書き込もうとしているブロックを新規に格納する(ステップS137)。そして、上述同様に、格納したブロックのCA(Content Address)を取得する(ステップS138)。
【0020】
一方で、書き込もうとしているブロックの冗長度が格納済みの同一ブロックと比べて同一か低い場合は(ステップS136:No)、書き込もうとしているブロックは新規に書き込まずに、格納済みの同一ブロックを参照する(ステップS138)。そして、全てのブロックに対して上記処理を行う(ステップS139)。
【0021】
また、上述した(2)のブロックを移動する場合について、図11及び図12を参照して説明する。まず、データAが格納されているとき、ストレージシステム側の都合(例えば、そのストレージシステムが備える分散冗長配置機能等)によって、ブロックcの格納位置が移動するとする(ステップS141)。しかし、データAはブロックcを参照し続けるため、データAの参照先をブロックcからブロックc’に変更しない限りブロックcは消すことができない。そのため、図11に示すように、同一ブロックにも関わらずブロックcとブロックc’が存在することになる(ステップS142,S143)。
【0022】
以上説明したように、コンテンツアドレスストレージシステムにおいて、同一ブロックが複数格納される場合が生じ、データの格納効率が低くなる、という問題があった。
【0023】
このため、本発明の目的は、上述した課題である、データ格納効率の低下ということを解決するストレージシステムを提供することにある。
【課題を解決するための手段】
【0024】
かかる目的を達成するため本発明の一形態であるストレージ装置は、
記憶対象データを記憶装置に記憶すると共に、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
上記記憶装置に記憶されている上記記憶対象データを、上記記憶装置から削除するデータ削除処理部と、を備える。
そして、上記データ格納制御部は、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときに、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する。
さらに、上記データ削除処理部は、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
【0025】
また、本発明の他の形態であるストレージシステムは、
記憶装置と、
記憶対象データを記憶装置に記憶すると共に、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
上記記憶装置に記憶されている上記記憶対象データを、上記記憶装置から削除するデータ削除処理部と、を備える。
そして、上記データ格納制御部は、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときに、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する。
さらに、上記データ削除処理部は、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
【0026】
また、本発明の他の形態であるプログラムは、
情報処理装置に、
記憶対象データを記憶装置に記憶すると共に、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
上記記憶装置に記憶されている上記記憶対象データを、上記記憶装置から削除するデータ削除処理部と、を実現させるプログラムである。
そして、上記データ格納制御部は、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときに、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する。
さらに、上記データ削除処理部は、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
【0027】
また、本発明の他の形態であるデータ処理方法は、
記憶対象データを記憶装置に記憶し、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶すると共に、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときには、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
上記記憶装置に記憶されている上記記憶対象データを上記記憶装置から削除するときに、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
【発明の効果】
【0028】
本発明は、以上のように構成されることにより、記憶されるデータの信頼性を維持しつつ、データ格納効率の向上を図ることができる。
【図面の簡単な説明】
【0029】
【図1】本発明に関連するストレージシステムの構成を示すブロック図である。
【図2】図1に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。
【図3】図1に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。
【図4】図1に開示したストレージシステムにおけるデータ格納時の様子を示す説明図である。
【図5】コンテンツアドレスのデータ構造を示す図である。
【図6】図1に開示したストレージシステムに記憶されるCAリストのデータ構造を示す図である。
【図7】図1に開示したストレージシステムにおけるデータ削除時の動作を示すフローチャートである。
【図8】図1に開示したストレージシステムにおけるデータ削除時の様子を示す説明図である。
【図9】図1に開示したストレージシステムにおけるデータ格納時の様子を示す説明図である。
【図10】図1に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。
【図11】図1に開示したストレージシステムにおけるデータ移動時の様子を示す説明図である。
【図12】図1に開示したストレージシステムにおけるデータ移動時の動作を示すフローチャートである。
【図13】本発明の実施形態1におけるストレージシステムの構成を示すブロック図である。
【図14】図13に開示したストレージシステムに記憶された格納情報のデータ構造を示す図である。
【図15】図13に開示したストレージシステムに記憶されるCAリストのデータ構造を示す図である。
【図16】図13に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。
【図17】図13に開示したストレージシステムにおけるデータ格納時の様子を示す説明図である。
【図18】図13に開示したストレージシステムにおいて、図17に示すようにデータを格納した時における格納情報のデータ内容を示す図である。
【図19】図13に開示したストレージシステムにおいて、図17に示すようにデータを格納した時におけるCAリストのデータ内容を示す図である。
【図20】図13に開示したストレージシステムにおけるデータ移動時の動作を示すフローチャートである。
【図21】図13に開示したストレージシステムにおけるデータ移動時の様子を示す説明図である。
【図22】図13に開示したストレージシステムにおけるデータ削除時の動作を示すフローチャートである。
【図23】図13に開示したストレージシステムにおけるデータ削除時のCAリストのデータ内容を示す説明図である。
【図24】図13に開示したストレージシステムにおけるデータ削除時のCAリストのデータ内容を示す説明図である。
【図25】図13に開示したストレージシステムにおけるデータ削除時の格納情報のデータ内容を示す説明図である。
【図26】図13に開示したストレージシステムにおけるデータ移動時の様子を示す説明図である。
【図27】本発明における付記1におけるストレージシステムの構成の概略を示すブロック図である。
【発明を実施するための形態】
【0030】
<実施形態1>
本発明の第1の実施形態を、図13乃至図26を参照して説明する。図13は、ストレージシステムの構成を示すブロック図である。図14乃至図15は、ストレージシステムに格納されるデータの構造を示す図である。図16乃至図26は、ストレージシステムの動作を示す説明図である。
【0031】
[構成]
本発明におけるストレージシステム1は、コンテンツアドレスストレージシステムであり、基本的には、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定する、というものである。
【0032】
そして、図13に示すように、本実施形態におけるストレージシステム1は、演算装置と記憶装置とを備えたサーバコンピュータにて構成されている。また、ストレージシステム1は、装備された記憶装置に、複数のデータ格納部10を有すると共に、コンテンツアドレスリスト(CAリスト)20と格納情報30とを記憶している。また、ストレージシステム1は、装備された演算装置にプログラムが組み込まれることで構築された、重複排除機能部11と、分散冗長配置機能部12と、データ移動機能部13と、データ削除機能部14と、を備えている。以下、これら各構成について詳述する。
【0033】
なお、本発明におけるストレージシステムは、必ずしも図13に示す構成に限定されない。ストレージシステムは、複数台のコンピュータが接続されて構成されていてもよく、あるいは、単独のコンピュータにて構成されていてもよい。また、データ格納部10が形成されていたり、CAリスト20や格納情報30が記憶されている記憶装置は、外部に装備されていてもよい。
【0034】
上記重複排除機能部11と分散冗長配置機能部12は、協働して、記憶対象となるデータを複数のデータ格納部10に分散して格納する機能(データ格納制御部)を有する。例えば、記憶対象となるデータをチャンキングして、細かくブロックに分割し、各ブロックのハッシュ値をそれぞれ計算する。そして、そのハッシュ値を元に、既に格納されているブロックと比較して、同一のハッシュ値が存在している場合には、かかるブロックが重複していると判断し、当該重複しているブロックは格納しない。この場合には、重複している既に格納されているブロックのコンテンツアドレスCA(Content Address)を取得して、かかるCAの格納位置を参照することで、実ブロックにアクセス可能となる。
【0035】
一方で、同一のハッシュ値が存在していない場合には、かかるブロックは重複していないと判断し、当該重複していないユニークなブロックを新規に格納するそして、ブロックを格納すると、当該ブロックのコンテンツアドレスCA(Content Address)が得られ、このCAを元に実ブロックにアクセス可能となる。なお、CAは、ブロックのハッシュ値と論理格納位置から構成される。
【0036】
そして、上記重複排除機能部11及び分散冗長配置機能部12では、上述したようにデータを格納する際に、格納した各データを識別するための識別情報とCAとを対応付けて格納情報30に記憶する。図14に格納情報30の一例を示す。この図に示すように、例えば、データ1を3つのブロックに分割した場合には、各ブロックを特定する識別情報と、かかる各ブロックのCAとを関連付けて記憶する。これにより、データ1を読み出す際には、当該データ1を分割したブロックの識別情報に対応付けられているCAが参照する格納位置から実ブロックを読み出すことで、データ1を読み出すことができる。
【0037】
また、本実施形態における上記重複排除機能部11及び分散冗長配置機能部12では、上述したようにデータを格納する際に、各ブロックの格納位置を表すCAを、別途、CAリスト20に記憶する機能を有する。具体的にCAリスト20は、図15に示すように、各CAに関連付けて、「updated CA」欄と、「flag」欄が設けられている。なお、各欄に記憶されるデータについては後述する。
【0038】
さらに、本実施形態における上記重複排除機能部11及び分散冗長配置機能部12では、上述したようにデータを格納する際に、既に同一ブロックがデータ格納部10に格納されている場合であっても、当該同一のデータ内容のブロックを、別途、データ格納部10に格納する場合がある。例えば、上述したように、既に記憶されているブロックに設定されている冗長度(重要度)よりも、新たに記憶する同一内容のブロックに予め設定されている冗長度(重要度)の方が高い場合には、当該新たに記憶するブロックを、別途、データ格納部10に格納する。このとき、CAリスト20内において、新たに記憶したブロックのCAを、同一内容の既に記憶されているブロックのCAに関連付けられている「updated CA」欄に記憶する。
【0039】
なお、上述したデータの冗長度(重要度)とは、例えば、データをフラグメント化するときに付加された冗長フラグメントの数に応じた値であり、データの種類や当該データの格納先などに応じて、利用者によって予め設定された値となる。但し、データの重要度とは、必ずしもデータの冗長度によって決定されることに限定されない。
【0040】
また、上記データ移動機能部13は、既にデータ格納部10に格納されているデータを、他の格納位置に移動する機能(データ格納制御部)を有する。そして、データ移動機能部13がブロックを移動する際には、移動元のブロックを残しつつ、移動先に別途、同一のデータ内容のブロックを複製して格納する。このとき、データ移動機能部13は、CAリスト20内において、移動先の新たに記憶したブロックのCAを、同一内容の既に記憶されている移動元のブロックのCAに関連付けられている「updated CA」欄に記憶する。
【0041】
また、データ削除機能部14(データ削除処理部)は、データ格納部10に格納されているブロックを削除する。特に、本実施形態においては、上述したように、同一のデータ内容のブロックが存在している場合に、このうち最も有効なブロックのみを残し、1つは削除して、データの格納効率を向上させる。
【0042】
具体的に、データ削除機能部14は、データ削除時に、CAリスト20内から削除対象とはなっていない残されるブロックのCA(CAa)に関連付いている「update CA」欄を読み取る。そして、「update CA」欄にCA(CAb)の記載がある場合には、格納情報30内において、残されるブロックの識別情報に対応付いているCA(CAa)を、「update CA」欄のCA(CAb)に書き換える。これにより、残されるブロックの参照先は、「update CA」欄に記載されていたCA(CAb)に変更され、かかるCAが表す格納位置に格納された実ブロックが参照されることとなる。従って、残されるはずのブロックのCA(CAa)にて表される格納位置に格納された実ブロックは、どのブロックからも参照されていない状態となるため、かかる実ブロックをデータ格納部10から削除することができる。上記データ削除機能部14の詳細な機能については、以下の動作説明時に説明する。
【0043】
なお、上述したデータ削除機能部14では、複数格納されている同一ブロックのうち一方を削除するよう作動するものであるが、同一ブロックが複数格納される場合とは、上述した2パターンに限定されるものではない。つまり、データ削除機能部14は、冗長度(重要度)が異なるブロックが格納される場合やブロックが移動される場合に複数格納された同一ブロックに対して作動することに限定されず、いかなる理由により複数格納された同一ブロックに対しても作動する。
【0044】
[動作]
次に、上述したストレージシステム1の動作を、図16乃至図26を参照して説明する。まずはじめに、データAとデータBとを格納するときの動作を、図16のフローチャート、及び、図17乃至図19を参照して説明する。なお、ここでは、データAとデータBとが格納される際の一例を説明する。
【0045】
まず、データAのデータ格納が開始されたとする(ステップS1)。すると、図17に示すように、書き込まれたデータAをチャンキングして、細かくブロックa,b,cに分割する(ステップS2)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS3)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS4)。なお、ステップS4からステップS6までの処理を、全てのブロックa,b,cに対して行う(ステップS7)。
【0046】
このとき、データAを構成するブロックa,b,cと同一のハッシュ値が存在していない場合には、かかるブロックは重複していないと判断し(ステップS4:No)、当該重複していないユニークなブロックを新規に格納する(ステップS5)。そして、ブロックを格納すると、当該ブロックのCA(Content Address)が得られ(ステップS6)、このCAを、各ブロックの識別情報に対応付けて、図18に示すように、格納情報30内に記憶する。ここでは、ブロックaにCA1、ブロックbにCA2、ブロックcにCA3をそれぞれ対応付けて記憶する。さらに、各CAは、図19に示すように、CAリスト内に記憶され、各CAには「updated CA」欄と「flag」欄とが関連付けられる。
【0047】
続いて、データBのデータ格納が開始されたとする(ステップS1)。すると、図17に示すように、書き込まれたデータBをチャンキングして、細かくブロックc,d,eに分割する(ステップS2)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS3)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS4)。
【0048】
このとき、データBのブロックc’のハッシュ値が存在しており、既に格納されているデータAのブロックcと同一のデータ内容であるとすると、かかるブロックが重複していると判断する(ステップS4:Yes)。この場合には、重複するブロックの冗長度(重要度)を比較する(ステップS8)。例えば、既に記憶されているデータにおける冗長度は、格納情報30内にデータやブロックに関連付けられて記憶されており、新たに記憶するデータにおける冗長度は、データの種類や格納先に応じて予め設定されている。そして、データBのブロックc’の冗長度が、既に格納されているデータAのブロックcの冗長度よりも高い場合には(ステップS9:Yes)、ブロックcとブロックc’とは同一のデータ内容ではあるが、図17に示すように、ブロックc’を別途記憶する(ステップS10)。
【0049】
そして、上述同様に、格納したブロックのCAを取得して(ステップS11)、このCAを、ブロックの識別情報に対応付けて、図18に示すように、格納情報30内に記憶する。ここでは、ブロックc’にCA3'を対応付ける。そして、CA3'は、図19に示すようにCAリスト20内に記憶され、このCAには「updated CA」欄と「flag」欄とが設けられる。さらに、このとき、CAリスト20には、図19に示すように、上記新たに記憶したブロックc’と同一内容のブロックcのCAであるCA1の「updated CA」欄に、ブロックc’のCAであるCA3'が記憶される(ステップS12)。
【0050】
なお、新たに書き込もうとしているブロックの冗長度が格納済みの同一ブロックと比べて同一か低い場合は(ステップS9:No)、書き込もうとしているブロックを新規に書き込まずに、格納済みの同一ブロックのCAを参照する(ステップS6)。
【0051】
そして、データBを構成する他のブロックd,eについても上述同様の処理を行う(ステップS7:No)。この場合には、同一ブロックが記憶されていないため(ステップS4:No)、そのまま格納する(ステップS5)。ブロックを格納すると、当該ブロックのCAが得られ(ステップS6)、このCAを、各ブロックの識別情報に対応付けて、図18に示すように、格納情報30内に記憶する。ここでは、ブロックdにCA4、ブロックeにCA5をそれぞれ対応付ける。さらに、各CAは、図19に示すように、CAリスト内に記憶され、各CAには「updated CA」欄と「flag」欄とが設けられる。
【0052】
以上により、異なる冗長度でデータAとデータBとを格納すると、図17に示すように、ブロックa,b,c,c’,d,eがデータ格納部10に格納され、各ブロックのCAは、それぞれCA1,CA2,CA3,CA3’,CA4,CA5となる。そして、格納情報30では、図18に示すように、各ブロックに対して各CAが対応付けられ、CAリスト20では、図19に示すように、CA3の「update CA」欄にCA3'が記載される。
【0053】
次に、データAのブロックcを移動したときの動作を、図20のフローチャート、及び、図21を参照して説明する。まず、データAが格納されているとき、ストレージシステム側の都合によって、ブロックcの格納位置が移動するとする(ステップS21)。このとき、データAはブロックcを参照し続けるため、データAの参照先をブロックcからブロックc’に変更しない限りブロックcは消すことができない。そのため、図21に示すように、同一ブロックにも関わらずブロックcのコピーを、他の格納位置にブロックc’として格納する(ステップS22)。
【0054】
その後、新たに格納したブロックc’のCAを取得し(ステップS23)、CAリスト20の移動元であるブロックcのCA3の「updated CA」欄を確認する(ステップS24)。そして、「updated CA」欄に別のCAが存在すれば、なにもしない(ステップS24:Yes)。一方、「update CA」欄になにも情報が存在しない場合には(ステップS24:No)、移動先のブロックc’のCA3'を「updated CA」欄に記載する(ステップS25)。
【0055】
なお、データ移動時に「updated CA」を上書きしないこととしているのは、上書きすると高い冗長度のCA情報を消去してしまうことがあるためである。上書きしないことで、同じブロックが数回移動しても、領域解放後に残るブロックは最初に移動されたブロックのみとなる。高い冗長度で格納された場合は上書きされるので、同一ブロックに対しては最も高い重複度で格納されたブロックのみが残る。
【0056】
次に、データを削除するときの動作を、図22のフローチャート、及び、図23乃至図26を参照して説明する。ここでは、上述したように、図17に示すようデータAとデータBを格納した状態から、データBを削除する場合を説明する。
【0057】
まず、CAリスト20内の全てのCAに関連付けられたフラグを、0(初期値)に初期化する(ステップS31)。これにより、図23に示すように、CA1,CA2,CA3,CA3’,CA4,CA5のフラグは、全て0となる。
【0058】
その後、現時点で格納されているデータ、つまり、削除される予定のデータBとは異なるデータAを読み込み(ステップS32)、そのデータのCA(CAa)を取得する(ステップS33)。ここでは、図18に示す格納情報30から、データAの各ブロックa,b,cのCAを、1つずつ取得する。
【0059】
そして、CAリスト20において、取得したCA(CAa)の「update CA」欄に他のCAの記載があるかどうかを確認する(ステップS34)。このとき、取得したCA(CAa)の「update CA」欄に他のCA(CAb)の記載がある場合には(ステップS34:Yes)、格納情報30において取得したCA(CAa)が対応付いているブロックの識別情報に、「update CA」欄の他のCA(CAb)を対応付けるよう変更する(ステップS35)。つまり、取得したCA(CAa)を参照しているブロックの参照先を、「update CA」欄に記憶されていたCA(CAa)から他のCA(CAb)に変更する。
【0060】
そして、さらに、CAリスト20において、変更した他のCA(CAb)の「flag」を調べ、その値が0(初期値)であれば(ステップS36:フラグ=0)、当該「flag」の値を1(他の値)に変更する(ステップS38)。一方で、上述したように格納情報30において変更されたCA(CAa)のCAリスト20における「flag」の値は、0(初期値)のままである。なお、変更した他のCA(CAb)の「flag」の値が1であれば(ステップS36:フラグ=1)、当該「flag」の値は1のままである。
【0061】
具体的に、例えば、データAのブロックcのCA3を取得した場合には、図23に示すように、CAリスト20において取得したCA3の「update CA」にCA3'の記載があるため、図25に示すように、格納情報30内においてCA3が参照するブロックcの参照先を、CA3からCA3'に変更する。つまり、図26に示すように、データAのブロックcの実ブロックが格納されている格納位置を表すCAを、CA3'に変更する。そして、さらに、図24に示すように、CAリスト20において、CA3'の「flag」の値を0から1に変更する。なお、CA3の「flag」の値は0のままである。
【0062】
そして、上述した処理を、現時点で格納されているデータAの他のブロックに対しても行う(ステップS37:No)。ここでは、データAの各ブロックa,bのCAを取得し(ステップS33)、取得したCAの「update CA」欄に他のCAの記載があるかどうかを確認する(ステップS34)。ブロックa,bについては、取得したCA(CA1,CA2)の「update CA」欄に他のCAの記載はないため(ステップS34:No)、単にそのCA(CA1,CA2)の「flag」を確認し、0(初期値)であれば(ステップS36:フラグ=0)、図24に示すように、その値を1に変更する(ステップS38)。
【0063】
そして、削除対象ではない全てのデータのブロックのCAに対する上記処理が完了したのちに(ステップS37:Yes)、CAリスト20を調べ、「flag」が0(初期値)であるCAに対応付いているブロックを削除する(ステップS39)。ここでは、図24に示すように、CA3,CA4,CA5の「flag」が0であるため、かかるCA3,CA4,CA5にて参照される格納位置のブロックc,d,eを削除する。
【0064】
以上により、図26に示すように、同一ブロックにも関わらず複数格納されていたブロックc,c’は、冗長度の高い最も有効なブロックc’のみを残しつつ、冗長度の低いブロックcを削除することができる。このとき、削除したブロックcに対するデータAの参照は、ブロックc’に変更されている。従って、データの信頼性を維持しつつ、同一内容の記憶対象データの重複記憶を抑制して、データ格納効率の向上を図ることができる。
【0065】
なお、上述したデータ削除処理は、冗長度が異なる同一ブロックが格納された場合に、一方のブロックを削除する場合のみならず、ブロックが移動して同一ブロックが複数格納された場合や、その他の理由により同一ブロックが複数格納された場合にも有効である。
【0066】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置50の構成の概略について図27を参照して説明する。また、本発明における、ストレージシステム、プログラム、データ処理方法の構成について説明する。但し、本発明は、以下の構成に限定されない。
【0067】
(付記1)
記憶対象データを記憶装置60に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部51と、
前記記憶装置60に記憶されている前記記憶対象データを、前記記憶装置60から削除するデータ削除処理部52と、を備え、
前記データ格納制御部51は、前記記憶装置60に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置60に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部52は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置60から削除する、
ストレージ装置。
【0068】
(付記2)
付記1に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
【0069】
上記発明によると、まず、ストレージ装置では、記憶対象データを記憶装置に記憶する際に、当該記憶対象データの格納位置を表すアドレスデータを設定して、当該アドレスデータと記憶対象データの識別情報とを対応付けて記憶する。なお、このとき、アドレスデータをリストに記憶しておく。これにより、既に記憶されている記憶対象データを読み出す際には、アドレスデータにて表される格納位置のデータを読み出すことで、当該記憶対象データを読み出すことができる。また、既に記憶されている記憶対象データと同一内容の他の記憶対象データを記憶する際には、当該他の記憶対象データの格納先を、既に記憶されている記憶対象データの格納位置を表すアドレスデータに設定することで、同一内容のデータを別途記憶する必要がない。従って、データの重複記憶を排除することができる。
【0070】
一方で、場合によっては、同一内容の記憶対象データを、重複して記憶装置に記憶する必要が生じることがある。かかる場合には、既に記憶されている記憶対象データの格納位置を表すアドレスデータに、後に記憶される同一内容の他の記憶対象データの格納位置を参照するアドレスデータを関連付けて、アドレスリストに記憶しておく。
【0071】
そして、その後、記憶装置に記憶されている記憶対象データを削除する場合には、リストに記憶されているアドレスデータに、他のアドレスデータが関連付けられているかどうか調べる。関連付けられている場合には、いずれか一方のアドレスデータにて表される格納位置に格納されている記憶対象データのみを記憶装置から削除する。これにより、同一内容の記憶対象データのうち、一方が記憶装置内に残るため、データの信頼性を維持しつつ、データの重複を排除することができる。
【0072】
特に、データ削除時には、一方のアドレスデータに対応付けられている記憶対象データの識別情報に、当該一方のアドレスデータに換えて他方のアドレスデータを対応付けた後に、一方のアドレスデータにて表される格納位置の記憶対象データを削除する。これにより、一方のアドレスデータに対応付けられていた識別情報にて特定される一方の記憶対象データが、他方のアドレスデータにて表される格納位置に格納されている同一内容の他方の記憶対象データを参照することとなる。すると、一方のアドレスデータにて表される格納位置に格納されていた一方の記憶対象データはもはや参照されていない状態となるため、かかるデータを削除することができる。
【0073】
以上により、データ削除時には、同一内容のデータが重複記憶されている場合であっても、削除されない記憶対象データの実データの参照先を、他の同一内容の記憶対象データの格納位置を参照するアドレスデータに変更設定することで、適切なデータを記憶装置に残すことができる。これにより、記憶されるデータの信頼性を維持しつつ、同一内容の記憶対象データの重複記憶を抑制することができ、データ格納効率の向上を図ることができる。
【0074】
(付記3)
付記2に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、当該削除対象となる記憶対象データとは異なる前記記憶対象データの格納位置を表す前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
【0075】
上記発明によると、データ削除時に、相互に関連付けられているアドレスデータのうち、削除しない記憶対象データの識別情報に対応付けられた一方のアドレスデータを、削除する予定の記憶対象データの格納位置を表す他方のアドレスデータに変更する。そして、その後、他方のアドレスデータにて表される格納位置に格納された記憶対象データは削除せずに残し、一方のアドレスデータにて表される格納位置に格納された記憶対象データを削除する。これにより、削除する記憶対象データの実データを削除されない記憶対象データとして入れ替えることができ、適切なデータを記憶装置に残すことができる。そして、その代わりに削除予定ではない記憶対象データの実データを削除することで、同一内容の記憶対象データの重複記憶を抑制することができる。
【0076】
(付記4)
付記3に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、当該変更された前記他方のアドレスデータに関連付けた前記フラグを他の値に設定すると共に、初期値である前記フラグが関連付けられた前記アドレスデータにて表された格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
【0077】
(付記5)
付記4に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記アドレスデータに関連付けた前記フラグを他の値に設定すると共に、前記異なる記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合には、前記一方のアドレスデータに関連付けた前記フラグは他の値に設定せず初期値のままとする、
ストレージ装置。
【0078】
(付記6)
付記1乃至5のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データに設定されている重要度に対して、当該既に格納されている記憶対象データと同一内容の他の記憶対象データに予め設定されている重要度が高い場合に、前記他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
【0079】
(付記7)
付記1乃至6のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データを他の格納位置に移動する場合に、当該既に記憶されている記憶対象データの複製である他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
【0080】
(付記8)
記憶装置と、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を備え、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージシステム。
【0081】
(付記9)
付記8に記載のストレージシステムであって、
前記データ格納制御部は、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージシステム。
【0082】
(付記10)
情報処理装置に、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を実現させると共に、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
プログラム。
【0083】
(付記11)
付記10に記載のプログラムであって、
前記データ格納制御部は、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
プログラム。
【0084】
(付記12)
記憶対象データを記憶装置に記憶し、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶すると共に、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときには、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するときに、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
データ処理方法。
【0085】
(付記13)
付記12に記載のデータ処理方法であって、
前記記憶対象データを記憶装置に記憶するときに、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記記憶対象データを削除するときに、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
データ処理方法。
【符号の説明】
【0086】
1 ストレージシステム
10 データ格納部
11 重複排除機能部
12 分散冗長配置機能部
13 データ移動機能部
14 データ削除機能部
20 CAリスト
30 格納情報
100 ストレージシステム
101 重複排除機能部
102 分散冗長配置機能部
103 データ移動機能部
104 データ削除機能部
110 データ格納部
120 コンテンツアドレスリスト


【特許請求の範囲】
【請求項1】
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を備え、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
【請求項2】
請求項1に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
【請求項3】
請求項2に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、当該削除対象となる記憶対象データとは異なる前記記憶対象データの格納位置を表す前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
【請求項4】
請求項3に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、当該変更された前記他方のアドレスデータに関連付けた前記フラグを他の値に設定すると共に、初期値である前記フラグが関連付けられた前記アドレスデータにて表された格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
【請求項5】
請求項4に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記アドレスデータに関連付けた前記フラグを他の値に設定すると共に、前記異なる記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合には、前記一方のアドレスデータに関連付けた前記フラグは他の値に設定せず初期値のままとする、
ストレージ装置。
【請求項6】
請求項1乃至5のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データに設定されている重要度に対して、当該既に格納されている記憶対象データと同一内容の他の記憶対象データに予め設定されている重要度が高い場合に、前記他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
【請求項7】
請求項1乃至6のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データを他の格納位置に移動する場合に、当該既に記憶されている記憶対象データの複製である他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
【請求項8】
記憶装置と、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を備え、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージシステム。
【請求項9】
情報処理装置に、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を実現させると共に、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
プログラム。
【請求項10】
記憶対象データを記憶装置に記憶し、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶すると共に、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときには、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するときに、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
データ処理方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2011−159142(P2011−159142A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−20949(P2010−20949)
【出願日】平成22年2月2日(2010.2.2)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】