JP2000123472A - テ―プ・ドライブのデ―タ処理方法および装置 - Google Patents

テ―プ・ドライブのデ―タ処理方法および装置

Info

Publication number
JP2000123472A
JP2000123472A JP11286555A JP28655599A JP2000123472A JP 2000123472 A JP2000123472 A JP 2000123472A JP 11286555 A JP11286555 A JP 11286555A JP 28655599 A JP28655599 A JP 28655599A JP 2000123472 A JP2000123472 A JP 2000123472A
Authority
JP
Japan
Prior art keywords
data
block
host computer
memory buffer
memory
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.)
Pending
Application number
JP11286555A
Other languages
English (en)
Inventor
Mark J Simms
マーク・ジェイ・シムス
Axis Takasugi R
アール・アクシス・タカスギ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000123472A publication Critical patent/JP2000123472A/ja
Pending legal-status Critical Current

Links

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device

Abstract

(57)【要約】 【課題】テープ・ドライブのバッファ・メモリを効率良
く使用するための方法を提供する。 【解決手段】本発明の一実施例によれば、テープ記憶装
置のインタフェース・ロジックは、データを受け取った
とき、データを処理して、元の未処理データ・ブロック
のサイズより小さいサイズの処理済みデータ・ブロック
作成する。データ・ブロックの要素を受信している間、
インタフェース・ロジックは、メモリ・バッファの空き
メモリ容量を繰り返し決定し、空きメモリ容量が所定の
しきい値を下回るときにブロック転送を一時的に停止す
る。ブロック転送は、空きメモリ容量がしきい値以上に
なると再開される。これにより、処理後のデータ・ブロ
ックのサイズを予測するための複雑な計算を実行する必
要がなく、バッファのオーバフローを防止する一方、ほ
ぼ全てのメモリを有効利用できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、テープ記憶装置お
よびそのようなテープ記憶装置へのデータ・ブロックを
処理し転送する方法に関する。
【0002】
【従来の技術】ホスト・コンピュータが線形テープ記憶
装置または媒体上にデータをアーカイブすることは一般
的である。線形テープ記憶装置の特性は、一般に、テー
プ媒体自体の線速度と関連付けられた一定の転送速度で
データを提供することを必要とする。ほとんどのケース
において、電子インタフェース・ロジックは、テープ・
ドライブと関連付けられ、ホスト・コンピュータにより
好都合な転送速度でデータを受け入れ、次にテープ書込
み機構に適した形にデータをフォーマットする。さら
に、インタフェース・ロジックは、データの圧縮などの
様々な方法でデータを処理する。
【0003】通常、ホスト・コンピュータは、データを
比較的大きなデータ・ブロックに分割し、そのようなデ
ータ・ブロックを、テープ・ドライブのインタフェース
・ロジックにデータの統合パッケージとして提供してい
る。これは効率を高めるために行われる。ホスト・コン
ピュータは、テープ装置が設定した転送速度で断続的な
小さなデータ転送を行うのではなく、より大きなブロッ
ク転送を、少ない周期間隔であるが高いデータ転送速度
で行うことができ、それにより、他のタスクのために介
在時間を空けることができる。ブロック・サイズは、通
常、ホスト・コンピュータによって確立される。インタ
フェース・ロジックの主な目的は、データ・ブロックを
受け取ったときにそれをバッファに入れ、そのデータ・
ブロックを処理し(データ・ブロックの圧縮などによ
り)、得たデータ・ブロック要素をテープ媒体に必要な
転送速度でテープ媒体に書き込むことである。
【0004】インタフェース・ロジックは、通常、入っ
てきたデータのためのメモリ・バッファを含む。このバ
ッファは、ホスト・コンピュータからテープ・ドライブ
へのデータ転送の同期をとるために使用される。バッフ
ァを使用することにより、インタフェース・ロジック
は、ホスト・コンピュータからデータ・ブロックを高い
データ転送速度で受け取り、次にテープ装置に必要な遅
い転送速度でにデータをテープ装置書き込むことができ
る。
【0005】ホスト・コンピュータからデータ・ブロッ
クを受け取る前に、インタフェース・ロジックは、デー
タ・ブロックを保持するのに十分なバッファ・メモリが
あるかどうかを決定する。しかしながら、インタフェー
ス・ロジックが行う圧縮やその他の処理のために、処理
した後で特定のデータ・ブロックが必要とするバッファ
空間の量を決定するのが難しい場合がある。ブロック転
送を開始するとき、ホスト・コンピュータは、未処理ブ
ロックのサイズを示す。しかしながら、処理後のブロッ
クのサイズを決定するために複雑な計算を必要とするこ
とがある。この問題を克服するために既知の方法があ
る。
【0006】1つの方法は、ブロック転送を開始する前
に、入ってきた未処理のデータ・ブロックのサイズに基
づいて処理済みデータのサイズを実際に計算することで
ある。この方法の欠点は、計算を実行するために複雑な
ソフトウェア・アルゴリズムかまたは高価な個別仕様の
ハードウェアを必要とすることである。
【0007】もう1つの方法は、処理済みデータのサイ
ズの控えめな近似により、前述の複雑な計算を回避する
ことである。しかしながら、この方法は、控えめな近似
の特徴によってバッファ・メモリを浪費する傾向があ
る。第3の方法は、2つのメモリ・バッファを使用する
ことである。入ってきたブロックは、処理されずに第1
のバッファに記憶される。ブロックは、第1のバッファ
に記憶した後で処理され、第2のバッファに書き込ま
れ、その後、テープ自体に書き込まれる。この方法は、
前の2つの方法よりも多くのメモリを必要とするという
明らかな欠点を有する。
【0008】
【発明が解決しようとする課題】本発明の課題は、テー
プ・ドライブのバッファ・メモリを効率良く使用するた
めの方法を提供することにある。本発明の別の課題は、
テープ・ドライブのバッファ・メモリを効率良く使用す
るための装置を提供することにある。
【0009】
【課題を解決するための手段】本発明によれば、入って
きたデータ・ブロックをバッファに入れるために、テー
プ・ドライブのインタフェース・ロジックが単一のバッ
ファを使用する。データは、ホスト・コンピュータから
受け取ったときに処理され、次にバッファに記憶され
る。インタフェース・ロジックは、利用可能なバッファ
・メモリ(データを受け取ると減少し、データをテープ
に書き込むと増大する)の量を監視する。空きメモリの
量が所定のしきい値よりも少なくなると、ブロック転送
が一時的に停止される。利用できるメモリが多くなり、
空きメモリの量がしきい値を超えると、ブロック転送が
再開される。0以外のしきい値を使用することにより、
通常ならばコンピュータからは受け取ったがバッファに
まだ入れられてないデータによって発生するバッファの
オーバランがなくなる。しきい値は、そのような最大量
の「輸送中」データのスペースを常に残すように算出さ
れる。
【0010】
【発明の実施の形態】図1は、本発明によるコンピュー
タ・システム10を示す。コンピュータ・システム10
は、マイクロプロセッサ12およびそれと関連したメモ
リ14を含む。また、ビデオ・アダプタ16、シリアル
・ポート18、パラレル・プリンタ・ポート20、キー
ボード・インターフェース22、図示しないその他のイ
ンタフェースなど、様々な周辺インタフェースを含む。
システムは、また、ハード・ディスク24やテープ・ド
ライブ26などの様々な異なる周辺装置に接続するため
のSCSI(小型コンピュータ・システム・インタフェ
ース)インタフェース23を含む。SCSIインタフェ
ースは、CD−ROM装置やDVD装置などの異なる装
置を接続するために使用することができる。SCSIイ
ンタフェースは、周知の規格によって定義され、多くの
デスクトップ・コンピュータに使用されている。
【0011】図2は、テープ搬送機構30と、読取り/
書込みヘッド機構32と、SCSIインタフェース34
と、ホスト・コンピュータ10とテープ・ドライブ26
のテープ書込み機構30および32との間で論理インタ
フェースを提供するインタフェース・ロジック36とを
含む、テープ・ドライブ26の関連構成要素をブロック
図で示す。インタフェース・ロジック36は、メモリか
ら情報を取り出して処理するプログラム可能な構成要素
によって、または後で説明する機能を提供するように相
互接続された固定論理構成要素によって構成することが
できる。さらに、インタフェース・ロジック36とその
機能は、一般にソフトウェア、ハードウェアおよびファ
ームウエアと呼ばれる構成要素を含む、様々なタイプの
論理構成要素の組合せによって実施することができる。
【0012】インタフェース・ロジック36は、説明の
ため、アドレス指定可能なメモリ構成要素42および入
出力回路44と関連付けられたプログラム可能なマイク
ロプロセッサまたはマイクロコントローラ40を含むよ
うに示される。メモリ構成要素42は、不揮発性メモリ
(ROMやEPROMなど)と揮発性メモリ(あるタイ
プのRAMなど)を両方とも含む。アドレス指定可能な
メモリ構成要素42は、プログラムを記憶する。プログ
ラムは、マイクロプロセッサ40によって取り出され実
行される命令を含む。インタフェース・ロジックは、テ
ープに読み書きしSCSIインタフェース34を介して
データを転送する機能を含む従来の機能を実現するよう
に構成される。
【0013】図2に示したように、インタフェース・ロ
ジックは、データ・バッファ46を含む。考察するため
に別に示したが、このデータ・バッファは、メモリ42
の一部分でもよい。データ・バッファは、データをテー
プに書き込む前に、ホスト・コンピュータから受け取っ
たデータをバッファに入れ、ホスト・コンピュータから
データを受け取るプロセスとデータをテープに書き込む
プロセスを同期させるために使用される。
【0014】図3は、本発明に従って、テープ記憶装置
にデータ・ブロックを記憶する前にデータ・ブロックを
処理しバッファに入れる方法を示す。ステップ100
は、ホスト・コンピュータ10から未処理のデータ・ブ
ロックをブロック転送する処理を含む。ほとんどのステ
ップにおいて、転送は、ホスト・コンピュータ10によ
って実施される。未処理データ・ブロックは、ブロック
転送中に次々と転送される未処理のデータ・バイト、ワ
ードまたはエレメントを含む。未処理データ・ブロック
は、ホスト・コンピュータによって定義されたサイズを
有する。
【0015】次のステップ102は、バッファ46内の
空きメモリの量を決定する処理を含む。すなわち、イン
タフェース・ロジックは、入ってきたデータの記憶に利
用可能なバッファ・メモリの量を決定する。さらに、こ
のステップは、空きバッファ・メモリの量を所定のメモ
リしきい値と比較する処理を含む。空きメモリの量が、
所定のしきい値よりも少ない場合は、空きメモリの量が
しきい値よりも多くなるまでステップ102が繰り返さ
れる。実際には、これは、メモリ・バッファ内の空きメ
モリの量がしきい値よりも少なくなったときにブロック
転送を一時的に停止するステップと、メモリ・バッファ
内の空きメモリの量が第1の所定のしきい値を下回らな
くなったときにブロック転送を再開する次のステップを
表す。そのようなブロック転送の停止と再開は、標準の
SCSIプロトコルを使用して達成される。
【0016】しきい値は、ホスト・コンピュータからは
受け取ったがメモリ・バッファにまだ記憶されていない
データ要素を考慮に入れて算出される。したがって、こ
のしきい値は、普通ならばホスト・コンピュータから受
け取ったがまだ「輸送中」のデータによって起こる可能
性のあるバッファのオーバーフローを防ぐ。輸送中のデ
ータ要素は、処理されているがバッファ46にまだ記憶
されていないデータ要素である。一般に、所定の論理設
計では、任意の所定時間に輸送中になりうるデータ要素
の最大数を予め計算することができる。本発明の実施形
態において、メモリのしきい値は、この最大数と等しい
かまたは少し大きくなるように設定される。
【0017】データ転送の効率を高めるために、2つの
しきい値を有利に使用することができる。たとえば、現
在のブロック転送を停止するかどうかを決定するために
第1のしきい値を使用し、ブロック転送を再開するかど
うかを決定するために第2の高い方のしきい値を使用す
る。
【0018】ステップ102の比較が、空きメモリの量
が所定のしきい値よりも多いことを示すときは、入って
きたデータ・ブロックから1つまたは複数のデータ要素
を受け取って処理し、処理済みのデータ要素を作成する
ステップ104を実行する。ステップ104は、さら
に、メモリ・バッファ46内の処理データ要素を記憶す
る処理を含む。
【0019】そのような処理が、特定のデータ・ブロッ
クについて終了したとき、処理済みのデータ要素は、メ
モリ・バッファ46に、受け取った未処理データ・ブロ
ックのサイズと異なる(通常は小さい)サイズを有する
処理済みデータ・ブロックを構成する。処理は、テープ
媒体に最終的に書き込むためのデータを用意する圧縮ス
テップやその他のステップを含む。したがって、処理
は、1群のデータ要素上で実行されることが多く、その
ため、入ってきたデータ要素とメモリ・バッファに書き
込まれる実際の処理済みのデータ要素との間に一対一の
対応はなくなる。したがって、ステップ104は、メモ
リ・バッファ46に処理済みのデータ要素を書き込む前
にいくつかの未処理のデータ要素を受け取る処理を必要
とすることがある。
【0020】ステップ106は、未処理のデータ・ブロ
ックをすべて受け取って処理したかどうかを検査する処
理を含む。完了していない場合、実行は、利用可能なメ
モリを検査するステップ102に戻る。したがって、ス
テップ102は、利用可能なメモリの量を監視し、利用
可能なメモリが少ないときにはブロック転送を停止する
ために、処理ステップと記憶ステップの実行中に繰り返
し実行される。ステップ106の結果が真の場合は、デ
ータ・ブロックを受け取りバッファに入れるプロセスは
終了する。
【0021】インタフェース・ロジックは、また、未処
理データ・ブロックをテープ・ドライブのテープ記憶機
構に書き込みあるいは転送する処理を行う。このステッ
プは、実施形態の詳細により、データ・ブロックを受け
取っている間かまたはデータ・ブロックを完全にバッフ
ァに入れた後で実行される。
【0022】以上説明した本発明は、複雑な計算とそれ
に関連するハードウェアまたはソフトウェアのオーバー
ヘッドなしにテープ・ドライブのバッファ・メモリを効
率よく使用することを可能にする。
【0023】本発明は、構造的特徴および/または方法
論的ステップに固有の言葉で説明した。しかしながら、
併記の特許請求の範囲で定義された本発明は、必ずしも
以上のような特定の特徴またはステップに制限されな
い。より正確に言えば、特定の特徴およびステップは、
特許請求の範囲に記載されている本発明を実施する例示
的形態として開示される。
【0024】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0025】[実施態様1]データ・ブロックをテープ
記憶媒体に記憶する前に、ホスト・コンピュータ(1
0)からのブロック転送中に順々に転送される未処理の
データ要素をそれぞれ含むデータ・ブロックを処理して
バッファに入れる方法であって、ホスト・コンピュータ
(10)から第1のサイズを有する未処理のデータ・ブ
ロックのブロック転送を行うステップと、前記データ・
ブロックを前記ホスト・コンピュータから受け取ったと
きにそのデータ・ブロックを処理して、第1のサイズと
異なる第2のサイズを有する処理済みデータ・ブロック
を形成する処理済みデータ要素を作成するステップと、
前記処理済みデータ要素を作成したときにそれをメモリ
・バッファ(46)に記憶するステップと、前記処理ス
テップと前記記憶ステップとを実行している間に、前記
メモリ・バッファ(46)内の空きメモリの量を繰り返
し決定するステップと、前記メモリ・バッファ(46)
内の空きメモリの量が第1の所定のしきい値よりも少な
いときに前記ブロック転送を一時的に停止するステップ
と、前記処理済みのデータ・ブロックを前記メモリ・バ
ッファ(46)から前記テープ記憶媒体に書き込むステ
ップと、を備えて成る方法。 [実施態様2]前記ホスト・コンピュータ(10)から
受け取ったが前記メモリ・バッファ(46)にまだ記憶
されていないデータ要素を考慮に入れて前記所定のしき
い値を計算するステップをさらに備えて成る、実施態様
1に記載の方法。 [実施態様3]データ要素を前記ホスト・コンピュータ
(10)から受け取ったが前記メモリ・バッファ(4
6)にまだ記憶されていないときに、前記データ要素は
輸送中と定義され、任意の所与の時間に輸送中になりう
るデータ要素の既知の最大数が存在し、輸送中のデータ
要素の前記最大数を考慮に入れて前記所定のしきい値を
計算するステップをさらに備えて成る、実施態様1に記
載の方法。 [実施態様4]前記メモリ・バッファ(46)の空きメモ
リの量が、前記第1の所定のしきい値を下回らないとき
に前記ブロック転送を再開するステップをさらに備えて
成る、実施態様1に記載の方法。 [実施態様5]データ要素を前記ホスト・コンピュータ
(10)から受け取ったが前記メモリ・バッファ(4
6)にまだ記憶されていないときに、前記データ要素は
輸送中として定義され、任意の所与の時間に輸送中にな
りうるデータ要素の既知の最大数が存在し、輸送中のデ
ータ要素の前記最大数を考慮に入れて前記所定のしきい
値を計算するステップと、前記メモリ・バッファ(4
6)内の空きメモリの量が、前記第1の所定のしきい値
を下回らないときに前記ブロック転送を再開するステッ
プと、を備えて成る、実施態様1に記載の方法。 [実施態様6]前記メモリ・バッファ(46)内の空きメ
モリの量が、前記第1の所定のしきい値よりも大きい第
2の所定のしきい値を超えないときに前記ブロック転送
を再開するステップをさらに備えて成る、実施態様1に
記載の方法。 [実施態様7]前記処理ステップが、前記データ・ブロッ
クを圧縮するステップを備えて成ることを特徴とする、
実施態様1に記載の方法。 [実施態様8]ホスト・コンピュータ(10)と結合して
使用されるテープ記憶装置(26)であって、テープ書
込み機構(32)と、前記ホスト・コンピュータ(1
0)と前記テープ書込み機構(32)との間のインタフ
ェース・ロジック(36)と、メモリ・バッファ(4
6)と、を備えて成り、前記インタフェース・ロジック
(36)が、ホスト・コンピュータ(1O)から第1の
サイズの未処理データ・ブロックのブロック転送の要求
を受け入れるステップと、前記ホスト・コンピュータ
(10)から前記未処理データ・ブロックを受け取るス
テップと、前記ホスト・コンピュータ(10)から受け
取ったときに前記未処理データ・ブロックを処理して、
前記第1のサイズと異なる第2のサイズを有する処理済
みデータ・ブロックを形成する処理済みデータ要素を作
成するステップと、処理済みデータ要素が作成されたと
きにそれを前記メモリ・バッファ(46)に記憶し、前
記処理ステップと前記記憶ステップとを実行している間
に、前記メモリ・バッファ(46)の空きメモリの量を
繰り返し決定するステップと、前記メモリ・バッファ
(46)内の空きメモリの量が第1の所定のしきい値よ
りも少ないときに前記ブロック転送を一時的に停止する
ステップと、前記処理済みデータ・ブロックを前記メモ
リ・バッファ(46)から前記テープ書込み機構に転送
するステップと、を備えて成るように構成されたテープ
記憶装置。 [実施態様9]データ要素をホスト・コンピュータ(1
0)から受け取ったがメモリ・バッファ(46)にまだ
記憶されていないときに、前記データ要素は輸送中と定
義され、任意の所与の時間に輸送中になりうるデータ要
素の既知の最大数が存在し、前記所定のしきい値が、輸
送中のデータ要素の前記最大数を考慮に入れて計算され
る、ことを特徴とする、実施態様8に記載のテープ記憶
装置。 [実施態様10]データ要素を前記ホスト・コンピュータ
(10)から受け取ったが前記メモリ・バッファ(4
6)にまだ記憶されていないときに、前記データ要素は
輸送中と定義され、任意の所与の時間に輸送中になりう
るデータ要素の既知の最大数が存在し、前記所定のしき
い値が、輸送中のデータ要素の前記最大数を考慮に入れ
て計算され、前記メモリ・バッファ(46)の空きメモ
リの量が前記第1の所定のしきい値を下回らないときに
前記ブロック転送を再開するステップを含むさらに別の
ステップを実行するよう、前記インタフェース・ロジッ
クが構成されている、ことを特徴とする、実施態様8に
記載のテープ記憶装置。
【0026】
【発明の効果】以上説明したように、本発明を用いるこ
とにより、複雑な計算とそれに関連するハードウェアま
たはソフトウェアのオーバーヘッドなしにテープ・ドラ
イブのバッファ・メモリを効率よく使用することができ
る。
【図面の簡単な説明】
【図1】本発明によるコンピュータ・システムのブロッ
ク図である。
【図2】本発明によるテープ・ドライブ・システムのブ
ロック図である。
【図3】本発明による好ましい段階を示すフローチャー
トである。
【符号の説明】
10:ホスト・コンピュータ 46:メモリ・バッファ 32:テープ書込み機構 36:インタフェース・ロジック

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】データ・ブロックをテープ記憶媒体に記憶
    する前に、ホスト・コンピュータからのブロック転送中
    に順々に転送される未処理のデータ要素をそれぞれ含む
    データ・ブロックを処理してバッファに入れる方法であ
    って、 ホスト・コンピュータから第1のサイズを有する未処理
    のデータ・ブロックのブロック転送を行うステップと、 前記データ・ブロックを前記ホスト・コンピュータから
    受け取ったときにそのデータ・ブロックを処理して、第
    1のサイズと異なる第2のサイズを有する処理済みデー
    タ・ブロックを形成する処理済みデータ要素を作成する
    ステップと、 前記処理済みデータ要素を作成したときにそれをメモリ
    ・バッファに記憶するステップと、 前記処理ステップと前記記憶ステップとを実行している
    間に、前記メモリ・バッファ内の空きメモリの量を繰り
    返し決定するステップと、 前記メモリ・バッファ内の空きメモリの量が第1の所定
    のしきい値よりも少ないときに前記ブロック転送を一時
    的に停止するステップと、 前記処理済みのデータ・ブロックを前記メモリ・バッフ
    ァから前記テープ記憶媒体に書き込むステップと、 を備えて成る方法。
  2. 【請求項2】前記ホスト・コンピュータから受け取った
    が前記メモリ・バッファにまだ記憶されていないデータ
    要素を考慮に入れて前記所定のしきい値を計算するステ
    ップをさらに備えて成る、請求項1に記載の方法。
  3. 【請求項3】データ要素を前記ホスト・コンピュータか
    ら受け取ったが前記メモリ・バッファにまだ記憶されて
    いないときに、前記データ要素は輸送中と定義され、任
    意の所与の時間に輸送中になりうるデータ要素の既知の
    最大数が存在し、輸送中のデータ要素の前記最大数を考
    慮に入れて前記所定のしきい値を計算するステップをさ
    らに備えて成る、請求項1に記載の方法。
  4. 【請求項4】前記メモリ・バッファの空きメモリの量
    が、前記第1の所定のしきい値を下回らないときに前記
    ブロック転送を再開するステップをさらに備えて成る、
    請求項1に記載の方法。
  5. 【請求項5】データ要素を前記ホスト・コンピュータか
    ら受け取ったが前記メモリ・バッファにまだ記憶されて
    いないときに、前記データ要素は輸送中として定義さ
    れ、任意の所与の時間に輸送中になりうるデータ要素の
    既知の最大数が存在し、 輸送中のデータ要素の前記最大数を考慮に入れて前記所
    定のしきい値を計算するステップと、 前記メモリ・バッファ内の空きメモリの量が、前記第1
    の所定のしきい値を下回らないときに前記ブロック転送
    を再開するステップと、 を備えて成る、請求項1に記載の方法。
  6. 【請求項6】前記メモリ・バッファ内の空きメモリの量
    が、前記第1の所定のしきい値よりも大きい第2の所定
    のしきい値を超えないときに前記ブロック転送を再開す
    るステップをさらに備えて成る、請求項1に記載の方
    法。
  7. 【請求項7】前記処理ステップが、前記データ・ブロッ
    クを圧縮するステップを備えて成ることを特徴とする、
    請求項1に記載の方法。
  8. 【請求項8】ホスト・コンピュータと結合して使用され
    るテープ記憶装置であって、 テープ書込み機構と、 前記ホスト・コンピュータと前記テープ書込み機構との
    間のインタフェース・ロジックと、 メモリ・バッファと、を備えて成り、 前記インタフェース・ロジックが、 ホスト・コンピュータから第1のサイズの未処理データ
    ・ブロックのブロック転送の要求を受け入れるステップ
    と、 前記ホスト・コンピュータから前記未処理データ・ブロ
    ックを受け取るステップと、 前記ホスト・コンピュータから受け取ったときに前記未
    処理データ・ブロックを処理して、前記第1のサイズと
    異なる第2のサイズを有する処理済みデータ・ブロック
    を形成する処理済みデータ要素を作成するステップと、 処理済みデータ要素が作成されたときにそれを前記メモ
    リ・バッファに記憶し、 前記処理ステップと前記記憶ステップとを実行している
    間に、前記メモリ・バッファの空きメモリの量を繰り返
    し決定するステップと、 前記メモリ・バッファ内の空きメモリの量が第1の所定
    のしきい値よりも少ないときに前記ブロック転送を一時
    的に停止するステップと、 前記処理済みデータ・ブロックを前記メモリ・バッファ
    から前記テープ書込み機構に転送するステップと、 を備えて成るように構成されたテープ記憶装置。
  9. 【請求項9】データ要素をホスト・コンピュータから受
    け取ったがメモリ・バッファにまだ記憶されていないと
    きに、前記データ要素は輸送中と定義され、 任意の所与の時間に輸送中になりうるデータ要素の既知
    の最大数が存在し、 前記所定のしきい値が、輸送中のデータ要素の前記最大
    数を考慮に入れて計算される、 ことを特徴とする、請求項8に記載のテープ記憶装置。
  10. 【請求項10】データ要素を前記ホスト・コンピュータ
    から受け取ったが前記メモリ・バッファにまだ記憶され
    ていないときに、前記データ要素は輸送中と定義され、 任意の所与の時間に輸送中になりうるデータ要素の既知
    の最大数が存在し、 前記所定のしきい値が、輸送中のデータ要素の前記最大
    数を考慮に入れて計算され、 前記メモリ・バッファの空きメモリの量が前記第1の所
    定のしきい値を下回らないときに前記ブロック転送を再
    開するステップを含むさらに別のステップを実行するよ
    う、前記インタフェース・ロジックが構成されている、 ことを特徴とする、請求項8に記載のテープ記憶装置。
JP11286555A 1998-10-20 1999-10-07 テ―プ・ドライブのデ―タ処理方法および装置 Pending JP2000123472A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/175,806 US6101575A (en) 1998-10-20 1998-10-20 Tape drive data buffering
US175,806 1998-10-20

Publications (1)

Publication Number Publication Date
JP2000123472A true JP2000123472A (ja) 2000-04-28

Family

ID=22641707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11286555A Pending JP2000123472A (ja) 1998-10-20 1999-10-07 テ―プ・ドライブのデ―タ処理方法および装置

Country Status (3)

Country Link
US (1) US6101575A (ja)
EP (1) EP0996126A1 (ja)
JP (1) JP2000123472A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269422B1 (en) * 1998-12-10 2001-07-31 Unisys Corporation System and method for retrieving tape statistical data
US20010047359A1 (en) * 2000-04-17 2001-11-29 Peter Videcrantz Method and apparatus for data compression
US6996640B1 (en) 2001-08-07 2006-02-07 Adaptec, Inc. Method and system for asynchronously transferring data
US7080169B2 (en) * 2001-12-11 2006-07-18 Emulex Design & Manufacturing Corporation Receiving data from interleaved multiple concurrent transactions in a FIFO memory having programmable buffer zones
JP4168718B2 (ja) * 2002-10-02 2008-10-22 日本電気株式会社 記憶容量管理システム及び記憶容量管理方法
US7903556B2 (en) 2005-11-03 2011-03-08 Hewlett-Packard Development Company, L.P. Method of controlling data transfers between nodes in a computer system
JP5454224B2 (ja) * 2010-02-25 2014-03-26 ソニー株式会社 記憶装置および記憶システム
JP2012204880A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリ装置及びその制御方法
US10311513B2 (en) 2012-03-14 2019-06-04 Nasdaq Technology Ab Method and system for facilitating access to recorded data
US9396131B1 (en) * 2013-02-08 2016-07-19 Workday, Inc. Dynamic three-tier data storage utilization
US9501426B1 (en) 2013-02-08 2016-11-22 Workday, Inc. Dynamic two-tier data storage utilization

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5125096A (en) * 1988-10-31 1992-06-23 International Business Machines Corporation System for implementing to a packet switch protocol for a multinode data communications network utilizing separate data and control paths
US5327535A (en) * 1991-08-29 1994-07-05 Hitachi, Ltd. Magnetic recording control apparatus
US5450546A (en) * 1992-01-31 1995-09-12 Adaptec, Inc. Intelligent hardware for automatically controlling buffer memory storage space in a disk drive
US5309451A (en) * 1992-08-12 1994-05-03 Digital Equipment Corporation Data and parity prefetching for redundant arrays of disk drives
JP2840511B2 (ja) * 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
US5448420A (en) * 1993-08-02 1995-09-05 Dictaphone Corporation Method and a system for storing audio
JP3810449B2 (ja) * 1994-07-20 2006-08-16 富士通株式会社 キュー装置
US6351780B1 (en) * 1994-11-21 2002-02-26 Cirrus Logic, Inc. Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated
US5771356A (en) * 1995-01-04 1998-06-23 Cirrus Logic, Inc. Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds
US5671389A (en) * 1996-01-11 1997-09-23 Quantum Corporation Adaptive compression caching for tape recording
US5884099A (en) * 1996-05-31 1999-03-16 Sun Microsystems, Inc. Control circuit for a buffer memory to transfer data between systems operating at different speeds
US5872997A (en) * 1997-02-14 1999-02-16 Exabyte Corporation System for dynamically determining motion and reconnect thresholds of a storage media based on the effective transfer rate

Also Published As

Publication number Publication date
EP0996126A1 (en) 2000-04-26
US6101575A (en) 2000-08-08

Similar Documents

Publication Publication Date Title
US6883079B1 (en) Method and apparatus for using data compression as a means of increasing buffer bandwidth
US7225326B2 (en) Hardware assisted ATA command queuing
US6170042B1 (en) Disc drive data storage system and method for dynamically scheduling queued commands
US6629211B2 (en) Method and system for improving raid controller performance through adaptive write back/write through caching
JP3580630B2 (ja) 消費電力を管理するシステム及び電源を管理する方法
US7574565B2 (en) Transforming flush queue command to memory barrier command in disk drive
JP2001521246A (ja) 異なる周波数で動作するバス間でやりとりされるバッファリングデータ
US8606992B2 (en) Dynamically switching command types to a mass storage drive
US20110022758A1 (en) Method and system for processing frames in storage controllers
JP2000123472A (ja) テ―プ・ドライブのデ―タ処理方法および装置
US7937508B2 (en) Method and apparatus for transferring data from a memory subsystem to a network adapter by extending data lengths to improve the memory subsystem and PCI bus efficiency
US6880057B1 (en) Split write data processing mechanism for memory controllers utilizing inactive periods during write data processing for other transactions
JPH07175728A (ja) ディスクキャッシュデータ保全方式
US20060206652A1 (en) Machine state storage apparatus and method
US20020156943A1 (en) Command issuing apparatus for high-speed serial interface
EP1579336B1 (en) Improving optical storage transfer performance
WO2021082877A1 (zh) 访问固态硬盘的方法及装置
JPH0793101A (ja) データバックアップ装置
JPH076093A (ja) 記憶制御装置
JP2848099B2 (ja) 多重ドライブ制御方式
JPH08320765A (ja) ディスク装置
JP2577705B2 (ja) 画像圧縮伸長装置及びその制御方法
JPS6118032A (ja) 外部メモリ制御装置
JPH11143800A (ja) コンピュータの通信フロー制御方式,方法および記録媒 体
JP2001005636A (ja) バッファメモリ制御回路