IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士フイルム株式会社の特許一覧

特開2024-47452情報処理装置、情報処理方法及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024047452
(43)【公開日】2024-04-05
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G11B 20/10 20060101AFI20240329BHJP
   G06F 3/06 20060101ALI20240329BHJP
   G11B 20/18 20060101ALI20240329BHJP
【FI】
G11B20/10 301Z
G06F3/06 303Z
G06F3/06 305C
G11B20/18 542Z
G11B20/18 532B
G11B20/18 570G
G11B20/18 572B
G11B20/18 572G
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022153068
(22)【出願日】2022-09-26
(71)【出願人】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】増田 優子
(72)【発明者】
【氏名】大石 豊
(72)【発明者】
【氏名】近藤 理貴
(72)【発明者】
【氏名】大塚 美咲
【テーマコード(参考)】
5D044
【Fターム(参考)】
5D044AB03
5D044BC01
5D044CC02
5D044DE03
5D044DE49
5D044DE61
5D044DE68
5D044GK19
(57)【要約】
【課題】磁気テープの使用効率の低下を抑制しつつ、データの欠損に対する耐性を確保することができる情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】情報処理装置は、少なくとも1つのプロセッサを有する。プロセッサは、データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、データが磁気テープの特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する。
【選択図】図9
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを有する情報処理装置であって、
前記プロセッサは、
データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、
データが磁気テープの前記特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する
情報処理装置。
【請求項2】
前記特定領域は、エラーレートが相対的に高い領域として予め定められた磁気テープ上の領域である
請求項1に記載の情報処理装置。
【請求項3】
前記特定領域は、磁気テープの走行方向における特定の位置を含む領域である
請求項1に記載の情報処理装置。
【請求項4】
前記特定領域は、磁気テープの走行方向と交差する幅方向における特定の位置を含む領域である
請求項1に記載の情報処理装置。
【請求項5】
前記特定領域は、磁気テープの特定のラップを含む領域である
請求項1に記載の情報処理装置。
【請求項6】
前記特定領域は、磁気テープのエッジの近傍領域である
請求項1に記載の情報処理装置。
【請求項7】
前記特定領域は、特定の走行方向で磁気テープが走行しているときにデータが記録される領域である
請求項1に記載の情報処理装置。
【請求項8】
前記プロセッサは、
前記データセットに含まれるいずれかのデータが前記特定領域以外の領域に記録される場合、前記特定領域以外の領域に記録されるデータの磁気テープ上の記録位置におけるエラーレートに基づいて、前記第1の方式及び前記第2の方式のいずれかを選択し、
選択した方式を適用して当該データセットに基づいてパリティを生成する
請求項1から請求項7のいずれか1項に記載の情報処理装置。
【請求項9】
データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、
データが磁気テープの前記特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する
処理を情報処理装置が有する少なくとも1つのプロセッサが実行する情報処理方法。
【請求項10】
データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、
データが磁気テープの前記特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する
処理を情報処理装置が有する少なくとも1つのプロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
複数のデータからなるデータセットに含まれるデータのうち、欠損が生じた一部のデータを復元するためのパリティの生成に関する技術として、以下の技術が知られている。
【0003】
特許文献1には、光ディスクの第1の領域にデータを記録する場合には、書き込むデータに対して正常な内符号パリティと外符号パリティを生成し、光ディスクの制御情報記録領域を有する第2の領域に記録する場合には、書き込み可能領域の内符号に対して内符号パリティを生成することが記載されている。
【0004】
特許文献2には、記録データを複数の記録データブロックに分割し、n個のストレージの対応する領域に記録するn個の記録データブロックから第1のパリティデータを生成し、n個のストレージと1個のストレージの対応する領域のうち、n個のストレージの対応する領域にn個の記録データブロックを記録し、1個のストレージの対応する領域に第1のパリティデータを記録し、n個未満のm個の記録データブロックが余る場合、余ったm個の記録データブロックに基づき一時パリティデータを生成し、n個のストレージのうちの少なくとも一つのストレージに一時パリティデータを記録することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006-31863号公報
【特許文献2】特開2014-53066号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
複数のデータのうち、欠損が生じた一部のデータを復元可能とするためにパリティが生成される。パリティの生成処理は、所定数のデータに基づいて、所定数のパリティを生成する処理である。パリティは、例えば、イレージャーコーディング等の冗長符号化技術を用いて所定数のデータを数学的に処理することによって生成される。パリティを生成するために用いるデータの数及び生成するパリティの数の組み合わせによって、データの欠損の対する耐性が決まる。例えば3つのデータに基づいて1つのパリティが生成された場合、欠損したデータが復元可能であるためには、欠損するデータの数は1つ以下であることを要する。一方、3つのデータに基づいて2つのパリティが生成された場合、欠損したデータが復元可能であるためには、欠損するデータの数は2つ以下であることを要する。前者より後者の方がデータの欠損に対する耐性が高いといえる。データの欠損に対する耐性が高くなる程、データの冗長性が高くなり、データ及びパリティが記録される記録媒体の使用効率が低下する。
【0007】
一方、磁気テープに記録されるデータのエラーレートは、当該データの磁気テープ上の記録位置に依存する傾向ある。例えば、磁気テープのエッジは、テープ幅方向の中央と比較して物理的なダメージを受けやすく、エラーレートが高い傾向がある。磁気テープのエラーレートが相対的に低い領域に記録されるデータは、欠損する確率が相対的に低いと考えられる。したがって、磁気テープのエラーレートが相対的に低い領域に記録されるデータに対して、欠損に対する耐性を確保するために、過剰な冗長性を持たせてパリティを生成することは、磁気テープの使用効率の観点から好ましくない。
【0008】
開示の技術は、上記の点に鑑みてなされたものであり、磁気テープの使用効率の低下を抑制しつつ、データの欠損に対する耐性を確保することを目的とする。
【課題を解決するための手段】
【0009】
開示の技術に係る情報処理装置は、少なくとも1つのプロセッサを有する。プロセッサは、データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、データが磁気テープの特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する。
【0010】
特定領域は、エラーレートが相対的に高い領域として予め定められた磁気テープ上の領域であってもよい。特定領域は、磁気テープの走行方向における特定の位置を含む領域であってもよい。特定領域は、磁気テープの走行方向と交差する幅方向における特定の位置を含む領域であってもよい。特定領域は、磁気テープの特定のラップを含む領域であってもよい。特定領域は、磁気テープのエッジの近傍領域であってもよい。特定領域は、特定の走行方向で磁気テープが走行しているときにデータが記録される領域であってもよい。
【0011】
プロセッサは、データセットに含まれるいずれかのデータが特定領域以外の領域に記録される場合、特定領域以外の領域に記録されるデータの磁気テープ上の記録位置におけるエラーレートに基づいて、第1の方式及び第2の方式のいずれかを選択し、選択した方式を適用して当該データセットに基づいてパリティを生成してもよい。
【0012】
開示の技術に係る情報処理方法は、データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、データが磁気テープの特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する処理を情報処理装置が有する少なくとも1つのプロセッサが実行する、というものである。
【0013】
開示の技術に係るプログラムは、データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、データが磁気テープの特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する処理を情報処理装置が有する少なくとも1つのプロセッサに実行させるためのプログラムである。
【発明の効果】
【0014】
開示の技術によれば、磁気テープの使用効率の低下を抑制しつつ、データの欠損に対する耐性を確保することが可能となる。
【図面の簡単な説明】
【0015】
図1】開示の技術の実施形態に係るストレージシステムの構成の一例を示す図である。
図2】開示の技術の実施形態に係るデータを磁気テープに記録する際に実施される処理の一例を示す図である。
図3】開示の技術の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
図4】開示の技術の実施形態に係る情報処理装置の機能的な構成の一例を示す機能ブロック図である。
図5】開示の技術の実施形態に係るデータの分配の態様の一例を示す図である。
図6】開示の技術の実施形態に係るデータセットの編成の態様の一例を示す図である。
図7A】開示の技術の実施形態に係る特定領域の一例を示す図である。
図7B】開示の技術の実施形態に係る特定領域の一例を示す図である。
図7C】開示の技術の実施形態に係る特定領域の一例を示す図である。
図8A】開示の技術の実施形態に係る第1の方式が適用される場合のパリティ生成の態様の一例を示す図である。
図8B】開示の技術の実施形態に係る第2の方式が適用される場合のパリティ生成の態様の一例を示す図である。
図9】開示の技術の実施形態に係る情報処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。
図10A】開示の技術の実施形態に係る第1の方式が適用される場合のパリティ生成の態様の他の例を示す図である。
図10B】開示の技術の実施形態に係る第2の方式が適用される場合のパリティ生成の態様の他の例を示す図である。
図11】開示の技術の他の実施形態に係る情報処理装置の機能的な構成の一例を示す機能ブロック図である。
図12】開示の技術の他の実施形態に係る情報処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素及び部分には同一の参照符号を付与し、重複する説明は省略する。
【0017】
[第1の実施形態]
図1は、開示の技術の実施形態に係るストレージシステム1の構成の一例を示す図である。ストレージシステム1は、ネットワークを介してストレージシステム1に接続されるユーザ端末等の外部装置(図示せず)から保存要求があったデータを保存し、外部装置からデータの読み出し要求があった場合、要求されたデータを読み出して外部装置に送信する。ストレージシステム1は、データをオブジェクトの単位で扱うオブジェクトストレージシステムであってもよい。オブジェクトは、データ本体と、データ本体に関するメタデータとを含んで構成される。
【0018】
ストレージシステム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に対するデータの記録及び読み出しを制御する。
【0019】
図2は、情報処理装置10が、ユーザ端末等の外部装置(図示せず)から保存要求があったデータを磁気テープ30に記録する際に実施する処理の一例を示す図である。情報処理装置10は、磁気テープ30に記録されるデータ50の少なくとも一部が、何らかの理由によって欠損した場合に、欠損した一部のデータ50を復元可能とするためのパリティ70を生成する。情報処理装置10は、2つ以上の所定数のデータ50によって編成されるデータセット60に基づいて、少なくとも1つのパリティ70を生成する。パリティ70は、例えば、イレージャーコーディング等の冗長符号化技術を用いて、データセット60に含まれる複数のデータ50の各々を数学的に処理することによって生成される。情報処理装置10は、データセット60に含まれる複数のデータ50の各々及びデータセット60に基づいて生成されたパリティ70を、それぞれ別々の磁気テープ30に記録する制御を行う。これにより、磁気テープ30の破損又は紛失等に伴うデータ50の欠損に対して対応することが可能となる。
【0020】
パリティ70を生成するために用いるデータ50の数及び生成するパリティ70の数の組み合わせによって、データ50の欠損に対する耐性が変化する。図2には、3つのデータ50からなるデータセット60に基づいて1つのパリティ70が生成される場合が例示されている。この態様によれば、データセット60に含まれる3つのデータ50のうちの1つが欠損した場合に、残りの2つのデータ50とパリティ70とによって、欠損した1つのデータ50を復元することが可能である。データの欠損に対する耐性が高くなる程、データの冗長性が高くなり、データ及びパリティが記録される磁気テープの使用効率が低下する。
【0021】
一方、磁気テープ30に記録されるデータのエラーレートは、当該データの磁気テープ30上の記録位置に依存する傾向ある。例えば、磁気テープ30のエッジは、テープ幅方向の中央と比較して物理的なダメージを受けやすく、エラーレートが高い傾向がある。磁気テープ30の相対的にエラーレートが低い領域に記録されるデータは、欠損する確率が相対的に低いと考えられる。したがって、磁気テープ30の相対的にエラーレートが低い領域に記録されるデータに対して、欠損に対する耐性を確保するために、過剰な冗長性を持たせてパリティを生成することは、磁気テープ30の使用効率の観点から好ましくない。本実施形態に係る情報処理装置10は、以下に説明するように、磁気テープの使用効率の低下を抑制しつつ、データの欠損に対する耐性を確保することを可能とするものである。
【0022】
図3は、情報処理装置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に接続される。
【0023】
不揮発性メモリ103は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等の不揮発性の記憶媒体である。不揮発性メモリ103には、情報処理プログラム110が格納されている。CPU101は、不揮発性メモリ103から情報処理プログラム110を読み出してRAM102に展開し、実行する。なお、情報処理装置10の例としては、サーバコンピュータ等が挙げられる。CPU101は、開示の技術における「プロセッサ」の一例である。
【0024】
図4は、ユーザ端末等の外部装置(図示せず)から保存要求があったデータを磁気テープに記録する場合の、情報処理装置10の機能的な構成の一例を示す機能ブロック図である。情報処理装置10は、CPU101が情報処理プログラム110を実行することにより、記録制御部11、記録位置情報取得部12、データセット編成部13及びパリティ生成部14として機能する。
【0025】
ユーザ端末等の外部装置から保存要求があったデータは、不揮発性メモリ103に格納される。記録制御部11は、不揮発性メモリ103に格納された保存対象の複数のデータ及びこれらのデータの磁気テープへの記録指示をテープライブラリ20が備える複数のテープドライブ40に分配する。図5には、保存対象のデータ50がテープドライブ40A、40B、40Cに分配される場合が例示されている。テープドライブ40A、40B、40Cは、それぞれ、記録制御部11から供給されたデータ50を、自身に装填された磁気テープ30A、30B及び30Cに記録する。
【0026】
記録位置情報取得部12は、記録制御部11による記録指示に応じてデータの記録を行う複数のテープドライブ40の各々から、当該テープドライブ40によって記録されたデータの磁気テープ上の記録位置を示す記録位置情報を取得する。例えば、図5に例示する態様でデータの分配が行われた場合、テープドライブ40Aは、磁気テープ30Aに記録された各データの、磁気テープ30A上の記録位置を示す記録位置情報を生成し、これを情報処理装置10に送信する。同様に、テープドライブ40Bは、磁気テープ30Bに記録された各データの、磁気テープ30B上の記録位置を示す記録位置情報を生成し、これを情報処理装置10に送信する。同様に、テープドライブ40Cは、磁気テープ30Cに記録された各データの、磁気テープ30C上の記録位置を示す記録位置情報を生成し、これを情報処理装置10に送信する。記録位置情報取得部12は、テープドライブ40A、40B、40Cからそれぞれ送信される記録位置情報を取得する。記録位置情報は、例えばデータバンドID(identification)、ラップID、トラックID、LPOS(リニアポジション)、ブロック番号等を含み得る。
【0027】
データセット編成部13は、パリティの生成に用いる複数のデータからなるデータセットを編成する。データセット編成部13は、データセットに含まれる複数のデータが互いに異なる磁気テープに記録されたものとなるようにデータセットを編成する。例えば、図5に例示する態様でデータの分配が行われた場合、データセット編成部13は、図6に例示するように、磁気テープ30Aに記録されたデータ50A、磁気テープ30Bに記録されたデータ50B及び磁気テープ30Cに記録されたデータ50Cからなるデータセット60を編成する。データ50A、50B及び50Cは、それぞれ、磁気テープ30A、30B及び30Cに直近に記録されたデータであってもよい。すなわち、データセット編成部13は、データ50A、50B及び50Cが、それぞれ、磁気テープ30A、30B及び30Cに記録された直後に、これらのデータを含むデータセット60を編成してもよい。また、データセット編成部13は、データ50A、50B及び50Cが、それぞれ、磁気テープ30A、30B及び30Cに記録される前に、これらのデータを含むデータセット60を編成してもよい。この場合、記録制御部11は、データセット編成部13によって編成されたデータセット60に含まれるデータ50A、50B及び50Cを互いに異なる磁気テープに記録する制御を行う。
【0028】
パリティ生成部14は、記録位置情報取得部12によって取得された記録位置情報に基づいて、データセット編成部13によって編成されたデータセットに含まれる複数のデータの各々の記録位置を特定する。パリティ生成部14は、記録位置を特定したデータのいずれかが、磁気テープの特定領域に記録されているか否かを判定する。特定領域とは、エラーレートが相対的に高い領域として予め定められた磁気テープ上の領域である。図7A図7B及び図7Cは、それぞれ特定領域の一例を示す図である。図7A図7Cにおいて、ハッチングで示された領域が特定領域35である。
【0029】
図7Aに示すように、特定領域35は、磁気テープ30の走行方向における特定の位置(LPOS)を含む領域であってもよい。磁気テープ30の走行方向における特定の位置(LPOS)に、テープ幅方向に伸びる折り目、皺、キズ等のダメージ部分が存在する場合には、その位置の近傍におけるエラーレートが相対的に高くなる場合がある。この場合、磁気テープ30の走行方向における、ダメージ部分の存在位置を含む領域が特定領域35とされる。
【0030】
また、特定領域35は、磁気テープ30の走行方向と交差する幅方向における特定の位置を含む領域であってもよい。磁気テープ30の幅方向における特定の位置に、テープ走行方向に伸びる折り目、皺、キズ等のダメージ部分が存在する場合には、その位置の近傍におけるエラーレートが相対的に高くなる場合がある。この場合、磁気テープ30の幅方向における、ダメージ部分の存在位置を含む領域が特定領域35とされる。磁気テープ30の幅方向における特定の位置を含む領域は、磁気テープ30の特定のラップを含む領域であってもよい。特定のラップは、図7Bに示すように、磁気テープ30のエッジの近傍領域に対応するラップであってもよい。磁気テープ30のエッジの近傍領域は、磁気テープ30をリールに巻き込む際の位置のずれに起因する擦れによってダメージを受ける可能性がある。すなわち、磁気テープ30のエッジ近傍の領域は、エラーレートが相対的に高くなる可能性が常にある。したがって、磁気テープ30のエッジ近傍の領域は、特定領域35となり得る。
【0031】
また、図7Cに示すように、特定領域35は、特定の走行方向で磁気テープ30が走行しているときにデータが記録される領域であってもよい。図7Cには、磁気テープ30が逆方向に走行しているときにデータが記録される領域(すなわち逆方向ラップ)が特定領域35とされる場合が例示されている。テープドライブ40が備える磁気ヘッド(図示せず)は、磁気テープが順方向に走行しているときに、順方向ラップへのデータの記録を同時に行う複数の順方向記録素子と、磁気テープが逆方向に走行しているときに、逆方向ラップへのデータの記録を同時に行う複数の逆方向記録素子を有する。例えば、逆方向記録素子のいずれかが故障した場合には、逆方向ラップにデッドトラックが発生する。故障した第2記録素子が記録すべきデータは、正常な第2記録素子によって逆方向ラップに記録される。しかしながら、デッドトラックを含む逆方向ラップに記録されたデータのエラーレートは、デッドトラックを含まない順方向ラップに記録されたデータのエラーレートよりも高くなる傾向がある。この場合、逆方向ラップが特定領域35とされる。
【0032】
なお、特定領域35は、上記において例示するような領域を2つ以上含んでいてもよい。また、特定領域35は、磁気テープ毎に個別に設定されてもよいし、複数の磁気テープに共通に設定されてもよい。
【0033】
パリティ生成部14は、データセットに含まれる複数のデータのいずれかが、磁気テープの特定領域に記録されていると判定した場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成する。一方、パリティ生成部14は、データセットに含まれる複数のデータのいずれもが、磁気テープの特定領域に記録されていないと判定した場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する。
【0034】
図8Aは、図6に例示する態様でデータセット60が編成された場合において、第1の方式が適用される場合のパリティ生成の態様の一例を示す図である。図8Bは、図6に例示する態様でデータセット60が編成された場合において、第2の方式が適用された場合のパリティ生成の態様の一例を示す図である。パリティ生成部14は、データセット60に含まれるデータ50A、50B及び50Cの各々の磁気テープ30A、30B及び30C上の記録位置を、記録位置情報取得部12によって取得された記録位置情報によって特定する。パリティ生成部14は、データ50A、50B及び50Cの磁気テープ上の記録位置のいずれかが、図7A図7Cに例示する特定領域35に記録されているか否かを判断する。
【0035】
パリティ生成部14は、データ50A、50B及び50Cの磁気テープ上の記録位置のいずれかが、磁気テープの特定領域に記録されていると判断した場合、図8Aに例示するように、データ50A、50B及び50Cに基づいて2つのパリティ70A及び70Bを生成する。この場合、データ50A、50B及び50Cのうちの2つが欠損した場合に、残りの1つのデータと2つのパリティ70A及び70Bによって、欠損した2つのデータを復元することが可能である。データ50A、50B及び50Cに基づいて2つのパリティ70A及び70Bを生成する方式は、開示の技術における「データの欠損に対する耐性が相対的に高い第1の方式」の一例である。
【0036】
一方、パリティ生成部14は、データ50A、50B及び50Cの磁気テープ上の記録位置のいずれもが、磁気テープの特定領域には記録されていないと判断した場合、図8Bに例示するように、データ50A、50B及び50Cに基づいて、1つのパリティ70Aを生成する。この場合、データ50A、50B及び50Cのうちの1つが欠損した場合に、残りの2つのデータと1つのパリティ70Aによって、欠損した1つのデータを復元することが可能である。データ50A、50B及び50Cに基づいて1つのパリティ70Aを生成する方式は、開示の技術における「データの欠損に対する耐性が相対的に低い第2の方式」の一例である。
【0037】
記録制御部11は、パリティ生成部14によって生成されたパリティを磁気テープに記録する制御を行う。例えば、図8Aに示す態様でパリティ70A及び70Bが生成された場合、記録制御部11は、データ50A、50B及び50Cがそれぞれ記録された磁気テープ30A、30B及び30Cとは異なる磁気テープにパリティ70A及び70Bを記録する制御を行う。なおパリティ70A及び70Bを磁気テープ30A、30B及び30Cのいずれかに記録してもよい。
【0038】
図9は、CPU101が、情報処理プログラム110を実行することによって実施される処理の流れの一例を示すフローチャートである。情報処理プログラム110は、例えば、ユーザ端末等の外部装置(図示せず)から保存要求があったデータを磁気テープ30に記録するタイミングで実行される。
【0039】
ステップS1において、記録制御部11は、保存対象の複数のデータ及びこれらのデータの磁気テープへの記録指示をテープライブラリ20が備える複数のテープドライブ40に分配する。
【0040】
ステップS2において、記録位置情報取得部12は、ステップS1において記録制御部11から発せられた記録指示に応じてデータの記録を行う複数のテープドライブ40の各々から、当該テープドライブ40によって記録されたデータの磁気テープ上の記録位置を示す記録位置情報を取得する。
【0041】
ステップS3において、データセット編成部13は、パリティの生成に用いる複数のデータからなるデータセットを編成する。データセット編成部13は、データセットに含まれる複数のデータが互いに異なる磁気テープに記録されたものとなるようにデータセットを編成する。
【0042】
ステップS4において、パリティ生成部14は、ステップS2において取得した記録位置情報に基づいて、ステップS3において編成されたデータセットに含まれる複数のデータの各々の磁気テープ上の記録位置を特定する。
【0043】
ステップS5において、パリティ生成部14は、ステップS3において編成されたデータセットに含まれる複数のデータのいずれかが、磁気テープの特定領域に記録されているか否かを判定する。ステップS3において編成されたデータセットに含まれる複数のデータのいずれかが、磁気テープの特定領域に記録されていると判定された場合、処理はステップS6に移行される。一方、ステップS3において編成されたデータセットに含まれる複数のデータのいずれもが、磁気テープの特定領域に記録されていないと判定された場合、処理はステップS7に移行される。
【0044】
ステップS6において、パリティ生成部14は、ステップS3において編成されたデータセットに基づいて、データの欠損に対する耐性が相対的に高い第1の方式を適用してパリティを生成する。
【0045】
ステップS7において、パリティ生成部14は、ステップS3において編成されたデータセットに基づいて、データの欠損に対する耐性が相対的に低い第2の方式を適用してパリティを生成する。
【0046】
ステップS8において、記録制御部11は、ステップS6又はステップS7において生成されたパリティを、ステップS3において編成されたデータセットに含まれる複数のデータの各々が記録されている磁気テープとは異なる磁気テープに記録する制御を行う。なお、記録制御部11は、ステップS6又はステップS7において生成されたパリティを、ステップS3において編成されたデータセットに含まれる複数のデータの各々が記録されている磁気テープのいずれかに記録する制御を行ってもよい。
【0047】
以上のように、開示の技術に係る情報処理装置は、データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、データが磁気テープの特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する。特定領域は、エラーレートが相対的に高い領域として予め定められた磁気テープ上の領域である。
【0048】
磁気テープのエラーレートが相対的に低い領域に記録されるデータは、欠損する確率が相対的に低いと考えられる。したがって、磁気テープのエラーレートが相対的に低い領域に記録されるデータに対して、欠損に対する耐性を確保するために、過剰な冗長性を持たせてパリティを生成することは、磁気テープの使用効率の観点から好ましくない。
【0049】
本実施形態に係る情報処理装置10によれば、データが磁気テープの特定領域に記録される場合、そのデータに関して生成されるパリティは、第1の方式を適用して生成され、データが磁気テープの特定領域以外の領域に記録される場合、そのデータに関して生成されるパリティは、第2の方式を適用して生成される。第1の方式は、データの欠損に対する耐性が相対的に高い方式である。換言すれば、第1の方式は、データの冗長性が相対的に高い方式である。第2の方式は、データの欠損に対する耐性が相対的に低い方式である。換言すれば、第2の方式は、データの冗長性が相対的に低い方式である。このように、磁気テープに記録されるデータの記録位置に応じて、そのデータに関して生成されるパリティの生成方式として適用する方式を、データの欠損に対する耐性が互いに異なる複数の方式の中から選択することで、磁気テープの使用効率の低下を抑制しつつ、データの欠損に対する耐性を確保することが可能となる。
【0050】
[第2の実施形態]
図10Aは、第1の方式が適用される場合のパリティ生成の態様の他の例を示す図である。図10Bは、第2の方式が適用される場合のパリティ生成の態様の他の例を示す図である。
【0051】
本実施形態において、データセット編成部13は、記録位置情報取得部12によって取得された記録位置情報に基づいて、記録制御部11による記録指示に応じて互いに異なる複数の磁気テープに記録された各データの磁気テープ上の記録位置を特定する。
【0052】
データセット編成部13は、磁気テープの特定領域に記録されたデータを少なくとも1つ含むデータセットを編成する場合、当該データセットに含めるデータの数を相対的に少なくする。図10Aには、データ50A及び50Bの2つのデータからなるデータセット60Aが編成された場合が例示されている。データ50A及び50Bは、互いに異なる磁気テープに記録されたデータであり、データ50A及び50Bの少なくとも一方は、磁気テープの特定領域に記録されたデータである。
【0053】
一方、データセット編成部13は、磁気テープの特定領域に記録されたデータを1つも含まないデータセットを編成する場合、当該データセットに含めるデータの数を相対的に多くする。図10Bには、データ50A、50B及び50Cの3つのデータからなるデータセット60Bが編成された場合が例示されている。データ50A、50B及び50Cは、互いに異なる磁気テープに記録されたデータであり、いずれも磁気テープの特定領域以外の領域に記録されたデータである。
【0054】
パリティ生成部14は、磁気テープの特定領域に記録されたデータを少なくとも1つ含むデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成する。図10Aには、データ50A及び50Bの2つのデータからなるデータセット60Aに基づいて1つのパリティ70が生成される場合が例示されている。この場合、データ50A及び50Bのいずれか一方が欠損した場合に、残りの1つのデータと1つのパリティ70によって、欠損した1つのデータを復元することが可能である。データ50A及び50Bに基づいて1つのパリティ70を生成する方式は、開示の技術における「データの欠損に対する耐性が相対的に高い第1の方式」の一例である。
【0055】
一方、パリティ生成部14は、磁気テープの特定領域に記録されたデータを1つも含まないデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する。図10Bには、データ50A、50B及び50Cの3つのデータからなるデータセット60Bに基づいて1つのパリティ70が生成される場合が例示されている。この場合、データ50A、50B及び50Cのいずれか1つが欠損した場合に、残りの2つのデータと1つのパリティ70によって、欠損した1つのデータを復元することが可能である。データ50A、50B及び50Cに基づいて1つのパリティ70を生成する方式は、開示の技術における「データの欠損に対する耐性が相対的に低い第2の方式」の一例である。2つのデータに基づいて1つのパリティを生成する場合と(第1の方式)、3つのデータに基づいて1つのパリティを生成する場合(第2の方式)とでは、前者の方がデータの欠損に対する耐性が高く、冗長性も高いといえる。
【0056】
第2の実施形態に係る情報処理装置10によれば、第1の実施形態と同様、磁気テープの使用効率の低下を抑制しつつ、データの欠損に対する耐性を確保することが可能となる。
【0057】
データの欠損の対する耐性Rは、パリティを生成するために用いるデータの数D及び生成するパリティの数Pの組み合わせによって決まる。データの欠損の対する耐性Rは、D及びPの関数として、例えば、下記の(1)式~(3)式によって定義することが可能である。(1)式においてFは磁気テープ単体の単位時間当たりの故障率であり、!は階乗を示す演算記号である。データの欠損に対する耐性が高い程、Rの値は小さくなる。すなわち、データの欠損の対する耐性が相対的に高い第1の方式は、(1)式~(3)式によって定義されるRの値が相対的に小さくなる方式であり、データの欠損の対する耐性が相対的に低い第2の方式は、(1)式~(3)式によって定義されるRの値が相対的に大きくなる方式である。
【0058】
【数1】
【0059】
例えば、磁気テープの故障率が1.0×10-6(10年間で100万本に1本の割合で故障する)と仮定した場合において、第1の方式の一例として図8Aに例示されるように、3つのデータに基づいて2つのパリティを生成する場合、データの欠損に対する耐性Rは1.0×10-17であり、第2の方式の一例として図8Bに例示されるように、3つのデータに基づいて1つのパリティを生成する場合、データの欠損に対する耐性Rは6.0×10-12である。
【0060】
[第3の実施形態]
第1及び第2の実施形態に係る情報処理装置10は、データが磁気テープの特定領域に記録されるか否かに応じて、そのデータに関して生成されるパリティの生成方式を選択するものであった。開示の技術の第3の実施形態に係る情報処理装置10は、さらに、磁気テープの特定領域以外の領域に記録されるデータについて、そのデータの記録位置におけるエラーレートに基づいてパリティの生成方式を選択する。
【0061】
図11は、第3の実施形態に係る情報処理装置10の機能的な構成の一例を示す機能ブロック図である。第3の実施形態に係る情報処理装置10は、エラーレート情報取得部12Aを更に有する点が、第1の実施形態に係る情報処理装置10(図4参照)と異なる。
【0062】
エラーレート情報取得部12Aは、記録制御部11による記録指示に応じてデータの記録を行う複数のテープドライブ40の各々から、当該テープドライブ40によって記録されたデータの磁気テープ上の記録位置におけるエラーレートを示すエラーレート情報を取得する。テープドライブ40の各々は、磁気テープに記録した各データについて、当該データの記録位置におけるエラーレートを測定する機能を有する。
【0063】
図12は、第3の実施形態に係る情報処理装置10のCPU101が、情報処理プログラム110を実行することによって実施される処理の流れの一例を示すフローチャートである。図12に示すフローチャートは、ステップS2A及びステップS5Aを含む点が、図9に示す第1の実施形態に係るフローチャートと異なる。以下、ステップS2A及びステップS5Aについて説明し、それ以外のステップの説明は適宜省略する。
【0064】
ステップS2Aにおいて、エラーレート情報取得部12Aは、ステップS1において記録制御部11から発せられた記録指示に応じてデータの記録を行う複数のテープドライブ40の各々から、当該テープドライブ40によって記録されたデータの磁気テープ上の記録位置におけるエラーレートを示すエラーレート情報を取得する。
【0065】
ステップS5において、パリティ生成部14は、ステップS3において編成されたデータセットに含まれる複数のデータのいずれかが、磁気テープの特定領域に記録されているか否かを判定する。ステップS3において編成されたデータセットに含まれる複数のデータのいずれかが、磁気テープの特定領域に記録されていると判定された場合、処理はステップS6に移行される。一方、ステップS3において編成されたデータセットに含まれる複数のデータのいずれもが、磁気テープの特定領域に記録されていないと判定された場合、処理はステップS5Aに移行される。
【0066】
ステップS5Aにおいて、パリティ生成部14は、ステップS2Aにおいて取得したエラーレート情報に基づいて、ステップS3において編成されたデータセットに含まれる複数のデータの各々について、磁気テープ上の記録位置におけるエラーレートを特定する。なお、複数のデータの各々の記録位置は、磁気テープの特定領域以外の領域に含まれることとなる。パリティ生成部14は、ステップS3において編成されたデータセットに含まれる複数のデータのいずれかのエラーレートが閾値以上であるか否かを判定する。当該データセットに含まれる複数のデータのいずれかのエラーレートが閾値以上であると判定された場合、処理はステップS6に移行される。一方、当該データセットに含まれる複数のデータの全てのエラーレートが閾値未満であると判定された場合、処理はステップS7に移行される。
【0067】
ステップS6において、パリティ生成部14は、ステップS3において編成されたデータセットに基づいて、データの欠損に対する耐性が相対的に高い第1の方式を適用してパリティを生成する。
【0068】
ステップS7において、パリティ生成部14は、ステップS3において編成されたデータセットに基づいて、データの欠損に対する耐性が相対的に低い第2の方式を適用してパリティを生成する。
【0069】
以上のように、開示の技術の第3の実施形態に係る情報処理装置は、データセットに含まれるいずれかのデータが特定領域以外の領域に記録される場合、特定領域以外の領域に記録されるデータの磁気テープ上の記録位置におけるエラーレートに基づいて、第1の方式及び第2の方式のいずれかを選択し、選択した方式を適用して当該データセットに基づいてパリティを生成する。
【0070】
本実施形態に係る情報処理装置10によれば、特定領域以外の領域に記録されるデータについて、エラーレートに応じた適切な方式でパリティの生成を行うことが可能となる。したがって、磁気テープの使用効率の低下を抑制しつつ、データの欠損に対する耐性を確保することができる。
【0071】
上記の各実施形態において、例えば、記録制御部11、記録位置情報取得部12、エラーレート情報取得部12A、データセット編成部13及びパリティ生成部14といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【0072】
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
【0073】
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System on Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
【0074】
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
【0075】
また、上記実施形態では、情報処理プログラム110が不揮発性メモリ103に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム110は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム110は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0076】
以上の第1乃至第3の実施形態に関し、更に以下の付記を開示する。
(付記1)
少なくとも1つのプロセッサを有する情報処理装置であって、
前記プロセッサは、
データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、
データが磁気テープの前記特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する
情報処理装置。
【0077】
(付記2)
前記特定領域は、エラーレートが相対的に高い領域として予め定められた磁気テープ上の領域である
付記1に記載の情報処理装置。
【0078】
(付記3)
前記特定領域は、磁気テープの走行方向における特定の位置を含む領域である
付記1又は付記2に記載の情報処理装置。
【0079】
(付記4)
前記特定領域は、磁気テープの走行方向と交差する幅方向における特定の位置を含む領域である
付記1から付記3のいずれか1つに記載の情報処理装置。
【0080】
(付記5)
前記特定領域は、磁気テープの特定のラップを含む領域である
付記1から付記4のいずれか1つに記載の情報処理装置。
【0081】
(付記6)
前記特定領域は、磁気テープのエッジの近傍領域である
付記1から付記5のいずれか1つに記載の情報処理装置。
【0082】
(付記7)
前記特定領域は、特定の走行方向で磁気テープが走行しているときにデータが記録される領域である
付記1から付記6のいずれか1つに記載の情報処理装置。
【0083】
(付記8)
前記プロセッサは、
前記データセットに含まれるいずれかのデータが前記特定領域以外の領域に記録される場合、前記特定領域以外の領域に記録されるデータの磁気テープ上の記録位置におけるエラーレートに基づいて、前記第1の方式及び前記第2の方式のいずれかを選択し、
選択した方式を適用して当該データセットに基づいてパリティを生成する
付記1から付記7のいずれか1項に記載の情報処理装置。
【0084】
(付記9)
データが磁気テープの前記特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、
データが磁気テープの前記特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する
処理を情報処理装置が有する少なくとも1つのプロセッサが実行する情報処理方法。
【0085】
(付記10)
データが磁気テープの特定領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に高い第1の方式を適用して生成し、
データが磁気テープの前記特定領域以外の領域に記録される場合、そのデータを含む複数のデータからなるデータセットに基づいて生成されるパリティを、データの欠損に対する耐性が相対的に低い第2の方式を適用して生成する
処理を情報処理装置が有する少なくとも1つのプロセッサに実行させるためのプログラム。
【符号の説明】
【0086】
1 ストレージシステム
10 情報処理装置
11 記録制御部
12 記録位置情報取得部
12A エラーレート情報取得部
13 データセット編成部
14 パリティ生成部
20 テープライブラリ
30、30A、30B、30C 磁気テープ
35 特定領域
40、40A、40B、40C テープドライブ
50、50A、50B、50C データ
60、60A、60B データセット
70、70A、70B パリティ
101 CPU
102 RAM
103 不揮発性メモリ
104 表示部
105 入力部
106 ネットワークインターフェース
107 外部インターフェース
108 バス
110 情報処理プログラム
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図8A
図8B
図9
図10A
図10B
図11
図12