JP6341652B2 - テープカートリッジのデータを自動的にリクラメーションする方法 - Google Patents

テープカートリッジのデータを自動的にリクラメーションする方法 Download PDF

Info

Publication number
JP6341652B2
JP6341652B2 JP2013243395A JP2013243395A JP6341652B2 JP 6341652 B2 JP6341652 B2 JP 6341652B2 JP 2013243395 A JP2013243395 A JP 2013243395A JP 2013243395 A JP2013243395 A JP 2013243395A JP 6341652 B2 JP6341652 B2 JP 6341652B2
Authority
JP
Japan
Prior art keywords
data
partition
writing
unnecessary
file
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
JP2013243395A
Other languages
English (en)
Other versions
JP2015103033A (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 JP2013243395A priority Critical patent/JP6341652B2/ja
Priority to US14/511,660 priority patent/US9236065B2/en
Publication of JP2015103033A publication Critical patent/JP2015103033A/ja
Application granted granted Critical
Publication of JP6341652B2 publication Critical patent/JP6341652B2/ja
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
    • 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
    • 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
    • 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
    • G11B20/1202Formatting, e.g. arrangement of data block or words on the record carriers on tapes with longitudinal tracks only
    • 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/1292Enhancement of the total storage capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、テープカートリッジ(テープ、メディア)のデータを、複数のデータ・パーティションに区分けして管理して、自動的にリクラメーション(reclamation)する方法に関する。詳細には、本発明は、メディアを少なくとも3つのデータ・パーティションを区分けして、ファイルシステムによりファイルが変更(編集)された不要なデータを、自動的にリクラメーションする方法に関する。
LTO(Linear TapeOpen)などのテープドライブは、テープメディアの長手方向にデータを順次(シーケンシャル)に書込み保管する。テープドライブは、データの書込み・更新は追記形式であり、テープの途中のデータを変更した場合それ以降のデータは読めなくなってしまう。テープに書かれたデータの前半部分は不要なデータ(不要データ)であり、変更データは必要なデータ(必要データ)として後半部分も追記され、不要データの記憶域に新たなデータを書き込むことは出来ない。このようにテープカートリッジに不要データが残存し、メディアの全体容量を有効利用できない課題が生じる。
LTFS(Linear Tape File System )は、テープ上のデータをファイル形式で扱うことができるファイルシステムである。LTFSは、テープドライブ用ファイルシステムとして、第5世代LTO(Linear Tape Open)テープドライブ(LTO5)、及び第4世代IBMエンタープライズテープドライブTS1140と共に利用することができる。LTFSを用いてLTOテープドライブにおいてファイルの編集(edit)をした場合、上で述べた書込み・更新の特性が顕著に課題として現れる。
LTFSを利用してLTOに書き込んだファイルが削除された場合でも、テープ上に削除されたファイルのデータは残される。また、ファイルの削除ではなく内容を更新した場合も、更新後のデータがテープの最後尾に追加され、更新前のデータは依然テープに残ったままになる。これらの不要なデータが書き込まれている領域は上で述べた理由から再利用は出来ない。作業ファイルの実体容量そのものは増大していないにもかかわらず、作業ファイルの更新を頻繁に行っている間にテープの容量が足りなくなってしまう、という状況が起こる。
不要データが増えたテープへの対処として、テープのデータ記憶域の再利用、即ちリクラメーションが行われる。リクラメーションの従来方法は、作業中のテープから必要なデータのみを別のテープにコピーする方法である。このコピー作業を行っている間はドライブが2台必要となる。同時にテープもコピー元・コピー先の2本必要になる。もしくは、テープのデータを一旦HDD(Hard Disk Drive)などに退避させ、改めてテープに一から書き直す方法が考えられる。この場合テープ容量はデータ圧縮機能を使わない場合LTO5で1.5TBであり、容量の半分が不要データとしてもHDD上に750GBの作業域が必要である。
特許文献1は、リクラメーションを、2つのカートリッジ、即ちコピー元のメディアとコピー先のメディアを搭載したテープドライブで行うことを示す。
特公表2010−522914号公報
従来のリクラメーションは、通常の読み書き業務の空き時間に行うことは難しく、ユーザのデータのコピー時間などの観点から高コストな作業となる。テープの不要データ領域の再利用(リクラメーション)を、通常の書込み等の作業を制限しない低コストの方法が可能かが課題となる。
従って、本発明の目的は、通常の読み書き記載をしながらテープカートリッジを自動的にリクラメーションする方法を提供することである。
かかる目的のもと、本発明は、追記書込みにより更新されたファイルを保管するテープカートリッジ(メディア)の不要なデータの領域を自動的にリクラメーション方法である。このリクラメーション方法は、前記追記書込みは、前記更新されたファイルについて必要なデータ(必要データ)と不要なデータ(不要データ)とをシーケンシャルに圧縮して前記メディアに保管することを特徴として、前記メディアを、前記データを保管する少なくとも3つのデータ・パーティション(DP1,DP2,DP3)に分割管理する。この方法は、
(a)第1のデータ・パーティション(DP1)からデータを書き込み始め、第1のデータ・パーティション(DP1)への書込みデータが規定容量に達した後は第2のデータ・パーティション(DP2)に後続のデータを書込み(DP1及びDP2書込み)することと、
(b)第1のデータ・パーティション(DP1)のデータ書込みが完了した後に、第1のデータ・パーティション(DP1)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティション(DP3)に移動し、第1のデータ・パーティション(DP1)のデータ記憶エリアを部分的リクラメーションすることと、
(c)第2のデータ・パーティション(DP2)への書込みデータが規定容量に達した後、第3のデータ・パーティション(DP3)の空き容量に書き込み(DP3書込み)することと、
(d)第2のデータ・パーティション(DP2)のデータ書込みが完了した後に、第2のデータ・パーティション(DP2)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティション(DP3)に移動し、第2のデータ・パーティション(DP2)のデータ記憶エリアを部分的リクラメーションすることと、
(e)第3のデータ・パーティション(DP3)の書込みデータが規定容量に達した後、第1のデータ・パーティション(DP1)の空き容量に新たな編集データを書き込みする(DP1書込みする)ことと、
(f)第3のデータ・パーティション(DP3)のデータ書込みが完了した後に、第3のデータ・パーティション(DP3)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第2のデータ・パーティション(DP2)に移動し、第3のデータ・パーティション(DP3)のデータ記憶エリアを部分的リクラメーションすることと、を含む。
また、このリクラメーション方法は、前記部分的リクラメーションが、移動元の前記データ・パーティションに保管される必要データの割合が設定閾値以下である場合に、実行される、ことを特徴とする。
また、このリクラメーション方法は、前記メディアが、更に前記データ・パーティション(DP)に書き込まれたファイルのインデックスを保管するインデック・パーティション(IP)に区分され、
前記インデックスは、DPに保管された前記ファイルのデータ部分のメタ情報を含み、
前記メタデータは、DPに保管された前記ファイルの必要データのそれぞれの位置情報(エクステント)を含み、
前記インデックスは、前記エクステント(ブロック番号、オフセット、サイズ)及び前記データ・パーティションのIDを含み、
前記部分的なリクラメーションは、前記移動されたファイルのインデックスとして、前記移動元のデータ・パーティションのIDから前記移動先のデータ・パーティションのIDに変更することを含む。
また、このリクラメーション方法は、前記データ・パーティションの各々の必要データの割合は、前記インデックスから計算されることを特徴とする。
また、このリクラメーション方法は、前記設置閾値が50%と設定されることを特徴とする。
また、このリクラメーション方法は、前記部分的リクラメーションが、前記移動元のデータ・パーティションの書込みが完了した後であって後続のデータ・パーティションへの通常の書込みデータの容量が設定した値を超えた場合に、データ移動を開始すること、を特徴とする。
また、このリクラメーション方法は、前記部分的なリクラメーションが、前記不要データのサイズを変えずに前記高圧縮可能なデータとして全てゼロで置換して前記必要データとともに、前記移動元のデータ・パーティションから他の前記移動先のデータ・パーティションに移動することと、を特徴とする。
更に、かかる目的のもと、本発明は、追記書込みにより更新されたファイルを保管するテープカートリッジ(メディア)の不要なデータの領域を自動的にリクラメーションするテープ装置である。このテープ装置は、前記追記書込みが、前記更新されたファイルについて必要なデータ(必要データ)と不要なデータ(不要データ)とをシーケンシャルに圧縮して前記メディアに保管することを特徴とする。また、このテープ装置の制御は、
前記メディアを、前記データを保管する少なくとも3つのデータ・パーティション(DP1,DP2,DP3)に分割管理する、前記装置の制御は、
(a)第1のデータ・パーティション(DP1)からデータを書き込み始め、第1のデータ・パーティション(DP1)への書込みデータが規定容量に達した後は第2のデータ・パーティション(DP2)に後続のデータを書込み(DP1及びDP2書込み)することと、
(b)第1のデータ・パーティション(DP1)のデータ書込みが完了した後に、第1のデータ・パーティション(DP1)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティション(DP3)に移動し、第1のデータ・パーティション(DP1)のデータ記憶エリアを部分的リクラメーションすることと、
(c)第2のデータ・パーティション(DP2)への書込みデータが規定容量に達した後、第3のデータ・パーティション(DP3)の空き容量に書き込み(DP3書込み)することと、
(d)第2のデータ・パーティション(DP2)のデータ書込みが完了した後に、第2のデータ・パーティション(DP2)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティション(DP3)に移動し、第2のデータ・パーティション(DP2)のデータ記憶エリアを部分的リクラメーションすることと、
(e)第3のデータ・パーティション(DP3)の書込みデータが規定容量に達した後、第1のデータ・パーティション(DP1)の空き容量に書き込みする(DP1書込みする)こと、
(f)第3のデータ・パーティション(DP3)のデータ書込みが完了した後に、第3のデータ・パーティション(DP3)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第2のデータ・パーティション(DP2)に移動し、第3のデータ・パーティション(DP3)のデータ記憶エリアを部分的リクラメーションすることと、を実行する。
更に、かかる目的のもと、本発明は、追記書込みにより更新されたファイルを保管するテープカートリッジ(メディア)の不要なデータの領域を自動的にリクラメーションする、コンピュータ(テープ装置)のためのプログラムである。このプログラムは、前記追記書込みが、前記更新されたファイルについて必要なデータ(必要データ)と不要なデータ(不要データ)とをシーケンシャルに圧縮して前記メディアに保管することを特徴として、
前記メディアを、前記データを保管する少なくとも3つのデータ・パーティション(DP1,DP2、DP3)に分割管理する。また、このプログラムは、
(a)第1のデータ・パーティション(DP1)からデータを書き込み始め、第1のデータ・パーティション(DP1)への書込みデータが規定容量に達した後は第2のデータ・パーティション(DP2)に後続のデータを書込み(DP1及びDP2書込み)することと、
(b)第1のデータ・パーティション(DP1)のデータ書込みが完了した後に、第1のデータ・パーティション(DP1)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティション(DP3)に移動し、第1のデータ・パーティション(DP1)のデータ記憶エリアを部分的リクラメーションすることと、
(c)第2のデータ・パーティション(DP2)への書込みデータが規定容量に達した後、第3のデータ・パーティション(DP3)の空き容量に書き込み(DP3書込み)することと、
(d)第2のデータ・パーティション(DP2)のデータ書込みが完了した後に、第2のデータ・パーティション(DP2)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティション(DP3)に移動し、第2のデータ・パーティション(DP2)のデータ記憶エリアを部分的リクラメーションすることと、
(e)第3のデータ・パーティション(DP3)の書込みデータが規定容量に達した後、第1のデータ・パーティション(DP1)の空き容量に書き込み始める(DP1書込みする)ことと、
(f)第3のデータ・パーティション(DP3)のデータ書込みが完了した後に、第3のデータ・パーティション(DP3)に保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第2のデータ・パーティション(DP2)に移動し、第3のデータ・パーティション(DP3)のデータ記憶エリアを部分的リクラメーションすることと、を前記コンピュータ(テープ装置)に実行させる。
上述の本発明を適用する方法により、通常の書込み作業をしながら自動的にテープカートリッジのリクラメーションが可能である。
LTFSの2つのパーティションにより区分けされたテープを示す。 本発明が適用されるホストに接続されたテープドライブ(磁気テープ装置)を含むストレージシステムのハードウェア構成例を示す。 LTFSのよりテープドライブがテープの長手方法を往復してデータ書込み、その後複数のファイルの部分的データを変更している。 LTFSフォーマットでのメディアのインデックス・パーティションとデータ・パーティションの内容を示す。 サイズLのFile1を部分的な書き換えの場合のインデックス情報の変更内容を示す。 本発明の自動リクラメーションの第1のステップのデータ・パーティションへの通常のファイルの書込み及び編集の態様を示す。 本発明の自動リクラメーションの第2のステップのデータ・パーティションへの新規なファイルの書込み及び編集の態様を示す。 本発明の自動リクラメーションの第3のステップのデータ・パーティションへのファイルの書込み及び編集の態様を示す。 本発明の自動リクラメーションの第4のステップのデータ・パーティションへの新たなファイルの書込み及び編集の態様を示す。 本発明の自動リクラメーションの第5のステップ、第6のステップ、第7のステップのデータ・パーティションへのファイルの書込み及びその編集の態様を示す。 ホストからの書込みとリクラメーションとを切り替えながらデータコピーする方法を示す。 通常の読み書き作業、と、リクラメーション作業、とを切り替えながら、自動リクラメーションを完了するフローを示す。 ファイルを不要データ(不要ブロック)を含めて圧縮してリクラメーションする場合を示す。
ホストから新たなファイルの書込み及びファイルの編集をしながら編集済みのファイルのデータについて、リクラメーションをする実施の形態(実施例)を説明する。実施例を以下の内容は次の通りである。
1.自動リクラメーションの流れ。
2.データコピーの方法。
3.リクラメーションと通常読み書きの切り替え。
4.削除したデータをゼロ値の圧縮でコピーする手法。
実施例の説明の前提として、テープメディアのデータ・パーティション(図1)、テープドライブ構成及びその動作(図2)、メディアに保管されたファイルのデータの書込み(変更/編)(図3)、テープドライブ用ファイルシステム(LTFS)でのファイル更新とインデックス・パーティション及びデータ・パーティションのフォーマット(図4)、LTFSでファイルの一部が変更され場合のインデックス(メタ情報)の内容(図5)について説明する。
LTO5から、LTFSによりファイル単位で管理できるように、”パーティション”(part ion)というデータ域を分割して複数のテープ領域があるように見せる技術がある。特に、LTO6からは4パーティションまでをサポートできるようになっている。LTFSでは、データをファイルとして扱うために、ファイルのメタ情報を集めたインデックスと呼ばれるデータ項目を持つ。インデックスはパーティションのひとつを使い、そのパーティションをインデックス・パーティション(IP)と呼ぶ。データ本体の記録はIPとは別のパーティションを使い、それをデータ・パーティション(DP)と呼ぶ。
図1は、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秒程度である。LTO5のテープカートリッジの記憶容量は、約1TBである。例えば、メディア情報を含むIPの容量はユーザが変更できるが、典型的には全体容量の5%(50GB)を占める。
ユーザがLTFSを利用してテープメディアに書き込むと、テープメディアではファイル本体の他、インデックス・ファイル(単に「インデックス」とも言う)と呼ばれるメタ情報をテープメディアに書き込む。インデックスは、メタ情報として、ファイル名やファイル作成日、及び、メディア上の位置情報およびサイズの情報(エクステント)を含む。IPには、主に最新のインデックスが書き込まれる。DPには、ファイルの本体、及び、インデックスの履歴が書き込まれる。LTFSを用いてテープメディア上のファイルを読み書きする場合、ブロックと呼ばれる単位でデータの読み書きを行う。ブロックは、ブロックが記録されるパーティション毎にパーティションの先頭から何番目のブロックであるという番号で管理され、各ファイルとブロックの対応(ファイルAはブロック#N〜N+α)で構成されるといった情報)もインデックスに格納されている。
図2は、本発明が適用されるテープドライブ(磁気テープ装置)を含む(典型的な)ストレージシステムのハードウェア構成例を示す。
テープドライブ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は、ファイルシステムはファイルを指定して、また、SCSIコマンドはレコードを指定して、テープドライブに書込み/読み出し要求(Write/Read)を送る。DSは複数のレコードで構成される。
各DSは、データセットに関する管理情報を含む。ユーザデータはレコード単位で管理される。管理情報はデータセット情報テーブル(DSIT:Data Set Information Table)に含まれる。DSITは、そのDSに含まれるレコード数およびFM数、更にはメディアの先頭から書かれた累積レコード数および累積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に直接接続されてもよい。
図3は、LTFSのよりテープドライブがテープの長手方法を往復してデータ書込み、その後複数のファイルの部分的データを変更している。各ファイルは模様分けして区別されている。
上図(A)は、初めは各ファイル(第1、第2、第3、第4)が連続して記録されていることを示す。下図(B)は、各ファイルを部分的に変更している後のテープ上でのデータ部分を示す。第1のファイルのデータ部分1,3,5について上書や削除されて変更され、2,4は変更さていない。第2のファイルはデータ部分6が変更されている。第4のファイルは、データ部分7が変更されている。変更された元のデータ部分は無効データとしてメディア上にそのまま残る。第1のファイルの変更後、データ部分1,3,5,6についての更新された新しいデータ部分は、ファイルのEOD(End of Data)以降に順番に追記書込みされる。
図4は、LTFSフォーマットのメディアでのファイルの追加および変更でのインデックス・パーティションとデータ・パーティションの内容変化を示す。
(A)は、LTFSフォーマットで初期化した直後のテープメディアに書き込まれるメタ情報を示す。
テープメディアを LTFS フォーマットで初期化した直後には、テープメディアにはA)に示す情報が書き込まれる。
・FID(Format Identification Data set)は、テープドライブがテープメディアを初期化する際、テープメディアの先頭に書き込まれる特殊なデータであり、テープメディア上のパーティションの数や各パーティションの容量などの情報を持つ。
・VOL1 Labelは、ANSI Label とも呼ばれるもので、文字通り ANSI で規定された一般的なフォーマットのラベルである。
・LTFS Labelは、LTFS フォーマットで規定されたラベルで、このテープメディアがLTFSフォーマットのどのバージョンに準拠してフォーマットされたかといった情報を保持するラベルである。ここでメディアに記録されるレコードのサイズを指示する。レコードサイズはブロック・サイズ(block size)とも言う。ファイルの終端がレコードサイズ(例えば、512KB)に満たない場合でもレコードサイズを確保する。
・FM(Filemark)とは、テープメディアで一般的に利用される、いわば本のしおりのようなものであり、データの位置合わせ(seek)を行う際に利用される。
・Index#0とは、フォーマット時に書き込まれるインデックスであり、この段階ではファイル自体は一つも存在しないためファイル固有の情報は持たないもののテープメディアのボリューム名などの情報を保持するため書き込まれる。
(B)は、LTFSフォーマットで初期化した後にファイルを書き込んだ場合にテープメディアに書き込まれる情報を示す。
LTFSフォーマットで初期化後、ファイル(File1)を書き込むと、テープメディア上に書き込まれたデータは(B)のようになる。太線で囲まれた部分が追加/更新されたデータである。Index#1はFile1のメタ情報(インデックス)を持つ。IPは最新のインデックスのみ保持する一方、DPはインデックスの履歴を保持する。インデックスを更新するタイミングはファイルシステムの実装にまかされており、例えば一定時間毎に更新したり、テープドライブからテープメディアを取り出す時のみ更新したりしている。更に使い続ける場合も、IPに置かれるインデックスは常に最新のインデックスのみが置かれ、DPは既存のインデックスを上書きすることなく、ファイルおよびインデックスを追記していく。
図4の(C)は、(B)の状態の後、更にファイル(File2)を書き込んだ場合のテープメディアに書き込まれる情報を示す。
最初のファイル(File1)をテープメディア上に書き込んだ後、次のファイル(File2)を追加すると、格納されるFile1にFile2が連続してテープメディアに保管される。Index#2はFile1およびFile2のメタ情報(インデックス)を持つ。
図4の(D)は、(B)の状態の後、File1の末尾に文字情報(File1-2)を追加してFile1を更新した後、メディア上に書き込まれるメタ情報を示す。
アプリケーションによるが、文書作成アプリケーション(例、マイクロソフト社のワード)は、メディア上に書き込まれたファイルを更新した後、1つのファイル(File1)がFile1-1及びFile1-2のようにフラグメント化(分散)して記録する。このようなファイルの書き換えでは、更新時のテープメディアの空き容量の減少分が更新した情報量に依存する。
図5は、サイズLのFile1を部分的な書き換えの場合のインデックス情報の変更内容を示す。
インデックス(index)はファイルの位置情報(ポインター)をエクステント(extent)と呼ぶ形式で保管する。エクステントの要素(element)は、ファイルの部分(データ部分)の先頭のブロックの番号(StartBlock),その番号のブロック内での開始オフセット(ByteOffset),データのサイズ(ByteCount),データ部分のファイルでの位置(FileOffset)を含む。ユーザデータはブロックサイズで指定されたサイズ(例えば512KB)単位のブロック単位でメディアに記録される。
StartBlockは、テープメディアの先頭から固定サイズのブロックの順番を指す。ByteOffsetは、特定番号のブロック内で書き始めるオフセットを示す。
ByteCountは、エクステントで指示されるデータ部分のデータサイズを指す。
FileOffsetは、エクステントで指示されるデータ部分のファイル位置を指す。
ブロックは、ブロックまたはFM(FileMaker:ブロックの区切り)を含み、LTFSLabelにおいてサイズが指定される。ユーザデータはブロックサイズで指定されたサイズ(例えば512KB)単位のブロック単位でメディアに記録される。
File1のサイズがLをメディアに記録されている最初の場合(A)、インデックスはエクステント(x)であることを示す。File1は、テープメディアの長手方向にブロック単位で連続して書き込まれている斜線部分である。ブロックはエクステントではブロックに相当する。データ部分の書換えの場合(B)は、(A)でFile1を書き込んだ後、そのFile1のMバイトから600KBを250KBのブロックで書換えた場合エクステント(x)(y)(z)の情報を示す。
エクステント(y)は、File1のデータ部分600KBバイトを変更して書き込まれる250KBのデータ(ブロック)を指示する。データ部分の連続ではなく、後続するBlock番号(StartBlock:N+4)のブロックとして追記書込む。
エクステント(y)は、StartBlock=N+4のオフセットByteOffset=0から250KBを追記(append write)する。
エクステント(x)は、StartBlock=NのByteCount=Mまでのデータ(ブロック)を指示す。ブロックNのオフセットMから600KBのデータは変更される。
エクステント(z)は、StartBlock=N+2のByteOffset=(M+600K)mod DからByteCount=L-(M+600)のデータ部分を示す。Dはブロックサイズ(例えば512KB)である。ByteOffsetはM+600KBをDで割った余りであり、ブロック番号N+2でのオフセットを与える。
File1のインデックスは、データ部分の書換えにより、複数のエクステント(x)→(y)→(z)にようにフラグメント(分散)化した配置情報を含む。この250KBのデータを含む斜線部は必要データであり、600KBのデータが不要データである。
本発明の実施例は、次の手順で実行される。
データ・パーティションを3つ(DP1,DP2,DP3)用いて、自動的にリクラメーションする手法を提案する。
・DP1からデータを書き込み始める。
・DP1のデータが規定容量に達し書き込めなくなった後、DP2にデータを書き込み始める。
・DP1のデータを、不要なエリアを削除した上で、DP3に移動する。DP3のデータは不要なエリアを削除しているため、規定容量には達しない。また、DP2の書き込みとは同時に行えないので、LTFSはDP2への通常の書き込みと、DP3へのデータコピーをコントロールする。DP1からDP3へのデータ移動が完了した段階で、DP1のデータエリアはすべて再利用可能となる。
・DP2のデータが規定容量に達し書き込めなくなった後、DP3の空き容量にデータを書き込み始める。
5) DP2のデータを、不要なエリアを削除した上で、DP1に移動する。
この作業を繰り返す
このように3つのパーティションを利用することで、テープに対するデータの書き込みを完全に中断させる必要が無い状況下で、かつ1台のドライブのみで、かつ人の作業を要さずにテープの再利用が行える。
さらに、DP間でデータを移動する際の手法として、不要なエリアを削除してしまうのではなく、「圧縮機能を有効にした上で、データをゼロの値で送る」方法を提案する。
不要データをすべてゼロ値に置換し圧縮機能を働かせた場合、テープに書かれた場合の物理使用エリアは大幅に縮小できるため容量を増やすことが可能である。例えば、不要データ部分を全てゼロで置換してコピー先に移動した場合、データ。サイズは元の10%以下になる。置換データのゼロは例示であり、高圧縮が可能なデータであれば他のデータでもよい。この手法は、不要データのサイズを変更せず、データ自体を高圧縮可能なデータで置換する。
不要データを圧縮して移動する手法あ、特にLTFSを使用した場合に有用である。
LTFSの場合、データ・パーティション(DP)の他にインデックス・パーティション(IP)がひとつ存在する。IPはDPに書かれたすべてのファイルのメタ情報(インデックス)が保管されているため、データの移動を行った場合、すべてのファイル情報に対して、新しくデータが書かれた領域の情報(特に、パーティション番号・ブロック番号・ブロック長など)に更新する必要がある。
この手法を用いた場合、ブロック番号とブロック長の変更が不要である。インデックスをパーティションごとに持つ場合、先に述べた提案でデータをDP間で移動させた際に必要なインデックスの変更は、そのインデックスが指すパーティションの番号のみで対応できる。この手法を用いない場合、パーティション内のすべてのファイルの内容を更新することになる。
1.自動リクラメーションの流れ:
図6〜図10は、メディアの3つのデータ・パーティションにファイルの通常の書込み(変更)及び部分的なリクラメーションを実行する自動リクラメーションの実施例を示す。部分的リクラメーション(partial reclamation)は、データ・パーティションのファイルのデータを必要データと不要データを区別して他のデータ・パーティションに移動して記憶領域の再利用することを言う。各データ・パーティションでの書込み及びその完了後に部分的なリクラメーションが次のステップで実行される。
図6は、本発明の自動リクラメーションの第1のステップ(通常のファイルの書込み)の態様を示す。
(1)第1のステップは、DP1からデータを書き込み始め、DP1のデータが規定容量に達し書き込めなくなった後、DP2にデータを書き込み始める。灰色部分は不要データの領域である。
図7は、本発明の自動リクラメーションの第2のステップ(部分的リクラメーション)の態様を示す。
(2)第2のステップは、DP1のデータを不要データを削除した上で、DP3に移動する部分的リクラメーションを示す。
DP1の灰色部分と斜線部分、即ち全ての容量領域は、再利用可能である。DP3の波線部分は、移動されたDP1の斜線部分の必要データを示す。
図8は、本発明の自動リクラメーション、第3のステップ(通常のファイルの書込み)の態様を示す。
(3)第3のステップは、部分的クラメーションの完了後したDP3の空き領域への後続の書込みを示す。
図8において、DP2のデータが規定容量に達し書き込めなくなった後、DP3の空き容量にデータを書き込み始める。DP2の灰色部分は不要データであり、点領域は必要データである。DP3の点領域は、後続の書込みデータである。
図9は、本発明の自動リクラメーションの第4のステップ(部分的リクラメーション)を実行する態様を示す。
(4)第4のステップは、DP1のデータを、不要データを削除した上で、DP3に移動することを示す。DP2の点領域と斜線部分、即ち全ての容量領域は再利用可能である。DP1の網面部分は、移動されたDP2の斜線部分の必要なデータである。
図10は、本発明の自動リクラメーションの第5のステップ及び第6のステップ(通常の書込み)と、第7のステップ(部分的リクラメーション)との態様を示す。
他のデータ・パーティションに対する通常の書込みのための第5のステップ及び第6のステップと、部分的リクラメーションのための第7のステップとを繰り返す。
(5)第5のステップの後続の書込みは、(2)の第2のステップの部分的リクラメーションの先のDP3の空き容量への書込みデータが規定容量に達した状態である。
(6)第6のステップの後続の書込みは、(4)の第4ステップの部分的リクラメーションの先のDP1の空き容量に書き込み始める。
(7)第7のステップの部分的リクラメーションは、DP3の必要データを、(4)の第4ステップの部分的リクラメーションにより空になったDP2に移動する。
2.データコピーの方法:
図11は、ホストからの通常の書込みとリクラメーションとを切り替えながらデータコピーする方法を示す。
灰色の矢印はファイルの通常の書き込み及びそのファイルの編集の際のデータのフローを示す。黒色の矢印はデータ・パーティションごとの部分的なリクラメーションのデータのフローを示す。ドライブ60内のバッファ120は、その記憶域を分割して別の読み書きのプロセスに使用することが可能である。自動リクラメーションの実施には、ドライブのバッファ120のエリア(領域)を、通常の読み書き用途のバッファBとリクラメーションの読み書き用のバッファAに分割して使用する。図で示すように、通常の読み書きは、ホスト300とドライブバッファBの領域を用いてデータ転送を行いDP3に書き込む。このデータコピーの方法は、ドライブ内部ですべて対応可能である。部分的リクラメーションはテープの規定容量が達したパーティション(DP1)からドライブバッファAの領域に読み出し、新しいパーティション(DP3)に書き出す。この部分的リクラメーションのデータコピー方法を適切に処理するためには、現行のLTO5およびTS1140などのテープドライブのファームウェアに新たな処理機能を追加する必要はある。他の方法として、ドライブバッファを分割して使用せず、ホストのHDDにデータも転送し、テープに書き出す方法でもよい。この方法の場合テープドライブ本体への追加機能を必要としない。
3.リクラメーションと通常読み書きの切り替え:
実施例の方法では部分的リクラメーションと通常の読み書きとを切り替えて行うことが可能である。その場合、以下のような流れでLTFSはドライブに対して処理の切り替えを行う。
A.バッファA,Bの大きさの割当:
あらかじめバッファAの容量Xをドライブから取得しておく。通常の読み書きに使用するバッファBの大きさをLTFSが知っておく必要はない。バッファA、Bの大きさはドライブの起動時に決まるので、LTFSが使用されているシステム下の履歴などから、適した値を割り当てておくのが良い。
B.部分的リクラメーションのタイミング:
書き込み先のパーティションDP1が規定容量に達したことをドライブから取得する。書込みがDP1の規定容量に達したことはDP1のデータ書込みを完了したことなので、基本的には、DP1のデータについていつでもリクラメーションしてよいことを意味する。LTFSはメタ情報からDP1の有効データの割合を計算し、設定した規定値以下であればリクラメーションモードに入る。ファイルに対して多数の書込み編集を行った場合、そのファイルに関連して必要データに対して不要データの割合が多くなり、「設定値」以下になる。例えば「設定値」を50%とした場合には、リクラメーションすることによりテープの容量について50%の再利用が可能となる。一方、「設定値」に対して必要データが90%の場合は、たとえリクラメーションしたとして10%のデータ容量の再生しかできない。
C.部分的リクラメーション作業:
リクラメーションモードに入った場合、LTFSは先に示したデータ移動処理を開始する。このとき、DP1からX量の有効データをバッファAに読み出し、DP3に書き込む。有効データの特定は、LTFSのインデックス情報から行える。有効データが連続していない場合も、X量のデータを先にDP1から読み出し、DP3にすべて書き込むほうが現行のテープドライブにとっては効率が良い。
D.通常の読み書きのタイミング:
リクラメーション中に、通常の読み書きの処理要求がアプリケーションからLTFSに来た場合、LTFSはアプリケーション側の処理を優先させる。リクラメーションの処理から通常の読み書きモードに移る。以下の図12のフローチャート上は処理理解のため、DP3にデータを書き出したタイミングでチェックを行っている。実際のリクラメーションの処理では、リクラメーションを中断させるタイミングは、実装の容易性を考慮しないのであれば、SCSIコマンドレベルの処理の完了時点が最短である。
E.通常の読み書き後の部分的リクラメーションのタイミング:
通常の読み書きから再びリクラメーションに移るタイミングは、通常はLTFSを通じてアプリケーションから処理されているファイルがすべてクローズされたことをトリガにする。当然、DP2の残り容量などを鑑みて切り替える必要がある。また、ファイルはオープンされているが読み書きの処理が一定時間以上発生していない場合は、リクラメーションの処理に戻るなどの考慮が必要である。読み書きの途中にリクラメーションの処理を入れることも理論上可能ではある。実際のテープドライブの読み書きに時間がかかるものである。従って、リクラメーションを一定時間に完了したい場合は、通常の読み書き作業を適当に区切って、一定のタイミングでリクラメーション作業を別して実行することが推奨される。
図12は、通常の読み書き作業、と、リクラメーション作業、とを切り替えながら、自動リクラメーションを完了するフローを示す。
(1100):ドライブのバッファ120からリクラメーション用バッファAの容量Xを確保する。
同時にドライブのバッファ120から通常の書込み用バッファBの容量Yを確保する。
(1102):ファイルシステム(LTFS)はバッファBを使いDP1へ通常のファイルの書き込み及び編集をしている。
(1104):DP1への書込みが規定容量に達したか、を確認する。
規定容量は、テープの全容量(例えば1TB)をIP(5%程度)と3つのDPとに分割した場合で与えられ、例えば290MBの値である。
Yesの場合、部分的リクラメーションの処理(1106)を移動する。
Noの場合、DP1への通常の書込み処理(1102)を続ける。
(1106):DP1の書込みが完了した場合LTFSは部分的リクラメーションのモードに入る。
リクラメーションは、上のBで説明したタイミングで開始される。
(1108):オープン状態のファイルが存在するかを確認する。
LTFSは既に通常の書込み及び編集しているファイルがあるかを確認する。
Yesの場合、オープン状態のファイルのデータの書込み処理(1110)を継続する。
Noの場合、部分的リクラメーションの処理(1114)を開始する。
(1110):オープン状態のファイルのデータをバッファBを介してDB2への書き込みを継続する。
(1112):DP1のファイル・データについての部分的リクラメーションのタイミングを判断するために、DP2への通常の書き込み容量が設定した値より大きくなったかを確認する。
具体的には、上のDで説明したタイミングである。部分的リクラメーションのタイミングは、通常の書込みとの進捗を考慮して決定される。例えば、DP2への通常の書き込み容量が「設定した値」より大きくなった場合にリクラメーションを開始する。
Yesの場合、バッファAを介して部分的リクラメーションの処理(1114)を開始する。
Noの場合、オープン状態のファイルへの書込み(1108)を継続する。
(1114):部分的リクラメーションとして、DP1からX量の有効データをバッファAに読み出す。
Yesの場合(1110)のオープン(Open)されているファイルへの書込みを継続する。
有効データには、ファイル・データの編集により不要データとなったデータは含まれない。この場合、不要データを削除するためブロック番号が削除されるために、エクステントの再設定が必要である。このエクステントの再設定を避けるため、後で説明するように不要データ部分に圧縮率の高いデータで置換して、不要データ部分も含めてデータコピーする方法を採用する。
Noの場合(1114)の処理、バッファAへの有効データ(必要データ)を読み出し、保管する。
(1116):部分的リクラメーションとして、バッファAからDP3にデータを書き出す。
(1118):部分的リクラメーションとして、DP1からのデータの読み出しが最後に達したかを確認する。DP1のリクラメーションの完了を確認する。
Yesの場合、インデックスの変更処理(1120)を行う。
Noの場合、書込み処理中のオープン状態のファイルの確認処理(1108)に移動する。
(1120):部分的リクラメーションの完了にともないコピーされたファイルのインデックスについて、インデックスを変更する。
有効データが必要データ及び不要データを含む場合、当該ファイルのインデックスについてデータ・パーティションのIDを変更するのみでエクステント(ブロック番号、オフセット、サイズ)の変更は不要とされる。有効データが必要データのみとしてコピーされた場合は、不要データ部分のブロックが削除されているため、エクステントの計算に時間がかかる。この部分的リクラメーションが完了した時点で、DP1の必要データ及び不要データが占有するDP1の記憶領域は開放される。
(1122):チェック対象のパーティションをDP1から例えばデータ・パーティションDP2に変更する。DP2に保管されたファイル・データについて部分的リクラメーションをするモードになる。
(1102)に戻り、例えば、DP2の空き記憶領域に通常の書込みをDP2に継続する。
並行して、DP2の保管データについてDP1に部分的リクラメーションの上記処理ステップを実行する。
またDP2のファイル・データの部分的リクラメーションが完了したら、チェック対象のパーティションをDP2からDP3に変更する(1122)。DP3について部分的リクラメーションを実行する。
4.削除したデータをゼロ値の圧縮でコピーする手法:
図13は、ファイルのデータを不要データ(不要ブロック)を含めて圧縮してリクラメーションする場合を示す。
ファイルが編集されて、一部のブロックを不要データとして削除して他のデータ・パーティションの移動の際にエクステントの計算のために所定の時間を必要する。編集により削除された不要データのサイズ分を考慮して、他のデータ・パーティションに移動して部分的リクラメーションをする。本発明の実施例では、データ・パーティションID以外、エクステントの変更算定を不要とできるため高速な部分的リクラメーションを可能にする。
図13(a)は、ファイルの必要データを不要データ(不要ブロック)も含めて圧縮してリクラメーションする概念図を示す。
部分的なリクラメーションのステップ、即ち第2のステップ(図7)、第4のステップ(図9)、第7のステップ(図10)及び(114)処理・(1116)処理(図12)のコピーの際にこの方法を用いる。(a)に示すように、ブロック2,3,5,7(b2、b3,b5,b7)が不要データであった場合、その値をゼロにして圧縮機能を有効にした上で、DP3に書き込む。この結果、DP3上にはDP1と対応するブロック番号のデータサイズ分の領域はそのまま残す。但し圧縮率を高めるために削除されているブロックの全てのデータ内容をゼロで置換して圧縮したうえで、他のデータ・パーティションにデータコピーを行う。不要データの元のサイズの10%以下に圧縮できるため、圧縮した形式で不要データをテープ領域に残してもリクラメーションを無意味にすることにはならない。不要ブロックをゼロで置換した残し方法は、複数回の編集を経たファイルについて必要データのブロックの位置関係がはずれないため、エクステントの再計算の時間を除ける点で有利である。
一方、LTFSが持つファイルの位置を示す情報に以下のものがある。この情報は少なくともファイルの数分は必要になる。本発明では、次のようにファイルのインデックス(メタ情報)には、エクステント(開始ブロック番号、ブロック長)とともにデータ・パーティションIDを含ませる。
例えば、File A, FileB, FileCの情報を以下のよう設定する。
ここで、パーティションIDは、物理的にテープ上のパーティションをポインタしているのではない。LTFSのメタ情報は、テープ全体の情報をあらわすラベル部分と、個々のファイル・ディレクトリすべての情報をもつインデックス部分に分けられる。下の表の情報は個々のファイルの情報を含むインデックスの一部である。インデックスのパーティション情報は、実際のテープ上のパーティション番号とラベルで紐付けられている。
各データ・パーティションDP1,DP2,DP3のファイル・データのパーティションID(単にパーティションID)は次のような値で、インデックス・パーティションに登録されている。各データ・パーティションDP1,DP2,DP3のラベル情報(パーティションID)は、次のように割当てられる。
テープ上のDP1のファイルのインデックス → パーティションID=a
テープ上のDP2のファイルのインデックス → パーティションID=b
テープ上のDP3のファイルのインデックス → パーティションID=c
図13(b)は、リクラメーションされる前の、DP1(ID=a)に保管されたFileA、FileB、FileCのインデックス(メタ情報)を示す。インデックスは、各ファイルが保管されているパーティションIDを含む。
・FileAはインデックスとして、データ・パーティションID=a、エクステント(開始ブロック番号=0、ブロック長=5)を含む。
・FileBはインデックスとして、データ・パーティションID=a、エクステント(開始ブロック番号=5、ブロック長=20)を含む。
・FileCはインデックスとして、データ・パーティションID=a、エクステント(開始ブロック番号=25、ブロック長=20)を含む。
図13(c)は、(b)の状態からFileBを削除する編集した後、DP3(ID=c)へのリクラメーションされた後のファイルのインデックスを示す。FileBが削除されて、FileAとFileCが有効とする。
・FileAはインデックスとして、データ・パーティションID=c、エクステント(開始ブロック番号=0、ブロック長=5)を含む。
・FileBはテープ上に残るがインデックスとして、エクステント及びパーティションIDの割当は無視される。
・FileCはインデックスとして、データ・パーティションID=c、エクステント(開始ブロック番号=5、ブロック長=20)を含む。
完全にFileBのデータをエクステント算定において除外してコピーした場合、FileCの開始ブロック情報は(c)のように変更しなければならない。ファイルがひとつ削除されただけでも、FileC以降の開始ブロックはすべて変更しなければならいことになる。ファイルが1万個あった場合、先頭のファイルが削除されたら1万ファイルのデータすべてに対して変更する必要がある。
データゼロ圧縮方式をとった場合、圧縮データの記録域は極めて小さいがデータは存在するのでそれに対応するブロック番号も残る。そのため、例えば、インデックス内の各ファイルの開始ブロック情報の変更は一切必要ない。必要な作業は、ラベル情報を以下のようにコピー元のDP1のID=aからコピー先のDP3のID=cに変更するだけでよい。ラベル情報はインデックス情報に比べると小さく限られた情報だけが収められているので、ラベルの変更だけの場合と、インデックス内すべてのファイル情報の変更とでは、リクラメーションのパフォーマンスに大きな違いとなる。各データ・パーティションDP1,DP2,DP3のファイル・データのリクラメーション後は、インデックスのパーティションIDは次のように変更して、インデックス・パーティション(IP)に登録される。
DP1からDP3にコピーのファイルのインデックス → パーティションID=c
DP2からDP1にコピーのファイルのインデックス → パーティションID=a
DP3からDP2にコピーのファイルのインデックス → パーティションID=b
以上の実施例の方法では、3つのデータ・パーティションを設定することで、ホストからのテープへのデータの書き込みを完全に中断させる必要が無い状況下で、リクラメーションを完了できる。1台のドライブのみで、かつユーザの作業を介さずにテープの再利用が行える。また、本発明のリクラメーションは、2つのデータ・パーティションを設けて、その内の1つのデータ・パーティションのデータについて自動的リクラメーションを可能となる。更には、本発明は、メディアのパーティションの分割の数、及びファイルシステム(LTFS)に限定されることはない。本発明は、4以上のデータ・パーティションを用い、書込みアプリケーションまたはテープドライブの書込み制御ドライバでも可能である。本発明を実施の形態(実施例)を用いて説明したが、本発明の範囲は上記実施例には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
40…テープカートリッジ(メディア、テープ)、
60…テープドライブ、
110…通信I/F(インターフェース)、
120…バッファ(ドライブバッファ)、
130…記録チャネル、
140…読み書きヘッド、
150…制御部(コントローラ、読み書き制御を含む)、
160…位置決め部
170…モータドライバ、
180…モータ、
300…ホスト(ファイルシステム、アプリケーションを含む)

Claims (9)

  1. 追記書込みにより更新されたファイルを保管するメディアの不要なデータの領域を自動的にリクラメーションする方法であって、
    前記追記書込みは、前記更新されたファイルについて必要なデータ(必要データ)と不要なデータ(不要データ)とをシーケンシャルに圧縮して前記メディアに保管することを特徴として、
    前記メディアを、前記データを保管する少なくとも3つのデータ・パーティションに分割管理する、前記方法であって、
    (a)第1のデータ・パーティションからデータを書き込み始め、第1のデータ・パーティションへの書込みデータが規定容量に達した後は第2のデータ・パーティションに後続のデータを書込みすることと、
    (b)第1のデータ・パーティションのデータ書込みが完了した後に、第1のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティションに移動し、第1のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、
    (c)第2のデータ・パーティションへの書込みデータが規定容量に達した後、第3のデータ・パーティションの空き容量に書き込みすることと、
    (d)第2のデータ・パーティションのデータ書込みが完了した後に、第2のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティションに移動し、第2のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、
    (e)第3のデータ・パーティションの書込みデータが規定容量に達した後、第1のデータ・パーティションの空き容量に書き込みすることと、
    (f)第3のデータ・パーティションのデータ書込みが完了した後に、第3のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第2のデータ・パーティションに移動し、第3のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、を含む前記メディアを自動的にリクラメーションする方法。
  2. 前記部分的リクラメーションは、移動元の前記データ・パーティションに保管される必要データの割合が設定閾値以下である場合に、実行される、ことを特徴とする、請求項1に記載の方法。
  3. 前記メディアは、更に前記データ・パーティション(DP)に書き込まれたファイルのインデックスを保管するインデック・パーティション(IP)に区分され、
    前記インデックスは、DPに保管された前記ファイルのデータ部分のメタ情報及び前記データ・パーティションのIDを含み、
    前記メタ情報は、DPに保管された前記ファイルの必要データのそれぞれの位置情報を含み、
    前記位置情報は、前記データ部分のブロック番号、オフセット、サイズを含み、
    前記部分的リクラメーションは、前記移動されたファイルのインデックスとして、移動元の前記データ・パーティションのIDから移動先の前記データ・パーティションのIDに変更することと、を含む請求項1に記載の方法。
  4. 前記データ・パーティションの各々の必要データの割合は、前記インデックスから計算される、ことを特徴とする請求項3に記載の方法。
  5. 前記必要データの割合を閾値として、50%と設定されることを特徴とする、請求項4に記載の方法。
  6. 前記部分的リクラメーションは、移動元の前記データ・パーティションの書込みが完了した後であって後続のデータ・パーティションへの通常の書込みデータの容量が設定した値を超えた場合に、データ移動を開始すること、を特徴とする請求項1に記載する方法。
  7. 前記部分的リクラメーションは、前記不要データのサイズを変えずに前記高圧縮可能なデータとして全てゼロで置換して前記必要データとともに、移動元の前記データ・パーティションから他の移動先の前記データ・パーティションに移動すること、を特徴とする請求項1に記載の方法。
  8. 追記書込みにより更新されたファイルを保管するメディアの不要なデータの領域を自動的にリクラメーションするテープ装置であって、
    前記追記書込みは、前記更新されたファイルについて必要なデータ(必要データ)と不要なデータ(不要データ)とをシーケンシャルに圧縮して前記メディアに保管することを特徴として、
    前記メディアを、前記データを保管する少なくとも3つのデータ・パーティションに分割管理する、前記テープ装置の制御は、
    (a)第1のデータ・パーティションからデータを書き込み始め、第1のデータ・パーティションへの書込みデータが規定容量に達した後は第2のデータ・パーティションに後続のデータを書込みすることと、
    (b)第1のデータ・パーティションのデータ書込みが完了した後に、第1のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティションに移動し、第1のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、
    (c)第2のデータ・パーティションへの書込みデータが規定容量に達した後、第3のデータ・パーティションの空き容量に書き込みすることと、
    (d)第2のデータ・パーティションのデータ書込みが完了した後に、第2のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティションに移動し、第2のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、
    (e)第3のデータ・パーティションの書込みデータが規定容量に達した後、第1のデータ・パーティションの空き容量に書き込みすることと、
    (f)第3のデータ・パーティションのデータ書込みが完了した後に、第3のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第2のデータ・パーティションに移動し、第3のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、を実行する、自動的にリクラメーションするテープ装置。
  9. 追記書込みにより更新されたファイルを保管するメディアの不要なデータの領域を自動的にリクラメーションする、テープ装置のためのプログラムであって、
    前記追記書込みは、前記更新されたファイルについて必要なデータ(必要データ)と不要なデータ(不要データ)とをシーケンシャルに圧縮して前記メディアに保管することを特徴として、
    前記メディアを、前記データを保管する少なくとも3つのデータ・パーティションに分割管理する、前記プログラムであって、
    (a)第1のデータ・パーティションからデータを書き込み始め、第1のデータ・パーティション(DP1)への書込みデータが規定容量に達した後は第2のデータ・パーティション(DP2)に後続のデータを書込みすることと、
    (b)第1のデータ・パーティションのデータ書込みが完了した後に、第1のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータ・パーティションに移動し、第1のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、
    (c)第2のデータ・パーティションへの書込みデータが規定容量に達した後、第3のデータ・パーティションの空き容量に書き込みすることと、
    (d)第2のデータ・パーティションのデータ書込みが完了した後に、第2のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第3のデータEパーティションに移動し、第2のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、
    (e)第3のデータ・パーティションの書込みデータが規定容量に達した後、第1のデータ・パーティションの空き容量に書き込みすることと、
    (f)第3のデータ・パーティションのデータ書込みが完了した後に、第3のデータ・パーティションに保管されている必要データと不要データとを前記不要データを高圧縮可能なデータで置換して、第2のデータ・パーティションに移動し、第3のデータ・パーティションのデータ記憶エリアを部分的リクラメーションすることと、
    を前記テープ装置に実行させて、自動的にリクラメーションするプログラム
JP2013243395A 2013-11-25 2013-11-25 テープカートリッジのデータを自動的にリクラメーションする方法 Expired - Fee Related JP6341652B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013243395A JP6341652B2 (ja) 2013-11-25 2013-11-25 テープカートリッジのデータを自動的にリクラメーションする方法
US14/511,660 US9236065B2 (en) 2013-11-25 2014-10-10 Reclamation of data on tape cartridge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013243395A JP6341652B2 (ja) 2013-11-25 2013-11-25 テープカートリッジのデータを自動的にリクラメーションする方法

Publications (2)

Publication Number Publication Date
JP2015103033A JP2015103033A (ja) 2015-06-04
JP6341652B2 true JP6341652B2 (ja) 2018-06-13

Family

ID=53182482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013243395A Expired - Fee Related JP6341652B2 (ja) 2013-11-25 2013-11-25 テープカートリッジのデータを自動的にリクラメーションする方法

Country Status (2)

Country Link
US (1) US9236065B2 (ja)
JP (1) JP6341652B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996459B2 (en) 2015-09-21 2018-06-12 International Business Machines Corporation Reclaiming of sequential storage medium
US10089481B2 (en) 2015-09-23 2018-10-02 International Business Machines Corporation Securing recorded data
US11221989B2 (en) * 2018-07-31 2022-01-11 International Business Machines Corporation Tape image reclaim in hierarchical storage systems
US10824338B2 (en) * 2018-11-02 2020-11-03 EMC IP Holding Company LLC Using variable sized uncompressed data blocks to address file positions when simultaneously compressing multiple blocks
JPWO2022185650A1 (ja) * 2021-03-01 2022-09-09

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738588B2 (en) 2007-03-26 2014-05-27 International Business Machines Corporation Sequential media reclamation and replication
JP5005023B2 (ja) * 2009-12-25 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。
JP2012243339A (ja) * 2011-05-17 2012-12-10 Nec Corp 磁気テープ装置、磁気テープ用データ再配置方法、及びそのプログラム

Also Published As

Publication number Publication date
JP2015103033A (ja) 2015-06-04
US20150146317A1 (en) 2015-05-28
US9236065B2 (en) 2016-01-12

Similar Documents

Publication Publication Date Title
JP6080799B2 (ja) テープ記録システム用ファイルシステムを介した読み書きする方法
JP6041839B2 (ja) メタ情報を保管する方法、プログラム、及びそのテープ記録システム
JP5925280B2 (ja) テープに書き込されたファイルを消去する方法、プログラム、及びテープ装置
JP5623239B2 (ja) 書込みレコードの重複を排除する記憶装置、及びその書込み方法
US9262081B2 (en) Method for reading file using plurality of tape media
JP6124734B2 (ja) 高速に読み出し可能なテープメディアにファイルを書込む方法
JP5325078B2 (ja) テープ記録装置およびテープ記録方法
US20140379980A1 (en) Selective duplication of tape cartridge contents
JP6005122B2 (ja) 複数のテープカートリッジにファイルをスパニングして書込む方法
JP6341652B2 (ja) テープカートリッジのデータを自動的にリクラメーションする方法
JP2015069290A (ja) テープドライブ用ファイルシステムよる更新されたファイルの読み出し速度を改善する方法
US9471255B2 (en) Tape storage device and writing method therefor
JP2015036851A (ja) 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム
US9058843B2 (en) Recovery of data written before initialization of format in tape media
JP6482264B2 (ja) 複数のテープカートリッジにファイルをスパニングして書込む方法
JP2012181896A (ja) 磁気テープ装置の制御方法および磁気テープ装置とその制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180515

R150 Certificate of patent or registration of utility model

Ref document number: 6341652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees