(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024046388
(43)【公開日】2024-04-03
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G11B 20/10 20060101AFI20240327BHJP
G06F 3/06 20060101ALI20240327BHJP
G06F 11/10 20060101ALI20240327BHJP
G11B 5/008 20060101ALI20240327BHJP
G11B 20/18 20060101ALI20240327BHJP
H03M 7/30 20060101ALI20240327BHJP
【FI】
G11B20/10 301Z
G06F3/06 301W
G06F3/06 305C
G06F11/10
G11B20/10 301B
G11B5/008 Z
G11B20/18 572G
G11B20/18 572B
G11B20/18 532B
H03M7/30 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022151746
(22)【出願日】2022-09-22
(71)【出願人】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】増田 優子
(72)【発明者】
【氏名】大石 豊
(72)【発明者】
【氏名】近藤 理貴
(72)【発明者】
【氏名】大塚 美咲
【テーマコード(参考)】
5D044
5J064
【Fターム(参考)】
5D044AB03
5D044BC01
5D044CC02
5D044DE03
5D044DE38
5D044DE49
5D044GK02
5D044GK07
5J064BB08
5J064BC14
5J064BC22
(57)【要約】
【課題】パリティのサイズを低処理コストで抑制することができる情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】情報処理装置は、少なくとも1つのプロセッサを有する。プロセッサは、サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる第1のデータについて、第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、圧縮処理が行われたデータセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを有する情報処理装置であって、
前記プロセッサは、
サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる前記第1のデータについて、前記第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、
前記圧縮処理が行われた前記データセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する
情報処理装置。
【請求項2】
前記プロセッサは、前記第1のデータと前記第2のデータとのサイズの差が所定範囲内となるように前記圧縮処理を行う
請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、前記圧縮処理において、前記第1のデータを複数のデータ片に分割し、前記複数のデータ片を順次圧縮し、前記第1のデータと前記第2のデータとのサイズの差が所定範囲内となった段階で前記圧縮処理を停止する
請求項2に記載の情報処理装置。
【請求項4】
前記プロセッサは、圧縮率が互いに異なる複数の圧縮アルゴリズムのうち、前記第1のデータと前記第2のデータとのサイズの差に応じて選択される圧縮アルゴリズムを用いて前記圧縮処理を行う
請求項1に記載の情報処理装置。
【請求項5】
前記プロセッサは、
前記圧縮処理をテープドライブに行わせる
請求項1に記載の情報処理装置。
【請求項6】
前記プロセッサは、前記圧縮処理が行われた前記データセットに含まれる複数のデータ及び当該データセットに基づいて生成されたパリティを互いに異なる複数の磁気テープに記録する制御を行う
請求項1から請求項5のいずれか1項に記載の情報処理装置。
【請求項7】
サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる前記第1のデータについて、前記第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、
前記圧縮処理が行われた前記データセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する
処理を情報処理装置が有する少なくとも1つのプロセッサが実行する情報処理方法。
【請求項8】
サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる前記第1のデータについて、前記第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、
前記圧縮処理が行われた前記データセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する
処理を情報処理装置が有する少なくとも1つのプロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
複数のデータからなるデータセットに含まれるデータのうち、欠損が生じた一部のデータを復元するためのパリティの生成に関する技術として、以下の技術が知られている。
【0003】
特許文献1には、データ圧縮機能及びパリティ生成機能を備えたキャッシュ装置である不揮発性半導体メモリモジュールを有するストレージ装置が記載されている。上位装置からストレージ装置のボリュームに対して書き込まれたデータは、不揮発性半導体メモリモジュールに格納される際に圧縮された状態で格納される。不揮発性半導体メモリモジュールに格納されたデータを上位装置が読み出す場合には、伸長された状態で読み出される。不揮発性半導体メモリモジュールは、圧縮されて格納されたデータを圧縮された状態で読み出す手段を有する。ストレージ装置は不揮発性半導体メモリモジュールに格納された圧縮データを最終記憶媒体に格納する際には、不揮発性半導体メモリモジュールのパリティ生成機能を用いて不揮発性半導体メモリモジュール内の圧縮データからパリティを生成し、圧縮された状態のデータとパリティを読み出して最終記憶媒体に格納する。
【0004】
特許文献2には、入力データを所定の圧縮方式により圧縮して入力データ長にして出力する圧縮手段と、上記圧縮手段から出力される圧縮データを分割データ長に分割する分割手段と、上記分割手段から出力される分割データが上記分割データ長に満たないときに上記分割データ長に満たないデータにダミーデータを挿入して上記分割データ長にするダミーデータ挿入手段と、上記分割データ長に満たないデータに上記ダミーデータを挿入した分割データに対するパリティをオプションエリアに生成するパリティ生成手段と、を有する送信装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2015/075837
【特許文献2】特開2003-60650号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
複数のデータのうち、欠損が生じた一部のデータを復元可能とするためのパリティが生成される。パリティは、データセットに含まれる複数のデータに基づいて生成される。生成されるパリティのサイズは、データセットに含まれる複数のデータのうち、サイズが最も大きいデータのサイズに一致する。サイズが大きい多数のパリティを記録媒体に記録することは、記録媒体の使用効率の観点から好ましくない。
【0007】
開示の技術は、上記の点に鑑みてなされたものであり、パリティのサイズを低処理コストで抑制することを目的とする。
【課題を解決するための手段】
【0008】
開示の技術に係る情報処理装置は、少なくとも1つのプロセッサを有する。プロセッサは、サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる第1のデータについて、第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、圧縮処理が行われたデータセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する。
【0009】
プロセッサは、第1のデータと第2のデータとのサイズの差が所定範囲内となるように圧縮処理を行ってもよい。プロセッサは、圧縮処理において、第1のデータを複数のデータ片に分割し、複数のデータ片を順次圧縮し、第1のデータと第2のデータとのサイズの差が所定範囲内となった段階で圧縮処理を停止してもよい。プロセッサは、圧縮率が互いに異なる複数の圧縮アルゴリズムのうち、第1のデータと第2のデータとのサイズの差に応じて選択される圧縮アルゴリズムを用いて圧縮処理を行ってもよい。プロセッサは、圧縮処理をテープドライブに行わせてもよい。プロセッサは、圧縮処理が行われたデータセットに含まれる複数のデータ及び当該データセットに基づいて生成されたパリティを互いに異なる複数の磁気テープに記録する制御を行ってもよい。
【0010】
開示の技術に係る情報処理方法は、サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる第1のデータについて、第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、圧縮処理が行われたデータセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する処理を情報処理装置が有する少なくとも1つのプロセッサが実行する、というものである。
【0011】
開示の技術に係るプログラムは、サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる第1のデータについて、第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、圧縮処理が行われたデータセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する処理を情報処理装置が有する少なくとも1つのプロセッサに実行させるためのプログラムである。
【発明の効果】
【0012】
開示の技術によれば、パリティのサイズを低処理コストで抑制することが可能となる。
【図面の簡単な説明】
【0013】
【
図1】開示の技術の実施形態に係るストレージシステムの構成の一例を示す図である。
【
図2】開示の技術の実施形態に係る情報処理装置がデータを磁気テープに記録する際に実施する処理の一例を示す図である。
【
図3】開示の技術の実施形態に係るパディング処理の一例を示す図である。
【
図4】開示の技術の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【
図5】開示の技術の実施形態に係る情報処理装置の機能的な構成の一例を示す機能ブロック図である。
【
図6】開示の技術の実施形態に係るデータセットの一例を示す図である。
【
図7A】開示の技術の実施形態に係る圧縮処理の態様の一例を示す図である。
【
図7B】開示の技術の実施形態に係る圧縮処理の態様の一例を示す図である。
【
図8】開示の技術の実施形態に係るデータの圧縮方法の一例を示す図である。
【
図9】開示の技術の実施形態に係るパリティ生成処理の態様の一例を示す図である。
【
図10】開示の技術の実施形態に係るデータの記録制御の態様の一例を示す図である。
【
図11】開示の技術の実施形態に係る情報処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。
【
図12】開示の技術の実施形態に係る情報処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素及び部分には同一の参照符号を付与し、重複する説明は省略する。
【0015】
図1は、開示の技術の実施形態に係るストレージシステム1の構成の一例を示す図である。ストレージシステム1は、ネットワークを介してストレージシステム1に接続されるユーザ端末等の外部装置(図示せず)から保存要求があったデータを保存し、外部装置からデータの読み出し要求があった場合、要求されたデータを読み出して外部装置に送信する。ストレージシステム1は、データをオブジェクトの単位で扱うオブジェクトストレージシステムであってもよい。オブジェクトは、データ本体と、データ本体に関するメタデータとを含んで構成される。
【0016】
ストレージシステム1は、情報処理装置10及びテープライブラリ20を含む。テープライブラリ20は、複数のスロット(図示せず)及び複数のテープドライブ40を備え、各スロットには磁気テープ30が格納される。ユーザ端末等の外部装置から保存要求があったデータは、磁気テープ30に記録される。テープドライブ40は、情報処理装置10からの指示に基づいて、テープドライブ40に装填された磁気テープ30へのデータの記録(書き込み)及び磁気テープ30からのデータの読み出しを行う。磁気テープ30の例としては、LTO(Linear Tape-Open)テープが挙げられる。磁気テープ30に対してデータの記録又は読み出しを行う場合、対象の磁気テープ30がスロットから取り出され、所定のテープドライブ40に装填される。テープドライブ40に装填された磁気テープ30に対するデータの記録又は読み出しが完了すると、磁気テープ30は、テープドライブ40から取り出され、所定のスロットに格納される。情報処理装置10は、磁気テープ30に対するデータの記録及び読み出しを制御する。
【0017】
図2は、情報処理装置10が、ユーザ端末等の外部装置(図示せず)から保存要求があったデータを磁気テープ30に記録する際に実施する処理の一例を示す図である。情報処理装置10は、磁気テープ30に記録されるデータ50の少なくとも一部が、何らかの理由によって欠損した場合に、欠損した一部のデータ50を復元可能とするためのパリティ70を生成する。情報処理装置10は、2つ以上の所定数のデータ50によって編成されるデータセット60に基づいて、少なくとも1つのパリティ70を生成する。パリティ70は、例えば、イレージャーコーディング等の冗長符号化技術を用いて、データセット60に含まれる複数のデータ50の各々を数学的に処理することによって生成される。
【0018】
図2には、3つのデータ50からなるデータセット60に基づいて1つのパリティ70が生成される場合が例示されている。この態様によれば、データセット60に含まれる3つのデータ50のうちの1つが欠損した場合に、残りの2つのデータ50とパリティ70とによって、欠損した1つのデータ50を復元することが可能である。なお、2つ又は4つ以上のデータ50からなるデータセット60について、1つ又は2つ以上のパリティ70を生成してもよい。データセット60に含まれるデータ50の数が少ない程、生成されるパリティ70の数が多い程、データ50の欠損に対する耐性が高くなる。情報処理装置10は、データセット60に含まれる複数のデータ50の各々及びデータセット60に基づいて生成されたパリティ70を、それぞれ別々の磁気テープ30に記録する制御を行う。これにより、磁気テープ30の破損又は紛失等に伴うデータ50の欠損に対して対応することが可能となる。
【0019】
パリティ70の算出においては、データセット60に含まれる複数のデータ50のサイズを互いに同一にする必要がある。データセット60に含まれる複数のデータ50のサイズが互いに異なる場合、情報処理装置10は、データセット60に含まれる最大サイズのデータ以外の各データにダミーデータを付加するパディング処理を行った後にパリティ70を生成する。
図3は、パディング処理の一例を示す図である。
図3には、サイズが相対的に小さいデータ50B及び50Cに対してダミーデータ51を付加することにより、データ50B、50Cのそれぞれのサイズを最大サイズのデータ50Aに一致させるパディング処理が例示されている。ダミーデータ51は、例えば、全てのビットに“0”が割り当てられたビット列からなるデータ又はランダムに定められた値が各ビットに割り当てられたビット列からなるデータであってもよい。
図3に示す例において、情報処理装置10は、最大サイズのデータ50Aと、ダミーデータ51が付加されたデータ50B及び50Cとを用いてパリティ70を生成する。生成されるパリティ70のサイズは、最大サイズのデータ50Aのサイズと同一となる。
【0020】
サイズが大きい多数のパリティを磁気テープ30に記録することは、磁気テープ30の使用効率の観点から好ましくない。本実施形態に係る情報処理装置10は、パリティのサイズを低処理コストで小さくする機能を有する。
【0021】
図4は、情報処理装置10のハードウェア構成の一例を示す図である。情報処理装置10は、CPU(Central Processing Unit)101、一時記憶領域としてのRAM(Random Access Memory)102、及び不揮発性メモリ103を含む。また、情報処理装置10は、液晶ディスプレイ等の表示部104、キーボード及びマウス等の入力デバイスを含む入力部105、ネットワークに接続されるネットワークインターフェース106、及びテープドライブ40が接続される外部インターフェース107を含む。CPU101、RAM102、不揮発性メモリ103、表示部104、入力部105、ネットワークインターフェース106、及び外部インターフェース107は、バス108に接続される。
【0022】
不揮発性メモリ103は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等の不揮発性の記憶媒体である。不揮発性メモリ103には、情報処理プログラム110が格納されている。CPU101は、不揮発性メモリ103から情報処理プログラム110を読み出してRAM102に展開し、実行する。なお、情報処理装置10の例としては、サーバコンピュータ等が挙げられる。CPU101は、開示の技術における「プロセッサ」の一例である。
【0023】
図5は、ユーザ端末等の外部装置(図示せず)から保存要求があったデータを磁気テープ30に記録する場合の、情報処理装置10の機能的な構成の一例を示す機能ブロック図である。情報処理装置10は、CPU101が情報処理プログラム110を実行することにより、データセット編成部11、圧縮処理部12、パリティ生成部13及び記録制御部14として機能する。
【0024】
ユーザ端末等の外部装置から保存要求があったデータは、不揮発性メモリ103に格納される。データセット編成部11は、不揮発性メモリ103に格納された保存対象のデータを用いて、所定数のデータからなるデータセットを編成する。
図6は、編成されたデータセット60の一例を示す図である。
図6には、サイズが互いに異なる3つのデータ50A、50B、50Cからなるデータセット60が編成された場合が例示されている。
図6に示す例において、データ50Aのサイズが最も大きく、データ50Cのサイズが最も小さい。データセットの編成方法は、特に限定されないが、例えば、保存要求があった複数のデータをサイズ順でソートした場合の連続する所定数のデータによってデータセットを編成してもよい。この態様によれば、データセットに含まれる複数のデータサイズの差を小さくすることができる。
【0025】
圧縮処理部12は、データセットに含まれるサイズが相対的に大きい少なくとも1つの第1のデータと、データセットに含まれるサイズが相対的に小さい少なくとも1つの第2のデータとのサイズの差が小さくなるように、第1のデータのサイズを小さくする圧縮処理を行う。
図7Aは、
図6に例示するデータセット60に対する圧縮処理の態様の一例を示す図である。
図7Aに示す例において、圧縮処理部12は、最大サイズのデータ50Aと、サイズが2番目に大きいデータ50Bとのサイズの差が小さくなるように、データ50Aのサイズを小さくする圧縮処理を行う。
図7Aに示す例において、データ50Aは、開示の技術における「第1のデータ」の一例であり、データ50Bは、開示の技術における「第2のデータ」の一例である。
【0026】
図7Bは、
図6に例示するデータセット60に対する圧縮処理の態様の他の例を示す図である。圧縮処理部12は、
図7Bに例示するように、最大サイズのデータ50Aと、最小サイズのデータ50Cとのサイズの差が小さくなるようにデータ50Aのサイズを小さくし、更に、サイズが2番目に大きいデータ50Bと、最小サイズのデータ50Cとのサイズの差が小さくなるよう、データ50Bのサイズを小さくする圧縮処理を行ってもよい。
図7Bに示す例において、データ50A及びデータ50Bは、開示の技術における「第1のデータ」の一例であり、データ50Cは、開示の技術における「第2のデータ」の一例である。
【0027】
図8は、
図7Aに例示する態様で圧縮処理を行う場合(すなわち、データ50Aとデータ50Bとのサイズの差が小さくなるようにデータ50Aのサイズを小さくする圧縮処理を行う場合)のデータの圧縮方法の一例を示す図である。圧縮処理部12は、圧縮対象のデータ50Aを複数のデータ片に分割する。
図8には、10個のデータ片d0~d9に分割されたデータ50Aが例示されている。複数のデータ片d0~d9のサイズは互いに同じであることが好ましい。1つのデータ片のサイズは適宜設定することが可能である。1つのデータ片のサイズに応じてデータ50Aの分割数が定まる。
【0028】
圧縮処理部12は、複数のデータ片d0~d9を順次圧縮する。すなわち、圧縮処理部12は、先頭のデータ片d0から順番にデータ片毎に圧縮を行う。圧縮処理部12は、データ50Aとデータ50Bとのサイズの差が所定範囲内(閾値以下)となった段階で圧縮処理を停止する。
図8には、データ片d0からデータ片d4までの各データ片の圧縮が完了した段階でデータ50Aとデータ50Bとのサイズの差が所定範囲内となった場合が例示されている。圧縮処理部12は、この段階で圧縮処理を停止する。上記の圧縮方法によれば、データ50Aとデータ50Bとのサイズの差が所定範囲となるようにデータ50Aのサイズを小さくする圧縮処理を実現することができる。
【0029】
パリティ生成部13は、圧縮処理が行われたデータセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する。パリティ生成部13は、パリティを生成する前に、圧縮処理後におけるデータセットに含まれる複数のデータのサイズが互いに同一となるように、最大サイズのデータ以外の各データにダミーデータを付加するパディング処理を行う。
【0030】
図9は、
図7Aに例示する態様で圧縮処理が行われた場合(すなわち、データ50Aとデータ50Bとのサイズの差が小さくなるようにデータ50Aのサイズを小さくする圧縮処理が行われた場合)におけるパリティ生成処理の態様の一例を示す図である。
図9に示す例において、パリティ生成部13は、データセット60に含まれる複数のデータのうち、最小サイズのデータ50Cにダミーデータ51を付加する。データ50Aとデータ50Bとのサイズの差を小さくする圧縮処理後において、これらのデータのサイズに差がある場合には、パリティ生成部13は、これらのデータのうちサイズがより小さいデータにもダミーデータ(図示せず)を付加する。データセット60に含まれる最大サイズのデータ以外の各データにダミーデータ51を付加することにより、データ50A、50B及び50Cのサイズは互いに同一となる。パリティ生成部13は、圧縮処理及びパディング処理が行われたデータセット60に基づいてパリティ70を生成する。このパリティ70は、当該データセット60に含まれるデータ50A、50B及び50Cのうち、欠損した一部のデータを復元するためのものである。パリティ70のサイズは、圧縮処理後のデータセット60に含まれる複数のデータのうち、最大サイズのデータのサイズと同一となる。
【0031】
記録制御部14は、圧縮処理が行われたデータセットに含まれる複数のデータ及び当該データセットに基づいて生成されたパリティを互いに異なる複数の磁気テープに記録する制御を行う。
図10は、
図9に例示する態様でパリティ生成が行われたデータセット60についての記録制御の態様の一例を示す図である。
図10に示す例において、記録制御部14は、圧縮処理が行われたデータセット60に含まれるデータ50A、50B及び50C並びに当該データセット60に基づいて生成されたパリティ70を互いに異なる複数の磁気テープ30に記録する制御を行う。これにより、磁気テープ30の破損又は紛失等に伴うデータの欠損に対して対応することが可能となる。なお、パディング処理においていずれかのデータに付加されたダミーデータについては、磁気テープ30に記録することを要しない。パリティの生成に用いられたダミーデータの内容を、当該パリティに対応付けて保存しておくことで、欠損したデータを復元することが可能である。
【0032】
図11は、CPU101が、情報処理プログラム110を実行することによって実施される処理の流れの一例を示すフローチャートである。情報処理プログラム110は、例えば、ユーザ端末等の外部装置(図示せず)から保存要求があったデータを磁気テープ30に記録するタイミングで実行される。
【0033】
ステップS1において、データセット編成部11は、不揮発性メモリ103に格納されている保存対象のデータを用いて、所定数のデータからなるデータセットを編成する。
【0034】
ステップS2において、圧縮処理部12は、ステップS1において編成されたデータセットに含まれるサイズが相対的に大きい少なくとも1つの第1のデータと、データセットに含まれるサイズが相対的に小さい少なくとも1つの第2のデータとのサイズの差が小さくなるように、第1のデータのサイズを小さくする圧縮処理を行う。
【0035】
ステップS3において、パリティ生成部13は、ステップS2において圧縮処理が行われたデータセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する。パリティ生成部13は、パリティを生成する前に、圧縮処理後におけるデータセットに含まれる複数のデータのサイズが互いに同一となるように、最大サイズのデータ以外の各データにダミーデータを付加するパディング処理を行う。
【0036】
ステップS4において、記録制御部14は、ステップS2において圧縮処理が行われたデータセットに含まれる複数のデータ及びステップS3において生成されたパリティを互いに異なる複数の磁気テープ30に記録する制御を行う。
【0037】
以上のように、開示の技術の実施形態に係る情報処理装置10は、サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる第1のデータについて、第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、圧縮処理が行われたデータセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する。
【0038】
上記したように、データセットに基づいて生成されるパリティのサイズは、当該データセットに含まれる最大サイズのデータのサイズと同一となる。本実施形態に係る情報処理装置10によれば、データセットに含まれる複数のデータのうち、最大サイズのデータを含む第1のデータが圧縮される。これにより、当該データセットに基づいて生成されるパリティのサイズを小さくすることができる。
【0039】
また、本実施形態に係る情報処理装置10によれば、圧縮処理は、サイズが相対的に大きい第1のデータと、サイズが相対的に小さい第2のデータとのサイズの差を小さくする目的で行われる。すなわち、圧縮処理において、第1のデータは限界まで圧縮されるとは限らない。第1のデータを限界まで圧縮したとしても、生成されるパリティのサイズは、第2のデータのサイズを下回ることはない。一方で、圧縮処理において圧縮サイズが大きくなる程、処理時間等の処理コストが増大する。なお、圧縮サイズとは、圧縮処理前のデータのサイズと圧縮処理後のデータのサイズとの差分である。第1のデータについて、第2のデータとのサイズの差を小さくする圧縮処理を行うことで、第1のデータを限界まで圧縮する場合と比較して処理コストを抑えることができる。すなわち、本実施形態に係る情報処理装置10によれば、パリティのサイズを低処理コストで抑制することが可能となる。
【0040】
また、本実施形態に係る情報処理装置10によれば、圧縮処理において、第1のデータが複数のデータ片に分割され、複数のデータ片が順次圧縮される。第1のデータと第2のデータとのサイズの差が所定範囲内となった段階で圧縮処理が停止される。これにより、第1のデータと第2のデータとのサイズの差を小さくする圧縮処理において、第1のデータの圧縮サイズを最小限に抑えることができるので、圧縮処理の処理コストを最小限に抑えることが可能となる。
【0041】
なお、圧縮処理部12は、上記の圧縮方法に代えて、以下に例示する圧縮方法を適用してもよい。圧縮処理部12は、圧縮率が互いに異なる複数の圧縮アルゴリズムのうち、第1のデータと第2のデータとのサイズの差に応じて選択される圧縮アルゴリズムを用いて圧縮処理を行ってもよい。すなわち、圧縮処理部12は、第1のデータと第2のデータとのサイズの差が相対的に大きい場合には、圧縮率が相対的に高い圧縮アルゴリズムを使用して圧縮処理を行い、第1のデータと第2のデータとのサイズの差が相対的に小さい場合には、圧縮率が相対的に低い圧縮アルゴリズムを使用する。ここで、圧縮率が相対的に高い圧縮アルゴリズムは、圧縮率が相対的に低い圧縮アルゴリズムよりも処理コストが大きいものである。圧縮処理部12は、第1のデータと第2のデータとのサイズの差と、圧縮処理において使用する圧縮アルゴリズムとを対応付けたテーブルを参照して使用すべき圧縮アルゴリズムを選択してもよい。このように、圧縮率が互いに異なる複数の圧縮アルゴリズムを、第1のデータと第2のデータとのサイズの差に応じて選択的に使用することで、圧縮処理における処理コストを抑制することが可能となる。
【0042】
また、圧縮処理部12は、圧縮処理をテープドライブ40に行わせてもよい。テープドライブ40は、磁気テープ30に記録すべきデータを圧縮するデータ圧縮機能を有する。第1のデータと第2のデータとのサイズの差を小さくする圧縮処理を、テープドライブ40が有するデータ圧縮機能を用いて行うことは可能である。
図12は、圧縮処理部12が、圧縮処理をテープドライブ40に行わせる場合の処理の流れの一例を示すフローチャートである。
図12に示すフローチャートは、
図11に示すフローチャートのステップS2を、ステップS2A及びS2Bに置き換えたものである。以下、ステップS2A及びS2Bについて説明し、他のステップの説明は省略する。
【0043】
ステップS2Aにおいて、圧縮処理部12は、ステップS1において編成されたデータセットに含まれるサイズが相対的に大きい少なくとも1つの第1のデータを圧縮すべき圧縮指示をテープドライブ40に送信する。圧縮処理部12は、圧縮指示とともに圧縮対象である第1のデータをテープドライブ40に送信する。なお、圧縮処理部12は、圧縮処理後における第1のデータの目標サイズを指定してもよい。圧縮指示を受信したテープドライブ40は、当該圧縮指示とともに受信した第1のデータを、自身が備えるデータ圧縮機能を用いて圧縮する。テープドライブ40は、圧縮した第1のデータを情報処理装置10に送信する。ステップS2Bにおいて、圧縮処理部12は、テープドライブ40から送信された圧縮後の第1のデータを取得する。
【0044】
以上のように、圧縮処理をテープドライブ40に行わせることで、情報処理装置10の処理負荷を軽減することが可能となる。
【0045】
上記の各実施形態において、例えば、データセット編成部11、圧縮処理部12、パリティ生成部13及び記録制御部14といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【0046】
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
【0047】
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System on Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
【0048】
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
【0049】
また、上記実施形態では、情報処理プログラム110が不揮発性メモリ103に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム110は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム110は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0050】
以上の実施形態に関し、更に以下の付記を開示する。
【0051】
(付記1)
少なくとも1つのプロセッサを有する情報処理装置であって、
前記プロセッサは、
サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる前記第1のデータについて、前記第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、
前記圧縮処理が行われた前記データセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する
情報処理装置。
【0052】
(付記2)
前記プロセッサは、前記第1のデータと前記第2のデータとのサイズの差が所定範囲内となるように前記圧縮処理を行う
付記1に記載の情報処理装置。
【0053】
(付記3)
前記プロセッサは、前記圧縮処理において、前記第1のデータを複数のデータ片に分割し、前記複数のデータ片を順次圧縮し、前記第1のデータと前記第2のデータとのサイズの差が所定範囲内となった段階で前記圧縮処理を停止する
付記1又は付記2に記載の情報処理装置。
【0054】
(付記4)
前記プロセッサは、圧縮率が互いに異なる複数の圧縮アルゴリズムのうち、前記第1のデータと前記第2のデータとのサイズの差に応じて選択される圧縮アルゴリズムを用いて前記圧縮処理を行う
付記1又は付記2に記載の情報処理装置。
【0055】
(付記5)
前記プロセッサは、
前記圧縮処理をテープドライブに行わせる
付記1から付記4のいずれか1つに記載の情報処理装置。
【0056】
(付記6)
前記プロセッサは、前記圧縮処理が行われた前記データセットに含まれる複数のデータ及び当該データセットに基づいて生成されたパリティを互いに異なる複数の磁気テープに記録する制御を行う
付記1から付記5のいずれか1つに記載の情報処理装置。
【0057】
(付記7)
サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる前記第1のデータについて、前記第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、
前記圧縮処理が行われた前記データセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する
処理を情報処理装置が有する少なくとも1つのプロセッサが実行する情報処理方法。
【0058】
(付記8)
サイズが相対的に大きい少なくとも1つの第1のデータ及びサイズが相対的に小さい少なくとも1つの第2のデータを含むデータセットに含まれる前記第1のデータについて、前記第2のデータとのサイズの差が小さくなるようにサイズを小さくする圧縮処理を行い、
前記圧縮処理が行われた前記データセットに基づいて、当該データセットに含まれる複数のデータのうちの欠損した一部のデータを復元するためのパリティを生成する
処理を情報処理装置が有する少なくとも1つのプロセッサに実行させるためのプログラム。
【符号の説明】
【0059】
1 ストレージシステム
10 情報処理装置
11 データセット編成部
12 圧縮処理部
13 パリティ生成部
14 記録制御部
20 テープライブラリ
30 磁気テープ
40 テープドライブ
50、50A、50B、50C データ
51 ダミーデータ
60 データセット
70 パリティ
101 CPU
102 RAM
103 不揮発性メモリ
104 表示部
105 入力部
106 ネットワークインターフェース
107 外部インターフェース
108 バス
110 情報処理プログラム