JP6052812B2 - テープ上のファイルの管理、書き込み、及び読み出し方法 - Google Patents

テープ上のファイルの管理、書き込み、及び読み出し方法 Download PDF

Info

Publication number
JP6052812B2
JP6052812B2 JP2014143728A JP2014143728A JP6052812B2 JP 6052812 B2 JP6052812 B2 JP 6052812B2 JP 2014143728 A JP2014143728 A JP 2014143728A JP 2014143728 A JP2014143728 A JP 2014143728A JP 6052812 B2 JP6052812 B2 JP 6052812B2
Authority
JP
Japan
Prior art keywords
file
tape
data
index
writing
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.)
Expired - Fee Related
Application number
JP2014143728A
Other languages
English (en)
Other versions
JP2016021100A (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 JP2014143728A priority Critical patent/JP6052812B2/ja
Priority to US14/719,344 priority patent/US9721610B2/en
Publication of JP2016021100A publication Critical patent/JP2016021100A/ja
Application granted granted Critical
Publication of JP6052812B2 publication Critical patent/JP6052812B2/ja
Priority to US15/405,667 priority patent/US9852756B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/328Table of contents on a tape [TTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1294Increase of the access speed
    • G11B2020/1295Increase of the access speed wherein the focus is on the read access speed

Description

本発明は、テープドライブを含むファイルシステムに関し、より具体的には、そのファイルシステムにおいてテープ上のファイルの管理、書き込み、及び読み出しに関する。
テープドライブ上のデータをファイルシステムにおけるファイルとしてアクセスする仕組みとして、例えばLTFS(Linear Tape File System)が実用化されている。LTFSでは、ファイルを構成するデータ領域がテープ上のどこに存在するか等のメタ情報(データ領域の位置やサイズ等)をインデックスとして保管することにより、ファイルシステムを実現している。このLTFSを用いることにより、HDDやUSBメモリ等の記憶デバイスと同様の方法でテープをファイルの記憶先として使用することができる。
LTFSでは、テープの性質上、ファイルの編集(更新)時に、過去に書いたファイルのデータ(以下、単に「ファイル」あるいは「データ」とも記載する)を上書きせずにそのデータの後方に編集されたデータを追記する仕組みになっている。データを読み出す際には、データが書かれた位置での磁気ヘッドとテープの位置合わせ(テープ及び/又は磁気ヘッドの移動)を行った後にデータを読み出す。そのため、その位置合わせに時間がかかることがあり、HDDやUSBメモリを想定して作られたアプリケーションを、そのままテープに適用させると、ファイルの読み出し動作が非常に遅くなることがある。
例えば、図1に示すように、ファイルA、 ファイルB、 ファイルCがテープ上に順番に書かれているとする。この場合に、ファイルBを読み出した後にファイルAを読み出そうとすると、ヘッドがテープ上の位置cから位置dまでのデータを読み出した後(R1)、位置aまでヘッドが移動して(テープを巻き戻して)から位置bまでファイルAのデータを読み出す必要がある(R2)。このヘッドの移動(テープの巻き戻し)には数秒から数十秒かかることがあり、HDDやUSBメモリを想定して作られたアプリケーションを使用している場合、突然読み出し動作が遅くなるという問題が起こる。
特開2013-182476号公報 特開2011-197977号公報
本発明の目的は、上記した従来技術の問題を解決あるいは軽減し、テープ上のファイルの読み出しを速くするための方法、より具体的には、ファイルの管理方法、書き込み方法、及び読み出し方法を提供することである。
本発明の一態様では、ファイルシステムにおいてテープ上のファイルの管理方法を提供する。その方法は、(a)テープ上へのファイルの書き込みの際に、当該ファイルのデータと同じデータを含む他のファイルが既に前記テープ上に存在するか否かを検出するステップと、(b)他のファイルがテープ上に存在する場合、他のファイルの第1インデックスを更新するステップであって、ファイルの書き込み後に、第1インデックスに、書き込みされたファイルのテープ上でのデータ開始位置およびサイズを含むメタ情報を追加することを含むステップと、を含む。
本発明の一態様によれば、書き込みをするファイルのデータと同一データを含むテープ上の既に書き込まれているファイルのメタ情報を管理(更新)することにより、例えば、それらのファイルのいずれかを読み出す際にファイルのメタ情報(位置情報)から速く読み出せるファイルを特定した後にそのファイルを速く読み出すことが可能となる。
本発明の他の一態様では、ファイルシステムにおいてテープ上へのファイルの書き込み方法を提供する。その方法は、(a)テープ上へのファイルの書き込みが発生した際に、当該ファイルのデータと同じデータを含む他のファイルが既に前記テープ上に存在するか否かを検出するステップと、(b)テープ上へファイルを書き込むステップと、(c)他のファイルがテープ上に存在する場合、他のファイルの第1インデックスを更新するステップであって、当該第1インデックスに、書き込みされたファイルのテープ上でのデータ開始位置およびサイズを含むメタ情報を追加することを含むステップと、を含む。
本発明の他の一態様によれば、書き込みをするファイルのデータと同一データを含むテープ上の既に書き込まれているファイルのメタ情報を管理(更新)することにより、例えば、それらのファイルのいずれかを読み出す際にファイルのメタ情報(位置情報)から速く読み出せるファイルを特定した後にそのファイルを速く読み出すことが可能となる。
本発明の他の一態様では、ファイルシステムにおいてテープ上からファイルの読み出し方法を提供する。その方法は、(a)テープ上からファイルの読み出しが発生した際に、当該ファイルのデータと同一データがテープ上に存在するか否かを検出するステップと、(b)同一データがテープ上に存在する場合、ファイルのデータまたは同一データのどちらが現在のヘッド位置から早く読み出せるかを判定するステップと、(c)早く読み出せるファイルのデータまたは同一データをテープ上から読み出すステップと、を含む。
本発明の他の一態様によれば、読み出しをするファイルのデータと同一データを検出して、それらの中で速く読み出せるデータを特定し、そのデータを速く読み出すことが可能となる。
テープ上のデータの構成例を示す図である。 本発明のファイルシステムの構成例を示す図である。 本発明のテープドライブの構成例を示す図である。 データパーティションの構成例を示す図である。 本発明の一実施形態の方法フローを示す図である。 本発明の一実施形態の方法フローを示す図である。 本発明のメタ情報の構成例を示す図である。 本発明の一実施形態の方法フローを示す図である。 本発明の方法を適用したデータパーティションの構成例を示す図である。
図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明では、必要に応じて従来技術の内容と比較しながら本発明の実施の形態について説明する。図2は、本発明の方法が実施されるファイルシステムの構成例を示す図である。ファイルシステム100は、ネットワーク36を介して相互に通信可能なテープドライブ10、ホスト(サーバー)30、PC(端末)32、34からなる。図2では、テープドライブ10とホスト(サーバー)30は、それぞれ1つしか描かれていないが、これはあくまで例示であって、2以上のテープドライブ10やホスト(サーバー)30を含むことができることは言うまでもない。
ファイルシステム100は、例えばLTFSとすることができる。LTFSでは、HDDやUSBメモリ、あるいはCD−Rを始めとする他のリムーバブルな記録媒体同様に、テープカートリッジをテープドライブに挿入すれば、そのテープカートリッジに保存されたファイルに直接アクセスできる。テープドライブ上でファイルシステムを構築するためには、テープドライブがパーティションを有していることが必要である。なお、パーティションについては後述する。
図3は、図2のファイルシステム100で利用可能なテープドライブの構成例を示す図である。テープドライブ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の使用状況等を調べることにより、データへの高速アクセスを可能としている。なお、図3では、この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を回転させる。なお、図3では、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からの情報の読出しを行う。
ここで、本発明が実施されるLTFSにおけるパーティションおよびインデックスの構成について説明する。LTFSでは、LTO5からサポートされるようになったパーティションと呼ばれるテープ上の論理的な区切りを使用している。パーティションには、インデックスパーティションとデータパーティションの2つがある。データパーティションは、ファイルを構成するデータそのものと、ファイルの書き込み完了後に一定の条件が整ったときに書き込むインデックスとで構成されている。インデックスパーティションには、最新のインデックスが格納されていて、カートリッジがロードされたときに読み込まれて、メディア上のどの位置にファイルが存在するかが判別できるようになっている。インデックスには、後述するメタ情報が含まれる。
図4にデータパーティションの構成例を示す。図4は、1つのファイルAが、データ(data)と付随するインデックス(index_a)とから構成される。インデックス(index_a)には、テープ23上のファイルの位置等を特定するためのメタ情報を構成する要素として、partition ID、start block、 byte offset、byte count、file offsetが含まれ、これらはまとめてextentと呼ばれている。各要素の内容は下記に示す通りである。なお、以下の説明では、1つのファイルに含まれるデータを単にデータあるいはデータ領域と呼ぶ場合がある。また、インデックスに含まれる情報(要素)をメタ情報またはextentと呼ぶ。
(a)file offset:このextentを構成するデータがファイル全体でどの位置にあるかを示す。
(b)partition ID:パーティションに割り振られた論理的なIDである。
(c)start block:ファイルを構成するデータの先頭部分が含まれているブロック番号を示す。テープ上のデータの位置を示すのにブロックという概念を使用しており、デフォルトで512KBに設定されている。
(d)byte offset:データの先頭位置がそのブロック上のどの位置から始まっているかを示すオフセットである。
(e)byte count:そのデータを構成するバイト数を示している。
LTFSのインデックスでは、ファイルをテープ上に書き込むと、ファイル全体がひとつのextentとして書き込まれる。これによって、次に読み出すときに一度のアクセスで効率的に読み出すことができる。このextentについてはさらに図7を参照しながら後述する。
図5〜図9を参照しながら本発明の方法の実施形態について説明する。本発明の方法の実施形態は、ファイルシステム100のコンピュータ30〜34あるいはテープドライブ10で利用可能な所定のソフトウェア、ハードウェアを用いて実行される。図5は、本発明のファイルの書き込み時における方法(動作)フローを示す図である。図5は、1つのファイル1を書き込む場合の一例を示している。複数のファイルを連続してあるいは離散的に書き込む場合も基本的な動作フローは同様である。なお、以下の各例(実施形態)ではファイルシステム100としてLTFSを利用する場合について説明するが、同様な機能/仕様を備える他のファイルシステムでも同様に利用可能であることは言うまでもない。
ステップS1において、テープ上へのファイル1の書き込みの際に、当該ファイル1のデータと同じデータを含む他のファイル2が既にテープ上に存在するか否かを検索する。この検索には、例えば、従来からあるData Deduplicationで使用されている技術を利用する。例えば、IBM社のTSM(Tivoli Storage Manager、(Tivoli:登録商標))で使用されている重複データの検出機能と同様な機能を利用することができる。
Data Deduplication技術における、データがすでにテープ上に書かれたデータと重複しているかどうかを判定する機能をDedup Engineと表記すると、本発明は、既存のLTFSの仕様を変更し、このDedup Engineを使用できるようにすることで実現される。ここで、Dedup Engineは、ソフトウェアとしてLTFS内部に実装しても良いし、LTFSが呼び出す外部のソフトウェアもしくはハードウェアとして実装しても良い。Dedup Engineとしては、例えば、LTFSに書き込むデータを含むファイル1を送ると、すでに書かれているファイル2のデータと一致する部分がある場合には、ファイル1、2それぞれの一致しているデータ部分の先頭からのOffset、Lengthなどの情報を返す機能を想定する。
ステップS2において、ステップS1の検索結果に基づき、ファイル1のデータと同じデータを含む他のファイル2が既にテープ上に存在するか否かを判定する。その判定がYesの場合、ステップS3において、見つかった他のファイル2のメタ情報を取得する。このメタ情報の取得には、例えば、上述したDedup Engineの機能が利用される。メタ情報には、ファイル2の同一データのテープ上の領域を特定するためのデータ開始位置およびサイズが少なくとも含まれる。より具体的には、メタ情報には、上述した(a)file offset、(b)partition ID、(c)start block、(d)byte offset、及び(e)byte countの少なくも一部あるいは全てを含むことができる。ステップS2の判定がNoの場合、ステップS4にステップS3を介さずに直ちにステップS4に進む。
ステップS4において、テープ上へのファイル1の書き込みが実行される。ステップS5において、書き込み後のファイル1のメタ情報の更新/作成が行われる。メタ情報の内容には、ファイル1のメタ情報に加えて、ステップS3で取得された他のファイル2のメタ情報も含まれる。これにより、同一データを含む2つのファイル1、2のメタ情報を、ファイル1のメタ情報から取得する(読み出す)ことが可能となる。更新あるいは作成されたメタ情報は、インデックス(extent)として、図4に例示されるように、所定のタイミング(一定時間経過後等)でテープ上のデータパーティションに書きこまれ、さらに所定のタイミング(カートリッジの取り出し時等)でインデックスパーティションに書きこまれる。
ステップS6において、テープ上に既に書き込まれている他のファイル2のメタ情報を更新する。その更新は、新たに書き込まれたファイルファイル1のメタ情報を元々あるファイル2のメタ情報に追加する形で行われる。これにより、同一データを含む2つのファイル1、2のメタ情報を、他のファイル2のメタ情報から取得する(読み出す)ことが可能となる。更新されたメタ情報は、ファイル1の場合と同様に、インデックス(extent)として、所定のタイミング(一定時間経過後等)でテープ上のデータパーティションに書きこまれ、さらに所定のタイミング(カートリッジの取り出し時等)でインデックスパーティションに書きこまれる。
図6は、本発明のファイルの書き込み時における方法(動作)フローの他の一例を示す図である。図5のフローと比較して、図6のフローでは、ステップS11において、先にテープ上へのファイル1の書き込みが実行され、続けて、ステップS12において、ファイル1のメタ情報だけを先に更新/作成しておく。このように先にファイル1の書き込みを実行するのは以下の理由による。すなわち、図5のステップS1で利用するDedup Engineとしては、書き込みデータが発生した際に、短時間で一致するデータの情報を返すものを想定したが、Dedup Engineには一致するデータの情報を返すのに時間がかかる実装もある。本発明の実装形態としては、そのような時間のかかるDedup Engineを使用することもできるので、その場合に対応するべく、書き込みとは非同期に(例えば、LTFSのアクセスが少ない時等に)後から一致するデータの情報を特定し、メタ情報を更新する。
図6のステップS13において、図5のステップS1の場合と同様に、ファイル1のデータと同じデータを含む他のファイル2が既にテープ上に存在するか否かを検索する。次のステップS14において、図5のステップS2の場合と同様に、ステップS13の検索結果に基づき、ファイル1のデータと同じデータを含む他のファイル2が既にテープ上に存在するか否かを判定する。その判定がNoの場合、ファイル1の書き込み動作を終了する。ステップS14の判定がYesの場合、ステップS15において、見つかった他のファイル2のメタ情報を更新する。その更新に際して、他のファイル2の元々あるメタ情報を最初に取得する。
そのメタ情報の取得には、例えば、上述したDedup Engineの機能が利用される。そして、取得したファイル2のメタ情報に、ステップS12において更新したファイル1のメタ情報を追加する形で、ファイル2のメタ情報を更新する。ステップS16において、ステップS12において更新したファイル1のメタ情報に、ステップS15で取得されたファイル2の元々あるメタ情報を追加する形でファイル1のメタ情報を更に更新する。ステップS15及び16において、更新された各々のメタ情報により、同一データを含む2つのファイル1、2のメタ情報を、ファイル1または他のファイル2の各々のメタ情報から取得する(読み出す)ことが可能となる。いずれの場合も更新されたメタ情報は、インデックス(extent)として、所定のタイミング(一定時間経過後等)でテープ上のデータパーティションに書きこまれ、さらに所定のタイミング(カートリッジの取り出し時等)でインデックスパーティションに書きこまれる。
図7に、図5のステップS5、S6、あるいは図6のステップS15、S16で更新された後のメタ情報の例(extent)を示す。LTFSではメタ情報をテープに記録する際には、XML形式で記録することFormat Specicicationにより規定されている。図7の例はそのXMLのうちの一部で、ファイルのメタ情報に関する記述例である。
extentの情報は、それぞれ対応するタグにより保存され、これらのタグをまとめたタグとして、<extent>タグがある。1つのファイルが、複数のエクステントからなる場合には、<extent>タグを複数持つこととなる。図7の例では、(1)で指示されるFileAという名前のファイルは、E1とE2で指示される範囲の2つの<extent>タグから構成されている。E1の<extent>タグでは、1036ブロック目からのextentがあり(2)、E2の<extent>タグでは、1040ブロック目からのextentがある(3)。各<extent>タグの内容には、上述した(a)file offset、(b)partition ID、(c)start block、(d)byte offset、及び(e)byte countに相当するタグが含まれる((4)と(5))。
図7の例では、E1の<extent>タグにおいて、<extent>タグの子要素としてE3とE4で指示される<dupextent>というタグを作っている。そして、<dupextent>の内容として、<startblock>、 <byteoffset>、及び<bytecount>のタグが含まれるようにすることで((6)と(7))、同一のデータが別の場所に書かれていることを記録することができる。図7の例では、1036ブロック目から始まるデータ(2)と同じデータが、xxxxブロックとyyyyブロックから始まるデータとして((8)と(9))、テープ上の2箇所に存在することを示している。なお、ここで示したタグ名やXMLタグの構成(要素)は1つの実施例であり、別の名称や構成で記述してもよい。
図8に、本発明の方法におけるファイルの読み出し方法の一実施形態のフローを示す。図8では1つのファイル1を読み出す場合を想定している。複数のファイルを連続してあるいは離散的に読み出す場合も基本的な動作フローは同様である。ステップS21において、ファイル1のメタ情報を取得する。具体的には、テープ上のインデックスパーティション及び/またはデータパーティションに書きこまれたインデックスのメタ情報(extent)を読み出して、ファイル1のデータの位置情報を取得する。
ステップS22において、ファイル1のデータと同一のデータを含むメタ情報(extent)がテープ上に存在するか否かを検索する。この検索は、図7のE3あるいはE4で示したような<dupextent>がファイル1のメタ情報内に存在するか否かで判断できる。ステップS23において、ステップS22の検索結果に基づき、ファイル1のデータと同じデータがテープ上に存在するか否かを判定する。その判定がYesの場合、ステップS24において、見つかった他のファイル2のメタ情報を取得する。ステップS23の判定がNoの場合、先のステップS26に進む。
次のステップS25において、見つかった同一データとファイル1のデータのどちらが現在のヘッドの位置から早く読み出せるかを判定する。その判定には、従来からある技術、例えば、国際公開WO2010/073776で開示されるようなデータ読み出し順序の決定方法を利用することができる。このデータ読み出し順序の決定方法は、テープドライブにおいて実装され、その判定結果はテープドライブから取得することができる。ステップS26において、ステップS25で得られた早く読み出せるデータを読み出す。なお、同一のデータが複数存在する場合は、ファイル1を含めてそれらの中で一番早く読み出せるデータを選択して読み出すことになる。
最後に、図9を参照しながら本発明の方法を適用した場合のデータ構造について説明する。なお、図9では、データに付随して書かれるインデックス(extent)は省略されている。最初に(a)に示すように、ファイルAとファイルBがテープ上に書かれている場合を想定する。このとき、新たなファイルとして、ファイルCが書かれるタイミングで、ファイルCがファイルAと同じデータ内容であればテープ上には図のようにファイルCのデータが書き込まれる。さらに、ファイルAのメタ情報として、詳細は上述したように、データの開始位置をテープ上の位置aだけでなく、位置cも記録される。またファイルCのメタ情報として、テープ上の位置情報はaとcの両方が記録される。
この状態で、テープ上のデータの配置は、図9(b)のようになっている。このとき、アプリケーションがファイルBを読み出すために、テープ上の位置bから位置cまでのデータを読み出した後(R1)に、ファイルAの読み出しをする際には、位置aまでテープ巻き戻すことなく(ヘッドを移動させることなく)位置cからデータを読み出すことができる(R2)。その結果、ファイルAのデータを高速に読み出すことができる。
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。さらに、本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
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 ファイルシステム

Claims (7)

  1. ファイルシステムにおいてテープ上のファイルの管理方法であって、
    テープ上へのファイルの書き込みの際に、重複データの検出機能を有するソフトウェアを用いて、当該ファイルのデータと同じデータを含む他のファイルが既に前記テープ上に存在するか否かを検出するステップと、
    前記他のファイルが前記テープ上に存在する場合、前記ファイルの書き込み後に、前記他のファイルの第1インデックスを更新するステップであって、当該第1インデックスに、書き込みされた前記ファイルの前記テープ上でのデータ開始位置およびサイズを含むメタ情報を追加し、前記テープ上のインデックスパーティションに書き込むことを含むステップと、
    書き込みされた前記ファイルの前記テープ上でのデータ開始位置およびサイズを含むメタ情報を含む第2インデックスを作成または更新するステップであって、作成または更新後の第2インデックスを前記テープ上のインデックスパーティションに書き込むステップを含む、ステップと、を含む方法。
  2. 前記検出するステップの前または後に、前記テープ上へ前記ファイルを書き込むステップを含む、請求項1に記載の方法。
  3. 前記テープ上の前記ファイルまたは前記他のファイルの読み出しの際に、前記テープ上のインデックスパーティションから前記第1インデックス及び前記第2インデックスのメタ情報を取得するステップと、
    取得した前記メタ情報から前記ファイルまたは前記他のファイルのどちらが現在のヘッド位置から早く読み出せるかを判定するステップであって、現在のヘッド位置を検出するステップを含む、ステップと、
    早く読み出せる前記ファイルまたは前記他のファイルをテープ上から読み出すステップと、を更に含む、請求項1または2に記載の方法
  4. ファイルシステムにおいてテープ上へのファイルの書き込み方法であって、
    テープ上へのファイルの書き込みが発生した際に、重複データの検出機能を有するソフトウェアを用いて、当該ファイルのデータと同じデータを含む他のファイルが既に前記テープ上に存在するか否かを検出するステップと、
    前記テープ上へ前記ファイルを書き込むステップと、
    前記他のファイルが前記テープ上に存在する場合、前記他のファイルの第1インデックスを更新するステップであって、当該第1インデックスに、書き込みされた前記ファイルの前記テープ上でのデータ開始位置およびサイズを含むメタ情報を追加し、前記テープ上のインデックスパーティションに書き込むことを含むステップと、
    書き込みされた前記ファイルの前記テープ上でのデータ開始位置およびサイズを含むメタ情報を含む第2インデックスを作成または更新するステップであって、作成または更新後の第2インデックスを前記テープ上のインデックスパーティションに書き込むステップを含む、ステップと、
    を含む方法。
  5. 前記テープ上へ前記ファイルを書き込むステップは、前記検出するステップの前に実行される、請求項4に記載の方法。
  6. 請求項1〜のいずれか1項の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
  7. 請求項1〜のいずれか1項の各ステップを実行する、テープドライブを含むファイルシステム。
JP2014143728A 2014-07-11 2014-07-11 テープ上のファイルの管理、書き込み、及び読み出し方法 Expired - Fee Related JP6052812B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014143728A JP6052812B2 (ja) 2014-07-11 2014-07-11 テープ上のファイルの管理、書き込み、及び読み出し方法
US14/719,344 US9721610B2 (en) 2014-07-11 2015-05-22 Method of managing, writing, and reading file on tape
US15/405,667 US9852756B2 (en) 2014-07-11 2017-01-13 Method of managing, writing, and reading file on tape

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014143728A JP6052812B2 (ja) 2014-07-11 2014-07-11 テープ上のファイルの管理、書き込み、及び読み出し方法

Publications (2)

Publication Number Publication Date
JP2016021100A JP2016021100A (ja) 2016-02-04
JP6052812B2 true JP6052812B2 (ja) 2016-12-27

Family

ID=55067724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014143728A Expired - Fee Related JP6052812B2 (ja) 2014-07-11 2014-07-11 テープ上のファイルの管理、書き込み、及び読み出し方法

Country Status (2)

Country Link
US (2) US9721610B2 (ja)
JP (1) JP6052812B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6052812B2 (ja) 2014-07-11 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上のファイルの管理、書き込み、及び読み出し方法
JP5925280B2 (ja) 2014-11-04 2016-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープに書き込されたファイルを消去する方法、プログラム、及びテープ装置
US10216456B2 (en) 2016-07-22 2019-02-26 International Business Machines Corporation Estimating mount time completion in file systems
US11204891B2 (en) 2016-11-04 2021-12-21 International Business Machines Corporation Identifying partial update for tape file system
EP3770768A1 (en) * 2018-03-22 2021-01-27 Fujifilm Corporation Recording device, reading device, recording method, recording program, reading method, reading program and magnetic tape
US10614851B1 (en) 2019-05-23 2020-04-07 International Business Machines Corporation Verification of data on tape storage system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675177B1 (en) * 2000-06-21 2004-01-06 Teradactyl, Llc Method and system for backing up digital data
US6941328B2 (en) * 2002-01-22 2005-09-06 International Business Machines Corporation Copy process substituting compressible bit pattern for any unqualified data objects
US9036286B2 (en) 2008-12-25 2015-05-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reading data stored in recording medium
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
JP5569074B2 (ja) 2010-03-19 2014-08-13 日本電気株式会社 ストレージシステム
US9063666B2 (en) * 2010-03-25 2015-06-23 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
US9430155B2 (en) * 2010-03-25 2016-08-30 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
US8935469B2 (en) 2011-01-12 2015-01-13 International Business Machines Corporation Autonomic reclamation processing for tapes
JP2013161185A (ja) * 2012-02-02 2013-08-19 Nec Corp 磁気テープ装置及びその制御方法
JP5929326B2 (ja) 2012-03-02 2016-06-01 日本電気株式会社 ストレージシステム
JP2013206518A (ja) * 2012-03-29 2013-10-07 Nec Corp 磁気テープ装置及び磁気テープ装置のファイルアクセス方法
US8832365B1 (en) * 2012-04-20 2014-09-09 Kip Cr P1 Lp System, method and computer program product for a self-describing tape that maintains metadata of a non-tape file system
US8954663B1 (en) * 2012-06-25 2015-02-10 Kip Cr P1 Lp System, method and computer program product for synchronizing data written to tape including writing an index into a data partition so that data can be recovered in case of failure
US9720627B2 (en) 2013-01-17 2017-08-01 Western Digital Technologies, Inc. Data management for a data storage device
GB2514555A (en) 2013-05-28 2014-12-03 Ibm Deduplication for a storage system
JP2015005229A (ja) * 2013-06-21 2015-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープカートリッジのファイルを複製する方法、プログラム及びテープドライブ
JP6005010B2 (ja) * 2013-08-12 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム
JP6109012B2 (ja) * 2013-08-23 2017-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープメディアにおいてフォーマットを初期化する前に書き込まれていたデータのリカバリー
US20150149415A1 (en) * 2013-11-22 2015-05-28 International Business Machines Corporation Rollback Mechanism for Linear Tape File Systems
US9348837B2 (en) * 2013-12-05 2016-05-24 International Business Machines Corporation Index writing in a linear tape file system
JP5932877B2 (ja) * 2014-04-15 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープメディアへファイルを書き込む所要時間の低減
JP6080799B2 (ja) * 2014-05-28 2017-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ記録システム用ファイルシステムを介した読み書きする方法
JP6391061B2 (ja) * 2014-06-17 2018-09-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上へのファイル書き込み方法
JP6052812B2 (ja) 2014-07-11 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上のファイルの管理、書き込み、及び読み出し方法
JP6476491B2 (ja) 2015-02-27 2019-03-06 アクア株式会社 冷蔵庫

Also Published As

Publication number Publication date
US20170125061A1 (en) 2017-05-04
JP2016021100A (ja) 2016-02-04
US20160012073A1 (en) 2016-01-14
US9852756B2 (en) 2017-12-26
US9721610B2 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
JP5954751B2 (ja) テープ上のデータをロールバックする方法及びファイルシステム
JP6052812B2 (ja) テープ上のファイルの管理、書き込み、及び読み出し方法
US9448943B2 (en) Partial volume access in a physical stacked volume
JP6391061B2 (ja) テープ上へのファイル書き込み方法
US9684454B2 (en) Method, storage system, and program for spanning single file across plurality of tape media
JP5325128B2 (ja) データの書込みを制御する装置及び方法
JP5618813B2 (ja) 記憶装置、記録媒体、およびデータの長期保存方法
US20100046108A1 (en) Verification of a Tape Data Storage Cartridge
JP5636115B2 (ja) テープドライブでのデータ改ざん検知方法、ファイルシステム
US8856436B2 (en) Locating host data records on a physical stacked volume
JP2013161185A (ja) 磁気テープ装置及びその制御方法
US10656853B2 (en) Tape having multiple data areas
JP6109012B2 (ja) テープメディアにおいてフォーマットを初期化する前に書き込まれていたデータのリカバリー

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160112

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160115

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160914

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20161104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161122

R150 Certificate of patent or registration of utility model

Ref document number: 6052812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees