JP5476395B2 - データの書込みを制御する装置及び方法 - Google Patents
データの書込みを制御する装置及び方法 Download PDFInfo
- 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
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/008—Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
- G11B5/00813—Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
- G11B5/00817—Recording 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/00821—Recording 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
-
- 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/20—Moving record carrier backwards or forwards by finite amounts, i.e. backspacing, forward spacing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
Description
テープドライブが同期コマンドを受け取ると、テープドライブ内のバッファが空になるため、テープドライブは通常、「バックヒッチ」を行う。バックヒッチとは、テープ媒体の走行速度を減速して一旦停止し、逆方向に走行し、その後、再度元の方向に走行して書き込むべき位置に達して次のデータを書く、という一連の動作のことである。
このバックヒッチには通常2〜3秒程度の時間を要する。次のデータの書出しはこのバックヒッチの完了後となるため、頻繁に同期コマンドを受け取ると書込みのパフォーマンスが著しく低下してしまう。
こうしたことから、従来、バックヒッチを行わなくて済むようにするための技術が提案されていた(例えば、特許文献1〜3参照)。
決定部は、更に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測されることを条件の1つとして、第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としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
ヘッド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個設けられる。
その際、本実施の形態では、公称容量(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から送られてくるのを待つ。
ここで、各変数は、次のように定義する。
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はこの再書き込みを考慮しない場合のデータセット長である。
SWBFを頻繁に実行するとテープ23に書き込まれるデータセットの間隔が広がり、このようなデータセットをテープ23から読み出す際の転送レートが著しく低下する可能性がある。例えば、24MB単位で同期コマンドを受け取り、式1に従って毎回SWBFを実行する場合を考える。この場合、1データセットが2.4MBであるとすると、10データセットがまとめてテープ23に書かれ、SWBFが実行され、データセットの間隔が空いて次のデータセットが書かれることになる。ここで、10データセットがまとめて書かれる場合のデータセットの間隔は非常に短いが、SWBFが実行された場合に空けられたデータセットの間隔は非常に長い(例えば3m)。
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つの制御方式がある。
次のデータが準備されるのを待つ時間であるインターバルを制御すれば、データセットの間の距離を制御することができる。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
具体的には、下記の式2によって導かれるThresholdを制御することにより読出しデータレートを制御する。LTOに準拠したテープドライブ10では、データセットの間隔の最大値は4mである。読出しデータレートを気にしないのであれば、上述の式1でTRUEと判断された後、4mを通過するまで、次のデータが準備されるのを待ち続ければよい。しかしながら、下記の式2を用いて、次のデータが準備されるのを待つ時間を制御することにより、読出しデータレートを制御する。即ち、式2のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
ここで、各変数は、次のように定義する。
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で読み飛ばすのに要する時間に変換している。
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を実行する際には、次のデータが準備されるのを待つ時間を短くする。 こうすることにより、読出しデータレートの目標値を制御する。
図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よりも短ければ、単位データを目標の読出しデータレートで読み出すことが可能であると言える。
トランザクションサイズが小さいか、又は、蓄積されたデータのサイズが小さい場合には、SWBFを実行しないようにする。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
具体的には、下記の式3によって導かれるThresholdを制御することにより読出しデータレートを制御する。即ち、式3のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
ここで、各変数は、次のように定義する。
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を最高速度で走行した場合における読出しデータレートである。
トランザクションサイズが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が高データレートモードになる方法である。
図4は、コントローラ16の機能構成例を示したブロック図である。
図示するように、コントローラ16は、コマンド処理部41と、バッファ管理部42と、チャネル入出力部43と、バックヒッチ判定部44と、モード情報記憶部45と、目標容量記憶部46と、履歴記憶部47と、動作信号出力部48とを備える。
バッファ管理部42は、コマンド処理部41がWriteコマンドを受け取った場合は、データをバッファ12内に用意する。また、コマンド処理部41が同期コマンドを受け取った場合は、データをバッファ12から読み出してチャネル入出力部43に出力する。 チャネル入出力部43は、バッファ管理部42がバッファ12から読み出したデータをチャネル13に出力したり、チャネル13から受け取ったデータをバッファ12に格納したりする。
モード情報記憶部45は、現在テープドライブ10が高データレートモードに設定されているかどうかを示すモード情報を記憶する。本実施の形態では、モード情報を記憶する記憶部の一例として、モード情報記憶部45を設けている。
目標容量記憶部46は、テープ23の公称容量のうち書き込むべき目標容量の情報を記憶する。
履歴記憶部47は、過去にテープ23に書き込んだデータセットのサイズや位置、データセット間の距離等の情報を含む履歴情報を記憶する。但し、履歴情報にはこれ以外の情報(例えば、エラーの発生に関する情報)を含めてもよい。
動作信号出力部48は、モータドライバ18に対して、バックヒッチ判定部44で決定された動作を行うことを指示する信号を出力する。
図5は、コントローラ16の第1の動作例を示したフローチャートである。この第1の動作例は、上記読出しデータレートに関する制御におけるインターバルベースの制御方式に対応する。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
コントローラ16では、このようなデータセットの書込み中に、バッファ管理部42が、バッファ12から最後のデータセットを読み出してチャネル入出力部43に渡し、チャネル入出力部43が、渡されたデータセットをテープ23に書き込む(ステップ401)。
ここで、判定結果がSWBFを実行することを示している場合、動作信号出力部48は、SWBFを実行することを決定する(ステップ404)。即ち、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力しない。
一方、判定結果がSWBFを実行することを示していない場合、つまり、バックヒッチを行うことを示している場合、動作信号出力部48は、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力する(ステップ405)。
次に、バッファ管理部42は、新しい書込みを開始するために十分なデータセットが受け取られたかどうかを判定する(ステップ408)。そして、十分なデータセットが受け取られていないと判定されれば、ステップ406の終了後から一定時間経過したかどうかの判断に移り(ステップ409)、一定時間が経過していなければ、暫く待って(ステップ410)、再度ステップ408の判定を行う。一定時間が経過していれば、バッファ管理部42は、動作信号出力部48に制御を渡し、動作信号出力部48が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ412)。また、ステップ408で十分なデータセットが受け取られたと判定されれば、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短いかどうかを判定する(ステップ411)。例えば、その間隔が、データセット間隔の閾値よりも短いかどうかを判定すればよい。
一方、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短ければ、バックヒッチは行わずに、バッファ管理部42が、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ413)。
その後、チャネル入出力部43が、現在の書込み位置の直近の単位データ(ターゲットデータ)が書き込まれた範囲内に生じたデータセット間の間隔の累計であるAccumulated_Intervalと、そのときのテープ速度Speed_Xとを取得し、履歴記憶部47に記憶する(ステップ414)。
図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は、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に記憶されたものを取得するとよい。
その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ509)。
一方、ステップ502でモード情報が高データレートモードを示していないと判定された場合、ステップ505で条件式「(C×r−n)×L<T−x」が成立しないと判定された場合、及び、ステップ508でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ510)。
そして、この第2の動作例のステップ451〜463は、上記第1の動作例のステップ401〜413と同様であり、この第2の動作例は、ステップ414のようにAccumulated_Interval及びSpeed_Xを取得するステップを含んでいない点のみで上記第1の動作例と異なる。
図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であるので、予め内部に保持された設定情報から取得した値を用いて算出すればよい。
その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ559)。
一方、ステップ552でモード情報が高データレートモードを示していないと判定された場合、ステップ555で条件式「(C×r−n)×L<T−x」が成立しないと判定された場合、及び、ステップ558でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ560)。
まず、テープ23の速度がホスト30のデータレートに比べて速過ぎる場合、バックヒッチが発生するのでデータ転送を効率的に行えなくなる。一方、テープ23の速度がホスト30のデータレートに比べて遅過ぎる場合、テープ23へ書き込まれるのを待つデータがバッファ12に滞留してしまい、ホスト30との間の実質的なデータレートが低くなってしまう。こうしたことから、ホスト30から送られたデータをテープ23に書き込んだり、テープ23から読み出したデータをホスト30に送ったりする際、ホスト30のデータレートとテープ23からの読出しデータレートとは一致していることが好ましい。
このような状況で、例えば、ホスト30のデータレートが100MB/secである場合を考える。この場合、通常は、読出しデータレート100MB/secに対応するテープ速度であるSpeed3でテープ23を走行させるのが適切であると考えられる。しかしながら、本実施の形態の場合は、データセットとデータセットの間に隙間が生じるので、Speed3でテープ23を走行させても、100MB/secの読出しデータレートを確保できない可能性がある。そこで、Speed2又はSpeed1でテープ23を走行させて、100MB/secの読出しデータレートを確保するのが好ましい。テープ速度としてSpeed1とSpeed2の何れが望ましいかは、特許文献1と同様の技術を用いて判定可能である。即ち、SWBFによって書込みの記録密度が低下したことを、エラーが発生したために記録密度が低下したことと捉えれば、特許文献1と同様の方法で、どのテープ速度が最適であるかを決定可能である。
このように、本実施の形態では、公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込む高データレートモードを用意した。これにより、公称容量のうちの目標容量のデータをテープ媒体に書き込むことができるようになる。
Claims (8)
- テープ媒体へのデータの書込みを制御する装置であって、
前記装置のモードを示すモード情報を記憶する記憶部と、
前記記憶部に記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、第1のデータと当該第1のデータの次の第2のデータとの間でバックヒッチを行わないことによって書き込めなくなる、当該テープ媒体上の当該2つのデータ間の間隙のデータの容量を除いた目標容量のデータを書込む条件の1つとして、バックヒッチを行わないでデータを当該テープ媒体に書き込むことを決定する決定部と
を含む、装置。 - 前記決定部は、前記テープ媒体からのデータの読出し速度が目標の読出し速度を下回らないように選択的に、前記第1のデータを当該テープ媒体に書き込んでから前記第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行わないことを決定する、請求項1の装置。
- 前記決定部は、前記テープ媒体に書き込まれた単位データを前記装置が用意する最速の読出し速度で読み出すのに要する時間と、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれなかった当該テープ媒体上の領域を読み飛ばすのに要する時間との和が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項2の装置。
- 前記決定部は、前記テープ媒体に書き込まれた単位データと、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれない領域に相当する容量のデータとを、前記装置が用意する最速の読出し速度で読み出すのに要する時間が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項2の装置。
- 前記記憶部は、前記テープ媒体を収納するテープカートリッジの装填に応じて、当該テープ媒体にデータを書き込むアプリケーションプログラムの指示により、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
- 前記記憶部は、前記テープ媒体を収納する特定のテープカートリッジの装填に応じて、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
- テープ媒体へのデータの書込みを制御する装置における方法であって、
前記装置のモードを示すモード情報をメモリに記憶するステップと、
前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、第1のデータと当該第1のデータの次の第2のデータとの間でバックヒッチを行わないことによって書き込めなくなる、当該テープ媒体上の当該当該2つのデータ間の間隙のデータの容量を除いた目標容量のデータを書込む条件の1つとして、バックヒッチを行わないでデータを当該テープ媒体に書き込むことを決定するステップとを含む、方法。 - テープ媒体へのデータの書込みを制御する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記装置のモードを示すモード情報をメモリに記憶する手段と、
前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、第1のデータと当該第1のデータの次の第2のデータとの間でバックヒッチを行わないことによって書き込めなくなる、当該テープ媒体上の当該2つのデータ間の間隙のデータの容量を除いた目標容量のデータを書込む条件の1つとして、バックヒッチを行わないでデータ当該テープ媒体に書き込むことを決定する手段と、して機能させる、プログラム。
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)
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)
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)
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)
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 |
-
2010
- 2010-08-02 CN CN201080050613.6A patent/CN102714047B/zh active Active
- 2010-08-02 US US13/509,605 patent/US8810951B2/en active Active
- 2010-08-02 WO PCT/JP2010/062998 patent/WO2011058794A1/ja active Application Filing
- 2010-08-02 DE DE112010004369.8T patent/DE112010004369B4/de active Active
- 2010-08-02 GB GB1208355.6A patent/GB2488689B/en active Active
- 2010-08-02 JP JP2011540430A patent/JP5476395B2/ja active Active
Patent Citations (5)
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)
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 |