JP4131517B2 - テープ媒体にデータを書き込むための装置 - Google Patents
テープ媒体にデータを書き込むための装置 Download PDFInfo
- Publication number
- JP4131517B2 JP4131517B2 JP2005257388A JP2005257388A JP4131517B2 JP 4131517 B2 JP4131517 B2 JP 4131517B2 JP 2005257388 A JP2005257388 A JP 2005257388A JP 2005257388 A JP2005257388 A JP 2005257388A JP 4131517 B2 JP4131517 B2 JP 4131517B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- written
- segment
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1201—Formatting, e.g. arrangement of data block or words on the record carriers on tapes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/032—Electronic editing of digitised analogue information signals, e.g. audio or video signals on tapes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ところで、テープ媒体を停止させずに同期を行った場合、先行する同期にて書き込まれたデータと、次の同期にて書き込まれたデータとの間に、長いギャップが生じる。その結果、テープ媒体の記録領域が無駄になってしまう。そのため、先行する同期にて書き込まれたデータの後にそれほど長いギャップを伴わずに次の同期にてデータが書き込まれるよう、バックヒッチを行う必要がある。バックヒッチとは、テープ媒体の走行速度を減速して一旦停止し、書き込むべき位置まで戻る、という動作のことである。従って、このバックヒッチのために、同期に多くの時間が費やされるという状況が生じていた。
この特許文献1、2からも分かるように、RABFは次のような手法と捉えることができる。
即ち、まず、テープドライブが、同期要求を受けた際に、テープにまだ書かれていないバッファ内のデータを、テープ媒体の走行を継続させたまま、テープ媒体上に予約されている一時記録領域(ABFラップ)に書き出す。尚、この書出しは、先行する同期にて書き込まれたデータと次の同期にて書き込まれたデータとの間のギャップが問題とならないため、バックヒッチを行わないバッファフラッシュ(Backhitchless Flush)である。一方で、テープドライブは、データをバッファに蓄積し(Accumulate)、バッファ又は一時記録領域に空きがなくなった際に通常の記録領域(通常ラップ)に書き戻す(リライトする)動作を反復的に(Recursive)行う。
このように、RABFでは、同期を行う際に、次の同期に備えてバックヒッチを行うことが必要とならないため、同期に要する時間の短縮が図れる。特に、データ量に対する同期要求の頻度が高い場合において、大幅なパフォーマンス向上を実現するものである。
大別すると、以下の2種類の場合である。
1つは、リニア記録方式に特有の場合であるが、ラップチェンジ、ラップターンと呼ばれる、記録位置(テープ幅方向)の変更や、これに伴う記録方向の変更が行われている場合である。尚、ラップとは、複数(例えば、8つ)のトラックの一まとまりで、ヘッドが同時に読み書きする単位である。
そしてもう1つは、書き戻し(リライト)が行われている場合である。リライト中には同期要求を受け付けられないため、パフォーマンスを伸ばせない原因になる。
ここで、前者の場合においては、ヘッドの移動を伴うため、所定のトラック位置にヘッドがなく、ライトや同期を行うことはできない。一方、後者の場合においては、書き戻し(リライト)の際に同期を受け付けることを可能にすることにより、パフォーマンスを更に向上させる余地はある。
本発明の他の目的は、RABFにおけるリライト時に同期を行えるようにすることにある。
また、この装置において、コントローラが、書込みの間に受け取ったデータを、その書込みのためにアクセスされない領域にコピーするように構成することもできる。
更に、コントローラが、第2の書込みの後に第2のデータを受け取った場合と同様の手順で、第2のデータを通常の記録領域に書き込むように構成することもできる。
また、コントローラが、第2のデータの読出し要求に応じて、第2の書込みの対象の一部として通常の記録領域に書き込まれた第2のデータを読み出すように構成することもできる。
図1は、本実施の形態が適用されるテープドライブ10の構成を示した図である。このテープドライブ10は、インタフェース11と、バッファ12と、記録チャネル13とを含む。また、テープ14aと、ヘッド14bと、リール14c及び14dと、カートリッジ14eと、モータ15とを含む。更に、コントローラ16と、ヘッド位置制御システム17と、モータドライバ18とを含む。
記録チャネル13は、バッファ12に蓄積されたデータをテープ14aに書き出すために用いられる通信経路である。
また、モータ15は、リール14c及び14dを回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール14c及び14dの各々に1つずつ、合計2個設けるのが好ましい。
ヘッド位置制御システム17は、所望の1つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ14a上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド14bを電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。また、ここでは、作図の都合上、モータドライバ18は、ヘッド位置制御システム17を介してコントローラ16に接続されているが、直接コントローラ16に接続されていてもよい。
まず、本実施の形態の概要について説明しておく。
従来のRABFでは、リライト時にバッファ12にデータを受け付ける空きがなかった。また、リライトが行われているため、Writeコマンドで送られたデータをバッファ12に蓄積し、同期要求に応じてテープ14a上に書き出すことができなかった。
そこで、本実施の形態では、この従来のRABFに対し、次のような変更を行った。
従来のRABFでは、各セグメントに空きがなくなるまでデータを書き込んでいた。これに対し、本実施の形態では、例えば、セグメントに空きがあるうちに次のセグメントを使い始める。IBMの3592−J1Aでは、1つのセグメントは約400KBであるが、このうち、例えば7/8、つまり約350KBに達した時点で、次のセグメントに切り換える。こうすることで、各セグメントに約50KBの領域がリザーブされ、これをリライト時に受け付けたデータの格納領域として使用することができる。また、350KBの領域の最後には、「EndMarker」を記録する。これにより、ABFラップからのリカバリのための読出し時、又は、リライトされたデータの通常の読出し時に、このリザーブされた領域を自動的に読み飛ばすことができる。
或いは、一部のセグメントをリザーブしておき、リライト中に受けたデータをそのリザーブされたセグメントに格納する構成としてもよい。
従来のRABFでは、リライトが完了するまで、直前の同期要求に対するステータスをホスト20に返さない構成となっていた。これに対し、本実施の形態では、テープドライブ10にてリライトが行われていてもホスト20が同期を要求できるようにするために、リライトに移行する直前のデータセットをABFラップに書き終わった時点でステータスをホスト20に返すようにした。
リライト中に同期要求が来た場合は、リザーブされた領域にその同期に必要なデータを書き込み、これとリライトを行っているデータとを合わせてテープ14aに書き込むようにした。その際、1つのセグメントにリザーブされている領域ではサイズが不十分の場合がある。そのような場合に、自動的に次のセグメントのリザーブされた領域にデータを流し入れることができるようにした。
従来のRABFには存在しない処理を、本実施の形態では行うようにした。即ち、リザーブされた領域を使って同期が行われたデータを、次にRABFが行われるセグメントにコピーする処理である。例えば、約400KBのセグメントのうち約50KBをリザーブした場合であれば、次のセグメントの350KBの側にコピーを行う。即ち、リライトを行っているデータと合わせてテープ14aに書き込まれたデータも、バッファ12に蓄積された形にしておき、それに続けて次の蓄積処理を行うようにしている。
(第1の実施の形態)
図2〜4は、ホスト20から送られたデータが一時記録領域に書き込まれ、その後、所定のタイミングで通常の記録領域にリライトされる様子を示した図である。
各図では、中央左寄りに縦長の矩形でバッファ12が示されている。バッファ12を構成するセグメントの数は、特に限定されるものではないが、ここでは8個とし、上から順に「S1」、「S2」、「S3」、「S4」、「S5」、「S6」、「S7」、「S8」とする。
また、各図において、上側の帯は、通常の記録領域(データが本来記録されるべき領域)を示している。データの記録領域を、テープ14a上の複数のトラックからなるラップと捉えると、この通常の記録領域は、通常ラップである。
一方、各図において、下側の帯は、テープ14aを走行させたままデータを記録するのに用いられる一時記録領域を示している。データの記録領域を、テープ14a上の複数のトラックからなるラップと捉えると、この一時記録領域は、ABFラップである。
尚、ここでは、1つのWriteコマンドにより、1つのデータ要素(斜線を施した最小の単位)がバッファ12に書き込まれるものとする。また、図示するように、ホスト20は、3つのWriteコマンドを送った後、1つのWriteFMコマンドを送るものとする。そして、このWriteFMコマンドによりABFラップにデータを書き込む際には、前回のABFラップへの書込み以降にデータが蓄積されたセグメント内の全てのデータがABFラップに書き込まれるものとする。
また、7番目から9番目までのWriteコマンドにより、7番目から9番目までのデータD3がバッファ12に書き込まれ、WriteFMコマンドにより、セグメントS2内のデータセットがABFラップに書き込まれる。
更に、10番目から12番目までのWriteコマンドにより、10番目から12番目までのデータD4がバッファ12に書き込まれ、WriteFMコマンドにより、セグメントS2及びS3内のデータセットがABFラップに書き込まれる。
尚、本実施の形態では、各セグメントの一定割合の領域を、リライト中にホスト20から受けたデータを格納するためのリザーブ領域としている。図2〜4では、バッファ12の右側の隙間により、このリザーブ領域を表している。
図3は、セグメントS1内のデータセットが通常ラップにリライトされている際に、ホスト20からWriteコマンド及びWriteFMコマンドが送られたときの状態を示している。
この場合、ホスト20から送られたデータは、リライトのためにアクセスされていないセグメントS2のリザーブ領域に格納されている(灰色部分)。
まず、セグメントS2内のデータセットは、図示するように、通常ラップのセグメントS1の隣に書き込まれている。その際、リライト中に書き込まれたデータ(セグメントS2の灰色部分)も、通常ラップに書き込まれる(通常ラップの灰色部分)。
また、セグメントS3内のデータセットも、通常ラップのその隣に書き込まれている。
そして、本実施の形態では、リライト中に書き込まれたデータ(セグメントS2の灰色部分)を、次にABFラップに書き込まれるセグメントにコピーしている(セグメントS4の灰色部分)。このように、リライト中にリザーブ領域に書かれたデータを、これからRABFが行われるセグメントにコピーすることにより、そのデータは、通常のRABFの手順に従い、通常ラップに再度書き込まれることになる。
即ち、テープ14aに記録されるデータとしては、ユーザデータにその誤り訂正のためのC1パリティとC2パリティが付加された積符号データブロックが採用される。ここで、C1パリティとは、ユーザデータの行方向の誤りを訂正するために用いられるパリティ符号であり、例えば、図示するように、偶数番目のバイトからなるデータに対するパリティ符号と、奇数番目のバイトからなるデータに対するパリティ符号とを含むものであってもよい。また、C2パリティとは、ユーザデータの列方向の誤りを訂正するために用いられるパリティ符号である。
図6は、そのときのコントローラ16の動作を示したフローチャートである。
まず、コントローラ16は、インタフェース11からWriteコマンドを受け取る(ステップ101)。そして、バッファ12から記録チャネル13へリライトのためのデータ転送が行われているかどうかを判定する(ステップ102)。尚、ここでの判定は、例えば、コントローラ16が参照可能なメモリにリライト中かどうかのフラグを保持しておくことで実現できる。
図7は、そのときのコントローラ16の動作を示したフローチャートである。
まず、コントローラ16は、インタフェース11からWriteFMコマンドを受け取る(ステップ111)。そして、バッファ12から記録チャネル13へリライトのためのデータ転送が行われているかどうかを判定する(ステップ112)。尚、ここでの判定は、例えば、コントローラ16が参照可能なメモリにリライト中かどうかのフラグを保持しておくことで実現できる。
図8は、そのときのコントローラ16の動作を示したフローチャートである。
まず、コントローラ16は、リライトをすべき旨の指示を受ける(ステップ121)。このリライトすべき旨の指示は、例えば、バッファ12に空き容量がなくなった場合や、ABFラップを使い切った場合になされる。前者の場合は、バッファ12の空き容量を監視する手段から指示を受ける。また、後者の場合は、ABFラップの使用状況を監視する手段から指示を受ける。
また、リライト中のセグメントにはホスト20から送られたデータを書き込むことはできないので、リライト中のデータの書込み位置を指す第2のバッファポインタを、2番目のセグメント(図2〜4のセグメントS2)の「EndMarker」の直後に進める(ステップ123)。尚、図2〜4の例では、この状態でホスト20からデータが送られ、図6のステップ106で、セグメントS2のリザーブ領域に書き込まれている。
その結果、3番目のセグメント内のデータセットが存在すると判定された場合は、リライトの準備ができた1番目のセグメント内のデータセットを通常ラップに書き込み、それと並行して、2番目のセグメント内のデータセットのリライトの準備をする(ステップ125)。そして、第2のバッファポインタを、3番目のセグメントの「EndMarker」の直後に進める(ステップ126)。図2〜4の例では、セグメントS3にデータが存在するので、セグメントS1内のデータを通常ラップに書き込み、セグメントS2内のデータのリライトの準備をし、第2のバッファポインタをセグメントS3の「EndMarker」の直後に進めている。
以上により、本実施の形態におけるデータの記録の動作は終了する。
一方、リライトが成功したかどうかは、コントローラ16は認識しているものの、SCSIの仕様により、すぐにはホスト20に送信されないようになっている。例えば、リライトの失敗後にホスト20からWriteコマンドやWriteFMコマンドが来れば、その応答としてリライトの失敗を報告することはできる。しかしながら、リライトの失敗後にホスト20からWriteコマンドやWriteFMコマンドが来ないことも考えられる。このような場合、ホスト20としては、データがその本来記録されるべき通常ラップに書かれたと認識しているにもかかわらず、実際には、通常ラップにデータが正常に記録されていないという事態が生ずる。そこで、このような正常に記録されていないデータの読出し要求があった場合、テープドライブ10は、本来記録されるべき場所からデータを読み出す代わりに、他の場所に記録されたデータを読み出してホスト20に返すというリカバリ処理を行う必要がある。
ここでは、テープ14a上に、図9に示すような形式でデータが記録されているものとして説明を行う。尚、データセットZ及びEには、既存のアルゴリズムにより、次のデータセットからRABFが行われることを示すフラグがセットされているものとする。また、データセットEには、既存のアルゴリズムにより、リライト単位の最後であることを示すフラグがセットされているものとする。
まず、コントローラ16は、ホスト20からReadコマンドを受け取る(ステップ131)。これにより、コントローラ16は、記録チャネル13を介してテープ14aから通常のデータの読出しを行う(ステップ132)。尚、その際、データセットB及びDの灰色部分のデータは、あくまで同期のために書かれたデータであるので、「EndMarker」を検出することで自動的に読み飛ばされるようになっている。
その後、コントローラ16は、データの読出しに成功したかどうかを判定し(ステップ133)、成功していれば、そのまま処理を終了する。
一方、データの読出しに成功していなければ、読出しに失敗したデータセットの種類を判別する(ステップ134)。
以上により、本実施の形態の動作は終了する。
また、本実施の形態では、リライト中に受け付けたデータを、リライト対象のセグメントのリザーブ領域に格納して通常ラップに書き込んだ後、現時点ではリライト対象ではないセグメントにコピーするようにした。しかしながら、リライト中に受け付けたデータを、その時点で、リライト対象のセグメントのリザーブ領域とリライト対象ではないセグメントの両方に格納する構成を採用することも考えられる。
図11〜13は、ホスト20から送られたデータが一時記録領域に書き込まれ、その後、所定のタイミングで通常の記録領域にリライトされる様子を示した図である。
これらの図においても、中央左寄りに縦長の矩形でバッファ12が示されている。バッファ12を構成するセグメントの数は、特に限定されるものではないが、ここでも8個とし、上から順に「S1」、「S2」、「S3」、「S4」、「S5」、「S6」、「S7」、「S8」とする。
また、図2〜4と同様、上側の帯が、データが本来記録されるべき通常の記録領域(通常ラップ)を表し、下側の帯が、テープ14aを走行させたままデータを記録するのに用いられる一時記録領域(ABFラップ)を表している。
尚、ここでも、1つのWriteコマンドにより、1つのデータ要素(斜線を施した最小の単位)がバッファ12に書き込まれるものとする。また、図示するように、ホスト20は、3つのWriteコマンドを送った後、1つのWriteFMコマンドを送るものとする。そして、このWriteFMコマンドによりABFラップにデータを書き込む際には、前回のABFラップへの書込み以降にデータが蓄積されたセグメント内の全てのデータがABFラップに書き込まれるものとする。
また、7番目から9番目までのWriteコマンドにより、7番目から9番目までのデータD3がバッファ12に書き込まれ、WriteFMコマンドにより、セグメントS2内のデータセットがABFラップに書き込まれる。
更に、10番目から12番目までのWriteコマンドにより、10番目から12番目までのデータD4がバッファ12に書き込まれ、WriteFMコマンドにより、セグメントS2及びS3内のデータセットがABFラップに書き込まれる。
尚、本実施の形態では、バッファ12を構成する複数のセグメントの一部を、リライト中にホスト20から受けたデータを格納するためのリザーブセグメントとしている。具体的には、セグメントS7及びS8をリザーブセグメントとして確保している(図11〜13の網掛け部分)。
図12は、セグメントS1内のデータセットが通常ラップにリライトされている際に、ホスト20からWriteコマンド及びWriteFMコマンドが送られたときの状態を示している。
この場合、ホスト20から送られたデータは、リザーブセグメントS7に格納されている(灰色部分)。
まず、セグメントS2内のデータセットは、図示するように、通常ラップのセグメントS1の隣に書き込まれている。
次いで、リザーブセグメントであるセグメントS7内のデータセット(セグメントS7の灰色部分)が、その隣に書き込まれている(通常ラップの灰色部分)。バッファ12の上から順にリライトが行われるのであれば、このような順序の逆転は生じないが、本実施の形態では、リライトの準備が整ったものからリライトするようにしているので、リザーブセグメント内のデータセットが先にリライトされることも起こり得るようになっている。
その後、セグメントS3内のデータセットが、通常ラップのセグメントS7の隣に書き込まれている。
そして、本実施の形態では、リライト中に書き込まれたデータ(セグメントS7の灰色部分)を、次にABFラップに書き込まれるセグメントにコピーしている(セグメントS4の灰色部分)。このように、リライト中にリザーブ領域に書かれたデータを、これからRABFが行われるセグメントにコピーすることにより、そのデータは、通常のRABFの手順に従い、通常ラップに再度書き込まれることになる。
まず、ホスト20からWriteコマンドを受けたときのコントローラ16の動作について説明する。
図14は、そのときのコントローラ16の動作を示したフローチャートである。
まず、コントローラ16は、インタフェース11からWriteコマンドを受け取る(ステップ141)。そして、バッファ12から記録チャネル13へリライトのためのデータ転送が行われているかどうかを判定する(ステップ142)。尚、ここでの判定は、例えば、コントローラ16が参照可能なメモリにリライト中かどうかのフラグを保持しておくことで実現できる。
一方、リライト中と判定された場合、コントローラ16は、バッファ12内のバッファポインタが指す位置(リザーブセグメント内の位置)にデータを書き込む(ステップ145)。そして、セグメントの最後までデータが書き込まれたかどうかを判定する(ステップ146)。ここで、最後まで書き込まれていないと判定されれば、バッファポインタを、書き込んだデータの分だけ進める(ステップ144)。また、最後まで書き込まれたと判定されれば、このリザーブセグメントにリライト可能(リライトされるデータセットと合わせて書き込むことが可能)の印を付け(ステップ147)、バッファポインタを、書き込んだデータの分だけ進める(ステップ144)。
図15は、そのときのコントローラ16の動作を示したフローチャートである。
まず、コントローラ16は、リライトをすべき旨の指示を受ける(ステップ151)。このリライトすべき旨の指示は、例えば、バッファ12に空き容量がなくなった場合や、ABFラップを使い切った場合になされる。前者の場合は、バッファ12の空き容量を監視する手段から指示を受ける。また、後者の場合は、ABFラップの使用状況を監視する手段から指示を受ける。
また、コントローラ16は、1番目のセグメント(図11〜13のセグメントS1)内のデータセットのリライトの準備をする(ステップ153)。ここで、先に述べたように、ホスト20から送られたデータには、誤り訂正を行うためのパリティ符号を付加してテープ14aに記録するので、リライトの準備としては、そのようなパリティ符号の計算等がある。
その結果、2番目のセグメント内のデータセットが存在すると判定された場合は、リライトの準備ができた1番目のセグメント内のデータセットを通常ラップに書き込み、それと並行して、2番目のセグメント内のデータセットのリライトの準備をする(ステップ155)。
そして、現在バッファポインタが位置づけられているリザーブセグメントがリライト可能かどうかを、ステップ147で付けられた印に基づいて判定する(ステップ156)。ここで、リザーブセグメントがリライト可能でなければ、そのまま処理はステップ154に進む。また、リザーブセグメントがリライト可能であれば、バッファポインタを次のリザーブセグメント(図11〜13のセグメントS8)の先頭に進め(ステップ157)、処理は154に進む。図11〜13の例では、セグメントS2にデータが存在するので、セグメントS1内のデータを通常ラップに書き込み、セグメントS2内のデータのリライトの準備をしている。
以上により、本実施の形態におけるデータの記録の動作は終了する。
一方、リライトが成功したかどうかは、コントローラ16は認識しているものの、SCSIの仕様により、すぐにはホスト20に送信されないようになっている。例えば、リライトの失敗後にホスト20からWriteコマンドやWriteFMコマンドが来れば、その応答としてリライトの失敗を報告することはできる。しかしながら、リライトの失敗後にホスト20からWriteコマンドやWriteFMコマンドが来ないことも考えられる。このような場合、ホスト20としては、データがその本来記録されるべき通常ラップに書かれたと認識しているにもかかわらず、実際には、通常ラップにデータが正常に記録されていないという事態が生ずる。そこで、このような正常に記録されていないデータの読出し要求があった場合、テープドライブ10は、本来記録されるべき場所からデータを読み出す代わりに、他の場所に記録されたデータを読み出してホスト20に返すというリカバリ処理を行う必要がある。
ここでは、テープ14a上に、図16に示すような形式でデータが記録されているものとして説明を行う。尚、各データセットには、データセット番号及びライトパス番号が付加されているものとする。ここで、データセット番号とは、書かれた順(読み出す順)を示す連続値である。その際、リライト中の同期で書かれたデータセットが読み飛ばされるよう、同期で書かれたデータセットと通常のデータセットとには同じデータセット番号を振っておき、ライトパス番号で区別するようにする。また、データセットB及びDには、リライト中の同期で書かれたデータセットであることを示すフラグがセットされているものとする。
まず、コントローラ16は、ホスト20からReadコマンドを受け取る(ステップ161)。これにより、コントローラ16は、記録チャネル13を介して磁気テープから通常のデータの読出しを行う(ステップ162)。尚、その際、データセットB及びDは、あくまで同期のために書かれたデータセットであるので、通常は、データセット番号及びライトパス番号を参照することで自動的に読み飛ばされるようになっている。
その後、コントローラ16は、データの読出しに成功したかどうかを判定し(ステップ163)、成功していれば、そのまま処理は終了する。
一方、データの読出しに成功していなければ、読出しに失敗したデータセットの種類を判別する(ステップ164)。
以上により、本実施の形態の動作は終了する。
また、データの読出しの際のレートは、同期のために記録されたデータが読み出されない分、通常の方式で記録した場合よりも悪くなる。例えば、先に述べた、400KBのうちの50KBをリザーブ領域として確保する場合であれば、通常の方式で記録した場合のレートが約40MB/sとすると、本実施の形態の方式を用いた場合、約35MB/sとなってしまう。従って、本実施の形態は、書込みが読出しよりも多い場合、即ち、データの重要度が高い場合に、特に有効と言える。このようなものとして、例えば、一般的なBackup/Restoreアプリケーションが想定できる。このようなアプリケーションにおいては、通常、バックアップのみが行われ、リストアはまれにしか行われないため、読出しのパフォーマンスの低下はあまり問題とならない。
また、同期の頻度が低い場合にはRABFが起動されないので、パフォーマンスの低下やカートリッジ容量の減少は、必ず起こるというものでもない。
しかしながら、これに対しては、データセットサイズを可変長とする技術(1/Nを単位としてデータセットサイズをその1〜N倍にできる技術)を用いることで、問題を大幅に緩和できる。
第1の実施の形態では、例えば、各セグメントの1/Nをリザーブ領域とする。そして、リライト中の同期によるデータの追加が生じなかったデータセットは、(N−1)/Nのサイズとし、リライト中の同期によるデータの追加が生じたデータセットは、N/Nのサイズとする。これにより、キャパシティの減少や、読出し時のデータレートの低下を緩和することができる。
また、第2の実施の形態では、挿入されるデータセット(リザーブセグメントに格納されていたデータセット)のサイズを、同期のためのデータのサイズよりも少し大きなサイズとすればよい。これにより、上記と同様、キャパシティの減少や、読出し時のデータレートの低下を緩和することができる。
ここでは、セグメントサイズ(データセットサイズ)を400KB、バッファ内のセグメント数を1000、一度に同期するデータの量を48KB〜384KBとした。
第1の実施の形態の方式を用いた場合、リザーブ領域のサイズを50KBとすると、最大12.5%のキャパシティロスはあったものの、従来のRABFの103%〜107%のパフォーマンスが認められた。
また、第2の実施の形態の方式を用いた場合、24%〜17%のキャパシティロスはあったものの、従来のRABFの102%〜113%のパフォーマンスが認められた。
また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
Claims (14)
- テープ媒体にデータを書き込むための装置であって、
前記テープ媒体に書き込むべきデータを蓄積するバッファと、
前記バッファに蓄積された第1のデータの前記テープ媒体上の一時記録領域への第1の書込みの後に、当該第1のデータの当該テープ媒体上の通常の記録領域への第2の書込みを制御するコントローラとを含み、
前記コントローラは、前記第2の書込みの間に受け取った第2のデータを、前記バッファ内の当該第2の書込みにおけるデータの読込み元として予約された領域のうち、前記第1のデータが記憶されていない領域に蓄積することにより、当該第2の書込みにおいて当該第1のデータと共に当該第2のデータが前記通常の記録領域に書き込まれるよう制御する、装置。 - 前記一時記録領域は、前記テープ媒体を走行させたままデータを書き込むのに用いられる領域である、請求項1記載の装置。
- 前記コントローラは、前記バッファ内の前記第2の書込みにおけるデータの読込み元として予約された領域のうち、前記第1のデータが記憶されていない領域として、前記バッファを構成する複数のセグメントのうちの所定のセグメントの予めリザーブされた領域を用いる、請求項1記載の装置。
- 前記コントローラは、前記バッファ内の前記第2の書込みにおけるデータの読込み元として予約された領域のうち、前記第1のデータが記憶されていない領域として、前記バッファを構成する複数のセグメントのうちの予めリザーブされたセグメントを用いる、請求項1記載の装置。
- 前記コントローラは、前記第1の書込みの後、かつ、前記第2の書込みの前の所定の時点で、当該第1の書込みのステータスを出力する、請求項1記載の装置。
- 前記コントローラは、前記第2の書込みの後に前記第2のデータを受け取った場合と同様の手順で、当該第2のデータを前記通常の記録領域に書き込む、請求項1記載の装置。
- 前記コントローラは、前記第2のデータの読出し要求に応じて、前記第2の書込みにおいて前記第1のデータと共に前記通常の記録領域に書き込まれた当該第2のデータを読み出す、請求項1記載の装置。
- テープ媒体にデータを書き込むための方法であって、
バッファに蓄積された第1のデータの前記テープ媒体上の一時記録領域への第1の書込みを制御し、
前記第1の書込みの後に、前記第1のデータの前記テープ媒体上の通常の記録領域への第2の書込みを制御し、
前記第2の書込みの間に受け取った第2のデータを、前記バッファ内の当該第2の書込みにおけるデータの読込み元として予約された領域のうち、前記第1のデータが記憶されていない領域に蓄積することにより、当該第2の書込みにおいて当該第1のデータと共に当該第2のデータが前記通常の記録領域に書き込まれるよう制御する、方法。 - 前記バッファ内の前記第2の書込みにおけるデータの読込み元として予約された領域のうち、前記第1のデータが記憶されていない領域として、前記バッファを構成する複数のセグメントのうちの所定のセグメントの予めリザーブされた領域が用いられる、請求項8記載の方法。
- 前記バッファ内の前記第2の書込みにおけるデータの読込み元として予約された領域のうち、前記第1のデータが記憶されていない領域として、前記バッファを構成する複数のセグメントのうちの予めリザーブされたセグメントが用いられる、請求項8記載の方法。
- 前記第1のデータを前記一時記録領域に書き込んだ際に、書込みのステータスを出力する、請求項8記載の方法。
- 前記第1のデータの前記通常の記録領域への書込みの後に前記第2のデータを受け取った場合と同様の手順で、当該第2のデータを前記通常の記録領域に書き込む、請求項8記載の方法。
- 前記第2のデータの読出し要求に応じて、前記第2の書込みにおいて前記第1のデータと共に前記通常の記録領域に書き込まれた当該第2のデータを読み出す、請求項8記載の方法。
- テープ媒体へのデータの書込みを制御するためのコンピュータプログラムであって、コンピュータに、
バッファに蓄積された第1のデータの前記テープ媒体上の一時記録領域への第1の書込みを制御する機能と、
前記第1の書込みの後に、前記第1のデータの前記テープ媒体上の通常の記録領域への第2の書込みを制御する機能と、
前記第2の書込みの間に受け取った第2のデータを、前記バッファ内の当該第2の書込みにおけるデータの読込み元として予約された領域のうち、前記第1のデータが記憶されていない領域に蓄積することにより、当該第2の書込みにおいて当該第1のデータと共に当該第2のデータが前記通常の記録領域に書き込まれるよう制御する機能と
を実現させる、コンピュータプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005257388A JP4131517B2 (ja) | 2005-09-06 | 2005-09-06 | テープ媒体にデータを書き込むための装置 |
CNB2006101155236A CN100463050C (zh) | 2005-09-06 | 2006-08-15 | 将数据写入带介质的装置和方法 |
US11/469,328 US7561372B2 (en) | 2005-09-06 | 2006-08-31 | System and method for writing data to magnetic tape |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005257388A JP4131517B2 (ja) | 2005-09-06 | 2005-09-06 | テープ媒体にデータを書き込むための装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007073108A JP2007073108A (ja) | 2007-03-22 |
JP4131517B2 true JP4131517B2 (ja) | 2008-08-13 |
Family
ID=37829823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005257388A Expired - Fee Related JP4131517B2 (ja) | 2005-09-06 | 2005-09-06 | テープ媒体にデータを書き込むための装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7561372B2 (ja) |
JP (1) | JP4131517B2 (ja) |
CN (1) | CN100463050C (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4895308B2 (ja) * | 2008-01-30 | 2012-03-14 | 東芝ストレージデバイス株式会社 | 磁気ディスク装置の記録方法及び磁気ディスク装置 |
JP5068197B2 (ja) * | 2008-02-26 | 2012-11-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをテープ媒体に書き込む装置及び方法 |
JP5567260B2 (ja) * | 2008-08-05 | 2014-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | テープ媒体にデータを書き込む装置及び方法 |
CN102308336B (zh) * | 2009-02-10 | 2014-08-06 | 国际商业机器公司 | 数据记录装置、数据读出装置、带驱动器、数据记录方法和数据读出方法 |
CN102414753B (zh) * | 2009-06-29 | 2015-04-15 | 国际商业机器公司 | 包含多个磁带记录装置的磁带存储系统 |
JP5476395B2 (ja) * | 2009-11-13 | 2014-04-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データの書込みを制御する装置及び方法 |
JP5005023B2 (ja) * | 2009-12-25 | 2012-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 |
GB2496773B (en) | 2010-06-25 | 2018-03-21 | Ibm | Tape storage device and writing method therefor |
JP5536565B2 (ja) | 2010-06-30 | 2014-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | テープ媒体にデータを書き込む装置及び方法 |
JP5643152B2 (ja) * | 2011-05-19 | 2014-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テープ記憶装置、データ書込み方法、及び、プログラム |
JP5764050B2 (ja) | 2011-12-14 | 2015-08-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データを書き込む装置及び方法 |
US9959045B2 (en) | 2012-04-17 | 2018-05-01 | International Business Machines Corporation | Write procedure using estimated best setting in first run |
JP2014182858A (ja) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | テープカートリッジ及びテープ装置 |
JP6463103B2 (ja) | 2014-12-02 | 2019-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 複数のファイルを書込む方法、テープ装置システム、及びプログラム |
US9311960B1 (en) | 2015-03-31 | 2016-04-12 | International Business Machines Corporation | Efficient multichannel data format using variable-length headers |
US9373357B1 (en) | 2015-03-31 | 2016-06-21 | International Business Machines Corporation | Error protection of data stored using variable-length headers |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5613506A (en) | 1979-07-16 | 1981-02-09 | Fujitsu Ltd | Field-through canceling circuit |
JPS57135411A (en) | 1981-02-13 | 1982-08-21 | Toshiba Corp | Magnetic tape controller |
JPS6199904A (ja) | 1984-10-19 | 1986-05-19 | Hitachi Ltd | 磁気テ−プ装置の制御方式 |
JPS61180326A (ja) | 1985-02-06 | 1986-08-13 | Hitachi Ltd | ストリ−ミング磁気テ−プ装置の制御方式 |
JPH01146167A (ja) | 1987-12-01 | 1989-06-08 | Matsushita Electric Ind Co Ltd | ディスク装置 |
JP2595096B2 (ja) | 1989-06-26 | 1997-03-26 | 株式会社日立製作所 | 磁気テープ装置とバッファメモリの制御方式 |
JP2570003B2 (ja) | 1991-06-06 | 1997-01-08 | 日本電気株式会社 | 磁気テープ制御装置 |
JPH05108275A (ja) | 1991-10-21 | 1993-04-30 | Nec Corp | ストリーム・テープ装置 |
JP3305365B2 (ja) | 1992-08-06 | 2002-07-22 | パイオニア株式会社 | バッファリング方法 |
US5862014A (en) | 1996-01-11 | 1999-01-19 | Quantum Corporation | Multi-channel magnetic tape head module including flex circuit |
JPH10255395A (ja) | 1997-03-06 | 1998-09-25 | Sony Precision Technol Inc | データ記録装置及びデータ再生装置 |
JPH10289537A (ja) | 1997-04-11 | 1998-10-27 | Sony Corp | デジタルデータ記録方法およびデジタルデータ記録媒体 |
TW417094B (en) * | 1997-11-28 | 2001-01-01 | Sony Corp | Tape cassette and tape recording and/or reproducing apparatus |
JPH11176106A (ja) | 1997-12-10 | 1999-07-02 | Fujitsu Ltd | 磁気テープ装置 |
US6288862B1 (en) | 1999-07-30 | 2001-09-11 | Storage Technology Corporation | Method and mechanism to distinguish valid from outdated recording blocks in a tape drive |
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 |
-
2005
- 2005-09-06 JP JP2005257388A patent/JP4131517B2/ja not_active Expired - Fee Related
-
2006
- 2006-08-15 CN CNB2006101155236A patent/CN100463050C/zh active Active
- 2006-08-31 US US11/469,328 patent/US7561372B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070053091A1 (en) | 2007-03-08 |
CN1928992A (zh) | 2007-03-14 |
CN100463050C (zh) | 2009-02-18 |
JP2007073108A (ja) | 2007-03-22 |
US7561372B2 (en) | 2009-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4131517B2 (ja) | テープ媒体にデータを書き込むための装置 | |
JP3870215B1 (ja) | テープ記録装置のデータ書込み読取り制御方法 | |
US8397136B2 (en) | Method for appending data to tape medium, and apparatus employing the same | |
US8780474B2 (en) | Writing data to tape medium | |
JP5325128B2 (ja) | データの書込みを制御する装置及び方法 | |
JP5068215B2 (ja) | データを記録媒体に書き込む装置及び方法 | |
JP5172960B2 (ja) | テープ媒体にデータを書き込む装置及び方法 | |
US20180074720A1 (en) | Writing data spanning plurality of tape cartridges | |
US8964327B2 (en) | Tape storage device, data writing method, and program | |
JPWO2012176539A1 (ja) | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム | |
JP5065203B2 (ja) | データのフォーマットを変換する装置及び方法 | |
JP4427072B2 (ja) | 書込みリトライ方法及び磁気テープ装置 | |
US10656853B2 (en) | Tape having multiple data areas | |
GB2496773A (en) | Tape storage device and writing method for same | |
JP5567260B2 (ja) | テープ媒体にデータを書き込む装置及び方法 | |
US9720615B2 (en) | Writing data to sequential storage medium | |
JP5179596B2 (ja) | テープ記録装置におけるデータの上書き制御方法、上書き制御プログラム、及びテープ記録装置 | |
JP5473269B2 (ja) | テープ媒体に記録されたデータを読み出す装置及び方法 | |
JP4452269B2 (ja) | データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法 | |
JPWO2011058794A1 (ja) | データの書込みを制御する装置及び方法 | |
JP5044822B2 (ja) | データをテープ媒体に書き込む装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071206 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20071227 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20080122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080422 |
|
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: 20080520 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20080522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080522 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |