JP4954141B2 - テープ媒体の走行を制御する装置及び方法 - Google Patents
テープ媒体の走行を制御する装置及び方法 Download PDFInfo
- Publication number
- JP4954141B2 JP4954141B2 JP2008142014A JP2008142014A JP4954141B2 JP 4954141 B2 JP4954141 B2 JP 4954141B2 JP 2008142014 A JP2008142014 A JP 2008142014A JP 2008142014 A JP2008142014 A JP 2008142014A JP 4954141 B2 JP4954141 B2 JP 4954141B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- tape medium
- tape
- speed
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
- G11B5/58—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
- G11B5/584—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on tapes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B15/00—Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
- G11B15/18—Driving; Starting; Stopping; Arrangements for control or regulation thereof
- G11B15/46—Controlling, regulating, or indicating speed
- G11B15/467—Controlling, regulating, or indicating speed in arrangements for recording or reproducing wherein both record carriers and heads are driven
- G11B15/473—Controlling, regulating, or indicating speed in arrangements for recording or reproducing wherein both record carriers and heads are driven by controlling the speed of the heads
Description
ところで、同期が発生した後にテープ媒体を停止させないと、テープ媒体上で、先行する同期にて書き込まれたデータと次に書き込まれたデータとの間にギャップが生じる。その結果、テープ媒体の記録領域が無駄になってしまう。そのため、バックヒッチを行う必要がある。バックヒッチとは、テープ媒体の走行速度を減速して一旦停止し、逆方向に走行し、その後、再度元の方向に走行して書き込むべき位置に達して次のデータを書く、という一連の動作のことである。次のデータは、このバックヒッチが完了するまで書き込むことができない。バックヒッチには約2〜3秒程度の時間を要するため、バックヒッチの発生は、パフォーマンスに大きな影響を与える。
この特許文献1、2からも分かるように、RABFは次のような手法と捉えることができる。
即ち、まず、テープドライブが、同期要求を受けた際に、テープにまだ書かれていないバッファ内のデータを、テープ媒体の走行を継続させたまま、テープ媒体上に予約されている一時記録領域(ABFラップ)に書き出す。尚、この書出しは、先行する同期にて書き込まれたデータと次の同期にて書き込まれたデータとの間のギャップが問題とならないため、バックヒッチを行わないバッファフラッシュ(Backhitchless Flush)である。一方で、テープドライブは、データをバッファに蓄積し(Accumulate)、バッファ又は一時記録領域に空きがなくなった際に通常の記録領域(通常ラップ)に書き戻す(リライトする)動作を反復的に(Recursive)行う。
このように、RABFでは、同期を行う際に、次の同期に備えてバックヒッチを行うことが必要とならないため、同期に要する時間の短縮が図れる。特に、データ量に対する同期要求の頻度が高い場合において、大幅なパフォーマンス向上を実現するものである。
また、第1のデータがテープ媒体に書き込まれるまでにバックヒッチを行わずにデータが書き込まれた回数と、バックヒッチを行わずにデータが書き込まれる回数として許容される予め設定された回数との比較結果に基づいて、バックヒッチを行わずに第2のデータをテープ媒体に書き込むかどうかを判定する、ものであってよい。
更に、第1のデータがテープ媒体に書き込まれるまでに発生したエラーの頻度と、バックヒッチを行わずにデータを書き込む際に発生するエラーの頻度として許容される予め設定された頻度との比較結果に基づいて、バックヒッチを行わずに第2のデータをテープ媒体に書き込むかどうかを判定する、ものであってよい。
更にまた、テープ媒体の第1のデータが書き込まれた位置と前回バックヒッチを行わずにデータが書き込まれた位置の間隔と、バックヒッチを行わずにデータが書き込まれる位置の間隔として許容される予め設定された間隔との比較結果に基づいて、バックヒッチを行わずに第2のデータをテープ媒体に書き込むかどうかを判定する、ものであってよい。
ここで、特定の速度は、テープ媒体の速度として予め用意された複数の速度のうち、条件を満たす最も速い速度であってよいし、テープ媒体の速度として予め用意された複数の速度のうち、過去の所定回数のデータの書込みにおいてバックヒッチを発生させていない速度であってもよい。
更に、変更部は、バックヒッチを行った後、テープ媒体の速度を変更する、ものであってよい。
図1は、本実施の形態が適用されるテープドライブ10の構成例を示した図である。このテープドライブ10は、ホストインターフェイス(以下、「ホストI/F」という)11と、バッファ12と、チャネル13と、ヘッド14と、モータ15とを含む。また、コントローラ16と、ヘッド位置制御システム17と、モータドライバ18とを含む。更に、テープドライブ10には、テープカートリッジ20が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ20も図示している。このテープカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。尚、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
チャネル13は、テープ23に書き込むべきデータをヘッド14に送ったり、テープ23から読み出されたデータをヘッド14から受け取ったりするために用いられる通信経路である。
ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。
モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
ヘッド位置制御システム17は、所望の1つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド14を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。
通常、テープ23には、公称の容量を超えてある程度の余裕分までデータを書き込むことができる。例えば、公称の容量を500GBとし、余裕分を7%とした場合、エラーレートが非常に低ければ、535(=500×1.07)GBまでのデータをテープ23に書き込めることになる。従って、バックヒッチレス書込みによる容量損失が7%以下であれば、それは、ユーザにとってそれほど深刻な事態とはならない。そこで、本実施の形態では、上記の例における35(=535−500)GBの余裕分を、パフォーマンス向上のために使う。
このうち、(a)は、バックヒッチを伴う書込みの様子を示している。
図示するように、テープ23には、DS#N−2、DS#N−1、DS#N、DS#N+1が書き込まれている。このうち、DS#N−2から同期処理における書込みが開始し、DS#Nで同期処理が完了したとする。すると、ここで、バックヒッチが発生する。このバックヒッチには、約3秒の時間が費やされ、テープドライブ10は、バックヒッチが完了するまで、次の書込みを開始することができない。つまり、バックヒッチが完了した後に、DS#N+1が書き込まれることになる。
図示するように、テープ23には、DS#N−2、DS#N−1、DS#N、DS#N+1が書き込まれている。このうち、DS#N−2から同期処理における書込みが開始し、DS#Nで同期処理が完了したとする。但し、この場合、バックヒッチは発生しない。つまり、バックヒッチレス書込みは、(a)で費やされた約3秒の時間を必要としない。しかし、テープドライブ10は、テープ23を、容量を犠牲にして前方向に動かしてしまう。
そこで、本実施の形態では、このバックヒッチレス書込みを行う。具体的には、同期コマンドを受信したときに、テープ23の残り容量を確認して、バックヒッチを行うかバックヒッチレス書込みを行うかを決定する。これにより、同期処理時にバックヒッチレス書込みをしたとしても、テープ23の全体の容量が影響を受けないようにする。
尚、このように同じラップにバックヒッチレス書込みを行う手法を、以下では、SWBF(Same Wrap Backhitchless Flush)と呼ぶ。
そこで、本実施の形態では、このような場合におけるパフォーマンスの向上のため、つまり、書込みシーケンスの中でのバックヒッチの総数を減少させるために、次のトランザクションのための理想的なテープ速度を見積もり、そのテープ速度に変更するために意図的にバックヒッチを強制する手法を提案する。
図3〜6に、テープ速度と1サイクルの同期処理のために必要な時間との関係を示す。尚、図中、太線がテープ速度を表す。
また、理想的なテープ速度を計算するためにテープドライブ10の最近の履歴を用い、選択されたテープ速度でのパフォーマンスを保証するために過去のバックヒッチ発生及びテープ速度を用いる。
(第1工程)
まず、理想的なテープ速度が、過去のトランザクションサイズとホスト転送レートの平均によって算出される。
次に、過去のトランザクションについて選択されたテープ速度、及び、バッファ12が空になったことによるバックヒッチが先に選択された速度で発生したかどうかを参照する。同じ速度での過去のトランザクションでバックヒッチが発生していれば、バックヒッチは、次のトランザクションでも発生するかもしれないので、算出された速度より遅い速度を使うようにする。このように同期タイミングでより遅い速度を選択することにより、バックヒッチは次のトランザクションで発生せず、書込みシーケンスの間のバックヒッチの総数は減少する。
上記の方法によって理想的なテープ速度を決定した後に、現在の速度が理想的な速度と同じでない場合、テープドライブ10は、バックヒッチを強制する。尚、算出された速度は、SWBFで使われる現在の速度よりも速かったり遅かったりするかもしれない。また、現在の速度が理想的な速度と同じである場合、テープドライブ10は、SWBFを可能にする容量の基準が満たされれば、バックヒッチレス書込みを行う。
図7は、コントローラ16の機能構成例を示したブロック図である。
図示するように、コントローラ16は、コマンド処理部41と、バッファ管理部42と、チャネル入出力部43と、バックヒッチ判定部44と、速度決定部45と、速度テーブル記憶部46と、履歴記憶部47と、動作信号出力部48とを備える。
バッファ管理部42は、コマンド処理部41がWriteコマンドを受け取った場合は、データをバッファ12内に用意する。また、コマンド処理部41が同期コマンドを受け取った場合は、データをバッファ12から読み出してチャネル入出力部43に出力する。
チャネル入出力部43は、バッファ管理部42がバッファ12から読み出したデータをチャネル13に出力したり、チャネル13から受け取ったデータをバッファ12に格納したりする。
速度決定部45は、バックヒッチ判定部44がバックヒッチレス書込みを行うと判定した場合に、バッファ12が空になることによるバックヒッチを発生させないテープ速度を決定する。本実施の形態では、テープ媒体の速度を変更する変更部の一例として、速度決定部45を設けている。
速度テーブル記憶部46は、テープ23の速度として予め用意された速度と、その速度でテープ23を走行させた場合のテープ転送レートとの対応を含む速度テーブルを記憶する。
履歴記憶部47は、過去に処理したトランザクション、そのトランザクションを処理したときのテープ23の速度、そのトランザクションを処理したときにバックヒッチが発生したかどうかの情報等の対応を含む履歴情報を記憶する。但し、履歴情報にはこれ以外の情報(例えば、エラーの発生に関する情報)を含めてもよい。
動作信号出力部48は、モータドライバ18に対して、バックヒッチ判定部44又は速度決定部45で決定された動作を行うことを指示する信号を出力する。
図8は、コントローラ16の動作例を示したフローチャートである。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
コントローラ16では、このようなデータセットの書込み中に、バッファ管理部42が、バッファ12から最後のデータセットを読み出してチャネル入出力部43に渡し、チャネル入出力部43が、渡されたデータセットをテープ23に書き込む(ステップ401)。
ここで、判定結果がバックヒッチレス書込みを行わないことを示している場合、動作信号出力部48は、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力する(ステップ409)。
一方、判定結果がバックヒッチレス書込みを行うことを示している場合、動作信号出力部48は、制御をバッファ管理部42に戻し、バッファ管理部42が、トランザクションサイズ(図では「TRサイズ」と表記)とバッファ12のサイズ(図では「BUFサイズ」と表記)とを比較する(ステップ404)。ここで、トランザクションサイズとしては、例えば、過去の3つのトランザクションのサイズの平均値を用いるとよい。
このようにして、バックヒッチレス書込みを行うことの決定、又は、バックヒッチの開始がなされると、その旨はコマンド処理部41に返され、コマンド処理部41は、同期コマンドの完了をホスト30に報告する(ステップ410)。
次に、バッファ管理部42は、新しい書込みを開始するために十分なデータセットが受け取られたかどうかを判定する(ステップ412)。そして、十分なデータセットが受け取られていないと判定されれば、ステップ410の終了後から一定時間経過したかどうかの判断に移り(ステップ413)、一定期間が経過していなければ、暫く待って(ステップ414)、再度ステップ412の判定を行う。一定期間が経過していれば、バッファ管理部42は、動作信号出力部48に制御を渡し、動作信号出力部48が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ416)。また、ステップ412で十分なデータセットが受け取られたと判定されれば、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短いかどうかを判定する(ステップ415)。例えば、その間隔が、データセット間隔の閾値よりも長いかどうかを判定すればよい。
一方、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短ければ、バックヒッチは行わずに、バッファ管理部42が、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ417)。
図9は、第1の動作例を示したフローチャートである。
バックヒッチ判定部44は、まず、テープ23の公称の記憶容量(C)を取得する(ステップ501)。また、テープ23の長手方向のテープ長(L)を取得する(ステップ502)。この場合、C及びLは、例えば、テープカートリッジ20がロードされた際に、テープカートリッジ20に設けられたカートリッジメモリから取得するとよい。
そして、バックヒッチ判定部44は、ヘッド14に対するパラメータ(X)を算出する(ステップ505)。ここで、Xには、ステップ502で取得したLと、ステップ503で取得したCurrentWrapNumとを掛け合わせたものに、ステップ504で取得したCurrentLongitudinalPositionを加えて得られた値が設定される。
その後、バックヒッチ判定部44は、現在位置における期待される容量(S)に、「(X/(L*TotalWrapNum))*C」を設定する(ステップ506)。ここで、TotalWrapNumは、テープ23上のラップの総数である。
尚、上記の式において、αは、BOTの近くでこの機能を簡単に呼び出すための一定値であり、例えば、約5GBに設定される。また、βは、例えば、約1.05に設定される。α、βは、例えば、テープドライブ10又はテープ23の製造業者により設定されるとよい。先に述べたように、テープ23には、公称の容量を超えてある程度の余裕分までデータを書き込むことができる。α、βはS*β+αがテープ23に書き込むことができる容量を超えない範囲で設定できる。
図10は、第2の動作例を示したフローチャートである。
バックヒッチ判定部44は、まず、テープ23上で発生するバックヒッチレス書込みの許容される最大の回数(BackhitchlessThresholdCount)を取得する(ステップ521)。ここで、BackhitchlessThresholdCountは、例えば、テープドライブ10又はテープ23の製造業者により設定されるとよい。また、現在の書込み処理の間にテープ23上で既に発生したバックヒッチレス書込みの回数(ActualBackhitchlessWriteCount)を取得する(ステップ522)。ここで、ActualBackhitchlessWriteCountは、履歴記憶部47に記憶された履歴情報に基づいて取得するとよい。
次に、バックヒッチ判定部44は、ActualBackhitchlessWriteCountがBackhitchlessThresholdCountを超えるかどうか判定する(ステップ523)。そして、ActualBackhitchlessWriteCountがBackhitchlessThresholdCountを超えないと判定されれば、新しい書込み動作を開始するときにバックヒッチレス書込みを行うことを判定結果に設定する(ステップ524)。また、ActualBackhitchlessWriteCountがBackhitchlessThresholdCountを超えると判定されれば、新しい書込み動作を開始するときにバックヒッチレス書込みを行わないことを判定結果に設定する(ステップ525)。
図11は、第3の動作例を示したフローチャートである。
バックヒッチ判定部44は、まず、テープ23上でバックヒッチレス書込みを用いるときに許容される最大のエラーレート(ErrorRateThreshold)を取得する(ステップ541)。ここで、ErrorRateThresholdは、例えば、テープドライブ10又はテープ23の製造業者により設定されるとよい。また、テープ23の実際のエラーレート(ActualErrorRate)を取得する(ステップ542)。ここで、ActualErrorRateは、履歴記憶部47に記憶された履歴情報に基づいて取得するとよい。
次に、バックヒッチ判定部44は、ActualErrorRateがErrorRateThresholdを超えるかどうか判定する(ステップ543)。そして、ActualErrorRateがErrorRateThresholdを超えないと判定されれば、新しい書込み動作を開始するときにバックヒッチレス書込みを行うことを決定する(ステップ544)。また、ActualErrorRateがErrorRateThresholdを超えると判定されれば、新しい書込み動作を開始するときにバックヒッチレス書込みを行わないことを決定する(ステップ545)。
図12は、第4の動作例を示したフローチャートである。
バックヒッチ判定部44は、まず、テープ23上で発生するバックヒッチレス書込みの間の最小のテープ長(BackhitchlessThresholdInterval)を取得する(ステップ561)。ここで、BackhitchlessThresholdIntervalは、例えば、テープドライブ10又はテープ23の製造業者により設定されるとよい。また、現在のヘッド14の位置と最後のバックヒッチレス書込みとの間の実際のテープ長(ActualBackhitchlessWriteInterval)を取得する(ステップ562)。ここで、ActualBackhitchlessWriteIntervalは、サーボヘッドが読み出したLPOS情報に基づいて取得するとよい。
次に、バックヒッチ判定部44は、ActualBackhitchlessWriteIntervalがBackhitchlessThresholdIntervalを下回っているかどうか判定する(ステップ563)。そして、ActualBackhitchlessWriteIntervalがBackhitchlessThresholdIntervalを下回っていないと判定されれば、新しい書込み動作を開始するときにバックヒッチレス書込みを行うことを判定結果に設定する(ステップ564)。また、ActualBackhitchlessWriteIntervalがBackhitchlessThresholdIntervalを下回っていると判定されれば、新しい書込み動作を開始するときにバックヒッチレス書込みを行わないことを判定結果に設定する(ステップ565)。
図13は、テープ速度決定処理の動作例を示したフローチャートである。尚、この動作例は、SWBFに対する容量基準が満たされるときでも、同期タイミングにおいて、SWBFを行うかバックヒッチを行うかを追加的に決定するものである。
まず、速度決定部45は、過去のトランザクションサイズとホスト転送レートから、次のトランザクションにおけるホスト30からの転送時間HostTxTimeを見積もる(ステップ601)。ここで、HostTxTimeは、例えば、過去の3つのトランザクションにおけるホスト30からの転送時間の平均とすればよい。即ち、TransactionSizeを、過去の3つのトランザクションの平均のトランザクションサイズとし、HostTxRateを、過去の3つのトランザクションの平均のホスト転送レートとすると、HostTxTime = TransactionSize / HostTxRateによって求めるとよい。尚、TransactionSize及びHostTxRateは、履歴記憶部47に記憶されたトランザクションの処理の履歴情報から、速度決定部45が入力データとして取得しておけばよい。
具体的には、速度決定部45が、テープの速度を表す変数Spに対して、速度テーブル記憶部46に記憶された複数の速度のうちの最も速い速度であるSP1を代入する(ステップ602)。そして、テープ速度Spでトランザクションを書くのに必要な時間ReqTime(Sp)を算出する(ステップ603)。ここで、ReqTime(Sp)は、例えば、過去の3つのトランザクションを特定の速度Spで書くのに必要な時間の時間の平均とすればよい。即ち、TransactionSizeを、過去の3つのトランザクションの平均のトランザクションサイズとし、特定の速度Spでトランザクションを書くのに必要な時間をMediaTxRate(Sp)とすると、ReqTime(Sp) = TransactionSize / MediaTxRate(Sp)で求めるとよい。尚、TransactionSizeは、履歴記憶部47に記憶されたトランザクションの処理の履歴情報から、速度決定部45が入力データとして取得し、MediaTxRate(Sp)は、速度テーブル記憶部46に記憶されたテープ速度ごとの情報から、速度決定部45が入力データとして取得しておけばよい。
その結果、ReqTime(Sp)がHostTxTimeを下回っていると判定されれば、速度決定部45は、Spに設定された速度よりも遅い速度があるかどうかを判定する(ステップ605)。ここでは、Spに設定された速度よりも遅い速度が速度テーブル記憶部46にエントリとして登録されているかどうかを判定するとよい。そして、そのような速度が登録されていれば、次に速い速度をSpに設定し(ステップ606)、ステップ603に戻る。
このようにしてステップ603〜606を繰り返し、ステップ605でこれ以上遅い速度がないと判定されたとする。この場合は、選択された速度を表す変数ChosenSpeedに対し、速度テーブル記憶部46に登録された最も遅い速度を設定する(ステップ607)。一方、ステップ604でReqTime(Sp)がHostTxTimeを下回っていないと判定されたとする。この場合は、選択された速度を表す変数ChosenSpeedに対し、そのときのSpを設定する(ステップ608)。
尚、このステップ601〜608の処理は、上述した第1工程に相当する。
具体的には、速度決定部45が、過去のトランザクションを識別するインデックスiに「0」を代入する(ステップ609)。そして、i=0,1,2について次の処理を行う。尚、以下では、i番目のトランザクションをTr[i]と表記し、新しい方からTr[0]、Tr[1]、Tr[2]とする。
その結果、prevSp[i]が、ステップ607又は608で選択されたChosenSpeedと等しく、かつ、Tr[i]でバックヒッチが発生したというのでなければ、速度決定部45は、インデックスiに「1」を加算し(ステップ611)、インデックスiが「3」未満であるかどうかを判定する(ステップ612)。そして、インデックスiが「3」未満であれば、ステップ610に戻り、インデックスiが「3」に達していれば、履歴記憶部47に記憶された履歴情報を更新する(ステップ614)。つまり、Tr[1]に対応する履歴情報をTr[2]に対応する履歴情報とし、Tr[0]に対応する履歴情報をTr[1]に対応する履歴情報とし、今回のトランザクションに対応する履歴情報をTr[0]に対応する履歴情報とする。
尚、このステップ609〜614の処理は、上述した第2工程に相当する。
これは、トランザクションサイズがバッファ12のサイズより大きい場合、バッファ12が、テープ23にバッファリングされたデータを書く前にいっぱいになり、ホスト転送が中断されるかもしれないからである。ホスト転送のこの休止状態は、ホスト転送レートを低下させる。この場合、計算はより複雑になるので、上述したテープ速度決定処理は適用されない。
このように、本実施の形態では、テープ23に最終的に書き込まれるデータ容量の観点からバックヒッチレス書込みを行うと判定された場合であっても、バッファが空になることによるバックヒッチが発生する可能性があれば、敢えてバックヒッチを行ってテープ速度を変更するようにした。これにより、トランザクションサイズが大きい場合における同期時のバックヒッチによるパフォーマンスの低下に加えて、バッファが空になることによるバックヒッチによるパフォーマンスの低下も防止することができる。
Claims (10)
- 上位装置から送られたデータを一時的にバッファに格納した後にテープ媒体に書き込むテープドライブにおける当該テープ媒体の走行を制御する装置であって、
前記バッファに格納された第1のデータを前記テープ媒体に書き込んだ後、当該第1のデータの次の第2のデータを当該テープ媒体に書き込むのに先立ち、当該第2のデータが当該テープ媒体に書き込まれるまでに当該テープ媒体に書き込まれるデータの容量である第1の容量と、当該テープ媒体に最終的に公称の容量のデータが書き込まれるために当該テープ媒体上の現在位置までに書き込まれることが必要なデータの容量である第2の容量とを比較し、当該第1の容量が当該第2の容量よりも大きければ、バックヒッチを行わずに当該第2のデータを当該テープ媒体に書き込むと判定し、当該第1の容量が当該第2の容量よりも小さければ、バックヒッチを行ってから当該第2のデータを当該テープ媒体に書き込むと判定する判定部と、
前記判定部によりバックヒッチを行わずに前記第2のデータを前記テープ媒体に書き込むと判定された場合に、当該テープ媒体の速度を、前記上位装置から送られた所定サイズのデータを前記バッファに格納するのに要する時間よりも当該バッファに格納された当該所定サイズのデータを当該テープ媒体に書き込むのに要する時間が長くなるという条件を満たす特定の速度に変更する変更部と
を含む、装置。 - 前記判定部は、前記第1のデータが前記テープ媒体に書き込まれるまでにバックヒッチを行わずにデータが書き込まれた回数である第1の回数と、バックヒッチを行わずにデータが書き込まれる回数として許容される予め設定された回数である第2の回数とを比較し、当該第1の回数が当該第2の回数よりも少なければ、バックヒッチを行わずに前記第2のデータを当該テープ媒体に書き込むと判定し、当該第1の回数が当該第2の回数よりも多ければ、バックヒッチを行ってから前記第2のデータを当該テープ媒体に書き込むと判定する、請求項1の装置。
- 前記判定部は、前記第1のデータが前記テープ媒体に書き込まれるまでに発生したエラーの頻度である第1の頻度と、バックヒッチを行わずにデータを書き込む際に発生するエラーの頻度として許容される予め設定された頻度である第2の頻度とを比較し、当該第1の頻度が当該第2の頻度よりも低ければ、バックヒッチを行わずに前記第2のデータを当該テープ媒体に書き込むと判定し、当該第1の頻度が当該第2の頻度よりも高ければ、バックヒッチを行ってから前記第2のデータを当該テープ媒体に書き込むと判定する、請求項1の装置。
- 前記判定部は、前記テープ媒体上の現在位置とバックヒッチを行わずにデータが書き込まれた直近の位置との間の当該テープ媒体の長さである第1の長さと、バックヒッチを行わずにデータが書き込まれる2つの位置の間の当該テープ媒体の長さとして許容される予め設定された最小の長さである第2の長さとを比較し、当該第1の長さが当該第2の長さよりも長ければ、バックヒッチを行わずに前記第2のデータを当該テープ媒体に書き込むと判定し、当該第1の長さが当該第2の長さよりも短ければ、バックヒッチを行ってから前記第2のデータを当該テープ媒体に書き込むと判定する、請求項1の装置。
- 前記特定の速度は、前記テープ媒体の速度として予め用意された複数の速度のうち、前記条件を満たす最も速い速度である、請求項1の装置。
- 過去の所定回数のデータの書込みと、各書込みを行ったときの前記テープ媒体の速度と、各書込みにおいてバックヒッチが発生したかどうかを示す情報とを対応付けて記憶する記憶部を更に備え、
前記特定の速度は、前記テープ媒体の速度として予め用意された複数の速度のうち、前記記憶部においてバックヒッチが発生していないことを示す情報に対応付けて記憶された前記テープ媒体の速度である、請求項1の装置。 - 前記変更部は、バックヒッチを行った後、前記テープ媒体の速度を変更する、請求項1の装置。
- 上位装置から送られたデータを一時的にバッファに格納した後にテープ媒体に書き込むテープドライブにおける当該テープ媒体の走行を制御する装置であって、
前記バッファに格納された第1のデータを前記テープ媒体に書き込んだ後、当該第1のデータの次の第2のデータを当該テープ媒体に書き込むのに先立ち、当該第2のデータが当該テープ媒体に書き込まれるまでに当該テープ媒体に書き込まれるデータの容量である第1の容量と、当該テープ媒体に最終的に公称の容量のデータが書き込まれるために当該テープ媒体上の現在位置までに書き込まれることが必要なデータの容量である第2の容量とを比較し、当該第1の容量が当該第2の容量よりも大きければ、バックヒッチを行わずに当該第2のデータを当該テープ媒体に書き込むと判定し、当該第1の容量が当該第2の容量よりも小さければ、バックヒッチを行ってから当該第2のデータを当該テープ媒体に書き込むと判定する判定部と、
前記判定部によりバックヒッチを行わずに前記第2のデータを前記テープ媒体に書き込むと判定された場合に、当該テープ媒体の速度として予め用意された複数の速度のうち、前記上位装置から送られた所定サイズのデータを前記バッファに格納するのに要する時間よりも当該バッファに格納された当該所定サイズのデータを当該テープ媒体に書き込むのに要する時間が長くなるという条件を満たす最も速い速度である第1の速度を選択する第1の選択部と、
過去の所定回数のデータの書込みの何れかにおいて、前記第1の選択部により選択された前記第1の速度が用いられ、かつ、バックヒッチが発生している場合に、前記複数の速度のうち、当該第1の速度よりも遅い第2の速度を選択する第2の選択部と、
前記第2の選択部により選択された前記第2の速度が前記テープ媒体の現在の速度と異なる場合に、バックヒッチを行った後、当該テープ媒体の速度を当該第2の速度に変更する変更部と
を含む、装置。 - 上位装置から送られたデータを一時的にバッファに格納した後にテープ媒体に書き込むテープドライブにおける当該テープ媒体の走行を制御する方法であって、
前記バッファに格納された第1のデータを前記テープ媒体に書き込んだ後、当該第1のデータの次の第2のデータを当該テープ媒体に書き込むのに先立ち、当該第2のデータが当該テープ媒体に書き込まれるまでに当該テープ媒体に書き込まれるデータの容量である第1の容量と、当該テープ媒体に最終的に公称の容量のデータが書き込まれるために当該テープ媒体上の現在位置までに書き込まれることが必要なデータの容量である第2の容量とを比較し、当該第1の容量が当該第2の容量よりも大きければ、バックヒッチを行わずに当該第2のデータを当該テープ媒体に書き込むと判定し、当該第1の容量が当該第2の容量よりも小さければ、バックヒッチを行ってから当該第2のデータを当該テープ媒体に書き込むと判定するステップと、
バックヒッチを行わずに前記第2のデータを前記テープ媒体に書き込むと判定された場合に、当該テープ媒体の速度を、前記上位装置から送られた所定サイズのデータを前記バッファに格納するのに要する時間よりも当該バッファに格納された当該所定サイズのデータを当該テープ媒体に書き込むのに要する時間が長くなるという条件を満たす特定の速度に変更するステップと
を含む、方法。 - 上位装置から送られたデータを一時的にバッファに格納した後にテープ媒体に書き込むテープドライブにおける当該テープ媒体の走行を制御する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記バッファに格納された第1のデータを前記テープ媒体に書き込んだ後、当該第1のデータの次の第2のデータを当該テープ媒体に書き込むのに先立ち、当該第2のデータが当該テープ媒体に書き込まれるまでに当該テープ媒体に書き込まれるデータの容量である第1の容量と、当該テープ媒体に最終的に公称の容量のデータが書き込まれるために当該テープ媒体上の現在位置までに書き込まれることが必要なデータの容量である第2の容量とを比較し、当該第1の容量が当該第2の容量よりも大きければ、バックヒッチを行わずに当該第2のデータを当該テープ媒体に書き込むと判定し、当該第1の容量が当該第2の容量よりも小さければ、バックヒッチを行ってから当該第2のデータを当該テープ媒体に書き込むと判定する手段と、
バックヒッチを行わずに前記第2のデータを前記テープ媒体に書き込むと判定された場合に、当該テープ媒体の速度を、前記上位装置から送られた所定サイズのデータを前記バッファに格納するのに要する時間よりも当該バッファに格納された当該所定サイズのデータを当該テープ媒体に書き込むのに要する時間が長くなるという条件を満たす特定の速度に変更する手段と
して機能させる、プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008142014A JP4954141B2 (ja) | 2008-05-30 | 2008-05-30 | テープ媒体の走行を制御する装置及び方法 |
US12/474,544 US8035912B2 (en) | 2008-05-30 | 2009-05-29 | System and method for controlling traveling of tape |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008142014A JP4954141B2 (ja) | 2008-05-30 | 2008-05-30 | テープ媒体の走行を制御する装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009289349A JP2009289349A (ja) | 2009-12-10 |
JP4954141B2 true JP4954141B2 (ja) | 2012-06-13 |
Family
ID=41379483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008142014A Expired - Fee Related JP4954141B2 (ja) | 2008-05-30 | 2008-05-30 | テープ媒体の走行を制御する装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8035912B2 (ja) |
JP (1) | JP4954141B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2309506B1 (en) * | 2008-07-08 | 2014-05-21 | International Business Machines Corporation | Device for adjusting traveling speed of tape medium, method for adjusting traveling speed, and program for adjusting traveling speed |
JP5567260B2 (ja) * | 2008-08-05 | 2014-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | テープ媒体にデータを書き込む装置及び方法 |
US7995303B2 (en) * | 2009-08-31 | 2011-08-09 | International Business Machines Corporation | Overhead calculation in writing synchronized data to magnetic tape |
US8810951B2 (en) * | 2009-11-13 | 2014-08-19 | International Business Machines Corporation | Apparatus and method for controlling data writing to a tape medium |
WO2011077798A1 (ja) * | 2009-12-22 | 2011-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | テープ媒体の走行を制御する装置及び方法 |
JP5325128B2 (ja) * | 2010-01-15 | 2013-10-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データの書込みを制御する装置及び方法 |
JP5643152B2 (ja) * | 2011-05-19 | 2014-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テープ記憶装置、データ書込み方法、及び、プログラム |
US8908314B2 (en) * | 2011-08-19 | 2014-12-09 | Oracle International Corporation | Data file information based selection of tape drive tape speed |
JP5753476B2 (ja) | 2011-10-27 | 2015-07-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション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 |
JP5932877B2 (ja) * | 2014-04-15 | 2016-06-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テープメディアへファイルを書き込む所要時間の低減 |
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 |
US10453485B1 (en) * | 2018-11-26 | 2019-10-22 | International Business Machines Corporation | Increasing data storage capacity by reducing index entries |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4176380A (en) * | 1978-01-09 | 1979-11-27 | International Business Machines Corporation | Adaptive speed/interblock gap control for tape drive |
JP2722744B2 (ja) * | 1990-01-19 | 1998-03-09 | 松下電器産業株式会社 | ディジタルデータ記録再生装置 |
JPH06202814A (ja) * | 1992-09-30 | 1994-07-22 | Hitachi Ltd | 磁気テープ記憶装置の記憶制御方法 |
US6307701B1 (en) * | 1998-10-20 | 2001-10-23 | Ecrix Corporation | Variable speed recording method and apparatus for a magnetic tape drive |
US6856479B2 (en) | 2002-01-29 | 2005-02-15 | International Business Machines Corporation | Writing synchronized data to magnetic tape |
US6958878B2 (en) * | 2003-10-27 | 2005-10-25 | International Business Machines Corporation | Forced backhitch for speed matching in a multi-speed tape drive |
JP2008016117A (ja) * | 2006-07-05 | 2008-01-24 | Fujitsu Ltd | テープへのデータ書込方法、テープへのデータ書込プログラム、及びテープ記憶装置 |
US20090125649A1 (en) * | 2007-11-14 | 2009-05-14 | Turguy Goker | Variable speed buffer servo control for linear tape drives |
-
2008
- 2008-05-30 JP JP2008142014A patent/JP4954141B2/ja not_active Expired - Fee Related
-
2009
- 2009-05-29 US US12/474,544 patent/US8035912B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090296268A1 (en) | 2009-12-03 |
US8035912B2 (en) | 2011-10-11 |
JP2009289349A (ja) | 2009-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4954141B2 (ja) | テープ媒体の走行を制御する装置及び方法 | |
US9087549B2 (en) | Apparatus and method for controlling transportation of tape medium | |
JP4131517B2 (ja) | テープ媒体にデータを書き込むための装置 | |
JP5199362B2 (ja) | テープ媒体の走行速度調整装置、走行速度調整方法、及び走行速度調整プログラム | |
US10353624B2 (en) | Apparatus and method for writing data to recording medium | |
US8498075B2 (en) | Apparatus and method for writing data to tape medium | |
US6958878B2 (en) | Forced backhitch for speed matching in a multi-speed tape drive | |
JP5065203B2 (ja) | データのフォーマットを変換する装置及び方法 | |
JP5643152B2 (ja) | テープ記憶装置、データ書込み方法、及び、プログラム | |
JP2008276879A (ja) | 書込みリトライ方法及び磁気テープ装置 | |
US9412409B2 (en) | Controlling a tape speed to manage a tape drive buffer | |
WO2011058794A1 (ja) | データの書込みを制御する装置及び方法 | |
JP5764050B2 (ja) | データを書き込む装置及び方法 | |
JP2010040106A (ja) | テープ媒体にデータを書き込む装置及び方法 | |
EP1672628A1 (en) | System and method for controlling the speed of a tape drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110223 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120127 |
|
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: 20120221 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20120221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120313 |
|
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: 20150323 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |