JP5476395B2 - データの書込みを制御する装置及び方法 - Google Patents

データの書込みを制御する装置及び方法 Download PDF

Info

Publication number
JP5476395B2
JP5476395B2 JP2011540430A JP2011540430A JP5476395B2 JP 5476395 B2 JP5476395 B2 JP 5476395B2 JP 2011540430 A JP2011540430 A JP 2011540430A JP 2011540430 A JP2011540430 A JP 2011540430A JP 5476395 B2 JP5476395 B2 JP 5476395B2
Authority
JP
Japan
Prior art keywords
data
tape
tape medium
written
read
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
JP2011540430A
Other languages
English (en)
Other versions
JPWO2011058794A1 (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 JP2011540430A priority Critical patent/JP5476395B2/ja
Publication of JPWO2011058794A1 publication Critical patent/JPWO2011058794A1/ja
Application granted granted Critical
Publication of JP5476395B2 publication Critical patent/JP5476395B2/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
    • 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
    • G11B5/00817Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes on longitudinal tracks only, e.g. for serpentine format recording
    • G11B5/00821Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes on longitudinal tracks only, e.g. for serpentine format recording using stationary heads
    • 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
    • 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
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
    • G11B5/09Digital recording
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

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つとして、第1のデータをテープ媒体に書き込んでから第1のデータの次の第2のデータをテープ媒体に書き込むまでにバックヒッチを行わないことを決定する、ものであってよい。
決定部は、更に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測されることを条件の1つとして、第1のデータをテープ媒体に書き込んでから第2のデータをテープ媒体に書き込むまでにバックヒッチを行わないことを決定する、ものであってよい。
その場合、決定部は、テープ媒体に書き込まれた単位データを装置が用意する最速の読出し速度で読み出すのに要する時間と、テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれなかったテープ媒体上の領域を読み飛ばすのに要する時間との和が、単位データを目標の読出し速度で読み出すのに要する時間よりも短い場合に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると判断する、ものであってよい。
或いは、決定部は、テープ媒体に書き込まれた単位データと、テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれない領域に相当する容量のデータとを、装置が用意する最速の読出し速度で読み出すのに要する時間が、単位データを目標の読出し速度で読み出すのに要する時間よりも短い場合に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると判断する、ものであってもよい。
また、記憶部は、テープ媒体を収納するテープカートリッジの装填に応じて、テープ媒体にデータを書き込むアプリケーションプログラムの指示により、特定のモードを示すモード情報を記憶する、ものであってよい。
或いは、記憶部は、テープ媒体を収納する特定のテープカートリッジの装填に応じて、特定のモードを示すモード情報を記憶する、ものであってもよい。
また、本発明は、テープ媒体へのデータの書込みを制御する装置であって、装置のモードを示すモード情報を記憶する記憶部と、記憶部に記憶されたモード情報が特定のモードを示しており、テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータがテープ媒体に書き込まれると予測され、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測される場合に、第1のデータをテープ媒体に書き込んでから第1のデータの次の第2のデータをテープ媒体に書き込むまでにバックヒッチを行うことなく、目標容量のデータをテープ媒体に書き込むことを決定する決定部とを含む、装置も提供する。
更に、本発明は、テープ媒体へのデータの書込みを制御する装置における方法であって、装置のモードを示すモード情報をメモリに記憶するステップと、メモリに記憶されたモード情報が特定のモードを示している場合に、テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことを決定するステップとを含む、方法も提供する。
更にまた、本発明は、テープ媒体へのデータの書込みを制御する装置としてコンピュータを機能させるプログラムであって、コンピュータを、装置のモードを示すモード情報をメモリに記憶する手段と、メモリに記憶されたモード情報が特定のモードを示している場合に、テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことを決定する手段として機能させる、プログラムも提供する。
本発明によれば、公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことができる。
本発明の実施の形態が適用されるテープドライブの構成を示したブロック図である。 本発明の実施の形態における読出しデータレートに関する制御のうち、インターバルベースの制御について説明するための図である。 本発明の実施の形態における読出しデータレートに関する制御のうち、トランザクションサイズベースの制御について説明するための図である。 本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。 本発明の実施の形態におけるコントローラの第1の動作例を示した図である。 本発明の実施の形態のコントローラにおけるバックヒッチ判定部の第1の動作例を示した図である。 本発明の実施の形態におけるコントローラの第2の動作例を示した図である。 本発明の実施の形態のコントローラにおけるバックヒッチ判定部の第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としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
ここで、ホスト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と呼ぶことにする。
その際、本実施の形態では、公称容量(Nominal Capacity)を書き込むことを目的とするのではなく、公称容量よりも少ない目標容量(Target Capacity)を書き込むことを前提とした「高データレートモード」(特定のモードの一例)を用意する。ここで、目標容量とは、公称容量のうち、予め設定されたSWBF用マージンを除いた容量である。例えば、公称容量1.5TBのテープカートリッジ20において、0.5TBのマージンをテープ23に設定したとすると、目標容量は1.0TBとなる。この場合、高データレートモードでは、1.0TB以上のデータを書き込むことを目指すことになる。
この高データレートモードを実現するためには、次のような技術的工夫が必要となる。 第一に、容量制御である。この制御では、予め設定された目標容量以上のデータを書き込むためにバックヒッチを行うべきかどうかが判断される。
第二に、読出しデータレートに関する制御である。この制御では、読出しデータレートを考慮して、バックヒッチを行うべきかどうかが判断される。
第三に、高データレートモードに関する制御である。この制御では、テープドライブ10がいつ高データレートモードになるかが決定される。
以下、これらの制御を順に説明する。
<容量制御>
テープドライブ10は、テープカートリッジ20の公称容量(Nominal Capacity)とは別に、予め定められた目標容量(Target Capacity)を保持している。
そして、テープドライブ10は、同期コマンドを受け取った際に、下記の式1が成り立つか(TRUEであるか)、成り立たないか(FALSEであるか)を判断する。
その結果、TRUEであると判断された場合は、目標容量分のデータをテープ23に書くために十分なマージンがあるとして、バックヒッチを行わずに、ホスト30から次のデータが送られてくるのを待つ。その後、規定時間以内に次のデータが準備できれば、書き込みを再開する。もし、規定時間以内に次のデータが準備できなければ、バックヒッチを行い、次のデータが準備できた時点で、最後に書いたデータの直後から次のデータをテープ23に書き出す。
一方、FALSEであると判断された場合は、通常通りバックヒッチを行い、次のデータがホスト30から送られてくるのを待つ。
(式1)(C×r−n)×L<T−x
ここで、各変数は、次のように定義する。
Cは、公称容量1.5TBの場合の総データセット数である。例えば、データセットサイズが2.4MBであるとすると、C=1.5TB/2.4MB=625000となる。 Tは、有効テープ長であり、総テープ長から終端警告エリアの長さを減じて得られた値である。尚、終端警告エリアとは、テープ23の終端近くにあり、バッファ12に格納された全てのデータがテープ23の終端までに書き出されるように「Early Warning」という警告をホスト30に返すためのエリアである。
rは、SWBF用マージン比率であり、SWBF用マージンの長さをTで除して得られた値である。例えば、目標容量が1.0TBで公称容量が1.5TBであるとすると、r=2/3となる。
xは、最終データセット位置、つまり、最後に書かれたデータセットの物理位置である(0<x<T)。
nは、最終データセット番号、つまり、最後に書かれたデータセットの番号である。
Lは、データセット長である。尚、データセットは、書込みエラーが発生すると、再書き込みが行われるが、Lはこの再書き込みを考慮しない場合のデータセット長である。
上記式1によってバックヒッチを行うかどうかを判断することにより、目標容量以上のデータをテープ23に書き込むことを目指し、かつ、同期コマンドによるバックヒッチの発生頻度を減らすことが可能になる。
<読出しデータレートに関する制御>
SWBFを頻繁に実行するとテープ23に書き込まれるデータセットの間隔が広がり、このようなデータセットをテープ23から読み出す際の転送レートが著しく低下する可能性がある。例えば、24MB単位で同期コマンドを受け取り、式1に従って毎回SWBFを実行する場合を考える。この場合、1データセットが2.4MBであるとすると、10データセットがまとめてテープ23に書かれ、SWBFが実行され、データセットの間隔が空いて次のデータセットが書かれることになる。ここで、10データセットがまとめて書かれる場合のデータセットの間隔は非常に短いが、SWBFが実行された場合に空けられたデータセットの間隔は非常に長い(例えば3m)。
通常、テープドライブ10の仕様に書かれている読み出し時の最大データ転送レートは、線密度/最高テープ速度で決定されている。線密度は、データセットサイズ/データセット長であり、SWBFによって発生するテープ23上のデータセットの間隔は考慮していない。よって、通常140MB/secで読出し可能なテープドライブ10において、最高テープ速度が5.987m/secであるとすると、上記の場合、以下に示すような計算により、読出しデータレートは、35MB/secとなる。
SWBFのオーバーヘッド=3[m]/5.987[m/sec]=0.501[sec]
10データセットを読み出す時間=10×2.4[MB]/140[MB/sec]=0.171[sec]
平均読出し時間=読出し対象データのデータ量/(SWBFのオーバーヘッド+10データセットを読み出す時間)=10×2.4[MB]/(0.501[sec]+0.171[sec])=35[MB/sec]
ここで、いくら書込み時のパフォーマンスが向上したとしても読出し時のパフォーマンスが著しく低下してしまうことを懸念するユーザの存在は否定できない。
そこで、本実施の形態では、データ書込み時に、データ読出し時のパフォーマンスがどの程度まで劣化してもよいかを意識して、SWBFを行うかどうかを決定する。
このような読出しデータレートに関する制御方式としては、大きく分けて2つの制御方式がある。
第1の方式は、インターバルベースの制御方式である。
次のデータが準備されるのを待つ時間であるインターバルを制御すれば、データセットの間の距離を制御することができる。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
具体的には、下記の式2によって導かれるThresholdを制御することにより読出しデータレートを制御する。LTOに準拠したテープドライブ10では、データセットの間隔の最大値は4mである。読出しデータレートを気にしないのであれば、上述の式1でTRUEと判断された後、4mを通過するまで、次のデータが準備されるのを待ち続ければよい。しかしながら、下記の式2を用いて、次のデータが準備されるのを待つ時間を制御することにより、読出しデータレートを制御する。即ち、式2のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
(式2)Threshold = Target_Data_Size/Target_Read_Data_Rate - Target_Data_Size/Read_Data_Rate_with_Speed1 - Accumulated_Interval * Speed_X/Speed1
ここで、各変数は、次のように定義する。
Target_Data_Sizeは、パフォーマンスを測定するための単位データのサイズである。
Target_Read_Data_Rateは、目標とする読出しデータレートである。
Read_Data_Rate_with_Speed1は、テープ23を最高速度で走行した場合における読出しデータレートである。即ち、テープドライブ10は、上記単位データにつき、Target_Read_Data_Rateよりも速いRead_Data_Rate_with_Speed1を供給することを前提とする。
Accumulated_Intervalは、Target_Data_Sizeのデータを書いている間にSWBFによって発生した時間であり、具体的には、Target_Data_Sizeのデータを書いている間における同期コマンドに応じた書込みの完了から次のデータの書込みまでの時間の累計である。
Speed_Xは、SWBF実行中の書込みテープ速度である。Accumulated_Intervalはデータを書き込むときに測定した時間であるので、そのときのテープ速度Speed_Xを用いて、Speed1で読み飛ばすのに要する時間に変換している。
例えば、Target_Data_Size:=100MB、Target_Read_Data_Rate:=100MB/sec、Read_Data_Rate_with_Speed1:=142MB/sec、Speed_X:=Speed1=5.987m/secとし、トランザクションサイズ(1つの同期コマンドに応じてテープ23に書き出されるデータ量)を10MB、トランザクション(1つの同期コマンドに応じたテープ23へのデータの書出し)の間のインターバルを全て0.1secとする。
1つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0 = 0.29secとなる。この場合、Thresholdは0を超えているので、SWBFが行われる。
次に、0.1秒後、2つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0.1 = 0.19secとなる。この場合も、Thresholdは0を超えているので、SWBFが行われる。
また、0.1秒後、3つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0.2 = 0.09secとなる。この場合も、Thresholdは0を超えているので、SWBFが行われる。
更に、0.1秒後、4つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0.3 = -0.91secとなる。この場合、Thresholdは0以下であるので、SWBFは行われない。
即ち、SWBFを実行してから次のデータが準備されるまで時間が常に短ければ、同期コマンドを受け取る頻度が高くても読出しデータレートに影響がないため、SWBFを実行することになる。
しかしながら、SWBFを実行してから次のデータが準備されるまでの時間が長くなれば、次のSWBFを実行する際には、次のデータが準備されるのを待つ時間を短くする。 こうすることにより、読出しデータレートの目標値を制御する。
このインターバルベースの制御方式について、図を参照して説明する。
図2は、テープ23のうち、パフォーマンスを測定するための単位データが書き込まれた部分を示した図である。
図では、データが書き込まれた4つの領域を斜線ハッチングで示しており、各領域に書き込まれたデータのサイズを左から順にD1、D2、D3、D4とする。即ち、Target_Data_Size = D1 + D2 + D3 + D4である。そして、これらのデータをテープドライブ10が用意する最大の読出しデータレートRead_Data_Rate_with_Speed1で読み出すのに要する時間は、D1/Read_Data_Rate_with_Speed1 + D2/Read_Data_Rate_with_Speed1 + D3/Read_Data_Rate_with_Speed1 + D4/Read_Data_Rate_with_Speed1である。また、これらのデータの間には、SWBFを実行することによってデータが書き込まれなかった3つの領域がある。これらの領域をテープドライブ10が用意する最大のテープ速度(最大の読出しデータレートに対応するテープ速度)で読み飛ばすのに要する時間を順に、Interval1、Interval2、Interval3とする。即ち、Accumulated_Interval * Speed_X/Speed1 = Interval1 + Interval2 + Interval3である。
この場合、最大のテープ速度でデータを読み出すことにより、単位データはTarget_Data_Size/Read_Data_Rate_with_Speed1 + Accumulated_Interval * Speed_X/Speed1という時間で読み出すことができる。従って、この時間が、Target_Data_Size/Target_Read_Data_Rateよりも短ければ、単位データを目標の読出しデータレートで読み出すことが可能であると言える。
第2の方式は、トランザクションサイズベースの制御方式である。
トランザクションサイズが小さいか、又は、蓄積されたデータのサイズが小さい場合には、SWBFを実行しないようにする。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
具体的には、下記の式3によって導かれるThresholdを制御することにより読出しデータレートを制御する。即ち、式3のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
(式3)Threshold = Tx_Size/Target_Read_Data_Rate - ( Tx_Size + X )/Read_Data_Rate_with_Speed1
ここで、各変数は、次のように定義する。
Tx_Sizeは、トランザクションサイズ、つまり、上述の通り、1つの同期コマンドに応じてテープ23に書き出されるデータ量である。
Target_Read_Data_Rateは、目標とする読出しデータレートである。
Xは、SWBF後の最大空走距離から読出し可能なデータ量であり、X = Read_Data_Rate_with_Speed1*Max_Interval/Tape_Speedである。ここで、Max_Intervalは、SWBF後の最大空走距離であり、LTOに準拠したテープドライブ10では4mである。また、Tape_Speedは、現在のテープ23の速度である。
Read_Data_Rate_with_Speed1は、テープ23を最高速度で走行した場合における読出しデータレートである。
例えば、Target_Read_Data_Rate :=100、Read_Data_Rate_with_Speed1:=142MB/sec、Max_Interval:=4m、Tape_Speed:=5.987m/secとする。
トランザクションサイズが230MBであるとすると、Threshold = 230/100 - ( 230 + 142*4/5.987)/142 = 0.012secとなる。この場合、Thresholdは0を超えているので、SWBFが行われる。
また、トランザクションサイズが220MBであるとすると、Threshold = 220/100 - ( 220 + 142*4/5.987)/142 = -0.017secとなる。この場合、Thresholdは0以下であるので、SWBFは行われない。
このトランザクションサイズベースの制御方式について、図を参照して説明する。
図3は、テープ23のうち、1つのトランザクション分のデータが書き込まれた領域と、SWBFを実行することによってデータが書き込まれなかった領域とからなる部分を示した図である。
図では、データが書き込まれた領域を斜線ハッチングで示しており、この領域に書き込まれたデータのサイズ、つまりトランザクションサイズをTx_Sizeとする。そして、このデータをテープドライブ10が用意する最大の読出しデータレートRead_Data_Rate_with_Speed1で読み出すのに要する時間は、Tx_Size/Read_Data_Rate_with_Speed1である。また、SWBFを実行することによってデータが書き込まれなかった領域に書き込み可能なデータのサイズをXとする。そして、このデータをテープドライブ10が用意する最大の読出しデータレートRead_Data_Rate_with_Speed1で読み出すのに要する時間、つまり、この領域を読み飛ばすのに要する時間は、X/Read_Data_Rate_with_Speed1である。
この場合、最大のテープ速度でデータを読み出すことにより、1つのトランザクション分のデータ(単位データと捉えることもできる)は(Tx_Size + X)/Read_Data_Rate_with_Speed1という時間で読み出すことができる。従って、この時間が、Tx_Size/Target_Read_Data_Rateよりも短ければ、1つのトランザクション分のデータを目標の読出しデータレートで読み出すことが可能であると言える。
<高データレートモードに関する制御>
テープドライブ10に高データレートモードを用意するに当たっては、いつテープドライブ10を高データレートモードに設定するかを考慮する必要がある。
テープドライブ10を高データレートモードに設定する方法としては、下記のような方法が考えられる。
第一に、アプリケーションプログラムがテープカートリッジ20をロードするたびに設定する方法である。即ち、テープカートリッジ20の装填に応じて、テープ23にデータを書き込むアプリケーションプログラムの指示により、高データレートモードに設定するという方法である。
第二に、テープドライブ10が内部の不揮発性メモリに高データレートモードであることを記録しておき、アプリケーションプログラムに対してはトランスペアレントでありながら高データレートモードで動く方法である。この場合、不揮発性メモリへの高データレートモードであることの記録は、テープドライブ10の出荷時に行ってもよいし、テープドライブ10の出荷後の任意のタイミングでツール等を用いて行ってもよい。
第三に、特定のテープカートリッジ20がロードされるとテープドライブ10が高データレートモードになる方法である。
次に、このような動作を実現するためのコントローラ16の機能構成について説明する。
図4は、コントローラ16の機能構成例を示したブロック図である。
図示するように、コントローラ16は、コマンド処理部41と、バッファ管理部42と、チャネル入出力部43と、バックヒッチ判定部44と、モード情報記憶部45と、目標容量記憶部46と、履歴記憶部47と、動作信号出力部48とを備える。
このうち、コマンド処理部41は、ホストI/F11からコマンドを受け取る。ここで、コマンドとしては、例えば、バッファ12にデータを格納することを指示するWriteコマンド、バッファ12に格納されたデータをテープ23に書き込む同期コマンド(WriteFMコマンド等)がある。
バッファ管理部42は、コマンド処理部41がWriteコマンドを受け取った場合は、データをバッファ12内に用意する。また、コマンド処理部41が同期コマンドを受け取った場合は、データをバッファ12から読み出してチャネル入出力部43に出力する。 チャネル入出力部43は、バッファ管理部42がバッファ12から読み出したデータをチャネル13に出力したり、チャネル13から受け取ったデータをバッファ12に格納したりする。
バックヒッチ判定部44は、目標容量をテープ23に書き出すことと、目標とする読出しデータレートを確保することのために、バックヒッチを行うべきかどうかを判定する。本実施の形態では、目標容量のデータをテープ媒体に書き込むことを決定したり、バックヒッチを行わないことを決定したりする決定部の一例として、バックヒッチ判定部44を設けている。
モード情報記憶部45は、現在テープドライブ10が高データレートモードに設定されているかどうかを示すモード情報を記憶する。本実施の形態では、モード情報を記憶する記憶部の一例として、モード情報記憶部45を設けている。
目標容量記憶部46は、テープ23の公称容量のうち書き込むべき目標容量の情報を記憶する。
履歴記憶部47は、過去にテープ23に書き込んだデータセットのサイズや位置、データセット間の距離等の情報を含む履歴情報を記憶する。但し、履歴情報にはこれ以外の情報(例えば、エラーの発生に関する情報)を含めてもよい。
動作信号出力部48は、モータドライバ18に対して、バックヒッチ判定部44で決定された動作を行うことを指示する信号を出力する。
次に、コントローラ16の動作について説明する。
図5は、コントローラ16の第1の動作例を示したフローチャートである。この第1の動作例は、上記読出しデータレートに関する制御におけるインターバルベースの制御方式に対応する。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
コントローラ16では、このようなデータセットの書込み中に、バッファ管理部42が、バッファ12から最後のデータセットを読み出してチャネル入出力部43に渡し、チャネル入出力部43が、渡されたデータセットをテープ23に書き込む(ステップ401)。
このとき、最後のデータセットがテープ23に書き込まれたことがバッファ管理部42に伝えられるので、バッファ管理部42は、バックヒッチ判定部44に対して、バックヒッチを行うかどうかを判定するよう指示する。これにより、バックヒッチ判定部44は、目標容量をテープ23に書き出し、かつ、目標とする読出しデータレートを確保するという観点からバックヒッチを行うかどうかを判定するバックヒッチ判定処理を行う(ステップ402)。尚、このバックヒッチ判定処理の詳細については後述する。そして、バックヒッチ判定処理における判定結果は、動作信号出力部48に出力される。
これにより、動作信号出力部48は、判定結果がSWBFを実行すること(バックヒッチを行わないこと)を示しているかどうかを判定する(ステップ403)。
ここで、判定結果がSWBFを実行することを示している場合、動作信号出力部48は、SWBFを実行することを決定する(ステップ404)。即ち、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力しない。
一方、判定結果がSWBFを実行することを示していない場合、つまり、バックヒッチを行うことを示している場合、動作信号出力部48は、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力する(ステップ405)。
このようにして、SWBFを行うことの決定、又は、バックヒッチの開始がなされると、その旨はコマンド処理部41に返され、コマンド処理部41は、同期コマンドの完了をホスト30に報告する(ステップ406)。
その後、コマンド処理部41は、次のデータセットを受け付けてバッファ管理部42に受け渡し、バッファ管理部42が、受け付けたデータをバッファ12に格納する(ステップ407)。
次に、バッファ管理部42は、新しい書込みを開始するために十分なデータセットが受け取られたかどうかを判定する(ステップ408)。そして、十分なデータセットが受け取られていないと判定されれば、ステップ406の終了後から一定時間経過したかどうかの判断に移り(ステップ409)、一定時間が経過していなければ、暫く待って(ステップ410)、再度ステップ408の判定を行う。一定時間が経過していれば、バッファ管理部42は、動作信号出力部48に制御を渡し、動作信号出力部48が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ412)。また、ステップ408で十分なデータセットが受け取られたと判定されれば、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短いかどうかを判定する(ステップ411)。例えば、その間隔が、データセット間隔の閾値よりも短いかどうかを判定すればよい。
ここで、ステップ406の終了後から一定時間が経過した場合、及び、十分なデータセットを受け取った後、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が長い場合、バッファ管理部42は、動作信号出力部48に制御を渡し、動作信号出力部48が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ412)。そして、バッファ管理部42は、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ413)。
一方、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短ければ、バックヒッチは行わずに、バッファ管理部42が、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ413)。
その後、チャネル入出力部43が、現在の書込み位置の直近の単位データ(ターゲットデータ)が書き込まれた範囲内に生じたデータセット間の間隔の累計であるAccumulated_Intervalと、そのときのテープ速度Speed_Xとを取得し、履歴記憶部47に記憶する(ステップ414)。
次に、ステップ402のバックヒッチ判定処理について詳細に説明する。
図6は、バックヒッチ判定処理の流れを示したフローチャートである。
バックヒッチ判定部44は、まず、モード情報記憶部45に記憶されたモード情報を取得する(ステップ501)。そして、モード情報が高データレートモードを示しているかどうかを判定する(ステップ502)。
その結果、モード情報が高データレートモードを示していると判定されれば、バックヒッチ判定部44は、目標容量記憶部46から目標容量を取得する(ステップ503)。また、バックヒッチ判定部44は、総データセット数C、有効テープ長T、SWBF用マージン比率r、最終データサイズセット位置x、最終データセット番号n、データセット長Lを取得する(ステップ504)。このうち、C、T、Lは、予め内部に保持された設定情報から取得するとよい。また、rは、ステップ503で取得した目標容量を公称容量で除することによって求めるとよい。更に、x、nは、ステップ401で最後のデータセットを書き込んだときに得られるので、その値を取得するとよい。
次に、バックヒッチ判定部44は、このようにして取得した値に関し、条件式「(C×r−n)×L<T−x」が成立するかどうかを判定する(ステップ505)。
ここで、条件式が成立した場合、バックヒッチ判定部44は、Target_Data_Size、Target_Read_Data_Rate、Read_Data_Rate_with_Speed1、Accumulated_Interval、Speed_X、Speed1を取得する(ステップ506)。このうち、Target_Data_Size、Target_Read_Data_Rate、Read_Data_Rate_with_Speed1、Speed1は、予め内部に保持された設定情報から取得するとよい。また、Accumulated_Interval、Speed_Xは、ステップ414で履歴記憶部47に記憶されたものを取得するとよい。
次に、バックヒッチ判定部44は、式「Threshold = Target_Data_Size/Target_Read_Data_Rate - Target_Data_Size/Read_Data_Rate_with_Speed1 - Accumulated_Interval * Speed_X/Speed1」により、Thresholdを求め(ステップ507)、Thresholdが0より大きいかどうかを判定する(ステップ508)。
その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ509)。
一方、ステップ502でモード情報が高データレートモードを示していないと判定された場合、ステップ505で条件式「(C×r−n)×L<T−x」が成立しないと判定された場合、及び、ステップ508でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ510)。
図7は、コントローラ16の第2の動作例を示したフローチャートである。この第2の動作例は、上記読出しデータレートに関する制御におけるトランザクションサイズベースの制御方式に対応する。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
そして、この第2の動作例のステップ451〜463は、上記第1の動作例のステップ401〜413と同様であり、この第2の動作例は、ステップ414のようにAccumulated_Interval及びSpeed_Xを取得するステップを含んでいない点のみで上記第1の動作例と異なる。
次に、ステップ452のバックヒッチ判定処理について詳細に説明する。
図8は、バックヒッチ判定処理の流れを示したフローチャートである。
このバックヒッチ判定処理の流れにおけるステップ551〜555は、図6のステップ501〜505と同様であるので、ここでの詳しい説明は省略する。
ステップ555で、条件式「(C×r−n)×L<T−x」が成立した場合、バックヒッチ判定部44は、Tx_Size、Target_Read_Data_Rate、X、Read_Data_Rate_with_Speed1を取得する(ステップ556)。このうち、Tx_Sizeは、ステップ451で最後のデータセットを書き込んだときに得られるので、その値を取得するとよい。また、Target_Read_Data_Rate、Read_Data_Rate_with_Speed1は、予め内部に保持された設定情報から取得するとよい。更に、Xは、Read_Data_Rate_with_Speed1*Max_Interval/Tape_Speedであるので、予め内部に保持された設定情報から取得した値を用いて算出すればよい。
次に、バックヒッチ判定部44は、式「Threshold = Tx_Size/Target_Read_Data_Rate- ( Tx_Size + X )/Read_Data_Rate_with_Speed1」により、Thresholdを求め(ステップ557)、Thresholdが0より大きいかどうかを判定する(ステップ558)。
その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ559)。
一方、ステップ552でモード情報が高データレートモードを示していないと判定された場合、ステップ555で条件式「(C×r−n)×L<T−x」が成立しないと判定された場合、及び、ステップ558でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ560)。
ここで、テープ23の速度の選択について説明する。
まず、テープ23の速度がホスト30のデータレートに比べて速過ぎる場合、バックヒッチが発生するのでデータ転送を効率的に行えなくなる。一方、テープ23の速度がホスト30のデータレートに比べて遅過ぎる場合、テープ23へ書き込まれるのを待つデータがバッファ12に滞留してしまい、ホスト30との間の実質的なデータレートが低くなってしまう。こうしたことから、ホスト30から送られたデータをテープ23に書き込んだり、テープ23から読み出したデータをホスト30に送ったりする際、ホスト30のデータレートとテープ23からの読出しデータレートとは一致していることが好ましい。
図9に、テープ23からの読出しデータレートとテープ速度との対応の一例を示している。図では、テープ速度を「SpeedX」(X=1,…,5)と表記しているが、具体的な数値(例えばSpeed1であれば、5.987m/sec)を用いてもよい。尚、図において、「SpeedX」は、Xの値が小さいほど、高速であるものとする。
このような状況で、例えば、ホスト30のデータレートが100MB/secである場合を考える。この場合、通常は、読出しデータレート100MB/secに対応するテープ速度であるSpeed3でテープ23を走行させるのが適切であると考えられる。しかしながら、本実施の形態の場合は、データセットとデータセットの間に隙間が生じるので、Speed3でテープ23を走行させても、100MB/secの読出しデータレートを確保できない可能性がある。そこで、Speed2又はSpeed1でテープ23を走行させて、100MB/secの読出しデータレートを確保するのが好ましい。テープ速度としてSpeed1とSpeed2の何れが望ましいかは、特許文献1と同様の技術を用いて判定可能である。即ち、SWBFによって書込みの記録密度が低下したことを、エラーが発生したために記録密度が低下したことと捉えれば、特許文献1と同様の方法で、どのテープ速度が最適であるかを決定可能である。
以上により、本実施の形態についての説明を終了する。
このように、本実施の形態では、公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込む高データレートモードを用意した。これにより、公称容量のうちの目標容量のデータをテープ媒体に書き込むことができるようになる。
尚、本実施の形態では、テープ23の速度を変更するに先立ってバックヒッチを行うようにしたが、バックヒッチを行わずにテープ23の速度を変更する構成としてもよい。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…テープドライブ、11…ホストI/F、12…バッファ、13…チャネル、14…ヘッド、15…モータ、16…コントローラ、17…ヘッド位置制御システム、18…モータドライバ

Claims (8)

  1. テープ媒体へのデータの書込みを制御する装置であって、
    前記装置のモードを示すモード情報を記憶する記憶部と、
    前記記憶部に記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、第1のデータと当該第1のデータの次の第2のデータとの間でバックヒッチを行わないことによって書き込めなくなる、当該テープ媒体上の当該2つのデータ間の間隙のデータの容量を除いた目標容量のデータを書込む条件の1つとして、バックヒッチを行わないでデータを当該テープ媒体に書き込むことを決定する決定部と
    を含む、装置。
  2. 前記決定部は、前記テープ媒体からのデータの読出し速度が目標の読出し速度を下回らないように選択的に、前記第1のデータを当該テープ媒体に書き込んでから前記第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行わないことを決定する、請求項の装置。
  3. 前記決定部は、前記テープ媒体に書き込まれた単位データを前記装置が用意する最速の読出し速度で読み出すのに要する時間と、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれなかった当該テープ媒体上の領域を読み飛ばすのに要する時間との和が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項の装置。
  4. 前記決定部は、前記テープ媒体に書き込まれた単位データと、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれない領域に相当する容量のデータとを、前記装置が用意する最速の読出し速度で読み出すのに要する時間が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項の装置。
  5. 前記記憶部は、前記テープ媒体を収納するテープカートリッジの装填に応じて、当該テープ媒体にデータを書き込むアプリケーションプログラムの指示により、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
  6. 前記記憶部は、前記テープ媒体を収納する特定のテープカートリッジの装填に応じて、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
  7. テープ媒体へのデータの書込みを制御する装置における方法であって、
    前記装置のモードを示すモード情報をメモリに記憶するステップと、
    前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、第1のデータと当該第1のデータの次の第2のデータとの間でバックヒッチを行わないことによって書き込めなくなる、当該テープ媒体上の当該当該2つのデータ間の間隙のデータの容量を除いた目標容量のデータを書込む条件の1つとして、バックヒッチを行わないでデータを当該テープ媒体に書き込むことを決定するステップとを含む、方法。
  8. テープ媒体へのデータの書込みを制御する装置としてコンピュータを機能させるプログラムであって、
    前記コンピュータを、
    前記装置のモードを示すモード情報をメモリに記憶する手段と、
    前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、第1のデータと当該第1のデータの次の第2のデータとの間でバックヒッチを行わないことによって書き込めなくなる、当該テープ媒体上の当該2つのデータ間の間隙のデータの容量を除いた目標容量のデータを書込む条件の1つとして、バックヒッチを行わないでデータ当該テープ媒体に書き込むことを決定する手段と、して機能させる、プログラム。
JP2011540430A 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法 Active JP5476395B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011540430A JP5476395B2 (ja) 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009260042 2009-11-13
JP2009260042 2009-11-13
PCT/JP2010/062998 WO2011058794A1 (ja) 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法
JP2011540430A JP5476395B2 (ja) 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法

Publications (2)

Publication Number Publication Date
JPWO2011058794A1 JPWO2011058794A1 (ja) 2013-03-28
JP5476395B2 true JP5476395B2 (ja) 2014-04-23

Family

ID=43991458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011540430A Active JP5476395B2 (ja) 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法

Country Status (6)

Country Link
US (1) US8810951B2 (ja)
JP (1) JP5476395B2 (ja)
CN (1) CN102714047B (ja)
DE (1) DE112010004369B4 (ja)
GB (1) GB2488689B (ja)
WO (1) WO2011058794A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913337B2 (en) 2009-12-22 2014-12-16 International Business Machines Corporation Controlling transportation of tape medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5764050B2 (ja) * 2011-12-14 2015-08-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを書き込む装置及び方法
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
KR101914260B1 (ko) 2014-04-22 2019-01-14 후아웨이 테크놀러지 컴퍼니 리미티드 파일 관리 방법 및 파일 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6249434A (ja) * 1985-08-28 1987-03-04 Oki Electric Ind Co Ltd カ−トリツジ磁気テ−プ装置
JPH02201628A (ja) * 1989-01-31 1990-08-09 Nec Corp 磁気テープ装置のデータ転送制御方式
JPH06202814A (ja) * 1992-09-30 1994-07-22 Hitachi Ltd 磁気テープ記憶装置の記憶制御方法
JPH11239318A (ja) * 1998-02-20 1999-08-31 Sony Corp 映像記録再生方法および映像記録再生装置
JP2002528835A (ja) * 1998-10-20 2002-09-03 エクリー コーポレーション 磁気テープ駆動機構のための変速記録方法及び装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
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
JP2591166B2 (ja) 1989-07-07 1997-03-19 オムロン株式会社 イメージスキャナ
EP0509637A3 (en) * 1991-03-15 1993-06-02 Fujitsu Limited Magnetic tape storage apparatus
US6856479B2 (en) 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
JP3900494B2 (ja) 2003-05-16 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、及び記録媒体
US7107397B2 (en) 2003-05-29 2006-09-12 International Business Machines Corporation Magnetic tape data storage system buffer management
US6970311B2 (en) 2003-08-18 2005-11-29 International Business Machines Corporation Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks
US7236322B2 (en) 2003-08-20 2007-06-26 International Business Machines Corporation Method, system, and program for storing data in a storage medium
US6958878B2 (en) 2003-10-27 2005-10-25 International Business Machines Corporation Forced backhitch for speed matching in a multi-speed tape drive
US7535664B1 (en) 2003-11-13 2009-05-19 Storage Technology Corporation Performance enhancement for tape write immediate operations
US6950257B1 (en) 2004-04-29 2005-09-27 International Business Machines Corporation Writing to magnetic tape with backhitchless backspacing and data set invalidation
US20060204209A1 (en) * 2005-03-09 2006-09-14 Exabyte Corporation Pause strategy for magnetic tape recording
JP4140913B2 (ja) 2005-05-12 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体の駆動を制御するための装置、方法、及びプログラム
JP4131517B2 (ja) * 2005-09-06 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込むための装置
JP3870215B1 (ja) 2005-09-30 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置のデータ書込み読取り制御方法
KR20100084625A (ko) * 2007-11-05 2010-07-27 인터내셔널 비지네스 머신즈 코포레이션 자기 테이프 기록 제어 방법 및 그 방법을 실행하는 자기 테이프 장치
JP4954141B2 (ja) * 2008-05-30 2012-06-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体の走行を制御する装置及び方法
US7903363B2 (en) 2008-06-05 2011-03-08 International Business Machines Corporation Same Wrap backhitchless write method to encode data on a tape storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6249434A (ja) * 1985-08-28 1987-03-04 Oki Electric Ind Co Ltd カ−トリツジ磁気テ−プ装置
JPH02201628A (ja) * 1989-01-31 1990-08-09 Nec Corp 磁気テープ装置のデータ転送制御方式
JPH06202814A (ja) * 1992-09-30 1994-07-22 Hitachi Ltd 磁気テープ記憶装置の記憶制御方法
JPH11239318A (ja) * 1998-02-20 1999-08-31 Sony Corp 映像記録再生方法および映像記録再生装置
JP2002528835A (ja) * 1998-10-20 2002-09-03 エクリー コーポレーション 磁気テープ駆動機構のための変速記録方法及び装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913337B2 (en) 2009-12-22 2014-12-16 International Business Machines Corporation Controlling transportation of tape medium
US9087549B2 (en) 2009-12-22 2015-07-21 International Business Machines Corporation Apparatus and method for controlling transportation of tape medium
US9251838B2 (en) 2009-12-22 2016-02-02 International Business Machines Corporation Apparatus and method for controlling transportation of tape medium
US9646644B2 (en) 2009-12-22 2017-05-09 International Business Machines Corporation Apparatus and method for controlling transportation of tape medium

Also Published As

Publication number Publication date
JPWO2011058794A1 (ja) 2013-03-28
US20120293887A1 (en) 2012-11-22
DE112010004369B4 (de) 2018-02-15
GB2488689A (en) 2012-09-05
GB201208355D0 (en) 2012-06-27
CN102714047B (zh) 2014-11-26
CN102714047A (zh) 2012-10-03
WO2011058794A1 (ja) 2011-05-19
US8810951B2 (en) 2014-08-19
GB2488689B (en) 2018-10-03
DE112010004369T5 (de) 2012-11-22

Similar Documents

Publication Publication Date Title
JP5385992B2 (ja) テープ媒体の走行を制御する装置及び方法
JP3870215B1 (ja) テープ記録装置のデータ書込み読取り制御方法
US10353624B2 (en) Apparatus and method for writing data to recording medium
JP4131517B2 (ja) テープ媒体にデータを書き込むための装置
JP4866412B2 (ja) 間欠的な複数の読取り要求に対して最適なテープ速度を選択可能なテープドライブ、テープドライブ記録システム、及び、最適なテープ速度の選択方法
US8035912B2 (en) System and method for controlling traveling of tape
US8693128B2 (en) Apparatus and method for writing data to tape medium
JP5325128B2 (ja) データの書込みを制御する装置及び方法
JP5476395B2 (ja) データの書込みを制御する装置及び方法
JP5065203B2 (ja) データのフォーマットを変換する装置及び方法
US20120293886A1 (en) Tape storage device, data writing method, and program
JP6481492B2 (ja) テープ装置、制御装置および制御プログラム
JP5764050B2 (ja) データを書き込む装置及び方法
JP2008146760A (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140207

R150 Certificate of patent or registration of utility model

Ref document number: 5476395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150