JP5437371B2 - 複数のテープ記録装置を含むテープ記憶システム - Google Patents

複数のテープ記録装置を含むテープ記憶システム Download PDF

Info

Publication number
JP5437371B2
JP5437371B2 JP2011520857A JP2011520857A JP5437371B2 JP 5437371 B2 JP5437371 B2 JP 5437371B2 JP 2011520857 A JP2011520857 A JP 2011520857A JP 2011520857 A JP2011520857 A JP 2011520857A JP 5437371 B2 JP5437371 B2 JP 5437371B2
Authority
JP
Japan
Prior art keywords
tape
data
tape recording
drive
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011520857A
Other languages
English (en)
Other versions
JPWO2011001820A1 (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 JP2011520857A priority Critical patent/JP5437371B2/ja
Publication of JPWO2011001820A1 publication Critical patent/JPWO2011001820A1/ja
Application granted granted Critical
Publication of JP5437371B2 publication Critical patent/JP5437371B2/ja
Active 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
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • 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/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Description

本発明は、ホストからの複数のデータの書き込みとともに同期要求の頻度が高い場合に書き込みパフォーマンスを改善する、複数のテープ記録装置を含むテープ記録システムに関する。
テープ記録装置(以下、テープドライブ、ドライブ)がテープメディア(以下、テープ、又はテープ媒体)にデータを書き込む場合、ドライブはホストから送られたデータをすぐには書き込まない。ドライブは、一旦ドライブ内のバッファに格納し、十分な量のデータが蓄積された後書き込みを開始する。
図1は、バッファとテープ上の書き込みデータ(データセット)との対応を示す。
バッファ120は固定長セグメント20で分割されたリング状をなしている。ホストから送られた複数の可変長のデータ10は順次セグメント20に蓄えられる。ヘッド50は、そのセグメント20がデータにより完全に充填されるとその内容を、データセット40としてテープ30に書き込む。
データをすべてテープ上に書き込み、バッファ120のセグメントが空になると、書き込み終了となる。ドライブは書き込み処理を終えると、次回の書き込み処理に備えてテープを巻き戻す。ドライブの書き込み用磁気ヘッドの位置とテープ上のデータの終端の位置を合わせる作業を行う。この動作をバックヒッチ(Backhitch)とよぶ。
バックヒッチには1回あたり5秒程度の時間がかかる。書き込みのパフォーマンスの観点から、ドライブはできる限りバックヒッチを行わずに書き続けることが望ましい。通常の書き込みではドライブ内のバッファのセグメントにデータを貯めながら書き込みを行う。ホストから順次データ10が徐々にバッファに蓄えられセグメントが一杯になった段階で順次データセットとしてテープに書き込む。通常のホストから書き込みでは連続的にデータ送られるために書き込みの途中でバッファが完全に空になることは少なく、バックヒッチも滅多に起きない。
一方、ホストはドライブに対し、バッファ内のデータをすべてテープに書き出す処理、即ち同期要求(Flush)をすることがある。同期要求は、バッファ20に一時的に保管されたデータをテープに書き込みされたことを確認するため発行される。ドライブがFlushによる書き込みを行うと、バッファ内のデータは空になるので、バックヒッチが発生する。同期要求の頻度が高いとバックヒッチの回数も増えるので、書き込みのパフォーマンスが低下する。
パフォーマンス低下を防ぐため、ドライブはバッファに蓄えられたデータに対する同期要求に対し、バックヒッチせずに書き込むこともできる。この書き込み方法をBackhitchless Flushという。この書き込み方法は、データセット間隔が大きい状態でデータがテープに書き込まれることになり、テープの記録密度を低下させる。
このような同期要求間のバックヒッチを回避するために、IBMのエンタープライズ向けテープドライブはRecursive Accumulate Backhitchless Flush(RABF)と呼ばれる機能を実装している(特許文献1及び2)。BF(Backhitchless Flush)とは文字通りバックヒッチ動作を発生させない書き込みを意味する。RABF方式の書き込みでは、各同期要求に対してテープドライブはバックヒッチのための時間ロスと記録密度の低下を避けられる。このRABF機能は、図3を用いて、“発明を実施するための形態”において詳細に説明される。
この機能はホストが頻繁に同期を要求(Flush)した場合に、通常任意の可変長のデータを書き込む通常のトラック領域とは別のトラック領域(ABF領域:Accumulate Backhitchless Flush region)にバックヒッチを行わずに、データを書き込む。以下この書き込み機能をBFWrite(Backhitchless Flush Write)と呼ぶ。
一定の量のデータを書き込んだ後で、それらのデータを本来書き込むべき通常の領域に書き直す。この書き込みをReWrite(Recursive Write)と呼ぶ。
このRABFでの動作は、ホストから後続の一連のデータが来ることを待つ必要がないためバックヒッチが介在せず、書き込みパフォーマンスの劣化を低減している。
また、テープに記録されたデータセット直後に後続のデータセットを書き込むことができるので記録密度の低下を避けられる。
米国特許第6856479号明細書 米国特許第6865043号明細書
ところで、RABF機能に次の問題点がある。
一台のドライブでBFWriteとReWriteを交互に行う。このため、通常のトラック領域−ABF領域を行ったり来たりするため、移動に時間がかかる。また、通常のトラック領域とABF領域に同じデータを2度書くことになるので、その分の時間も余計にかかる。
データ毎に同期要求が多発する場合にバックヒッチを発生させない書き込み方法を与えるRABF技術の特徴的効果を担保したい。同時に、更なる一層の書き込みパフォーマンスの向上も図りたい。
そこで、本発明は、上記課題を解決するために複数のテープ記憶装置を含むテープ記録装置システムを提供するものである。
また、本発明は、1のテープドライブにおいてデータ書き込みエラーが生じた場合に、データエラーを復元するテープ記録システムを提供するものである。
上記の目的を達成する本発明は、それぞれテープを搭載し固定長のセグメントで分割されたバッファを有する2以上のテープ記憶装置を含み、これらテープ記録装置に、複数のデータと所定の頻度(タイミング)で同期要求とを送るホストに接続されたテープ記憶システムである。このテープ記録システムは、ホストに接続されホストから送られた複数のデータを受取り、バッファのセグメントがデータにより一杯に蓄積(準備)された場合にその蓄積されたデータをテープに書き込む第1のテープ記憶装置と、その第1のテープ記憶装置に接続され第1のテープ記憶装置を介してホストから送られた複数のデータを受取り、同期要求を受け取ったタイミングでセグメントに蓄積された所定の個数のデータをテープへ書き出す第2のテープ記憶装置とを備える。
このテープ記録システムの特徴は、第1のテープ記憶装置が、データに対応する同期要求を無視してバッファの少なくとも1つのセグメントが完全に蓄積されるまで、バッファ中のデータを書き込まないことを特徴とし、第2のテープ記憶装置が、その同期要求のタイミングでバッファのセグメントに蓄積された所定の個数のデータをテープに書き出す場合にデータによりセグメントの完全には蓄積されていないためにそのセグメントのデータ未充填領域をデータパディングして、セグメント内の全てのデータを書き出すことである。
このテープ記録システムの特徴は、第1のテープ記憶装置により書き込まれたテープがバッファのセグメントに蓄積されたデータをデータセットとして書き込まれる通常の書き込みテープとして扱われ、第2のテープ記憶装置により書き込まれたテープが、セグメントに蓄積されたデータをデータセットとして書き込まれ、テープ上のデータセット間隔は同期要求の時間間隔を反映することである。
このテープ記録システムの特徴は、第2のテープ記憶装置が、第1のテープ記憶装置のためのテープに書き込み済みのデータに関して、その書き込み済みデータを記憶している、第2のテープ記憶装置のためのテープの領域を上書可能に継続的に使用できる。
このシステムの特徴は、前記第1のテープ記憶装置においてデータの書き込みエラーが生じた場合において、前記第2のテープ記憶装置において前記データの書き込み済みの場合、前記データの書き込みエラーを前記ホストに報告しないことである。
このシステムの特徴は、前記第2のテープ記憶装置においてデータの書き込みエラーが生じた場合において、前記第1のテープ記憶装置において前記データの書き込み済みの場合、前記データの書き込みエラーを前記ホストに報告しないことである。
このシステムの特徴は、前記第2のテープ記憶装置においてデータの書き込みエラーが生じた場合において、前記第1のテープ記憶装置においてテープ書き込み済みのデータを記憶する前記第2のテープ記憶装置のためのテープ記憶領域を含む未使用テープ領域に前記エラーのデータを再度書き込みすることである
このシステムの特徴は、前記第1のテープ記憶装置においてデータ書き込みエラーが生じた場合、前記第2のテープ記憶装置のBFテープから前記データを読み出し、ドライブ通信接続を介して前記第1のテープ記憶装置のためのテープのエラー箇所のデータを回復することである。
このシステムの特徴は、前記ホストと直接接続される前記ドライブとはファイバーチャネルまたはSCSIで通信し、前記ドライブ間通信はイーサネット(登録商標)であることである。
更に上記目的を達成する本発明は、それぞれテープを搭載し固定長のセグメントで分割されたバッファを有する2以上のテープ記憶装置を含み、テープ記録装置に複数のデータと所定の頻度(タイミング)で同期要求とを送るホストに接続されたテープ記憶システムである。このシステムは、ホストに接続されホストから送られた複数のデータを受取り、同期要求を受け取ったタイミングでセグメントに蓄積された所定の個数のデータをテープに書き出す第1のテープ記憶装置と、第1のテープ記憶装置に接続されその第1のテープ記憶装置を介してホストから送られた複数のデータを受け取り、セグメントがデータにより一杯に蓄積(準備)された場合にその蓄積されたデータをテープに書き込む第2のテープ記憶装置とを備える。
以上のように構成された本発明の、少なくとも2以上のテープドライブを含んだテープ記録システムによれば、ホストから同期要求の多発するデータ書き込み対して、書き込みパフォーマンスを改善して、テープ記録密度を維持できる有利な効果をする。
バッファとテープ上の書き込みデータ(データセット)との対応を示す。 テープドライブ100の構成図を示す。 RABF書き込み方式の概念図を示す。 RABF書き込みの際のBFWriteとReWriteの典型的なタイムチャートを示す。 第1の実施例の書き込み処理を示す。 第2の実施例の接続の書き込み処理を示す。 ホストが2台、ドライブが3台存在する第3の実施例を示す。 第4の実施例として、BFドライブ、Rドライブ、または、単独で機能する通常ドライブとして、テープドライブは状況に応じて働きを変える手順の一例を示す。
以下において、本発明のテープ記憶システムについて、ホストの接続により幾つかの典型的な実施形態(以下「実施例」という)が説明される。これら実施例は、例示であり本発明のテープ記憶システムを限定するものではない。
本発明では、1つのテープドライブで行うRABF機能を2つのテープドライブを用い、ReWrite動作に伴うヘッド移動による書き込みを省略できる。本発明は、少なくとも2台のテープドライブを含むテープ記憶システムであり、このテープ記録システムがホストに接続されている。1つのドライブは、RABF機能におけるReWriteの書き込みを行う。この1つのドライブを「Rドライブ」と呼ぶ。もう1つドライブでは、ホストの同期要求に応じてBF書き込みを行う。この1つのドライブを「BFドライブ」と呼ぶ。本発明のテープ記憶システムにおいては、これら2つの機能動作を2台のドライブで同時に行うため、RABF機能よりも書き込みのパフォーマンスが向上する。
まず本発明の構成要素であるテープ記録装置(テープドライブ)の駆動について説明する。図2は、テープドライブ100の構成図を示す。テープドライブ100は、インターフェース110と、バッファ120と、記録チャネル130、テープ14aと、ヘッド14bと、リール14c、14dと、カートリッジメモリ(CM)25を有するカートリッジ14eと、モータ150と、コントローラ160と、ヘッド位置制御システム170と、モータドライバ185とを含む。
インターフェース110は、ホスト105と通信を行う。インターフェース110は、ホスト105からバッファ120へ転送されるデータの書き込みを指示するコマンド、バッファ120のデータをテープ14aへの書き込みを指示するコマンドを受け取る。例えばインターフェース110の通信の規格はSCSIまたはファイバーチャネル(Fibre Channel)である。ファイバーチャネルの場合、バッファへの書き込み要求(コマンド)はWriteに相当する。また、バッファ中のデータ書き出しの同期要求(コマンド)はWriteFM0に相当する。
バッファ120は、テープ14aに書き込むべき可変長のデータ10を蓄積するメモリで、DRAM(Dynamic Random Access Memory)によって構成される。バッファ120は、固定長のセグメント20(図1)で区切られる。データ10は、任意の長さでホスト105からドライブに転送される。バッファ120は、最後のセグメントまでデータを受け取り次は再び最初のセグメントからデータを受け取り始めるという意味でリングバッファと呼ばれる。ひとつのセグメント20は、テープ14a、30上のひとつのデータセット40(図1)に対応する。1つのデータセットは、ホスト105から送られるデータの1つの一部分、または、複数のデータから構成される。
書き込みのタイミングは、セグメントがデータにより完全に充填された場合と、ホストからの同期要求に応じてセグメントのデータ未充填エリアにデータパディング(padding)により充填した場合とである。この明細書では、セグメントがデータにより充填されるこれら2つの場合を、セグメントが“準備”されたと表現することもある。
テープ14aは、データの記録手段としてのテープ媒体である。記録チャネル130を介して渡されたデータをデータセットとしてヘッド14bによりテープ14aに書み込まれる。テープ14aは、リール14c及び14dに巻かれ、これらの回転に伴い、リール14cからリール14dの方向へ、又は、その反対の方向へ、横方向に移動する。カートリッジ14eは、テープ14aが巻きつけてあるリール14cを収容する容器である。14eと同じカートリッジにより、リール14dを収容するものを設けてもよい。モータ150は、リール14c及び14dを回転させる。
テープカートリッジ14eは、その内部にカートリッジメモリ(CM:Cartridge Memory)25と呼ばれる非接触不揮発性メモリを備えている。CM25は、テープドライブ100により非接触的に読み書きされる。テープドライブがCM内のテープディレクトリの情報(書き込みデータの属性情報)を更新する。テープドライブは、データ読み取り時に、このCMに含まれる情報を参照して、テープを目的位置まで高速に移動により位置決めを可能とする。
コントローラ160は、テープドライブ100の全体を制御する。コントローラ160は、ホスト105からインターフェース110で受け付けたコマンドに従って、データのテープ14aへの書き込み読取りを制御する。また、コントローラは、ヘッド位置制御システム170やモータドライバ185の制御も行う。ヘッド位置制御システム170は、所望の1つ又は複数のラップ(複数のトラックの集合)を追跡する。ヘッド14bは、トラックを切り換える必要が生じると、ヘッド位置制御システム170が、ヘッド14bを電気的に切り換える制御を行う。モータドライバ185は、直接コントローラ160に接続されていてもよい。
テープ14aを停止させずに次の同期要求を行った場合、先行する同期要求により書き込まれたデータと、その次の同期要求にて書き込まれたデータとの間に、長い記録領域の無駄が存在する。テープドライブ動作において、記録容量の無駄を小さくするために、テープ媒体の長手方向に書き込まれるデータセットの間隔を最小限にする必要がある。
バックヒッチ操作により、テープ媒体に書き込まれたデータセットの直後から次のデータが書き込まれるように、テープ媒体14aをヘッド14bに位置決めする。ヘッド14bに対して、テープ媒体14aは走行速度を減速して一旦停止する。その後にテープ媒体を書き込むべき位置まで戻し、次のデータを書くべきテープ位置にヘッドを位置決めための書き込みモータ150を駆動させる。この操作に約3〜5秒の余計な時間を費やす。ホストから複数のデータの書き込みに毎に同期要求される場合、バックヒッチ動作が頻発しホストからの転送データの書き込みパフォーマンスを低下させる。そのため、IBMの大型テープドライブでは、このような多くの同期要求を伴う書き込みの際のバックヒッチを回避するため、RABFという書き込み方式(特許文献1及び特許文献2)を採用する。
図3は、RABF書き込み方式の概念図を示す。1つのテープドライブが、複数のトラックのバンド145を一時記憶のラップ180(ABFラップ)と、通常ラップ165とに使い分けて行う書き込む方法である。1つのヘッド14bは、例えば8、16などの書き込み読取りチャネルを有する。ラップとは、複数(例えば、8、16)のトラックの1つのまとまりで、1のヘッド14bが同時に読み書きする単位である。ABFラップ180(トラック14、15)に対して、ホストから転送されたデータは、最初にバックヒッチを行うことなく書き込みが行なわれる。ABFラップはテープに書き込みの際にデータを一時保管するバッファの拡張したものであり、かつテープ上に一時記憶されているので電源遮断時などの際の消失は防げる。通常ラップ165は、記憶容量を無駄にすることなく、データセットが書き込まれるトラック1〜13で構成される。テープドライブが、同期要求を受けた際に、バッファ内のデータを、テープ媒体の走行を継続させたままバックヒッチを行わずに、ABFラップ180に書く。ABFラップに書かれたデータセットをバッファ120を介して、通常ラップ165に書き戻す即ちリライト(ReRrite)する。各データセット(DS、DS+1、DS+2、・・・)は、先行する斜線のデータに対して新たに斜線のデータを逐次付加するように各データセットを同期要求の間隔において書き込む。これらデータセットの書き込みは、バックヒッチを行わないバッファフラッシュ(Backhitchless Flush)である。この書き込みをBFWrite(BFはBackhitchless Flushの略である)と呼ぶ。各データセットの矢印は、書き込み読取り制御がバッファをアクセスするポインタを示す。データセットDS+3、DS+7、DS+11、DS+15、DS+19は、データで充填(準備)されたデータセットP1、P2、P3、P4、P5である。これら準備されたデータセットP1、P2、P3、P4、P5は、一定のタイミングで通常ラップ165(トラック1,2,3,・・・,13)に書き込む動作を反復的に(Recursive)する。この書き込み動作をReWrite(Recursive Write)と呼ぶ。ReWrite動作により、完全にデータで充填(準備)されたデータセットP1〜P5が通常ラップ165に、記憶容量を無駄にせずに書かれる。このRABF方式を採用するテープドライブは、連続して発行させる同期要求に対してバックヒッチの必要がないため書き込みパフォーマンス向上も実現できる。複数のデータの書き込みと同期要求を受け取った1つのテープドライブは、RABF機能を、BFWrite機能とReWrite機能に分けて行っている。
2つの動作のうち仮にReWriteの書き込み動作を省略した場合に、全体の書き込みパフォーマンスへの寄与を調べる。現行のテープドライブでRABFによる書き込みを行い、処理時間を計測した。実験ではRABFが有効な書き込み方の一例として、データ量680MBを1MB書き込むごとに同期要求をするという処理を繰り返した。一時記憶領域(ABFラップ)として隣接する2つのラップABF1、ABF2を与える。この2つのラップは互いに逆方向で書き込み/読取りが行われる。これらABF領域にBFWriteを行った。次に通常ラップにReWriteを行っている。
図4は、RABF書き込みの際のBFWriteとReWriteの典型的なタイムチャートを示す。下は各イベントとそのラップタイムを示したものである。ホストは1MBのデータのドライブへの転送及び毎に同期要求をしている。順次送られて来るデータ(1MB)はABF1及び2のラップにBFWriteでバックヒッチをせずに書き込まれる。そして、データセット分のデータが準備できた段階でかかるデータセットを通常ラップへのReWriteが頻発する実験である。図4及び以下イベント時間を参照すると、ReWriteは全体の書き込み期間において2割強を占めていることがわかる。
イベント ラップタイム
ABF1 BFWrite開始 0
ABF2 BFWrite開始 26.19sec
ReWrite開始 50.65sec
ReWrite終了 63.89sec
1台のテープドライブにおいてRABF機能を用いて680MBを書き込むのに約63.89秒かかっている。本発明で2台のテープドライブを用いる書き込み手法では、ReWriteの時間を削減できるので、同じ量を書き込むのに50.65秒で済む。(50.65/63.89)×100=79.27%となるので、処理時間を2割強削減できることになる。これは典型的なケースの一例であり、シーケンスによっては処理時間をより削減できる場合もある。このReWrite動作を2つのテープドライブを用いることにより無視できれば、1台のドライブで行うRABF機能よりも書き込みのパフォーマンスが向上する。
1つのドライブは、ホスト−ドライブ間でのデータの送受信を行う。同時に、2つのドライブは、例えば、イーサ・ネットを始めとする通信機能によりドライブ同士でのデータの送受信が可能である。
BFドライブが、ホストへの書き込み完了報告を行う。それと同時にドライブ間通信を利用してデータをもう1台のRドライブに送信する。もう1台のRドライブは、ホストの同期要求に左右されず、データがバッファ120に十分たまった時点で書き込みを行う。
バックヒッチなしでBFWriteにより書き込むテープは、記録密度が低い状態で書き込まれるため、ReWriteで書き込むテープに比べてテープの消費速度が速い。しかし、BFWriteされたテープのABF領域は、ReWriteが完了するまでの一時的なキャッシュの役割である。ReWriteが成功裏に完了したABF領域のデータは上書されても良い。BFドライブに用いるテープを、エンドレスのテープとしてReWriteが書き込み完了したデータを上書きしながら用いれば、BFドライブ用のテープを使い切ってしまうことはない。
また、書き込み完了報告済みのデータを1台のRドライブに書き込む際にエラーが発生しても、該当データはBFドライブで書き込んだテープから読み出しが可能である。BFドライブにおいて書き込みを完了したデータは、他方のRドライブのテープにより回復できるため、読み出せなくなる事態は発生しない。通常は、読み出し時にはReWriteしたテープを用いる。ReWrite用テープは、密度の高い状態で書き込まれているテープなので、読み出しのパフォーマンスも良い。
ホストとBFドライブ、Rドライブの位置関係にはホストにRドライブを繋げる方法とホストにBFドライブを繋げる方法の2種類が考えられる。それぞれの構成での処理の手順を以下に示す。どちらの構成で書き込みを行っても、読み出し処理の手順・エラー発生時の処理の手順は同じである。
第1の実施例は、ホストに直接Rドライブを繋げる方法である。
<テープのマウント処理>
ホストは書き込みを行いたいテープのマウント要求をRドライブに対して行う。RドライブはRテープをマウント(搭載)し、その完了報告をホストに行う。その影で、BFドライブはBFテープをマウントする。
<書き込み処理>
図5は、第1の実施例の書き込み処理を示す。ホストは、複数の可変長のデータをテープ記録システムに送る。ホストは、特定のデータの直後で同期要求をデータ記録システムに送る。この同期要求により、ホストはその特定のデータまでの複数のデータが確実にテープに記録できる。Rドライブのためのテープを「Rテープ」と呼ぶ。BFドライブのためのテープを「BFテープ」と呼ぶ。
<1>ホストがRドライブにデータ書き込み(Write)とその同期(Flush)要求を繰り返する。
<2>Rドライブはデータをドライブ内のバッファに順次蓄積する。
<3>Rドライブは、各データ毎にステップ<2>の処理と同時にそのデータをドライブ間通信を利用してBFドライブに送信し同期要求をする。
<4>BFドライブはRドライブから送信されたデータをバッファの1つのセグメントがデータにより完全に充填されていない状態であっても、すぐにBFテープに書き込む。BFテープのトラックに書き込まれた各データのイメージは、図3に示されたRABF技術のABFラップに順次書かれたデータセット(DS、DS+1、DS+2、・・・)と同じでもよい。各データセットは、バックヒッチ無し(Backhitchless)でBFテープのトラックに書き込まれる。
<5>BFドライブはドライブ間通信を利用してRドライブに書き込み完了報告を行う。
<6>RドライブはBFドライブから受けた書き込み完了報告をホストに送る。
<7>Rドライブは、複数のデータによりバッファの1つのセグメントに完全に充填されたらRテープにそのセグメントの複数のデータを書き込む。
<8>Rドライブは、BFドライブに書き込み完了報告を行う。
以上の継続的な書き込み処理において、BFドライブは、既にRドライブのRテープ上に書き込みされた(記録済み)のデータに関して、そのデータのBFテープ上の記録箇所を上書き可能な空き領域として扱う。
第2の実施例は、ホストに直接BFドライブを繋げる方法である。
<テープのマウント処理>
ホストは書き込みを行いたいテープのマウント要求をBFドライブに対して行う。BFドライブはドライブ間通信を用いてRドライブにRテープをマウントするように要求する。BFドライブ自身はBFテープをマウントする。Rドライブは要求されたRテープをマウントし、ドライブ間通信でBFドライブに完了報告を行う。BFドライブはRドライブからのマウント完了報告をホストに送る。これにより、ホストからはBFドライブがRテープをマウントしているように見え、ホストはRテープに書き込みを行っていると認識する。
<書き込み処理>
図6は、第2の実施例の接続の書き込み処理を示す。ホストは、複数の可変長のデータをテープ記録システムに送る。ホストは、特定のデータの直後で同期要求をデータ記録システムに送る。この同期要求により、ホストはその特定のデータまでの複数のデータが確実にテープに記録できる。
<書き込み処理>
<1>ホストがBFドライブにデータ書き込み(Write)とその同期(Flush)要求を繰り返す。
<2>BFドライブはデータをバッファのセグメントが一杯にならなくとも、すぐにマウントしているBFテープに書き込む。BFテープのトラックに書き込まれた各データのイメージは、図3に示されたRABF技術のABFラップに順次書かれたデータセット(DS、DS+1、DS+2、・・・)と同じでもよい。各データセットは、バックヒッチ無しでBFテープのトラックに書き込まれる。
<3>BFドライブはホストに書き込み完了報告を行う。
<4>BFドライブはステップ<3>の処理と同時に、各データをドライブ間通信を利用してRドライブに送信し書き込みを要求する。
<5>RドライブはBFドライブから送信された各データをバッファに順次蓄積する。
<6>Rドライブは、バッファの1つのセグメントがデータで一杯になって、データセットが準備できたらRテープに書き込む。
<7>Rドライブは、BFドライブに書き込み完了報告を行う。
以上の継続的な書き込み処理において、BFドライブは、既にRドライブのRテープ上に書き込みされた(記録済み)データに関して、そのデータのBFテープ上の記録箇所を上書き可能な空き領域として扱う。
読み出し方法は、第1の実施例及び第2の実施例で共通である。
上記のどちらの構成で書き込みを行っても、ホストはRテープへデータを書き込んだと認識している。そのため、読み出し時にはRテープからの読み出しが要求される。
書き込みエラー時の処理は、第1の実施例及び第2の実施例で共通である。書き込み時にBFドライブとRドライブのどちらかでエラーが発生する場合がある。第1及び第2の実施例のテープ記憶システムにおいては、もう一方のドライブでの該当データの書き込みが成功していれば、ホストにエラーを報告する必要はない。
BFドライブでの書き込みエラーの処理について説明する。
BFドライブは、エラーになったデータをテープの別の場所に書き直す。書き込みエラーは、テープ上の書き込み位置を変えることで回避できる可能性が高い。書き直しを開始する場所はテープの先頭などが考えられる。但し、BFドライブは、BFテープにおいてRドライブで書き込みが完了していないデータの領域への上書きは避ける必要がある。Rドライブでのデータの書き込みを失敗した場合、そのデータをBFテープで修復できないからである。BFテープでの書き込み時のエラー処理は、Rドライブでのデータ消失に注意して行う必要がある。データの消失可能性期間は、Rドライブのバッファにデータが存在するがテープに書き込み完了していない期間である。
BFドライブが書き直し位置への移動をしている間もRドライブは書き込みを続けることが可能である。BFドライブでの書き直しを行って書き込みが成功しなかった場合でも、該当データがRドライブで書き込みできれば、エラー報告の必要はない。読み出し時にはRテープが用いられるので、BFテープでのエラーは意識しなくても良い。
Rドライブでの書き込みエラーの処理について説明する。
Rドライブで書き込みエラーになった場合、Rドライブはエラーになった場所をカートリッジに搭載された不揮発性メモリ(CM)25に記録する。BFドライブはデータの上書きを防ぐために、Rドライブで書き込めなかったデータの範囲を上書き禁止のテープの記憶領域としてCMに保存している。
エラー発生後にホストが書き込みを要求しても、エラーの起きたRテープには追記できない。そのため、RドライブはホストにRテープの交換を要求し、別のテープを用いて続きの書き込みを行う。BFドライブは、CMに保存された上書きを禁止したテープの記録領域以外の記憶領域に書き込みを行う。
読み出しエラー時の処理は、第1の実施例及び第2の実施例で共通である。
Rテープでの読み出しでエラーになった場合、現行のRABF機能での読み出しと同様の手法が適用できる。その手法は、Rテープで最後に読み出せたデータセットの情報(DSIT:DataSet Information Table)とCMの情報からBFテープ上のデータの位置を知ることができるので、BFテープからデータを読み出す。
第1及び第2の実施例の説明では簡単のため、ホスト1台とドライブ2台の構成について述べたが、このホスト及びドライブの数に限定されるものではない。次のように複数のホストと複数のドライブを与えてもよい。
第3の実施例は、2つのホストとそれぞれにRドライブを1対1に対応させ、1のBFドライブを共有した構成である。図7は、ホストが2台、ドライブが3台存在する第3の実施例を示す。この場合、1台のBFドライブは2台のRドライブのためのキャッシュの役割を果たすことになる。この実施例における書き込み処理のフロー、読み出し方法、及び、書き込みエラー時の処理は、第1の実施例のものと同じである。ただし、1つのBFドライブが2つのRドライブにより共用される。BFドライブはBFテープに書き込まれるデータがRドライブ1又は2のどちらのためのデータを記録しているかを区別してBFWriteを実行する必要がある。
例えば、BFテープの一時記録されたデータが、Rドライブ1又は2のどちらかのものかを次のように識別できる。BFテープに記録されるデータセットに含まれる複数のデータの内最後のデータがどのRドライブのものであるか区別する。そのために、そのデータセットの情報(DSIT)に、最後のデータが対象とするRドライブ1または2のどちらかを記憶する。より詳細には、第1の実施例の書き込み処理<4>において、RABF技術(図3)に基づくBFテープのトラック上の各データセット(DS、DS+1、DS+2、・・・)に含まれる最後のデータについて、各データセットのDSITによりRドライブ1または2のものであるか区別される。
第4の実施例として、複数のテープドライブを状況に応じてBFドライブ、Rドライブ、通常ドライブに働きを変えることが可能なテープ記録システムである。例えば、複数台のドライブで構成されているテープ記録ライブラリでは、他の使われていないドライブをBFドライブとして有効活用することができる。
複数のテープドライブを含むテープライブラリ(ライブラリ、テープ記憶システム)においては、ハードウエア上の観点からは、BFドライブ、Rドライブ、及び通常ドライブは差異がない。テープ記録システムに含まれる複数の各種テープドライブを状況に応じて働きを変えることができれば、テープライブラリのシステム運用性は向上する。
図8は、BFドライブ、Rドライブ、または、単独で機能する通常ドライブとして、テープドライブは状況に応じて働きを変える手順の一例を示す。
<1>ライブラリ内のあるテープドライブ(ドライブA)がホストから書き込み(Write)及び同期(Flush)の要求を受ける
<2>ドライブAは通常ドライブとして動き、RABF機能でテープにデータを書き込む。
<3>ステップ<2>と並行して、ドライブAはライブラリ内のドライブの中から、ホストに使用されていないテープドライブ(空きドライブ)を検索する。
<4>空きドライブが見つからなければ、そのままRABF機能による書き込みサイクルを続行する。
<5>ドライブAは空きドライブ(ドライブB)が見つかったら、そのドライブBを予約状態にする。
<6>ドライブBはBFWriteの準備をする。BFテープのカートリッがマウントされる。ドライブBはホストから使用要求を受けたら、予約済みである旨(Reservation Conflict)を返す。
<7>ドライブAは、<2>で開始されたRABF機能による書き込みが区切れたところでRABFサイクルの続行を終了する。
<8>上述の実施例(例えば第1の実施例)による書き込み処理を開始する。ドライブAはRドライブとして機能し、ドライブBをBFドライブとして利用する。以降は、このテープライブラリは、第1の実施例(ホストに直接Rドライブを繋げる方法)と同様に書き込み処理を実行する。以上の手順を用いれば、既存のテープライブラリの中で、新たにドライブを追加することなく本発明の書き込み手法を適用することができる。
これまでテープドライブについて実施例を説明してきたが、本発明の内容は、これらに限定されず、ホスト(上位装置)はサーバなどのホストコンピュータに限定されず、データ記録装置を上位装置として、下位が本発明のテープ記録システムの実施態様も本発明に含まれる。以上に示された、少なくとも2以上のテープドライブを含むテープ記録システムによれば、頻出する同期要求においてもデータの書き込みパフォーマンスを低下させずに、テープ記録密度を維持できる有利な効果を有する。
10…データ、20…セグメント、25…不揮発性メモリ(CM)、30…テープ、40…データセット100…テープドライブ、105…ホスト、110…インターフェース、120…バッファ、130…記録チャネル、14a…テープ、14b,50…ヘッド、14c,14d…リール、130及び14b…書き込み手段/読取り手段、14e…カートリッジ、150…モータ、160…コントローラ/書き込み読取り制御手段、170…ヘッド位置制御システム、185…モータドライブ、145…トラックのバンド(トラック0〜15)、165…通常ラップ、180…ABFラップ、190…通常ラップのデータセット、370,371…ABFのデータセット

Claims (10)

  1. それぞれテープを搭載し固定長のセグメントで分割されたバッファを有する2以上のテープ記録装置を含み、前記テープ記録装置に複数のデータと所定のタイミングで同期要求とを送るホストに接続されたテープ記録システムであって、
    前記ホストに接続され、前記ホストから送られた前記複数のデータを受取り、前記セグメントに前記データが一杯に蓄積された場合に前記蓄積されたデータをテープに書き込む第1のテープ記録装置と、
    前記第1のテープ記録装置に接続され、前記第1のテープ記録装置を介して前記ホストから送られた前記複数のデータを受取り、前記同期要求を受け取ったタイミングで前記セグメントに蓄積された所定の個数のデータをテープへ書き出す第2のテープ記録装置とを備え、
    前記第1のテープ記録装置は、前記セグメントに蓄積されたデータをテープに書き込を完了した場合にその書込み完了を前記第2のテープ記録装置に通知して、前記データに対応する前記第2のテープ記録装置のテープの記録箇所を上書き可能な空き領域とすることを特徴とする、テープ記録システム
  2. 前記第1のテープ記録装置は、前記データに対応する同期要求を無視して前記バッファの少なくとも1つのセグメントが完全に蓄積されるまで、前記バッファ中のデータを書き込まないことを特徴とし、
    前記第2のテープ記録装置は、前記同期要求のタイミングで前記セグメントに蓄積された所定の個数のデータをテープに書き出す場合に前記データにより前記セグメントの完全には蓄積されていないために前記セグメントの未充填領域をデータパディングして、前記セグメントの前記データを書き出すことを特徴とする、請求項1に記載のテープ記録システム
  3. 前記第1のテープ記録装置により書き込まれたテープは、前記セグメントに蓄積されたデータをデータセットとして書き込まれる通常の書き込みテープとして扱われ、
    前記第2のテープ記録装置により書き込まれたテープは、前記セグメントに蓄積されたデータをデータセットとして書き込まれ、前記テープ上のデータセット間隔は同期要求の時間間隔を反映する請求項2に記載のテープ記録システム
  4. 前記第2のテープ記録装置は、前記第1のテープ記録装置のためのテープに書き込み済みのデータに関して、前記書き込み済みのデータを記録している前記第2のテープ記録装置のためのテープの領域を上書可能に継続的に使用できる、請求項3に記載のテープ記録システム
  5. 前記第1のテープ記録装置においてデータの書き込みエラーが生じた場合において、前記第2のテープ記録装置において前記データの書き込み済みの場合、前記データの書き込みエラーを前記ホストに報告しない、請求項4に記載のテープ記録システム。
  6. 前記第2のテープ記録装置においてデータの書き込みエラーが生じた場合において、前記第1のテープ記録装置において前記データの書き込み済みの場合、前記データの書き込みエラーを前記ホストに報告しない、請求項4に記載のテープ記録システム。
  7. 前記第2のテープ記録装置においてデータの書き込みエラーが生じた場合において、前記第1のテープ記録装置においてテープ書き込み済みのデータを記録する前記第2のテープ記録装置のためのテープ記録領域を含む未使用テープ領域に前記エラーのデータを再度書き込みする、請求項6に記載のテープ記録システム。
  8. 前記第1のテープ記録装置においてデータの書き込みエラーが生じた場合において、前記第2のテープ記録装置のBFテープから前記データを読み出し、ドライブ通信接続を介して前記第1のテープ記録装置のためのテープのエラー箇所のデータを回復することを特徴とする、請求項5に記載のテープ記録システム。
  9. 前記ホストと直接接続される前記第1のテープ記録装置とはファイバーチャネルまたはSCSIで通信し、前記テープ記録装置の2つの間の通信はイーサネットであることを特徴とする請求項1または8に記載のテープ記録システム
  10. それぞれテープを搭載し固定長のセグメントで分割されたバッファを有する2以上のテープ記録装置を含み、前記テープ記録装置に複数のデータと所定のタイミングで同期要求とを送るホストに接続されたテープ記録システムであって、
    前記ホストに接続され、前記ホストから送られた前記複数のデータを受取り、前記同期要求を受け取ったタイミングで前記セグメントに蓄積された所定の個数のデータをテープに書き出す第1のテープ記録装置と、
    前記第1のテープ記録装置に接続され、前記第1のテープ記録装置を介して前記ホストから送られた前記複数のデータを受け取り、前記セグメントが前記データにより一杯に蓄積された場合に、前記蓄積されたデータをテープに書き込む第2のテープ記録装置とを備え、
    前記第2のテープ記録装置は、前記セグメントに蓄積されたデータをテープに書き込を完了した場合にその書込み完了を第1のテープ記録装置に通知して、前記データに対応する前記第1のテープ記録装置のテープの記録箇所を上書き可能な空き領域とすることを特徴とする、テープ記録システム
JP2011520857A 2009-06-29 2010-06-15 複数のテープ記録装置を含むテープ記憶システム Active JP5437371B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011520857A JP5437371B2 (ja) 2009-06-29 2010-06-15 複数のテープ記録装置を含むテープ記憶システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009153868 2009-06-29
JP2009153868 2009-06-29
JP2011520857A JP5437371B2 (ja) 2009-06-29 2010-06-15 複数のテープ記録装置を含むテープ記憶システム
PCT/JP2010/060111 WO2011001820A1 (ja) 2009-06-29 2010-06-15 複数のテープ記録装置を含むテープ記憶システム

Publications (2)

Publication Number Publication Date
JPWO2011001820A1 JPWO2011001820A1 (ja) 2012-12-13
JP5437371B2 true JP5437371B2 (ja) 2014-03-12

Family

ID=43410898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011520857A Active JP5437371B2 (ja) 2009-06-29 2010-06-15 複数のテープ記録装置を含むテープ記憶システム

Country Status (5)

Country Link
US (1) US11087797B2 (ja)
EP (1) EP2450897B1 (ja)
JP (1) JP5437371B2 (ja)
CN (1) CN102414753B (ja)
WO (1) WO2011001820A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2450897B1 (en) 2009-06-29 2017-06-14 International Business Machines Corporation Tape storage system including a plurality of tape recording devices
US9202516B1 (en) 2014-06-30 2015-12-01 Dell Products, Lp Diagnostic method and apparatus for a tape storage system
US11120831B1 (en) 2020-08-25 2021-09-14 International Business Machines Corporation Compensation for expansion and contraction across the width of a magnetic tape

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133737A1 (en) * 2003-01-06 2004-07-08 International Business Machines Corporation Deferred writing of data to be synchronized on magnetic tape employing a non-volatile store
US6856479B2 (en) * 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
JP2005063444A (ja) * 2003-08-18 2005-03-10 Internatl Business Mach Corp <Ibm> 磁気テープへのデータ保存方法
JP2007073108A (ja) * 2005-09-06 2007-03-22 Internatl Business Mach Corp <Ibm> テープ媒体にデータを書き込むための装置
JP2007095231A (ja) * 2005-09-30 2007-04-12 Internatl Business Mach Corp <Ibm> テープ記録装置のデータ書込み読取り制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138201A (en) 1998-04-15 2000-10-24 Sony Corporation Redundant array of inexpensive tape drives using data compression and data allocation ratios
JP3937878B2 (ja) 2002-03-06 2007-06-27 日本電気株式会社 磁気テープ装置及びその制御方法並びに磁気テープ装置制御用プログラム
US7237056B2 (en) * 2003-11-17 2007-06-26 Hewlett-Packard Development Company, L.P. Tape mirror interface
US20080066192A1 (en) * 2006-09-07 2008-03-13 International Business Machines Corporation Keyless copy of encrypted data
EP2450897B1 (en) 2009-06-29 2017-06-14 International Business Machines Corporation Tape storage system including a plurality of tape recording devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856479B2 (en) * 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
JP2005516340A (ja) * 2002-01-29 2005-06-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 磁気テープへの同期データの書き込み
US20040133737A1 (en) * 2003-01-06 2004-07-08 International Business Machines Corporation Deferred writing of data to be synchronized on magnetic tape employing a non-volatile store
JP2005063444A (ja) * 2003-08-18 2005-03-10 Internatl Business Mach Corp <Ibm> 磁気テープへのデータ保存方法
JP2007073108A (ja) * 2005-09-06 2007-03-22 Internatl Business Mach Corp <Ibm> テープ媒体にデータを書き込むための装置
JP2007095231A (ja) * 2005-09-30 2007-04-12 Internatl Business Mach Corp <Ibm> テープ記録装置のデータ書込み読取り制御方法

Also Published As

Publication number Publication date
CN102414753B (zh) 2015-04-15
EP2450897B1 (en) 2017-06-14
JPWO2011001820A1 (ja) 2012-12-13
CN102414753A (zh) 2012-04-11
US20120079185A1 (en) 2012-03-29
EP2450897A1 (en) 2012-05-09
US11087797B2 (en) 2021-08-10
WO2011001820A1 (ja) 2011-01-06
EP2450897A4 (en) 2016-03-30

Similar Documents

Publication Publication Date Title
JP3870215B1 (ja) テープ記録装置のデータ書込み読取り制御方法
US9025271B2 (en) Method for reading file using plurality of tape media
US9330713B2 (en) Linear recording executing optimum writing upon receipt of series of commands including mixed read and write commands
JP4131517B2 (ja) テープ媒体にデータを書き込むための装置
US8966169B2 (en) Linear recording device for executing optimum writing upon receipt of series of commands including mixed read and write commands and a method for executing the same
JP5325128B2 (ja) データの書込みを制御する装置及び方法
US9471255B2 (en) Tape storage device and writing method therefor
JP2015069290A (ja) テープドライブ用ファイルシステムよる更新されたファイルの読み出し速度を改善する方法
JP2016095766A (ja) 複数のテープカートリッジにファイルをスパニングして書込む方法
US8964327B2 (en) Tape storage device, data writing method, and program
JP5437371B2 (ja) 複数のテープ記録装置を含むテープ記憶システム
JP5567260B2 (ja) テープ媒体にデータを書き込む装置及び方法
JP2008146760A (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
US8489785B2 (en) Apparatus and method for writing data onto tape medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131211

R150 Certificate of patent or registration of utility model

Ref document number: 5437371

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150