JP6005122B2 - 複数のテープカートリッジにファイルをスパニングして書込む方法 - Google Patents

複数のテープカートリッジにファイルをスパニングして書込む方法 Download PDF

Info

Publication number
JP6005122B2
JP6005122B2 JP2014232638A JP2014232638A JP6005122B2 JP 6005122 B2 JP6005122 B2 JP 6005122B2 JP 2014232638 A JP2014232638 A JP 2014232638A JP 2014232638 A JP2014232638 A JP 2014232638A JP 6005122 B2 JP6005122 B2 JP 6005122B2
Authority
JP
Japan
Prior art keywords
tape
file
segment
writing
spanning
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.)
Active
Application number
JP2014232638A
Other languages
English (en)
Other versions
JP2016095766A (ja
Inventor
豊 大石
豊 大石
長谷川 徹
徹 長谷川
真幸 岩永
真幸 岩永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014232638A priority Critical patent/JP6005122B2/ja
Priority to US14/849,671 priority patent/US9965189B2/en
Publication of JP2016095766A publication Critical patent/JP2016095766A/ja
Application granted granted Critical
Publication of JP6005122B2 publication Critical patent/JP6005122B2/ja
Priority to US15/353,871 priority patent/US9891834B2/en
Priority to US15/667,940 priority patent/US10282098B2/en
Priority to US15/819,105 priority patent/US10572154B2/en
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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • G11B5/00817Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes on longitudinal tracks only, e.g. for serpentine format recording

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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、テープ装置システムにおいてファイルを複数のセグメントに分割してテープ(テープカートリッジ、テープメメディア)にスパニング(spanning)して書込む方法に関する。詳細には、本発明は、複数のテープにスパニングされて保存されたファイル(スパニングファイル)の複製の際にストレージの利用効率を損なわないように、書込む方法に関する。
テープメディアをあたかもUSBメモリのようにファイルシステムとして利用する方法としてLTFS (Linear Tape File System) が存在する。IBM及び他のストレージ会社はフォーマットを定義しその実装を公開している。LTFSは、テープメディアをインデックス・パーティション(IP:Index Partition)と データ・パーティション(DP:Data Partition) の2つの領域に分割する。前者には主にファイル名などのメタ情報 (インデックス(index)を、後者には主にファイルの本体を記録する。
図1は、従来のLTFSによる1つのファイルを複数のメディアに分割して保存(スパニング)する典型的な態様を示す。
図1は、1つのドライブに対して複数のメディアをロード/アンロードする態様を示している。典型的には、ストレージ・システムは1または2以上のテープドライブを含み、複数のメディアが複数のドライブを使用する。a,b,cメディアの指標を意味するメディアのIDであり、テープライブラリなどのストレージ・システムは、このIDで目的のメディアを特定する。スパニングのために1つのドライブで使用可能で、他のドライブは他の用途に使用されている場合を想定する。1つのドライブに最初のメディアaをロード(マウント)し、ファイルの先頭(最初のファイル部分)を書込む。このドライブはメディアaに、インデックスとしてそのファイルのメタデータを保存する。次にメディアaをアンロード(アンマウント)して。同じドライブに次のメディアbをロードし、ファイルの次のファイル部分を書込む。このドライブはメディアbに、インデックスとしてファイルのメタデータを保存する。次にメディアbをアンロードし、同じドライブに次のメディアcをロードし、ファイルの次のファイル部分を書込む。このドライブはメディアcに、インデックスとしてそのファイルのメタデータを保存する。ここで、1つのファイルのスパニングが完了したことになる。従来のLTFSでは、1つのファイルを複数メディアに書き込む場合に、書き始めの段階において複数メディアに書き込む場合あるとは想定できないので、各メディアは各ファイル部分を独立に保存することになる。
図2は、LTFSが1つのファイルを複数(例えば2)のセグメントに分割してスパニングファイルとして、複数(例えば2)のテープに書き込む模式図を示す。
LTFS Format v2.2 では、スパニングファイルと呼ばれる、ファイル“hello_world.txt”を複数のファイル部分 (セグメント) に分割してテープメディア上に保存するフォーマットが策定された。セグメント1にはLTFSファイルの前半部分(Hello)を割当て、セグメント2にはLTFSファイルの後半部分(world!)を割当てている。従来、LTFSでは1つのファイルを複数のテープメディアに跨って保存させることはできなかった。例えばテープメディアの容量を越えるようなファイルサイズのファイルを取り扱えなかった。LTFSのスパニングファイルのサポートにより、1 のファイル “hello_world.txt”を2のセグメントに分割して2つのテープメディアに保存することができるようになった。 “hello_world.txt”のLTFSファイルの前半部分は、セグメント1としてテープAに保存される。“hello_world.txt”のLTFSファイルの後半部分は、セグメント2としてテープBに保存される。
LTFS は、IP には主にインデックス(index)と呼ばれるメタデータ (ファイル名、ファイルサイズ、タイムスタンプなど) を保存し、DPには主にファイルの本体を保存する。LTFS はファイルをテープに書き込む際、定期的シンク(periodic sync)という機能により定期的に(例えば5分おきに) indexをDPに書き込む。定期的シンクは定期的同期とも言う。定期的シンク時にindexをIPではなくDP上に保存するのは、定期的シンクがファイル書き込み所要時間に与える影響を低減するためである。定期的にindexをテープメディアに書き込むは、例えばファイル書き込み中にテープドライブの電源が落ちたような場合のファイルの保全のためである。定期的シンクにより書き込まれた index を活用することによりそれ以前にDPに書き込まれたファイルデータがどのファイルのどの部分の情報であるかということを特定することができる。各ファイルに関するindexの容量は ファイル当たり1KB 程度 (100万ファイルで1 GB 程度) であり、定期的シンク時にはテープメディアに保存された全ファイルのこのメタ情報をDPに保存する。このため、テープメディア上に保存するファイル数が多ければ多い程、DP領域に占めるindexの割合が増え、ファイル本体を保存するための容量が減少する。
スパニングファイルを複製の際に、保存先で保存できなかった場合、再度別のテープメディアに該当するセグメントを保存する必要が生じる。再度の書込み(rewrite)には、通常3〜4時間の時間が必要になる。indexの容量の変動により、セグメントが保存できない場合の再保存所要時間の低減が、本発明が取り組む課題である。
特許文献1は、テープドライブ用のファイルシステムにおいて、1つのファイルを複数のテープメディアに分割して保存(スパニング)する方法を示す。特許文献1を含む従来技術は、1または2以上のテープに保存されたスパニングファイルを他のテープへ複製することについて言及はない。
特開2014−115807号公報
スパニングファイルの複製の際に、定期的シンクに起因するindexを書き込むタイミングのばらつきによるindexの総容量の変動が生じる。このindex の総容量の変動に起因して、あるテープに書き込まれた全てのセグメントを必ずしも同容量の他のテープに書き込めない課題が存在する。
従って、本発明の目的は、複数のテープに保存されたスパニングファイルの複製の際にストレージの利用効率を損なわないように、書込む方法、テープ装置システム、及びプログラムを提供することである。
かかる目的のもと、本発明は、ホストに接続されたテープ装置を含むテープ装置システムにおいて、ファイルを複数のセグメントに分割して複数のテープ(テープカートリッジ)に、スパニングして書込む方法である。この書込み方法は、
(a)ホストのアプリケーションからのファイルの書込み要求を受取るステップと、
(b)前記要求に応じて、順次受け取る前記ファイルのデータを所定のサイズのセグメントに分割するステップと、
(c)前記ファイルをテープに保存するために、一連の前記セグメントを順次1または複数のテープに書込むステップと、を含み、
(d)前記セグメントの所定のサイズは、前記複数のテープにスパニングされたファイル(スパニングファイル)を他の複数のテープに複製する際の前記他のテープの容量の利用効率及び前記複製の所要時間を基に決定されるステップを更に含む。
また、この書込み方法において、前記(d)の前記セグメントの所定のサイズを決定するステップは、前記テープの空き容量に基づいて前記所定のサイズを決定する(図8のステップ806)。
また、この書込み方法において、前記所定のサイズは、前記テープの空き容量が減少するに従って小さくなるように決定される。
また、この書込み方法において、前記(d)の前記セグメントの所定のサイズを決定するステップは、前記テープの空き容量の値が一定の割合以上の場合に、実行される。
また、この書込み方法において、前記所定のサイズは、前記テープの全記憶容量域の前半部分付近に書込むセグメント数を低減するように決定される。
また、この書込み方法において、前記所定のサイズは、前記テープの全記憶容量域の前半部分付近に書込むセグメントのサイズより、前記テープの全記憶容量の端部付近に書込むセグメントについて小さくなるように決定される。
更に、かかる目的のもと、本発明は、上述の書込み方法により、前記テープ装置システムにおいて所定のサイズのセグメントで複数の前記テープにスパニングされたファイル(スパニングファイル)を複製する方法である。この複製方法は、
(e)複製元の前記テープに書き込まれたスパニングファイルのデータを順次、前記セグメント単位で読み出すステップと、
(f)前記読み出されたセグメントのデータを複製先の複数のテープに順次、前記セグメント単位で書き込みするステップと、
(g)前記(f)のセグメント単位でのデータの書込みステップにおいて、前記複写先の複数のテープの内の第1のテープの記憶容量域の終端までの空き容量が前記セグメントの所定のサイズより小さい場合、前記第1のテープへの書込みできないため、前記セグメントのデータを前記複写先の複数のテープの内の第2のテープに再書き込み(rewrite)するステップと、を含む。
更に、かかる目的のもと、本発明は、上述の書込み方法の各ステップを実行するテープ装置システムである。
更に、かかる目的のもと、本発明は、上述の書込み方法の各ステップをテープ装置において実行するためのコンピュータ・プログラムである。
更に、かかる目的のもと、本発明は、上述の複製する方法の各ステップを実行するテープ装置システム。
更に、かかる目的のもと、本発明は、上述の複製する方法の各ステップをテープ装置システムに実行させるコンピュータ・プログラムである。
上述の本発明の書込み方法により複数のテープに書込まれたスパニングファイルを複製する場合に、テープの容量の利用効率及び複製所要時間を損うことを低減できる。
従来のLTFSによる1つのファイルを複数のメディアに分割して保存(スパニング)する典型的な態様を示す。 LTFSが1つのファイルを2のセグメントに分割してスパニングファイルとして、複数(例えば2)のテープに書き込む模式図を示す。 LTFSが3のセグメントに分割されたスパニングファイルの複製を作成する際に、各セグメントを他の複数のテープに書き込む模式図を示す。 LTFSによる2つのパーティションに区分けされたテープを示す。 ホストに接続されたテープ装置を含むテープストレージ・システム(テープ装置システム)のハードウェア構成を示す。 セグメントのサイズとDPに記録されるindexの総容量との相関関係を示す。 セグメントのリライト所要時間、定期的なシンクによる書き込むindexの書き込み所要時間、及び合計所要時間と、セグメントサイズとの関係を示す。 本発明の実施例として、LTFSによりファイルをスパニングして書き込むフローチャートを示す。 LTFSによりスパニングファイルを読み出すフローチャートを示す。
以下において、テープ装置システムにおいて、ファイルを複数のテープにスパニングして書込み、及びそのスパニングされたファイルを複製する、実施の形態(実施例)について説明する。
本発明は、複数のストレージにファイルを分割して書込む際に、ファイルのセグメント(ファイルの部分)のサイズを2つの事項を考慮して決定する。第1の事項はセグメントのリライト所要時間である。第2の事項はindexの書き込み所要時間である。これらの2つの事項に基づき、ファイルのセグメントを定めることにより、ストレージの容量の利用効率を損なうことなく、分割して保存されたファイルを格納したストレージの複製の作成を可能にできる。
図3は、LTFSが3のセグメントに分割されたスパニングファイルの複製を作成する際に、各セグメントを他の複数のテープに書き込む模式図を示す。
スパニングファイルを作成する際の複写元テープA及びBと、そのスパニングファイルの複製の際の複写先テープC及びDとの間で、使用されるテープドライブ及び通信回線の状況が異なる。そのためのスパニングファイルの複製を作成する際に、定期的シンク(periodic sync)に起因するindexを書き込むタイミングのばらつきによる index の総容量の変動が生じる。図3は、この総容量の変動がスパニングファイルの中盤のセグメント2を保存するテープをシフトさせていることを示す。ファイル“foo_bar_baz.txt” を前半部分(foo)、中盤部分(bar)、後半部分(baz)の 3の セグメント(セグメント1,2,3)に分割して、スパニングファイルとして2のテープに保存する。テープAは、ファイルの前半部分(foo)を割り当てたセグメント1とファイルの中盤部分(bar)を割当てたセグメント2を格納する。テープBは、ファイルの後半部分(baz)を割当てたセグメント3を格納する。このようにして、1つのファイルは3つのセグメントに分割されて、スパニングファイルとして2つのテープに書き込まれている。一方で、スパニングファイルの複製ではテープCには中盤部分(bar)を割当てたセグメント2が収まらなかったとの想定で前半部分(foo)のセグメント1のみを保存している。テープD に中盤部分(bar)を割当てたセグメント2と後半部分(baz)を割当てたセグメント3を保存している。この複製の際に、テープA上の index の総量がテープC上のindexより大きくなり、セグメントが テープCに収まらない状況は発生する。図3において、テープCに保存されるindexの総量が増加していることを、テープCの楕円アイコンをテープAのものより大きく表している。 テープC及びDにスパニングファイルの複製作成する時の書込み転送速度が、テープA及びBにスパニングファイルを書込み際の転送速度と異なることにより、定期的シンクによる、indexのデータ量が変動する。例えば、テープC及びDにスパニングファイルを書込む転送速度が、テープA及びBへのスパニングファイルの書込み際の転送速度より低い場合が起こりうる。転送速度が低く書き込み所要時間が長くなると、テープ一本書き込む間の定期的シンクの回数が増えるためindexの総量が増える。この場合、indexのデータ量は、テープA及びB上に比べてテープC及びD上の方が多く書込まれる。一定時間にはテープC及びD上に多く数のセグメントが書き込まれるため、その分indexのデータ量もシンクのタイミングで多く書き込まれる。テープCのDPにindexのデータ量が多く書き込まれため、テープDにはファイルの中盤部分に対応するセグメント2のデータを保存できる残存容量を確保できない。そのため、ファイルシステム(LTFS)は、セグメント2の中盤部分の書込みをテープCへ実行すると、その書込み動作が失敗してエラー応答を受け取る。同じセグメント2のデータについて、次のテープDへの再書込み(rewrite)をしなければならないため、余分な時間を費やす必要がある。この余分な時間を、セグメントのリライト所要時間(time of rewrite segment)と言う。
第5世代LTO(LinearTape Open)テープメディアを LTFS フォーマットで初期すると、DPの容量は1.425TBとなる。DPの容量を越えるファイルを保存する場合、DPの容量に対し一定の割合の大きさ (例えば 100 MB) 毎のセグメントに分割する。つまり、あるテープメディア (テープX) には、10000個のセグメント (foo_bar_baz.txt-LTFSseg1 〜 foo_bar_baz.txt-LTFSseg10000) まで保存する。その続きのセグメント (foo_bar_baz.txt-LTFSseg10001〜foo_bar_baz.txt-LTFSseg20000) を別のテープメディア (テープY) に保存する。それにより、特に複製の作成時にあるセグメントをテープメディアに保存できなかった場合にそのセグメントを他のテープメディアに保存する所要時間を従来の 0.01 % 以下に低減する。
本発明の実施例を説明のため、LTFSフォーマット、テープドライブ、LTFSでのファイルのデータの書込みについて説明する。
図4は、LTFSにより2つのパーティションに区分けされたテープを示す。
LTO5テープドライブは、テープの長手方向に沿った書き込み領域のラップ(wrap)を往復しながらデータを書く。LTFSではこのラップ2本分(1往復分)をインデックス・パーティションとして利用している。テープの先端部(BOT:Beginning of Tape)から終端部(EOT:End of tape)に渡ってIPとDPとの2つに区分される。ヘッドが同時に読み書きする単位がトラックであり、トラック16本がラップ1本に相当する。LTO5のテープカートリッジでは、テープ長手方向は約800m、横手方向はラップ数80本の幅である。IPとDPとは2本のラップの保護領域(guard band)で区分される。テープはラップの長手方向に前後に進行し、BOTおよびEOTにおいて進行する向きを反転することをラップターン(wrap turn)と呼ぶ。テープドライブのヘッドに対してテープの長手方向のBOTからEOTの移動時間は60〜90秒である。長手方向の半分のテープ移動時間は30〜45秒程度である。
テープドライブ用のファイルシステム、例えばLTFSでは、メディア上に書かれたデータをファイルとして見せることができる。ユーザがLTFSを利用してテープメディアに書き込むと、テープメディアではファイル本体の他、インデックスファイル(単にインデックス(index))と呼ばれるメタ情報をテープメディアに書き込む。インデックスは、メタ情報としてディレクトリ名及びファイル名やファイル作成日、及び、メディア上の位置、サイズ、ファイル内のオフセットなどを含む位置メタ情報をXML形式で含む。また、インデックスは、1つのファイルが複数のセグメントに分割される場合に、そのセグメントに関連するメタ情報も含む。IPには、主に最新のインデックスが書き込まれる。メディアのDPには、逐次追加及び変更されるファイルの本体、及び、それに関連するインデックスの履歴を、追記(append)で書き込まれる。
LTFS を用いてテープメディア上のファイルを読み書きする場合、レコードと呼ばれる単位でデータの読み書きを行う。レコードは、LTFSではブロックと呼んでLTFSフォーマットを与える。ブロックは、ファイルのデータが記録されるパーティション毎にパーティションの先頭から何番目のブロックであるという番号で管理される。インデックスファイルには、ファイルのデータに対するブロックの番号で指示される位置情報が含まれる。
図5は、ホストに接続されたテープドライブ(テープ装置)を含むテープ装置システムのハードウェア構成を示す。
テープドライブ60は、ホスト300のアプリケーションからファイルシステム(LTFS)を介してファイルの読み書き要求を受け取る。テープドライブは、通信I/F(インターファース)110と、バッファ120と、記録チャネル130と、読書きヘッド140と、制御部150と、位置決め部160と、モータドライバ170と、モータ180とを含む。
インターフェース110は、ネットワークを介してホスト300との通信を行う。例えばインターフェース110は、ホスト300から、テープカートリッジ(メディア)40へのデータの書込みを指示する書込みコマンドを受信する。またインターフェース110は、ホスト300から、メディア40からのデータ読出しを指示する読出しコマンドを受信する。インターファース110は、書込みデータの圧縮と、読み出しデータの非圧縮とを行う機能を有し、実際のデータに対してメディアへの記憶容量を約2倍近く高めている。
テ−プドライブ60は、ホスト300のアプリケーションから送られた複数のレコードで構築されるデータセット(DataSet:DSと言う)単位でメディア40への読み書きを行う。DSの典型的な大きさは4MBである。ホスト300のアプリケーションは、ファイルシステム(例えばLTFS−API(Application Program Interface))によりファイル名を指定して読み書きアクセスをテープドライブ60に発行する。ファイルシステムは、SCSIコマンドのレベルでレコードをテープドライブに書込み/読み出し要求(Write/Read)を送る。DSは複数のレコードで構成される。
各DSは、データセットに関する管理情報を含む。ユーザデータはレコード単位で管理される。管理情報はデータセット情報テーブル(DSIT:Data Set Information Table)に含まれる。DSITは、そのDSに含まれるレコード又はブロック数およびFM(Filemark)数、更にはメディアの先頭から書かれた累積レコード数および累積FM数、を含む。
バッファ120は、メディア40に書込むべきデータ、また、メディアから読み出したデータを一時的に蓄積するメモリである。例えばバッファ120は、DRAM(Dynamic Random Access Memory)によって構成される。記録チャネル130は、バッファ120に蓄積されたデータをメディア40に書き出すため、またはメディア40から読み出されたデータをバッファ120に一時的に蓄積するために用いられる通信経路である。
読書きヘッド140は、データ読書き素子を有し、メディア40へのデータの書込み及びメディアからのデータの読出しを行う。本実施形態に係る読書きヘッド140はまたサーボ読取り素子を有し、メディア40に設けられたサーボトラックから信号を読み取る。位置決め部160は、カートリッジ40の短手方向(幅方向)に読書きヘッド140の移動を指示する。モータドライバ170は、モータ180を駆動する。
テ−プドライブ60は、ホスト300から受取ったコマンドに従って、データのテ−プへの書込みやテ−プからの読出しをする。テ−プドライブ60は、バッファ、読み書きチャネル、ヘッド、モ−タ、テ−プを巻きつけるリ−ルと、読み書き制御と、ヘッド位置制御システムと、モ−タドライバとを含む。テ−プドライブは、テープカートリッジを着脱可能に搭載する。テ−プは、リ−ルの回転に伴い、長手方向に移動する。ヘッドは、テープの長手方向に移動してデータを書き込んだり、テ−プからデータを読出したりする。また、テープカートリッジ40はカートリッジメモリ(CM:Cartridge Memory)と呼ばれる非接触不揮発性メモリを備える。テープカートリッジ40に搭載されたCMは、テープドライブ60により非接触的に読み書きされる。CMはカートリッジ属性を保存する。テープドライブは、読出し及び書込み時に、CMからカートリッジ属性を取り出して最適な読み書きができるようにする。
制御部150は、テープドライブ60の全体の制御を行う。すなわち、制御部150は、インターフェースで受信したコマンドに従って、データのメディア40への書込み及びメディア40からのデータの読出しを制御する。また、制御部150は、読取られたサーボドラックの信号に従って位置決め部160を制御する。更に制御部150は、位置決め部160及びモータドライバ170を介してモータの動作を制御する。なお、モータドライバ170は制御部150に直接接続されてもよい。
本発明の具体的なスパニングファイルの書き込み方法を説明する。
図6は、セグメントのサイズとDPに記録されるindexの総容量との相関関係を示す。
セグメントのサイズを小さくすればするほど、セグメントの再書き込み所要時間を低減できる。一方、セグメントのサイズを小さくすればするほど一本のテープメディアに保存されるセグメントの数が増え、index の容量増大に繋がる。第5世代LTO テープメディアに対しデータを読み書きする際の転送速度は140MB/sec である。これは、DP をファイルで埋め尽くすのに169分 (= 1.425[TB] * 1000 * 1000 / 140 [MB/sec] / 60) かかる。つまり、書き込み中に33回 定期的シンクによるindexの書き込みが発生することを意味する。各セグメントのサイズと DP 中に占めるindex の総容量をグラフで示すと図6のようになる。セグメントのサイズが10GBであれば DPに記録されるindexの総容量は3MB 弱である。反対に、例えばセグメントのサイズを1MB にすると、DPに記録されるindexの総容量は23GBにも及ぶ。
図7は、セグメントのリライト所要時間と、定期的なシンクによる書き込むindexの書き込み所要時間との合計所要時間とセグメントサイズとの関係を示す。
スパニングファイルの複製において、ストレージの容量の利用効率は、次に与える第1要因、第2要因、及び第3要因に依存する。一連のセグメントを書き込む過程でのテープ終端直前での特定のセグメントの書込みの際に、テープの記憶域終端までの空容量を越えると書込みエラーとなる。リライト(rewrite)所要時間(第1要因)とは、書込みエラーとなったセグメントを次のテープに再度買い込みをする必要があり、その再書込みのための時間を意味する。DPに定期的シンクによるメタ情報(index)の書込み所要時間(第2要因)は、複製時でのオーバーヘッドとなる。例えば、33回のシンクによりindexを33回書き込むことが書き込み所要時間を増加させる要因となる。合計所要時間(第3要因)は、スパニングファイルの複製を作成する際の評価時間を意味する。図7は、合計所要時間は、リライト所要時間(第1要因)と定期的シンクでのindexの書込みの所要時間(第2要因)と合計である。所要時間の観点で見れば、セグメントのリライト所要時間と index の書き込み所要時間が最小になるセグメントのサイズ (100MB程度) が好適である。また、この100MB という値は、テープメディアの容量の有効活用という観点でも、DPの容量 1.425TBに対し高々0.001%であるという観点で好ましい。この値は、あるセグメントが書き込めなかった時の影響の観点からも好ましい。
本発明では、スパニングファイルの複製の際に、テープストレージの利用効率を損なわないように、セグメントのサイズを適宜状況に応じて変更する。ここまで、実施例として、全てのセグメントのサイズを同じサイズに揃えた例を説明した。例えばテープメディアの空き容量に応じ変動させても良い。空き容量が一定の値 (例えば10GB) ないし割合 (10%) 以下になったときだけ本発明を適用しても良いし、空き容量の値が一定の値ないし割合以上の場合には空き容量に応じてセグメントのサイズを決めても良い。例えばセグメントの容量をテープメディアの空き容量の10%とする場合である。テープメディアの前半に保存するセグメント数を低減することにより、indexの書き込み所要時間を低減することができる。
図8は、本発明の実施例として、LTFSによりファイルをスパニングして書き込むフローチャートを示す。
図8は、図2及び図3において、ファイルの書込み要求を受け取った場合の本発明のスパニング態様を示す。ファイルシステム(LTFS)が、容量が大きなファイルを複数のセグメントに分割して1または複数のテープに、次のステップを行っても良い。また、同様な処理を、LTFSを利用するアプリケーションが行っても良い。
(802)ホストのアプリケーションからファイルシステム(LTFS)が書き込み要求を受け取った場合である。
(804)LTFSは、テープカートリッジの空き容量は一定の容量または一定の割合以上であるか確認する。ファイルを分割するセグメントのサイズ(セグメントサイズ)を、空き容量に基づいて決定する。
(806)テープカートリッジの空き容量が一定の容量以上である場合(806でYES)、テープカートリッジの空き容量に基づいて最大セグメントサイズを選択できる。
(808)テープカートリッジの空き容量が一定の容量より小さい場合(806でNO)セグメントのリライト所要時間(第1の要因)とindex書き込み所要時間と(第2の要因)とに基づいて最大セグメントサイズを決定する。
(810)順次アプリケーションから送られてくるファイルのデータについて、書き込むとセグメントの最大サイズを越えるかを確認する。
(812)LTFSはファイルのデータをセグメントの最大サイズまで書き込みできる。
(814)LTFSは、このセグメントをクローズ(Close)する。
(816)ファイルのアプリケーションから受け取る後続のデータのために新たなセグメントを生成(Create)する。
(818)アプリケーションから送られるファイルのデータのサイズがセグメントサイズに満たない場合(810でNO)、ファイルのデータの終端部と見なせる。この場合、かかるデータを最終のセグメントとしてテープに書き込む。
(820)ステップ818にファイルの最終セグメントが書き込まれ、ファイルのスパニングによる書込み終了する。
図9は、LTFSによりスパニングファイルを読み出すフローチャートを示す。
この読み出し方法を使用して元のテープA及びBからスパニングファイルが読み出され、セグメント単位で先のテープC及びDに書込み、複製作成(図3参照)される。
(902)ファイルシステム(LTFS)がホストのアプリケーションからファイルの読み出し要求を受け取った場合である。
(904)LTFSは、読み出し要求された要求されたファイルについて順次(シーケンシャルに)読み出される順次データのサイズがセグメントサイズを越えるか確認する。LTFSは、テープに保存されたindexを参照して要求されたファイルが分割されたスパニングファイルことを特定できる。
(906)読み出される順次データのサイズがセグメントサイズを越える場合(904でYES)、ファイルを分割したセグメントを特定して、セグメントサイズまでのデータを読み出す。
(908)そのセグメントを閉じる(Close)する。
(910)要求されたファイルの後続のデータを含む次のセグメントを特定して、そのセグメントを開く(Open)する。
(912)要求されたファイルについて読み出される順次データのサイズがセグメントのサイズを越えない場合(904でNO)、ファイルの終端のセグメントのデータを読み出しである。
(914)ステップ912においてファイルの最終データ即ち、最終セグメントの読み出しで読み出しが終了する。
これらのフローチャートでは、書き込み及び読み出し要求について説明している。実際にはその前に Open ないし Create の要求があり、Open であれば Open 後書き込み/読み出し前に Seek の要求が来る。Open/Create では先頭のセグメントを開き/作成する。その後の Seek では、Seek先がセグメント内であればその場所へ、セグメントのサイズを越える場合は2つ目移行のセグメント内の該当位置へ位置合わせを行う。
本発明の書込み(スパニング)する方法及び読み出し方法を利用して、スパニングファイルについて複製する実施例を説明する。図3に示すように、テープA及びBに保存されたスパニングファイル“foo_bar_baz.txt”のセグメント1、セグメント2、及びセグメント3をテープC及びDに複製する場合を想定する。特に、複製書込みの際のindexの容量の増加に伴いセグメント1及び2のデータを含む書込みデータ量が大きくなると、テープCへの書込みの最終階においてエラーとなる。複写先のテープCの記憶容量域終端までの空き容量が、セグメント1及び2とインデックスとのデータ総容量より小さいためである。セグメント1のデータをテープCへの書込みできないため、そのデータをテープDに再書き込み(rewrite)する余分な時間(セグメントのリライト所要時間)を必要とする。このリトライ時間が大きいと、スパニングファイルの複製の作成に時間がかかりすぎる。また、セグメント2のデータがテープCに書き込まれないために、テープC記憶域端部までの空き容量が無駄になり、ストレージ容量の利用効率が損なわれる。スパニングファイル作成の際にセグメント1及び2のサイズをある程度小さくすることにより再書込みの悪影響を小さくできる。しかしながら、セグメントサイズを小さくし過ぎるとセグメント数を増加させることになり、indexの総容量を増やすことになり、ストレージの容量の利用効率を低下させる。従って。本発明では、スパニングファイル書込みの際のセグメントのサイズを、複製先のテープの容量の利用効率及び複製の所要時間のバランスを考慮して決定される。
以上より、本発明の方法は、この書込み方法により、複数のテープに書込まれたスパニングファイルを複製する場合にテープの容量の利用効率及び複製所要時間を損うことを低減できる。なお、本発明を実施の形態(実施例)を用いて説明したが、本発明の範囲は上記実施例には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
40…テープカートリッジ(メディア、テープ)、
60…テープドライブ(テープ装置)、
110…通信I/F(インターフェース)、
120…バッファ、
130…記録チャネル、
140…読み書きヘッド、
150…制御部(コントローラ、読み書き制御を含む)、
160…位置決め部
170…モータドライバ、
180…モータ、
300…ホスト(ユーザ・アプリケーションとファイルシステムを含む)、

Claims (12)

  1. テープ装置システムにおいて、ファイルをスパニングにしてテープに書込む方法であって、
    (a)ホストからのファイルの書込み要求を受取るステップと、
    (b)前記要求に応じて、順次受け取る前記ファイルのデータを所定のサイズのセグメントに分割するステップと、
    (c)前記ファイルをテープに保存するために、一連の前記セグメントを順次1または複数のテープに書込むステップと、を含み、
    (d)前記セグメントの所定のサイズは、前記複数のテープにスパニングされたファイル(スパニングファイル)を他の複数のテープに複製する際の前記他のテープの容量の利用効率及び前記複製の所要時間を基に決定されるステップを更に含む、書込みする方法。
  2. 前記(d)の前記セグメントの所定のサイズを決定するステップは、前記テープの空き容量に基づいて前記所定のサイズを決定する請求項1に記載の方法。
  3. 前記(d)の前記セグメントの所定のサイズを決定するステップは、前記スパニングファイルを他の複数のテープに複製する際の前記複製の所要時間を、前記セグメントのリライト所要時間及び前記セグメントのメタ情報(index)の書き込み所要時間に基づいて決
    定する請求項1に記載の方法。
  4. 前記所定のサイズは、前記テープの空き容量が減少するに従って小さくなるように決定される請求項2に記載の書込み方法。
  5. 前記(d)の前記セグメントの所定のサイズを決定するステップは、前記テープの空き容量の値が一定の割合以上の場合に、実行される請求項3に記載の書込み方法。
  6. 前記所定のサイズは、前記テープの全記憶容量域の前半部分に書込むセグメント数を低減するように決定される請求項3に記載の書込み方法。
  7. 前記所定のサイズは、前記テープの全記憶容量域の前半部分に書込むセグメントのサイズより、前記テープの全記憶容量の端部付近に書込むセグメントについて小さくなるように決定される請求項3に記載の書込み方法。
  8. 請求項1〜7の何れか1項の記載の書込み方法により、前記テープ装置システムにおいて所定のサイズのセグメントで複数の前記テープにスパニングされたファイル(スパニングファイル)を複製する方法であって、
    (e)複製元の前記テープに書き込まれたスパニングファイルのデータを順次、前記セグメント単位で読み出すステップと、
    (f)前記読み出されたセグメントのデータを複製先の複数のテープに順次、前記セグメント単位で書き込みするステップと、
    (g)前記(f)のセグメント単位でのデータの書込みステップにおいて、前記複製先の複数のテープの内の第1のテープの記憶容量域の終端までの空き容量が前記セグメントの所定のサイズより小さい場合、前記第1のテープへの書込みできないため、前記セグメントのデータを前記複製先の複数のテープの内の第2のテープに再書き込み(rewrite)するステップと、
    を含むスパニングファイルを複製する方法。
  9. 請求項1〜7の何れか1項の各ステップを実行する、テープ装置システム。
  10. 請求項1〜7の何れか1項の各ステップを前記テープ装置システムに実行させるコンピュータ・プログラム。
  11. 請求項8の各ステップをテープ装置システムにおいて実行する、テープ装置システム。
  12. 請求項8の各ステップをテープ装置システムに実行させるコンピュータ・プログラム。
JP2014232638A 2014-11-17 2014-11-17 複数のテープカートリッジにファイルをスパニングして書込む方法 Active JP6005122B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014232638A JP6005122B2 (ja) 2014-11-17 2014-11-17 複数のテープカートリッジにファイルをスパニングして書込む方法
US14/849,671 US9965189B2 (en) 2014-11-17 2015-09-10 Writing data spanning plurality of tape cartridges
US15/353,871 US9891834B2 (en) 2014-11-17 2016-11-17 Writing data spanning plurality of tape cartridges
US15/667,940 US10282098B2 (en) 2014-11-17 2017-08-03 Writing data spanning plurality of tape cartridges
US15/819,105 US10572154B2 (en) 2014-11-17 2017-11-21 Writing data spanning plurality of tape cartridges

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014232638A JP6005122B2 (ja) 2014-11-17 2014-11-17 複数のテープカートリッジにファイルをスパニングして書込む方法

Publications (2)

Publication Number Publication Date
JP2016095766A JP2016095766A (ja) 2016-05-26
JP6005122B2 true JP6005122B2 (ja) 2016-10-12

Family

ID=55961701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014232638A Active JP6005122B2 (ja) 2014-11-17 2014-11-17 複数のテープカートリッジにファイルをスパニングして書込む方法

Country Status (2)

Country Link
US (4) US9965189B2 (ja)
JP (1) JP6005122B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6005122B2 (ja) 2014-11-17 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のテープカートリッジにファイルをスパニングして書込む方法
US10068599B2 (en) * 2015-07-31 2018-09-04 International Business Machines Corporation Tape damage detection
US10152993B1 (en) * 2017-11-29 2018-12-11 International Business Machines Corporation Save block data to tape in a reverse order
CN109933566B (zh) * 2019-03-06 2023-05-12 深信服科技股份有限公司 文件读写方法、装置、设备及计算机可读存储介质
US11275510B2 (en) * 2020-02-07 2022-03-15 Samsung Electronics Co., Ltd. Systems and methods for storage device block-level failure prediction
WO2021171814A1 (ja) * 2020-02-28 2021-09-02 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JPWO2022044434A1 (ja) * 2020-08-27 2022-03-03
JPWO2022172549A1 (ja) * 2021-02-15 2022-08-18
US11983430B2 (en) 2022-08-01 2024-05-14 International Business Machines Corporation Replicating data to a plurality of replication devices through a tape device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758151A (en) 1994-12-09 1998-05-26 Storage Technology Corporation Serial data storage for multiple access demand
JPH10232800A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd 磁気テープ記憶装置
US6154852A (en) * 1998-06-10 2000-11-28 International Business Machines Corporation Method and apparatus for data backup and recovery
US20030004947A1 (en) 2001-06-28 2003-01-02 Sun Microsystems, Inc. Method, system, and program for managing files in a file system
US8879197B2 (en) 2004-09-27 2014-11-04 Spectra Logic, Corporation Self-describing a predefined pool of tape cartridges
JP3870215B1 (ja) 2005-09-30 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置のデータ書込み読取り制御方法
JP4992594B2 (ja) * 2007-07-27 2012-08-08 パナソニック株式会社 電子機器
US7873828B2 (en) 2007-08-07 2011-01-18 Optica Technologies, Inc. Method and apparatus for encrypting and decrypting data to/from an ESCON tape system
US7864478B2 (en) 2008-08-22 2011-01-04 International Business Machines Corporation Verification of a tape data storage cartridge
US8234468B1 (en) 2009-04-29 2012-07-31 Netapp, Inc. System and method for providing variable length deduplication on a fixed block file system
JP2014115807A (ja) 2012-12-10 2014-06-26 International Business Maschines Corporation ファイルを複数のメディアに書込む方法、及びストレージ・システム
JP6005010B2 (ja) * 2013-08-12 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム
JP6005122B2 (ja) 2014-11-17 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のテープカートリッジにファイルをスパニングして書込む方法

Also Published As

Publication number Publication date
US20160139818A1 (en) 2016-05-19
US10572154B2 (en) 2020-02-25
US9891834B2 (en) 2018-02-13
JP2016095766A (ja) 2016-05-26
US20180074720A1 (en) 2018-03-15
US10282098B2 (en) 2019-05-07
US9965189B2 (en) 2018-05-08
US20170068461A1 (en) 2017-03-09
US20170344271A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
JP6005122B2 (ja) 複数のテープカートリッジにファイルをスパニングして書込む方法
US10915244B2 (en) Reading and writing via file system for tape recording system
JP6370035B2 (ja) 複数のテープメディアを用いてファイルを読み出す方法
US9053745B2 (en) Method for writing file on tape medium that can be read at high speed
JP5623239B2 (ja) 書込みレコードの重複を排除する記憶装置、及びその書込み方法
JP6041839B2 (ja) メタ情報を保管する方法、プログラム、及びそのテープ記録システム
JP5325078B2 (ja) テープ記録装置およびテープ記録方法
JP5925280B2 (ja) テープに書き込されたファイルを消去する方法、プログラム、及びテープ装置
JP2014115807A (ja) ファイルを複数のメディアに書込む方法、及びストレージ・システム
US20150095566A1 (en) Reading Speed of Updated File by Tape Drive File System
JP6341652B2 (ja) テープカートリッジのデータを自動的にリクラメーションする方法
US10656853B2 (en) Tape having multiple data areas
JP6482264B2 (ja) 複数のテープカートリッジにファイルをスパニングして書込む方法
US20140247515A1 (en) Tape drive buffer utilization

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R150 Certificate of patent or registration of utility model

Ref document number: 6005122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150