JP5385992B2 - テープ媒体の走行を制御する装置及び方法 - Google Patents

テープ媒体の走行を制御する装置及び方法 Download PDF

Info

Publication number
JP5385992B2
JP5385992B2 JP2011547363A JP2011547363A JP5385992B2 JP 5385992 B2 JP5385992 B2 JP 5385992B2 JP 2011547363 A JP2011547363 A JP 2011547363A JP 2011547363 A JP2011547363 A JP 2011547363A JP 5385992 B2 JP5385992 B2 JP 5385992B2
Authority
JP
Japan
Prior art keywords
data
time
tape medium
written
tape
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
JP2011547363A
Other languages
English (en)
Other versions
JPWO2011077798A1 (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 JP2011547363A priority Critical patent/JP5385992B2/ja
Publication of JPWO2011077798A1 publication Critical patent/JPWO2011077798A1/ja
Application granted granted Critical
Publication of JP5385992B2 publication Critical patent/JP5385992B2/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
    • G11B15/00Driving, 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/18Driving; Starting; Stopping; Arrangements for control or regulation thereof
    • G11B15/44Speed-changing arrangements; Reversing arrangements; Drive transfer means therefor
    • G11B15/442Control thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, 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/18Driving; Starting; Stopping; Arrangements for control or regulation thereof
    • G11B15/20Moving record carrier backwards or forwards by finite amounts, i.e. backspacing, forward spacing
    • 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/0656Data buffering arrangements
    • 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
    • G11B15/00Driving, 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/18Driving; Starting; Stopping; Arrangements for control or regulation thereof
    • G11B15/26Driving record carriers by members acting directly or indirectly thereon
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, 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/18Driving; Starting; Stopping; Arrangements for control or regulation thereof
    • G11B15/44Speed-changing arrangements; Reversing arrangements; Drive transfer means therefor
    • G11B15/444Speed-changing arrangements; Reversing arrangements; Drive transfer means therefor reversing arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • 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

本発明は、テープ媒体の走行を制御する装置及び方法に関する。特に、本発明は、テープ媒体にデータを書き込む際のテープ媒体の走行を制御する装置及び方法に関する。
例えばLTO(Linear Tape Open)に準拠して磁気テープ等のテープ媒体にデータを書き込むテープドライブでは、データの書込み中にホスト(アプリケーションプログラム)から同期コマンドを定期的、ないし、散発的に受け取ることがある。同期コマンドとは、テープドライブ内のバッファに蓄積されたデータを強制的にテープ媒体に書き込むためのコマンドである。このように同期コマンドを定期的に受け取ることがあるのは、アプリケーションプログラムが、自身がテープドライブに送ったデータが全てテープ媒体に書かれ、テープドライブ内のバッファに残っていないことを、知りたい(保証したい)ためである。
テープドライブが同期コマンドを受け取ると、テープドライブ内のバッファが空になり書き込むデータが無いままテープ媒体が空走行してしまうが、記録するデータの間隔を狭い状態に保つため、テープドライブは通常「バックヒッチ」を行う。バックヒッチとは、テープ媒体の走行速度を減速して一旦停止し、逆方向に走行し、その後、再度元の方向に走行して書き込むべき位置に達して次のデータを書く、という一連の動作のことである。 このバックヒッチには通常2〜3秒程度の時間を要する。次のデータの書出しはこのバックヒッチの完了後となるため、頻繁に同期コマンドを受け取ると書込みのパフォーマンスが著しく低下してしまう。
こうしたことから、従来、バックヒッチを行わなくて済むようにするための技術が提案されていた(例えば、特許文献1〜3参照)。
特許文献1では、ホストから送られたデータセットをバッファメモリに格納し、バッファメモリに格納されたデータセットを取り出してホストに送るホストI/F部と、バッファメモリに格納されたデータセットを取り出してテープに転送し、テープから読み出されたデータセットをバッファメモリに格納するメディアI/F部とを備えた装置において、ホストとの間の転送レートをホストI/F部から取得し、テープに書き込む際のエラーレートをメディアI/F部から取得し、この転送レートとエラーレートに基づいてテープスピードを決定し、決定されたスピードでテープが動作するよう制御している。
特許文献2では、複数の書込データをデータ記録媒体に対して予め定められたサイズのセグメント単位で順次書き込む記憶装置において、複数の書込データのそれぞれについて、書込データをデータ記録媒体に対して書き込む書込指示に対応付けて書込データを受信した場合に、書込データをデータ記録媒体の少なくとも一のセグメントに対して書き込み、一の書込データのサイズが予め定められた規定サイズより小さい場合に、データ記録媒体に順次書き込まれた複数の書込データのうち、一の書込データ以降に書き込まれた複数の書込データを連結して、データ記録媒体における、連結の対象となった複数の書込データの書き込みに要していたセグメントより少ない数のセグメントに対して書き込んでいる。また、特許文献2では、バックヒッチを行わずに書込データをテープ記録媒体に対して書き込むバックヒッチレスフラッシュを行うことで、バックヒッチを行う場合と比較して、高速に動作している。
特許文献3では、回転可能なスキャナと、スキャナの回転の間に情報が記録されるように、磁気テープを回転可能なスキャナ近くに移送する移送システムとを備えるヘリカルスキャンテープレコーダにおいて、コントローラが、テープへの記録動作中にポーズするためのポーズルーチンとして、テープ上のポーズ前最終記録位置を示すテープポーズ位置基準値を判断するステップと、テープ上のポーズ前最終記録位置の後に消去信号を記録するステップと、テープを巻き戻すステップと、テープを順方向に移送し、現テープ位置値を取得するステップと、現テープ位置値がいつテープポーズ位置基準値に対する所定の値に達するかを判断するステップと、スキャナの次の回転の開始時において、テープへの1つ以上のポーズ後ストライプの記録を開始するステップとを実行している。
特開2006−318571号公報 特開2004−341925号公報 特表2008−533636号公報
また、バックヒッチを行わなくて済むようにするためには、同期コマンドを受け取った後、次のデータの書込みが可能となるまで、テープを空走行する(データを書き込まずに走行する)ことも考えられる。しかしながら、データをテープに書き込む時間がテープ速度に比例することから、書込み時間の短縮のために速いテープ速度を用いたとすると、空走行する距離が長くなり、読出し時のパフォーマンスが低下してしまうという問題点があった。
逆に、読出し時のパフォーマンスの目標値を実現しようとすると、空走行する距離を短くせざるを得ないので、その分バックヒッチを行うことになる。従って、バックヒッチの発生頻度やバックヒッチの所要時間を考慮した書込み処理全体の時間を短縮することができなくなってしまう。
本発明の目的は、目標の読出しデータレートの実現を妨げることなく、書込みのパフォーマンスを向上することにある。
かかる目的のもと、本発明は、テープ媒体にデータを書き込む際のテープ媒体の走行を制御する装置であって、バックヒッチを行わないことによってデータが書き込まれずに走行するテープ媒体の部分の長さが、テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートの実現を妨げない長さになるように、テープ媒体を走行させる速度を決定する決定部を含む、装置を提供する。
ここで、決定部は、予め定められた量の単位データが書き込まれたテープ媒体の範囲において、バックヒッチを伴わないデータの書込みに要する時間である第1の所要時間と、バックヒッチを伴うデータの書込みに要する時間である第2の所要時間とを算出し、第1の所要時間と第2の所要時間とに基づいて、テープ媒体を走行させる速度を決定する、ものであってよい。
また、決定部は、範囲においてバックヒッチを行わずにデータを書き込むことが可能な回数である第1の回数に基づいて第1の所要時間を算出し、範囲においてバックヒッチを行ってからデータを書き込むことが必要な回数である第2の回数に基づいて第2の所要時間を算出する、ものであってよい。その場合、テープ媒体にデータを書き込んでから次のデータを書き込むまでの時間の履歴を示す時間履歴情報と、テープ媒体に単位データを書き込むためにデータを書き込んだ回数の履歴を示す回数履歴情報とを記憶する記憶部を更に備え、決定部は、時間履歴情報に基づいて第1の回数を算出し、第1の回数と回数履歴情報とに基づいて第2の回数を算出する、ものであってよい。
更に、決定部は、バックヒッチを行わずにデータを書き込むのに要する時間である第1の時間に基づいて第1の所要時間を算出し、バックヒッチを行ってからデータを書き込むのに要する時間である第2の時間に基づいて第2の所要時間を算出する、ものであってよい。その場合、テープ媒体にデータを書き込んでから次のデータを書き込むまでの時間の履歴を示す時間履歴情報と、テープ媒体に1回に書き込むデータの量の履歴を示すデータ量履歴情報とを記憶する記憶部を更に備え、決定部は、時間履歴情報とデータ量履歴情報とに基づいて第1の時間を算出し、予め定められた値を用いて算出されたバックヒッチに要する時間とデータ量履歴情報とに基づいて第2の時間を算出する、ものであってよい。
また、本発明は、テープ媒体にデータを書き込む際のテープ媒体の走行を制御する装置であって、テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートを取得する取得部と、取得部により取得された読出しデータレートを実現するために予め定められた量の単位データが書き込まれたテープ媒体の範囲においてバックヒッチを行わずにデータを書き込むことが可能な回数と、バックヒッチを行わずにデータを書き込むのに要する時間とを乗算して得られた第1の所要時間と、取得部により取得された読出しデータレートを実現するために範囲においてバックヒッチを行ってからデータを書き込むことが必要な回数と、バックヒッチを行ってからデータを書き込むのに要する時間とを乗算して得られた第2の所要時間とに基づいて、テープ媒体を走行させる速度を決定する決定部とを含む、装置も提供する。
ここで、決定部は、テープ媒体の複数の速度にそれぞれ対応する第1の所要時間と第2の所要時間との複数の和を算出し、特定の速度についての和が複数の和の中で最小である場合に、特定の速度を、テープ媒体を走行させる速度として決定する、ものであってよい。
更に、本発明は、テープ媒体にデータを書き込む際のテープ媒体の走行を制御する方法であって、テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートを取得するステップと、バックヒッチを行わないことによってデータが書き込まれずに走行するテープ媒体の部分の長さが、読出しデータレートの実現を妨げない長さになるように、テープ媒体を走行させる速度を決定するステップとを含む、方法も提供する。
更にまた、本発明は、テープ媒体にデータを書き込む際のテープ媒体の走行を制御する装置としてコンピュータを機能させるプログラムであって、コンピュータを、テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートを取得する取得部と、バックヒッチを行わないことによってデータが書き込まれずに走行するテープ媒体の部分の長さが、取得部により取得された読出しデータレートの実現を妨げない長さになるように、テープ媒体を走行させる速度を決定する決定部として機能させる、プログラムも提供する。
本発明によれば、目標の読出しデータレートの実現を妨げることなく、書込みのパフォーマンスを向上することにある。
本発明の実施の形態が適用されるテープドライブの構成を示したブロック図である。 スピードレベルとテープ速度と読出しデータレートとの対応関係の例を示した図である。 本発明の実施の形態におけるT(x)の算出方法について説明するための図である。 本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。 本発明の実施の形態におけるコントローラの動作例を示したフローチャートである。 本発明の実施の形態のコントローラにおけるバックヒッチ判定部の動作例を示したフローチャートである。 本発明の実施の形態のコントローラにおける速度決定部の動作例を示したフローチャートである。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図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としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
ここで、ホストI/F11は、上位装置の一例であるホスト30との通信を行う。例えば、ホスト30から、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンド、バッファ12に蓄積されたデータのテープ23への強制的な書込みを指示するコマンド(同期コマンド)を受け取る。尚、このホストI/F11で用いる通信規格としては、SCSIが例示される。SCSIの場合、1つ目のコマンドは、Writeコマンドに相当し、2つ目のコマンドは、LocateコマンドやSpaceコマンドに相当し、3つ目のコマンドは、Readコマンドに相当し、4つ目のコマンドは、WriteFM non−immediateコマンドに相当する。また、ホストI/F11は、ホスト30に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
バッファ12は、テープ23に書き込むべきデータやテープ23から読み出されたデータを蓄積するメモリである。例えば、DRAM(Dynamic Random Access Memory)によって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットを格納している。 チャネル13は、テープ23に書き込むべきデータをヘッド14に送ったり、テープ23から読み出されたデータをヘッド14から受け取ったりするために用いられる通信経路である。
ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。
モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
一方、コントローラ16は、テープドライブ10の全体を制御する。例えば、ホストI/F11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御も行う。
ヘッド位置制御システム17は、所望の1つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド14を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。
本実施の形態では、かかる構成を有するテープドライブ10において、同期コマンドを受け取ってもバックヒッチを行わずにそのままテープ23を走行させ、次のデータを同じラップに書き込む。このように同じラップにバックヒッチを行わずにデータを書き込む方式は、SWBF(Same Wrap Backhitchless Flush)或いはSkip Syncと呼ばれるが、以下では、SWBFと呼ぶことにする。
その際、本実施の形態では、書込み時間の短縮のみを考慮して速いテープ速度を用いるのではなく、バックヒッチの回数を抑えて全体の書込み時間を短縮するために、より遅いテープ速度の中から適切なテープ速度を選択して用いることがある。
即ち、テープドライブ10は、読出し時のパフォーマンスの目標値を達成するために、モニタする一定の範囲において、SWBFを実行できる回数とバックヒッチが発生する回数とを算出する。そして、これらの回数に基づいて、段階的に用意されたテープ23の複数のスピードレベルのうちスピードレベルxを用いてデータを書き込むのに要する時間T(x)を算出する。これにより、T(x)が最小となるスピードレベルを選択すれば、最大のパフォーマンスを得ることが可能となる。
以下、T(x)の具体的な算出方法について説明する。
まず、T(x)を算出するのに用いる変数として、S(x)及びR(x)を定義する。即ち、段階的に用意されたテープ23の複数のスピードレベルのうちスピードレベルxをSPxと表記すると、S(x)は、SPxでのテープ速度[m/sec]であり、R(x)は、SPxでの書込みデータレート[MB/sec]である。
図2に、SPx、S(x)、R(x)の値の一例として、第5世代LTOにおける値を示す。
一方、テープドライブ10は、SPxでバックヒッチを行うのに要する時間T_backhitch(x)[sec]を、以下の式により算出する。但し、A[m/sec]は、テープ23の加速度であり、例えば、10[m/sec]である。また、s[sec]は、テープ速度がその変更後に安定するまでの時間であり、例えば、1.0[sec]である。
T_backhitch(x)=(S(x)/A)*4+s*2
また、テープドライブ10は、最高速度であるSP1を用いてデータを読み出すときに目標の読出しデータレートであるTarget_Data_Rateを実現するために許容される空走行の最長距離Max_Length[m]を、以下の式により算出する。
Max_Length=Max_Interval*S(1)
ここで、Max_Interval[sec]は、最高速度であるSP1を用いてデータを読み出すときに目標の読出しデータレートであるTarget_Data_Rateを実現するために許容される空走行の最大時間であり、以下の式により求められる。但し、Target_Data_Size[MB]は、Target_Data_Rateをモニタする対象であるデータのデータ量である。
Max_Interval=Target_Data_Size/Target_Data_Rate−Target_Data_Size/R(1)
ところで、本実施の形態において、テープドライブ10は、パフォーマンスをモニタする対象であるTarget_Data_Sizeのデータをホスト30から受け取ってテープ23に書き込んだときに、Average_Interval[sec]、Average_Tx[MB]、nを履歴情報として取得し、記録しておく。そして、このような履歴情報を用いることにより、直近の値に基づいて適切なテープ速度を決定する。
ここで、Average_Intervalは、同期を完了してから次のデータを受け取ってテープに書き始めることができるようになるまでの平均時間であり、Average_Txは、同期と同期の間の平均データ転送量であり、nは、Target_Data_Sizeを書き込むまでに同期を行った回数である。
このような情報を取得した状態で、テープドライブ10は、Target_Data_Sizeのデータを書き込むまでに行った同期のうち、SWBFを実行可能な同期の数の最大値m(x)を、以下の式により算出する。
m(x)=Max_Length/l(x)
ここで、l(x)[m]は、テープ23がSPxに対応するテープ速度で走行している場合において、同期後に空走行する距離であり、以下の式により求められる。
l(x)=Average_Interval*S(x)
また、テープドライブ10は、Average_TxのデータをSWBFで書き込むのに要する時間T_swbf(x)[sec]を、以下の式により算出する。
T_swbf(x)=Average_Tx/R(X)+Average_Interval
更に、テープドライブ10は、Average_TxのデータをNormal Write(バックヒッチを伴う書込み方法)で書き込むのに要する時間T_normal(x)[sec]を、以下の式により算出する。
T_normal(x)=T_backhitch(x)+Average_Tx/R(x)
これらの値を取得すると、テープドライブ10は、Target_Data_Sizeのデータを書き込むのに要する時間T(x)を、以下の式により算出する。
T(x)=m(X)*T_swbf(x)+(n−m(X))*T_normal(x)
そして、T(x)が一番小さくなるテープ速度でデータを書き込むとパフォーマンスが良くなる。
図3は、この算出方法について具体的に示した概念図である。尚、図では、Target_Data_Sizeを100MBとし、Average_Txを10MBとし、nを10としている。
(a)は、SP1に対応する最速のテープ速度S(1)でNormal Writeを行った場合を示す。
同期時には、10MBのデータが書かれた後、バックヒッチが行われ、次の10MBのデータが詰めて書かれている。その結果、読出し時のパフォーマンスを保つために一定のデータ量を書かなければならない範囲(図中、黒い太矢印で示した範囲)には、Max_Length[m]のデータが書かれていない部分(図中、白い太矢印で示した部分)が生じている。
一方、(b)は、SPxに対応するテープ速度S(x)でSWBFを行った場合を示す。
この場合、1回目の同期Sync(1)で10MBのデータを書いた後は、白い太矢印で示すように、空走行を行っている。ここで、空走行は距離l(x)にわたって行われるので、読出し時のパフォーマンスを保つために一定のデータ量を書かなければならない範囲(図中、黒い太矢印で示した範囲)内で無制限に行えるものではない。そこで、図では、この範囲内で空走行を行える回数m(x)を2とし、2回目の同期Sync(2)で10MBのデータを書いた後から5回目までの同期Sync(5)で10MBのデータを書いた後までは、バックヒッチを行っている。その後、6回目の同期Sync(6)で10MBのデータを書いた後は、白い太矢印で示すように、空走行を行い、7回目の同期Sync(7)で10MBのデータを書いた後から9回目までの同期Sync(9)で10MBのデータを書いた後までは、バックヒッチを行っている。
次に、このような動作を実現するためのコントローラ16の機能構成について説明する。
図4は、コントローラ16の機能構成例を示したブロック図である。
図示するように、コントローラ16は、コマンド処理部41と、バッファ管理部42と、チャネル入出力部43と、バックヒッチ判定部44と、目標容量記憶部45と、速度決定部46と、履歴記憶部47と、速度テーブル記憶部48と、動作信号出力部49とを備える。
このうち、コマンド処理部41は、ホストI/F11からコマンドを受け取る。ここで、コマンドとしては、例えば、バッファ12にデータを格納することを指示するWriteコマンド、バッファ12に格納されたデータをテープ23に書き込む同期コマンド(WriteFMコマンド等)がある。
バッファ管理部42は、コマンド処理部41がWriteコマンドを受け取った場合は、データをバッファ12内に用意する。また、コマンド処理部41が同期コマンドを受け取った場合は、データをバッファ12から読み出してチャネル入出力部43に出力する。 チャネル入出力部43は、バッファ管理部42がバッファ12から読み出したデータをチャネル13に出力したり、チャネル13から受け取ったデータをバッファ12に格納したりする。
バックヒッチ判定部44は、目標容量をテープ23に書き出すことと、目標とする読出しデータレートを確保することのために、バックヒッチを行うべきかどうかを判定する。 目標容量記憶部45は、テープ23の公称容量のうち書き込むべき目標容量の情報を記憶する。
速度決定部46は、バックヒッチ判定部44がバックヒッチを行うと判定した場合に、目標とする読出しデータレートを確保するためのテープ速度を決定する。本実施の形態では、目標の読出しデータレートを取得する取得部の一例として、また、テープ媒体を走行させる速度を決定する決定部の一例として、速度決定部46を設けている。
履歴記憶部47は、過去にデータを書き込んだときの履歴情報を記憶する。ここで、履歴情報には、例えば、これまでのテープ23上で空走行が行われた長さ、同期の回数、同期から同期までの時間や、同期に応じて書き込まれたデータのサイズ(トランザクションサイズ)等の情報がある。また、現在の書込み位置から遡って一定量のデータが書かれた範囲についてのみ、これらの情報を履歴情報として記憶するようにしてもよい。本実施の形態では、履歴情報を記憶する記憶部の一例として、履歴記憶部47を設けている。
速度テーブル記憶部48は、テープ23に対して複数段階用意されたスピードレベルと、各スピードレベルに対応するテープ速度や読出しデータレートとの対応を含む速度テーブルを記憶する。
動作信号出力部49は、モータドライバ18に対して、バックヒッチ判定部44又は速度決定部46で決定された動作を行うことを指示する信号を出力する。
次に、コントローラ16の動作について説明する。
図5は、コントローラ16の動作例を示したフローチャートである。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
コントローラ16では、このようなデータセットの書込み中に、バッファ管理部42が、バッファ12から最後のデータセットを読み出してチャネル入出力部43に渡し、チャネル入出力部43が、渡されたデータセットをテープ23に書き込む(ステップ401)。
このとき、最後のデータセットがテープ23に書き込まれたことがバッファ管理部42に伝えられるので、バッファ管理部42は、バックヒッチ判定部44に対して、バックヒッチを行うかどうかを判定するよう指示する。これにより、バックヒッチ判定部44は、目標容量をテープ23に書き出し、かつ、目標とする読出しデータレートを確保するという観点からバックヒッチを行うかどうかを判定するバックヒッチ判定処理を行う(ステップ402)。尚、このバックヒッチ判定処理の詳細については後述する。そして、バックヒッチ判定処理における判定結果は、動作信号出力部49に出力される。
これにより、動作信号出力部49は、判定結果がSWBFを実行すること(バックヒッチを行わないこと)を示しているかどうかを判定する(ステップ403)。
ここで、判定結果がSWBFを実行することを示していない場合、動作信号出力部49は、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力する(ステップ409)。
一方、判定結果がSWBFを実行することを示している場合、動作信号出力部49は、制御をバッファ管理部42に戻し、バッファ管理部42が、トランザクションサイズ(図では「TRサイズ」と表記)とバッファ12のサイズ(図では「BUFサイズ」と表記)とを比較する(ステップ404)。ここで、トランザクションサイズとしては、例えば、過去の3つのトランザクションのサイズの平均値を用いるとよい。
その結果、トランザクションサイズがバッファ12のサイズよりも小さければ、バッファ管理部42は、速度決定部46に対して、テープ23の新たな速度を決定するよう指示する。これにより、速度決定部46は、テープ23の新たな速度を決定するテープ速度決定処理を行う(ステップ405)。尚、このテープ速度決定処理の詳細についても後述する。
その後、現在のテープ速度がこのテープ速度決定処理で決定されたテープ速度と異なるならば、SWBFは実行されることなく、バックヒッチが行われ、テープ速度が変更される。具体的には、速度決定部46が、ステップ405で決定されたテープ速度が現在のテープ速度に等しいかどうかを判定する(ステップ406)。そして、これらのテープ速度が等しければ、SWBFを実行することを決定する(ステップ407)。また、これらのテープ速度が等しくなければ、ステップ405で決定されたテープ速度をバックヒッチ後に用いることを決定し、動作信号出力部49に伝える(ステップ408)。すると、動作信号出力部49は、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力する(ステップ409)。そして、このバックヒッチの後に、テープ23の速度が変更されることになる。
一方、ステップ404でトランザクションサイズがバッファ12のサイズ以上であると判定されれば、SWBFを実行することを決定する(ステップ407)。
このようにして、SWBFを実行することの決定、又は、バックヒッチの開始がなされると、その旨はコマンド処理部41に返され、コマンド処理部41は、同期コマンドの完了をホスト30に報告する(ステップ410)。
その後、コマンド処理部41は、次のデータセットを受け付けてバッファ管理部42に受け渡し、バッファ管理部42が、受け付けたデータをバッファ12に格納する(ステップ411)。
次に、バッファ管理部42は、新しい書込みを開始するために十分なデータセットが受け取られたかどうかを判定する(ステップ412)。そして、十分なデータセットが受け取られていないと判定されれば、ステップ410の終了後から一定時間経過したかどうかの判断に移り(ステップ413)、一定時間が経過していなければ、暫く待って(ステップ414)、再度ステップ412の判定を行う。一定時間が経過していれば、バッファ管理部42は、動作信号出力部49に制御を渡し、動作信号出力部49が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ416)。また、ステップ412で十分なデータセットが受け取られたと判定されれば、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短いかどうかを判定する(ステップ415)。例えば、その間隔が、データセット間隔の閾値よりも長いかどうかを判定すればよい。
ここで、ステップ410の終了後から一定時間が経過した場合、及び、十分なデータセットを受け取った後、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が長い場合、バッファ管理部42は、動作信号出力部49に制御を渡し、動作信号出力部49が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ416)。そして、バッファ管理部42は、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ417)。
一方、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短ければ、バックヒッチは行わずに、バッファ管理部42が、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ417)。
その後、チャネル入出力部43が、データの書込みに関する履歴情報をバッファ管理部42に伝え、バッファ管理部42が、この履歴情報を履歴記憶部47に記憶する(ステップ418)。ここで、履歴情報には、現在の書込み位置の直近の単位データ(ターゲットデータ)が書き込まれた範囲内に生じたデータセット間の間隔の累計であるAccumulated_Interval、そのときのテープ速度S(x)、同期を完了してから次のデータを受け取ってテープに書き始めることができるようになるまでの平均時間Average_Interval(時間履歴情報の一例)、同期と同期の間の平均データ転送量Average_Tx(データ量履歴情報の一例)、Target_Data_Sizeを書き込むまでに同期を行った回数n(回数履歴情報の一例)等がある。
次に、ステップ402のバックヒッチ判定処理について詳細に説明する。
図6は、バックヒッチ判定処理の流れを示したフローチャートである。
バックヒッチ判定部44は、まず、図示しないメモリに記憶されたモード情報を取得する(ステップ501)。そして、モード情報が高データレートモードを示しているかどうかを判定する(ステップ502)。ここで、高データレートモードとは、公称容量よりも少ない目標容量(Target Capacity)を書き込むことを前提としたモードである。
その結果、モード情報が高データレートモードを示していると判定されれば、バックヒッチ判定部44は、目標容量記憶部45から目標容量を取得する(ステップ503)。また、バックヒッチ判定部44は、総データセット数C、有効テープ長T、SWBF用マージン比率r、最終データサイズセット位置p、最終データセット番号w、データセット長Lを取得する(ステップ504)。このうち、C、T、Lは、予め内部に保持された設定情報から取得するとよい。また、rは、ステップ503で取得した目標容量を公称容量で除することによって求めるとよい。更に、p、wは、ステップ401で最後のデータセットを書き込んだときに得られるので、その値を取得するとよい。
次に、バックヒッチ判定部44は、このようにして取得した値に関し、条件式「(C×r−w)×L<T−p」が成立するかどうかを判定する(ステップ505)。
ここで、条件式が成立した場合、バックヒッチ判定部44は、Target_Data_Size、Target_Data_Rate、R(1)、Accumulated_Interval、S(x)、S(1)を取得する(ステップ506)。このうち、Target_Data_Size、Target_Data_Rate、は、予め内部に保持された設定情報から取得するとよい。また、R(1)、S(1)は、速度テーブル記憶部48に記憶された速度テーブルを検索することにより取得するとよい。更に、Accumulated_Interval、S(x)は、ステップ418で履歴記憶部47に記憶されたものを取得するとよい。
次に、バックヒッチ判定部44は、式「Threshold=Target_Data_Size/Target_Data_Rate−Target_Data_Size/R(1)−Accumulated_Interval*S(x)/S(1)」により、Thresholdを求め(ステップ507)、Thresholdが0より大きいかどうかを判定する(ステップ508)。
その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ509)。
一方、ステップ502でモード情報が高データレートモードを示していないと判定された場合、ステップ505で条件式「(C×r−w)×L<T−p」が成立しないと判定された場合、及び、ステップ508でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ510)。
次に、ステップ405のテープ速度決定処理について詳細に説明する。
図7は、テープ速度決定処理の流れを示したフローチャートである。尚、この動作例は、SWBFに対する容量基準が満たされるときでも、同期タイミングにおいて、SWBFを行うかバックヒッチを行うかを追加的に決定するものである。
まず、速度決定部46は、S(1)、R(1)、Target_Data_Size、Target_Data_Rate、Average_Interval、Average_Tx、n、A、sを取得する(ステップ601)。このうち、Target_Data_Size、Target_Data_Rate、A、sは、予め内部に保持された設定情報から取得するとよい。また、S(1)、R(1)は、速度テーブル記憶部48に記憶された速度テーブルを検索することにより取得するとよい。更に、Average_Interval、Average_Tx、nは、ステップ418で履歴記憶部47に記憶されたものを取得するとよい。
次に、速度決定部46は、Max_Lengthを算出する(ステップ602)。具体的には、まず、ステップ601で取得したR(1)、Target_Data_Size、Target_Data_Rateを用いて、「Max_Interval=Target_Data_Size/Target_Data_Rate−Target_Data_Size/R(1)」により、Max_Intervalを算出する。また、ステップ601で取得したS(1)を用いて、「Max_Length=Max_Interval*S(1)」により、Max_Lengthを算出する。
次いで、速度決定部46は、T(1)を算出する(ステップ603)。具体的には、まず、ステップ601で取得したS(1)、A、sを用いて、「T_backhitch(1)=(S(1)/A)*4+s*2」により、T_backhitch(1)を算出する。また、同じくステップ601で取得したR(1)、Average_Txを用いて、「T_normal(1)=T_backhitch(1)+Average_Tx/R(1)」により、T_normal(1)を算出する。更に、同じくステップ601で取得したR(1)、Average_Tx、Average_Intervalを用いて、「T_swbf(1)=Average_Tx/R(1)+Average_Interval」により、T_swbf(1)を算出する。また、同じくステップ601で取得したS(1)、Average_Intervalを用いて、「l(1)=Average_Interval*S(1)」により、l(1)を算出する。更に、ステップ602で算出したMax_Lengthを用いて、「m(1)=Max_Length/l(1)」により、m(1)を算出する。更にまた、ステップ601で取得したnを用いて、「T(1)=m(1)*T_swbf(1)+(n―m(1))*T_normal(1)」により、T(1)を算出する。
その後、速度決定部46は、スピードレベルを表す変数xに2を代入する(ステップ604)。
そして、速度決定部46は、変数xが2の場合から5の場合までの各場合において、T(x)を評価する処理を行う。
即ち、まず、速度決定部46は、S(x)、R(x)を取得する(ステップ605)。ここで、S(x)、R(x)は、速度テーブル記憶部48に記憶された速度テーブルを検索することにより取得するとよい。
次に、速度決定部46は、T(x)を算出する(ステップ606)。具体的には、まず、ステップ605で取得したS(x)と、ステップ601で取得したA、sとを用いて、「T_backhitch(x)=(S(x)/A)*4+s*2」により、T_backhitch(x)を算出する。また、ステップ605で取得したR(x)と、ステップ601で取得したAverage_Txとを用いて、「T_normal(x)=T_backhitch(x)+Average_Tx/R(x)」により、T_normal(x)を算出する。更に、ステップ605で取得したR(x)と、ステップ601で取得したAverage_Tx、Average_Intervalとを用いて、「T_swbf(x)=Average_Tx/R(x)+Average_Interval」により、T_swbf(x)を算出する。また、ステップ605で取得したS(x)と、ステップ601で取得したAverage_Intervalを用いて、「l(x)=Average_Interval*S(x)」により、l(x)を算出する。更に、ステップ602で算出したMax_Lengthを用いて、「m(x)=Max_Length/l(x)」により、m(x)を算出する。更にまた、ステップ601で取得したnを用いて、「T(x)=m(x)*T_swbf(x)+(n−m(x))*T_normal(x)」により、T(x)を算出する。尚、m(x)*T_swbf(x)は第1の所要時間の一例であり、(n−m(x))*T_normal(x)は第2の所要時間の一例である。また、m(x)は第1の回数の一例であり、(n−m(x))は第2の回数の一例である。更に、T_swbf(x)は第1の時間の一例であり、T_normal(x)は第2の時間の一例である。
その後、速度決定部46は、T(x)がT(x−1)よりも小さいかどうかを判定する(ステップ607)。つまり、T(x)が最小となる場合に、テープ23をテープ速度S(x)で走行させれば、最大のパフォーマンスが得られるので、そのようなT(x)を探索する処理を行っている。
その結果、T(x)がT(x−1)よりも小さいと判定されれば、速度決定部46は、xに1を加算する(ステップ608)。そして、加算後のxが5以下であるかどうかを判定する(ステップ609)。つまり、本実施の形態において、テープドライブ10に用意されたスピードレベルは1から5までであるので、S(x)よりも遅い速度があるかどうかを判定する。その結果、加算後のxが5以下であれば、ステップ605に戻る。
このようにしてステップ605〜609を繰り返し、ステップ609でxが5に達し、これ以上遅い速度がないと判定されたとする。この場合は、選択された速度を表す変数ChosenSpeedに対し、速度テーブル記憶部48に登録された最も遅い速度であるS(5)を設定する(ステップ610)。一方、ステップ607でT(x)がT(x−1)よりも小さくないと判定されたとする。この場合は、選択された速度を表す変数ChosenSpeedに対し、そのとき評価しているT(x)の1つ前のT(x−1)に対応するS(x−1)を設定する(ステップ611)。
以上により、本実施の形態についての説明を終了する。
このように、本実施の形態では、SWBFによって空走行が生じても目標の読出しデータレートを実現可能なテープ速度を選択し、そのテープ速度でテープ23を走行させてデータを書き込むようにした。これにより、書込み時のパフォーマンスを向上しつつ、目標の読出しデータレートも確保することができる。
尚、本実施の形態では、テープ23の速度を変更するに先立ってバックヒッチを行うようにしたが、バックヒッチを行わずにテープ23の速度を変更する構成としてもよい。
また、上記では、テープ速度を段階的に変更するテープドライブ10に本実施の形態を適用した場合について説明したが、本実施の形態は、テープ速度を無段階変速可能なテープドライブ装置に対しても適用可能である。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…テープドライブ、11…ホストI/F、12…バッファ、13…チャネル、14…ヘッド、15…モータ、16…コントローラ、17…ヘッド位置制御システム、18…モータドライバ、20…テープカートリッジ、21,22…リール、23…テープ、30…ホスト、41…コマンド処理部、42…バッファ管理部、43…チャネル入出力部、44…バックヒッチ判定部、45…目標容量記憶部、46…速度決定部、47…履歴記憶部、48…速度テーブル記憶部、49…動作信号出力部

Claims (10)

  1. テープ媒体にデータを書き込む際の当該テープ媒体の走行を制御する装置であって、
    連続するデータの書込み毎に同期を受け、前記同期にしてバックヒッチを行わないデータの書込みと、バックヒッチを行うデータの書込みとの回数を調整しながら書込む場合において、バックヒッチを行わないことによってデータが書き込まれずに走行する前記テープ媒体の部分の長さが、当該テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートの実現を妨げない長さになるように、当該テープ媒体を走行させる速度を決定する決定部
    を含む、装置。
  2. 前記決定部は、予め定められた量の単位データが書き込まれた前記テープ媒体の範囲において、バックヒッチを伴わないデータの書込みに要する時間である第1の所要時間と、バックヒッチを伴うデータの書込みに要する時間である第2の所要時間とを算出し、当該第1の所要時間と当該第2の所要時間とに基づいて、当該テープ媒体を走行させる速度を決定する、請求項1の装置。
  3. 前記決定部は、前記範囲においてバックヒッチを行わずにデータを書き込むことが可能な回数である第1の回数に基づいて前記第1の所要時間を算出し、前記範囲においてバックヒッチを行ってからデータを書き込むことが必要な回数である第2の回数に基づいて前記第2の所要時間を算出する、請求項2の装置。
  4. 前記テープ媒体にデータを書き込んでから次のデータを書き込むまでの時間の履歴を示す時間履歴情報と、前記テープ媒体に前記単位データを書き込むためにデータを書き込んだ回数の履歴を示す回数履歴情報とを記憶する記憶部を更に備え、
    前記決定部は、前記時間履歴情報に基づいて前記第1の回数を算出し、当該第1の回数と前記回数履歴情報とに基づいて前記第2の回数を算出する、請求項3の装置。
  5. 前記決定部は、バックヒッチを行わずにデータを書き込むのに要する時間である第1の時間に基づいて前記第1の所要時間を算出し、バックヒッチを行ってからデータを書き込むのに要する時間である第2の時間に基づいて前記第2の所要時間を算出する、請求項2又は3の装置。
  6. 前記テープ媒体にデータを書き込んでから次のデータを書き込むまでの時間の履歴を示す時間履歴情報と、前記テープ媒体に1回に書き込むデータの量の履歴を示すデータ量履歴情報とを記憶する記憶部を更に備え、
    前記決定部は、前記時間履歴情報と前記データ量履歴情報とに基づいて前記第1の時間を算出し、予め定められた値を用いて算出されたバックヒッチに要する時間と前記データ量履歴情報とに基づいて前記第2の時間を算出する、請求項5の装置。
  7. 連続するデータの書込み毎に同期を受け、前記同期にしてバックヒッチを行わないデータの書込みと、バックヒッチを行うデータの書込みとの回数を調整しながら書込む場合において、テープ媒体にデータを書き込む際の当該テープ媒体の走行を制御する装置であって、
    前記テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートを取得する取得部と、
    前記取得部により取得された前記読出しデータレートを実現するために予め定められた量の単位データが書き込まれた前記テープ媒体の範囲においてバックヒッチを行わずにデータを書き込むことが可能な回数と、バックヒッチを行わずにデータを書き込むのに要する時間とを乗算して得られた第1の所要時間と、前記取得部により取得された前記読出しデータレートを実現するために前記範囲においてバックヒッチを行ってからデータを書き込むことが必要な回数と、バックヒッチを行ってからデータを書き込むのに要する時間とを乗算して得られた第2の所要時間とに基づいて、当該テープ媒体を走行させる速度を決定する決定部と
    を含む、装置。
  8. 前記決定部は、前記テープ媒体の複数の速度にそれぞれ対応する前記第1の所要時間と前記第2の所要時間との複数の和を算出し、特定の速度についての和が当該複数の和の中で最小である場合に、当該特定の速度を、当該テープ媒体を走行させる速度として決定する、請求項7の装置。
  9. 連続するデータの書込み毎に同期を受け、前記同期にしてバックヒッチを行わないデータの書込みと、バックヒッチを行うデータの書込みとの回数を調整しながら書込む場合において、テープ媒体にデータを書き込む際の当該テープ媒体の走行を制御する方法であって、
    前記テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートを取得するステップと、
    バックヒッチを行わないことによってデータが書き込まれずに走行する前記テープ媒体の部分の長さが、前記読出しデータレートの実現を妨げない長さになるように、当該テープ媒体を走行させる速度を決定するステップと
    を含む、方法。
  10. 連続するデータの書込み毎に同期を受け、前記同期にしてバックヒッチを行わないデータの書込みと、バックヒッチを行うデータの書込みとの回数を調整しながら書込む場合において、テープ媒体にデータを書き込む際の当該テープ媒体の走行を制御する装置としてコンピュータを機能させるプログラムであって、
    前記コンピュータを、
    前記テープ媒体に書き込まれたデータを読み出す際の目標の読出しデータレートを取得する取得部と、
    バックヒッチを行わないことによってデータが書き込まれずに走行する前記テープ媒体の部分の長さが、前記取得部により取得された前記読出しデータレートの実現を妨げない長さになるように、当該テープ媒体を走行させる速度を決定する決定部として機能させる、プログラム。
JP2011547363A 2009-12-22 2010-09-28 テープ媒体の走行を制御する装置及び方法 Active JP5385992B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011547363A JP5385992B2 (ja) 2009-12-22 2010-09-28 テープ媒体の走行を制御する装置及び方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009291515 2009-12-22
JP2009291515 2009-12-22
PCT/JP2010/066790 WO2011077798A1 (ja) 2009-12-22 2010-09-28 テープ媒体の走行を制御する装置及び方法
JP2011547363A JP5385992B2 (ja) 2009-12-22 2010-09-28 テープ媒体の走行を制御する装置及び方法

Publications (2)

Publication Number Publication Date
JPWO2011077798A1 JPWO2011077798A1 (ja) 2013-05-02
JP5385992B2 true JP5385992B2 (ja) 2014-01-08

Family

ID=44195344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011547363A Active JP5385992B2 (ja) 2009-12-22 2010-09-28 テープ媒体の走行を制御する装置及び方法

Country Status (6)

Country Link
US (4) US8913337B2 (ja)
JP (1) JP5385992B2 (ja)
CN (1) CN102687201B (ja)
DE (1) DE112010004958B4 (ja)
GB (1) GB2488932A (ja)
WO (1) WO2011077798A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077798A1 (ja) 2009-12-22 2011-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体の走行を制御する装置及び方法
US9959045B2 (en) 2012-04-17 2018-05-01 International Business Machines Corporation Write procedure using estimated best setting in first run
US9501221B2 (en) 2013-08-26 2016-11-22 International Business Machines Corporation Dynamically changing a buffer flush threshold of a tape drive based on historical transaction size
JP6630069B2 (ja) * 2014-07-11 2020-01-15 キヤノン株式会社 情報処理方法、プログラム、および情報処理装置
JP6551101B2 (ja) * 2015-09-17 2019-07-31 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US9600493B1 (en) 2015-12-01 2017-03-21 International Business Machines Corporation Copy from source medium to target medium
US9952780B2 (en) 2016-06-28 2018-04-24 International Business Machines Corporation Method for retrieving data from a tape drive
US10895994B2 (en) * 2017-12-11 2021-01-19 International Business Machines Corporation File access control on magnetic tape by encrypting metadata
JP6737473B2 (ja) * 2018-03-29 2020-08-12 Necプラットフォームズ株式会社 磁気テープ装置及び磁気テープの検査方法
US10732843B2 (en) 2018-06-20 2020-08-04 International Business Machines Corporation Tape drive data reclamation
US10452305B1 (en) 2018-06-20 2019-10-22 International Business Machines Corporation Tape drive data reclamation
US20240094949A1 (en) * 2022-09-15 2024-03-21 International Business Machines Corporation Read order determination on a tape

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214315A (ja) * 1990-01-19 1991-09-19 Matsushita Electric Ind Co Ltd ディジタルデータ記録再生装置
JP2007095231A (ja) * 2005-09-30 2007-04-12 Internatl Business Mach Corp <Ibm> テープ記録装置のデータ書込み読取り制御方法
JP2009289349A (ja) * 2008-05-30 2009-12-10 Internatl Business Mach Corp <Ibm> テープ媒体の走行を制御する装置及び方法

Family Cites Families (11)

* 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
JP3900494B2 (ja) 2003-05-16 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、及び記録媒体
US20060204209A1 (en) 2005-03-09 2006-09-14 Exabyte Corporation Pause strategy for magnetic tape recording
US7493234B2 (en) * 2005-05-10 2009-02-17 International Business Machines Corporation Monitoring and reporting normalized device system performance
JP4140913B2 (ja) 2005-05-12 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体の駆動を制御するための装置、方法、及びプログラム
JP4755510B2 (ja) 2006-03-10 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記録装置、及び、データ記録装置のホストデータ転送のパフォーマンスを評価する方法
JP2008252852A (ja) 2007-03-30 2008-10-16 Sanyo Electric Co Ltd 画像記録装置
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
US8219830B2 (en) 2009-07-17 2012-07-10 International Business Machines Corporation Apparatus and method for management for file aggregates and file directories
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 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体の走行を制御する装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214315A (ja) * 1990-01-19 1991-09-19 Matsushita Electric Ind Co Ltd ディジタルデータ記録再生装置
JP2007095231A (ja) * 2005-09-30 2007-04-12 Internatl Business Mach Corp <Ibm> テープ記録装置のデータ書込み読取り制御方法
JP2009289349A (ja) * 2008-05-30 2009-12-10 Internatl Business Mach Corp <Ibm> テープ媒体の走行を制御する装置及び方法

Also Published As

Publication number Publication date
GB2488932A (en) 2012-09-12
DE112010004958B4 (de) 2023-08-17
GB201209656D0 (en) 2012-07-11
CN102687201B (zh) 2014-12-03
US20120229931A1 (en) 2012-09-13
US9087549B2 (en) 2015-07-21
CN102687201A (zh) 2012-09-19
US20150340056A1 (en) 2015-11-26
US9646644B2 (en) 2017-05-09
US8913337B2 (en) 2014-12-16
JPWO2011077798A1 (ja) 2013-05-02
US20160104506A1 (en) 2016-04-14
DE112010004958T5 (de) 2012-11-22
WO2011077798A1 (ja) 2011-06-30
US9251838B2 (en) 2016-02-02
US20150124349A1 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
JP5385992B2 (ja) テープ媒体の走行を制御する装置及び方法
JP5199362B2 (ja) テープ媒体の走行速度調整装置、走行速度調整方法、及び走行速度調整プログラム
US7995303B2 (en) Overhead calculation in writing synchronized data to magnetic tape
US8693128B2 (en) Apparatus and method for writing data to tape medium
US8035912B2 (en) System and method for controlling traveling of tape
US10353624B2 (en) Apparatus and method for writing data to recording medium
JP5065203B2 (ja) データのフォーマットを変換する装置及び方法
JP2008276879A (ja) 書込みリトライ方法及び磁気テープ装置
US20120293886A1 (en) Tape storage device, data writing method, and program
US9412409B2 (en) Controlling a tape speed to manage a tape drive buffer
JP5476395B2 (ja) データの書込みを制御する装置及び方法
JP5764050B2 (ja) データを書き込む装置及び方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131004

R150 Certificate of patent or registration of utility model

Ref document number: 5385992

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150