JP5643152B2 - テープ記憶装置、データ書込み方法、及び、プログラム - Google Patents

テープ記憶装置、データ書込み方法、及び、プログラム Download PDF

Info

Publication number
JP5643152B2
JP5643152B2 JP2011112885A JP2011112885A JP5643152B2 JP 5643152 B2 JP5643152 B2 JP 5643152B2 JP 2011112885 A JP2011112885 A JP 2011112885A JP 2011112885 A JP2011112885 A JP 2011112885A JP 5643152 B2 JP5643152 B2 JP 5643152B2
Authority
JP
Japan
Prior art keywords
buffer
data
host device
synchronization request
write
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
JP2011112885A
Other languages
English (en)
Other versions
JP2012243353A (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 JP2011112885A priority Critical patent/JP5643152B2/ja
Priority to US13/473,762 priority patent/US8964327B2/en
Publication of JP2012243353A publication Critical patent/JP2012243353A/ja
Application granted granted Critical
Publication of JP5643152B2 publication Critical patent/JP5643152B2/ja
Expired - Fee Related 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • 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

Description

本発明は、同期要求後もバックヒッチなしで後続の書込みデータを受け付ける書込み方法及びその装置に関する。
特に、本発明は、先に上位装置から送られたデータを一時的にバッファに格納して同期要求を受信後バックヒッチなしで後続の書込みデータを受取り、同期処理が完了したならばそのタイミングでその完了を上位装置に返すテープ媒体のデータを書き込む装置及びデータ書込み制御方法に関する。
磁気テープ媒体等のテープ媒体(以下、テープともいう)にデータを書き込むテープ記録装置(テープドライブまたはドライブともいう)では、データを一旦バッファに蓄積しておく。バッファ保管データは、ドライブの都合の良いタイミングでバッファからテープ媒体へデータを書き込むのが一般的である。ホストは、ドライブに送ったデータが全てテープ媒体上に書き出されていることを保証した。このデータ記録の保証を確実にするために、強制的にデータを書き込むためのコマンド(WriteFM Non Immediateコマンド:「WriteFM0」とも言う。)をドライブに送る。このようなバッファからテープ媒体への強制書込みを「同期」という。
ところで、同期が発生した後にテープ媒体を停止させないと、テープ媒体上で、先行する同期にて書き込まれたデータと次に書き込まれたデータとの間にギャップが生じる。その結果、テープ媒体の記録領域が無駄になってしまう。そのため、バックヒッチ(Backhitch)を行う必要がある。バックヒッチとは、テープ媒体の走行速度を減速して一旦停止し、逆方向に走行し、その後、再度元の方向に走行して書き込むべき位置に達して次のデータを書く、という一連の動作のことである。次のデータは、このバックヒッチが完了するまで書き込むことができない。バックヒッチには約3〜5秒程度の時間を要するため、バックヒッチの発生は、パフォーマンスに大きな影響を与える。
テープドライブはテープ媒体にデータを書き込む場合、ドライブはホストから送られたデータをすぐには書き込まず、一旦ドライブ内のバッファに格納する。一定の量のデータがバッファに蓄積された後書き込みを開始する。バックヒッチには1回あたり最大で5秒程度の時間がかかるため、書き込みのパフォーマンスの観点から、ドライブはできる限りバックヒッチを行わずに書き続けることが望ましい。通常の書き込みではドライブ内のバッファにデータを貯めながら書き込みを行うので、書き込みの途中でバッファが空になることは少なく、バックヒッチも滅多に起きない。
一方、ホストはドライブに対し、バッファ内のデータをすべてテープ媒体に書き出す処理、同期(Synchronous)を要求することがある。従来のテープドライブでは、ドライブが同期要求(同期コマンド)を受け取った後、同期が完了するまで、Writeコマンド(Write要求)を受け付けない。従来のテープドライブは、同期要求を受け取った後、同期処理が完了するまでWriteコマンドに対するデータ転送を受け付けていない。このことは、同期が完了した時点で、ドライブのバッファが必ず空になっていることになり、それが理由でバックヒッチが必ず起きる。バックヒッチが生じると、バッファよって、以下の問題があることが知られている。
1.同期の頻度が高いとバックヒッチの回数も増えるので、書き込みのパフォーマンスが低下する。
2.パフォーマンス低下を防ぐため、ドライブは同期要求による書き込みでもバックヒッチせずに書き込むこともできる(Backhitchless Flush)。しかし、Backhitchless Flushを行うと、記録密度の低い状態でデータが書き込まれることになり、テープ媒体の容量は低下してしまう。
そこで、かかる状況を回避するための技術として、RABF(Recursive Accumulating Backhitchless Flush)が提案されている(例えば、特許文献1、2参照)。まず、テープドライブが、同期要求を受けた際に、テープ媒体にまだ書かれていないバッファ内のデータを、テープ媒体の走行を継続させたまま、テープ媒体上に予約されている一時記録領域(ABFラップ)に書き出す。尚、この書出しは、先行する同期にて書き込まれたデータと次の同期にて書き込まれたデータとの間のギャップが問題とならないため、バックヒッチを行わないバッファフラッシュ(Backhitchless Flush)である。一方で、テープドライブは、データをバッファに蓄積し(Accumulate)、バッファ又は一時記録領域に空きがなくなった際に通常の記録領域(通常ラップ)に書き戻す(リライトする)動作を反復的に(Recursive)行う。このように、RABFでは、同期を行う際に、次の同期に備えてバックヒッチを行うことが必要とならないため、同期に要する時間の短縮が図れる。特に、データ量に対する同期要求の頻度が高い場合において、大幅なパフォーマンス向上を実現するものである。
米国特許第6856479号明細書 米国特許第6865043号明細書 特開2008−146760号公報
しかしながら、RABFは、余分な移動(ABF-Recursive間)、及び、同じデータをテープに2度書する、など余分な処理時間を要する。
また、特許文献3は、ホストが新規に導入した2つのコマンドでポーリング(Polling)を必要とする。ホストはドライブ同期処理の終了を確認するためにホスト−ドライブ間のインタフェースにおいて一定間隔で問い合わせる時間を要する。ポーリングによる問い合わせがテープへの書込みパフォーマンスに影響を与える。
本発明の目的は、同期要求後もバックヒッチなしで後続の書込みデータを受け付けるテープ媒体への書込み装置及びその書込み方法を提供することである。
上記の目的を達成する本発明は、上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り同期処理(バッファに保管されたデータをテープ媒体に記録)の完了を上位装置返す、テープドライブである。このテープドライブは、上位装置からのコマンドを受取るインタフェースと、上位装置からのデータを一次保管するバッファと、前記バッファに保管されたデータを記録するテープ媒体と、前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、前記インタフェース部は、上位装置からの連続して発行される複数のコマンドを非同期(Asynchronous)に処理できるように、複数のコマンドをキューイングできる機能を有す。
前記書込み制御は、(a)上位装置から(第1のWrite要求により転送されたデータがバッファに保管し、)第1の同期要求に続いて後続のデータ群のWrite要求を受取り、(b)前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理(第1のデータ群がバッファから前記テープ媒体に記録)が完了し、そのタイミングで前記完了を返すことを実行する。
このテープドライブの書込み制御は、前記バッファに保管されたデータに対して同期要求を受け取った時のデータのバッファに保管された最終のデータのバッファ位置を同期要求の位置として保存し、同期キューの機能として複数の同期要求の位置を保存することを特徴とする。
このテープドライブの書込み制御は、
(1)上位装置からの複数の第1のWrite要求に対応するデータを受取り、バッファに保管するステップと、
(2)上位装置から前記バッファに保管されたデータに対して第1の同期要求を受取るステップと、
(3)第1の同期要求の位置を前記同期キューにより保存するステップと、
(4)第1同期要求の完了なしでも、前記コマンドのキューイング機能を使って、前記後続のWrite要求として上位装置から複数の第2の
Write要求を受取るステップと、
(5)第1の同期要求の位置に対応するバッファに保管されたデータがテープ媒体に書けているかどうかに関わらず、第2のWrite要求に対するデータ転送指示を上位装置に送るステップと、
(6)前記転送指示に応答して、上位装置から転送されたデータをバッファに保管するステップと、
(7)第1の同期要求に対応するバッファ位置に保管された最終データがテープ媒体に記録されたかをチェックするステップと、
(8)前記チェックにおいて前記同期キューに保管されている同期要求のバッファ位置のデータがテープ媒体に書込まれている場合、前記同期要求の完了を上位装置に返すステップと、
(9)上位装置から前記バッファに保管されたデータに対して第2の同期要求を受取り、
前記(3)−(8)ステップを第2の同期要求及び第3のWrite要求に対して実行するステップと、を含むことを特徴とする。
このテープドライブは、第1の同期要求の完了を第2のWrite要求を上位装置から受信後に上位装置に返すことを特徴とする。
このテープドライブは、第1の同期要求の完了を第2のWrite要求に対してデータ転送指示を上位装置に発送後に上位装置に返すことを特徴とする。
このテープドライブは、第1の同期要求の完了を前記更にデータ指示転送に対する第2のデータを上位装置から受信後に上位装置に返すことを特徴とする。
このテープドライブは、第1の同期要求の完了を前記更に第2のデータに対する第2の同期要求を上位装置から受信後に上位装置に返すことを特徴とする。
上位装置は、非同期(Asychronous)に複数のコマンドを前記テープドライブに発行するコンピュータ・サーバであることを特徴とする。
更に上記の目的を達成する本発明は、上位装置から複数のデータのWrite要求、及び、それに対応する同期要求を受取り、同期処理(バッファ・データをテープ媒体に記録)、の完了を上位装置に返すテープドライブの書込み方法である。このテープドライブは、上位装置からの連続して発行される複数のコマンドを非同期に処理できるように前記複数のコマンドの複数をキューイングできる機能を有する。この書込み方法は、
(a)上位装置から第1のWrite要求により転送されたデータをバッファに保管に保管し、第1の同期要求に続いて後続のデータ群のWrite要求を受取るステップと、
(b)前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理を完了しそのタイミングでその完了を返すステップと、を含む。
更に上記の目的を達成する本発明は、上位装置から複数のデータのWrite要求、及び、対応する同期要求を受取り同期処理(バッファ・データをテープ媒体に記録)、該同期要求の完了を上位装置返す、コンピュータへのデータの書込み制御のためのプログラムである。前記テープドライブは、上位装置からの連続して発行される複数のコマンドを非同期に処理できるように、前記コマンドの複数をキューイングできる機能を有する。
このプログラムは、(a)上位装置から(第1のWrite要求により転送されたデータバッファに保管し、)第1の同期要求に続いて後続のデータ群のWrite要求を受取るステップと、(b)前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理(第1の前記データ群がバッファから前記テープ媒体に記録)が完了し、そのタイミングで前記完了を返すステップとをコンピュータに実行させる。
以上の本発明の適用により、テープドライブは同期処理の完了を確実に保証すると同時に一連の複数のWrite要求によるデータのテープ媒体への書込みのパフォーマンスの改善できる。
本実施の形態が適用されるテープドライブ10の構成例を示す。 現行のテープドライブにおけるWriteデータと従来の同期要求(WriteFM0)の場合のトランザクションのシーケンスを示す。 本発明のドライブにけるWriteデータと同期要求(WriteFM0)の場合のデータトランザクションのシーケンスを示す。 複数の書込みデータ(Write要求及びそのデータ)及び複数の同期要求(WriteFM0)のドライブの動作のフローチャートを示す。
以下、添付図面を参照して、本発明を実施するための本発明の実施形態(以下「実施例」ともいう)について詳細に説明する。
図1は、本実施の形態が適用されるテープドライブ10の構成例を示した図である。
テープドライブ10は、ホスト30から送られた複数のデータを固定長のデータセット(DataSet:DSとも言う)単位でテープ媒体への書込みをする。DSは複数のデータの集まりであり、固定長のフォーマット構造を有するテープ媒体に書込む単位である。本発明はDSが可変長である場合を排除するものではない。
このテープドライブ10は、ホストインターフェイス(以下、「インタフェース」という)11と、バッファ12と、チャネル13と、ヘッド14と、モータ15とを含む。また、書込み読取り制御(コントローラ)16と、ヘッド位置制御システム17と、モータドライバ18とを含む。更に、テープドライブ10には、テープカートリッジ20が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ20も図示している。このテープカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。尚、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
ここで、インタフェース11は、上位装置の一例であるホスト30との通信を行う。例えば、ホスト30から、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンドを受け取る。このインタフェース11で用いる通信規格としては、SCSIが例示される。SCSIの場合、1つ目のコマンドは、Writeコマンドに相当し、2つ目のコマンドは、LocateコマンドやSpaceコマンドに相当し、3つ目のコマンドは、Readコマンドに相当する。また、インタフェース11は、ホスト30に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
バッファ12は、テープ23に書き込むべきデータやテープ23から読み出されたデータを蓄積するメモリである。例えば、DRAM(Dynamic Random Access Memory)によって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセット(DS)を格納している。1つのデータセットは、ホスト30から送られるデータの1つの一部分、または、複数のデータから構成される。読み書きチャネル13を介して渡されたデータはDS単位(例えば400KBまたは1.6MB)として、ヘッド14によりテープ23に書込まれる。同期コマンド(Synchronous)は、バッファ内に保管されたデータをテープに書く込み要求である。
チャネル13は、テープ23に書き込むべきデータをヘッド14に送ったり、テープ23から読み出されたデータをヘッド14から受け取ったりするために用いられる通信経路である。
ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
書込み読取り制御16は、テープドライブ10の全体を制御する。例えば、インタフェース11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御も行う。
本発明のテープドライブは、先のホストから要求された同期が完了する前に、後続のWrite コマンドに対するデータ転送を受け付ける機能を要求する。キューイングをサポートしているテープドライブにおいて、ドライブが同期要求を受け取った後に他のデータ書込みを可能にする処理を実行する。本発明のテープドライブは、複数のコマンドを受け付けて、それぞれ独立、且つ、非同期(Asynchronous)に各処理を実行することができる。テープドライブのキューニング機能は、インタフェース11に組み込まれるSCSIインタフェースなどが具備している。本発明の実施例では、ホストのアプリケーション(適用業務)も、複数のコマンドを各処理の完了を確保できなくとも、非同期に発行する。このキューニング機能により、ドライブのバッファが空になることを防ぐことにより、ドライブは、バックヒッチなしに同期要求(Synchronous)を処理できる。
SCSIインタフェースの場合、テープドライブでは、同期要求のコマンドとして、WriteFilemarkコマンドを使用する。このコマンドは、Filemark を指定された数バッファに書き込んだ後、バッファ内のデータをすべてテープ媒体に書き出す同期処理を行う。Filemarkを書かずに、同期処理のみを行う場合、書き込む Filemarkを0として、WriteFM0というコマンドを発行する。
図2は、現行のテープドライブにけるWriteデータと従来の同期要求の場合のトランザクションのシーケンスを示す。トランザクションシーケンスは、ドライブ内でのホスト・データ(ホストからドライブに転送中のデータ)、バッファ・データ(バッファに保管されているデータ)、及びテープ・データ(テープに書かれたバッファ・データ)の関係を示す。ホストから時間の経過とともにWriteコマンドによりデータn、n+1、n+2、n+3、・・・が送られ、バッファ12のセグメント毎に保管される変遷を示す。同期要求(WriteFM0)を受取った後データn+4がテープに記録(同期処理)が完了するまで、後続のWriteデータn+5,n+6,・・・を受取り不可能であることを示す。テープドライブは、同期コマンドに対して完了のステータス(Comp)を送ったときには、同期コマンドを受け取る直前までバッファに入っていたデータをテープ媒体上に書いたことを保障する。その同期要求の記録が完了した後は、バッファは空になる。点線の示される円内は、従来の同期処理では、後続のデータを既にデータを書き込んだテープ位置の直後に書くために、ヘッド移動がバックヒッチを行うことを示す。点線の円内の直線矢印は、テープをバックヒッチさせてヘッドのテープへの位置を同期完了によりデータが書き込まれたテープ位置直後まで移動させる過程を示す。点線の矩形内は、先のWriteFM0の完了(Comp)後に。後続のWriteデータn+5,n+6,n+7・・・・を受取る様子を示す。バックヒッチを行なわずに、後続のデータを書くと、テープ媒体上には、飛び飛びにデータが書かれるため、メディアの記録容量が低下するとともに、読み出し速度も遅くなる。
図3は、本発明のドライブにけるWriteデータと同期要求(WriteFM0)のトランザクションのシーケンスを示す。トランザクションシーケンスは、ドライブ内でのホスト・データ(ホストからドライブに転送中のデータ)、バッファ・データ(バッファに保管されているデータ)、及びテープ・データ(テープに書かれたバッファ・データ)の関係を示している。ホストから時間の経過とともにWriteコマンドによりデータn、n+1、n+2、n+3、・・・・・が送られ、バッファ12のセグメント毎に保管される変遷を示す。本発明では、次の処理でこのバックヒッチを回避し、高速にデータを書き込むことができる。本発明のドライブは、同期コマンド(WriteFM0) を受取り、実際に同期処理が完了する前であっても、続くWriteデータを受取ることができる。ホストは、キューイング機能を使って同期処理完了前に後続のWriteデータを転送する。同期処理の完了(Comp)を待たずにホストが後続のWriteデータn+5,n+6,n+7,・・・をドライブに送る。点線矩形内のトランザクションの推移は、ドライブがそれらWriteデータn+5,n+6,n+7,・・・をドライブが受取っている様子を示す。後続のWriteデータn+7を受け取っている最中に、同期キューに保存されたバッファ位置(データn+4)まで同期処理の完了(テープに記録)がされた場合、そのタイミングで同期完了をホストに返す。
本発明のテープドライブは、次の機能を有する同期キュー機能を具備する。
(a) 同期コマンドが来たときに、同期されるべき最終データが保管されている「バッファ」の「位置」を覚えおく。
(b)その後に続くWrite コマンド中に同期されるべき最終データがテープ上に書かれているかどうかを確認する。
(c)テープ上に書かれていたら、そのタイミングで先に受け取った同期コマンドに対して完了(Comp)をホストに返す。
同期キュー機能は、インタフェース11または書込み読み取り制御(コントローラ)16に組み込ませてもよい。
同期要求が複数回重なったとしても、その都度、ドライブは各同期要求のバッファでの物理位置を同期キューに保存すればよい。バッファの物理位置に対応する対応するデータがテープ媒体上に記録されたとこれで、対応する同期要求にステータスを返すことで、入れ子の同期要求に対しても対応可能である。
図4は、複数の書込みデータ(Writeコマンド及びそのデータ)及び複数の同期要求(WriteFM0)のドライブの動作のフローチャートを示す。このフローチャートは、最も簡単な、複数の同期要求が入れ子にならない場合の動作の例示である。
(1)405:ホストは、データ書込み(Writeコマンドとデータ)、同期コマンド(WriteFM0)をドライブに発行する。ホストは、キューイングを使って、WriteFM0コマンドのステータスが返ってこなくても、次に書き込むべきデータに対するWrite コマンドをドライブに送る。
(2)410、415:ドライブはコマンドを受取り、WriteコマンドまたはWriteFM0かを区別する。
(3)420:ドライブは、415においてホストから WriteFM0を受信した場
合、同期キュー機能によりバッファ位置を保存しておく。
(4)425:ドライブは、WriteFM0コマンドを受け取った時のデータがすべてテープ媒体に書けているかどうかに関わらず、データ転送指示をホストに送る
(5)430:ホストは、405で発行したWrite コマンドに対するデータを転送
する。
(6)435:ドライブは、ホストから送られてくるデータをバッファに保管する。
(7)440:ドライブは、どのバッファ位置までのデータがテープに記録されているかをチェックする。420において同期キューに保存されたWriteFM0のバッファ位置までのデータの全てがテープ媒体に記録されている場合、そのコマンドに対するステータスをホストに返す(450)
(8)ステップ(1)〜(3)においける後続のWriteコマンド及びデータに対する同期要求(WriteFM0)に対してステップ(4)−(7)を繰り返す。
10MBのファイルを1000個、合計10GBのデータをファイル単位で同期処理を行い、書き込んだ場合の、それぞれの方法でかかる時間を示す。各パラメータは以下のように定義する;メディアへの転送レート:160MB/S(IBMテープドライブ TS1130相当)、バックヒッチ時間:5Sec、RABF用バッファーサイズ:1GB。 また、ホストからのドライブへの転送レートは、十分早いと仮定する。従来の書込み方法において、RABFを利用しない書込みを考える。同期要求で常にバックヒッチを行うので、メディアに書き込む時間と、バックヒッチの時間の足し算で求められる。
(10/160)×1000+5×1000=62.5+5000=5062.5(Sec)
従来の書込み方法において、RABFを利用する場合を考える。同期要求受け取った際に、ABF領域に書いていき、RABF用バッファーサイズがいっぱいになったところで、Recurrsive領域に書き直す。すべてのデータは2回メディアに書かれる。RABF用バッファーサイズは、1GBなので10回RABFサイクルを繰り返す。
1回のRABFサイクルで、バックヒッチ は2回必要である。
2((10/160)×1000)+(5×2)×10=125+100=225(Sec)
本発明の書込み方法では手法では、上記2つの例と同等の条件において(10/160) ×1000=62.5(Sec)の値が得られる。本発明のドライブは、同期要求を受け取った後もWriteコマンドと書き込みデータを受け取るので、バックヒッチなしでデータを書き続けることを想定している。この評価値は、本発明のテープドライブでは、テープ媒体への転送時間のみで書込みを終了することができるとして算定している。本発明の書込み法の評価値は、上記2つの従来の書込み方法の値と比較して、書込みパフォーマンス上十分な優位性を表している。
以上本発明によれば、同期処理の完了を確実に保証すると同時に一連の複数のWrite要求によるデータ書込みのパフォーマンスの改善できるテープドライブ提供がされる。
10…テープドライブ、
11…インタフェース、
12…バッファ(DRAM)、
13…読み書きチャネル、
14…ヘッド、
15…モータ、
16…書込み読取り制御(コントローラ)、
17…ヘッド位置制御システム、
18…モータドライバ、
20…カートリッジ、
21,22…リール、

Claims (9)

  1. 上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り、該同期要求の完了を上位装置返す、テープドライブであって、
    上位装置からのコマンドを受取るインタフェースと、
    上位装置からのデータを一時保管するバッファと、
    前記バッファに保管されたデータを記録するテープ媒体と、
    前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、
    前記インタフェース部は、上位装置からの連続して発行される複数のコマンドを非同期に処理できるように複数のコマンドをキューイングできる機能を有し、
    前記書込み制御は、
    (a)上位装置から第1の同期要求に続いて前記キューイング機能を利用して後続のデータ群のWrite要求を受取った後に、前記バッファに保管されたデータに対して同期要求を受け取った時点でのバッファに保管された最終のデータのバッファ位置を保存し、
    (b)前記バッファ位置までのバッファに保管されたデータがテープ媒体に記録されているかを確認し、
    (c)前記同期要求に対して前記バッファ位置までのバッファに保管されたデータがテープ媒体に記録される場合、上位装置に前記同期要求の完了を返す
    ことを特徴とするテープドライブ。
  2. 前記書込み制御は、
    (1)上位装置からの複数の第1のWrite要求に対応するデータを受取り、バッファに保管するステップと、
    (2)上位装置から前記バッファに保管されたデータに対して第1の同期要求を受取るステップと、
    (3)第1の同期要求の位置を前記同期キューにより保存するステップと、
    (4)前記コマンドのキューイング機能を使って、前記後続のWrite要求として上位装置から複数の第2の Write要求を受取るステップと、
    (5)第2のWrite要求に対するデータ転送指示を上位装置に送るステップと、
    (6)前記転送指示に応答して上位装置から転送されたデータを、バッファに保管するステップと、
    (7)第1の同期要求に対応するバッファ位置に保管された最終データがテープ媒体に記録されたかをチェックするステップと、
    (8)前記チェックにおいて前記同期キューに保管されている同期要求のバッファ位置のデータがテープ媒体に書込まれている場合、前記同期要求の完了を上位装置に返すステップと、
    (9)上位装置から前記バッファに保管されたデータに対して第2の同期要求を受取り、前記(3)−(8)ステップを第2の同期要求及び第3のWrite要求に対して実行するステップと、を含む請求項1に記載のテープドライブ。
  3. 第1の同期要求の完了を、第2のWrite要求を上位装置から受信後に上位装置に返す請求項2に記載のテープドライブ。
  4. 第1の同期要求の完了を、第2のWrite要求に対してデータ転送指示を上位装置に発送後に上位装置に返す請求項3に記載のテープドライブ。
  5. 第1の同期要求の完了を、前記転送指示に応答して上位装置から転送されたデータをバッファに保管した後に上位装置に返す請求項に記載のテープドライブ。
  6. 第1の同期要求の完了を、第1の同期要求の後に更に第2の同期要求を上位装置から受信後に上位装置に返す請求項に記載のテープドライブ。
  7. 上位装置は、非同期に複数のコマンドを前記テープドライブに発行するホストである請求項1〜6の何れか1項に記載にテープドライブ。
  8. 上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り、該同期要求の完了を上位装置返す、テープドライブの書込み方法であって、
    前記テープドライブは、上位装置からのコマンドを受取るインタフェースと、上位装置からのデータを一時保管するバッファと、前記バッファに保管されたデータを記録するテープ媒体と、前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、 更に上位装置からの連続して発行される複数のコマンドを非同期に処理できるように、前記複数のコマンドの複数をキューイングできる機能を有し、
    (a)上位装置から、第1の同期要求に続いて前記キューイング機能を利用して後続のデータ群のWrite要求を受取った後に、前記バッファに保管されたデータに対して同期要求を受け取った時点でのバッファに保管された最終のデータのバッファ位置を保存することと、
    (b)前記バッファ位置までのバッファに保管されたデータがテープ媒体に記録されているかを確認することと、
    (c)前記同期要求に対して前記バッファ位置までのバッファに保管されたデータがテープ媒体に記録される場合、上位装置に前記同期要求の完了を返すことと
    を含むデータ書込み方法。
  9. 上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り、該同期要求の完了を上位装置返す、テープドライブへデータ書込みためのプログラムであって、
    前記テープドライブは、上位装置からのコマンドを受取るインタフェースと、上位装置からのデータを一時保管するバッファと、前記バッファに保管されたデータを記録するテープ媒体と、前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、 更に上位装置からの連続して発行される複数のコマンドを非同期に処理できるように、前記コマンドの複数をキューイングできる機能を有し、
    (a)上位装置から第1の同期要求に続いて前記キューイング機能を利用して後続のデータ群のWrite要求を受取った後に、前記バッファに保管されたデータに対して同期要求を受け取った時点でのバッファに保管された最終のデータのバッファ位置を保存することと、、
    (b)前記バッファ位置までのバッファに保管されたデータがテープ媒体に記録されているかを確認することと、、
    (c)前記同期要求に対して前記バッファ位置までのバッファに保管されたデータがテープ媒体に記録される場合、上位装置に前記同期要求の完了を返すことと
    、をテープドライブに実行させるプログラム。
JP2011112885A 2011-05-19 2011-05-19 テープ記憶装置、データ書込み方法、及び、プログラム Expired - Fee Related JP5643152B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011112885A JP5643152B2 (ja) 2011-05-19 2011-05-19 テープ記憶装置、データ書込み方法、及び、プログラム
US13/473,762 US8964327B2 (en) 2011-05-19 2012-05-17 Tape storage device, data writing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011112885A JP5643152B2 (ja) 2011-05-19 2011-05-19 テープ記憶装置、データ書込み方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2012243353A JP2012243353A (ja) 2012-12-10
JP5643152B2 true JP5643152B2 (ja) 2014-12-17

Family

ID=47174738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011112885A Expired - Fee Related JP5643152B2 (ja) 2011-05-19 2011-05-19 テープ記憶装置、データ書込み方法、及び、プログラム

Country Status (2)

Country Link
US (1) US8964327B2 (ja)
JP (1) JP5643152B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437511B2 (en) * 2016-11-22 2019-10-08 International Business Machines Corporation Data access on tape
US10467146B1 (en) 2018-05-02 2019-11-05 International Business Machines Corporation Tape drive with intelligent selection of wrap / track for temporarily storing flushed data
US11809382B2 (en) 2019-04-01 2023-11-07 Nutanix, Inc. System and method for supporting versioned objects
US20200310859A1 (en) * 2019-04-01 2020-10-01 Nutanix, Inc. System and method for an object layer
US11900164B2 (en) 2020-11-24 2024-02-13 Nutanix, Inc. Intelligent query planning for metric gateway
US11822370B2 (en) 2020-11-26 2023-11-21 Nutanix, Inc. Concurrent multiprotocol access to an object storage system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130625A (ja) * 1988-11-11 1990-05-18 Hitachi Ltd インタフェース制御方式
US5325370A (en) * 1991-11-12 1994-06-28 Storage Technology Corporation Method and apparatus for recording data on magnetic tape media
US5369641A (en) * 1991-11-12 1994-11-29 Storage Technology Corporation Method and apparatus for detecting and correcting errors in data on magnetic tape media
US6571304B1 (en) * 1999-12-06 2003-05-27 International Business Machines Corporation Control system for using memory on cartridges to overcome tape drive problems
US6856479B2 (en) * 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
JP3900494B2 (ja) 2003-05-16 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、及び記録媒体
US7107397B2 (en) 2003-05-29 2006-09-12 International Business Machines Corporation Magnetic tape data storage system buffer management
US6970311B2 (en) 2003-08-18 2005-11-29 International Business Machines Corporation Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks
US7236322B2 (en) 2003-08-20 2007-06-26 International Business Machines Corporation Method, system, and program for storing data in a storage medium
US6958878B2 (en) * 2003-10-27 2005-10-25 International Business Machines Corporation Forced backhitch for speed matching in a multi-speed tape drive
US7535664B1 (en) 2003-11-13 2009-05-19 Storage Technology Corporation Performance enhancement for tape write immediate operations
US6950257B1 (en) * 2004-04-29 2005-09-27 International Business Machines Corporation Writing to magnetic tape with backhitchless backspacing and data set invalidation
US20060204209A1 (en) 2005-03-09 2006-09-14 Exabyte Corporation Pause strategy for magnetic tape recording
JP4140913B2 (ja) 2005-05-12 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体の駆動を制御するための装置、方法、及びプログラム
JP4131517B2 (ja) * 2005-09-06 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込むための装置
JP3870215B1 (ja) * 2005-09-30 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置のデータ書込み読取り制御方法
JP4452269B2 (ja) 2006-12-11 2010-04-21 インターナショナル・ビジネス・マシーンズ・コーポレーション データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
JP4675881B2 (ja) * 2006-12-27 2011-04-27 株式会社東芝 磁気ディスク装置およびその制御方法
US7710681B2 (en) * 2007-06-06 2010-05-04 International Business Machines Corporation Optimizing tape speed for a sync operation
JP4954141B2 (ja) * 2008-05-30 2012-06-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体の走行を制御する装置及び方法
US7903363B2 (en) 2008-06-05 2011-03-08 International Business Machines Corporation Same Wrap backhitchless write method to encode data on a tape storage medium

Also Published As

Publication number Publication date
JP2012243353A (ja) 2012-12-10
US8964327B2 (en) 2015-02-24
US20120293886A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
US9262081B2 (en) Method for reading file using plurality of tape media
JP5643152B2 (ja) テープ記憶装置、データ書込み方法、及び、プログラム
JP5954751B2 (ja) テープ上のデータをロールバックする方法及びファイルシステム
US7995303B2 (en) Overhead calculation in writing synchronized data to magnetic tape
JP4140913B2 (ja) 記録媒体の駆動を制御するための装置、方法、及びプログラム
JP4131517B2 (ja) テープ媒体にデータを書き込むための装置
US5412780A (en) Data storage method and apparatus with adaptive buffer threshold control based upon buffer's waiting time and filling degree of previous data transfer
JP6124734B2 (ja) 高速に読み出し可能なテープメディアにファイルを書込む方法
JP3870215B1 (ja) テープ記録装置のデータ書込み読取り制御方法
JP5885298B2 (ja) テープドライブでのデータ書き込み方法、プログラム
JP5385992B2 (ja) テープ媒体の走行を制御する装置及び方法
JP5325128B2 (ja) データの書込みを制御する装置及び方法
US9122425B2 (en) Apparatus and method for writing data to recording medium
US9685179B2 (en) Tape device and controller thereof
JP4452269B2 (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
US20150199980A1 (en) Tape apparatus and write processing method
JP5764050B2 (ja) データを書き込む装置及び方法
JP5437371B2 (ja) 複数のテープ記録装置を含むテープ記憶システム
JP2014215668A (ja) テープドライブへのデータ書き込み方法、プログラム
JP5044822B2 (ja) データをテープ媒体に書き込む装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141030

R150 Certificate of patent or registration of utility model

Ref document number: 5643152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees