JP4140913B2 - 記録媒体の駆動を制御するための装置、方法、及びプログラム - Google Patents

記録媒体の駆動を制御するための装置、方法、及びプログラム Download PDF

Info

Publication number
JP4140913B2
JP4140913B2 JP2005140055A JP2005140055A JP4140913B2 JP 4140913 B2 JP4140913 B2 JP 4140913B2 JP 2005140055 A JP2005140055 A JP 2005140055A JP 2005140055 A JP2005140055 A JP 2005140055A JP 4140913 B2 JP4140913 B2 JP 4140913B2
Authority
JP
Japan
Prior art keywords
data
recording medium
transfer rate
speed
capacity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005140055A
Other languages
English (en)
Other versions
JP2006318571A (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 JP2005140055A priority Critical patent/JP4140913B2/ja
Priority to US11/383,105 priority patent/US20060256466A1/en
Publication of JP2006318571A publication Critical patent/JP2006318571A/ja
Priority to US12/180,474 priority patent/US20080285166A1/en
Application granted granted Critical
Publication of JP4140913B2 publication Critical patent/JP4140913B2/ja
Expired - Fee Related 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
    • 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
    • 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/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10703Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control processing rate of the buffer, e.g. by accelerating the data output
    • 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)
  • Digital Magnetic Recording (AREA)

Description

本発明は、磁気テープ等の記録媒体の駆動を制御するための装置等に関し、より詳しくは、上位装置との間の転送レートと記録媒体との間の転送レートとを調整する機能を有する装置等に関する。
磁気テープ等のテープ媒体へのデータの書込みや、テープ媒体からのデータの読出しは、記録ヘッドをテープ媒体に対して相対的に移動させることにより行われる。従って、テープ媒体をより高速に走行させれば、記録ヘッドとテープ媒体との間で、同じ量のデータをより短い時間で転送することが可能となる。即ち、テープ媒体との間の転送レート(書込みレート/読出しレート)は、テープ媒体の走行スピードが速ければ高くなり、テープ媒体の走行スピードが遅ければ低くなるのである。
従って、テープ媒体を可能な限り高速で走行させれば、テープ媒体との間の転送レートも高くなり、効率的なデータ転送が行えるはずである。
しかしながら、不必要に速いスピードでテープ媒体を走行させた場合は、却ってデータ転送を効率的に行えなくなる。ホストコンピュータ(以下、「ホスト」という)との間の転送レートが、テープ媒体との間の転送レートよりも低い場合に、バックヒッチと呼ばれる現象が生ずるからである。
バックヒッチとは、テープ媒体に書き出す十分なデータがなくなった場合に、次のデータをテープ媒体の連続する位置に書き込むため、テープ媒体の走行速度を減速して一旦停止し、書き込むべき位置まで戻る、という動作のことをいう。バックヒッチには、通常、3秒程度の時間を要する。このバックヒッチの間もホストからデータは送られているが、そのデータは、テープ媒体には書き出されない。即ち、3秒間ホストからデータを受け取り続けることができなければ、テープ媒体へのデータ転送のパフォーマンスは、著しく低下するのである。ホストから送られたデータは通常バッファに格納されるが、そのバッファのサイズが小さい場合は、このようなパフォーマンスの低下はより顕著に現れる。
また、バックヒッチは、テープ媒体に負担をかけるという理由からも、できるだけ減らすことが望ましい。
一方、テープ媒体を低速で走行させた場合にも不都合は生じる。テープ媒体との間の転送レートが、ホストとの間の転送レートよりも低いと、テープ媒体へ書き込まれるのを待つデータがバッファに滞留してしまい、ホストとの間の実質的な転送レートが低くなってしまうのである。
このようなことから、ホストから送られたデータをテープ媒体に書き込んだり、テープ媒体から読み出したデータをホストに送ったりする際、ホストとの間の転送レートとテープ媒体との間の転送レートとは一致していることが好ましいと言える。
そこで、従来は、ホストとの間の転送レートに見合った速度でテープ媒体を走行させるように制御していた。例えば、ホストとの間の転送レートが40MB/secであれば、テープ媒体を2.73m/secで走行させ、ホストとの間の転送レートが50MB/secであれば、テープ媒体を3.41m/secで走行させる、といったものである。
このような制御は、ホストから送られるデータをテープ媒体に書き込む場合に、データの容量が変わらない場合は、有効に機能するものである。しかしながら、ホストから送られる際と、テープ媒体に実際に書き込まれる際とで、データの容量が異なってくる場合には、有効に機能しなくなる。
このことを、LTO(Linear Tape-Open)フォーマットを例にとって説明する。尚、LTOとは、IBM、ヒューレットパッカード、サータンスの3社が共同で策定したテープのオープン規格である。このLTOフォーマットでは、複数のCQ(Codeword Quad)がCQセットを構成し、複数のCQセットからなるデータセットを単位として書込みが行われる。その際、書込みは、書き込んだデータをon−the−flyで読み込み、データが正しく書かれたか検証しながら行われる(Read−While−Write)。ここで、書き込んだはずのCQセットを構成するCQが1つでも読めなかった場合、そのCQセットを再度書き込むこと(CQリライト)が許されている。そうなると、テープ媒体に実際に書き込まれたデータセットに含まれるCQセットの数は可変となり、データセットのサイズが異なってくるのである(CQリライトの数は、LTO第3世代の場合、最小0、最大256、LTO第2世代/第1世代の場合、最小0、最大128)。
尚、従来技術としては、ホストからのコマンドがリトライのコマンドである場合にデータ転送速度を遅くする技術(例えば、特許文献1)や、記録媒体からのデータのリードリトライ時にテープ速度を記録時の速度よりも遅くする技術(例えば、特許文献2参照)が提案されている。
特開平11−249821号公報(第6、7頁、第1、2図) 特開2000−57510号公報(第10頁、第14図)
しかしながら、これらの従来技術は、いずれも、ホストとの間の転送レートとテープ媒体との間の転送レートの一致を目的とするものではない。即ち、エラーが発生した場合に、ホストとの間の転送レートや、テープ媒体との間の転送レートを単独で調整しているに過ぎないものであった。従って、上述したような、LTOにおけるCQリライトの発生によってホストから送られるデータセットのサイズとテープ媒体に実際に書き込まれるデータセットのサイズとが異なってくるような場合に、テープ媒体への書き込みを効率的に行えないという問題点があった。
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、ホストから送られるデータと記録媒体に実際に書き込まれるデータとで容量に差異が生じる場合にデータの書込みを効率よく行うことにある。
かかる目的のもと、本発明では、ホストから送られる際のデータ容量と記録媒体に書き込む際のデータ容量との違いを考慮してホスト側の転送レートと記録媒体側の転送レートとを一致させるようにしている。即ち、本発明の装置は、記録媒体の駆動を制御するためのものであり、記録媒体に記録されたデータの容量と、そのデータを上位装置との間で送受信する際におけるそのデータの容量との差異を検出する検出器と、この検出器により検出された差異に基づいて、記録媒体との間の第1の転送レートと、上位装置との間の第2の転送レートとが互いに近づくよう調整を行う調整器とを含んでいる。
これをテープ媒体に限定して述べると、ホスト側の転送レートだけでテープの走行スピードを決定するのではなく、メディア側のエラー情報(CQリライト)も考慮してテープの走行スピードを決定する手法である。
また、本発明は、ホストから送られたデータの容量と記録媒体に実際に書き込むデータの容量との違いを考慮してホスト側の転送レートと記録媒体側の転送レートとを一致させる方法として捉えることもできる。その場合、本発明の方法は、記録媒体の駆動を制御するためのものであり、ホストからデータを受け取るステップと、データを記録媒体に書き込むステップと、ホストから受け取った時点でのデータの容量と、記録媒体に書き込んだ時点でのデータの容量との差異を検出するステップと、差異に基づいて、記録媒体との間の第1の転送レートを、ホストとの間の第2の転送レートに適応させるステップとを含んでいる。
更に、本発明は、記録媒体に書き込まれたデータの容量とそのデータのホストから送られた時点での容量との違いを考慮してホスト側の転送レートと記録媒体側の転送レートとを一致させる方法として捉えることもできる。その場合、本発明の方法は、記録媒体の駆動を制御するためのものであり、記録媒体からデータを読み出すステップと、データの付加情報に基づいて、記録媒体に記録されたデータの容量と、記録媒体に記録するためにホストから受け取った時点でのデータの容量との差異を検出するステップと、差異に基づいて、記録媒体との間の第1の転送レートを、ホストとの間の第2の転送レートに適応させるステップとを含んでいる。
一方、本発明は、コンピュータに所定の機能を実現させるプログラムとして捉えることもできる。その場合、本発明のプログラムは、記録媒体の駆動を制御するための装置に対し、記録媒体に記録されたデータの容量と、そのデータを上位装置との間で送受信する際におけるそのデータの容量との差異を取得する取得処理と、取得処理で取得された差異に基づいて、記録媒体との間の第1の転送レートと、上位装置との間の第2の転送レートとが互いに近づくよう調整を行う調整処理とを実行させるためのものである。
本発明によれば、ホストから送られるデータと記録媒体に実際に書き込まれるデータとで容量に差異が生じる場合にデータの書込みを効率よく行うことができる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示した図である。このコンピュータシステムは、ホスト10と、テープドライブ20とから構成される。
ホスト10は、パーソナルコンピュータ等の一般的なコンピュータである。即ち、コンピュータ全体の動作を制御するCPU(Central Processing Unit)や、CPUが直接アクセスするプログラム及びデータを記憶するメインメモリを備える。また、処理の指示やデータを入力するためのキーボード、マウス等の入力装置や、処理結果を表示するためのディスプレイ等の出力装置を更に備えていてもよい。
テープドライブ20は、制御部30と、ヘッド40と、リール50及び51とを備える。そして、テープ60が、リール50とリール51とにまたがって巻かれている。また、リール50及び/又は51の回転を制御する駆動部70を更に備えている。
ヘッド40は、テープ60へのデータの書込み及びテープ60からのデータの読出しを行う機構である。また、本実施の形態では、テープドライブ20として、LTOに準拠した動作を行うものを想定しており、ヘッド40は、データを書き込んだ後、書き込んだデータを読み出す機能も有している。
リール50及び51は、回転することによって、リール50からリール51の方向へ、又は、リール51からリール50の方向へテープ60を移動させる機構である。駆動部70が、リール50及び/又は51の回転を制御する。
制御部30は、ホスト10からの指示に従い、テープ60へのデータの書込み及びテープ60からのデータの読出しを制御する。また、本実施の形態では、これに加え、リール50及び/又は51の回転速度を制御することにより、テープ60の走行速度を制御する。尚、制御部30を実現するため、テープドライブ20もホスト10と同様、CPUやメインメモリを備えている。
図2は、本発明の実施の形態における制御部30の機能構成を示した図である。この制御部30は、ホストインターフェース部(以下、「ホストI/F部」という)31と、バッファメモリ32と、メディアインターフェース部(以下、「メディアI/F部」という)33とを備える。また、転送レート取得部34と、エラーレート取得部35と、スピード決定部36と、スピード制御部37とを更に備える。
ホストI/F部31は、テープ60に書き込むべきデータセットをホスト10から受け取ってバッファメモリ32に格納したり、バッファメモリ32に格納されたデータセットを取り出してホスト10に送ったりする。尚、バッファメモリ32は、複数のデータセットが格納できる容量を有している。
メディアI/F部33は、バッファメモリ32に格納されたデータを取り出してテープ60に記録するためにヘッド40に転送したり、テープ60に記録されたデータセットをヘッド40から受け取ってバッファメモリ32に格納したりする。また、LTOでは、CQセットを書き込んだ後、CQセットを一旦読み出して正しく書かれたかどうかの検証を行う。このような検証も、メディアI/F部33で行う。
転送レート取得部34は、ホスト10とテープドライブ20との間で送受信されるデータセットの容量に関する情報をホストI/F部31から受け取り、転送レートを取得する。
エラーレート取得部35は、テープ60にデータセットを書き込んだ際のCQリライトの情報をメディアI/F部33から受け取り、エラーレートを取得する。
スピード決定部36は、転送レート取得部34が取得した転送レートと、エラーレート取得部35が取得したエラーレートとに基づいて、テープ60のスピードを決定する。
スピード制御部37は、この決定されたスピードでテープ60が走行するよう、駆動部70を制御する。
尚、これらの各機能のうち、メディアI/F部33及び/又はエラーレート取得部35は、テープ60に記録されたデータの容量とそのデータのホスト10との送受信時における容量との差異(例えば、CQリライトの回数)を検出する検出器として機能するものである。また、スピード決定部36及び/又はスピード制御部37は、検出された差異に基づいてホスト10との間の転送レートとテープ60との間の転送レートを調整する調整器として機能するものである。
ところで、これらの各機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、テープドライブ20のCPUが、ホストI/F部31、メディアI/F部33、転送レート取得部34、エラーレート取得部35、スピード決定部36、スピード制御部37の各機能を実現するプログラムを、図示しない磁気ディスク装置等からメインメモリに読み込むことにより実現される。
次に、制御部30の動作について詳細に説明する。
まず、ホスト10から送られたデータセットをテープ60に書き込む際の制御部30の動作について説明する。ホスト10からデータセットが送られると、ホストI/F部31がこのデータセットを受け取り、バッファメモリ32に格納する。尚、この場合、ホスト10から受け取る単位がデータセットである必要はない。例えば、ホスト10から受け取る単位はレコードで、複数のレコードが集まって1つのデータセットを構成するようなものでもよい。また、図示するように、バッファメモリ32は、複数の区画に分けられており、1つの区画に1つのデータセットが格納されるものとする。
このようにホストI/F部31がデータセットをバッファメモリ32に格納する際に、転送レート取得部34がホスト10との間の転送レートを取得する。尚、本実施の形態では、単に「転送レート」というときは、ホスト10との間に転送レートをいうものとする。
図3は、転送レート取得部34の動作を示したフローチャートである。
まず、転送レート取得部34は、ホスト10とテープドライブ20との間で通信されるデータセットの容量に関する情報をホストI/F部31から受け取る(ステップ101)。そして、受け取ったデータセットの容量の情報と、その情報を受け取った時刻Tの情報とを保存する(ステップ102)。
一方で、転送レート取得部34は、これまでに受け取ったデータセットの容量の情報と、その情報を受け取った時刻の情報とを蓄積している。そこで、この情報の中から、時刻(T−△T)から時刻Tまでに受け取ったデータセットの容量に関する情報を読み出す(ステップ103)。そして、読み出したデータセットの容量を△Tで割ることにより、転送レートMを求め(ステップ104)、この転送レートMをスピード決定部36に受け渡す(ステップ105)。
尚、以上の転送レートの取得に関する動作は、あくまで一例であり、いかなる処理によるものであっても構わない。例えば、転送レート取得部34が、一定の時間間隔でバッファメモリ32を参照し、新たに追加されたデータを認識することにより、転送レートを求めるような方法も考えられる。
また、バッファメモリ32に格納されたデータセットは、所定のタイミングでメディアI/F部33により取り出され、ヘッド40に送られ、テープ60に書き込まれる。その際、LTOでは、既に述べたように、CQセットをテープ60に書き込んだ後、再び読み出して正しく書かれているかどうかを検証する方式を採用している。その検証の結果、CQセットに含まれるいずれかのCQが正しく書かれていなければ、CQセットを再び書き込むCQリライトを行う。このようなCQリライトの回数の大小によって、ホスト10から送られるデータセットと、テープ60に実際に書き込まれるデータセットとでは、サイズが異なってくる。そこで、エラーレート取得部35が、CQリライトが発生する割合(エラーレート)を取得し、テープ速度の決定に反映させるのである。
図4は、エラーレート取得部35の動作を示したフローチャートである。
まず、エラーレート取得部35は、例えば、データセットごとに、CQリライトの回数の情報をメディアI/F部33から受け取る(ステップ201)。そして、受け取ったCQリライトの回数の情報を保存する(ステップ202)。
一方で、エラーレート取得部35は、これまでに受け取ったCQリライトの回数の情報を蓄積している。そこで、この情報の中から、直近の幾つかのデータセットについてのCQリライトの回数の平均を求め、これをエラーレートNとし(ステップ203)、このエラーレートNをスピード決定部36に受け渡す(ステップ204)。
尚、以上のエラーレートの取得に関する動作は、あくまで一例であり、いかなる処理によるものであっても構わない。ここでは、データセットごとのCQリライトの回数を用いたが、例えば、単位時間あたりのCQリライトの回数を用いるようにしてもよい。また、CQリライトの回数を数えるのではなく、1つのデータセットを書き込むのに要する時間を計測するという方法も考えられる。CQリライトが発生すると、1つのデータセットを書くのにかかる時間も長くなるので、CQリライトの回数を直接数えなくても、この時間を計測することで同様の効果を得ることができるのである。
このようにして転送レート取得部34から転送レートMが渡され、エラーレート取得部35からエラーレートNが渡されると、スピード決定部36がこれらの情報を用いてテープ60のスピードを決定する。
図5は、スピード決定部36の動作を示したフローチャートである。
まず、スピード決定部36は、転送レート取得部34から転送レートMを受け取り(ステップ301)、エラーレート取得部35からエラーレートNを受け取る(ステップ302)。
ここで、1データセットに本来含まれているCQセットの数をNaとし、1データセットあたりN回のCQリライトが発生するとした場合、テープ60に書き込まれたデータセットに含まれるCQセットの数は、(N+Na)となる。従って、ホスト10からの転送レートはMであるが、実際に書き込まれるCQセットの数が((N+Na)/Na)倍となるため、テープ60との間の転送レートは、(M×(N+Na)/Na)とする必要がある。言い換えれば、テープ60との間の転送レートを(M×(N+Na)/Na)とすることにより、ホスト10との間の転送レートMに追いつくのである。即ち、スピード決定部36は、「M’=M×(N+Na)/Na」により、調整後の転送レートM’を求める(ステップ303)。
そして、スピード決定部36は、転送レートとテープ速度との対応を定義した対応テーブルを参照し、調整後の転送レートM’に対応するテープ速度V’を求める(ステップ304)。
図6は、この際に参照される対応テーブルの一例である。尚、この対応テーブルは、LTO第3世代の場合の例である。LTOの世代が変わると、フォーマット、即ち、テープに記録されるデータの記録密度も変わるので、テープ速度としても異なる速度を対応付けることになる。
本実施の形態では、ホスト10との間の転送レートを5段階に分けて設けている。具体的には、80MB/sec、70MB/sec、60MB/sec、50MB/sec、40MB/secである。そして、これらの転送レートのそれぞれに対し、テープ速度は、5.45m/sec、4.77m/sec、4.09m/sec、3.41m/sec、2.73m/secが相応しいことが定義されている。尚、以下の説明では、テープ速度として、具体的な数値の代わりに、「SpeedX」(X=1,…,5)という表記を用いるものとする。
また、図では、転送レートを5段階に分けたが、これより少ない段階に分けてもよいし、これより多い段階に分けてもよい。
さて、再び図5に戻り、スピード決定部36の動作の説明を続ける。ステップ304でテープ速度V’が求まると、スピード決定部36は、最初のテープ速度Vと変更後のテープ速度V’とが等しいかどうかを判定する(ステップ305)。その結果、等しければ、何もせずに処理を終了する。
一方、等しくなれば、テープ速度を変更するための処理を行う。本実施の形態では、テープ速度の変更中はデータ転送を一旦停止することとしているので、まず、スピード決定部36は、メディアI/F部33に対し、データセットの転送を停止するよう指示する(ステップ306)。そして、テープ速度をVからV’へ変更するようスピード制御部37に指示する。これにより、スピード制御部37からの指示が駆動部70に伝えられ、駆動部70は、リール51又は52を制御することにより、テープ速度を変更する(ステップ307)。テープ速度の変更が完了すると、スピード決定部36は、メディアI/F部33に対し、データセットの転送を再開するよう指示する(ステップ308)。
次に、図6の対応テーブルを参照して、ステップ304におけるテープ速度の決定について、具体的に述べる。尚、ここでは、LTOの第3世代を例にとり、1つのデータセットに含まれるCQセットの数Naは128であるとする。
最初、転送レートMは40MB/secであり、テープ速度Vは、対応テーブルで40MB/secに適したものとして定義されているSpeed5であるとする。この場合において、エラーレートNが128であるとすると、調整後の転送レートM’は、「40×(128+128)/128=80」により、80MB/secとなる。対応テーブルを参照すると、80MB/secに適したテープ速度V’はSpeed1であるので、テープ速度をSpeed1に変更する。この場合は、テープ速度をSpeed5からSpeed1に変更したことにより、約2倍(=5.45/2.73)の転送効率を得ることができる。
また、転送レートMが60MB/secであり、テープ速度Vが、対応テーブルで60MB/secに適したものとして定義されているSpeed3である場合も同様にしてテープ速度が変更される。この場合において、エラーレートNが128であるとすると、調整後の転送レートM’は、「60×(128+128)/128=120」により、120MB/secとなる。対応テーブルを参照すると、120MB/secは定義されていないため、最大の転送レートである80MB/secが選択されることになる。そこで、80MB/secに適したテープ速度V’はSpeed1であるので、テープ速度をSpeed1に変更する。この場合は、Speed3をSpeed1に変更したことにより、約1.3倍(=5.45/4.09)の転送効率を得ることができる。
このように効果の幅は違うが、Speed2〜Speed4でテープ60が走行していた場合にテープ60の速度をSpeed1とすることで、テープ60へのデータ転送の効率を向上することができる。
一方、最初からSpeed1でテープ60を走行している場合には、転送効率は向上しない。しかしながら、不必要に高速にテープ60を走行させた場合にはバックヒッチが生じることから、本実施の形態では、テープ速度は、一旦高速にした場合であっても、その後、エラーレートが小さくなれば、低速にするように制御している(ステップ303で、N=0とすると、M’=Mとなる)。従って、任意の時点を考えた場合、Speed1でテープ60が走行していない可能性は高いため、大抵の場合にはデータ転送の効率の向上が見られることとなる。
次に、ヘッド40から渡されたデータセットをホスト10に送る際の制御部30の動作について説明する。ヘッド40からデータセットが渡されると、メディアI/F部33がこのデータセットを受け取り、バッファメモリ32に格納する。また、データセットには、その書込み時に発生したCQリライトの回数の情報がヘッダ情報として付加されているので、1データセットあたりのCQリライトの回数が分かるようになっている。そこで、エラーレート取得部35が、1データセットあたりのCQリライトが発生する割合(エラーレート)を取得し、テープ速度の決定に反映させるのである。また、上述したように、バッファメモリ32は、例えば、128個の区画に分けられており、各区画に各CQセットが格納されるものとしている。ここで、CQは、書き込まれた順に読み出されてバッファメモリ32に格納される。従って、CQリライトが発生したCQについては、正しく書けなかったCQが先に読み出されてバッファメモリ32に格納され、その後に、正しく書かれたCQによって上書きされることになる。
尚、ここでのエラーレート取得部35の動作は、図4を参照して既に述べたものと同様であるので、説明を省略する。
また、バッファメモリ32に格納されたデータセットは、所定のタイミングでホストI/F部31により取り出され、ホスト10に送られる。このようなホストI/F部31によるデータセットの送信の際に、転送レート取得部34が転送レートを取得する。
尚、ここでの転送レート取得部34の動作は、図3を参照して既に述べたものと同様であるので、説明を省略する。
その後、スピード決定部36は、図5を参照して既に述べたのと同様の動作により、テープ速度を決定し、スピード制御部37に対しテープ速度の変更を指示する。これにより、スピード制御部37からの指示が駆動部70に伝えられ、駆動部70は、リール50又は51を制御することにより、テープ速度を変更する。
以上により、本実施の形態の動作は終了する。
本実施の形態では、ホスト側の転送レートだけでテープ速度を決定するのではなく、記録媒体側のエラー情報も考慮してテープ速度を決定するようにした。これにより、記録媒体側でエラーが発生することによりデータ長が大きくなってしまう場合にも、効率よくデータ転送を行うことができる。
次に、本実施の形態を採用することで効果があるエラーの例について、図7を参照して説明する。
図7は、LTOの第2世代/第1世代のテープフォーマットを示した図である。
まず、データセットは、サブデータセット0,1,…,15に分割される。各サブデータセットは、64行からなり、各行は480バイトである。そして、2×i番目のサブデータセットの1行目と、(2×i+1)番目のサブデータセットの1行目とから、i番目のCQ(Codeword Quad)が生成される。そして、i番目のCQは、i番目のトラックに書き込まれる(i=0,1,…,7)。このようにして書き込まれた8個のCQの集合がCQセット0である。これを64行分繰り返し、テープ60上には、CQセット0,1,…,63が書き込まれることになる。尚、第3世代であれば、サブデータセットは64個、CQセットは128個となる。
ここで、仮に、トラック0に書き込むためのヘッドに異常が発生したとする。すると、CQセット0において、CQ0は正しく書かれていないため、CQ0を正常なヘッドで書かれる別のトラックに移してCQセット0がリライトされる。これにより、CQ0は正しく書かれるため、CQ0の書込みが完了する。その後も、トラック0に書き込むためのヘッドの異常が続いたとすると、結局、CQセット0〜63の全てについて、CQリライトを1回ずつ行うことになり、データセットに含まれるCQセットの数は、ホスト10から送られたデータセットに含まれるCQセットの数の2倍となる。このようなケースにおいて、本実施の形態の手法を採用すれば、ホスト10を待たせることなくデータ転送を行えるようになる。
尚、本実施の形態では、テープ速度の調節中の書込みをサポートしないテープドライブを前提としたため、速度変更中はデータの転送を一時的に停止するようにした。しかしながら、これは、テープドライブのハードウェア機構に依存するものであり、テープ速度変更中の書込みをサポートしているテープドライブであれば、データを転送しながらテープ速度を変更することも可能である。このようなハードウェア機構を使用した場合は、図5のステップ306及び308の処理は実行されない。また、本実施の形態におけるデータ転送の停止は、あくまで一時的なものであり、エラーが継続して発生する場合は、テープのスピードを変更した方が、長期的にみれば転送レートの向上につながることとなる。
また、本実施の形態では、記録媒体としてテープ媒体を例示したが、ディスク媒体であっても同様に考えることができる。その場合、ホスト側の転送レートと記録媒体側のエラーレートに基づいて、ディスク媒体の回転速度を決定することとなる。
更に、本実施の形態では、エラーレートの例として、CQリライトを想定したが、他のエラーによって転送時と記録時とでデータサイズに差異が生じた場合においても、本発明は有効である。但し、この場合のエラーは、テープ速度の変更とは相関がないものであり、かつ、バックヒッチを伴わずに(テープを止めずに)エラーリカバリが可能なものである。或いは、本発明は、エラーにより、データの容量は変わらないが、データの転送にかかる時間と、データの書込み/読出しにかかる時間とに差異が生じた場合に、転送レートと書込み/読出しレートを調整するものとして把握することも可能である。
また、上記では、LTOにおけるCQリライトのように、ホストから送られるデータの容量よりも、記録媒体に実際に書き込まれるデータの容量の方が大きいことを前提として説明してきたが、必ずしもそのような大小関係に限る必要はない。即ち、ホストから送られるデータの容量が、記録媒体に書き込まれるデータの容量よりも大きい場合に、ホスト側の転送レートと記録媒体側の転送レートを一致させるような形態であっても構わない。
更にまた、ホスト側の転送レートを記録媒体側の転送レートに合わせても、記録媒体側の転送レートをホスト側の転送レートに合わせてもよく、結果的に、これらの転送レートが互いに近づくように調整されるものであればよい。
但し、ここで調整される転送レートは、その一方がホストとバッファメモリとの間の転送レートであり、他方がバッファメモリと記録媒体との間の転送レートである、という構成には限られない。
例えば、ホストとバッファメモリとの間に圧縮装置が設けられている場合、一方は、圧縮装置とバッファメモリの間の転送レートであってもよい。この場合、データの書込み時においては、圧縮後のデータがバッファメモリに書き込まれる際の転送レートと、その圧縮後のデータがバッファメモリから取り出されて記録媒体へ書き込まれる際の転送レートとが一致するように調整される。また、データの読出し時においては、記録媒体からバッファメモリにデータが読み出される際の転送レートと、解凍前のデータが圧縮装置に読み込まれる際の転送レートとが一致するように調整される。
また、ホストと記録媒体の間に複数のバッファメモリが設けられている場合、調整対象の転送レートの一方又は両方は、バッファメモリ間の転送レートであってもよい。例えば、ホストから送られたデータが、バッファA、バッファB、バッファCをこの順に経由して記録媒体に書き込まれるとする。この場合、バッファBの前後で何らかの原因で転送レートが変わった場合に、バッファAとバッファBの間の転送レートと、バッファBとバッファCの間の転送レートとを一致させるために本発明を適用することも可能である。
本発明の実施の形態におけるコンピュータシステムの全体構成を示したブロック図である。 本発明の実施の形態における制御部の機能構成を示したブロック図である。 本発明の実施の形態における転送レート取得部の動作を示したフローチャートである。 本発明の実施の形態におけるエラーレート取得部の動作を示したフローチャートである。 本発明の実施の形態におけるスピード決定部の動作を示したフローチャートである。 本発明の実施の形態のスピード決定部で参照される対応テーブルの内容の例を示した図である。 本発明の実施の形態におけるCQリライトについて説明するための図である。
符号の説明
10…ホスト、20…テープドライブ、30…制御部、31…ホストI/F部、32…バッファメモリ、33…メディアI/F部、34…転送レート取得部、35…エラーレート取得部、36…スピード決定部、37…スピード制御部、40…ヘッド、50,51…リール、60…テープ、70…駆動部

Claims (18)

  1. 記録媒体の駆動を制御するための装置であって、
    上位装置との間で送受信するデータの一部の重複が前記記録媒体に実際に書き込まれたデータに発生した割合を取得する取得部と、
    所定期間内に前記上位装置との間で送受信するデータの容量である第2の転送レートと、前記取得部により取得された前記割合と、に基づいて、当該所定期間内に前記記録媒体に実際に書き込むデータの容量、あるいは当該所定期間内に当該記録媒体から実際に読み出すデータの容量である第1の転送レートの調整を行う調整器と
    を含み、
    前記調整器は、前記取得部により取得された前記割合が上昇したときには、前記第1の転送レートを高めるべく前記記録媒体の走行又は回転の速度を上昇させる、装置。
  2. 前記取得部は、前記記録媒体に実際に書き込まれたデータの容量と、当該データを上位装置との間で送受信する際における当該データの容量に基づいて前記割合を取得する、請求項1記載の装置。
  3. 前記取得部は、前記データを前記記録媒体に記録するのに要した時間と、当該データを上位装置との間で送受信する際における時間に基づいて前記割合を取得する、請求項1記載の装置。
  4. 前記重複は、LTO(Linear Tape-Open)におけるCQ(Codeword Quad)のリライトによって発生したものである、請求項1記載の装置。
  5. 前記調整器は、前記第2の転送レートと、前記取得部により取得された前記割合の大きさとに基づいて、前記記録媒体の走行又は回転の速度を制御する、請求項1記載の装置。
  6. 前記調整器は、前記第の転送レートと当該第の転送レートに適した前記記録媒体の走行又は回転の速度とを予め対応付けた定義情報に従って、当該記録媒体の走行又は回転の速度を決定する、請求項5記載の装置。
  7. 前記調整器は、前記調整の時点におけるデータの転送を、当該調整に先立って一旦停止し、当該調整の完了後に再開する、請求項1記載の装置。
  8. 記録媒体の駆動を制御するための方法であって、
    ホストコンピュータからデータを受け取るステップと、
    前記データを前記記録媒体に書き込むステップと、
    前記ホストコンピュータから受け取った時点でのデータの一部の重複が前記記録媒体に実際に書き込んだ時点でのデータに発生した割合を取得するステップと、
    所定期間内に前記ホストコンピュータとの間で送受信するデータの容量である第2の転送レートと、前記割合と、に基づいて、当該所定期間内に前記記録媒体に実際に書き込むデータの容量である第1の転送レートを調整するステップと、
    を含み、
    前記調整するステップでは、前記割合が上昇したときには、前記第1の転送レートを高めるべく前記記録媒体の走行又は回転の速度を上昇させる、方法。
  9. 前記取得するステップでは、前記ホストコンピュータから受け取った時点でのデータの容量と、前記記録媒体に実際に書き込んだ時点でのデータの容量に基づいて前記割合を取得する、請求項8記載の方法。
  10. 前記調整するステップでは、前記第2の転送レートと、取得された前記割合の大きさとに基づいて、前記記録媒体の走行又は回転の速度を制御する、請求項8記載の方法。
  11. 記録媒体の駆動を制御するための方法であって、
    前記記録媒体からデータを読み出すステップと、
    前記データの付加情報に基づいて、前記記録媒体に記録するためにホストコンピュータから受け取った時点でのデータの一部の重複が当該記録媒体に実際に書き込まれたデータに発生した割合を取得するステップと、
    所定期間内に前記ホストコンピュータとの間で送受信するデータの容量である第2の転送レートと、前記割合と、に基づいて、当該所定期間内に前記記録媒体から実際に読み出すデータの容量である第1の転送レートを調整するステップと、
    を含み、
    前記調整するステップでは、前記割合が上昇したときには、前記第1の転送レートを高めるべく前記記録媒体の走行又は回転の速度を上昇させる、方法。
  12. 前記取得するステップでは、前記記録媒体に実際に書き込まれたデータの容量と、当該記録媒体に記録するために前記ホストコンピュータから受け取った時点でのデータの容量に基づいて前記割合を取得する、請求項11記載の方法。
  13. 前記調整するステップでは、前記第2の転送レートと、取得された前記割合の大きさとに基づいて、前記記録媒体の走行又は回転の速度を制御する、請求項11記載の方法。
  14. 記録媒体の駆動を制御するための装置に対し、
    上位装置との間で送受信するデータの一部の重複が前記記録媒体に実際に書き込まれたデータに発生した割合を取得する取得処理と、
    所定期間内に前記上位装置との間で送受信するデータの容量である第2の転送レートと、前記取得処理で取得された前記割合と、に基づいて、当該所定期間内に前記記録媒体に実際に書き込むデータの容量、あるいは当該所定期間内に当該記録媒体から実際に読み出すデータの容量である第1の転送レートの調整を行う調整処理と
    を実行させるためのプログラムであって、
    前記調整処理は、前記取得処理により取得された前記割合が上昇したときには、前記第1の転送レートを高めるべく前記記録媒体の走行又は回転の速度を上昇させる、プログラム。
  15. 前記取得処理では、前記記録媒体に実際に書き込まれたデータの容量と、当該データを上位装置との間で送受信する際におけるデータの容量に基づいて前記割合を取得する、請求項14記載のプログラム。
  16. 前記重複は、LTO(Linear Tape-Open)におけるCQ(Codeword Quad)のリライトによって発生したものである、請求項14記載のプログラム。
  17. 前記調整処理では、前記第2の転送レートと、前記取得処理で取得された前記割合の大きさとに基づいて、前記記録媒体の走行又は回転の速度を制御する、請求項14記載のプログラム。
  18. 前記調整処理では、前記第の転送レートと当該第の転送レートに適した前記記録媒体の走行又は回転の速度とを予め対応付けた定義情報に従って、当該記録媒体の走行又は回転の速度を決定する、請求項17記載のプログラム。
JP2005140055A 2005-05-12 2005-05-12 記録媒体の駆動を制御するための装置、方法、及びプログラム Expired - Fee Related JP4140913B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005140055A JP4140913B2 (ja) 2005-05-12 2005-05-12 記録媒体の駆動を制御するための装置、方法、及びプログラム
US11/383,105 US20060256466A1 (en) 2005-05-12 2006-05-12 Device, Method And Program For Controlling Drive Of Recording Medium
US12/180,474 US20080285166A1 (en) 2005-05-12 2008-07-25 Method for controlling drive of recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005140055A JP4140913B2 (ja) 2005-05-12 2005-05-12 記録媒体の駆動を制御するための装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2006318571A JP2006318571A (ja) 2006-11-24
JP4140913B2 true JP4140913B2 (ja) 2008-08-27

Family

ID=37418865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005140055A Expired - Fee Related JP4140913B2 (ja) 2005-05-12 2005-05-12 記録媒体の駆動を制御するための装置、方法、及びプログラム

Country Status (2)

Country Link
US (2) US20060256466A1 (ja)
JP (1) JP4140913B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4755510B2 (ja) 2006-03-10 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記録装置、及び、データ記録装置のホストデータ転送のパフォーマンスを評価する方法
US8196019B2 (en) * 2007-01-30 2012-06-05 International Business Machines Corporation Error correction in codeword pair headers in a data storage tape format
US7710681B2 (en) 2007-06-06 2010-05-04 International Business Machines Corporation Optimizing tape speed for a sync operation
JP5104146B2 (ja) * 2007-09-13 2012-12-19 富士通株式会社 テープライブラリ装置
US8131927B2 (en) * 2007-11-30 2012-03-06 Hitachi, Ltd. Fast accessible compressed thin provisioning volume
EP2309506B1 (en) * 2008-07-08 2014-05-21 International Business Machines Corporation Device for adjusting traveling speed of tape medium, method for adjusting traveling speed, and program for adjusting traveling speed
US8289640B2 (en) 2008-08-11 2012-10-16 International Business Machines Corporation Error burst detection and amelioration
JP4866412B2 (ja) * 2008-10-10 2012-02-01 インターナショナル・ビジネス・マシーンズ・コーポレーション 間欠的な複数の読取り要求に対して最適なテープ速度を選択可能なテープドライブ、テープドライブ記録システム、及び、最適なテープ速度の選択方法
KR101379878B1 (ko) 2008-11-24 2014-03-31 삼성테크윈 주식회사 기록 장치에서의 제어 방법 및 이를 사용한 기록 장치
US8810951B2 (en) 2009-11-13 2014-08-19 International Business Machines Corporation Apparatus and method for controlling data writing to a tape medium
JP5385992B2 (ja) 2009-12-22 2014-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体の走行を制御する装置及び方法
JP5643152B2 (ja) 2011-05-19 2014-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ記憶装置、データ書込み方法、及び、プログラム
US8717698B2 (en) 2011-10-12 2014-05-06 International Business Machines Corporation Hierarchical control of tiered error recovery for storage devices
JP5753476B2 (ja) * 2011-10-27 2015-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データをシーケンシャルに記録する記憶装置
JP5764050B2 (ja) 2011-12-14 2015-08-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを書き込む装置及び方法
US8780485B2 (en) * 2012-04-23 2014-07-15 Hewlett-Packard Development Company, L.P. Data transfer of a linear tape drive
JP2014022002A (ja) 2012-07-17 2014-02-03 International Business Maschines Corporation シーケンシャルにデータを記録する記憶装置及びそのテープスピードの変更方法する方法
JP5942934B2 (ja) * 2013-07-09 2016-06-29 富士ゼロックス株式会社 画像処理装置及びプログラム
US9025261B1 (en) * 2013-11-18 2015-05-05 International Business Machines Corporation Writing and reading data in tape media
US10438569B2 (en) * 2017-04-17 2019-10-08 Intel Corporation Consolidation of data compression using common sectored cache for graphics streams

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04265557A (ja) * 1991-02-20 1992-09-21 Alps Electric Co Ltd 磁気記録再生装置のデータ転送方法
WO1994029858A1 (fr) * 1993-06-15 1994-12-22 Sony Corporation Appareil d'enregistrement et appareil de reproduction
US5825572A (en) * 1994-03-28 1998-10-20 Sony Corporation Apparatus and method for recording data according to a measured transfer speed
US6307701B1 (en) * 1998-10-20 2001-10-23 Ecrix Corporation Variable speed recording method and apparatus for a magnetic tape drive
US7064913B2 (en) * 2002-01-09 2006-06-20 Quantum Corporation Enhanced read margining using dither enhanced write marginalization for mass data storage applications
JP3823095B2 (ja) * 2003-04-17 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、プログラム記録媒体、及びデータ記録媒体
JP4174009B2 (ja) * 2003-05-30 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置、テープ障害検出システム、テープ障害検出方法、プログラム、及び記録媒体

Also Published As

Publication number Publication date
US20060256466A1 (en) 2006-11-16
US20080285166A1 (en) 2008-11-20
JP2006318571A (ja) 2006-11-24

Similar Documents

Publication Publication Date Title
JP4140913B2 (ja) 記録媒体の駆動を制御するための装置、方法、及びプログラム
US9262081B2 (en) Method for reading file using plurality of tape media
JP5199362B2 (ja) テープ媒体の走行速度調整装置、走行速度調整方法、及び走行速度調整プログラム
JP4131517B2 (ja) テープ媒体にデータを書き込むための装置
US7350021B2 (en) Method of controlling write and read of data for tape recording apparatus
US8139311B2 (en) Apparatus, method and program for controlling writing of data by tape recording apparatus
US20060002002A1 (en) Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks
EP2221717B1 (en) Method for controlling write on magnetic tape and magnetic tape device for executing the method
JP2008016117A (ja) テープへのデータ書込方法、テープへのデータ書込プログラム、及びテープ記憶装置
JP2012243353A (ja) テープ記憶装置、データ書込み方法、及び、プログラム
US9324358B2 (en) Controlling data writing of tape recording apparatus
US7986482B2 (en) Applying whip effect to magnetic tape exhibiting a tape stick condition
JP2015088199A (ja) テープメディア上に複数のアクセスパターンを持つデータの書き込み、及び、読み出し
JP2006065999A (ja) 磁気テープ制御装置、方法及びプログラム
JP5065203B2 (ja) データのフォーマットを変換する装置及び方法
JP4452269B2 (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
US20040165304A1 (en) Method, system, and program for maintaining a directory for data written to a storage medium
JP2014215668A (ja) テープドライブへのデータ書き込み方法、プログラム
JP2000235456A (ja) 磁気ディスク装置およびそのディスクアクセス方法
JP5044822B2 (ja) データをテープ媒体に書き込む装置及び方法
JP2834081B2 (ja) 磁気ディスク制御装置
US5363253A (en) Tape drive fast seek to end-of-track
US20230215462A1 (en) Reducing deviation of read head position between writing and reading in a magnetic tape
JPH0147809B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071207

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071227

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080508

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080606

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees