JPWO2015087584A1 - テープ上のデータのバックアップ方法 - Google Patents
テープ上のデータのバックアップ方法 Download PDFInfo
- Publication number
- JPWO2015087584A1 JPWO2015087584A1 JP2015552344A JP2015552344A JPWO2015087584A1 JP WO2015087584 A1 JPWO2015087584 A1 JP WO2015087584A1 JP 2015552344 A JP2015552344 A JP 2015552344A JP 2015552344 A JP2015552344 A JP 2015552344A JP WO2015087584 A1 JPWO2015087584 A1 JP WO2015087584A1
- Authority
- JP
- Japan
- Prior art keywords
- data area
- data
- tape
- file
- index information
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000005192 partition Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims 1
- 230000000717 retained effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000004886 head movement Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
テープ上のデータをバックアップする際に、データの履歴を保持しつつ、編集されたファイルを読み出す際のパフォーマンスの劣化を解消/低減する。ファイルシステムでテープ上のデータをバックアップする方法を提供する。その方法は、第1のデータ領域中の第3のデータ領域を除くデータ領域と第2のデータ領域とを連続する第4のデータ領域としてテープ上にコピーするステップであって、第2のデータ領域を第3のデータ領域の置き換えに相当する位置にコピーするステップと、第4のデータ領域を特定するインデックス情報をテープ上に記憶するステップと、第3のデータ領域を第4のデータ領域から離間した第5のデータ領域としてテープ上にコピーするステップと、第4のデータ領域中の第2のデータ領域を除くデータ領域を特定するインデックス情報と、第5のデータ領域を特定するインデックス情報とをテープ上に記憶するステップとを含む。
Description
本発明は、テープドライブを含むファイルシステムに関し、より具体的には、そのファイルシステムにおいてテープ上のデータのバックアップ方法に関する。
テープドライブ上のデータをファイルシステムにおけるファイルとしてアクセスする仕組みとして、例えばLTFS(Linear Tape File System)が実用化されている。LTFSでは、ファイルを構成するデータ領域がテープ上のどこに存在するか等のメタ情報をインデックスとして関連付けることにより、ファイルシステムを実現している。
LTFSでは、テープの性質上、ファイルの編集時に、過去に書いたデータを上書きせずにそのデータの後方に編集されたデータを追記する仕組みになっている。これにより、過去に書いたファイルの状態に戻すことができるというメリットがある一方で、編集されたファイルを読み出す際に時間がかかってしまうという問題がある。
この問題は、テープ上のデータ構成をそのまま別のテープにバックアップした後に、そのバックアップされたデータ(ファイル)を読み出す場合にも同様に発生する。また、編集後の最新のファイルのみを別のテープにコピーするいわゆるロジカルコピーでは、ファイルを読み出す時間は短くできるが、過去に書いたファイルの状態に戻すことができないという問題がある。
本発明の目的は、上記した従来技術の問題を解決あるいは軽減しつつ、テープ上のデータをバックアップする際に、最後に書かれたファイルの状態を保持するだけではなく、過去に書かれたデータの履歴を保持するというファイルシステムの特徴を維持しつつ、編集されたファイルを読み出す際に必ず発生するパフォーマンスの劣化を解消/低減することができるバックアップ方法を提供することである。
本発明の一態様では、ファイルシステムにおいてテープ上のデータのバックアップをとるための方法を提供する。その方法では、
データは、第1のデータ領域と、第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとしてテープ上に記憶され、
第2のデータ領域のデータは、第1のデータ領域の一部である第3のデータ領域のデータを変更したデータに相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第1のデータ領域中の第3のデータ領域を除くデータ領域と第2のデータ領域とを連続する1つの第4のデータ領域としてテープ上にコピーするステップであって、第2のデータ領域を第3のデータ領域の置き換えに相当する位置にコピーする、ステップと、
第4のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第3のデータ領域を第4のデータ領域から離間した第5のデータ領域としてテープ上にコピーするステップと、
第4のデータ領域中の第2のデータ領域を除くデータ領域を特定するためのインデックス情報と、第5のデータ領域を特定するためのインデックス情報とをテープ上に記憶するステップと、を含む。
データは、第1のデータ領域と、第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとしてテープ上に記憶され、
第2のデータ領域のデータは、第1のデータ領域の一部である第3のデータ領域のデータを変更したデータに相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第1のデータ領域中の第3のデータ領域を除くデータ領域と第2のデータ領域とを連続する1つの第4のデータ領域としてテープ上にコピーするステップであって、第2のデータ領域を第3のデータ領域の置き換えに相当する位置にコピーする、ステップと、
第4のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第3のデータ領域を第4のデータ領域から離間した第5のデータ領域としてテープ上にコピーするステップと、
第4のデータ領域中の第2のデータ領域を除くデータ領域を特定するためのインデックス情報と、第5のデータ領域を特定するためのインデックス情報とをテープ上に記憶するステップと、を含む。
本発明の一態様によれば、テープ上のデータのバックアップをとる際に、1つのファイルを構成するデータ領域の内の変更後のデータを含むデータ領域(第2のデータ領域)と変更なしのデータ領域とが連続した1つのデータ領域としてテープ上にコピーされるので、当該コピー後のファイルの読み出しを迅速におこなうことができる。さらに、変更前のデータ領域(第4のデータ領域中の第2のデータ領域を除くデータ領域、第5のデータ領域)がそれぞれ対応するインデックス情報と共にテープ上にコピーされるので、過去に書かれたデータの履歴を保持し、後から随時その過去のデータを読み出すことができる。
本発明の他の一態様では、ファイルシステムにおいてテープ上のデータのバックアップをとるための方法を提供する。その方法では、
データは、第1のデータ領域と、第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとしてテープ上に記憶され、
第2のデータ領域は第1のデータ領域に追加されたデータ領域に相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第1のデータ領域と第2のデータ領域とを連続する第3のデータ領域としてテープ上にコピーするステップと、
第3のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第3のデータ領域中の第2のデータ領域を除くデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む。
データは、第1のデータ領域と、第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとしてテープ上に記憶され、
第2のデータ領域は第1のデータ領域に追加されたデータ領域に相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第1のデータ領域と第2のデータ領域とを連続する第3のデータ領域としてテープ上にコピーするステップと、
第3のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第3のデータ領域中の第2のデータ領域を除くデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む。
本発明の他の一態様によれば、テープ上のデータのバックアップをとる際に、1つのファイルを構成するデータ領域(第1のデータ領域)とこれに追加されたデータ領域(第2のデータ領域)とが連続した1つのデータ領域(第3のデータ領域)としてテープ上にコピーされるので、当該コピー後のファイルの読み出しを迅速におこなうことができる。さらに、追加前のデータ領域(第3のデータ領域中の第2のデータ領域を除くデータ領域)が対応するインデックス情報と共にテープ上にコピーされるので、過去に書かれたデータの履歴を保持し、後から随時その過去のデータを読み出すことができる。
本発明の他の一態様では、ファイルシステムにおいてテープ上のデータのバックアップをとるための方法を提供する。その方法では、
データは、第1のデータ領域と、第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとしてテープ上に記憶され、
第2のデータ領域のデータは第1のデータ領域の全てのデータを変更したデータに相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第2のデータ領域を第3のデータ領域としてテープ上にコピーするステップと、
第3のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第1のデータ領域を第3のデータ領域から離間した第4のデータ領域としてテープ上にコピーするステップと、
第4のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む。
データは、第1のデータ領域と、第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとしてテープ上に記憶され、
第2のデータ領域のデータは第1のデータ領域の全てのデータを変更したデータに相当し、
データ領域の各々は、テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
第2のデータ領域を第3のデータ領域としてテープ上にコピーするステップと、
第3のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
第1のデータ領域を第3のデータ領域から離間した第4のデータ領域としてテープ上にコピーするステップと、
第4のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む。
本発明の他の一態様によれば、テープ上のデータのバックアップをとる際に、1つのファイルを構成するデータ領域(第1のデータ領域)の全てのデータを変更したデータを含むデータ領域(第2のデータ領域)が1つのデータ領域(第3のデータ領域)としてテープ上にコピーされるので、当該コピー後のファイルの読み出しを迅速におこなうことができる。さらに、変更前のデータ領域(第4のデータ領域)が対応するインデックス情報と共にテープ上にコピーされるので、過去に書かれたデータの履歴を保持し、後から随時その過去のデータを読み出すことができる。
図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明では、必要に応じて従来技術の内容と比較しながら本発明の実施の形態について説明する。図1は、本発明の方法が実施されるファイルシステムの構成例を示す図である。ファイルシステム100は、ネットワーク36を介して相互に通信可能なテープドライブ10、ホスト(サーバー)30、PC(端末)32、34からなる。図1では、テープドライブ10とホスト(サーバー)30は、それぞれ1つしか描かれていないが、これはあくまで例示であって、2以上のテープドライブ10やホスト(サーバー)30を含むことができることは言うまでもない。
ファイルシステム100は、例えばLTFSとすることができる。LTFSでは、HDDやUSBメモリ、あるいはCD−Rを始めとする他のリムーバブルな記録媒体同様に、テープカートリッジをテープドライブに挿入すれば、そのテープカートリッジに保存されたファイルに直接アクセスできる。テープドライブ上でファイルシステムを構築するためには、テープドライブがパーティションを有していることが必要である。パーティションについては後述する。
図2は、本発明のテープドライブの構成例を示す図である。テープドライブ10は、ホストインターフェイス(以下、「ホストI/F」という)11と、バッファ12と、チャネル13と、ヘッド14と、モータ15とを含む。また、コントローラ16と、ヘッド位置制御システム17と、モータドライバ18とを含む。更に、テープドライブ10には、テープカートリッジ20が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ20も図示している。このテープカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。なお、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
また、テープカートリッジ20は、カートリッジメモリ(CM)24も含む。このCM24は、例えば、テープ23上にどのようにデータが書かれたかの情報を記録する。そして、例えばRFインターフェイスを用いて非接触でテープ23に書かれたデータのインデックスやテープ23の使用状況等を調べることにより、データへの高速アクセスを可能としている。なお、図2では、このRFインターフェイスのようなCM24へのアクセスを行うためのインターフェイスを、カートリッジメモリインターフェイス(以下、「CMI/F」という)19として示している。
ここで、ホストI/F11は、ホスト(サーバー)30や他のPC32等との通信を行う。例えば、ホスト30のOSから、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンドを受け取る。上述したLTFSの例では、デスクトップOSなどから直接、テープドライブ内のデータを参照でき、HD内のファイルを扱うのと同様に、ダブルクリックでファイルを実行したり、ドラッグアンドドロップでコピーしたりできる。
バッファ12は、テープ23に書き込むべきデータやテープ23から読み出されたデータを蓄積するメモリである。例えば、DRAMによって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットを格納している。
チャネル13は、テープ23に書き込むべきデータをヘッド14に送ったり、テープ23から読み出されたデータをヘッド14から受け取ったりするために用いられる通信経路である。ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。モータ15は、リール21、22を回転させる。なお、図2では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
一方、コントローラ16は、テープドライブ10の全体を制御する。例えば、ホストI/F11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御も行う。ヘッド位置制御システム17は、所望のラップを追跡するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド14を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。CMI/F19は、例えば、RFリーダライタにより実現され、CM24への情報の書込みや、CM24からの情報の読出しを行う。
図3〜図5を参照しながら、本発明が実施されるLTFSにおけるパーティションおよびインデックスの構成について説明する。LTFSでは、LTO5からサポートされるようになったパーティションと呼ばれるテープ上の論理的な区切りを使用している。パーティションには、インデックスパーティションとデータパーティションの2つがある。データパーティションは、ファイルを構成するデータそのものと、ファイルの書き込み完了後に一定の条件が整ったときに書き込むインデックス情報とで構成されている。インデックスパーティションには、最新のインデックス情報が格納されていて、カートリッジがロードされたときに読み込まれて、メディア上のどの位置にファイルが存在するかが判別できるようになっている。
図3にデータパーティションの構成例を示す。図3は、1つのファイルAが、データ(data)と付随するインデックス(index)とから構成される。インデックス(index)には、インデックス情報を構成する要素として、partition ID、start block、byte offset、byte count、file offsetがあり、これらをまとめてextentと呼んでいる。各要素の内容は下記に示す通りである。なお、以下の説明では、1つのファイルを構成するデータをデータあるいはデータ領域と呼ぶ。また、本明細書では、インデックス(index)に含まれる情報(要素)をインデックス情報またはextentと呼ぶ。
(a)partition ID:データパーティションに割り振られた論理的なIDである。複数のIDを持てることになっているが、現時点のLTFSではひとつのデータパーティションのみを使用している。従って、partition IDは常に一意である。
(b)start block:ファイルを構成するデータの先頭部分が含まれているブロック番号を示す。テープ上のデータの位置を示すのにブロックという概念を使用しており、デフォルトで512KBに設定されている。
(c)byte offset:データの先頭位置がそのブロック上のどの位置から始まっているかを示すオフセットである。
(d)byte count:そのデータを構成するバイト数を示している。
(e)file offset:このextentを構成するデータがファイル全体でどの位置にあるかを示す。
(b)start block:ファイルを構成するデータの先頭部分が含まれているブロック番号を示す。テープ上のデータの位置を示すのにブロックという概念を使用しており、デフォルトで512KBに設定されている。
(c)byte offset:データの先頭位置がそのブロック上のどの位置から始まっているかを示すオフセットである。
(d)byte count:そのデータを構成するバイト数を示している。
(e)file offset:このextentを構成するデータがファイル全体でどの位置にあるかを示す。
LTFSのインデックス情報では、ファイルをテープ上に書き込むと、ファイル全体がひとつのextentとして書き込まれる。これによって、次に読み出すときに一度のアクセスで効率的に読み出すことができる。ここでは、図3に例示されるように、簡略化のためひとつしか存在しないpartition ID は表記せず、start blockとbyte offsetから求められるファイルの先頭位置をX1、データを構成するバイト数L1で表現する。その結果、ファイルAのデータ領域は、インデックス情報として(X1、L1)と表すことができる。
図4は、ファイルAの一部が編集(変更)された場合のデータパーティションの構成例を示す。図4の例では、破線で囲まれた矢印Aの範囲のデータ領域のデータが編集(変更)されたものとする。テープ上のデータを編集する場合、すでに書かれたテープ上のデータに編集されたデータを上書きすることは困難である。その理由は、その直後にすでに別のファイルのデータが書かれていると、それを上書きしてしまうからである。したがって、編集後のデータは、データパーティションの先のデータ領域の後ろに追記される。
さらに、インデックスが更新されてその後ろに追記される。図4の例では、インデックス情報(X2、L2)で特定されるデータ領域が追記された編集後のデータ領域である。その後ろのインデクッス(index b)が追記された更新後のインデックスである。追記されたインデクッス(index b)は、ファイルAのextentとして、(X1、L1‘)(X2、L2)(X3、L3)の情報を含む。これらの情報は、ファイルAを構成するextentは3つあり、先頭データがX1から始まるL1’バイトのデータ、次がX2から始まるL2バイトのデータ、最後がX3から始まるL3バイトのデータで構成されていることを表している。図4の例は1回の編集(変更が)がされた場合の例であるが、ファイルが編集されるたびに同様の操作によりextentの編集(追加、変更)が加わることで、ファイルを構成するデータ領域を特定するようになっている。
図5は、図4のデータパーティションの構成例におけるデータの読み出し(READ)のイメージ図である。ファイルシステムからファイルAを読み出すコマンドがくると、最新のインデックスであるindex bからファイルAの位置を割り出す。最初にヘッド14がファイルの先頭位置X1に移動する。そこからL1‘バイトのデータを読み出す(R1)。次に、ヘッド14がデータが存在するX2にヘッド14が移動して、L2バイトのデータを読み出す(R2)。最後にヘッド14が引き返して(2回のロールバックをしながら)X3まで移動して、L3バイトのデータを読み出す(R3)。ファイルAがキャッシュに保存されていない限り、ファイルAを読み出すたびにこの一連のヘッド移動が必ず発生することになる。
本発明は、図4、図5に例示されるようなデータパーティションのデータを他のテープ上にバックアップする際に、上記したデータ読み出し時のヘッド移動に伴う読み出し時間の増加を解消/軽減するべく、以下に示すようなデータのバックアップ(コピー)方法を提案する。図6〜図9を参照しながら本発明のバックアップ方法の実施形態について説明する。
図6は、本発明のバックアップ方法の第1の実施形態を説明するための図である。図6(a)は、図4のファイルAの一部(Aの範囲)が編集(変更)された場合のデータパーティションの構成例と同じである。(b)と(c)がバックアップ(コピー)後のデータパーティションの構成例である。(a)においては、既に図4の説明において述べたように、追記されたインデクッス(index b)は、ファイルAのextentとして、3つのデータ領域を特定するための(X1、L1‘)(X2、L2)(X3、L3)の情報を含む。
この例では、元のファイルAの一部(Aの範囲)のデータが更新されているので、(b)に示すように、データ領域“L1‘+L2+L3”のデータをコピー先に作成する。このときのインデックスcを構成するextentは、(Y1、L1‘+L2+L3)となる。先頭位置Y1は、コピー先のLTFSの空きエリアの先頭位置にマップされる。データ領域“L1‘+L2+L3”からなるファイルにおいて、最初のL1’バイトがコピー元の(X1,L1‘)部分から、次のL2バイトがコピー元の(X2、L2)部分D2から、最後のL3バイトがコピー元の(X3、L3)部分からそれぞれコピーされて作成される。
次に、一世代前のファイルを再現する。コピー先では次の世代部分のY1からL1‘バイト部分と、Y2から“L1−L1’−L3”バイト部分と、“Y1+L1‘+L2”の位置からL3バイト部分とをつなげたものがコピー元での(X1、L1)のデータ領域に該当するので、一世代前のファイルは、(c)に示す構成となる。なお、ここで言う世代とは、編集履歴上の順番(旧―>新)を意味する。(c)の場合のインデックスdを構成するextentは、(Y1、L1’)(Y2,L1−L1’−L3)(Y1+L1‘+L2、L3)となる。
なお、図6の例では、編集部分Aはデータ領域の中央部であるが、その編集部分Aがデータ領域中の先頭部あるいは後方部等のいずれの位置にあっても、同様な手順でコピーをおこなうことができる。なお、ここで言う「編集部分A」には、その領域にデータが追加された場合も含まれる。図6(b)のコピー先のファイルの読み出し時には、インデックスindex bからファイルの位置を割り出し、ヘッドが位置Y1に移動して、連続したデータ領域(“L1‘+L2+L3”)からなるファイルを読み出すことができる。したがって、図5の読み出し時と比較して明らかなように、ファイルの読み出しを速く完了することができる。また、図6(c)の構成例から明らかなように、ファイルの編集履歴(世代)を維持しつつ、必要な時にそれを再現(読み出し)することができる。
図7は、本発明のバックアップ方法の第2の実施形態を説明するための図である。図7(a)は、インデックスeのextent(X1、L1)で特定されるデータ領域の直前に編集後のデータD3が挿入された場合の例である。この場合のインデックスfを構成するextentは、(X2、L2)(X1、L1)となる。この例では、元のファイルAにデータ領域D3が追加されているので、図7(b)に示すように、データ領域“L1+L2”のデータ(ファイル)をコピー先に作成する。この場合のインデックスgを構成するextentは、(Y1、L1+L2)となる。
先頭位置Y1は、コピー先のLTFSの空きエリアの先頭位置にマップされる。データ領域“L1+L2”の前半のL2バイトがコピー元の(X2、L2)部分からコピーされ、後半のL1バイトがコピー元の(X1、L1)部分からコピーされる。次に、一世代前のファイルを再現する。コピー先では、Y1+L2の位置からL1バイト部分がコピー元での(X1、L1)のデータ領域に該当するので、一世代前のファイルは図7(c)に示す構成となる。この場合のインデックスhを構成するextentは、(Y1+L2、L1)となる。
なお、図7の例はデータ領域の直前部に編集データが挿入(追加)された場合であるが、データ領域の直後部に編集データが挿入(追加)された場合も同様な手順でコピーをおこなうことができる。図7のバックアップにおいても、図6の場合と同様に、コピー後のデータ領域が連続しているので、ファイルの読み出しを速く完了することができる。さらに、ファイルの編集履歴(世代)を維持しつつ、必要な時にそれを再現(読み出し)することができる。
図8は、本発明のバックアップ方法の第3の実施形態を説明するための図である。図8(a)は、元ファイルであるデータ領域D4の全体が編集(変更)され編集後のデータ領域D5が形成される場合の例である。この場合のインデックスkを構成するextentは、(X2、L2)となる。この例では、元のファイルすべてが新たなデータに置き換えられているので、(b)に示すようなファイル(データ領域)D5をコピー先に作成する。この場合のインデックスmを構成するextentは、(Y1、L2)となる。
先頭位置Y1は、コピー先のLTFSの空きエリアの先頭位置にマップされる。データ領域D5のL2バイトはコピー元の(X2、L2)部分からコピーされて作成される。次に一世代前のファイルを再現する。コピー先では次の世代部分のY2からL1バイト部分(D4)がコピー元での(X1、L1)のデータ領域D4に該当するので、一世代前のファイルは図8(c)に示す構成となる。この場合のインデックスjを構成するextentは、(Y2、L1)となる。
図8のバックアップにおいても、図6、図7の場合と同様に、コピー後のデータ領域が連続しているので、ファイルの読み出しを速く完了することができる。さらに、ファイルの編集履歴(世代)を維持しつつ、必要な時にそれを再現(読み出し)することができる。
なお、図示はしていないが、元のファイル全体が削除された場合は、コピー先には何もコピーされない。一世代前のファイルの再現として、コピー元での(X1、L1)のデータ領域がコピー先での次の世代部分のY1からL1バイト部分としてコピーされる。その場合のインデックスを構成するextentは、(Y1、L1)となる。
図9は、本発明の複数の世代間でのデータのバックアップのイメージ図である。図9(a)は3世代(3編集履歴)のバックアップのイメージであり、(b)は上述した本発明のバックアップ(コピー)方法を用いてファイル(データ)を3世代(3編集履歴)に渡ってバックアップするイメージである。世代は、gen#1〜gen#3で表され、数字の大小が世代(履歴)の新旧に対応している。したがって、最新の世代はgen#3である。(a)、(b)のいずれにおいても、最新(gen#3)のインデックス(latest Index)がインデックスパーティション(Index partition)上に書かれている。
既に上述したように編集後のデータは、データパーティション(data partition)の先のデータ領域の後ろに追記されていく。同時に対応するインデックスのextentの情報も更新されていく。したがって、世代が新しくなるほど、インデックスのextentの情報も増えていくことになる。この場合、図9(a)に示すように、矢印1〜3で指示される流れに沿って、最新のインデックスの内容から古いインデックスの位置及びその内容を順番にたどっていくことができる。その結果各インデックスにより特定されるデータの領域から順次データを読み出していくことができる。
図9(b)のコピー後のデータパーティション(data partition)では、コピー元のデータの世代の新しいものから古いものへ遡るようにデータがコピーされている。したがって、(a)の場合とは逆に、世代が古くなるほど、インデックスのextentの情報も増えていくことになる。この場合、図9(b)に示すように、矢印1〜3で指示される流れに沿って、最新のインデックスの内容から古いインデックスの位置及びその内容を順番にたどっていくことができる。その結果、各インデックスにより特定されるデータの領域から順次データを読み出していくことができる。その際、インデックスのextentの情報量が少ない新しい世代のデータほど、ヘッドの移動時間等が短くなり、読み出しに係る時間を短くすることが可能となる。
ユーザがテープに保存してあるファイルを読み出す場合、最もアクセスするのは直近に編集を行った最新の状態のファイルである。そのファイルの過去に書き込んだレベルのファイルにロールバックしてアクセスする必要があるのは、まれな状況と考えられる。しかし、従来のLTFSの性質上、その最も頻繁にアクセスされる最新のファイルを読み出すために、それ以外の世代のファイルを読み出すのに比べて最も時間がかかる仕組みになっていた。図9(b)に例示されるように、本発明の方法によりバックアップを行うと、最もアクセスの多い最新の状態(新しい世代)のファイルの読み出しを短時間に行えるようになる。
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。さらに、本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
10 テープドライブ
11 ホストI/F
12 バッファ
13 チャネル
14 ヘッド
15 モータ
16 コントローラ
17 ヘッド位置制御システム
18 モータドライバ
19 カートリッジメモリI/F
20 テープカートリッジ
21、22 リール
23 テープ
24 カートリッジメモリ(CM)
30 サーバー(ホスト)
32、34 PC
36 ネットワーク
40 サーボバンド
100 ファイルシステム
11 ホストI/F
12 バッファ
13 チャネル
14 ヘッド
15 モータ
16 コントローラ
17 ヘッド位置制御システム
18 モータドライバ
19 カートリッジメモリI/F
20 テープカートリッジ
21、22 リール
23 テープ
24 カートリッジメモリ(CM)
30 サーバー(ホスト)
32、34 PC
36 ネットワーク
40 サーボバンド
100 ファイルシステム
Claims (10)
- ファイルシステムにおいてテープ上のデータのバックアップをとるための方法であって、
前記データは、第1のデータ領域と、前記第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとして前記テープ上に記憶され、
前記第2のデータ領域のデータは、前記第1のデータ領域の一部である第3のデータ領域のデータを変更したデータに相当し、
前記データ領域の各々は、前記テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
前記第1のデータ領域中の前記第3のデータ領域を除くデータ領域と前記第2のデータ領域とを連続する1つの第4のデータ領域としてテープ上にコピーするステップであって、前記第2のデータ領域を前記第3のデータ領域の置き換えに相当する位置にコピーする、ステップと、
前記第4のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
前記第3のデータ領域を前記第4のデータ領域から離間した第5のデータ領域としてテープ上にコピーするステップと、
前記第4のデータ領域中の前記第2のデータ領域を除くデータ領域を特定するためのインデックス情報と、前記第5のデータ領域を特定するためのインデックス情報とをテープ上に記憶するステップと、を含む方法。 - 前記第3のデータ領域は、前記第1のデータ領域の先頭部分、中間部分、または後方部分のいずれかに位置するデータ領域である、請求項1に記載の方法。
- 前記データ領域の各々及び前記インデックス情報の各々は、前記テープのデータパーティションに記憶され、前記インデックス情報の各々は対応するデータ領域の直後に配置される、請求項1に記載の方法。
- ファイルシステムにおいてテープ上のデータのバックアップをとるための方法であって、
前記データは、第1のデータ領域と、前記第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとして前記テープ上に記憶され、
前記第2のデータ領域は前記第1のデータ領域に追加されたデータ領域に相当し、
前記データ領域の各々は、前記テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
前記第1のデータ領域と前記第2のデータ領域とを連続する第3のデータ領域としてテープ上にコピーするステップと、
前記第3のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
前記第3のデータ領域中の前記第2のデータ領域を除くデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む方法。 - 前記前記第1のデータ領域に追加されたデータ領域は、前記第1のデータ領域の先頭部または最後部のいずれかに追加されたデータ領域である、請求項4に記載の方法。
- 前記データ領域の各々及び前記インデックス情報の各々は、前記テープのデータパーティションに記憶され、前記インデックス情報の各々は対応するデータ領域の直後に配置される、請求項4に記載の方法。
- ファイルシステムにおいてテープ上のデータのバックアップをとるための方法であって、
前記データは、第1のデータ領域と、前記第1のデータ領域から離間した第2のデータ領域とを含む1つのファイルとして前記テープ上に記憶され、
前記第2のデータ領域のデータは前記第1のデータ領域の全てのデータを変更したデータに相当し、
前記データ領域の各々は、前記テープ上のデータの開始位置および長さの情報を含むインデックス情報によって管理されており、
前記第2のデータ領域を第3のデータ領域としてテープ上にコピーするステップと、
前記第3のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、
前記第1のデータ領域を前記第3のデータ領域から離間した第4のデータ領域としてテープ上にコピーするステップと、
前記第4のデータ領域を特定するためのインデックス情報をテープ上に記憶するステップと、を含む方法。 - 前記データ領域の各々及び前記インデックス情報の各々は、前記テープのデータパーティションに記憶され、前記インデックス情報の各々は対応するデータ領域の直後に配置される、請求項7に記載の方法。
- 請求項1〜8のいずれか1項の各ステップを実行するためのコンピュータ・プログラム。
- 請求項1〜8のいずれか1項の各ステップを実行するデープドライブを含むファイルシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013256472 | 2013-12-11 | ||
JP2013256472 | 2013-12-11 | ||
PCT/JP2014/072097 WO2015087584A1 (ja) | 2013-12-11 | 2014-08-25 | テープ上のデータのバックアップ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015087584A1 true JPWO2015087584A1 (ja) | 2017-03-16 |
JP6153626B2 JP6153626B2 (ja) | 2017-06-28 |
Family
ID=53370903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015552344A Active JP6153626B2 (ja) | 2013-12-11 | 2014-08-25 | テープ上のデータのバックアップ方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US9891850B2 (ja) |
JP (1) | JP6153626B2 (ja) |
GB (1) | GB2536385B (ja) |
WO (1) | WO2015087584A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2536385B (en) | 2013-12-11 | 2017-01-04 | Ibm | Method for backing up data on tape |
US10572170B2 (en) | 2016-12-05 | 2020-02-25 | International Business Machines Corporation | Writing file information for tape file systems |
US11175843B2 (en) | 2018-11-21 | 2021-11-16 | International Business Machines Corporation | Data storage system with generation rollback control |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179868A1 (en) * | 2011-01-12 | 2012-07-12 | International Business Machines Corporation | Autonomic reclamation processing for tapes |
US20120179867A1 (en) * | 2010-11-09 | 2012-07-12 | Tridib Chakravarty | Tape data management |
US20130132663A1 (en) * | 2011-11-18 | 2013-05-23 | International Business Machines Corporation | Reading files stored on a storage system |
JP2013101506A (ja) * | 2011-11-08 | 2013-05-23 | Internatl Business Mach Corp <Ibm> | 複数のファイルを列挙した情報を生成する装置及び方法 |
JP2013161185A (ja) * | 2012-02-02 | 2013-08-19 | Nec Corp | 磁気テープ装置及びその制御方法 |
JP2013191259A (ja) * | 2012-03-15 | 2013-09-26 | Internatl Business Mach Corp <Ibm> | テープドライブでのデータ書き込み方法、プログラム |
JP2013206518A (ja) * | 2012-03-29 | 2013-10-07 | Nec Corp | 磁気テープ装置及び磁気テープ装置のファイルアクセス方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4244836B2 (ja) | 2004-03-24 | 2009-03-25 | 日本電気株式会社 | コンピュータシステム、そのバックアップ/リストア方法、ホストコンピュータ、プログラム |
US9037790B2 (en) * | 2010-03-05 | 2015-05-19 | International Business Machines Corporation | Systems, methods, and computer program products for providing high availability metadata about data |
US9063666B2 (en) * | 2010-03-25 | 2015-06-23 | International Business Machines Corporation | File index, metadata storage, and file system management for magnetic tape |
GB2536385B (en) | 2013-12-11 | 2017-01-04 | Ibm | Method for backing up data on tape |
-
2014
- 2014-08-25 GB GB1611102.3A patent/GB2536385B/en active Active
- 2014-08-25 WO PCT/JP2014/072097 patent/WO2015087584A1/ja active Application Filing
- 2014-08-25 US US15/102,857 patent/US9891850B2/en not_active Expired - Fee Related
- 2014-08-25 JP JP2015552344A patent/JP6153626B2/ja active Active
-
2017
- 2017-11-08 US US15/807,442 patent/US10152256B2/en active Active
-
2018
- 2018-11-01 US US16/178,062 patent/US10394470B2/en active Active
-
2019
- 2019-06-20 US US16/447,761 patent/US10656853B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179867A1 (en) * | 2010-11-09 | 2012-07-12 | Tridib Chakravarty | Tape data management |
US20120179868A1 (en) * | 2011-01-12 | 2012-07-12 | International Business Machines Corporation | Autonomic reclamation processing for tapes |
JP2013101506A (ja) * | 2011-11-08 | 2013-05-23 | Internatl Business Mach Corp <Ibm> | 複数のファイルを列挙した情報を生成する装置及び方法 |
US20130132663A1 (en) * | 2011-11-18 | 2013-05-23 | International Business Machines Corporation | Reading files stored on a storage system |
JP2013161185A (ja) * | 2012-02-02 | 2013-08-19 | Nec Corp | 磁気テープ装置及びその制御方法 |
JP2013191259A (ja) * | 2012-03-15 | 2013-09-26 | Internatl Business Mach Corp <Ibm> | テープドライブでのデータ書き込み方法、プログラム |
JP2013206518A (ja) * | 2012-03-29 | 2013-10-07 | Nec Corp | 磁気テープ装置及び磁気テープ装置のファイルアクセス方法 |
Non-Patent Citations (1)
Title |
---|
長谷川徹ほか4名: "IBMプロフェッショナル論文4 "テープ用ファイルシステムでのファイル・リストアの高速化"", PROVISION, vol. 第72号, JPN6014048064, 8 February 2012 (2012-02-08), JP, pages 97 - 103, ISSN: 0003547291 * |
Also Published As
Publication number | Publication date |
---|---|
US10394470B2 (en) | 2019-08-27 |
GB201611102D0 (en) | 2016-08-10 |
WO2015087584A1 (ja) | 2015-06-18 |
US20180067667A1 (en) | 2018-03-08 |
JP6153626B2 (ja) | 2017-06-28 |
GB2536385B (en) | 2017-01-04 |
US20190303023A1 (en) | 2019-10-03 |
US20160313933A1 (en) | 2016-10-27 |
US9891850B2 (en) | 2018-02-13 |
GB2536385A (en) | 2016-09-14 |
US10656853B2 (en) | 2020-05-19 |
US10152256B2 (en) | 2018-12-11 |
US20190073144A1 (en) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5954751B2 (ja) | テープ上のデータをロールバックする方法及びファイルシステム | |
JP5325078B2 (ja) | テープ記録装置およびテープ記録方法 | |
JP6041839B2 (ja) | メタ情報を保管する方法、プログラム、及びそのテープ記録システム | |
JP6391061B2 (ja) | テープ上へのファイル書き込み方法 | |
JP5618813B2 (ja) | 記憶装置、記録媒体、およびデータの長期保存方法 | |
US9852756B2 (en) | Method of managing, writing, and reading file on tape | |
JP5925280B2 (ja) | テープに書き込されたファイルを消去する方法、プログラム、及びテープ装置 | |
JP2012094220A (ja) | 書込みレコードの重複を排除する記憶装置、及びその書込み方法 | |
US10656853B2 (en) | Tape having multiple data areas | |
JP5636115B2 (ja) | テープドライブでのデータ改ざん検知方法、ファイルシステム | |
JP2015036851A (ja) | 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム | |
JP2013161185A (ja) | 磁気テープ装置及びその制御方法 | |
JP2015088199A (ja) | テープメディア上に複数のアクセスパターンを持つデータの書き込み、及び、読み出し | |
US9058843B2 (en) | Recovery of data written before initialization of format in tape media | |
JP6433170B2 (ja) | リードヘッドとライトヘッドとを活用して記録データの削除所要時間を削減する手法 | |
US9285996B2 (en) | Tape drive buffer utilization | |
JP2004078445A (ja) | ファイルシステム、ファイル管理方法およびファイル管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20170509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6153626 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |