JPH02503249A - 直接ブロックアドレス能力を有するストリーミングテープ駆動装置 - Google Patents

直接ブロックアドレス能力を有するストリーミングテープ駆動装置

Info

Publication number
JPH02503249A
JPH02503249A JP1502302A JP50230289A JPH02503249A JP H02503249 A JPH02503249 A JP H02503249A JP 1502302 A JP1502302 A JP 1502302A JP 50230289 A JP50230289 A JP 50230289A JP H02503249 A JPH02503249 A JP H02503249A
Authority
JP
Japan
Prior art keywords
data
blocks
block
tape
magnetic head
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.)
Granted
Application number
JP1502302A
Other languages
English (en)
Other versions
JP2953724B2 (ja
Inventor
ミントズラッフ,ロジャー・ジー
Original Assignee
アチーブ・コーポレイション
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 アチーブ・コーポレイション filed Critical アチーブ・コーポレイション
Publication of JPH02503249A publication Critical patent/JPH02503249A/ja
Application granted granted Critical
Publication of JP2953724B2 publication Critical patent/JP2953724B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • 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/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5504Track change, selection or acquisition by displacement of the head across tape tracks
    • G11B5/5508Control circuits therefor

Landscapes

  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Adjustment Of The Magnetic Head Position Track Following On Tapes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 直接ブロックアドレス能力を有する ストリーミングテープ駆動装置 発明の技術分野 この発明はコンピュータシステムのストリーミングテープ駆動装置、特にテープ の全長をサーチせずにブロックごとに流れるように磁気テープ上に記録されたデ ータにアクセスできるストリーミングテープ駆動装置に関する。
発明の背景 コンピュータシステムでは磁気テープ上にデジタルデータを記憶させるためにス トリーミングテープ駆動装置が用いられている。データはテープの長さ方向に走 る複数の実質的に平行なデータトラックに沿って連続的に磁気テープに記録され る。1つのデータトラックが完全に記録されると、テープの方向は反転して反対 方向に別のデータトラックが記録される。このようにテープは磁気上を二方向に 動くようになっているため、各トラックが記録されるたびにテープを巻戻す必要 がない。このように複数のデータトラックに沿って一回に1つデータを前後に記 録することは、“蛇行”記録として知られる。
ストリーミングテープ装置では、蛇行記録の方法によってストリーミング装置で 用いられる磁気テープカートリッジ上に比較的大量のデータを記録できるという 利点がある。蛇行法で記録された単一テープカートリッジには何間メガバイトと いうデータが保持されている。さらにストリーミングテープ装置を用いると、生 成されるテープカートリッジが携帯用でコンピュータ間を容易に搬送できるとい う利点がある。対照的にフロッピーディスクも持ち運びが容易であるが、保持能 力は通常何間キロバイト程度である。コンピュータで用いられるハードデスクの 保持能力は比較的大きいが、コンピュータ間の移動は容易ではない。
ストリーミングテープ装置では大容量のテープカートリッジが生成されるが、こ のカートリッジは通常データの選択部分の検索能力が劣っており、これは蛇行テ ープカートリッジ上に記憶されたデータが基本的に単一であり、連続記録データ の長いデータトラックであるからである。以前はデータの選択部分を検索するた めに、ストリーミングテープ装置がデータの選択部分の存在を求めてデータスト リング全体をサーチしていた。例えばテープ駆動装置の磁気読取り・書込みヘッ ドが第1のデータトラック、すなわちトラック0上に起こり、第7のデータトラ ック、すなわちトラック6上にデータの選択部分が記録されていると、テープ駆 動装置が介入データトラックの各々の全体を連続してサーチし、選択データを位 置づけする。従って駆動装置はトラック0をサーチし、次にトラック1、そして トラック2と、トラック6上に選択データを見つけるまでサーチする。
これは時間を消費するサーチ法であるため、ストリーミングテープ駆動装置は通 常バックアップ記録装置としてのみ用いられている。このような一般的な応用で は一日の終わりにストリーミングテープカートリッジにハードディスクの内容全 体を記憶する。この場合テープカートリッジの記憶が大容量であり、データがテ ープに書き込まれるだけでテープから読みとられないために、データ検索時間が 長いという欠点が回避される。通常はないがたまたまハードディスクが故障した 場合は、失われるハードディスクのデータ内容全体をテープカートリッジから検 索することができる。
しかしストリーミングテープ装置をバックアップ記録装置としてのみ用いること は、蛇行法で記録された磁気テープの発明の概要 この発明は直接ブロックアドレス能力を有するストリーミングテープ駆動装置に 関しており、この直接ブロックアドレス能力はテープの全長をサーチする必要も なく、蛇行法で磁気テープ上に記録された選択されたデータブロックの位置を位 置づける能力である。この能力の結果、選択されたデータブロックを検索するた めにテープ駆動装置が必要とする時間は著しく減少する。
本発明の一様式は、データブロックが複数の蛇行データトラックとして記憶され るよ、うに蛇行法で磁気テープ上に記憶されたデータブロックの直接アドレス能 力を提供するストリーミングテープ駆動装置である。ストリーミングテープ駆動 装置はテープの全長の連続サーチを必要とせずにデータブロックをアドレスする 。テープ駆動装置には、蛇行法で記録されてインターブロックサーボパターンを 必要とせずに記録されたデータブロックの複数の蛇行データトラックを含むよう な磁気テープからデータを読取る磁気ヘッドが具備されている。テープ駆動装置 にはさらに蛇行法で記録された磁気テープ上に記憶されたブロックデータの直接 アドレス能力を提供するコントローラを具備している。テープ駆動装置の直接ア ドレス能力より、データの単一選択ブロックの検索が行われる。コントローラは 磁気テープの非連続サーチを実行することによってデータの選択されたブロック の位置を決定する。
本発明の別の実施例では、磁気テープ上の選択されたデータブロックの位置が2 パートサーチを用いることによって位置づけられる。所望のデータブロックをサ ーチする第1の部分はトラックからトラックへのサーチであり、この間磁気ヘッ ドは実質的に1つのデータトラックから別のトラックへ特別のデータトラックの 位置を定めるまで垂直に移動する。サーチのこの部分は、磁気ヘッドが位置づけ られるデータブロックのブロック数を読み取り、またこのように読みとられたブ ロック数を所望のデータブロックのブロック数と比較することによって、実行さ れる。2つのブロック数の間の数値の差が予め決められた大きさを越えると、磁 気ヘッドが異なるデータトラックに移動する。次に磁気ヘッドが新しいデータト ラック上のデータブロックを読取り、そのブロック数を再び所望データブロック のブロック数と比較する。ブロック数の差がそのまま予め決められた数を越える と、磁気ヘッドは異なるデータトラック等に移動し、以下同様に行われる。
サーチのこの第1の部分は、ターゲットデータブロックが見つけられる予め決め られた距離の範囲内のデータブロックか、あるいはターゲットデータブロックか らの距離が最小となるまで継続する。磁気ヘッドが通過しないか、あるいは1つ のデータトラックから別のトラックに移動する際に連続的に記録されたデータブ ロックごとに読みとるために、サーチの第1の部分は非連続的である。
所望のデータブロックのサーチの第2の部分は、上記のように磁気ヘッドが特定 のデータトラックに位置付られた後に実行される。サーチの第2の部分の間、磁 気ヘッドは所望のデータブロックに位置づけられるまで、各々連続的に記録され たデータブロックのブロック数を読みとる。サーチのこの第2の部分は、磁気ヘ ッドが各連続的に記録されたデータブロックを通過して読みとるために、連続的 である。
本発明のさらに別の態様では、テープ駆動装置には標準蛇行法で記録されたテー プの全長をサーチする必要なく、データの所望のブロックを位置づける能力が具 備されている。これは、標準蛇行法で記録された磁気テープが本発明に関連して 用いることができるという点で利点である。標準蛇行法で記録されたテープと本 発明の“適合性“によって本発明には現存のテープを用いることができ、また特 別のテープ方式が必要でないため広く応用することができる。
本発明のこのような目的、性質及び利点は、図面による望ましい実施例の詳細な 説明により明かである。図面の簡単な説明を以下に示す。
図面の簡単な説明 第1図はストリーミングテープ駆動装置の斜視図である。
第2図は蛇行法で記録された磁気テープの一部分を示す図である。
第3図は第1図のストリーミングテープ駆動装置で使用可能なテープカートリッ ジの正面図である。
第4図は磁気テープを第1図のストリーミングテープ駆動装置の磁気ヘッドを通 過して駆動するモータ駆動装置の側面図である。
第5図はテープ駆動装置の磁気ヘッドを磁気テープ上に記録されたいろいろな蛇 行データトラックに移動するモータ装置の段階的な側面図である。
第6図は第1図のストリーミングテープ駆動用の電子回路のブロックダイヤグラ ムである。
第7図は第6図に概略的に示されたテープ駆動装置コントローラの回路ダイヤグ ラムである。
第8図は第6図に概略的に示されたインターフェイス回路とメモリ回路の相互接 続を示すダイヤグラムである。
第9図はテープの全長をサーチすることなく選択データブロックの位置づけを促 進するテープ駆動装置コントローラのコンピュータプログラムの部分の全体的な フローチャートである。
第10図は第9図に一般的に示された初期の巻戻し段階のフローチャートである 。
第11図は第9図に一般的に示されたパラメータ段階を初期化するフローチャー トである。
第12図は第9図に一般的に示されたインデックスブランチ段階のフローチャー トである。
第13図は第9図に一般的に示されたターゲット段階からの新しい距離を調べる フローチャートである。
第14図は第9図に一般的に示されたターゲット段階からの距離に基づ(ブラン チのフローチャートである。
第15図は第9図に一般的に示されたトラック段階を変えるフローチャートであ る。
第16図は第9図に一般的に示されたサンプルブロックアドレス段階のフローチ ャートである。
第17図は第9図に一般的に示された最終位置づけ段階へのブランチのフローラ アートである。
第18図は第9図に一般的に示された反転一段階のフローチャートである。
第19図は第9図に一般的に示された微細な位置付は段階のフローチャートであ る。
第20図は第9図に一般的に示された位置づけが速すぎる段階のフローチャート である。
第21図は第9図に一般的に示されたデータが検出されない段階のフローチャー トである。
第22図は本発明に従って実行される選択データブロックのサーチを実行する間 にテープに関して位置づけられる磁気ヘッドの色々な位置を示す蛇行法で記録さ れた磁気テープの位置である。
第23図は標準蛇行法で記録された磁気テープの位置を示す図である。
第24図はいろいろなデータ領域が含まれる第23図のデータブロックを示す図 である。
望ましい実施例の詳細な説明 第1図にはストリーミングテープ駆動装置10が示されている。駆動装置10に は開口部12が備えられ、この開口部から駆動装置10とノブ14にテープカー トリッジが挿入されて、テープの磁気読取り・書込みヘッドがテープとかみ合っ てデータを記録し読取る。
テープ駆動装置lOは磁気テープカートリッジ上のデータを蛇行法で記録する。
第2図を見ると、磁気テープ15が蛇行法で記録されているのが見られる。テー プ15には9つの実質的に平行なデータトラックがある。データトラック0,2 .4.6.8はテープの初め(BOT)から終わり(EOT)に記録され、デー タトラック1.3.5.7はテープの終わりから初めの反対方向に記録される。
データトラックの記録はその番号順に行われる。すなわち、トラックOがまず記 録され、次にトラック1が記録されるという具合いである。偶数番号い。第2図 に示されたテープ15には9つのデータトラックがあるが、蛇行法で記録された 磁気テープは20以上のデータトラックを保持することができる。
第3図にはテープカートリッジ16が示されている。カートリッジIBの1対の 回転可能なリール20には長さ600フイートまでの磁気テープ18を巻取るこ とができる。駆動装置ベルト22はキャプスタン24及びローラ26のセットに よって巻取られ、リール20に接触している。キャプスタン24が回転するとベ ルト22によってリール20が回転し、テープがリール20に巻取られる。テー プカートリッジ16には蝶番ドア28が備えられ、このピンドア28はカートリ ッジ1Bがテープ駆動装置16に挿入されるとすぐに自動的に開いて磁気ヘッド がテープにかみ合うようになっている。
キャプスタン24はキャプスタンドライブローラ30によって駆動され、このロ ーラ30はテープカートリッジ16がテープ駆動装置10に挿入されて磁気読取 り・書込みヘッドがテープと結合するようにノブ14が動くとキャプスタン24 に結合する。
第4図を見ると、ドライブローラ30は軸32に回転可能な状態で取付けられ、 軸32はプレート34によってテープ駆動装置10に固定されている。軸32の 頂部にはフランジプーリ36が設けられ、プーリ36は第2のフランジプーリ4 2によってDCモータ40に連結しているベルト38によって駆動される。動作 時、DCモータ40はベルト38及びプーリ3Bによってキャプスタンドライブ ローラ30を回転させ、磁気テープ18は磁気ヘッドに駆動し、データを記録及 び検索するか、テープを巻戻すかあるいは前進させる。
ストリーミングカートリッジシステムに用いられる磁気テープは通常幅が4分の 1インチであり、長さは600フイートかそれ以上までである。4分の1インチ テープの端部間には12以上の平行なデータトラックを保持することができる。
これらのデータトラックの各々を読取りあるいは書込みデータにアクセスするた めには、磁気読取り・書込みヘッドを各トラックに適切に位置づけなければなら ない。磁気ヘッドが適切なデータトラックに正確に位置づけられない場合は、誤 トラックからの読み取りデータ、あるいは誤トラック上の書き込みデータにデー タ伝達エラーが起こり、データの損失が起こる。
このような適切な位置づけの要求はステップモータを用いて実行される。第5図 にはテープ駆動装置lOに用いられる磁気読取り・書込みヘッド及びステップモ ータアセンブリ44が示されている。アセンブリ44は磁気読取り・書込みヘッ ド46、カップラー48、リードスクリュー50、カラー52及びステップモー タ54から成る。磁気ヘッド46はリードスクリュー50に結合してヘッド46 の垂直位置がスクリュー50の回転によって調節できるようになっており、スク リュー50はステップモータ54によって制御されている。カラー52とモータ 54の間のリードスクリュー50の部分はテープ駆動装置lOに接続するベース プレート56を通過する。
ベースプレート56は機械的な停止、すなわち参考点として用いられており、そ の点から色々なヘッド位置をステップモータ54の多数の分離段階として計測す ることができる。ベースプレート56はカラー52と協働して計測が促進される 。カラー52はリードスクリュー50に固定して共に回転する。ヘッド46は、 カラー52の底部面はベースブレー)5Bと平らになると、ヘッド46はその参 考点、すなわち“アットホーム”にあると考えることができる。
ステップモータ54の各段階、すなわち角度回転によって、リードスクリュ50 が回転方向により固定した量だけ上昇あるいは下降する。従って距離は多数の段 階として計測することができる。ヘッド46が段階ごとに移動する距離は特定の ステップモータ、リードスクリュー及び用いられるヘッド力ップリンブ機構によ って移動する。本発明のある実施例では、ヘッド46が段階ごとに1インチの子 分の1だけ移動する。
特定の位置がホームから一定の距離にある場合は、この位置はまずヘッド46を ホーム位置に移動させ次にステップモータ54をホームからの距離に対応する多 数の段階で移動させることによって到達することができる。テープ駆動装置1o は現在の段階位置のトラックを保持し、現在の位置からの望ましい位置までの段 階の数での差を計算することによって望ましい位置を見つける。磁気ヘッドのこ の位置付けは従来的なものであり、すべてのストリーミングテープ駆動装置によ って必然的に実行される。
磁気ヘッド46には2つの読取りヘッド58.6012つの書込みヘッド62. 64、及び消去ヘッド6Bが備えられている。データがヘッド4Bによって磁気 テープ上に記録されると、データはまず書込みへラド82.64の内の1つによ って書込まれ、読取りヘッド5g、80の内の1つによって読取られて実質的に 新しく書き込まれたデータの完全性をチェックする。磁気テープが第5図のヘッ ド4Bを左から右に通過すると、テープは上方ヘッド46によって書き込まれ、 実質的に上方ヘッド58によって読取られてデータの正確性をチェックする。新 しいデータトラックが記録されてテープが反対方向にヘッド46を右から左に通 過する場合は、下方ライトへラド64はテープにデータを書込み、一方で読取り ヘッド60は実質的にデータの正確性をチェックする。
テープドライブ電子装置 第6図にはテープ駆動装置10の電子装置のブロックダイヤグラムが示されてい る。本発明の電子装置の中心はテープ駆動装置10の全体的な動作すべてを制御 するテープ駆動装置コントローラ70である。テープ駆動装置コントローラ7o は従来のモータドライバ72によってステップモータ54の動作を制御しており 、このドライバ72は米国特許第4717866号(グレイ氏に公告され本発明 の出願人に譲渡された)明細書に開示されたもので良い。この米国特許第471 7866号は参考として本明細書に引用したものである。
キャプスタンモータ40は従来の方法でインターフェイス回路76を通してモー タドライバ74により、テープドライバコントローラ70によって制御される。
モータドライバ74には従来のサーボフィードバック回路が具備されていても良 い。以下に示すように、モータ40にはタコメータが内臓され、モータ40が回 転する度に予め決められた固定数のタコメータパルスを生成スる。タコメータパ ルス信号はコンパレータ回路に送っても良く、この回路の第2の入力は水晶制御 基準周波数を受信するように接続されている。次にコンパレータ回路は、基準周 波数からのタコメータ信号によってモータ速度の逸脱が指示されるならば、エラ ー信号を生成する。このエラー信号はモータ40を駆動するパルス幅変調増幅器 に送ることができる。
データはインターフェイス回路76を通して従来の読取り串書込み回路78によ ってテープに記録され読取られる。読取り・書込み回路78は米国特許第464 4420号(ブチャン及び本発明の出願人に譲渡された)明細書に開示された回 路を使用することもできる。この米国特許第4644420号明細書は参考のた め本明細書に引用したものである。最後にテープ駆動装置10はインターフェイ ス回路7Bによってテープドライブコントローラ70に接続されたメモリ80を 具備している。
インターフェイス回路76は本発明の出願人により市販されているパイパー(商 標名)テープ駆動装置に備えられた注文7Bの詳細は、モータ駆動装置回路72 、読取り・書込み回路78、モータ駆動装置回路74及びメモリ80と同様本発 明には重要ではない。これらの回路は本願で記載しているように本発明を実行す るのに色々な実施態様で用いることができ、すでに現存する市販テープ駆動装置 には同様の回路が導入されている。
以下の説明でPSEN*のように信号名にアステリクス(*)が付く場合、この 信号は論理0であるかあるいは0.5ボルトのように比較的電圧が小さいならば 活性であり、論理1であるかあるいは4.5ボルトのように電圧が比較的大きい 場合は不活性である。信号名にアステリクスが付がない場合、はその信号は上記 のように論理1の時に活性であり、また論理0の時に不活性であることを示す。
図で信号名の上の重ね打ちはアステリクスと同様に論理0の時信号は活性である ことを表わし、重ね打ちがない場合は論理1の時に信号が活性であることを示す 。
第7図にはテープドライブコントローラ7oの回路図が示されており、マイクロ プロセッサ82がラッチ86を通してプログラム可能な読取り専用メモリ(FR OM)82に接続されている。マイクロプロセッサはインテル社から市販されて いる8031のような従来のもので良い。またラッチはモトローラ社から市販さ れている74ALS373のような従来のもので良<、FROMもインテル社か ら市販されている27512のような従来のもので良い。マイクロプロセッサ8 2、ラッチ86、PROM84は時間多重アドレス/データバス88によって相 互に連絡している。マイクロプロセッサ82及びPROM84はまたマイクロプ ロセッサ82の8ビツトデータポートに接続された高い順位のアドレスバス9o によって相互連絡している。マイクロプロセッサ82はアドレスラッチエネーブ ル(ALE)信号を用いてラッチ86によりデータのラッチングを制御している 。
動作時、マイクロプロセッサ82はインターフェイス回路76によって生成され るマイクロプロセッサクロック(MPCLK)信号及びマイクロプロセッサ82 の発振器人力XTAL2への入力によって制御される速度でFROMg4に記憶 されたコンピュータプログラム命令を引出しそれを実行する。アドレス/データ バス88は時間多重化されている。マイクロプロセッサ82が第1の命令引出し サイクルを行う間、低い順位のアドレスビットがアドレス/データバス88に送 られて一時的にラッチ86に記憶される。次の命令引出しサイクルでは高い順位 のアドレスビットA3−A15が高い順位のアドレスバス90を通してFROM 84に送られる。これと同時に低い順位のアドレスビットAO−A7がラッチ8 6からPROMg4に送られる。アドレスがこのように与えられると、FROM g4からアドレス/データバス88上でマイクロプロセッサ82によって実行さ れるべくマイクロプロセッサ82に命令が与えられ、実行される。
マイクロプロセッサ82には別の8ビツトデータボートがあり、このボートから は4つの信号、5TEPO,5TEPI、5TEP2及び5TEP3がブス92 によってモータドライバ74に出力されてステップモータ54を制御する。この データボートにはまた4つの信号P14、PI3、PI3及びPI3があり、テ ープ駆動装置の歳別番号をマイクロプロセッサ82に指示するのに用いられるジ ャンパー94のセット及びマイクロプロセッサ82への入力によって生成され、 そのためコンピュータネットワーク上で1つのテープ駆動装置が別のテープ駆動 装置と区別される。PI3.PI3.PI3及びPI3はまた別の目的に用いる こともできる。
マイクロプロセッサ82はまた、FROM84の出力をエネーブルしマイクロプ ロセッサ82がFROM84を読取る時にインターフェイス回路76に信号を送 るプログラム記憶エネーブル(PSEN*)信号が有している。ALE及びPS EN本信号は、メモリ80へのデータの読取り及び書込みを制御する読取り(R D本)及び書込みCWR本)信号とともにバス96に通してインターフェイス回 路に送られる。
マイクロプロセッサ82はまたリセット(S RS T)信号、タコメータ(T ACH*)信号、低優先中断(INTL*)信号及び高優先中断(INTHA* )信号を有する。
INTL*及びINTHAI信号は通常の中断信号であり、各信号は中断が行わ れてサービスが必要であることをマイクロプロセッサ82に指示する。このよう な優先された中断信号の使用は普通のことである。TACH本信号はモータドラ イバ回路74からマイクロプロセッサ82への入力であり、キャプスタンモータ 40に内臓されている通常のタコメータによって生成される。従ってTACH* 信号は、モータ40の回転速度及び任意の所定の時間に磁気ヘッド46を通過し たテープの長さを示す。この望ましい実施例ではタコメータが1インチあたり1 0000フラツクス移動の密度で磁気テープに記憶された各データブロックごと に4つのタコメータパルスを生成する。
マイクロプロセッサ82はその機能の1つを実行する際、コンピュータプログラ ムの記述に関連して以下に詳細に示すように、磁気ヘッドが現在位置づけら得て いるデータブロックのブロック数と捜しているターゲットデータブロックのブロ ック数を比較するためのコンパレータとして動作する。
使用されるマイクロプロセッサ82の型は本発明の実行には重要ではなく、従来 の色々な異なる型のマイクロプロセッサをプログラムすることができる。さらに 本発明は標準の市販論理チップまたはプログラム可能な論理アレイのような特に プログラムされた市販のチップを用いることによってマイクロプロセッサを用い なくとも実行することができる。
第8図はインターフェイス回路76及びメモリ80の接続を示すダイヤグラムで ある。メモリ80には3つの相互接続されたダイナミックランダムアクセスメモ リ(DRAM)集積回路80a、sob、80cが具備されている。各集積回路 は8つのアドレスラインAO乃至乃至A7を有し、このラインにはインターフェ イス回路76からアドレス信号AXO乃至AX7が入力される。メモリ回路80 a、 80b 80 cの各々にはまた行アドレス選択(RAS本)及び列アド レス選択(CAS*)信号及びインタフェイス回路76からの書込みエネーブル (WIJ)信号が含まれている。
メモリ回路80bはインターフェイス回路7Bに接続する4つのデータラインM DO乃至MD3を備えており、メモリ回路80cはインターフェイス回路に接続 した4つのデータラインMD4乃至MD7を、またメモリ回路80aはインター フェイス回路76に接続したデータラインMDPを備えている。磁気テープに書 き込まれまた読みとられるデータはMDPラインによって特別にパリティピット としてビットが加えられてメモリラインMDO乃至MD7により一時的に並列に 記憶される。
メモリ回路80 a s 80 b s 80 cにデータを書き込むために、 AXO乃至AX7ライン及び活性RASt信号によって行アドレスが特定され、 その後にAXO乃至AX7ライン及び活性CAS*信号によって列アドレスが特 定される。活性WE*信号において、データラインMDO乃至MD7及びMDP 上のデータ入力が特定されたアドレスでメモリ80に書き込まれる。データを読 みとるためにはメモリ回路が同じようにアドレスされて特定のアドレスに記憶さ れたデータがデータラインMDO乃至MDPに与えられる。
第8図の左手部分に図示されているインターフェイス回路78はインターフェイ ス回路76のXTALI及びXTALO入力に接続された水晶発振器100によ って駆動される。インターフェイス回路76は発振器100から上記のMPCL K信号を引き出す。読取り・書込み回路78によって生成されテープから読みと られるバイナリデータに対応する読取り信号(RDP)はインターフェイス回路 76への連続的な入力であり、メモリ80に関連して上記に示されたインターフ ェイス回路出力AXO乃至AX7、RASI CAS本、WE*、MDO乃至M D7及びMDPを用いてメモリ80に記憶される。
インターフェイス回路76はモ−タライバ回路74によってキャプスタンモータ 40の動作を制御するために用いられる多数のモータ制御信号を含んでいる。こ れらのモータ制御信号には停止(STPD*)信号、ある速度での(ASPD* )信号、ゴー(GO*)信号、反転(REV[)信号及び速度(SPD)信号が 含まれる。
5TPD*信号はモータドライバ回路74からインターフェイス回路7Bに送ら れ、活性の場合にモータ40が停止していること°を示す。A S P D*倍 信号同様にモータドライバ回路74からインターフェイス回路7Bに送信されて 、活性の場合にインターフェイス回路76にモータが“ある速度にある°こと、 すなわちデータがテープから読みとられるかあるいは書き込まれるストリーミン グ動作の安定状態速度(例えばこれは1秒あたり90インチのテープ速度に相当 する)に達していることを示す。
GO本信号はインターフェイス回路76からモータドライバ回路74への出力で あり、活性の場合モータ40をSPD信号によって選択される速度で駆動させる 。このSPD信号もまたインターフェイス回路7Bからモータドライバ回路74 への出力である。SPD信号の1つの論理レベルはあるモータ速度、例えば1秒 あたり90インチに相当し、SPD信号の他の論理レベルは第2の速度、例えば 1秒あたり72インチに相当する。
REV*信号はインターフェイス回路76からモータドライバ回路74への出力 であり、モータ40の回転方向を制御することによって、テープが磁気ヘッド4 Bを通過する方向を制御する。インターフェイス回路はINTL*信号及び通常 の高優先中断(INTH*)信号を生成する。
最後に、インターフェイス回路76はバス88上のアドレス/データラインAD O乃至AD7及びバス90上のアドレスラインA8乃至A15に接続され、マイ クロプロセッサ82がインターフェイス回路によってメモリ80にアクセスし、 テープから読みとられメモリ80に記憶されたデータを検索する。この結果マイ クロプロセッサ82はADO乃至AD7及びA8乃至A15ラインによって16 ビツトアドレス信号を送信する。
インターフェイス回路7Bはこれらのアドレスビットの内の8つをメモリ80の 行アドレスとして用い、残りの8ビツトをメモリ80の列アドレスとして用い、 特定のアドレスにあるデータをパリティピットMDPを除去してADO乃至AD 7によってマイクロプロセッサに戻す。
望ましい実施例の全体の動作 第9図にはサーチに用いられFROMg4に記憶されるコンピュータプログラム の全体的なフローチャートが示されている。このコンピュータプログラムが実行 されるとテープ駆動装置lOが駆動されて選択されたデータブロックのサーチを 実行する。このデータブロックはユーザが選択したものでも良いし、テープ駆動 装置が取付けられているコンピュータが選択したものでも良い。“選択された1 データブロツク及び“ターゲットデータブロックは本発明では交換して用いるこ とが可能であり、同じ意味である。両者ともテープ駆動装置によって位置づけら れるべきデータブロックを意味する。
サーチでは特定のデータトラックをまず実質的に垂直に非連続サーチを行う。磁 気ヘッドはヘッドがターゲットデータブロックの予め決められた距離の範囲にあ るデータブロックを読みとるか、あるいはターゲットデータブロックへの距離が 最小化されるまで、トラックからトラックへ移動する。ターゲットデータブロッ クへの距離は、ターゲットデータブロックへの現在の距離をターゲットデータブ ロックへの以前の距離と比較し、磁気ヘッドを距離のより小さな特定のデータト ラックに移動させることによって最小化される。磁気ヘッド46が適切なデータ トラックに位置されると、選択されたデータブロックが位置づけられるまでデー タブロックの連続サーチが行われる。
第9図では工程200において現在テープ駆動装置にあるカートリッジテープが が駆動装置に挿入されるために読みとられたかどうかが、プログラムによって決 定される。テープ駆動装置が以前に読みとられていない場合は、テープは巻戻さ れて磁気ヘッド4Bはデータトラック0に位置され、プログラムが速やかにテー プがたまたま全く記録されていないかどうかを決めることができる。次に工程2 02ではコンピュータプログラムの実行に用いられる多数のパラメータが初期化 される。そして工程204で磁気ヘッド4Bの現在の位置と選択されたデータブ ロックの間の距離を基本にしてインデックスブランチが実行される。以下に詳細 に示すように、この距離は選択されたデータブロックのブロック数と磁気ヘッド 46が現在位置しているデータブロックのブロック数の間の数値差として決めら れる。
工程204におけるインデックスブランチの結果、プログラムは3つの異なる工 程の内の1つに分岐する。1つの可能性は距離が比較的小さく、選択されたデー タブロックへの磁気ヘッド46の現在の距離が十分に小さくて、テープ駆動装置 が予定外の時間を浪費せずに選択されたデータブロックに対して連続サーチを実 行することができることが示されることである。この場合プログラムは、テープ 駆動装置が選択されたデータブロックの連続サーチを実行する点である精密位置 付は工程206に分岐する。プログラムはまた工程208に分岐し、この工程で 選択されたデータブロックかあるいはターゲットデータブロックからの新しい距 離が検査される。プログラムがインデックスプランチェ程204から分岐する第 3の工程は工程210である。磁気ヘッド4Bの現在の位置で磁気テープ上にデ ータがなかった場合はプログラムは工程210に分岐する。これはテープがただ 部分的に記録されて多数のブランクデータトラックが残り、磁気ヘッド4Bがブ ランクデータトラックの1つに位置づけられた場合である。
ターゲット工程208からの新しい距離を検査する時、プログラムはターゲット からの新しい距離とターゲットからの以前の距離との比較を数多く行う。プログ ラムを実行し選択されたデータブロックをサーチするの第1の非連続部分の間、 磁気ヘッド4Bは実質的にトラックからトラックに垂直に移動する。ヘッドが新 しいトラックに移動した後、ヘッドが位置づけられるデータブロックのブロック 数が読取られ、ターゲットからの°新しい距離”が計算される。この新しい距離 をターゲットからの以前の距離と比較することによって、ヘッド46の位置に関 する選択されたデータブロックの位置についての一定の見積が行われる。例えば 新しい距離の符号がターゲットからの以前の距離の符号から変化すると、変化す るデータトラックの磁気ヘッド46は選択されたデータブロック上をスキップし 、選択されたデータブロックの1つのトラックの範囲内に位置づけられる。ター ゲット工程208からの新しい距離を検査する時、ターゲットデータブロックか らの新しい距離の符号及び大きさがターゲットからの以前の距離の符号及び大き さと比較される。このような比較の結果、プログラムは3つの工程の1つに分岐 する。  。
これらの工程の1つは、磁気ヘッド46が選択されたデータブロックを通過して あまりにも遠くに行ってしまった場合にプログラムが分岐する位置づけが遠すぎ る工程212である。
この工程ではプログラムによってステップモータがあまりにも遠くに行ってしま ったためにその以前のトラックに戻される。ヘッド46が選択されたデータブロ ックを通過したがそれほど遠くには行っていない場合はプログラムは工程212 から最終位置づけ工程214に分岐する。工程214ではヘッドの現在の位置か ら選択されたデータブロックへの距離はそれが正か負かを見るためにチェックさ れる。距離が正であると、ヘッド46は選択されたデータブロックより“下°に 位置づけられる。、“下″というのはターゲットデータブロックよりも小さなブ ロック数を有するデータブロックを意味し、プログラムは精密位置づけ工程20 6に分岐し、この工程でプログラムはデータブロック数の連続読み取りを行うこ とによって選択されたデータブロックを発見する。距離が負である場合は、ヘッ ド46は選択されたデータブロックをすでに通過しており、ヘッドが選択された データブロックの下に位置づ転位置工程216中に生じる。
プログラムがターゲットからの新しい距離を検査する工程218から分岐する第 3の工程は、ターゲットからの距離に基づくプランチェ程218である。この工 程の間、プログラムは磁気ヘッド46のターゲットへの現在の距離と予め決めら れた数値とを比較する。ヘッド46がなおターゲットデータブロックから長い距 離にある場合は、プログラムはヘッド46が異なるデータトラックに移動する変 化トラック工程2201:l:分岐する。ヘッドがターゲットデータブロックに 近い場合は、磁気ヘッド46がターゲットデータブロックより上に位置するかあ るいは下に位置するかによって、プログラムは反転位置付は工程216かあるい は精密位置づけ工程206のいずれかに分岐する。
変化トラック工程220の期間、ターゲットデータブロックへの距離の符号によ ってプログラムはヘッド46を異なるデータトラックに移動させる。プログラム はまた“前途を見て°、低い方向でヘッドが異なるデータトラックに移動できる かどうかを決定する。例えばヘッドがトラック2からトラック1に移動して丁度 トラック0に来た場合は、プログラムは現在のトラック数(トラック0である) を調べて、トラック0よりも数値の小さなデータトラックはないためヘッドがこ の方向にはこれ以上移動できないことを決定する。この前途を見る工程の結果、 ヘッド46が数値がより小さなデータトラックに移動できない場合は、プログラ ムは精密位置づけ工程206に分岐する。ヘッドがさらに低い方向に移動できる 場合は、プログラムはヘッドが現在位置づけられているデータブロックのブロッ ク数が読取られるサンプルブロックアドレスサブルーチン222を呼び出し、プ ログラムは工程204に分岐して戻る。
精密位置づけ工程206はサンプルブロックアドレスサブルーチン222で読み とられたデータブロックのブロック数をターゲットデータブロックのブロック数 と比較することによって、選択されたデータブロックの連続サーチを行う。磁気 ヘッド46が現在位置づけられているデータブロックのブロック数がターゲット データブロックのブロック数と適合すると、ターゲットデータブロックが発見さ れてプログラムの実行が終了する。
サンプルブロックアドレスサブルーチン222中、磁気へラド46はヘッドが現 在位置づけられているデータブロックのブロック数を読み取り、それによってプ ログラムはターゲットデータブロックに関して磁気ヘッド46の現在の位置を決 めることができ、それに従って分岐する。
プログラムがインデックスプランチェ程204からデータが検出されない工程2 10へ分岐する場合は、プログラムがチェックして駆動装置に現在あるテープが 全く記録されていないわけではないことを確認する。テープが記録されることが 見積られると、磁気ヘッド46はテープ上の記録データの終わりを越えて移動す るために、プログラムは上記の位置づけが遠過ぎる工程212に分岐する。
上記の望ましい実施例では、サーチの第2の“連続′部分は、数値がより高い各 データブロックが読みとられてそれがターゲットデータブロックであるかどうか を決めるために試験するものであり、厳密に連続していることに注目すべきであ る。しかし本発明を実行するのにこのように厳密な連続サーチは不可欠でないこ とが理解されるべきである。厳密な連続サーチの代わりに、例えば1つごとある いは5つごとのデータブロックを試験してそれがターゲットデータブロックであ るかどうかを決定する実質的な連続サーチを用いても良い。
望ましい実施例の詳細な動作 初期巻戻し工程200の詳細なフローチャートは第9図に一般的に示されており 、さらに第10図に示されている。初期巻戻し工程200の目的は、テープが以 前にテープ駆動装置lOによって読取られなかった場合にテープを巻戻すことで ある。テープを巻戻すことによって、テープが以前に記録されたならば磁気ヘッ ド46がデータブロックに位置づけられることが保証される。工程240では有 効なREADFLAG変数が試験されてそれがゼロであるかどうかを決定するた めに用いられる。このREADFLAG変数はテープ駆動装置に現在挿入された テープが挿入の後に読取られたかどうかのトラックを保持するのに用いられる。
READFLAG変数はテープがテープ駆動装置に挿入され、テープ駆動装置へ のパワーがオンにされ、またテープ駆動装置がリセットされるとゼロにリセット される。READFLAGが工程240で決定されたようにゼロであるならば、 現在のテープが以前には読みとられておらず、工程242で記録されたデータが テープ上で開始する点であるトラック0の始まりに巻戻されることを示す。次に プログラムは初期化パラメータ工程202に分岐する。READFLAG変数が ゼロでなければ、テープが以前に読取られたことを示し、プログラムはテープを 巻戻さずに工程202に分岐する。
第9図に一般的に示されている初期化パラメータ工程202の詳細なフローチャ ートは第11図に示されている。
データの選択されたブロックを見つけるためにサーチプログラムが実行される度 に、初期化パラメータ工程が実行される。
ここで第11図を見ると、工程250ではTARGETの数値がソフトウェアレ ジスタであるAXにロードされる。
TARGETにはコンビニ−タブログラムによってロードされるべきデータブロ ックのブロック数が含まれている。そして工程252ではACTUALの数値が 別のソフトウェアレジスタであるCXにロードされる。ACTUALには磁気ヘ ッド4Bが現在位置しているデータブロックのブロック数が含まれている。工程 254ではCXレジスタの内容がAXレジスタの内容から引かれる。その結果A Xレジスタには磁気ヘッド46の現在の位置から選択されたデータブロックまで の距離が含まれる。ブロック数の差であるこの距離は正であっても良いし、負で あっても良い。例えば磁気ヘッド4Bがトラック0に位置しまた選択されたデー タブロックがトラック3に位置していたならば、選択されたデータブロックのブ ロック数がヘッドが現在位置しているデータブロックのブロック数より大きいた めに、この距離は正である。反対に磁気ヘッド46がトラック3に位置し選択さ れたデータブロックがトラック0に位置していたならば、選択されたデータブロ ックのブロック数はヘッドが現在位置しているデータブロックのブロック数より も小さいために、この距離は負である。
工程256ではAXに記憶されたこの距離がNEWD I ST変数に移動して 、それはターゲットデータブロックへの最も最近計算された距離を表わす。工程 258ではこの距離がまた可変0LDDISTに移動してそれはターゲットまで の以前の距離を表わす。この初期化工程202の前では以前の距離は計算されな いため、0LDDI STはターゲットブロックからの現在の距離に設定される 。
工程260ではRESULT変数がゼロに設定される。このRESULT変数に 記憶された数値によって、インデックスプランチェ程204中にプログラムが分 岐する工程が決定される。RESULTがゼロである時は、ターゲット工程20 8からの新しい距離の検査のためにプログラムは工程204から分岐される。
工程262では磁気ヘッド4Bが位置づけられる現在のトラックがA変数に移動 される。そして工程264でAの内容がCTRACK変数に移動し、工程266 ではAの内容がPTRACK変数に移動する。CTRACK変数は磁気ヘッド4 6が位置づけられている現在のデータトラックの数値を維持し、PTRACK変 数は磁気ヘッド46が位置づけられていた以前のトラックの数を維持する。この 場合PTRACKはプログラムが初期化されて磁気ヘッド46がこのサーチ中は 以前には位置づけられていないため、TRACKに記憶されたような現在のトラ ックの数値に初期化される。最後に工程268で初期化操作が終了してプログラ ムがインデックスプランチェ程204に分岐する。
第9図に一般的に示されているインデックスプランチェ程204の詳細なフロー チャートは第12図に示されている。
コンピュータプログラムのこの部分によって磁気ヘッド4Bのターゲットデータ ブロックからの現在の距離゛に応じたRESULT変数の数値に基づいてインデ ックスブランチが実行される。このようなインデックスブランチは従来のコンピ ュータプログラムに用いられており、基本アドレスへのポインタとこのポインタ によって特定される基本アドレスのオフセットとしてのインデックスを用いてい る。この実施例では基本アドレスを特定するのにPOINTER変数が用いられ 、INDEX変数がこの基本アドレスへのオフセットを特定している。ここで次 の表1を見ると、INDEXの各々の値に対して特定のブランチが設定されてい る。例えばINDEX−3ならばプログラムは表1に示されているように工程2 06に分岐する。
表    1 0       工程208へ 3       工程206へ 6       工程206へ 9       工程208へ 12        工程210へ 表1によって特定された位置に従ってプログラムをジャンプさせるために、工程 270ではRESULT変数の内容が、表1へのインデックスとして用いられる INDEX変数に移動する。工程272ではコンピュータプログラム内の表1の 位置のアドレスがPOINTER変数に移動し、これは結果としてプログラム内 の表1の位置を指示する。工程274ではINDEX変数の内容がこの場合は表 1の基本アドレスを含むPOINTER変数の内容に加算されて、プログラムが 表1に特定された適切な工程に分岐する。表1によって特定される3つの可能な ブランチの位置はターゲットからの新しい距離の検査工程208、データが検出 されない工程210及び精密な位置づけ工程206である。
ターゲットからの新しい距離の検査工程208は第9図に一般的に示されている が、その詳細なフローチャートは第13図に示されている。ターゲットからの新 しい距離の検査工程208の期間、プログラムによってNEWDIST及び0L DDI ST変数の符号及び大きさを比較し、磁気ヘッド46及びテープがどの ように次に位置されるべきかを決定する。
ここで第13図を参照すると、工程290ではRETRYS変数がゼロに設定さ れる。データが検出されない工程210の説明で以下に詳細に記載されているよ うに、このRETRYS変数はテープの特定部分が磁気ヘッド46によって何回 読みとられたかというトラックを保持する。テープの特定部分を3回読みとった 後にデータが検出されない場合は、テープのこの部分にはデータが記憶されてい ないと推定される。
工程292ではNEWDIST変数の符号と0LDD I ST変数の符号が比 較される。前記のようにNEWDIST変数には、ターゲットデータブロックの ブロック数と磁気ヘッド46が現在位置しているブロック数の間の数値の差とし てターゲットまでの現在の距離が含まれている。
0LDDI ST変数にはターゲットデータブロックのブロック数と磁気ヘッド 46が以前位置していたブロック数の間の数値の差としてターゲットデータブロ ックまでの以前の距離が含まれている。従ってNEWDISTの符号が0LDD I STの符号と同じではない場合は、磁気ヘッド4Bは1つのデータトラック から他のデータトラックに移動する際にターゲットデータトラックを通過する。
工程294では符号が変化しなかった場合は、ターゲットからの距離に基づくプ ランチェ程にプログラムが分岐する。
符号が異なる場合は磁気ヘッド46がターゲットデータブロックの最後のトラッ ク変化の間にこのブロックをスキップしたことを示し、工程294ではプログラ ムが工程296に分岐して0LDD I ST及びNEWDISTの絶対値ある いは大きさを比較する。NEWDISTの絶対値が0LDDI STの絶対値よ りも小さい場合は、現在のトラック上のヘッドの位置は以前のデータトラック上 のヘッドの位置よりもターゲットデータブロックにより近い。この場合だなお以 前よりはターゲットデータブロックにより近い状態である。従って工程298で はNEWDISTの絶対値が0LDDI STの絶対値より小さい場合、プログ ラムが最終位置づけ工程214のブランチに分岐する。その結果第9図に示され たフローチャート全体から明かなように、磁気ヘッド46の初期の非連続的なト ラックからトラックへの位置づけは完了し、プログラムはそれ以上トラック変化 工程220を実行しない。
NEWDISTの絶対値が0LDDI STの絶対値よりも大きい場合は、ヘッ ド46が以前よりもターゲットデータトラックからより遠去かり、その結果プロ グラムはヘッド46がその以前に位置に移動する位置づけが遠過ぎる工程212 に分岐する。
ターゲットからの距離に基づくプランチェ程218は第9図に一般的に示されて いるが、その詳細なフローチャートは第14図に示されている。この工程218 はサーチの初期のトラックからトラックの部分の期間に実行され、磁気ヘッド4 6が異なるデータトラックに移動すべきかどうかを基本的に決定する。この異な るデータトラックは磁気ヘッド46のターゲットデータブロックからの現在の距 離と予め決められた数値とを比較することによって決められる。
第14図を参照すると、工程300においてプログラムは以下の表2に従ってD  I 5TCODE変数を検索する。
DI 5TOCODE変数はNEWDIST変数によって表わされるターゲット データブロックまでの磁気ヘッド46の距離を示す。
表    2 0<NEWD I ST<256    1256≦NEWDIST<4096    24096≦NEWDIST   3 −1>NEWDIST>−2565 −256≧NEWDIST>−40966−4096≧NEWDIST  7 上記の表2を見ると、D I 5TCODHの値はNEWDISTの値に依存し ている。プログラムは上記のようにNEWDISTの値に対応するDI 5TC ODEの値を検索する。DI 5TCODE変数によって表わされる距離の基づ いてプログラムをどの工程に分岐するかが、D I 5TCODE変数を用いて 決定される。
D I 5TCODE変数は3倍されて、上記のようなインデックスジャンプを 実行するためのインデックスとして用いられる。D I 5TCODE変数は、 ソフトウェア表(内容は下記の表3に示されている)内の各項目間の距離が3バ イトであるために3倍される。従って工程302では数3が変数Bに移動し、工 程304ではDI 5TCODEがBによって乗算される。工程306ではその 結果の積がINDEX変数に移動して、下記の表3に従ってインデックスジャン プを実行するためのインデックスとして用いられる。
表    3 0       工程206へ 3       工程206へ 6       工程206へ 9       工程220へ 12        工程206へ 15        工程216へ 18        工程216へ 21        工程220へ 表3に特定されている位置づけに従ってプログラムをジャンプさせるために、工 程306ではDI 5TCODE変数の内容がINDEX変数に移されて表3へ のインデックスとして用いられる。工程308ではコンピュータプログラム内の 表3の位置のアドレスがPOINTER変数へ[Jlし、その結果コンビニ−タ ブログラム内の表3の位置に指示される。
工程310ではINDEX変数の内容がこの場合表3のアドレスを含むPOIN TER変数の内容に加算され、プログラムは表3で特定される適切な工程に分岐 する。表3で特定される3つの可能なブランチ位置は、精密位置づけ工程206 、反転位置工程216及び変化トラック工程220である。
上記の表2及び3から明らかなように、NEWDIST変数によって表わされる 新しい距離が4096より小さな正の数であるか、あるいは−1と等しければ、 プログラムは精密位置づけ工程206に分岐する。数4096は、この数が通常 用いられる磁気テープカートリッジのある蛇行トラックのデータブロック数の3 分の1にほぼ等しいという点で特に重要である。
上記表2及び表3から示されているように、NEWDIST変数によって示され る新しい距離が−1と−4096の間であるならば、プログラムは反転位置工程 216に分岐する。この場合プログラムは非連続的なサーチモードを残し、この モードでプログラムはヘッド4Bをトラックからトラックに移動させ、テープが 新しい距離に相当する量だけ巻戻される反転位置工程に分岐する。限度−409 6もまた、その絶対値がデータトラックの共通の長さの3分の1にほぼ等しいと いう点で重要である。
最後に再び表2及び表3を参照すると、新しい距離の絶対値が4096より大き いか等しければ、プログラムは非連続的なサーチモードにとどまり、そのモード でヘッド4Bはトラックからトラックへ移動される。従ってこの場合プログラム は、ターゲットデータブロックにデータトラック1つだけヘッド46をより近づ けられるトラック変化工程220に分岐する。
′)ラック変化工程220は一般的に第9図に示されているが、その詳細なフロ ーチャートは第15図に示されている。
トラック変化工程220が実行される度に、磁気ヘッド46は1データトラツク 上下する。サーチの初期の非連続的部分では、トラック変化工程220が多数回 実行されて、磁気ヘッド4Bをターゲットデータブロックの予め決められたデー タブロック数の範囲に動かすように試みる。このブロック数は上記のように40 96である。第15図を参照すると、工程320では磁気ヘッド46が位置づけ られ、CTRACK変数中に記憶されている現在のトラック数がPTRACK変 数に移動され、これは上記のようにヘッドが以前位置づけられていたデータトラ ック数を表わす。
プログラムのトラック変化部分の基本的な決定工程である工程322は、磁気ヘ ッド4Bが数値的により高いデータトラックあるいは数値的に低いデータトラッ クに移動すべき方向を決定する。工程322・では新しい距離が正であるならば 、ヘッドがターゲットデータブロックのブロック数よりも数値的により小さなブ ロック数を有するデータブロックに位置されることを示しており、プログラムは 工程324に分岐する。
工程324乃至330は、トラック1つ分ヘッド4Bを上昇すると、ヘッドをテ ープ上の最高のデータトラックに位置づけられるかどうかを決定するのに用いら れる。ヘッドが位置づけられる場合は、ヘッドは動かない。工程324では、ヘ ッド46が位置づけられる現在のトラック数のトラックを保持するCTRACK 変数の値がインクレメントして、ヘッドが現在位置されている実際のトラックよ りもトラック1つ分大きくなるようになっている。工程326ではCTRACK 変数の内容がA変数に移動される。そして工程328では、磁気テープの最大デ ータトラック数の値を含むMAXTRK変数がCTRACK変数の内容と比較さ れる。例えばテープ駆動装置内の磁気テープにトラック0乃至8の9つのデータ トラックがあるならば、MAXTRKには8の数値がある。工程330ではCT RACK変数がMAXTRK変数に等しければ、このトラック変化工程200中 は磁気ヘッド4Bが1工程上に移動することはない。その結果、この点での値が 実際のトラック数よりも実際に1つより大きくまたヘッドはトラック1つ上に移 動することはないため、CTRACK変数がデクレメントする点である工程33 2にプログラムが分岐する。この点でヘッドは最大トラック数に移動せずまたそ れ以上は移動することもないため、プログラムはサーチのトラックからトラック の位置づけ部分に出て精密位置づけ工程206に分岐する。
最大トラックが工程330におけるCTRACK変数に等しくなかった場合は、 ヘッド4Bがデータトラック1つ上昇する点である工程334にプログラムが分 岐する。“上昇”という言葉の意味は、ヘッド4Bが数値の次に高いデータトラ ックに移動するということであり、必ずしもヘッド46が物理的に上昇方向に移 動することではない。その後プログラムは工程352に分岐してヘッド4Bが今 位置しているデータブロックのブロック数を読みとる。
ここで記載したトラック変化工程の部分は、NEWDIST変数によって表わさ れるヘッド4Bとターゲットデータブロックの間の新しい距離が正であって、ヘ ッドがターゲットデータブロックよりも数値的に小さいデータブロックに位置づ けられることを意味する場合に実行されるが、これは上記のように工程322で 決められる。工程322で決められる新しい距離が負であり、ヘッドがターゲッ トデータブロックよりも数値的により高いブロック数を保持するデータブロック に位置されることを意味する場合は、プログラムは工程322から工程342に 分岐する。工程342ではヘッド4Bが数値的に次に低いデータトラックに下降 するため、CTRACK変数の値が1だけ減少する。工程344ではヘッド46 が1データトラツクだけ下降する。
工程346乃至350はプログラムの将来的な実行を“見通して°、次にトラッ ク変化工程220を実行する期間中ヘッド46が別のデータトラックに下降でき るかどうかを決定するのに用いられる。ヘッド4Bが次のトラック変化工程期間 中に下降しない場合は、プログラムはサーチのトラックからトラックの部分を出 て、反転位置工程216に分岐する。工程346ではA変数がCTRACKの値 を受ける。工程348及び350ではAに記憶されているCTRACKの値をゼ ロと比較する。Aがゼロである場合は、続くトラック変化工程220を実行する 間ヘッド46が下降しないため、プログラムは反転位置工程216に分岐するこ とによってサーチのトラックからトラック部分を出る。
工程350においてAがゼロに等しくない場合は、ヘッド46が位置づけられた 新しいトラック上のデータブロックのブロック数をプログラムが検索する工程3 52にプログラムが分岐し、それからプログラムがインデックスプランチェ程2 04に分岐してサーチのトラックからトラック部分を継続する。
磁気ヘッド46がサーチのトラックからトラック部分期間中に上記のように一度 に単一データトラックだけ移動するが、磁気ヘッド4Bは一度に1トラック以上 移動することもでき、その場合にもまた本発明の利点が保持される。
サンプルブロックアドレスサブルーチン222は第9図に一般的に示されている が、その詳細なフローチャートは第16図に示されている。このサンプルサブル ーチン222の目的は、磁気ヘッド46がたまたま位置づけられるデータブロッ クを単に読取るものである。データブロックが読みとられた後、ターゲットデー タブロックまでの新しい距離が、読みとられたばかりのデータブロックのブロッ ク数に基づいて計算され、インデックスプランチェ程204で用いられる新しい 距離に基づいてRESULT変数が最新化される。
第16図を見ると、工程360ではサンプルサブルーチン222の初めにERR ORS変数が0にリセットされる。
ERROR3変数は、サンプル工程中にどのくらいの読み取りエラーが行われる かというトラックを保持するのに用いられる。工程362では磁気ヘッド46が データブロックを読みとる。これはテープが読みとられる速度に達するまでテー プを駆動するDCモータを加速することによって実行される。
次にヘッド46がデータブロックを読み取り、モータが停止するまで減速される 。
磁気ヘッド4Bが工程362においてデータブロックを読み取れずに現在読みと られているテープの部分になんらかのデータが記録されていることが示されない 場合は、プログラムが工程364においてタイムアウトし、この場合は工程37 2に分岐する。工程364のタイムアウト待ち間隔は34のデータブロックが磁 気ヘッド46を通過するのに必要な時間に等しい。従ってヘッド4Bが34のデ ータブロックに要とする長さに相当するテープの長さの範囲内でデータブロック を検出しない場合は、プログラムはタイムアウトする。工程372ではX変数が 数12に設定され、これは以下に示すようにヘッド46の現在の位置においてデ ータが検出されなかったことを示す。
工程362において磁気ヘッド46がデータブロックを読みとる場合は、プログ ラムは工程364においてはタイムアウトせず、工程366に分岐してエラー、 例えば良く知られたサイクリック冗長チェック(CRC)エラーが検出されたか どうかを決定する。エラーが検出された場合は、工程368においてERROR 8変数がインクレメントされる。工程370においてはERRORS変数が検査 されてそれが2より小さいかどうかが決められる。ERROR3の値が2より小 さい場合は、プログラムは別のデータブロックを読取るために工程362に分岐 して戻る。ERRO8の値が2より小さくない場合にはプログラムはエラーメツ セージによって戻る。
工程366においてエラーが検出されなかった場合は、有効データブロックが読 みとられてプログラムは工程374に分岐する。工程374乃至380ではター ゲットデータブロックからの磁気ヘッド4Bの新しい距離が計算される。工程3 74ではNEWDISTの値が0LDD I STに送られる。
工程375ではターゲットデータブロックのブロック数を含むTARGET変数 の内容がソフトウェアレジスタAXに移動する。工程376では工程362にお いて読取られたばかりのデータブロックのブロック数を含むACTUAL変数の 内容がソフトウェアレジスタDXに移動される。工程378ではDXの内容はA Xの内容から差し引かれ、工程380においてはAX中に記憶された結果的な新 しい距離がNEWDIST変数に移動される。
工程382乃至388はターゲットまでの新しい距離に基づく特定の数でRES ULT変数をロードする。上記のようにRESULT変数の値は、インデックス プランチェ程204の間にプログラム分岐工程がどれかを決定する。工程382 においてはINDEX変数の特定の値が、以下に示された表4に従ってNEWD IST変数の値によって検索される。
表    4 0<NEWD I ST<256    1256≦NEWDIST<4096    24096≦NEWDIST   3 −1>NEWDIST>−2565 −256≧NEWDIST>−40966−4096≧NEWDIST  7 INDEX変数が上記の表4に従って検索される後は、プログラムはインデック スブランチを用いて数値を検索してRESULT変数中に記憶する。この結果工 程384では以下に示された表5のコンピュータプログラム中のアドレスがPO INTER変数が移動する。工程386ではプログラムが、表5に対するインデ ックスとして用いられるINDEX変数の値によってX変数中に特定の数値を記 憶する。
表    5 表5によって特定される適切な値を検索するために、工程386においてこの場 合表5のアドレスを含むPOINTER変数の内容にINDEX変数の内容が加 算され、次にプログラムによってX変数中にINDEX変数によって特定される 値を記憶する。そして工程388においてインデックスプランチェ程204で用 いるためにX変数の内容がRESULT変数に送られ、次にサンプルサブルーチ ン222を呼び出したプログラムの部分にプログラムが戻る。
以下に示されるように、従来のストリーミングテープ駆動装置は、色々な位置で テープの穴の存在を光電気的に感知することによって磁気テープの物理的な端部 及び開始部を感知する。テープ駆動装置がテープの端部あるいは開始部を感知す ると、テープ駆動装置はテープの方向を反転し、自動的に数値的に次に高いデー タトラックの読み取りが開始する。しかしサンプルサブルーチン222を実行中 に、テープの開始部あるいは端部が感知されるならば、磁気ヘッド4Bは数値的 に次に高いデータトラックに自動的には移動しない。その代わりテープは巻戻さ れてヘッド4Bが現在のデータトラック上に記録されたデータブロックを読取る ことができる。その結果CTRACK及びPTRACK変数は自動トラックスイ ッチによって無効にされないため、プログラムはより強力に実行される。
最終位置づけ工程214は第9図に一般的に示されているが、この工程へのブラ ンチの詳細なフローチャートは第17図に示されている。プログラムのこの部分 はサーチの初期の非連続的なトラックからトラック部分が終了した後に実行され る。最終位置づけ工程214へのブランチの目的は、ヘッド4Bがターゲットデ ータブロックのブロック数より高いかあるいは低いブロック数のデータブロック に位置づけられるかどうかによって、テープを特定の距離だけ巻戻すべきなどう かを単に決定することである。これは工程390で行われ、この工程ではNEW DIST変数がゼロより大きいかどうかを決めるために検査される。NEWDI STがゼロより大きい場合はテープが特定距離巻き戻す必要がないことを意味し 、プログラムは精密位置づけ工程206に分岐する。そうでない場合は、プログ ラムは反転位置工程216に分岐してテープが巻き戻される。
第9図に一般的に示されている反転位置工程216の詳細なフローチャートは第 18図に示されている。反転位置工程216は、磁気ヘッド46がターゲットデ ータブロックのブロック数よりも大きいブロック数のデータブロックに位置づけ られる場合にサーチの初期のトラックからトラック部分の後に実行される。この 場合磁気ヘッド46をターゲットデータブロックのブロック数よりもブロック数 の小さなデータブロックに位置づけ、それによってヘッドが前方方向のターゲッ トデータブロックを読取ることができるように、テープを特定距離巻き戻す必要 がある。
第18図を見ると、工程400においてNEWDIST変数の内容がAXレジス タに送られる。この反転位置工程216へのブランチのただ1つの道は負である ターゲットへの新しい距離上にあるため、NEWDISTは負の値を有する。工 程402では、各データブロックごとにDCモータによって生成されるタコメー タパルスの数を記憶するPULSES変数がAXレジスタによって乗算される。
上記のように、1インチ当たり10000フラツクス転移の記録密度でテープが 記録されるように磁気ヘッド46を通過する各データブロックにに対して、タコ メータは4つのパルスを生成する。この場合PULSESは4に等しい。工程4 02の終わりにAXレジスタに記憶される数は負であり、磁気ヘッド4Bがその 現在のデータブロックからターゲットデータプロスタに記憶されるタコメータパ ルスの負の数でロードされる。
工程406ではテープが反転方向への移動を開始し、工程408ではカウンタが そこに初期に記憶された負のパルス数からゼロに上昇カウントを開始する。
カウンタが工程408で開始すると、テープを巻き戻すキャプスタンモータ40 は、カウンタが工程410でゼロまで上昇カウントするまで駆動される。カウン タがゼロに到達すると、工程412においてキャプスタンモータ40がオフにさ れてテープの移動が停止する。この反転位置づけ工程の結果、通常ターゲットデ ータブロックは磁気ヘッド46に関連して再度位置づけられ、ヘッドが前方方向 でのターゲットブロックを読みとることができる。
しかしヘッド46は、ターゲットデータブロックのブロック数よりもブロック数 の大きなデータブロックになお位置づけられる場合もある。テープの初期記録中 に記録エラーが検出されると、記録されているデータブロックはテープを反転さ せずに再度記録される。その結果、ブロック数1000乃至1099の100の 有効データブロックが、120のデータブロックをエラーなしで記録することが できる長さのテープに記録される。従ってこの場合、ブロック1099から10 0のデータブロックの長さに相当する距離だけテープが巻き戻されるならば、ヘ ッドはなおブロック数が1000より大きいデータブロックに位置づけられる。
従って反転位置工程216によって常にヘッドがターゲットで一タブロックの下 に位置づけられるとは限らない。以下に説明するように、これは精密位置づけ工 程206において一時的にテープを巻き戻すことによって修正される。反転位置 工程216の後、プログラムは精密位置づけ工程206に分岐する。
精密位置づけ工程206は第9図に一般的に示されているが、その詳細なフロー チャートは第19図に示されている。
精密位置づけ工程206は、磁気ヘッド46がターゲットデータブロックのブロ ック数より通常ブロック数の小さなデータブロックに位置づけられる時に、サー チの初期のトラックからトラック部分の後に実行される。従って大抵の場合磁気 ヘッド46はテープを巻き戻さずにターゲットデータブロックを読みとることが できる。
精密位置づけ工程206の始まりでは、磁気ヘッド4Bがターゲットデータブロ ックの予め決められた距離の範囲でデータブロックに位置づけられるか1.ある いはターゲットデータブロックまでの距離が最小化されるように位置づけられる 。
ターゲットデータブロックは必ずしもヘッドが位置づけられるデータトラック上 にあるとは限らないが、ブロック数を連続的に前方方向に読みとることによって 、磁気ヘッド46がターゲットデータブロックを読取る。
通常のストリーミングテープ駆動装置は、色々な位置でテープの穴の存在を光電 的に感知することによって磁気テープの物理的な端部及び開始部を感知する。テ ープ駆動装置がテープの開始部あるいは端部を感知すると、テープ駆動装置はテ ープの方向を反転させて自動的に数値が次に高いデータトラックの読み取りを開 始する。従って、精密位置づけ工程206が呼び出される時にターゲットデータ ブロックがヘッドの位置づけられるデータトラック上にないとしても、テープ駆 動装置は当然のこととしてターゲットデータブロックを読取る。
第19図を見ると、工程420においてプログラムがサンプルサブルーチン22 22を呼び出し、磁気ヘッド46が現在位置づけられているデータブロックのブ ロック数を検索している。工程422においてはターゲットブロックのブロック 数はヘッド46が現在位置づけられているデータブロックのブロック数と比較さ れる。工程424では、実際のブロック数がターゲットブロック数に等しいなら ば、磁気ヘッド46はターゲットデータブロックを位置づけ、工程426におい てREADFLAG変数に数1つ移動してテープ駆動装置に現在挿入されている テープが読みとられたことを示した後、プログラムは終了する。
実際のブロック数がターゲットブロック数に等しくない場合は、プログラムは実 際のブロック数がターゲットブロック数より小さいかどうか決定する検査を行う 工程428に分岐する。大抵の場合、実際のブロック数は小さく、プログラムは 工程420に分岐して別のブロック数が検索される。工程420乃至424及び 428はターゲットブロックが位置づけられるまで反復される。工程420乃至 428の反復中、サンプル工程222によってテープは加速されずに磁気ヘッド を継続的に通過して、単一データブロックを読取り、そして減速される。
実際のブロック数が工程428で決められたターゲットブロック数よりも小さい ならば、プログラムは工程430に分岐してそこで実際のブロック数がターゲッ トブロック数から減算されて、ターゲットデータブロックからの新しい距離を計 算する。工程432ではNEWDIST変数中にこの新しい距離が記憶され、プ ログラムは反転位置工程216に分岐して計算されたばかりの新しい距離に比例 する量だけテープを巻き戻すことができる。
位置づけが遠過ぎる工程212は第9図に一般的に示されているが、その詳細な フローチャートは第20図に示されている。この工程は、ターゲットデータブロ ックに対するサーチのトラックからトラックの部分の間に磁気ヘッド46がター ゲットデータブロックを通過して遠過ぎるまで移動し、ターゲットからの距離の 新符号が変わりターゲットまでの新しい距離がターゲットまでの以前の距離より も大きい場合に実行される。この場合位置づけが遠過ぎる工程は単に磁気ヘッド 4Bをそれが以前に位置していたトラックに位置させるだけである。
第20図を参照すると、磁気ヘッド46はそれが以前位置していたトラックに戻 される。工程442ではRETRYS変数が試験されて、NEWDISTの新し い有効値が計算されたかどうかが決められる。RETRYSが3に等しいならば 、NEWDISTの値は以前の位置に供給され、0LDDI STはNEWDI STに複写されてはならない。
RETRYSが3に等しくない場合は、0LDD I STは以前の位置を表わ し、工程444においてNEWDISTに複写される。それからかプログラムは ターゲットデータブロックをサーチするトラックからトラック部分を残して最終 位置づけ工程214へのブランチに分岐する。
データが検出されない工程210は第9図に一般的に示されているが、その詳細 なフローチャートは第21図に示されされなかった時にはプログラムがインデッ クスプランチェ程204からデータが検出されない工程210に分岐する。デー タが検出されない工程210の目的は、ステップモータによって磁気ヘッド46 をデータトラックの中心かられずかに離して再位置づけし、それによってデータ トラックの中心からずらせて記録されている可能性のあるデータを回復させるこ とである。磁気ヘッド46はデータトラックの中心かられずかにずれている位置 のデータを回復しようと、さらにこの試みを3回行う。
第21図を参照すると、工程450においてRETRYS変数の内容がA変数に 送られる。RETRYS変数はいくつかの試みまたは再度の試みに対してトラッ クを保持し、磁気ヘッド46によってヘッドが位置づけられているデータトラッ クの中心からのわずかにずれた位置のデータを回復する。プログラムはテープの 特定部分にデータが記録されていないことを結論づける前に3回試みを実行する 。工程452ではA変数に記憶された再度の試みの数が3に等しいかどうか試験 される。工程454ではこの数が3に等しければヘッド46が位置づけられる磁 気テープの部分にはデータが記録されていないと考え、プログラムは工程456 に分岐して駆動装置に挿入されたテープがたまたま記録されていないテープであ るのかどうかが決められる。テープが記録されていないかどうかを決めるために 、工程456ではREADFLAG変数がゼロに等しいかどうかを試験する。上 記のようにREADFLAG変数がゼロである時は駆動装置にある現在のテープ はテープ駆動装置によって読取られなかったものであり、この場合テープは工程 200においてトラック0上に記録されたデータの開始部に巻戻されたのである 。従って工程456においてREADFLAG変数がゼロであるならば、テープ は工程200において巻戻されたのである。磁気ヘッド4Bが3回の再度の試み の後になおデータが検出されず、またヘッドがトラックOの開始部にあることに よって、テープ上にデータは記録されておらず、プログラムは終了する。
工程454では再度の試みの数が3に等しくない場合、すなわち3より小さい場 合、プログラムは工程458に分岐する。工程458乃至470によって磁気ヘ ッド46はデータトラックの中心かられずかにずれた種々の位置において別の読 取りを試みる。工程458では34のデータブロックに等しい長さだけテープが 巻き戻されて、磁気ヘッド46がデータを検出しない位置にまでテープを再度位 置づける。工程460ではRETRYS変数はINDEX変数の値に決定される 。
INDEX変数は磁気ヘッド46が別の再度の試みを行う前にトラックの中心か らどれくらい遠くに位置するかを制御する3つの値を保持するコンピュータプロ グラム中の表に対するインデックスとして使用される。工程462ではPOIN TER変数がコンピュータプログラム中の表のアドレスに等しくなるように設定 される。この表は以下の表6のように設定される。
表    6 表6でX変数の下に設定された各項目は、磁気ヘッド46の位置を制御するステ ップモータが現在のデータトラックの中心から変位するステップの数である。モ ータが駆動される工程の各々によって、磁気ヘッド46は1インチの子分の1だ け移動する。従って表6のX変数の下の値3、−3.0によってヘッドは子分の 3インチ上に、子分3インチ下に位置づけられ、およびヘッド46が現在位置づ けられているデータトラックの中心に位置づけられる。
工程464ではPOINTER変数の値にINDEX変数の値を加算し、表6か ら適切な値を検索してそれをX変数に記憶させることにより、上記のようにイン テXの値に基づいて表6から適切なXの値を検索する。次に工程466ではステ ップモータがX変数によって特定される数の工程で駆動される。工程468では RETRYS変数がインクレメントし、工程470ではプログラムがサンプルサ ブルーチン222を呼び出して、以前にデータブロックを検出しなかったテープ 部分を読取る試みがヘッド46によって行われる。
プログラムがサンプルサブルーチン222から戻った後に、プログラムはインデ ックスプランチェ程204に分岐する。
磁気ヘッド46がそのオフセットトラック位置でデータを検出しなかった場合は 、ヘッド46が再度の試みを3回行うまでプログラムが工程450乃至470を 実行し、この点でテープ上のこの特定位置にはデータが存在しないと考える。こ の場合プログラムはデータが検出されない工程210を残して上記のように位置 づけが遠過ぎる工程212に分岐する。
コンピュータプログラムの動作の例 上記のように詳細に説明したプログラムの動作は選択されたデータブロックのサ ーチの例によってさらに示される。第22図には蛇行状に記録されたテープの部 分が示されている。
第22図に示されたテープにはトラック0上にデータブロック100乃至104 、トラック1上にデータトラック19900乃至19904、トラック2上に2 0090乃至20094、トラック3上にデータブロック39870乃至398 74、またトラック4にはデータブロック40060乃至40064が含まれて いる。トラック5乃至8には記録されていない。第22図に示されたデータトラ ックの各々には以下の例の目的のためにトラックごとに約10000のデータブ ロックが含まれている。任意の所定のテープ上のデータブロックの実際の数はテ ープの長さおよびデータ記録密度によって変化する。
この例のために、テープ駆動装置の磁気ヘッド46はデータブロック20091 を読取った後に第22図に示されている位置AOにあり、テープ駆動装置によっ て位置づけられる選択されたブロックはデータブロック45000であると考え る。プログラムは初期巻き戻し工程200において実行を開始する。この例のた めにテープが以前に読みとられたと仮定する。従ってプログラムはテープを初期 化パラメータ工程202に巻き戻さずに、初期巻き戻し工程240から分岐する 。
初期化パラメータ工程202を実行する間、NEWDIST及び0LDDI S T変数は、TARGET値45000とACTAL値20091の間の差である 数24909で工程256及び258においてロードされる。
ヘッド4Bが現在データトラック2に位置づけられているために、RESULT 変数はゼロにまたCTRACK及びPTRACK変数は2に設定される。プログ ラムはインデックスプランチェ程204に分岐する。
インデックスプランチェ程204中に、RESULT変数は工程260において ゼロに初期化されたために、ターゲット工程208からの新しい距離を試験する ためにプログラムは分岐する。ターゲット工程208からの距離を試験する間、 工程292においてプログラムは新しい距離の符号と古い距離の符号を比較する 。この場合これらの数は同一の24909であり、工程294では符号は変化し なかったためにプログラムはターゲット工程218からの距離に基づいてブラン チに分岐する。
ターゲット工程218からの距離に基づくブランチの間、工程300ではNEW DISTが24909であるために、プログラムはDI 5TCODHに対する 値3を検索する。工程304ではDI 5TCODE値が3で乗算され、その結 果の数9が工程306においてINDEX変数に記憶される。
工程310では9のINDEX値に基づいて表3に示されているように、プログ ラムはトラック変化工程220に分岐する。
トラック変化工程220中、NEWDI STは正であるために、工程322に おいてはプログラムが工程324に分岐し、ここでCTRACKが3に増加する 。工程328においてはCTRACK値である3がMAXTRK値と比較され、 これはこの場合8であり、またMAXTRKは工程330においてCTRACK に等しくなかったためにプログラムは工程334に分岐する。工程334におい て磁気ヘッドは1トラツク上昇してトラック3に移動する。第22図を参照する と、ヘッドはトラック2上の位置AOからトラック3上の位置A1に移動してい る。それから工程352ではプログラムがサンプルサブルーチン222を呼び出 す。
サンプルサブルーチン222中に、ヘッドはトラック3上のデータブロックを読 みとる。この例のために不必要な複雑さを避けるために、ヘッドが加速及び減速 の間のデータブロックを読取りながらDCモータが1データブロツクの長さを取 ることによってテープを加速及び減速するとする。従って第22図においてはサ ンプルサブルーチン222の開始部ではヘッドがトラック3上の位置A1にある 。テープは1データブロツクの長さだけヘッドを通過して加速され、ヘッドはブ ロック数39873のデータブロックを読み取り、それからヘッドがテープに関 してトラック3上の位置A2にある時にテープは静止する。実際にはより多くの 時間、従ってテープの長さがテープを加速しまた減速するのに必要である。
ヘッドは工程362においてデータブロックを読みとることができたために、プ ログラムはタイムアウトせず、従って工程366に分岐し、またエラーが検出さ れたなかったためにプログラムは工程374に分岐し、この間に24909の現 在のNEWDISTは0LDD I ST変数に移動する。
工程375乃至380においてはNEWDISTが新しいACTUAL値である 39873及びTARGETである45000から5127へ計算される。工程 382ではプログラムが表4からINDEX値である3を検索し、工程386に おいては表5からXの値ゼロを検索し、これは工程388においてRESULT 変数に移動する。次にプログラムはトラック変化工程220の工程352に戻り 、インデックスプランチェ程204に分岐する。
インデックスプランチェ程204が2回目に実行されると、RESULT変数が 工程388においてゼロに設定されたためにターゲット工程208からの新しい 距離を試験するために、プログラムが分岐する。ターゲット工程208からの距 離を試験する間、工程292においてプログラムは新しい距離の符号と古い距離 の符号を比較する。工程294においては5127のNEWDISTの符号が2 4909の0LDD I STの符号から変化しないために、ターゲット工程2 18からの距離に基づいてプログラムはブランチに分岐する。
ターゲット工程218からの距離に基づいたブラインチ中に、工程300におい てNEWDISTが5127であるために、プログラムはDISTCODEHに 対して値3を検索する。工程304ではDI 5TCODEは3で乗算され、結 果として生じる9は工程306においてINDEX変数に記憶される。工程31 0では、INDEX値の9に基づいて表3に示されているようにプログラムはト ラック変化工程220に分岐する。
トラック変化工程220中、NEWDI STは正であるために、工程322に おいてはプログラムは工程324に分岐して、ここでCTRACKは4に増加す る。工程328ではCTRACK値の4がこの場合は8であるMAXTRK値と 比較され、MAXTRKは工程330においてCTRACKに等しくなかったた めにプログラムは工程334に分岐する。
工程334において磁気ヘッドは1トラツク上昇してトラック4に移動する。第 22図を見ると、ヘッドがトラック3上の位置A2からトラック4上の位置A3 に移動している。
それから工程352ではプログラムがサンプルサブルーチン222を呼び出す。
サンプルサブルーチン222中に、ヘッドがその開始部分A3からトラック4上 のデータブロック40061を読み取り、トラック4上の位置A4において終了 する。
ヘッドが工程362においてデータブロックを読取ること366に分岐する。エ ラーが検出されなかったため、プログラムは工程374に分岐してここで512 7である現在のNEWDISTが0LDDI STに保持される。工程375、 乃至380においてはNEWDISTが新しいACTUAL値40061及びT ARGET値45000から4939に計算される。工程382においてはプロ グラムが表4からINDEX値の3を検索し、工程386においてはXの値に対 してゼロを検索して、これは工程388においてRESULT変数に移動する。
次にプログラムはトラック変化工程220の工程352に戻り、インデックスプ ランチェ程204に分岐する。
一第3回目にインデックスプランチェ程204が実行されると、RESULT変 数が工程388においてゼロに設定されたため、プログラムはターゲット工程2 08からの新しい距離を試験するために分岐する。ターゲット工程208からの 新しい距離を検査する間、工程292においてプログラムは新しいYMの符号と 古い距離の符号を比較する。工程294においてはNEWDIST4939の符 号は0LDDI 5T5127の符号から変化しなかったため、ターゲット工程 218からの距離に基づいてプログラムがブランチに分岐する。
ターゲット工程218からの距離に基づいたブランチ中に、工程300において はNEWDISTが4939であるためにDI 5TCODEに対する値3をプ ログラムが検索する。
工程304においてはDISTCODE値が3で乗算され、その結果生じる数9 は工程306においてINDEX変数に記憶される。工程310においてIND EX値の9に基づいて表3に設定されているようにプログラムがトラック変化工 程220に分岐する。
トラック変化工程220の期間中NEWDISTは正であるため、工程322に おいてプログラムは工程324に分岐し、そこでCTRACKは5に増加する。
工程328ではCTRACK値である5がこの場合は8であるMAXTRK値と 比較され、MAXTRKは工程330においてCTRACKと等しくなかったた めに、工程334に分岐する。工程334において磁気ヘッドは1トラツク上昇 してトラック5に移動する。第22図を参照すると、ヘッドはトラック4上の位 置A4からトラック5上の位置A5に移動している。そして工程352ではプロ グラムがサンプルサブルーチン222を呼び出す。
サンプルサブルーチン222中に、ヘッドはその開始位置A5から矢印の方向に トラック5上のデータブロックを読取ろうとする。トラック5は記録されていな いため、ヘッドは工程362でデータブロックを読取ることはできず、プログラ ムは工程364でタイムアウトしてX変数が数12でロードされる工程372に 分岐する。プログラムは工程388に分岐してここでX変数中に記憶された数1 2はRESULT変数中に記憶される。次にプログラムはトラック変化工程22 0の工程352に戻り、インデックスプランチェ程204に分岐する。
第4回目にインデックスプランチェ程204が実行され、RESULT変数が工 程388において12に設定されていたために、プログラムはデータが検出され ない工程210に分岐する。データが検出されない工程210中、工程450で はデータが検出されない状態でヘッドがさらに読み取りを行った試みの数を表わ すRETRYS変数の内容がA変数に移動される。RETRYUSの値は工程2 90でゼロに設定されたためゼロである。再度の試みの数は3より小さいため、 工程454においてプログラムは工程458に分岐し、ここでテープは再度34 ブロツクに位置づけられ、それによって磁気ヘッドがそれより早くはデータを検 出しなかったテープ上の同じ位置、この場合は第22図に示されるように位置A 5に位置づけられる。工程460ないし464ではヘッドオフセット値Xが表6 より検索され、工程466ではヘッドがデータトラック5の中心よりも3工程高 く上昇する。工程468ではRETRYSが1だけ増加し、工程470ではサン プルサブルーチン222が呼び出される。
サンプルサブルーチン222が呼び出されると、データトラック5は記録されて いないためヘッドは再びデータを検出しない。その結果サンプルサブルーチン2 22がデータが検出されない工程470に戻るとRESULTA変数中には数1 2が記憶されている。そのためプログラムがインデックスプランチェ程204に 分岐するとき、プログラムは再びデータが検出されない工程210に分岐する。
工程450ないし454及び458ないし470はさらにもう2回実行されて、 テープ上のトラック5からデータを回復しようと試みる。しかしデータは検出さ れず、第4回目にRETRYSの値が3に等しいプログラムはデータが検出され ない工程450に分岐する。工程452においてAに記憶されたRETRYSの 値は3であるため、工程454においてプログラムは工程456に分岐し、ここ でテープが以前に読取られているかどうかを決定するためにREADFLAG変 数を検査する。この場合テープは以前に読取られていたと仮定されているため、 READFLAG変数の値はゼロではなく、プログラムは位置づけが遠過ぎる工 程212に分岐する。
位置づけが遠過ぎる工程212では、磁気ヘッドが工程440において以前のト ラック、すなわちトラック4に移動する。工程442においてはRETRYSの 値が3に等しいかどうかを決めるために試験される。3に等しければプログラム はデータが検出されない工程210から位置づけが遠過ぎる工程212に分岐す ることが示される。この場合プログラムはトラック5に対して新しい距離を計算 することは決してないため、工程444はスキップされ、トラック4上のヘッド の位置に対して4939と計算されたNEWDIST変数の内容はターゲットデ ータブロックからの近似的距離を反映している。
磁気テープはタイムアウト期間工程364中の約34のデータブロックに等しい 長さだけ進行したため、この距離は近似値に過ぎない。しかしプログラムは最終 位置づけ工程に分岐しトラック変化工程220に分岐して新しい距離に基づいて さらにトラック変化を行うことはないため、この34のブロックの差はほとんど 問題ではない。
プログラムは位置づけが遠過ぎる工程212から工程214に分岐すると、第2 2図に示された位置A4の右へ約34データブロツクの点で磁気ヘッドがトラッ ク4上に位置づけられる。この位置は第22図に示されておらず、データブロッ ク40028の位置に相当する。最終位置づけ工程214へのブランチにおいて 、NEWDISTは4939で正であるため、プログラムは精密位置づけ工程2 06に分岐する。
精密位置づけ工程206の期間中、テープは1デ一タブロツク分ヘッドを加速し なければならないため、工程420においてヘッドが位置づけられるデータブロ ック(この場合40029)のアドレスをプログラムが検索する。工程422で は40029であるヘッドのACTUAL位置がこの場合45000であるTA RGETと比較され、これらの位置は等しくないため、プログラムは工程428 に分岐して、ACTUALがTARGETより小さいために選択されたデ−タブ ロックを位置づけるためにテープを巻き戻す必要はないことを確認する。工程4 20乃至424および428は、ヘッドがブロック数45000のデータブロッ クを検出するまで、反復される。これが生じると、磁気テープは読取られている ためにREADFLAGは1に設定され、プログラムはターゲットデータブロッ クを発見しているために出て行く。
前の例では説明を簡単にするために、二重読取りヘッド58゜60を用いること によって起こる小さな効果を無視していた。
第5図に示されているように、2つの読取りヘッドは水平方向に離間している。
読取りヘッド58.60の内の1つは偶数トラック上のデータを読取るのに用い られ、もう1つの読取りヘッドは奇数データトラック上のデータを読取るのに用 いられる。その結果サーチのトラックからトラック部分で読取られるデータブロ ックは第22図に示されているように垂直に整列されておらず、2つの読取りヘ ッド58.60間の距離だけわずかに“ずれて″設けられている。しかし上記の 例をこのように簡略化したことは本発明の理解に影響を与えるものではない。
標準蛇行記録 本発明の特徴の1つは、特別にフォーマット化したテープを必要とせずに選択さ れたデータブロックを位置づけることにある。特別にフォーマット化されたテー プは必要でないため、本発明によるテープ駆動装置は本発明に先行する標準蛇を 位置づけることができる。
第23図を参照すると、磁気テープ110の一部分は典型的な蛇行状に記録され ていることがわかる。磁気テープ110は2つのテープ開始穴(BOT)112 及び1つのテープ終了穴(EOT)114を有している。この穴112及び11 4の存在は1つあるいはそれ以上の光電センサーで検出され、テープ駆動装置に テープの開始あるいは終了点に達成したことを示す。
テープ110にはロードポイント穴11B及び早期警告穴118があり、これら の穴は検出されると、テープの開始あるいは終了がそれぞれまもなく達成される ことをテープ駆動装置に前もって知らせる。
テープ110には番号0乃至8の9つのデータトラックがある。各データトラッ クは複数のデータブロックDを含む。基準バーストRはデータトラック0の開始 部に含まれる。第23図に示されているようにDl乃至D6に符号が付けられた 多数の大きさは以下の表7で特定される。Dl乃至D6の大きさは変数であり、 以下の表7でインチで示された最小(MIN)値及び最大(MAX)値の期間中 の任意の値を取ることができる。
表     7 寸法  MIN   MAX     説   明DI0    15BOTか らトラックのスタートへの基準バースト D234)ラック終了基準バース トおよび偶数トラック上 のプレアンブルの開始に 対するロード点 D3       36  偶数トラック上のデータの終了に対する最初の警 告 D4  1   2  奇数トラック上のプレアンブルの開始に対する最 初の警告 D5   0.1   4   )ラック1および7上のロード点に対するデー タ の終了 D6        27   )ラック3および5上のデータの終了に対する ロ ード点 第24図を参照すると、第23図のデータブロックDの内の1つの内容が示され ている。データブロックDの各々は長さが変数のプリアンプル、1バイトのブロ ックマーカー、512バイトのデータ、本発明によって用いられるデータブロッ クのブロック数である4バイトのアドレス、2バイトのサイクリック冗長チェッ ク(CRC)データ、及び可変長のプリアンプルを含んでいる。第23図に示さ れたデータブロックはインターブロックサーボパターンあるいは他のタイミング データや同期データなしにテープ上のデータトラック上に連続的に記録される。
第23図及び24図に関連した上記の典型的な蛇行記録はストリーミングテープ 駆動装置で用いられるテープの工業標準仕様に従っている。この工業標準仕様は 標準を許可する責任のある工業グループであるQICコミッテイーによって許可 され、以下の公的に入手可能な文献で記載されている=(1)“100OOFR PIでグループコード記録を用いたストリーミング1/4インチ磁気テープカー トリッジ上のデータ交換に関する標準”という書類に記載されているQIC−2 4標準、(2)“情報交換のための連続記録磁気テープカートリッジ、15トラ ツク、0.250インチ(6,30MM) 、100OOBPI  (394B PMM) 、ストリーミングモードグループコード記録”という書類に記載され たQIC−120、(3)“情報交換のための連続記録磁気テープカートリッジ 、18トラツク、0.250インチ(6,30MM) 、100OOBPI   (3948PMM)、ストリーミングモードグループコード記録°、及び(4) “情報交換のための連続記録磁気テープカートリッジ(26トラツク、2000 0FTPI、GCR,ECC) ”という書類に記載されたQI C−320標 準。この書類(1)乃至(4)の文献はここで参考として引用されるものであり 、これらの書類の複写はフリーマンアソシエイツ会社(311E。
カリロストリート、サンタバーバラ、CA93101)より入手することができ る。
上記QIC−24標準規格もアメリカンナショナル標準協会(ANSI)によっ て許可されたものであり、ANSI標準X3.13−1986であり、“情報交 換のための連続記録磁気テープカートリッジ、4及び9トラツク、0.25イン チ(6,30MM) 、80008PI  (3158PMM)、トリーミング モードグループコード記録° (この文献も参考として引用っされている)とい うANSI文献に記載されて添付されている請求の範囲を解釈するために、テー プが記録される方法と関連して用いられる“標準”という言葉は、データブロッ クが数値的に増加する順で配列された磁気テープ上の各データブロックに特有の ブロック数を有する蛇行記録を意味する。
本発明の多くの変形及び実施例は上記の説明によって当業者には明かである。従 ってこの説明は本発明を実行するための最良の型を当業者に教えるためのものに 過ぎない。本発明の構成の詳細は本発明の原理から逸脱せずに実質的に変化させ ることができ、添付の請求の技術的範囲内にあるすべての変形例の排他的な使用 が保持される。
メコク2 Fig、  12 Fig、  13 Fig、  14 の   −r’−1’)    ’t    Ow    へ   の国際調査 報告

Claims (26)

    【特許請求の範囲】
  1. 1.磁気テープの全体の連続サーチを必要とせずに複数の蛇行データトラックを 備えるために蛇行的に磁気テープに記憶された個々のデータブロックを直接にア ドレスできるようにするストリーミングテープ駆動装置において、複数の蛇行デ ータトラックで磁気テープ上に記録されたデータを読みとるための磁気ヘッドと 、 磁気テープの縦方向を横切る方向に前記磁気ヘッドを移動させる手段であって、 それによって磁気ヘッドが磁気テープに記録された種々のデータトラックからの データを読みとれるように位置づけられる手段と、 選択されたデータブロックの位置を定めるための手段であって、この位置づけ手 段が、 データトラックの初期サーチを実行するための手段であって、この初期サーチが 、前記磁気ヘッドが現在位置づけられているデータブロックのブロック数を読み とり、このようにして読みとられてブロック数を捜している選択されたデータブ ロックのブロック数と比較し、読みとられたブロック数と選択されたデータブロ ックのブロック数との間の差によって前記磁気ヘッドをデータトラック1つ分上 下させることによって実行され、磁気ヘッド上で停止する前記初期サーチが、捜 している選択されたデータブロックの予め決められた距離の範囲内で記録される データブロックを保持するデータトラックに位置づけられているような前記手段 と、搜している選択されたデータブロックの後続のサーチを実行するための手段 であって、この後続のサーチが、読みとられたデータブロックのブロツク数が捜 している選択されたデータブロックのブロック数と適合して前記磁気ヘッドが選 択されたデータブロックを位置づけたことが示されるまで、前記初期サーチの結 果として位置づけられたデータトラック上で開始点から複数のデータブロックを 読みとることによって実行される手段とで特徴づけられるストリーミングテープ 駆動装置。
  2. 2.選択されたデータブロックにはデータセクタが具備されていることを特徴と する請求の範囲第1項記載のストリーミングテープ駆動装置。
  3. 3.選択されたデータブロックが前記初期サーチの結果として位置づけられる前 記データトラック上にある請求の範囲第1項記載のストリーミングテープ駆動装 置。
  4. 4.前記距離がデータブロックと捜している選択されたデータブロックの間のブ ロック数の差として計測される請求の範囲第1項記載のストリーミングテープ駆 動装置。
  5. 5.前記磁気ヘッドを移動させるための前記手段はリードスクリューに結合され たステップモータを具備している請求の範囲第1項記載のストリーミングテーブ 駆動装置。
  6. 6.選択されたデータブロックの位置を定めるための前記手段はコンピュータプ ログラムを実行するマイクロプロセッサを備えている請求の範囲第1項記載のス トリーミングテープ駆動装置。
  7. 7.前記マイクロプロセッサは8031マイクロプロセッサを具備している特徴 とする請求の範囲第1項記載のストリーミングテープ駆動装置。
  8. 8.複数のトラック上の磁気テープ上に蛇行状に記録された複数のデータブロッ クから選択されたデータブロックの位置を求める方法において、 (a)磁気ヘッドの位置を定めるデータブロックのブロック数を読取り、 (b)前記ステップ(a)で読みとられるブロック数と選択されたデータブロッ クのブロック数とを比較し、(c)前記ステップ(b)で比較されたブロック数 の数値的な差に応じて磁気ヘッドを1データトラック上下させ、(d)磁気ヘッ ドから選択されたデータブロックまでの距離が最小化されるまで前記ステップ( a)乃至(c)を反復し、 (e)前記ステップ(d)の後、データブロックのブロック数を読み取り、また このようにして読みとられたブロック数と選択されたデータブロックのブロック 数とを比較し、(f)前記亙手(e)において読みとられるブロック数が選択さ れたデータブロックのブロック数と適合し、磁気ヘッドが選択されたブロックに 位置されたことが示されるまで、ブロック数を増加させながら複数のデータブロ ックのための前記ステップ(e)を反復する各ステップによって特徴づけられる 方法。
  9. 9.前記ステップ(f)においで、実行されるサーチが連続的になるように選択 されたデータブロックが位置づけられるまで、磁気テープ上に記録された各隣接 するデータブロックに前記ステップ(e)が反復される請求の範囲第8項記載の 方法。
  10. 10.複数の蛇行データトラックを含むように磁気テープ上に蛇行状に記録され たデータトラックの位置を求める方法において、 (a)複数の蛇行データトラックを含むように磁気テープ上に蛇行状に記憶され たデータブロックのブロック数を読み取り、 (b)前記ステップ(a)で読みとられるブロック数と捜している選択されたデ ータブロックのブロック数とを比較し、jj (c)ステップ(a)で読みとられるブロック数と選択されたデータブロックの ブロック数との差に基づいて磁気テープ上の異なるデータトラックに磁気ヘッド を移動させるステップとによって特徴づけられる方法。
  11. 11.磁気ヘッドから選択されたデータブロックまでの距離が最小化されるか、 あるいは磁気ヘッドが選択されたデータブロックの予め決められた距離の範囲内 の記録されるデータブロックに位置づけられるまで、前記ステップ(c)を反復 するステップ(d)によってさらに特徴づけられる請求の範囲第10項記載の方 法。
  12. 12.前記ステップ(c)が実行される度に磁気ヘッドが1データトラック分だ け移動される請求の範囲第11項記載の方法。
  13. 13.磁気ヘッドが位置づけられる前記ステップ(d)における前記データトラ ックには選択されたブロックデータが含まれている請求の範囲第11項記載の方 法。
  14. 14.磁気テープ全体を連続的にサーチせずに複数の蛇行データトラックを含む ように磁気テープ上に蛇行状に記憶された選択されたブロックデータを位置づけ るためのストリーミングテープ駆動装置において、 複数の蛇行データトラックを含むように蛇行状に記録される磁気テープからデー タを読取るための磁気ヘッドと、前記磁気ヘッドが磁気テープ上に記録された種 々の蛇行状のデータトラックからデータを読みとれる位置にされるように、磁気 テープが前記磁気ヘッドを通る動きに横切る方向で前記磁気ヘッドを動かすモー タと、 非連続サーチを行うことによって特定のデータトラックを位置づけるために前記 磁気ヘッドを駆動させるコントローラであって、このコントローラが磁気テープ 上の1以上のデータブロックのブロック数を読みとることによって前記データト ラックを位置づけるコントローラによって特徴づけられる駆動装置。
  15. 15.前記コントローラが選択されたデータブロックのブロック数と前記磁気ヘ ッドの位置に相当するデータブロックのブロック数とを比較し、前記磁気ヘッド が前記コントローラによって位置づけられる前記データトラック上に位置づけら れているか否かを決定する請求の範囲第14項記載の駆動装置。
  16. 16.前記コントローラはマイクロプロセッサを備えている請求の範囲第14項 記載の駆動装置。
  17. 17.複数の蛇行データトラックを含むように蛇行状に記録されている磁気テー プからデータを読みとるための磁気ヘッドと、 前記磁気ヘッドが磁気テープ上に記録された種々の蛇行状データトラックからデ ータを読みとれるように位置づけられるように、前記磁気ヘッドを通る磁気テー プの動きを横切る方向に磁気ヘッドを移動させるモータと、複数のデータブロッ クのブロック数を読み取りこのブロック数を選択されたデータブロックのブロッ ク数と比較する非連続サーチを実行することにより、選択されたブロックデータ の磁気テープ上に位置を定めるように前記磁気ヘッドを駆動させるコントローラ によって特徴づけられる駆動装置。
  18. 18.選択されたデータブロックの予め決められた距離の範囲内で記憶されたブ ロックデータを保持するデータトラックの位置をまず決定し、次に実質的に連続 サーチを実行することにより選択されたブロックデータの位置にすることにより 、前記コントローラが選択されたブロックデータを位置づける請求の範囲第17 項記載の駆動装置。
  19. 19.選択されたブロックデータが前記コントローラによって位置づけられたデ ータトラック上にある請求の範囲第18項記載の駆動装置。
  20. 20.磁気テープ全体の連続サーチを必要とせずに複数の蛇行データトラックを 含むように蛇行状に磁気テープ上に記憶された個々のデータブロックを直接にア ドレスするストリーミングテーブ駆動装置において、 複数の蛇行データトラックで磁気テープ上に記録されたデータを読取るための磁 気ヘッドと、 磁気テープの縦方向に横切る方向に前記磁気ヘッドを移動させ、それによって磁 気ヘッドが磁気テープに記録された種々のデータトラックからのデータを読取れ るように位置づけられている手段と、 選択されたデータブロックの位置を定めるための手段であって、 データトラックの初期サーチを実行するための手段であって、前記初期サーチが 、前記磁気ヘッドが現在位置づけられている蛇行データトラック内のデータブロ ックのブロック数を読取り、読取られたブロック数を捜している選択されたデー タブロックのブロック数と比較し、読みとられたブロック数と選択されたデータ ブロックのブロック数との差に応じて前記磁気ヘッドを前記蛇行データトラック の内の別のトラックに移動させることによって実行される手段と、捜している選 択されたデータブロックの後続のサーチを実行するための手段であって、この後 続のサーチが、読取られたデータブロックのブロック数が捜している選択された データブロックのブロック数と適合して前記磁気ヘッドが選択されたデータブロ ックを位置づけたことが示されるまで、前記初期サーチの結果として位置づけら れた蛇行データトラック上で開始点から複数のデータブロックを読取ることによ って実行される手段とで特徴づけられるストリーミングテープ駆動装置。
  21. 21.磁気テープ全体を連続的にサーチする必要なしに複数の蛇行データトラッ クを含むように磁気テープ上に蛇行状に記憶された個々のデータブロックを直接 にアドレスすることができるストリーミングテーブ駆動装置において、複数の蛇 行データトラック内の磁気テープ上に記録されたデータを読取るための磁気ヘッ ドと、 前記磁気ヘッドが磁気テープ上に記録された色々なデータトラックからデータを 読み取れる位置に位置づけられるように、磁気テープの縦方向を横切る方向に前 記磁気ヘッドを移動させるためのステップモータと、 前記磁気ヘッドによって読取られるデータブロックのブロック数を記憶するため の前記磁気ヘッドに結合され、搜している選択されたデータブロックのブロック 数も記憶するメモリと、 前記のように読取られるブロック数と捜している選択されたデータブロックのブ ロック数とを比較し、読取られたブロック数と選択されたデータブロックのブロ ック数との差に応じて前記磁気ヘッドを前記蛇行データトラックの別のトラック に移動させるためにステップモータを駆動させる前記メモリ及び前記パルスモー タに結合しているコンパレータと、読取られたデータブロックのブロック数が捜 している選択されたデータブロックのブロック数と適合して前記磁気ヘッドが選 択されたデータブロックを位置づけたことが示されるまで、前記磁気テープを前 記磁気ヘッドに対して縦方向に移動させるための前記コンパレータに結合された テープ駆動装置モータとによって特徴づけられる駆動装置。
  22. 22.テープの長さ全体を連続的にサーチする必要なしに複数の蛇行データトラ ックを含むように磁気テープ上に標準的な蛇行状に記憶されたデータブロックに 直接にアドレスすることができるストリーミングテープ駆動装置において、複数 の蛇行データトラックを含むように標準的な蛇行状に記録される磁気テープから データを読みとるための磁気ヘッドと、 標準的な蛇行状に記録されている磁気テープ上に記録されたデータのブロックに 直接にアドレスすることができるコントローラであって、単一選択されたブロッ クデータを検索することができ、磁気テープの非連続的なサーチを実行すること によって選択されたデータブロックを位置づけるコントローラとによって特徴づ けられる駆動装置。
  23. 23.テープの長さ全体の連続的なサーチを必要とせずに複数の蛇行データトラ ックを含むように磁気テープ上に蛇行状に記憶されたデータブロックを直接にア ドレスすることができるストリーミングテーブ駆動装置において、インターブロ ックサーボパターンを必要とせずに記録されたデータブロックの複数の蛇行デー タトラックを含む蛇行状に記録された磁気テープからデータを読取るための磁気 ヘッドと、 蛇行状に記録されている磁気テープ上に記録されたデータのブロックを直接にア ドレスすることができるコントローラであって、データの選択された単一ブロッ クを検索でき、磁気テープの非連続的なサーチを実行することによって選択され たデータのブロックを位置づけるコントローラとによって特徴づけられる駆動装 置。
  24. 24.複数の蛇行データトラックを含むように磁気テープ上に標準的な蛇行状に 記憶された複数のデータブロックからデータの選択されたブロックを位置づける 方法において、(a)まず標準的な蛇行状に記録された磁気テープの非連続サー チを実行して特定のデータトラックを位置づけ、(b)次に磁気テープの実質的 な連続サーチを実行して選択されたデータブロックの位置を決めるステップによ って特徴づけられる方法。
  25. 25.前記ステップ(a)が、 (i)データの選択されたブロックのブロック数と磁気ヘッドの位置に相当する データブロックのブロック数とを比較し、 (ii)前記ステップ(a)で比較されるブロック数の間の差に基づいて磁気テ ープの異なるデータトラックに磁気ヘッドを移動させるステップによって特徴づ けられる請求の範囲第24項記載の方法。
  26. 26.前記ステップ(a)の後であるが前記ステップ(b)の前の、磁気ヘッド が前記ステップ(a)の完了時に選択されたデータブロックのブロック数よりも ブロック数の大きいデータブロックに位置づけられる時に、磁気テープを予め決 められた距離だけ巻き戻すステップ(C)によって特徴づけられる請求の範囲第 24項記載の方法。
JP1502302A 1988-02-04 1989-02-03 直接ブロックアドレス能力を有するストリーミングテープ駆動装置 Expired - Fee Related JP2953724B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/152,384 US4858039A (en) 1988-02-04 1988-02-04 Streaming tape drive with direct block addressability
US152,384 1988-02-04

Publications (2)

Publication Number Publication Date
JPH02503249A true JPH02503249A (ja) 1990-10-04
JP2953724B2 JP2953724B2 (ja) 1999-09-27

Family

ID=22542691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1502302A Expired - Fee Related JP2953724B2 (ja) 1988-02-04 1989-02-03 直接ブロックアドレス能力を有するストリーミングテープ駆動装置

Country Status (4)

Country Link
US (1) US4858039A (ja)
EP (1) EP0372015A4 (ja)
JP (1) JP2953724B2 (ja)
WO (1) WO1989007315A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5198947A (en) * 1990-06-29 1993-03-30 Archive Corporation Apparatus for adjusting a tape head for a magnetic tape
DE69129320T2 (de) * 1990-10-23 1998-08-20 Tandberg Data Verfahren und Gerät zum schnellen Zugriff auf einem logischen Block auf einem Bandmedium
WO1992009074A1 (en) * 1990-11-13 1992-05-29 Wangtek, Inc. System and method of controlling data transfer rate in a magnetic tape drive
US5212772A (en) * 1991-02-11 1993-05-18 Gigatrend Incorporated System for storing data in backup tape device
US5373485A (en) * 1991-09-03 1994-12-13 Minnesota Mining And Manufacturing Company Method for locating data in a data cartridge system
US5726824A (en) * 1991-12-10 1998-03-10 Exabyte Corporation Head positioning in a multi-track magnetic tape recorder/player
US5396376A (en) * 1992-03-23 1995-03-07 Conner Peripherals, Inc. Multi-track embedded servo recording format and method
US5363253A (en) * 1993-02-25 1994-11-08 Hewlett-Packard Company Tape drive fast seek to end-of-track
US5546246A (en) * 1994-01-13 1996-08-13 Exabyte Corporation Magnetic tape drive with end-of-track block directory
JPH08255326A (ja) * 1995-03-20 1996-10-01 Hitachi Ltd 磁気テープ装置及び磁気テープ装置の制御方法
US5710676A (en) * 1996-03-12 1998-01-20 International Business Machines Corporation Pre-formatting of a storage media having fixed-size partitions
EP0897179A3 (en) * 1997-08-13 2000-02-23 Hewlett-Packard Company System for locating data on tape
US6349356B2 (en) 1997-12-10 2002-02-19 International Business Machines Corporation Host-available device block map for optimized file retrieval from serpentine tape drives
JP2000048549A (ja) * 1998-08-03 2000-02-18 Fujitsu Ltd テープ装置
US6172833B1 (en) 1998-08-05 2001-01-09 International Business Machines Corporation Retrieval of serpentine pattern data using a memory device of a tape cartridge
US6912104B2 (en) * 2002-04-30 2005-06-28 Storage Technology Corporation Timing based servo pattern incorporating band encoding
GB2393804B (en) * 2002-10-02 2005-05-18 Hewlett Packard Co Retrieval of records from data storage media
US6992847B1 (en) 2004-09-01 2006-01-31 Sony Corporation Linear sliding tape scanner and method for using same
US7327534B2 (en) * 2004-09-01 2008-02-05 Sony Corporation Ultra fast backup (UFB) tape cartridge and method for loading same
US7142383B2 (en) * 2004-09-01 2006-11-28 Sony Corporation Ultra Fast Backup (UFB) track concept and method for recording same
US8111477B2 (en) * 2008-07-11 2012-02-07 Sony Corporation Recording medium, recording apparatus, reproducing apparatus, and reproducing method
US8526136B2 (en) * 2010-12-16 2013-09-03 International Business Machines Corporation Method and system for determining access sequence of data stored on a tape medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4321632A (en) * 1979-06-01 1982-03-23 Digital Equipment Corporation Positioning system and formatting scheme for magnetic tape media
DE2948021A1 (de) * 1979-11-29 1981-06-04 Basf Ag, 6700 Ludwigshafen Verfahren und anordnung zum speichern und wiederauffinden von stellen auf aufzeichnungstraegern in einem aufnahme- und/oder wiedergabegeraet, insbesondere in einem magnetbandkassettengeraet
US4414593A (en) * 1981-10-08 1983-11-08 Archive Corporation Streaming cartridge tape drive
US4500965A (en) * 1982-06-04 1985-02-19 Cipher Data Products, Inc. Capstanless magnetic tape drive with electronic equivalent to length of tape
US4541019A (en) * 1982-11-26 1985-09-10 Cipher Data Products, Inc. Recording system for recording data on tape in a disk-recording format
US4558380A (en) * 1983-05-11 1985-12-10 Pertec Peripherals Corporation Digital tape transport for selectively recording in either a parallel or serial mode
JP2625796B2 (ja) * 1987-12-25 1997-07-02 富士通株式会社 磁気テープ装置

Also Published As

Publication number Publication date
EP0372015A1 (en) 1990-06-13
US4858039A (en) 1989-08-15
WO1989007315A1 (en) 1989-08-10
JP2953724B2 (ja) 1999-09-27
EP0372015A4 (en) 1990-06-26

Similar Documents

Publication Publication Date Title
JPH02503249A (ja) 直接ブロックアドレス能力を有するストリーミングテープ駆動装置
EP0584504B1 (en) Tape format detection system
US7333286B2 (en) Method of writing a reference servo signal of hard disk drive and apparatus suitable therefor
US5561566A (en) Information recording disk and drive system using no sector ID to increase data storage capacity
KR100413766B1 (ko) 하드 디스크 드라이브에서의 서보 결함 관리 방법
JPH10134528A (ja) 記録装置およびエラー回復方法
US4982074A (en) Method of recording position information of last track recorded with data in directory area
US5461521A (en) Magnetic disk unit control method for removing dust from a disk
US4796113A (en) Method and apparatus for automatically replacing defective recording tracks in data storage apparatus
US6104558A (en) System and method of encoding an index mark into a servo address
US6747835B2 (en) Method and apparatus for simultaneously measuring and calculating servo-related data
US6263462B1 (en) Testing method and tester
US6557125B1 (en) System and method for generating a defect map for a data-storage medium without the use of a hard index
US6525894B1 (en) Tape drive apparatus and method for mounting a volume from a tape medium
US5638229A (en) Method for detecting an information recorded position in an information reproducing apparatus
JP3446852B2 (ja) 記録媒体の動き制御方法および装置
JP2000057501A (ja) 磁気ディスク欠陥検査方法および磁気ディスクサーテファイア
EP1400959B1 (en) Disk drive, disk drive controlling method and disk drive controlling program
JP2618437B2 (ja) 情報記録再生装置
JP3450256B2 (ja) 磁気テープ装置の位置決め方法
JP2914971B2 (ja) 磁気ディスク装置
JPS62126373A (ja) 無欠陥トラツク試験方法
JPS60207938A (ja) 磁気テープ装置の記録方式及び磁気テープ装置のアクセス方法
JPH11149755A (ja) ディスク再生装置
JPS60125976A (ja) 磁気ディスク装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees