JP2017156931A - データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法 - Google Patents

データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法 Download PDF

Info

Publication number
JP2017156931A
JP2017156931A JP2016038803A JP2016038803A JP2017156931A JP 2017156931 A JP2017156931 A JP 2017156931A JP 2016038803 A JP2016038803 A JP 2016038803A JP 2016038803 A JP2016038803 A JP 2016038803A JP 2017156931 A JP2017156931 A JP 2017156931A
Authority
JP
Japan
Prior art keywords
data
media
medium
data block
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016038803A
Other languages
English (en)
Other versions
JP6634886B2 (ja
Inventor
聡 岩田
Satoshi Iwata
聡 岩田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016038803A priority Critical patent/JP6634886B2/ja
Priority to US15/435,376 priority patent/US10365853B2/en
Publication of JP2017156931A publication Critical patent/JP2017156931A/ja
Priority to US16/436,168 priority patent/US10866758B2/en
Application granted granted Critical
Publication of JP6634886B2 publication Critical patent/JP6634886B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】容量効率の低下を抑えながらメディアの交換回数を削減する。【解決手段】第1記憶装置3に記憶されたデータを保存する複数の媒体62を含む第2記憶装置6を制御する際、複数の媒体62のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出し、算出された前記割合に基づいて、各データブロックが複製対象であるか否かを判断し、複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体62のうちの前記二以上の媒体以外の他媒体に保存する。【選択図】図10

Description

本発明は、データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法に関する。
近年、データ量の増大に伴い、ストレージにかかるコストの増大が問題になっている。そこで、当該コストを削減するために注目されているのが、コールドストレージである。コールドストレージとは、性能を犠牲にして低価格を実現したストレージで、例えば、テープストレージや光ディスクストレージである。テープストレージや光ディスクストレージは、ライブラリ装置として捉えることができる。
このようなコールドストレージは、ストレージシステムにおいて、ホットストレージと併用される。ホットストレージは、高性能であるが高コストのストレージで、例えば、Solid State Drive(SSD)やHard Disk Drive(HDD)である。このようなストレージシステムにおいて、時間が経過してアクセス頻度の低くなったデータは、ホットストレージからコールドストレージへ移動される。
SSDやHDDでは、データが保存されるメディアと当該メディアに対する書込み/読出しアクセスを行なうドライブとが一体となって実装されている。このため、SSDやHDDでは、メディアに対するデータの読み書き要求が発生した場合、直ちにメディアに対するデータの読み書きを開始することができる。
これに対し、テープストレージや光ディスクストレージは、メディアに対する書込み/読出しアクセスを行なう際、アクセス対象のメディアをドライブに挿入する。ここで、テープストレージにおけるメディアは、例えば磁気テープであり、光ディスクストレージにおけるメディアは、例えば光ディスクである。なお、以下では、「メディア」を「媒体」と記載する場合がある。
つまり、テープストレージや光ディスクストレージでは、メディアとドライブとが分離され、ドライブ数を削減することで低コスト化が実現されている。このようなテープストレージや光ディスクストレージでは、メディアは、ストレージ筐体内の棚に保管され、ドライブは、ストレージ筐体内に、少数、設置される。そして、メディアへのアクセスを行なう場合、マガジンキャリア(ロボット)がアクセス対象のメディアをドライブへ搬送する。ストレージシステムの規模にもよるが、ドライブに挿入されるメディアの交換には、分単位の時間を要する。
したがって、テープストレージや光ディスクストレージ等のコールドストレージにおいて、メディアにおけるデータに対するアクセスに要する時間を最小化するには、続けてアクセスされる一連のデータを、できるだけ同一メディア内に配置することが望ましい。
例えば、読出しに2分を要する一連のデータが半分ずつメディア#0とメディア#1とに分割保存されている場合、当該一連のデータをメディア#0及びメディア#1から全て読み出すためには以下の時間を要する。つまり、ドライブにおけるメディアの交換に要する時間を2分とすると、メディア#0をドライブに挿入するために2分、メディア#0からのデータ読出しに1分、メディア#1をドライブに挿入するために2分、メディア#1からのデータ読出しに1分をそれぞれ要する。このため、一連のデータの取得には合計で6分を要する。一方、同量のデータが一つのメディア#2に保存されている場合、メディア#2をドライブに挿入するために2分、メディア#2からのデータ読出しに2分をそれぞれ要し、一連のデータの取得に要する時間は4分に短縮される。
特開2004−334969号公報 特開2005−322099号公報 特開昭60−49431号公報 特開平10−187505号公報
Grawinkel et al., Analysis of the ECMWF Storage Landscape, In Proc. of the 13th USENIX Conference on File and Storage Technologies, 2015 Gharaibeh et al., DedupT: Deduplication for Tape Systems, In Proc. of the 30th IEEE International Conference on Massive Storage Systems and Technology, 2014
上述のようなコールドストレージにおいて、メディアに対するアクセスに要する時間を短縮するために、容量効率の低下を抑えながらメディアの交換回数を削減することは、重要な課題になっている(非特許文献1参照)。なお、データの重複排除を行なうシステムにおいて、メディア間での重複排除を行なわないようにすることで、データ取得時のメディア交換回数を削減する手法(非特許文献2参照)も提案されているが、この手法はあくまでも重複排除利用時に特化した手法であり、本件が対象とするデータ利用方法には対応できない。
一つの側面では、本件明細書に開示の発明は、容量効率の低下を抑えながらメディアの交換回数を削減することを目的とする。
本件のデータ記憶装置は、第1記憶装置に記憶されたデータを保存する複数の媒体を有するとともに、算出部、判断部、及び複製部を有する。前記算出部は、前記複数の媒体のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出する。前記判断部は、前記算出部によって算出された前記割合に基づいて、前記各データブロックが複製対象であるか否かを判断する。前記複製部は、前記判断部によって前記複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の他媒体に保存する複製部と、を有する。
容量効率の低下を抑えながらメディアの交換回数を削減することができる。
二つのデータ取得軸を有するデータについてのデータブロックの分類例を示す図である。 図1に示すデータブロックについてデータ取得軸ABに対して適切なデータ配置例を示す図である。 図1に示すデータブロックについてデータ取得軸XYに対して適切なデータ配置例を示す図である。 時間軸に沿って連続するログデータを生成順にメディアに保存する際のデータ配置例を示す図である。 第1実施形態によるデータ配置の概要を説明する図である。 第1実施形態によるデータ配置の概要を説明する図である。 第2実施形態によるデータ配置の概要を説明する図である。 第2実施形態によるデータ配置の概要を説明する図である。 第3実施形態によるデータ配置の概要を説明する図である。 本実施形態のストレージシステムの構成例を示すブロック図である。 本実施形態のデータ記憶装置のハードウエア構成例及び機能構成例を示すブロック図である。 第1実施形態の第1テーブルの例を示す図である。 第1実施形態の第2テーブルの例を示す図である。 第1実施形態の第3テーブルの例を示す図である。 第1実施形態の第4テーブルの例を示す図である。 第1実施形態の移送プログラムによる動作を説明するフローチャートである。 第1実施形態のデータ記憶装置制御プログラムによる動作を説明するフローチャートである。 第1実施形態の複製対象の決定動作の一例を説明するフローチャートである。 第1実施形態の複製対象の決定動作の他例を説明するフローチャートである。 第1実施形態のメディアへのデータ書込み動作を説明するフローチャートである。 第1実施形態のメディアからのデータ取得動作を説明するフローチャートである。 あるデータ取得軸についてのサンプルデータに対して第1実施形態を適用した場合の、容量効率と応答時間短縮率との関係を示す図である。 あるデータ取得軸についてのサンプルデータの種類ごとの割合を示す図である。 第2実施形態のデータ記憶装置制御プログラムによる動作を説明するフローチャートである。 第2実施形態の第1テーブルの例を示す図である。 第2実施形態の第2テーブルの例を示す図である。 第2実施形態の第3テーブルの例を示す図である。 第2実施形態の第4テーブルの例を示す図である。 第3実施形態の第5テーブルの例を示す図である。 第3実施形態のデータ記憶装置制御プログラムによる動作を説明するフローチャートである。
以下に、図面を参照し、本願の開示するデータ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法の実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔1〕本願技術の概要
以下の説明においては、HDD,SSD等のホットストレージ(第1記憶装置)に記憶されたデータが、テープストレージ,光ディスクストレージ等のコールドストレージ(第2記憶装置)に保存される場合について説明する。
当該データには、例えば、第1次元情報(例えば時間)に対応するデータA,B,C,…が含まれるとともに、第2次元情報(例えば位置,ログデータ)に対応するデータX,Y,Z,…が含まれる。データA及びBは、それぞれ第1次元情報の第1分類データA及び第2分類データBと称されてもよい。データX及びYは、それぞれ第2次元情報の第1分類データX及び第2分類データYと称されてもよい。
ホットストレージやコールドストレージに保存されるデータ(以下、保存データという)を分類または取得する際に注目(着目)する次元情報は、データ取得軸と称されてもよい。上記第1次元情報に注目する場合のデータ取得軸はデータ取得軸ABと表記され、上記第2次元情報に注目する場合のデータ取得軸はデータ取得軸XYと表記されてもよい。
また、ここでは、ホットストレージやコールドストレージに保存されるデータは、図1に示すような4つのパターン(4つのデータブロック)に分類できる場合について説明する。図1は、二つのデータ取得軸AB及びXYを有するデータについてのデータブロックの分類例示す図である。図1に示す例において、保存データは、第1データブロックAX,第2データブロックAY,第3データブロックBX,及び第4データブロックBYに分類される。
第1データブロックAXは、第1次元情報の第1分類データAとして分類されるとともに第2次元情報の第1分類データXとして分類されるデータ群である。第2データブロックAYは、第1次元情報の第1分類データAとして分類されるとともに第2次元情報の第2分類データYとして分類されるデータ群である。
同様に、第3データブロックBXは、第1次元情報の第2分類データBとして分類されるとともに第2次元情報の第1分類データXとして分類されるデータ群である。第4データブロックBYは、第1次元情報の第2分類データBとして分類されるとともに第2次元情報の第2分類データYとして分類されるデータ群である。
さて、一つのデータ取得軸のみに注目して、同時に取得される可能性のあるデータを同一メディア内に配置するだけでは、別のデータ取得軸に対応することができない場合がある。
例えば、データ取得軸ABに注目してデータを取得する場合には、図2に示すようにデータブロックをメディア#0及び#1に配置する。これにより、データAを含むデータブロックAX及びAYを取得する場合も、データBを含むデータブロックBX及びBYを取得する場合も、メディア交換を行なうことなく、必要なデータブロックを取得することができる。なお、図2は、図1に示すデータブロックについてデータ取得軸ABに対して適切なデータ配置例を示す図である。図2に示す例では、メディア#0にデータブロックAX及びAYが保存され、メディア#1にデータブロックBX及びBYが保存される。
これに対し、例えば、もう一方のデータ取得軸XYに注目してデータを取得する場合、図2に示す配置では、以下のごとく、メディア#0からメディア#1の交換が発生する。つまり、データXを含むデータブロックAX及びBXを取得する場合も、データYを含むデータブロックAY及びBYを取得する場合も、両方のメディア#0及び#1にアクセスする必要が生じ、メディア交換が発生する。
データ取得軸XYに注目したデータ取得を優先すると、適切なデータ配置は、図3に示す配置となる。しかし、図3に示す配置では、データ取得軸ABに着目したデータ取得の際、データAを取得する場合もデータBを取得する場合も、メディア交換が発生する。このように、データ取得は必ずしも一つのデータ取得軸のみに着目して行なわれるとは限らず、複数のデータ取得軸に着目してもメディア交換を行なうことなくデータ取得を可能にするデータ配置が望まれる。
なお、図3は、図1に示すデータブロックについてデータ取得軸XYに対して適切なデータ配置例を示す図である。図3に示す例では、メディア#2にデータブロックAX及びBXが保存され、メディア#3にデータブロックAY及びBYが保存される。
一方、メディアの境界あるいは境界近傍に保存されているデータを取得する際には、取得するデータの量が少ないにも関わらず、メディア交換が発生する場合がある。
ここで、例えば、ログデータのようにデータを保存する順序とデータを取得する順序とが一致するようなユースケースについて考える。ログデータは、時刻や順序に関する情報(一の次元情報)が重要であることが多く、当該情報を維持するために、生成された順序で保存される。
つまり、例えば図4に示すように、メディア#4には、一日目のログデータが時刻00:00から時刻24:00まで順番に保存され、メディア#5には、二日目のログデータが時刻00:00から時刻24:00まで順番に保存される。なお、図4は、時間軸に沿って連続するログデータを生成順にメディア#4及び#5に保存する際のデータ配置例を示す図である。
そして、データをメディアから取得する際(読み出す際)には、障害の原因究明のために障害発生時刻近辺のログデータを調査する場合や、ログデータから統計情報を算出するために一日や一週間など所定時間範囲のログデータを調査する場合がある。つまり、障害発生時刻近辺や所定時間範囲における、時間的に連続したログデータをまとめて取得することが多い。
上述のようなデータ取得手法において、例えば、図4に示すデータ配置から2時間分のデータを取得する場合について考える。このとき、一日目の時刻0:00〜2:00のデータ、一日目の時刻12:00〜14:00のデータ、あるいは二日目の時刻19:00〜21:00のデータであれば、メディア交換を行なうことなく、一つのメディアから取得可能である。しかし、一日目23:00〜二日目1:00のように時刻24:00 (0:00)を跨いでデータを取得したい場合には、取得対象のデータが二つのメディアに跨るため、メディア交換が発生する。
〔1−1〕第1実施形態によるデータ配置の概要
第1実施形態(後述)によるデータ配置方法は、図2に示す配置と図3に示す配置とのどちらか一方だけを採用するのではなく、図2に示す配置と図3に示す配置との両方を採用し、保存データを複製して両方の配置方式で保存する。その上で、データ取得時(データ読出し時)には、データ取得軸ABに着目したデータ取得を行なうか、データ取得軸XYに着目したデータ取得を行なうかに応じて、つまり、データ取得時に着目するデータ取得軸に応じて、データ取得対象のメディアを選択する。例えば、データ取得軸ABに着目する場合、図2に示す配置のメディア#0,#1が選択され、データ取得軸XYに着目する場合、図3に示す配置のメディア#2,#3が選択される。
ただし、単純に上記両方の配置方式でデータを保存すると、全てのデータについて複製を行なうことになり、保存データの量が2倍、つまり容量効率が1/2=50%になってしまう。
そこで、第1実施形態によるデータ配置方法は、応答時間短縮率(相対短縮時間)に着目し、応答時間短縮率と相関のある、全体に占める割合の小さなデータのみを複製する。これにより、容量効率の低下を最低限に抑えつつ、相対的に大幅なデータ取得時間の短縮が実現される。
例えば図5に示すように、データXが全データに占める割合が小さくない場合(図5では50%)、データXを含むデータブロックAX,BXの複製は作成されない。例えば図6に示すように、データXが全データに占める割合が小さい場合(図6では5%)、データXを含むデータブロックAX,BXの複製が作成されて例えばメディア#2に保存される。
なお、図5及び図6に示す例においては、データYが全データに占める割合は小さくないので(図5では50%、図6では95%)、データYを含むデータブロックAY,BYの複製は作成されない。また、図5及び図6は、第1実施形態によるデータ配置の概要を説明する図である。特に、図5は、データXが各メディア#0,#1の50%を占める場合のデータ配置例を示し、図6は、データXが各メディア#0,#1の5%を占める場合のデータ配置例を示す。
このように、第1実施形態のデータ配置方法によれば、応答時間短縮率(相対短縮時間)に注目して割合の小さいデータブロックのみを複製することで、バランスの良い容量効率とデータ取得時間とを達成することができる。つまり、データの複製を適切に配置することで、容量効率の低下を抑えながらメディアの交換回数を削減することができ、相対的に大きな応答時間の短縮、ひいてはデータ取得に要する時間の短縮を実現することができる。
例えば、図5に示すように、着目データXが各メディア#0,#1内の50%を占めているものとする。通常、一つのメディア内の全データを読み込む(読み出す)ためには数時間を要するが、ここでは仮に60分を要するものとする。また、メディア交換に要する時間を2分とする。このとき、図5の左側に示すデータ配置(データブロック#0及び#1)からデータXの全て(データブロックAX及びBX)を読み込むのに要する時間は、
[ドライブのメディアをメディア#0に交換する時間2分]
+[メディア#0からデータブロックAXを読み込む時間30分]
+[ドライブのメディアをメディア#1に交換する時間2分]
+[メディア#1からデータブロックBXを読み込む時間30分]
の計64分になる。
一方、図5の右側に示すデータ配置(メディア#2)からデータXの全て(データブロックAX及びBX)を読み込むのに要する時間は、
[ドライブのメディアをメディア#2に交換する時間2分]
+[メディア#2からデータブロックAX及びBXを読み込む時間60分]
の計62分になる。つまり、図5の左側に示すデータ配置に対し、図5の右側に示すデータ配置では、メディア交換を1回減らすことができ、読込み時間を2分だけ短縮することができる。
しかし、64分から62分への短縮を応答時間短縮率にすると、2/64×100=約3%であり、当該短縮は小さな改善である。さらに、図5に示すデータ配置では、メディア一つ分のデータ(データブロックAX,BX)を複製するので、大量のデータの複製を行なうことになり、容量効率は2/3×100=約66.6%と大きく低下する。なお、容量効率は、格納すべきデータの量の、当該格納すべきデータについて実際にストレージで用いられる容量に対する割合である。
これに対し、図6に示すように、着目データXが各メディア#0,#1内の5%を占めているものとする。このとき、図6の左側に示すデータ配置(データブロック#0及び#1)からデータXの全て(データブロックAX及びBX)を読み込むのに要する時間は、
[ドライブのメディアをメディア#0に交換する時間2分]
+[メディア#0からデータブロックAXを読み込む時間3分]
+[ドライブのメディアをメディア#1に交換する時間2分]
+[メディア#1からデータブロックBXを読み込む時間3分]
の計10分になる。
また、図6の右側に示すデータ配置(メディア#2)からデータXの全て(データブロックAX及びBX)を読み込むのに要する時間は、
[ドライブのメディアをメディア#2に交換する時間2分]
+[メディア#2からデータブロックAX及びBXを読み込む時間6分]
の計8分になる。つまり、図5の左側に示すデータ配置に対し、図5の右側に示すデータ配置では、メディア交換を1回減らすことができ、読込み時間を2分だけ短縮することができる。
つまり、図5に示すデータ配置でも、図6に示すデータ配置でも、短縮時間は2分であるが、図6に示すデータ配置による応答時間短縮率は、2/10×100=20%となり、図5に示すデータ配置に比べて大きくなる。また、図6に示すデータ配置での容量効率は、2/2.1×100=約95.2%であり、図6に示すデータ配置による容量効率の低下は約4.8%であり、図5に示すデータ配置による容量効率の低下50%に比べればさほど大きくない。このように、全体に占める割合が小さなデータ(上述の例ではデータX)ほど、複製による容量効率の低下が抑えられ、かつ、メディア交換回数の削減に伴うデータ取得時間の相対的な短縮効果が大きくなる。
〔1−2〕第2実施形態によるデータ配置の概要
第2実施形態(後述)によるデータ配置方法は、元々、信頼性向上のために作成された複製を利用し、各メディアでのデータ配置を工夫することで、容量効率を低下させることなくメディア交換回数の削減を実現する。
ストレージにおいては、機器故障時のデータ消失を回避するため、複製を作成して他の機器(媒体)に保存する場合がある。例えば図7に示すように、メディア#0,#1に保存されるデータブロックの複製が作成されそれぞれメディア#2,#3に保存される。このようにデータの複製を作成して保存することで、一方のメディアが故障してもデータが消失することはない。ただし、図7に示す例では、メディア#0,#1におけるデータ配置と複製を保存するメディア#2,#3におけるデータ配置とは同じであり、いずれもデータ取得軸ABに対して適切なデータ配置になっている。
これに対し、後述する第2実施形態によるデータ配置方法は、例えば、図8に示すように、元々信頼性向上のために作成される複製を、メディア#0,#1で配慮されたデータ取得軸ABとは異なる、もう一方のデータ取得軸XYに配慮して、メディア#2,#3に配置する。
なお、図7及び図8は、第2実施形態によるデータ配置の概要を説明する図である。特に、図7は、一般的な複製方法による各メディア#0〜#3におけるデータ配置例を示す。また、図8は、メディア#0,#1の複製を、メディア#0,#1で配慮するデータ取得軸ABと異なるデータ取得軸XYに配慮して、メディア#2,#3に配置した際のデータ配置例を示す。
このように、第2実施形態のデータ配置方法によれば、異なる二つの配置(第1配置及び第2配置)でデータを保持することができ、図8に示すように、二つのデータ取得軸AB,XYの両方のそれぞれに対して、最適なデータ配置を提供することができる。このため、メディアの交換回数を削減することができ、データ取得に要する時間の短縮を実現することができる。
このとき、元々、信頼性向上のために作成される複製を用いるので、メディア交換回数削減のための容量効率の低下は生じることがない。つまり、信頼性向上のための複製の配置方法を変更することで、容量効率の低下を伴わずにデータ取得時間を短縮することができる。また、複製を利用することで、一回のメディア故障であればデータの消失を回避することができるため、複製による本来の信頼性向上という目的も達成することができる。
〔1−3〕第3実施形態によるデータ配置の概要
第3実施形態(後述)によるデータ配置方法は、図4を参照しながら前述したメディア交換の発生を抑制すべく、例えば図9に示すように、先行メディア#4の最後部のデータ(一日目の時刻22:00〜24:00)の複製を作成し、その複製を次の後続メディア#5に配置する。後続メディア#5には、一日目の時刻22:00から二日目の時刻22:00までの24時間分のデータが保存される。後続するデータが存在する場合には、同様に、後続メディア#6(図示略)に、二日目の時刻20:00から三日目の時刻20:00までの24時間分のデータが保存される。なお、図9は、第3実施形態によるデータ配置の概要を説明する図である。
このように、第3実施形態のデータ配置方法によれば、ログデータのごとく時間的に連続するデータを複数のメディアに保存する際、先行メディアの最後部のデータが後続メディアの最前部(先頭)に重複して保存される。つまり、ログデータのごときデータを保存する際、図4に示すデータ配置に代えて、図9に示すデータ配置が用いられる。
これにより、データの生成時刻によるデータ取得時間の不公平を緩和することができ、バランスの良い容量効率やデータ取得時間の短縮を実現することができる。具体的に図9に示す例において、境界時刻(所定境界)24:00を跨る、一日目の時刻23:00から二日目の時刻1:00までの2時間分のデータを、メディア交換を行なうことなく、メディア#5から取得することが可能になる。
〔2〕本実施形態のストレージシステムの構成
まず、図10を参照しながら、本実施形態のストレージシステム1の構成について説明する。図10は、本実施形態のストレージシステム1の構成例を示すブロック図で、図10に示すように、本実施形態(第1〜第3実施形態)のストレージシステム1は、サーバ2、ホットストレージ3、及びデータ記憶装置4を有する。また、本実施形態のデータ記憶装置4は、サーバ5及びコールドストレージ(例えばライブラリ装置)6を含む。
サーバ(コンピュータ)2は、ホットストレージ3及びサーバ5と相互に通信可能に接続されるとともに、サーバ5を介してコールドストレージ6と相互に通信可能に、接続される。また、サーバ2は、データ利用プログラムP1を実行することで、ホットストレージ3及びコールドストレージ6のそれぞれにおけるデータに対してアクセスすること(つまり当該データを利用すること)が可能になっている。
ホットストレージ(第1記憶装置)3は、高性能であるが高コストのストレージ、例えばSSDやHDDである。
コールドストレージ(第2記憶装置)6は、性能は高くないが低コストのストレージ、例えばテープストレージや光ディスクストレージであり、一以上のドライブ61(図11参照)と、複数のメディア62(図11参照)とを含む。複数のメディア62は、ホットストレージ3に記憶されたデータを保存する複数の媒体の一例に相当する。メディア62は、例えばテープや光ディスクである。ドライブ61は、メディア62に対するアクセス(データの書込み/読出し)を行なう。ドライブ61には、マガジンキャリア(図示略)によってアクセス対象のメディア62が搬送される。
サーバ2は、データ利用プログラムP1を実行することで、データの作成時刻や使用頻度に応じてホットストレージ3からコールドストレージ6へのデータ移送を行なう。なお、前記データ移送は、サーバ2が移送プログラムを実行することによって実現されてもよい。サーバ2によるデータ移送動作については、図16を参照しながら後述する。
サーバ2によりホットストレージ3からコールドストレージ6へ移送されるデータは、サーバ5における一時バッファ521に一時的に保持されてから、サーバ5によって一時バッファ521からコールドストレージ6のメディア62へ配置保存される。このとき、サーバ(コンピュータ)5は、データ配置プログラム(データ記憶装置制御プログラム)P2を実行することで、保存すべきデータの各データブロックのメディア62に対する適切な配置を実現する。各データブロックのメディア62に対する適切な配置方法については、第1〜第3実施形態において後述する。
なお、本実施形態では、サーバ2とコールドストレージ6との間に介在されるサーバ5上でデータ配置プログラムP2を実行することにより、各データブロックのメディア62に対する適切な配置が行なわれている。しかしながら、本発明は、これに限定されるものではなく、サーバ5を省略し、データ利用プログラムP1を実行するサーバ2上でデータ配置プログラムP2を実行することにより、各データブロックのメディア62に対する適切な配置が行なわれてもよい。
〔3〕本実施形態のデータ記憶装置のハードウエア構成及び機能構成
ついで、図11を参照しながら、本実施形態のデータ記憶装置4(特にサーバ5)のハードウエア構成及び機能構成について説明する。図11は、本実施形態のデータ記憶装置4(特にサーバ5)のハードウエア構成例及び機能構成例を示すブロック図である。
図11に示すように、本実施形態のサーバ(コンピュータ)5は、コールドストレージ6のメディア62に対するデータ配置制御を行なうもので、処理部51、記憶部52、入力部53、表示部54、及びインタフェース55を含む。処理部51、記憶部52、入力部53、表示部54、及びインタフェース55は、バス56を介して相互に通信可能に接続される。
処理部51は、サーバ5全体を制御する。処理部51は、単一のプロセッサであってもよいし、マルチプロセッサであってもよい。処理部51は、例えばCPU(Central Processing Unit),MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、処理部51は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
記憶部52は、前述した一時バッファ521用の領域を含むほか、処理部51による処理に必要な各種データを格納する。当該各種データとしては、例えば、第1テーブルT1、第2テーブルT2、第3テーブルT3、第4テーブルT4、及び第5テーブルT5が含まれるほか、プログラムなどが含まれる。プログラムとしては、処理部51に実行させるOS(Operating System)プログラムやアプリケーションプログラムが含まれてもよい。アプリケーションプログラムには、前述したデータ配置プログラム(データ記憶装置制御プログラム)P2が含まれてもよい。記憶部52としては、RAM(Random Access Memory)やHDDが用いられてもよいし、フラッシュメモリ等の半導体記憶装置(SSD)が用いられてもよい。第1〜第5テーブルT1〜T5については、第1〜第3実施形態において後述する。
処理部51に実行させるプログラムは、光ディスク,メモリ装置,メモリカード等の非一時的な可搬型記録媒体に記録されてもよい。可搬型記録媒体に格納されたプログラムは、例えば処理部51からの制御により、記憶部52にインストールされた後、実行可能になる。また、処理部51が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
なお、光ディスクは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスクとしては、Blu−ray(登録商標),DVD(Digital Versatile Disc),DVD−RAM,CD−ROM(Compact Disc Read Only Memory),CD−R(Recordable)/RW(ReWritable)等が挙げられる。メモリ装置は、機器接続インタフェース(図示略)との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリカードは、メモリリーダライタ(図示略)を介し処理部10に接続されてデータの書込/読出対象になる、カード型の非一時的な記録媒体である。なお、メディア62としての光ディスクも、ここで説明した光ディスクと同様のものである。
本実施形態の処理部51は、データ配置プログラムP2を実行することで、第1〜第3実施形態において詳述する、保存処理部511、算出部512、判断部513、及び複製部514としての機能を果たす。
入力部53は、例えば、キーボード及びマウスであり、ユーザによって操作され、処理部51に対する各種指示を行なう。なお、マウスに代え、タッチパネル,タブレット,タッチパッド,トラックボール等が用いられてもよい。
表示部54は、例えば、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等であり、処理部51による各種処理に係る情報を表示出力する。また、表示部54とともに、処理部51による各種処理に係る情報を印刷出力する出力部(図示略)が備えられてもよい。
インタフェース55は、サーバ5に接続されるサーバ2もしくはコールドストレージ6との間で、各種ネットワーク等を介してデータの送受信を行なう。
なお、サーバ2は、サーバ5と同様の処理部,記憶部,入力部,表示部,インタフェース,バス等のハードウエア構成を含んで構成されてよい。
〔4〕第1実施形態
以下、図5、図6、及び図12〜図23を参照しながら、第1実施形態について説明する。
〔4−1〕第1実施形態の機能構成
まず、第1実施形態において、処理部51がデータ配置プログラムP2を実行することで実現される、保存処理部511、算出部512、判断部513、及び複製部514としての機能について説明する。
保存処理部511は、ホットストレージ3に記憶されたデータを、コールドストレージ6の複数の媒体62に保存する。このとき、サーバ2によりホットストレージ3からコールドストレージ6へ移送されるデータは、一時バッファ521に一時的に保持されている。そして、保存処理部511は、一時バッファ521におけるデータをコールドストレージ6のメディア62へ配置保存する。
算出部512は、複数のメディア62のうちの二以上のメディア#0,#1(図5,図6参照)に保存されるデータについて複数の次元情報(時間,位置等)によって分類される各データブロックの、前記データに対する割合を算出する。
判断部513は、算出部512によって算出された割合に基づいて、各データブロックが複製対象であるか否かを判断する。このとき、判断部513は、前記割合が所定閾値(例えば10%)以下のデータブロックを複製対象であると判断する一方、前記割合が所定閾値を超えるデータブロックを複製対象でないと判断する(図5,図6,図18参照)。
複製部514は、判断部513によって複製対象であると判断されたデータブロックの複製を作成して複数のメディア62のうちの前記二以上のメディア#0,#1以外の他メディア#2に保存する。
ここで、例えば、図5及び図6の左側に示すごとく、保存処理部511によって、メディア#0(第1媒体)及びメディア#1(第2媒体)にデータブロックが保存される場合について説明する。つまり、メディア#0には、上述した第1データブロックAX及び第2データブロックAYが保存され、メディア#1には、上述した第3データブロックBX及び第4データブロックBYが保存される場合について説明する。
このとき、図5の左側に示す例において、算出部512は、データX(第1データブロックAX及び第3データブロックBX)が各メディアに占める割合として50%を算出する。当該割合50%は所定閾値10%よりも大きいので、判断部513は、第1データブロックAX及び第3データブロックBXはいずれも複製対象でないと判断する。したがって、データXを含む第1データブロックAX及び第3データブロックBXの複製は作成されない(図5の右側参照)。
同様に、図5の左側に示す例において、算出部512は、データY(第2データブロックAY及び第4データブロックBY)が各メディアに占める割合として50%を算出する。当該割合50%は所定閾値10%よりも大きいので、判断部513は、第2データブロックAY及び第4データブロックBYはいずれも複製対象でないと判断する。したがって、データYを含む第2データブロックAY及び第4データブロックBYの複製は作成されない(図5の右側参照)。
一方、図6の左側に示す例において、算出部512は、データX(第1データブロックAX及び第3データブロックBX)が各メディアに占める割合として5%を算出する。当該割合5%は所定閾値10%以下であるので、判断部513は、第1データブロックAX及び第3データブロックBXはいずれも複製対象であると判断する。したがって、複製部514は、データXを含む第1データブロックAX及び第3データブロックBXの複製を作成し、メディア#2(他媒体)に保存する(図6の右側参照)。
また、図6の左側に示す例において、算出部512は、データY(第2データブロックAY及び第4データブロックBY)が各メディアに占める割合として95%を算出する。当該割合95%は所定閾値10%よりも大きいので、判断部513は、第2データブロックAY及び第4データブロックBYはいずれも複製対象でないと判断する。したがって、データYを含む第2データブロックAY及び第4データブロックBYの複製は作成されない(図6の右側参照)。
〔4−2〕第1実施形態によるデータ配置方法
次に、図12〜図15を参照しながら、第1実施形態によるデータ配置方法について、より具体的に説明する。なお、図12〜図15は、それぞれ第1実施形態の第1〜第4テーブルT1〜T4の例を示す図である。
まず、サーバ5で実行されるデータ配置プログラムP2には、サーバ2の移送プログラムP1によって決定されたホットストレージ3からコールドストレージ6へ移送すべきデータ(データブロック)のデータ移送リストが入力される。当該データ移送リストは、例えば図12に示す形式の第1テーブルT1である。
当該第1テーブルT1では、移送すべきデータ(データブロック)を特定するデータID(identification)と、当該データ(データブロック)と、当該データが属する分類とが対応付けられている。データIDは、例えばファイル名やブロックアドレスであり、図12では0,1,2,3,…と表記される。各データブロックの分類は、サーバ2におけるデータ利用プログラムP1によって決定されてもよいし、サーバ5におけるデータ配置プログラムP2によって決定されてもよい。なお、データは、サーバ5の一時バッファ521に一時的に保持されてから、保存処理部511によってコールドストレージ6のメディア62に保存される。
そして、最初にコールドストレージ6にデータブロックを保存するのに先立ち、基準検索軸が決定される。どのような場合であれ、データブロックは少なくとも一つは一時バッファ521経由でメディア62に保存される。つまり、二つのデータ取得軸AB,XYを有する図5や図6に示す例では、まず、データ取得軸ABとデータ取得軸XYとのうちのどちらを基準検索軸とするかが決定される。データ取得軸ABを基準検索軸とする場合、データ取得軸ABに沿うデータブロックがメディア62に必ず保存され、必要に応じてデータ取得軸XYに沿うデータブロックの複製が作成保存される。一方、データ取得軸XYを基準検索軸とする場合、データ取得軸XYに沿うデータブロックがメディア62に必ず保存され、必要に応じてデータ取得軸ABに沿うデータブロックの複製が作成保存される。メディア62に必ず保存されるデータブロックのデータ取得軸を、基準検索軸という。
ここで、基準検索軸の決定は、サーバ5がデータ配置プログラP2を実行することによって、以下のように行なわれる。つまり、基準検索軸は、基本的に、どのデータ取得軸の利用頻度が最も高いかによって決定される。データ取得軸ABでの検索回数がデータ取得軸XYでの検索回数よりも多ければ、データ取得軸ABが基準検索軸として決定される。データ取得軸ABの利用頻度とデータ取得軸XYの利用頻度とが同じ場合や、各データ取得軸の利用頻度が定かでない場合は複製データ量が最小になるように基準検索軸が決定される。その際には、図18を参照しながら後述するごとく、複製対象のデータブロックが決定される。
図6に示す例では、二つのデータ取得軸AB,XYが存在し、データ取得軸ABが基準検索軸となる。この場合、複製対象のデータは、基準検索軸にならなかったデータ取得軸XYに沿うデータXとYから選択される。図6に示す例では、データX(つまりデータブロックAXとBX)が複製対象であると判断される。つまり、基準検索軸がABとなり、複製対象データがX(データブロックAXとBX)となる。データAを保存するメディア#0にはデータブロックAXとAYが保存され、データBを保存するメディア#1にはデータブロックBXとBYが保存されるので、全てのデータA,B,X,Yが必ず一つはメディア62上に保存されていることになる。加えて、データXを保存するメディア#2が用意され、当該メディア#2には、データブロックAXとBXの複製が保存される。データYは複製対象データではないので、データY(データブロックAYとBY)を保存するメディアは用意されず、データブロックAYとBYの複製は作成されない。
このように、サーバ2から入力されるデータ移送リストT1(図12参照)に基づいて、基準検索軸が決定され、複製対象のデータブロックが決定される。そして、複製対象の決定結果が、サーバ5(データ配置プログラムP2)においては、図13に示す形式の第2テーブルT2によって管理される。
ここで、複製対象のデータブロックは、各データブロックの各メディア(全データ)に対する割合が所定閾値(例えば10%)以下であるか否かに応じて決定される。つまり、前記割合が所定閾値以下のデータブロックは、複製対象であると判断される一方、前記割合が所定閾値を超えるデータブロックは、複製対象でないと判断される。例えば図6に示すように、データA及びBを含むデータブロックの割合がそれぞれ50%、データXを含むデータブロックの割合が5%、データYを含むデータブロックの割合が95%である場合、データXが複製対象として決定される。データYについては、複製による容量効率の低下が大きく、且つ応答時間短縮率が小さいため、複製は行なわない。結果として、メディア#0にAXとAYに分類されるデータブロック、メディア#1にBXとBYに分類されるデータブロック、メディア#2にAXとBXに分類されるデータブロックの複製が保存されることになる。
上述のように複製対象が決定された場合、図13に示すような第2テーブルT2が作成され、第2テーブルT2によって、複製対象の決定結果、つまりは各メディアの担当データ(各メディアが保存すべきデータに関する情報)が把握され管理される。図13に示す第2テーブルT2では、メディアIDと、当該メディアIDによって特定されるメディアの担当データとが対応付けられている。また、図13に示す第2テーブルT2では、メディア#0,#1,#2にそれぞれデータA,B,Xが割り当てられているので、メディア#0にはデータブロックAX,AYが保存され、メディア#1にはデータブロックBX,BYが保存され、メディア#2にはデータブロックAX,BXが保存される。
なお、第2テーブルT2において、メディア#0,#1,#2,…のメディアIDは、それぞれ0,1,2,…として表記される。また、各メディアが担当データで一杯になった場合、次のメディアが当該担当データに割り当てられる。例えばメディア#0がデータAで一杯になった場合、メディア#3の担当データがAとして第2テーブルT2に登録される。
複製対象のデータブロックを決定する手法としては、様々な手法を採用することが可能である。例えば、データブロックの割合に対する所定閾値を定めて当該所定閾値に基づき複製対象を判断する手法(図18参照)のほか、データ取得頻度(検索頻度)、容量効率の低下度合い、及び応答時間短縮率の三つの指標から総合的に複製対象を判断する手法(図19参照)などが挙げられる。後者の手法は、データ取得が頻繁に行なわれるデータほど、複製配置よる応答時間短縮が与える効果は大きいことに基づくものである。なお、これらの手法については、それぞれ図18及び図19を参照しながら後述する。
ところで、コールドストレージ6の各メディア62へのデータ書込みは、一時バッファ521内に、ある程度の量のデータが溜まってから、保存処理部511によって実行される。このようにデータを溜めてから書込みを行なうことで、メディア交換回数を最小限に保つことが可能になる。そのため、一時バッファ521から各メディア62への書込みを行なうまでは、図14に示す形式の第3テーブルT3によって、データが一時バッファ521に保存される。
図14に示す第3テーブルT3では、保存すべきデータ(データブロック)を特定するデータIDと、当該データ(データブロック)と、当該データを保存するメディアを特定するメディアIDとが対応付けられている。図14に示す第3テーブルT3に基づいて、以下のようにデータが一時バッファ521から各メディアに保存される。つまり、データID0のデータ(データブロックAX;図12参照)はメディア#0及び#2に保存される。データID1のデータ(データブロックBY;図12参照)はメディア#1に保存される。データID2のデータ(データブロックAY;図12参照)はメディア#0に保存される。データID3のデータ(データブロックBX;図12参照)はメディア#1及び#2に保存される。
さらに、第1実施形態では、メディア62へのデータ書込み後も、サーバ2からの指示によるデータ取得(データ読出しアクセス)に対応すべく、各メディア62に保存されているデータ(データブロック)のデータIDが管理される。例えば図15に示す形式の第4テーブルT4によって、各メディアのメディアIDと、当該メディアIDによって特定されるメディアに保存されるデータのデータIDとが対応付けられて記憶部52に保存される。
サーバ5(データ取得機能/データ読出し機能)は、図15に示す第4テーブルT4を参照することで、データID0,2,…のデータブロックをメディア#0から読み出すことが可能になっている。同様に、サーバ5は、データID1,3,…のデータブロックをメディア#1から、データID0,3,…のデータブロックをメディア#2から、読み出すことが可能になっている。
最後に、サーバ2からの指示によるデータ取得時(データ読出しアクセス時)の動作について説明する。サーバ5のデータ配置プログラムP2は、サーバ2のデータ利用プログラムからP1から、取得対象データのデータIDリスト(図示略)を受けると、一連のデータIDが最も多く含まれるメディアを、第4テーブルT4から検索する。当該検索によって全てのデータが含まれる一のメディアが見つかった場合、一度のメディア交換で全てのデータを取得することができる。仮に全てのデータが含まれるメディアが存在しなかった場合、サーバ5のデータ配置プログラムP2は、メディアを複数回交換しながら、全てのデータを取得することになる。
〔4−3〕第1実施形態によるデータ配置方法の処理フロー
次に、図16〜図21に示すフローチャートを参照しながら、第1実施形態によるデータ配置方法の処理フロー(各種動作)について説明する。
まず、図16に示すフローチャート(ステップS11及びS12)に従って、第1実施形態の移送プログラム(データ利用プログラム)P1による動作について説明する。サーバ2において、移送プログラムP1が実行されると、例えばアクセス頻度に応じて、ホットストレージ3からコールドストレージ6へ移送すべきデータブロック(移送データ)が決定される(ステップS11)。
移送データが決定されると、当該移送データは、図12に示す第1テーブル(データ移送リスト)T1の形式で、サーバ2からサーバ5の一時バッファ521へ移送される(ステップS12)。第1テーブル(データ移送リスト)T1は、サーバ2において移送プログラムP1によって作成される。
ついで、図17に示すフローチャート(ステップS21〜S25)に従って、第1実施形態のデータ配置プログラム(データ記憶装置制御プログラム)P2による動作について説明する。サーバ5において、データ配置プログラムP2が実行されると、まず、図12に示すような第1テーブルT1が作成される(ステップS21)。
なお、第1テーブルT1の分類がサーバ2におけるデータ利用プログラムP1によって決定される場合、サーバ2から入力されるデータ移送リストがそのまま第1テーブルT1として用いられる。一方、第1テーブルT1の分類がサーバ5におけるデータ配置プログラムP2によって決定される場合、データIDとデータとを対応付けるデータ移送リストがサーバ5に入力される。
そして、第1テーブル(データ移送リスト)T1に基づき、基準検索軸が決定され、複製対象のデータブロックが決定され、図13に示すような第2テーブルT2が作成される。複製対象の決定結果(複製対象のデータブロック)は、第2テーブルT2によって管理される(ステップS22)。なお、ステップS22における複製対象の決定動作については、図18及び図19を参照しながら後述する。
この後、第1テーブルT1及び第2テーブルT2から、図14に示すような第3テーブルT3が作成される(ステップS23)。第3テーブルT3によって、上述のごとく、一時バッファ521から各メディア62への書込みを行なうまでは、保存対象のデータブロックが一時バッファ521に保存される。
そして、第3テーブルT3に基づき、一時バッファ521における保存対象のデータブロックは、各メディア62に書き込まれて保存される(ステップS24)。これにより、例えば図6に示すように、データブロックAXはメディア#0及び#2に保存され、データブロックBYはメディア#1に保存され、データブロックAYはメディア#0に保存され、データブロックBXはメディア#1及び#2に保存される。なお、ステップS24におけるデータ書込み動作については、図20を参照しながら後述する。
メディア62へのデータ書込み後、サーバ2からの指示によるデータ取得に対応すべく、各メディア62に保存されているデータブロックのデータIDを管理する、図15に示すような第4テーブルT4が作成されて保存される(ステップS25)。当該第4テーブルT4に基づいて実行されるデータ取得動作については、図21を参照しながら後述する。
ついで、図18に示すフローチャート(ステップS31,S32)に従って、図17のステップS22で実行される、第1実施形態の複製対象の決定動作の一例について説明する。図18に示す例は、データブロックの割合に対する所定閾値を定めて当該所定閾値に基づき複製対象を判断する手法である。
図18に示す例では、データブロックの全分類のそれぞれについて、ステップS31及びS32の処理が実行される。例えば、基準検索軸(データ取得軸AB)にならなかったデータ取得軸XYに対して、各分類、例えばX,Yの割合が所定閾値(例えば10%)以下であるか否かが確認される(ステップS31)。前記割合が前記所定閾値を超える場合(ステップS31のNOルート)、次の分類に対する処理へ移行する。一方、前記割合が前記所定閾値以下の場合(ステップS31のYESルート)、当該分類のデータブロック(例えばAX,BX)は複製対象として判断され第2テーブルT2等に登録される(ステップS32)。この後、次の分類に対する処理へ移行する。
上述のように、複製対象データ量の大小によって基準検索軸を決定するのであれば、全てのデータ取得軸(例:ABとXY)に対し、仮にそのデータ取得軸が基準検索軸とならなかった場合に複製対象となるデータが決定され、複製対象データ量の合計の小さい方が基準検索軸として決定される。上述した例では、データ取得軸ABに沿うデータについては複製が無く当該データの割合は0%であり、データ取得軸XYに沿うデータについてはXYのうちXのみ複製であるため複製の割合が5%であるため、データ取得軸XYが基準検索軸となる。
ついで、図19に示すフローチャート(ステップS41〜S44)に従って、図17のステップS22で実行される、第1実施形態の複製対象の決定動作の他例について説明する。図19に示す例は、データ取得頻度、容量効率の低下度合い、及び応答時間短縮率の三つの指標から総合的に複製対象を判断する手法である。
図19に示す例では、効果値が下記計算式(1)によって定義算出される。
[効果値]=[頻度]×(100−[データ量の割合(%)])/100×[応答時間短縮率] (1)
そして、データブロックの全分類のそれぞれについて、ステップS41〜S43の処理が実行される。まず、図18に示す例と同様、各分類のデータの割合でデータのフィルタリングが行なわれる(ステップS41)。ただし、図18に示す例の所定閾値は10%であるのに対し、図19に示す例の所定閾値は、図18示す例の所定閾値よりもやや大きな閾値(例えば20%)が設定される。
そして、各分類の割合が所定閾値以下であるか否かが確認され(ステップS41)、前記割合が所定閾値を超える場合(ステップS41のNOルート)、次の分類に対する処理へ移行する。一方、前記割合が所定閾値以下の場合(ステップS41のYESルート)、上記計算式(1)を用いて当該分類についての効果値が算出され(ステップS42)、当該分類が、算出された効果値とともに複製候補として登録される(ステップS43)。この後、次の分類に対する処理へ移行する。
全分類についてステップS41〜S43の処理を終了すると、複製候補として登録された全候補について、効果値の大きい順に、ステップS44の処理が実行される。つまり、ステップS44においては、複製候補毎に算出された効果値が、大きい順に加算され、データ量の合計値が所定閾値(例えば50%)を超えるまでの複製候補(分類)が複製対象として登録される。合計値が50%を超えた時点で、ステップS44の処理は終了する。
上記計算式(1)は、検索頻度(データ取得頻度)が高く、容量効率の低下度合いが小さく、応答時間短縮率(相対短縮時間)が大きいほど、効果値が大きくなるように定義されている。データ量の割合の最大値は100%であり、データ量が少なく容量効率の低下度合いが小さいほど、該当分類のデータが優先的に複製されるように、上記計算式(1)においては、(100−[データ量の割合(%)])/100が乗算されている。さらに、ステップS41での所定閾値を大きく設定した分、複製対象を絞る必要があるため、データ量の合計値に対する所定閾値は、やや小さめの値、例えば50%に設定される。
なお、積によって効果値を算出する上記計算式(1)に代え、和によって効果値を算出する下記計算式(2)が用いられてもよい。その際、各要素に対し、重みα,β,γによる重み付けがシステム毎に行なわれてもよい。
[効果値]
=α×[頻度]+β×(100−[データ量の割合(%)])/100+γ×[応答時間短縮率] (2)
このような重み付けを行なうことで、システム毎にどの要素を重視したいのかを設定することができる。例えば頻度を重視したい場合、重みとして、例えば、α=1、β=0.5、γ=0.5が設定される。
次に、図20に示すフローチャート(ステップS51〜S55)に従って、図17のステップS24で実行される、第1実施形態のメディア62へのデータ書込み動作について説明する。一時バッファ521からメディア62へのデータ書込み時も、メディア交換回数を最小化するために、同一メディアに書き込むデータは、一度に連続的に書き込む。このため、書き込む際には、図14に示す第3テーブルT3が確認され、あるデータIDのデータが、保存すべき全てのメディア62に対して書き込まれると、第3テーブルT3における当該データIDのエントリが削除される。未だ他のメディア62にデータを書き込む必要があれば、書込みの完了したメディアIDのみが、当該データIDのエントリから削除される。
つまり、図20に示す例では、メディアIDの昇順に、各メディア62について、ステップS51〜S55の処理が実行される。まず、ドライブ61におけるメディア62が、最小のメディアIDを持つメディア62に交換されてから(ステップS51)、第3テーブルT3が確認され、第3テーブルにおけるデータIDの昇順に、各データ(各データブロック)について、ステップS52〜S55の処理が実行される。
ステップS52においては、当該メディア62に保存されるべきデータが、データIDの昇順に当該メディア62に書き込まれる。書込み後、当該メディア62のメディアIDが第3テーブルT3に登録されている最後の一つであるか否かが判断される(ステップS53)。メディアIDが最後の一つでない場合(ステップS53のNOルート)、書込みの完了したメディアIDのみが、当該データIDのエントリから削除される(ステップS54)。一方、メディアIDが最後の一つである場合(ステップS53のYESルート)、第3テーブルT3における当該データIDのエントリが削除される(ステップS55)。
ステップS52〜S55の処理は、第3テーブルT3に登録された全てのデータIDに対して実行される。また、ステップS51〜S55の処理は、第3テーブルT3に登録された全てのメディアIDに対して実行される。
次に、図21に示すフローチャート(ステップS61〜S64)に従って、第1実施形態のメディア62からのデータ取得動作について説明する。
まず、サーバ2から入力される、取得対象データのデータIDを指定するリストと、第4テーブルT4とが比較される。そして、リストにおけるデータIDと、第4テーブルT4におけるメディアID毎のデータIDとが最も多く一致(重複)するメディアIDが探索特定される(ステップS61)。
ステップS61で特定されたメディア62がドライブ61に搬送されて挿入され、当該メディア62から、前記リストで指定されるデータが取得される(ステップS62)。その後、取得されたデータについてのデータIDは、前記リストから削除される(ステップS63)。
このようなステップS61〜S63の処理は、前記リストに登録された全てのデータIDによって特定されるデータが取得されるまで、つまり、ステップS64において前記リストが空になったと判断されるまで繰り返し実行される。ステップS64において前記リストが空でないと判定された場合(NOルート)、処理はステップS61に戻る一方、ステップS64において前記リストが空であると判定された場合(YESルート)、処理は終了する。
〔4−4〕第1実施形態による効果
図22は、あるデータ取得軸についてのサンプルデータに対して第1実施形態のデータ配置方法を適用した場合の、容量効率と応答時間短縮率(相対短縮時間)との関係を示したものである。当該サンプルデータは、6種類A,B,C,D,E,Fのデータを含むデータ取得軸に沿うものとし、当該データ取得軸に着目したときの各データの割合の分布を図23に示す。なお、図23において、「その他」は、種類A〜F以外の種類G以降の残りのデータの割合を示す。
ここで、データ取得は、A〜Fの分類で行なわれ、種類G以降のデータについてはデータ取得が行なわれないものとした場合のシミュレーションの結果を、図22に示す。本シミュレーションでは、元々14本のメディアにデータが均等に配置された場合に対する応答時間短縮率(相対短縮時間)が算出され、図22に示すように、割合の小さな種類Aに近い種類のデータの方が、容量効率の低下を抑えながら大きな応答時間短縮率(相対短縮時間)を達成できる。仮に種類A,B,C,Dを複製対象とした場合、6.3%の容量効率低下で応答時間短縮率(相対短縮時間)41%を達成することができる。
このように、第1実施形態のデータ配置方法によれば、応答時間短縮率に注目して割合の小さいデータブロックを複製することで、バランスの良い容量効率とデータ取得時間とを達成することができる。つまり、データの複製を適切に配置することで、容量効率の低下を抑えながらメディアの交換回数を削減することができ、相対的に大きな応答時間の短縮、ひいてはデータ取得に要する時間の短縮を実現することができる。
〔4−5〕第1実施形態の変形例
上述した第1実施形態では、各データ取得軸において、データが2種類である場合について説明したが、本発明は、これに限定されるものでなく、3種類以上の場合について対応可能であり、第1実施形態と同様の作用効果を得ることができる。仮にデータ取得軸ABがA,B,C,D,Eの5種類のデータを含む場合でも、ストレージシステム1の構成やデータ管理手法は第1実施形態と変わることはない。
また、上述した第1実施形態では、データ取得軸が2軸である場合について説明したが、本発明は、これに限定されるものでなく、データ取得軸が3軸以上の場合も対応可能であり、第1実施形態と同様の作用効果を得ることができる。例えば3軸の場合、各データに取得軸としてAB及びXYに加えPQが含まれているとする。この場合、データブロックは8パターンに分類できることになり、第3テーブルT3において一つのデータブロックを最大で三つの異なるメディアに保存することになるだけで、ストレージシステム1の構成やデータ管理手法は第1実施形態と大きく変わることはない。
〔5〕第2実施形態
第2実施形態において、処理部51がデータ配置プログラムP2を実行することで実現される、保存処理部511、及び複製部514としての機能について説明する。第2実施形態では、第1実施形態のごとく算出部512による割合の算出処理や判断部513による前記割合に基づく判断処理は行なわれない。
第2実施形態では、これらの処理に代え、第2実施形態では、信頼性向上のための複製が作成されてメディア62に保存される。その際、容量効率を低下させることなくメディア交換回数を削減すべく、複製元のデータ配置と当該複製におけるデータ配置とについて工夫した第2テーブルT2(図26参照)が作成され。そして、当該第2テーブルT2に基づき、複製を配置すべきメディア(保存メディア)62が決定され、当該保存メディア62に対する複製データブロックの保存が行なわれる。
第2実施形態の保存処理部511は、第1実施形態と同様、ホットストレージ3に記憶されたデータを、コールドストレージ6の複数の媒体62に保存する。このとき、サーバ2によりホットストレージ3からコールドストレージ6へ移送されるデータは、一時バッファ521に一時的に保持されている。そして、保存処理部511は、一時バッファ521におけるデータをコールドストレージ6のメディア62へ配置保存する。
第2実施形態の複製部514は、二以上のメディア#0,#1(図8の左側参照)に保存されるデータブロックの複製を作成して二以上のメディア#0,#1以外の二以上のメディア#2,#3(図8の右側参照)に保存する。このとき、複製部514は、複数の次元情報(時間,位置等)によって分類される各データブロックの、二以上のメディア#0,#1におけるデータ配置(第1配置)と、各データブロックの二以上のメディア#2,#3におけるデータ配置(第2配置)とが異なるように、複製を作成して二以上のメディア#2,#3に配置する。
ここで、例えば図8の左側に示すごとく、保存処理部511によって、メディア#0(第1媒体)及びメディア#1(第2媒体)にデータブロックが保存される場合について説明する。つまり、メディア#0には、上述した第1データブロックAX及び第2データブロックAYが保存され、メディア#1には、上述した第3データブロックBX及び第4データブロックBYが保存される場合について説明する。また、メディア#2(第3媒体)及びメディア#3(第4媒体)に、データブロックの複製が配置される場合について説明する。
このとき、第2実施形態において、複製部514は、複製した第1データブロックAX及び第3データブロックBXをメディア#2に保存配置するとともに、複製した第2データブロックAY及び第4データブロックBYをメディア#3に保存配置する。これにより、メディア#0,#1の複製は、メディア#0,#1で配慮するデータ取得軸ABと異なるデータ取得軸XYに配慮して、メディア#2,#3に配置される。
次に、図24〜図28を参照しながら、第2実施形態によるデータ配置方法について、より具体的に説明する。なお、図24は、第2実施形態のデータ配置プログラム(データ記憶装置制御プログラム)P2による動作を説明するフローチャートである。また、図25〜図28は、それぞれ第2実施形態の第1〜第4テーブルT1〜T4の例を示す図である。
第2実施形態においても、第1実施形態と同様、サーバ2から入力されるデータ移送リストT1(図25参照)に基づいて、複製対象のデータブロックが決定される。このとき、複製対象は全てのデータブロックである。そして、メディア#0,#1においてデータ取得軸ABに配慮したデータブロック配置(図8の左側参照;第1配置)が行なわれているものとする。この場合、データブロックの複製については、メディア#2,#3においてデータ取得軸XYに配慮したデータブロック配置(図8の右側参照;第2配置)が行なわれるよう、図26に示すような第2テーブルT2が作成される。
図26に示す第2テーブルT2では、メディアIDと、当該メディアIDによって特定されるメディアの担当データとが対応付けられている。また、図26に示す第2テーブルT2では、メディア#0,#1,#2,#3にそれぞれデータA,B,X,Yが割り当てられているので、メディア#0にはデータブロックAX,AYが保存され、メディア#1にはデータブロックBX,BYが保存され、メディア#2にはデータブロックAX,BXが保存され、メディア#3には、データブロックAY,BYが保存される。
そして、複製部514は、各データブロックの分類に対して、図26に示すような第2テーブルT2を参照することで、各データブロックの複製を保存するメディア62(保存メディア)を決定する(ステップS71)。ステップS71の処理は、データブロックの全分類に対して行なわれる。これに伴い、保存すべきデータ(データブロック)を特定するデータIDと、当該データと、当該データを保存するメディアを特定するメディアIDとを対応付ける第3テーブルT3(図27参照)が作成される。第1実施形態と同様、一時バッファ521から各メディア62への書込みを行なうまでは、図27に示す形式の第3テーブルT3によって、データが一時バッファ521に保存される。
図27に示す第3テーブルT3に基づいて、以下のようにデータが一時バッファ521から各メディアに保存される。つまり、データID0のデータ(データブロックAX;図25参照)はメディア#0及び#2に保存される。データID1のデータ(データブロックBX;図25参照)はメディア#1及び#2に保存される。データID2のデータ(データブロックAY;図12参照)はメディア#0及び#3に保存される。データID3のデータ(データブロックBY;図25参照)はメディア#1及び#3に保存される。
さらに、第2実施形態でも、メディア62へのデータ書込み後、サーバ2からの指示によるデータ取得(データ読出しアクセス)に対応すべく、各メディア62に保存されているデータ(データブロック)のデータIDが管理される。例えば図28に示す形式の第4テーブルT4によって、各メディアのメディアIDと、当該メディアIDによって特定されるメディアに保存されるデータのデータIDとが対応付けられて記憶部52に保存される。
上述したように、第2実施形態によるデータ配置方法も、第1実施形態によるデータ配置とほぼ同様に実行される。ただし、第2実施形態によるデータ配置方法では、全てのデータについて複製を作成する点と、メディア故障時には第4テーブルT4によって管理されるデータを利用してメディアの再構築を行なう点とが、第1実施形態によるデータ配置方法と異なっている。第2実施形態では、第1実施形態のように割合の小さいデータブロックを複製対象とするだけでなく、前述の通り、信頼性向上のために全てのデータブロックが複製される。
メディアの故障時には、故障したメディアに保存されていたデータが他のメディアから取得され、新しいメディアを用いてデータの再構築が行なわれる。サーバ5は、第4テーブルT4の管理データを参照することで、故障したメディアに保存されていたデータを確認し、当該データの複製がそれぞれどのメディアに保存されているかを確認することができる。ただし、再構築の際、第2実施形態でも、メディア交換回数を削減するために、一時バッファ521の領域に再構築のための全データを一時的に蓄えた後、新しいメディアに一度に書き込むのが望ましい。
複製の数と対応可能なデータ取得軸とは一対一に対応する。複製の数を増やすほど容量効率は悪化するが、データ消失の可能性を低下させることができる。したがって、複製の数は、データに求められる可用性(信頼性)に応じて決定される。より高い可用性を求めて三重でデータを複製する場合は三つのデータ取得軸に対応することができ、四重でデータを複製する場合は四つのデータ取得軸に対応することができる。
このように、第2実施形態のデータ配置方法によれば、元々、信頼性向上のために作成された複製を利用し、各メディアでのデータ配置を工夫することで、容量効率を低下させることなくメディア交換回数を削減でき、データ取得に要する時間の短縮を実現することができる。
特に、信頼性向上のために作成される複製を用いるので、容量効率の低下は生じることがない。つまり、信頼性向上のための複製の配置方法を変更することで、容量効率の低下を伴わずにデータ取得時間を短縮することができる。また、複製を利用することで、一回のメディア故障であればデータの消失を回避することができるため、複製による本来の信頼性向上という目的も達成することができる。
〔6〕第3実施形態
第3実施形態において、処理部51がデータ配置プログラムP2を実行することで実現される、保存処理部511としての機能について説明する。第3実施形態では、第1実施形態のごとく算出部512、判断部513、及び複製部514による処理は伴わなくてもよい。
第3実施形態の保存処理部511は、複数の次元情報のうちの一の次元情報(例えば.時刻)について連続する連続データ(例えばログデータ)を、複数のメディア62に保存する場合に以下のように動作する。つまり、第3実施形態の保存処理部511は、連続データを所定境界で分割し先行データブロックとしてメディア#4(図9参照;先行媒体)に保存する。また、第3実施形態の保存処理部511は、先行データブロックにおける所定境界よりも先行する所定範囲の部分データと当該部分データに続く連続データとを含む後続データブロックをメディア#5(図9参照;後続媒体)に保存する。
このとき、分割を行なう「所定境界」としては、例えば連続データが24時間分のデータ量になる位置が設定される。また、所定境界よりも先行する「所定範囲」としては、例えば2時間(8.3%)が設定される。
なお、第3実施形態では、保存処理部511によって上述した機能を実現すべく、第5テーブル(メディア残容量リスト)T5によって各メディアの残容量が管理される。図29は、第3実施形態の第5テーブルT5の例を示す図である。第5テーブルT5は、サーバ5の記憶部52に保存される。図29に示すように、第5テーブルT5では、各メディア62を特定するメディアIDと、当該メディア62の残容量とが対応付けられて保存される。図29に示す例では、メディアID0のメディア#0の残容量は0%、同様にメディア#1,2,3の残容量は15%,95%,100%となっている。第5テーブル(メディア残容量リスト)T5は、サーバ5の処理部51によって作成/更新/管理される。
次に、図30に示すフローチャート(ステップS81〜S87)に従って、第3実施形態のデータ記憶装置制御プログラムP2による動作、つまり一時バッファ521から各メディア62へのデータ書込み動作(第3実施形態における保存処理部511の機能)について説明する。
まず、保存処理部511は、データを一時バッファ521から書き込もうとしている先行メディア#4の残容量を第5テーブルT5から読み出し、読み出した残容量と一時バッファ521内に蓄積されたデータ量とを比較する(ステップS81)。このとき、先行メディア#4に十分な残容量がある場合(ステップS81のYESルート)、保存処理部511は、先行メディア#4に、一時バッファ521内のデータを全て書き込む(ステップS82)。
そして、保存処理部511は、先行データブロックに閾値を超える部分データ(次のメディアに複製を書き込むデータ)が有るか否かを確認する(ステップS83)。ここで、「閾値を超える部分データ」は、先行データブロックにおける所定境界よりも先行する所定範囲(例えば時刻22:00〜24:00)における部分データに相当する。
閾値を超える部分データが有る場合(ステップS83のYESルート)、保存処理部511は、上記部分データの複製を作成し、当該複製を後続するメディア(次のメディア)#5に書き込む(ステップS84)。これにより、所定境界近傍の2時間分の部分データは、先行メディア#4と後続メディア#5とに重複して保存される。そして、保存処理部511は、一時バッファ521内のデータを消去してから(ステップS85)、処理を終了する。
一時バッファ521内のデータ量が閾値を超えていない場合(ステップS83のNOルート)、保存処理部511は、複製を行なう必要がないので、後続メディア#5に書き込むことなく、一時バッファ521内のデータを消去してから(ステップS85)、処理を終了する。
また、メディア残量がバッファ521内のデータ量よりも少ない場合(ステップS81のNOルート)、保存処理部511は、まず、先行メディア#4のデータ量がフル(100%)になるまで、一時バッファ521内のデータを書き込む(ステップS86)。この後、保存処理部511は、後続メディア#5に、所定境界近傍の部分データの複製を書き込んでから、残りのデータ、つまり部分データに続く後続データの全てを書き込む(ステップS87)、一時バッファ521内のデータを消去してから(ステップS85)、処理を終了する。ここで、各メディア5に対し容量が一杯になるまでデータを書き込むということは、各メディアの容量が一杯になり連続データを分割する位置(所定境界)が必ず存在し、所定境界近傍の部分データが必ず存在する。このため、保存処理部511は、閾値を超える部分データが有るか否かの判定を行なわない。
第3実施形態のデータ配置方法では、複製を作成するデータ量の閾値が予め設定される。複製を作成するデータ量の閾値は、所定境界(分割位置)よりも先行する所定範囲に相当する。そして、当該所定範囲内の部分データは、先行メディア#4への書込みが完了した後も、一時バッファ521から削除せずに保持され、次の後続メディア#5への書込み時に後続メディア#5の先頭部分に書き込まれる。これによって、所定境界(分割位置)よりも先行する所定範囲の部分データは、先行メディア#4及び後続メディア#5において重複して保存される(図9参照)。
複製するデータ量の閾値(前記所定範囲)は、例えば、一度に取得されるデータの量に基づいて決定される。例えば、一度に取得されるデータの量を例えば2時間分のデータとすると、複製するデータ量の閾値は、例えば2時間に決定される。
なお、第1実施形態においても説明したように、応答時間短縮率(相対短縮時間)を考慮すると、複製するデータ量(重複部分のデータ量)をあまり大きくしても、大きな容量効率低下を招くだけで、相対短縮時間は大きくないということが分かる。また、第3実施形態のデータ配置方法は、一時バッファ521からメディア62へデータを保存する技術において単独で利用してもよいし、上述した第2及び第3実施形態と組み合わせて利用することも可能である。
このように、第3実施形態のデータ配置方法によれば、ログデータのごとく時間的に連続するデータを複数のメディア62に保存する際、図9に示すように、先行メディアの最後部のデータが後続メディアの最前部(先頭)に重複して保存される。これにより、データの生成時刻によるデータ取得時間の不公平を緩和することができ、バランスの良い容量効率やデータ取得時間の短縮を実現することができる。
〔7〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述した実施形態では、上述した次元情報や境界情報(所定境界,閾値,所定範囲など)は、利用者が入力部53を操作することで、別途入力してもよい。
〔8〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1記憶装置に記憶されたデータを保存する複数の媒体と、
前記複数の媒体のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出する算出部と、
前記算出部によって算出された前記割合に基づいて、前記各データブロックが複製対象であるか否かを判断する判断部と、
前記判断部によって前記複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の他媒体に保存する複製部と、を有する、データ記憶装置。
(付記2)
前記判断部は、
前記割合が所定閾値以下のデータブロックを前記複製対象であると判断する一方、前記割合が所定閾値を超えるデータブロックを前記複製対象でないと判断する、付記1に記載のデータ記憶装置。
(付記3)
前記二以上の媒体は、前記データを保存する第1媒体及び第2媒体を含み、
前記第1媒体は、
前記複数の次元情報のうちの第1次元情報の第1分類データとして分類されるとともに前記複数の次元情報のうちの第2次元情報の第1分類データとして分類される第1データブロックと、
前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第2データブロックと、を保存し、
前記第2媒体は、
前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第3データブロックと、
前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第4データブロックと、を保存し、
前記算出部によって算出された、前記第1データブロック及び前記第3データブロックの前記データに対する前記割合が前記所定値以下である場合、
前記判断部は、前記第1データブロック及び前記第3データブロックを前記複製対象であると判断し、
前記複製部は、前記第1データブロック及び前記第3データブロックの複製を作成して前記他媒体に保存する、付記2に記載のデータ記憶装置。
(付記4)
第1記憶装置に記憶されたデータを保存する複数の媒体と、
前記複数の媒体のうちの二以上の媒体に保存される前記データの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の二以上の他媒体に保存する複製部と、を有し、
前記複製部は、前記データについて複数の次元情報によって分類される各データブロックの前記二以上の媒体における第1配置と、前記各データブロックの前記二以上の他媒体における第2配置と、が異なるように、前記複製を作成して前記二以上の他媒体に保存する、データ記憶装置。
(付記5)
前記二以上の媒体は、前記データを保存する第1媒体及び第2媒体を含み、
前記二以上の他媒体は、前記複製を保存する第3媒体及び第4媒体を含み、
前記第1媒体が、前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第1データブロックと、前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第2データブロックと、を保存する場合であって、且つ、
前記第2媒体が、前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第3データブロックと、前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第4データブロックと、を保存する場合、
前記複製部は、複製した前記第1データブロック及び前記第3データブロックを前記第3媒体に保存配置するとともに、複製した前記第2データブロック及び前記第4データブロックを前記第4媒体に保存配置する、付記4に記載のデータ記憶装置。
(付記6)
前記第1記憶装置に記憶された前記データを前記複数の媒体に保存する保存処理部を有し、
前記保存処理部は、前記データとして、前記複数の次元情報のうちの一の次元情報について連続する連続データを、前記複数の媒体に保存する場合、前記連続データを所定境界で分割し先行データブロックとして前記複数の媒体のうちの先行媒体に保存するとともに、前記先行データブロックにおける前記所定境界よりも先行する所定範囲の部分データと前記部分データに続く前記連続データとを含む後続データブロックを前記複数の媒体のうちの後続媒体に保存する、付記1〜付記5のいずれか一項に記載のデータ記憶装置。
(付記7)
第1記憶装置に記憶されたデータを保存する複数の媒体を含む第2記憶装置を制御するコンピュータに、
前記複数の媒体のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出し、
算出された前記割合に基づいて、前記各データブロックが複製対象であるか否かを判断し、
前記複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の他媒体に保存する、
処理を実行させる、データ記憶装置制御プログラム。
(付記8)
前記割合が所定閾値以下のデータブロックを前記複製対象であると判断する一方、前記割合が所定閾値を超えるデータブロックを前記複製対象でないと判断する、
処理を、前記コンピュータに実行させる、付記7に記載のデータ記憶装置制御プログラム。
(付記9)
前記二以上の媒体は、前記データを保存する第1媒体及び第2媒体を含み、
前記第1媒体は、
前記複数の次元情報のうちの第1次元情報の第1分類データとして分類されるとともに前記複数の次元情報のうちの第2次元情報の第1分類データとして分類される第1データブロックと、
前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第2データブロックと、を保存し、
前記第2媒体は、
前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第3データブロックと、
前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第4データブロックと、を保存し、
前記算出部によって算出された、前記第1データブロック及び前記第3データブロックの前記データに対する前記割合が前記所定値以下である場合、
前記第1データブロック及び前記第3データブロックを前記複製対象であると判断し、
前記第1データブロック及び前記第3データブロックの複製を作成して前記他媒体に保存する、
処理を、前記コンピュータに実行させる、付記8に記載のデータ記憶装置制御プログラム。
(付記10)
第1記憶装置に記憶されたデータを保存する複数の媒体を含む第2記憶装置を制御するコンピュータに、
前記複数の媒体のうちの二以上の媒体に保存される前記データの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の二以上の他媒体に保存する処理を実行させる際に、前記データについて複数の次元情報によって分類される各データブロックの前記二以上の媒体における第1配置と、前記各データブロックの前記二以上の他媒体における第2配置と、が異なるように、前記複製を作成して前記二以上の他媒体に保存する、
処理を実行させる、データ記憶装置制御プログラム。
(付記11)
前記二以上の媒体は、前記データを保存する第1媒体及び第2媒体を含み、
前記二以上の他媒体は、前記複製を保存する第3媒体及び第4媒体を含み、
前記第1媒体が、前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第1データブロックと、前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第2データブロックと、を保存する場合であって、且つ、
前記第2媒体が、前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第3データブロックと、前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第4データブロックと、を保存する場合、
複製した前記第1データブロック及び前記第3データブロックを前記第3媒体に保存配置するとともに、複製した前記第2データブロック及び前記第4データブロックを前記第4媒体に保存配置する、
処理を、前記コンピュータに実行させる、付記10に記載のデータ記憶装置制御プログラム。
(付記12)
前記第1記憶装置に記憶された前記データを前記複数の媒体に保存する処理を、前記コンピュータに実行させる際に、前記データとして、前記複数の次元情報のうちの一の次元情報について連続する連続データを、前記複数の媒体に保存する場合、前記連続データを所定境界で分割し先行データブロックとして前記複数の媒体のうちの先行媒体に保存するとともに、前記先行データブロックにおける前記所定境界よりも先行する所定範囲の部分データと前記部分データに続く前記連続データとを含む後続データブロックを前記複数の媒体のうちの後続媒体に保存する、
処理を、前記コンピュータに実行させる、付記7〜付記11のいずれか一項に記載のデータ記憶装置制御プログラム。
(付記13)
第1記憶装置に記憶されたデータを保存する複数の媒体を含む第2記憶装置を制御する方法であって、
前記複数の媒体のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出し、
算出された前記割合に基づいて、前記各データブロックが複製対象であるか否かを判断し、
前記複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の他媒体に保存する、データ記憶装置制御方法。
(付記14)
前記割合が所定閾値以下のデータブロックを前記複製対象であると判断する一方、前記割合が所定閾値を超えるデータブロックを前記複製対象でないと判断する、付記13に記載のデータ記憶装置制御方法。
(付記15)
前記二以上の媒体は、前記データを保存する第1媒体及び第2媒体を含み、
前記第1媒体は、
前記複数の次元情報のうちの第1次元情報の第1分類データとして分類されるとともに前記複数の次元情報のうちの第2次元情報の第1分類データとして分類される第1データブロックと、
前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第2データブロックと、を保存し、
前記第2媒体は、
前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第3データブロックと、
前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第4データブロックと、を保存し、
前記算出部によって算出された、前記第1データブロック及び前記第3データブロックの前記データに対する前記割合が前記所定値以下である場合、
前記第1データブロック及び前記第3データブロックを前記複製対象であると判断し、
前記第1データブロック及び前記第3データブロックの複製を作成して前記他媒体に保存する、付記14に記載のデータ記憶装置制御方法。
(付記16)
第1記憶装置に記憶されたデータを保存する複数の媒体を含む第2記憶装置を制御する方法であって、
前記複数の媒体のうちの二以上の媒体に保存される前記データの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の二以上の他媒体に保存する処理を実行させる際に、前記データについて複数の次元情報によって分類される各データブロックの前記二以上の媒体における第1配置と、前記各データブロックの前記二以上の他媒体における第2配置と、が異なるように、前記複製を作成して前記二以上の他媒体に保存する、データ記憶装置制御方法。
(付記17)
前記二以上の媒体は、前記データを保存する第1媒体及び第2媒体を含み、
前記二以上の他媒体は、前記複製を保存する第3媒体及び第4媒体を含み、
前記第1媒体が、前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第1データブロックと、前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第2データブロックと、を保存する場合であって、且つ、
前記第2媒体が、前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第3データブロックと、前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第4データブロックと、を保存する場合、
複製した前記第1データブロック及び前記第3データブロックを前記第3媒体に保存配置するとともに、複製した前記第2データブロック及び前記第4データブロックを前記第4媒体に保存配置する、付記16に記載のデータ記憶装置制御方法。
(付記18)
前記第1記憶装置に記憶された前記データを前記複数の媒体に保存する際に、前記データとして、前記複数の次元情報のうちの一の次元情報について連続する連続データを、前記複数の媒体に保存する場合、前記連続データを所定境界で分割し先行データブロックとして前記複数の媒体のうちの先行媒体に保存するとともに、前記先行データブロックにおける前記所定境界よりも先行する所定範囲の部分データと前記部分データに続く前記連続データとを含む後続データブロックを前記複数の媒体のうちの後続媒体に保存する、付記13〜付記17のいずれか一項に記載のデータ記憶装置制御方法。
1 ストレージシステム
2 サーバ(コンピュータ)
3 ホットストレージ(第1記憶装置)
4 データ記憶装置
5 サーバ(コンピュータ)
51 処理部
511 保存処理部
512 算出部
513 判断部
514 複製部
52 記憶部
521 一時バッファ
53 入力部
54 表示部
55 インタフェース
56 バス
6 コールドストレージ(第2記憶装置;ライブラリ装置)
61 ドライブ
62 メディア(媒体)
P1 データ利用プログラム(移送プログラム)
P2 データ配置プログラム(データ記憶装置制御プログラム)
T1 第1テーブル(データ移送リスト)
T2 第2テーブル
T3 第3テーブル
T4 第4テーブル
T5 第5テーブル(メディア残容量リスト)

Claims (6)

  1. 第1記憶装置に記憶されたデータを保存する複数の媒体と、
    前記複数の媒体のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出する算出部と、
    前記算出部によって算出された前記割合に基づいて、前記各データブロックが複製対象であるか否かを判断する判断部と、
    前記判断部によって前記複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の他媒体に保存する複製部と、を有する、データ記憶装置。
  2. 前記判断部は、
    前記割合が所定閾値以下のデータブロックを前記複製対象であると判断する一方、前記割合が所定閾値を超えるデータブロックを前記複製対象でないと判断する、請求項1に記載のデータ記憶装置。
  3. 前記二以上の媒体は、前記データを保存する第1媒体及び第2媒体を含み、
    前記第1媒体は、
    前記複数の次元情報のうちの第1次元情報の第1分類データとして分類されるとともに前記複数の次元情報のうちの第2次元情報の第1分類データとして分類される第1データブロックと、
    前記第1次元情報の第1分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第2データブロックと、を保存し、
    前記第2媒体は、
    前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第1分類データとして分類される第3データブロックと、
    前記第1次元情報の第2分類データとして分類されるとともに前記第2次元情報の第2分類データとして分類される第4データブロックと、を保存し、
    前記算出部によって算出された、前記第1データブロック及び前記第3データブロックの前記データに対する前記割合が前記所定値以下である場合、
    前記判断部は、前記第1データブロック及び前記第3データブロックを前記複製対象であると判断し、
    前記複製部は、前記第1データブロック及び前記第3データブロックの複製を作成して前記他媒体に保存する、請求項2に記載のデータ記憶装置。
  4. 前記第1記憶装置に記憶された前記データを前記複数の媒体に保存する保存処理部を有し、
    前記保存処理部は、前記データとして、前記複数の次元情報のうちの一の次元情報について連続する連続データを、前記複数の媒体に保存する場合、前記連続データを所定境界で分割し先行データブロックとして前記複数の媒体のうちの先行媒体に保存するとともに、前記先行データブロックにおける前記所定境界よりも先行する所定範囲の部分データと前記部分データに続く前記連続データとを含む後続データブロックを前記複数の媒体のうちの後続媒体に保存する、請求項1〜請求項3のいずれか一項に記載のデータ記憶装置。
  5. 第1記憶装置に記憶されたデータを保存する複数の媒体を含む第2記憶装置を制御するコンピュータに、
    前記複数の媒体のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出し、
    算出された前記割合に基づいて、前記各データブロックが複製対象であるか否かを判断し、
    前記複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の他媒体に保存する、
    処理を実行させる、データ記憶装置制御プログラム。
  6. 第1記憶装置に記憶されたデータを保存する複数の媒体を含む第2記憶装置を制御する方法であって、
    前記複数の媒体のうちの二以上の媒体に保存される前記データについて複数の次元情報によって分類される各データブロックの、前記データに対する割合を算出し、
    算出された前記割合に基づいて、前記各データブロックが複製対象であるか否かを判断し、
    前記複製対象であると判断されたデータブロックの複製を作成して前記複数の媒体のうちの前記二以上の媒体以外の他媒体に保存する、データ記憶装置制御方法。
JP2016038803A 2016-03-01 2016-03-01 データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法 Active JP6634886B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016038803A JP6634886B2 (ja) 2016-03-01 2016-03-01 データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法
US15/435,376 US10365853B2 (en) 2016-03-01 2017-02-17 Data storage apparatus, recording medium and method for selectively duplicating data blocks to another medium based on data block size and dimension information or an axis of obtaining data
US16/436,168 US10866758B2 (en) 2016-03-01 2019-06-10 Data storage apparatus, recording medium and method including duplicating data blocks classified according to dimension information and storing duplicates into media in different arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016038803A JP6634886B2 (ja) 2016-03-01 2016-03-01 データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法

Publications (2)

Publication Number Publication Date
JP2017156931A true JP2017156931A (ja) 2017-09-07
JP6634886B2 JP6634886B2 (ja) 2020-01-22

Family

ID=59724146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016038803A Active JP6634886B2 (ja) 2016-03-01 2016-03-01 データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法

Country Status (2)

Country Link
US (2) US10365853B2 (ja)
JP (1) JP6634886B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190081770A (ko) * 2017-12-29 2019-07-09 한양대학교 산학협력단 문자 종류 개수에 기반한 데이터 구분 방법, 데이터 분류기 및 스토리지 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6634886B2 (ja) * 2016-03-01 2020-01-22 富士通株式会社 データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法
CN110688350B (zh) * 2018-06-19 2023-05-09 阿里巴巴集团控股有限公司 一种存储日志的方法、装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6049431A (ja) 1983-08-29 1985-03-18 Fujitsu Ltd 磁気テ−プ交換処理方法
JPS61250671A (ja) * 1985-04-27 1986-11-07 株式会社デンソー 地図表示装置
US5684981A (en) * 1995-01-18 1997-11-04 Hewlett-Packard Company Memory organization and method for multiple variable digital data transformation
JPH10187505A (ja) 1996-12-24 1998-07-21 Toshiba Corp 情報記憶システム及び同システムに適用するデータ配置方法
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
JP2003536329A (ja) * 2000-06-02 2003-12-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 記憶媒体からブロックを読み出すための方法及びシステム
JP2002259062A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 記憶装置システム及び記憶装置システムにおけるデータの複写方法
US8090761B2 (en) * 2002-07-12 2012-01-03 Hewlett-Packard Development Company, L.P. Storage and distribution of segmented media data
JP2004334969A (ja) 2003-05-07 2004-11-25 Matsushita Electric Ind Co Ltd マルチファイルの実時間記録方法および再生方法
JP2005322099A (ja) 2004-05-11 2005-11-17 Fuji Photo Film Co Ltd 画像データ保管方法及びシステム、並びに、それに用いる端末及びサーバ
US20110161607A1 (en) * 2009-04-14 2011-06-30 Hitachi ,Ltd. Storage system and control method therefor
WO2011106262A2 (en) * 2010-02-23 2011-09-01 Rambus Inc. Hierarchical memory architecture
US8782339B2 (en) * 2010-10-11 2014-07-15 Open Invention Network, Llc Storage system having cross node data redundancy and method and computer readable medium for same
JP5867206B2 (ja) * 2012-03-16 2016-02-24 富士通株式会社 移動制御装置,プログラム及びストレージ装置
US20140304469A1 (en) * 2013-04-05 2014-10-09 Hewlett-Packard Development Company, L. P. Data storage
JP6634886B2 (ja) * 2016-03-01 2020-01-22 富士通株式会社 データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190081770A (ko) * 2017-12-29 2019-07-09 한양대학교 산학협력단 문자 종류 개수에 기반한 데이터 구분 방법, 데이터 분류기 및 스토리지 시스템
KR102175176B1 (ko) * 2017-12-29 2020-11-06 한양대학교 산학협력단 문자 종류 개수에 기반한 데이터 구분 방법, 데이터 분류기 및 스토리지 시스템

Also Published As

Publication number Publication date
US20190303012A1 (en) 2019-10-03
US10866758B2 (en) 2020-12-15
US20170255391A1 (en) 2017-09-07
JP6634886B2 (ja) 2020-01-22
US10365853B2 (en) 2019-07-30

Similar Documents

Publication Publication Date Title
US10977124B2 (en) Distributed storage system, data storage method, and software program
US8321384B2 (en) Storage device, and program and method for controlling storage device
US10970173B2 (en) Logging process in a data storage system
CN102591982A (zh) 执行增量sql服务器数据库备份的方法和系统
US8538929B2 (en) Archiving de-duplicated data on tape storage media using graph partitions
US20140379983A1 (en) Storage system, control apparatus, and control method
WO2018171296A1 (zh) 一种文件合并方法及控制器
US10866758B2 (en) Data storage apparatus, recording medium and method including duplicating data blocks classified according to dimension information and storing duplicates into media in different arrangement
CN104050200B (zh) 用于数据拷贝的方法和装置
CN107564558A (zh) 实现分散原子i/o写入
JP6269140B2 (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
US8762773B2 (en) Processing apparatus, data migration method, and computer-readable recording medium having data migration program recorded thereon
JP2006301892A (ja) 階層ストレージ管理装置、方法、およびプログラム
US20160342358A1 (en) Storage control apparatus and storage system
CN105373339B (zh) 一种硬盘数据的拷贝方法及系统
US10078467B2 (en) Storage device, computer readable recording medium, and storage device control method
US9170747B2 (en) Storage device, control device, and control method
US9733850B2 (en) Optical cold storage with encoding and placement of data chunks on different optical disks
US10365846B2 (en) Storage controller, system and method using management information indicating data writing to logical blocks for deduplication and shortened logical volume deletion processing
CN102576294A (zh) 含有多个存储装置的存储系统、方法及程序
JP6859684B2 (ja) ストレージ制御装置、ストレージ装置、及び制御プログラム
US9032169B2 (en) Method for high performance dump data set creation
US20130246842A1 (en) Information processing apparatus, program, and data allocation method
US9665310B2 (en) Storage control apparatus, storage control system, and control method
US10747432B2 (en) Storage device, storage system, and storage control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181112

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191107

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191202

R150 Certificate of patent or registration of utility model

Ref document number: 6634886

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150