JP2000099450A - バ―ストデ―タ転送の受信装置 - Google Patents

バ―ストデ―タ転送の受信装置

Info

Publication number
JP2000099450A
JP2000099450A JP11203851A JP20385199A JP2000099450A JP 2000099450 A JP2000099450 A JP 2000099450A JP 11203851 A JP11203851 A JP 11203851A JP 20385199 A JP20385199 A JP 20385199A JP 2000099450 A JP2000099450 A JP 2000099450A
Authority
JP
Japan
Prior art keywords
pointer
burst
buffer memory
data
scsi
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
JP11203851A
Other languages
English (en)
Inventor
Mark J Simms
マーク・ジェイ・シムズ
R Alexis Takasugi
アール・アレクシス・タカスギ
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 JP2000099450A publication Critical patent/JP2000099450A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】大きなシステムオーバヘッドも要することな
く、さらに複合状態の機器も必要とせずに所望の性能レ
ベルを実現するバーストデータ転送のデータ管理装置を
提供する。 【解決手段】バースト開始(SB)ポインタおよび現在
位置(CP)ポインタがバッファメモリにおける同一記
憶領域を識別中であって、すでに記憶されているデータ
を破損せずに、バーストを受信するための記憶領域がバ
ッファメモリに十分あることをSBポインタ(またはC
Pポインタ)とテープ記憶メカニズム(TM)ポインタ
との論理差が示している場合、インタフェース−コント
ロールユニット12はバーストをイネーブルにする。バ
ッファメモリに十分なデータパケットがあることを該論
理差がさらに示している場合、該ユニット12はバース
ト読み取り動作をバッファメモリに実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ管理に関
し、より詳細には、受信装置におけるバーストデータ転
送のデータ管理に関する。
【0002】
【従来の技術】ホストコンピュータは、ある種の通信イ
ンタフェース上で、ハードディスクドライブまたは磁気
テープドライブ等1つ以上の大容量記憶装置とともに動
作することが多い。当該技術において知られているよう
に、典型的には、ホストコンピュータと大容量記憶装置
は、ともに送受信機能を有する。従って、本適用の目的
において、本明細書ではホストコンピュータを「受信装
置」または「送信装置」とも称する。同様に、大容量記
憶装置もまた、本明細書において「受信装置」または
「送信装置」と称する。
【0003】現行の通信リンク、例えば、小規模コンピ
ュータシステムインタフェース(SCSIインタフェー
ス)は、高速データ転送を支援する。このような高速デ
ータ転送を利用するために、ホストコンピュータおよび
大容量記憶装置は、ともに、典型的に一または複数のバ
ッファメモリデバイス(バッファメモリ)を含む。バッ
ファメモリは、特定の通信リンクを用いることにより支
援される高速データ転送で入ってくる (incoming)ブロ
ックデータを受信して一時的に記憶するために使用され
る。受信後、データをバッファメモリから読み出し、処
理することができる。本目的においてバッファメモリを
利用する大容量記憶装置の例は、「Method and Apparat
us for Controlling Data Transfers through Multiple
Buffers(複数のバッファによりデータ転送を制御する
方法および装置)」と題する米国特許第4,843,5
44号に見出すことができる。
【0004】送信装置から受信装置にデータを効率よく
転送するために、いくつかの通信リンク(例えば、SC
SIインタフェース)がバーストデータ転送を支援す
る。バーストデータ(バースト)転送は、1つの装置と
別の装置との間で割り込みなしで発生する一連のデータ
転送である。バースト転送を受信することが可能な受信
装置は、典型的には、バッファメモリと、バースト転送
を管理するためのある種のデータ管理システムの両方を
含む。データ管理システムを用いて、多数の機能を実行
することが可能である。例えば、データ管理システム
は、送信装置からの次のバースト転送をイネーブルにす
るかどうかを判断することができる。この判断は、すで
に記憶されているデータを破損せずに、バーストを受信
するためのスペースが受信装置のバッファメモリに十分
あるかどうかに大きく左右される。当初送信されたバー
ストが無効であると判断された場合、バーストの再送信
およびバッファメモリへの再書き込みを調整するために
データ管理システムを使用することも可能である。
【0005】これらの機能を実現する従来技術のデータ
管理システムとして、マイクロプロセッサおよびソフト
ウェアルーチン、あるいは比較的複雑な状態の機器があ
る。この結果、システムオーバヘッドが際立つようにな
り、これにより受信装置の性能レベルが低下するか、あ
るいは、所望の性能レベルに到達するために高価な制御
回路が必要となる可能性がある。
【0006】
【発明が解決しようとする課題】本発明は、従来技術に
関する大きなシステムオーバヘッドも要することなく、
さらに複合状態の機器も必要とせずに上記の機能を実行
して所望の性能レベルを実現するデータ管理装置を提供
する。
【0007】
【課題を解決するための手段】本発明は、送信装置から
のバースト転送を管理するために受信装置によって使用
可能なデータ管理装置を含む。データ管理装置は、バー
スト開始ポインタを記憶する第1の記憶レジスタと、現
在位置ポインタを記憶する第2の記憶レジスタと、テー
プメカニズムポインタを記憶する第3の記憶レジスタと
を含む。さらに、データ管理装置には、第1の記憶レジ
スタ、第2の記憶レジスタ、第3の記憶レジスタおよび
受信装置のバッファメモリに接続されたインタフェース
−コントロールユニットが含まれる。
【0008】バースト開始ポインタおよび現在位置ポイ
ンタがバッファメモリにおける同一記憶領域を識別中で
あって、すでに記憶されているデータを破損せずに、バ
ーストを受信するための記憶領域がバッファメモリに十
分あることをバースト開始ポインタ(または現在位置ポ
インタ)とテープ記憶メカニズムポインタとの論理差が
示している場合、インタフェース−コントロールユニッ
トはバーストをイネーブルにするように実装されてい
る。さらに、バースト長を最短に形成するためにバッフ
ァメモリに十分なデータパケットがあることを該論理差
がさらに示している場合、インタフェース−コントロー
ルユニットはバースト読み取り動作をバッファメモリに
実行するように、更に実装されている。
【0009】本発明は、受信装置によって用いられる送
信装置からのバースト転送を管理する方法をさらに含
む。該方法は、バースト開始ポインタ、現在位置ポイン
タおよびテープメカニズムポインタを生成する第1のス
テップを含む。これらの3つのポインタを生成後、該方
法は、受信装置のバッファメモリにおける同一記憶領域
をバースト開始ポインタおよび現在位置ポインタが現在
識別中であって、すでに記憶されているデータを破損せ
ずに、バーストを受信するための記憶領域がバッファメ
モリに十分あることをバースト開始ポインタ(または現
在位置ポインタ)とテープメカニズムポインタとの論理
差が示している場合、バーストをイネーブルにするステ
ップをさらに含む。該方法は、バッファメモリへのバー
ストを受信し、次いで該バーストが有効であるかを判断
するステップをさらに含む。該バーストが無効であると
判断されると、該方法は、現在位置ポインタをバースト
開始ポインタの現在位置に移動し、次いでバーストを再
イネーブルにするステップをさらに含む。この結果、バ
ーストは再送信され、すでに記憶されているバーストが
占有しているバッファメモリの同一記憶領域に再度書き
込まれる。本発明は、テープ記憶装置またはホストコン
ピュータを含む広範囲の受信装置において使用が可能で
ある。
【0010】
【発明の実施の形態】バースト転送を受信することが可
能な受信装置は、典型的には、バッファメモリと、バー
スト転送を管理するためのある種のデータ管理システム
の両方を含む。データ管理システムを用いて、多数の機
能を実行することが可能である。例えば、データ管理シ
ステムは、送信装置からの次のバースト転送をイネーブ
ルにするかどうかを判断することができる。この判断
は、すでに記憶されているデータを破損せずに、バース
トを受信するためのスペースが受信装置のバッファメモ
リに十分あるかどうかに大きく左右される。当初送信さ
れたバーストが無効であると判断された場合、バースト
の再送信およびバッファメモリへの再書き込みを調整す
るためにデータ管理システムを使用することも可能であ
る。ここでも、これはすでに記憶したデータを破損する
ことなく行われなければならない。
【0011】本明細書において開示するように、本発明
は、従来技術に関する大きなシステムオーバヘッドも要
することなく、さらに複合状態の機器も必要とせずに上
記の機能を実行して所望の性能レベルを実現するデータ
管理装置を提供する。
【0012】図1は、本発明の第1の代表的な実施形態
を示す回路構成図である。図1を参照して、テープ記憶
装置13には、ホストコンピュータ(図示せず)が接続
されている。テープ記憶装置13は、ディジタルデータ
記憶装置(DDS)規格(ISO/IEC規格1077
7:1991 Eによって規定される)に準拠し、テー
プドライブコントローラ24およびテープメカニズム2
2を含む。ホストコンピュータは、当該技術において周
知の「fast wide(高速広域)」SCSI通信リンクで
あるSCSIバス10を介してテープドライブコントロ
ーラ24に接続される。
【0013】本適用の目的において、「データパケッ
ト」は、バイナリビット(ビット)のグループであっ
て、1ユニットとして通信リンク上で受信装置に転送さ
れる。データパケットにおけるビット数は、本発明を別
様に実施する毎に異なって規定してもよい。これは、使
用される通信リンクのタイプに部分的に依存する。本実
施形態において、データパケットは8ビット幅と規定さ
れる。SCSIバス10には16本のパラレルデータ線
が含まれ、これにより、各データ転送中に2つのデータ
パケットを(並列に)転送可能である。
【0014】図1において、テープドライブコントロー
ラ24は、本発明を説明するために有用である機能ブロ
ックにより表される。これらの機能ブロックとして、バ
ッファメモリ40、読み取り/書き込み回路14および
データ管理装置46があり、これらはすべて内部バス2
6を介して相互接続されている。内部バス26には、1
6本のパラレルデータ線が含まれ、これにより、各デー
タ転送中に2つのデータパケットを(並列に)転送可能
である。
【0015】図示のように、データ管理装置46は、
「SCSIインタフェースおよびテープドライブコント
ロールユニット」(インタフェース−コントロールユニ
ット)12と、3個のプログラム可能なレジスタ、すな
わち、「バースト開始」(SB)レジスタ34、「現在
位置」(CP)レジスタ36、そして「テープメカニズ
ム」(TM)レジスタ38を含む。これらの機能ブロッ
クの動作については、以下さらに詳細を説明する。
【0016】テープメカニズム22は、第2の内部バス
19を介して読み取り/書き込み回路14に接続され
る。また、テープメカニズム22は、図1において以下
の機能ブロック、すなわち、読み取り/書き込みヘッド
(ヘッド)18、ヘッド18の動きを制御するヘッドア
クチュエータ16、そしてテープ20によって表され
る。テープ20は、テープ記憶装置13の大容量記憶媒
体として機能する。これらの機能ブロックの動作は、当
該技術において周知であるため、詳細には検討しない。
【0017】データパケットは、典型的には、ホストコ
ンピュータとテープ記憶装置13の間をSCSIバス1
0を介してバーストで転送される。テープ記憶装置13
がバーストを受信している場合、本明細書中ではテープ
記憶装置13が「書き込みモード」であると称する。
【0018】テープ記憶装置13が書き込みモードであ
るとき、SCSIバス10上で受信されたバーストは、
バッファメモリ40に書き込まれる。バーストを受信
後、バーストにおけるデータを後でバッファメモリ40
から読み取り、読み取り/書き込み回路14に送信す
る。内部バス26を効率よく利用するために、これらの
読み取り動作は、典型的には連続して実行される。この
ように実行される読み取り動作を本明細書中では「バー
スト読み取り」と称する。バースト読み取り動作によ
り、割り込みが生じることなく複数のデータパケットを
内部バス26上でバッファメモリ40から読み取り/書
き込み回路14に送信できることになる。従って、これ
もまた、一種のバースト転送である。ホストコンピュー
タからテープ記憶装置13へのバースト転送およびバッ
ファメモリ40から読み取り/書き込み回路14へのバ
ースト転送を区別するために、本明細書において前者を
「SCSIバースト」と称し、後者を本明細書では「メ
カニズムバースト」と称する。さらに、SCSIバース
トの一部であるデータ転送を本明細書において「SCS
Iデータ転送」と称する。同様に、メカニズムバースト
の一部であるデータ転送は本明細書において「メカニズ
ムデータ転送」と称される。
【0019】データパケット数の観点から、SCSIバ
ーストの長さを本明細書では「SCSIバースト長」、
あるいは「SBL」と称する。メカニズムバーストの長
さは、データパケット数の観点から「メカニズムバース
ト長」、あるいは「MBL」と称される。本実施形態に
おいて、SCSIバースト長およびメカニズムバースト
長は可変であることができる。本実施形態において、両
タイプのバーストは、非同期に発生する。
【0020】典型的なSCSIデータ転送中、2つのデ
ータパケット(合計2バイトのSCSIバーストデータ
が含まれる)は、SCSIバス10の16本のデータ線
上で送信され、インタフェース−コントロールユニット
12によりそれぞれ受信される。SCSIプロトコルに
よると、任意のSCSIデータ転送における第1のデー
タパケットは、SCSIバス10のD0〜D7のデータ
線上で送信される。さらに、第2のデータパケットは、
SCSIバス10のD8〜D15のデータ線上で送信さ
れる。
【0021】SCSIデータ転送中に2つのデータパケ
ットを受信した後、インタフェース−コントロールユニ
ット12は、各データパケットをバッファメモリ40に
書き込むことによって応答する。本明細書においてこの
動作を「バッファ書き込み動作」と称する。インタフェ
ース−コントロールユニット12は、本明細書において
「現在位置」(CP)ポインタと称されるポインタの制
御下で各バッファ書き込み動作を実行する。該ポインタ
は、CPレジスタ36に位置づけられる。CPポインタ
は、インタフェース−コントロールユニット12により
使用され、データパケットを受信する次の記憶領域をバ
ッファメモリ40において識別する。該ポインタは、各
バッファ書き込み動作後にインタフェース−コントロー
ルユニット12によって更新され、循環バッファ(cycli
c buffer)としてバッファメモリ40を動作する。
【0022】CPポインタについてのさらに詳細な説明
の基底を提供するために、図1では、バッファメモリ4
0における記憶領域の代表的な部分を示す。図示のよう
に、各記憶領域は、論理列(論理コラム)、すなわちコ
ラム32の一部として描かれる。書き込み動作は、CP
ポインタの制御下で実行され、データパケットをコラム
32の最上段からコラム32の最下段までバッファメモ
リ40に書き込む。
【0023】CPポインタは、その初期状態において、
コラム32の第1の記憶領域(第1の記憶領域42)を
識別する。従って、2つのデータパケットが(SCSI
データ転送中に)インタフェース−コントロールユニッ
ト12により受信され、CPポインタがその初期状態に
あるとき、インタフェース−コントロールユニット12
は、D0〜D7のデータ線上で受信されたデータパケッ
トを第1の記憶レジスタ42に書き込むことによってこ
の状態に応答する。さらに、インタフェース−コントロ
ールユニット12は、D8〜D15のデータ線上で受信
されたデータパケットをコラム32の第2の記憶領域
(第2の記憶領域43)に書き込むことによって応答す
る。次に、インタフェース−コントロールユニット12
は、CPレジスタ36における値を変更する(本明細書
中では、ポインタを「移動する」と称する)ことによっ
て更新し、これにより、CPポインタがコラム32の第
3の記憶領域(第3の記憶領域44)を識別する。さら
に書き込み動作の実行にともなって、CPポインタは、
コラム32に沿って同様に下方向に移動する。CPポイ
ンタがラップ(wrap)すなわち循環してコラム32の最上
段に戻ることによって、CPポインタは、バッファメモ
リ40の最後の記憶領域(最終記憶領域48)を過ぎて
更新される。
【0024】なお、他の実施形態において、前述のもの
と同様の論理コラムを形成する記憶領域であれば、複数
のバッファメモリデバイス内部に位置決めすることが可
能であり、あるいは、単一バッファメモリにおいて利用
可能な記憶領域の一部で構成することが可能である。こ
れら2つの場合は、何れも本発明から逸脱するものでは
ない。
【0025】典型的なメカニズムデータ転送中、2つの
データパケット(合計2バイトのメカニズムバーストデ
ータが含まれる)は、インタフェース−コントロールユ
ニット12によって読み取られ、内部バス26のデータ
線上を読み取り/書き込み回路14に送信される。この
動作を本明細書中では「バッファ読み取り動作」と称す
る。これらのバッファ読み取り動作は、TMレジスタ3
8内に位置決めされた第2のポインタによってそれぞれ
制御される。この第2のポインタを本明細書においてテ
ープメカニズム(TM)ポインタと称する。TMポイン
タは、インタフェース−コントロールユニット12によ
って使用され、バッファメモリ40から読み取られる次
のデータパケットを識別し、各バッファ読み取り動作後
に更新されて、受信された順にデータパケットをバッフ
ァメモリ40から読み取る。従って、TMポインタは、
その初期状態において、第1の記憶領域42を識別す
る。さらに、TMポインタは、コラム32に沿ってTM
ポインタを下方向に移動することによって更新される
(これにより、CPポインタに続く)。CPポインタと
同様に、TMポインタをラップしてコラム32の最上段
に戻ることによって、TMポインタは、バッファメモリ
40の最後の記憶領域(最終記憶領域48)を過ぎて更
新される。
【0026】第3のポインタは、本明細書において「バ
ースト開始(SB)」ポインタ(SBレジスタ34内部
に位置決めされる)と称され、どのSCSIバースト転
送中であっても、SCSIバーストで第1のデータパケ
ットを受信したバッファメモリ40において記憶領域を
識別するために用いられる。SCSIバーストが完全に
バッファメモリ40に書き込まれて、有効であると判断
された後、SBポインタは、CPポインタの現在位置に
更新される。以下、さらに詳述するように、受信したば
かりのSCSIバーストが無効であると判断された場合
に対処するために、次のSCSIバーストは、SBポイ
ンタが更新されてしまうまでイネーブルとされない。
【0027】一般に、TMポインタは、SBポインタよ
り前になることはない。SBポインタの上記説明からわ
かるように、これは、無効となる可能性のデータをバッ
ファメモリ40から読み取るのを防ぐ。
【0028】次に説明するように、前述した3つのポイ
ンタを使用することで、従来技術と比べてデータ管理装
置46の動作を簡略化する。
【0029】例えば、データ管理装置46の1つの機能
は、受信したばかりのバーストが有効であるかどうかを
判断して、バーストが有効でない場合には、そのバース
トの再送信とバッファメモリ40への再書き込みを調整
することである。本適用の目的において、該動作を本明
細書では「再試行ルーチン」と称する。ここで明らかと
なるように、再試行ルーチンは、SBポインタおよびC
Pポインタを使用することによって簡単に達成される。
受信したばかりのSCSIバーストが有効でないと判断
されると、インタフェース−コントロールユニット12
は、SBレジスタ34における現行値をCPレジスタ3
6にコピーし、次いで受信したばかりのSCSIバース
トの再イネーブルに着手する。このため、CPポインタ
を戻して、オリジナルSCSIバーストの開始時に行っ
た同一の記憶領域を識別する。この結果、SCSIバー
ストは、すでに送信されているSCSIバーストが占有
するバッファメモリ40に再送信され、同一記憶領域に
再度書き込まれる。バッファメモリ40にすでに記憶さ
れているデータ(ただし、まだ読み取られていない)は
上書きされない。従って、バッファメモリ40のデータ
は破損されない。
【0030】SCSIプロトコルによると、ある量のデ
ータをテープ記憶装置13に送信するために、ホストコ
ンピュータは、まず、データを送出するよう要求を転送
する。該要求をデータ管理装置46が受信し、さらにバ
ースト転送を管理する役を引き受けると仮定する。従っ
て、該要求を受信後、データ管理装置46は、ホストコ
ンピュータからデータを転送するために必要となるSC
SIバーストの後続の転送をそれぞれイネーブルにする
ように動作する。
【0031】SCSIバースト転送を適正に管理するた
めに、データ管理装置46は、2つの基準が満たされた
場合にのみSCSIバーストの転送をイネーブルにす
る。第1に、最後に受信されたSCSIバースト(もし
あれば)は、有効であると判断されていなければならな
い。第2に、バッファメモリ40には、すでに記憶され
ているデータを破損せずに、SCSIバーストを受信す
る余裕が十分になければならない。以下に示すように、
これらの2つの基準を満たすかどうかについての判断
は、上述した3つのポインタを使用することによって簡
単になる。
【0032】第1の基準を満たすかどうかを判断するた
めに、インタフェース−コントロールユニット12は、
SBレジスタ34における現行値をCPレジスタ36に
おける現行値と比較して、SBポインタおよびCPポイ
ンタが同一の記憶領域を識別中であるかどうかを判断す
る。識別中であれば、これは、2つの条件、すなわち、
バッファメモリ40にはデータがないか、あるいは、バ
ッファメモリ40に書き込まれた最終SCSIバースト
が有効であると判断されたかの一方が真であることを意
味する。これらの条件のいずれも第1の基準を満たす。
従って、これは、SBポインタおよびCPポインタが同
一記憶領域を現在識別中であるとインタフェース−コン
トロールユニット12が判断する場合、第1の基準が満
たされていることをインタフェース−コントロールユニ
ット12に通知する。
【0033】第2の基準を満たすかどうかを判断するた
めに、インタフェース−コントロールユニット12は、
まず、TMポインタとSBポインタの現在位置との「論
理差」(LD)を計算する。この論理差により、バッフ
ァメモリ40において利用可能なコラム32の記憶領域
の数(本明細書において「利用可能な記憶長」と称す
る)と等しい数が得られ、すでに記憶されているデータ
を破損せずに次のSCSIバーストを受信する。
【0034】図2では、論理差の計算についてのさらに
詳細な説明の基本を提供する。図2において、コラム3
2の抽象図が2つの一般条件下で示される。TMポイン
タが、コラム32において、CPポインタおよびSBポ
インタによって識別される記憶領域より位置が上にある
記憶領域を識別中である時、第1の条件(ボックス90
内に示される)が存在する。これは、コラム32を通し
て3つのポインタすべてが同一回数ラップしていたこと
を示す。図2に示されるように、この第1の条件の下
で、論理差は、第1の領域94と第2の領域96の記憶
領域数である。
【0035】TMポインタが、CPおよびSBポインタ
によって現在識別されている記憶領域より下にある記憶
領域を識別中であるとき、第2の条件(ボックス92内
に示される)が存在する。これは、コラム32を通して
TMポインタが他の2つのポインタより1回少なくラッ
プしていたことを示す。図2に示されるように、この第
2の条件において、論理差は、第3の領域98の記憶領
域数である。
【0036】TMポインタとSBポインタとの論理差の
計算が、本発明の特定の実施に基づいて2つ以上の方法
で実現可能であることは、当業者であれば理解できるは
ずである。本実施形態において、コラム32の記憶領域
の総数(Bsz)は第4の記憶レジスタ(図1では図示
せず)に保持される。さらに、SBポインタおよびTM
ポインタを表すためにSBレジスタ34およびTMレジ
スタ38に記憶された値は、インタフェース−コントロ
ールユニット12により論理差を決定するために直接使
用される。従って、コラム32が第1の条件にあること
が見出されると、式、LD=Bsz−(SB−TM)に
よって論理差が計算される。ここで、SBはSBレジス
タ34に記憶された現在値であり、TMはTMレジスタ
38に記憶された現在値である。しかしながら、バッフ
ァメモリ40が第2の条件にあると、インタフェース−
コントロールユニット12は、式、LD=TM−SBに
より論理差を計算する。
【0037】前述のように論理差を計算後、インタフェ
ース−コントロールユニット12は、該論理差がSCS
Iバースト長以上であるかどうかの判定を行う。そうで
あれば、第2の基準が満たされ、インタフェース−コン
トロールユニット12は、次のSCSIバースト転送を
イネーブルすることによって応答する。本考察の目的に
おいて、SCSIバースト長以上である論理差は、本明
細書中で、すでに記憶されているデータを破損せずにバ
ーストを受信するための記憶領域がバッファメモリに十
分にあることを示す「表示」と称される。
【0038】なお、本実施形態において、論理差を計算
するためにSB値を使用したことに留意されたい。他の
実施形態では、CPレジスタ36に記憶された値を使用
していても可能であることが、当業者には理解できるは
ずである。
【0039】データ管理装置46のさらに別の機能は、
バースト読み取り動作をバッファメモリ40に適時実行
することである。前述したように、バースト読み取り動
作により、メカニズムバーストは、バッファメモリ40
と読み取り/書き込み回路14との間を送信されるよう
になる。新規のデータがバッファメモリ40に現在受信
中であると、バッファメモリ40に最短のバースト長を
形成するためのデータパケットが十分ある場合にのみ、
バースト読み取り動作がイネーブルされる。インタフェ
ース−コントロールユニット12は、まずTMポインタ
とSBポインタとの論理差を(上述したように)計算す
ることによってこの決定を行う。論理差が計算される
と、これを次にコラム32の記憶領域の総数(すなわち
Bsz)から差し引く。これらの計算を行った後、イン
タフェース−コントロールユニット12が、最短のバー
スト長を形成するためのデータパケットが十分でないと
判断すると、インタフェース−コントロールユニット1
2は、バースト読み取り動作をイネーブルしない。
【0040】図3は、本発明のさらに別の代表的な実施
形態を示す論理図である。本実施形態において、図3に
描かれたステップは、SCSI通信リンク上で送信装置
から次のSCSIバーストの転送(SCSIバースト転
送)をイネーブルにするかどうかについての決定を行う
都度、受信装置によって実行される。受信装置は、その
機能をSB、CPおよびTMの各ポインタの制御下で実
行するデータ管理装置を含む。本実施形態において、イ
ンタフェース−コントロールユニットは、データパケッ
トをバッファメモリに書き込む前に(1つではなく)2
つのデータ転送を受信するように適合される。このた
め、各書き込み動作において、4つのデータパケットを
バッファメモリに書き込み、これに応じてCPポインタ
を更新する。
【0041】次に図3に転じると、受信装置は、まずS
B、CPおよびTMの各ポインタを生成する(ステップ
101)。次に、インタフェース−コントロールユニッ
トは、最後に受信したSCSIバースト(もしあれば)
が有効であると判断されたかどうかを判定する。これ
は、SBポインタおよびCPポインタが同一記憶領域を
現在識別中であるかを判断することによって達成される
(決定ステップ105)。識別中でない場合、これは、
最後に受信されたSCSIバーストが有効であるとまだ
判断されていなかったことを示す。その結果、SCSI
バースト転送はイネーブルされない(ステップ11
7)。
【0042】しかしながら、SBポインタおよびCPポ
インタが同一記憶領域を現在識別中である場合(決定ス
テップ105)、これは、バッファメモリには現在デー
タがないことを意味するか、あるいは、バッファメモリ
に最後に受信されたSCSIバーストが有効であると判
定されたことを意味する。この最終決定がなされた後、
論理差が計算される(ステップ106)。前述のよう
に、該ステップは、SBおよびTMの各ポインタまたは
CPおよびTMの各ポインタを使用することによって達
成することができる。
【0043】該計算を行った後、論理差がSCSIバー
スト長以上であると(決定ステップ107)、SCSI
バースト転送はイネーブルされる(ステップ109)。
そうでなければ、SCSIバースト転送はイネーブルさ
れない(ステップ117)。
【0044】SCSIバースト転送がイネーブルされる
と、送信装置は、SCSI通信リンク上でSCSIバー
ストを受信装置への送信を開始する。受信装置は、SC
SIバーストを受信するとともに、該SCSIバースト
をそのバッファメモリにCPポインタの制御下で書き込
むように動作する(ステップ111)。SCSIバース
トがバッファメモリに書き込まれるため、SBポインタ
は移動しない。従って、SBポインタは、SCSIバー
ストで第1のデータパケットを受信したバッファメモリ
の記憶領域を識別し続ける。
【0045】SCSIバーストがバッファメモリに書き
込まれると、SCSIバーストが有効であるかどうかに
ついての判定がなされる(ステップ113)。SCSI
バーストが有効でないと判断されると、再試行ルーチン
を実行する(ステップ115)。再試行ルーチンの一部
分として、CPポインタは、現在のSBポインタの位置
まで戻される。従って、オリジナルSCSIバーストの
開始時と同様に、CPポインタを戻して同一記憶領域を
識別する。次いで、SCSIバーストを再送信し、バッ
ファメモリに再度書き込む。SCSIバーストが有効で
あると判断されると、SBポインタを更新する(ステッ
プ121)。これは、SBポインタを現在のCPポイン
タの位置に移動することによって達成される。
【0046】上述した代表的な実施形態から理解される
ように、本発明は、バースト転送を管理するための改良
システムを提供するものである。CP、SBおよびTM
の各ポインタを使用することにより多数のデータ管理機
能を供するデータ管理システムは、比較的単純なハード
ウェア回路において実行が可能である。その結果、本発
明により、テープ記憶装置等改良されたデータ処理性
能、低コスト、あるいはその両方を実現する受信装置が
得られる。また、既存の送信装置に変更を加える必要な
く本発明を実施することが可能であることにも留意され
たい。
【0047】上記の説明は、本発明の単なる例示に過ぎ
ないことが理解されるはずである。当業者であれば、本
発明から逸脱することなく様々な代替例および変形例を
案出することが可能である。従って、本発明は、添付の
特許請求の範囲に含まれる上記の代替例、変形例および
改変をすべて包含することを目的とする。
【0048】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0049】(実施態様1)バッファメモリ(40)と
データ管理装置(46)とを備える受信装置(13)で
あって、該データ管理装置(46)が、(a)第1のポ
インタを記憶するための第1の記憶レジスタ(34)
と、(b)第2のポインタを記憶するための第2の記憶
レジスタ(36)と、(c)第3のポインタを記憶する
ための第3の記憶レジスタ(38)と、(d)前記第1
の記憶レジスタ(34)、前記第2の記憶レジスタ(3
6)、前記第3の記憶レジスタ(38)および前記バッ
ファメモリ(40)に接続され、前記第1のポインタお
よび前記第2のポインタが前記バッファメモリ(40)
における同一記憶領域を識別中であって、すでに記憶さ
れているデータを破損せずに、送信装置からのバースト
データ転送を受信するための記憶領域が前記バッファメ
モリ(40)に十分あることを前記第1のポインタおよ
び前記第3のポインタとの論理差が示している場合、前
記バーストの送信装置からの転送をイネーブルにするイ
ンタフェース−コントロールユニット(12)とを有す
る受信装置(13)。
【0050】(実施態様2)前記第1のポインタはバー
スト開始ポインタを含み、前記第2のポインタは現在位
置ポインタを含み、前記第3のポインタはテープメカニ
ズムポインタを含む、実施態様1に記載の受信装置(1
3)。
【0051】(実施態様3)前記インタフェース−コン
トロールユニット(12)は、バースト長を最短に形成
するために前記バッファメモリ(40)に十分なデータ
パケットがあることを前記論理差が示している場合、バ
ースト読み取り動作を前記バッファメモリ(40)に実
行する、実施態様1または2に記載の受信装置(1
3)。
【0052】(実施態様4)前記インタフェース−コン
トロールユニット(12)が、前記バーストを受信し、
これを前記バッファメモリ(40)に書き込むととも
に、前記バッファメモリ(40)に前記バーストを書き
込んだ後に前記バースト開始ポインタの位置に応じて前
記バッファメモリ(40)に前記バーストを再書き込み
することによって、無効であると判断された前記バース
トに応答する、実施態様2に記載の受信装置(13)。
【0053】(実施態様5) (a)第1のポインタを生成する手段(12、34)
と、(b)第2のポインタを生成する手段(12、3
6)と、(c)第3のポインタを生成する手段(12、
38)と、(d)前記第1のポインタ生成手段(12、
34)、前記第2のポインタ生成手段(12、36)お
よび前記第3のポインタ生成手段(12、38)に接続
され、バッファメモリにおける同一記憶領域を前記第1
のポインタおよび前記第2のポインタが識別中であっ
て、すでに記憶されているデータを破損せずに、送信装
置からのバーストデータ転送を受信するための記憶領域
が前記バッファメモリ(40)に十分あることを前記第
1のポインタと前記第3のポインタとの論理差が示して
いる場合、前記バーストの送信装置からの転送をイネー
ブルにする手段(12)とを有するデータ管理装置(4
6)。
【0054】(実施態様6)受信装置によって用いられ
る送信装置からのバーストデータの転送をイネーブルに
する方法であって、(a)第1のポインタ、第2のポイ
ンタおよび第3のポインタを生成するステップ(10
1)と、(b)前記受信装置のバッファメモリにおける
同一記憶領域を前記第1のポインタおよび前記第2のポ
インタが識別中であって、すでに記憶されているデータ
を破損せずに、前記バーストを受信するための記憶領域
が前記バッファメモリに十分あることを前記第1のポイ
ンタと前記第3のポインタとの論理差が示している場
合、前記バーストの転送をイネーブルにするステップ
(109)とを含むバースト転送方法。
【0055】(実施態様7)前記第1のポインタはバー
スト開始ポインタを含み、前記第2のポインタは現在位
置ポインタを含み、前記第3のポインタはテープメカニ
ズムポインタを含む、実施態様6に記載のバースト転送
方法。
【0056】(実施態様8)前記方法は、(c)前記バ
ッファメモリへの前記バーストを受信するステップ(1
11)と、(d)前記バーストの有効性を判断するステ
ップ(113)と、(e)前記ステップ(d)で前記バ
ーストが有効であると判断される場合、前記バースト開
始ポインタを前記現在位置ポインタの位置に移動するこ
とによって更新するステップ(121)と、(f)前記
ステップ(d)で前記バーストが無効であると判断され
る場合、前記現在位置ポインタを前記バースト開始ポイ
ンタの位置に移動し、前記バーストの転送を再イネーブ
ルにするステップ(115)とを含むことを特徴とする
実施態様7に記載のバースト転送方法。
【0057】(実施態様9)前記受信装置は、大容量記
憶装置を有する実施態様8に記載のバースト転送方法。
【0058】(実施態様10)前記生成ステップ(10
1)は、前記バースト開始ポインタを表す第1の値を第
1の記憶レジスタに記憶し、前記現在位置ポインタを表
す第2の値を第2の記憶レジスタに記憶し、前記テープ
メカニズムポインタを表す第3の値を第3の記憶レジス
タに記憶するサブステップを含む、実施態様9に記載の
バースト転送方法。
【0059】
【発明の効果】以上のように、本発明を用いると、大き
なシステムオーバヘッドも要することなく、さらに複合
状態の機器も必要とせずに所望の性能レベルを実現する
バーストデータ転送のデータ管理装置を提供することが
できる。
【図面の簡単な説明】
【図1】本発明の代表的な実施形態を示す回路構成図で
ある。
【図2】本発明の代表的な実施形態を示すバッファメモ
リの抽象図である。
【図3】本発明の代替表現を表す論理図である。
【符号の説明】
12:インタフェース−コントロールユニット 13:受信装置 34:第1の記憶レジスタ 36:第2の記憶レジスタ 38:第3の記憶レジスタ 40:バッファメモリ 46:データ管理装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】バッファメモリとデータ管理装置とを備え
    る受信装置であって、該データ管理装置が、 (a)第1のポインタを記憶するための第1の記憶レジ
    スタと、 (b)第2のポインタを記憶するための第2の記憶レジ
    スタと、 (c)第3のポインタを記憶するための第3の記憶レジ
    スタと、 (d)前記第1の記憶レジスタ、前記第2の記憶レジス
    タ、前記第3の記憶レジスタおよび前記バッファメモリ
    に接続され、前記第1のポインタおよび前記第2のポイ
    ンタが前記バッファメモリにおける同一記憶領域を識別
    中であって、すでに記憶されているデータを破損せず
    に、送信装置からのバーストデータ転送を受信するため
    の記憶領域が前記バッファメモリに十分あることを前記
    第1のポインタおよび前記第3のポインタとの論理差が
    示している場合、前記バーストの送信装置からの転送を
    イネーブルにするインタフェース−コントロールユニッ
    トとを有する受信装置。
JP11203851A 1998-07-20 1999-07-16 バ―ストデ―タ転送の受信装置 Pending JP2000099450A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/119,168 US6138186A (en) 1998-07-20 1998-07-20 Burst transfer management system utilizing pointers to ensure that there is enough space in a buffer to receive burst transfers without corrupting data
US119,168 1998-07-20

Publications (1)

Publication Number Publication Date
JP2000099450A true JP2000099450A (ja) 2000-04-07

Family

ID=22382906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11203851A Pending JP2000099450A (ja) 1998-07-20 1999-07-16 バ―ストデ―タ転送の受信装置

Country Status (4)

Country Link
US (1) US6138186A (ja)
EP (1) EP0974909B1 (ja)
JP (1) JP2000099450A (ja)
DE (1) DE69928606T2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990535B1 (en) * 2001-02-26 2006-01-24 3Com Corporation Device and method for multi-ported, single bus-mastering data buffer management
EP1968691A4 (en) * 2005-12-14 2012-01-25 Welch Allyn Inc WIRELESS ADAPTER FOR MEDICAL DEVICE
FR2925190B1 (fr) * 2007-12-18 2009-11-20 Alcatel Lucent Procede et dispositif de communication entre plusieurs interfaces de connexion

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4241420A (en) * 1978-11-01 1980-12-23 Bank Computer Network Corporation Disk data control
US4843544A (en) * 1987-09-25 1989-06-27 Ncr Corporation Method and apparatus for controlling data transfers through multiple buffers
US5504873A (en) * 1989-11-01 1996-04-02 E-Systems, Inc. Mass data storage and retrieval system
US5537552A (en) * 1990-11-27 1996-07-16 Canon Kabushiki Kaisha Apparatus for selectively comparing pointers to detect full or empty status of a circular buffer area in an input/output (I/O) buffer
JP2752522B2 (ja) * 1990-12-20 1998-05-18 富士通株式会社 広帯域isdnにおけるフロー制御方式
US5359468A (en) * 1991-08-06 1994-10-25 R-Byte, Inc. Digital data storage tape formatter
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
EP0740431B1 (en) * 1995-04-28 2005-09-14 Alcatel Method for TDMA management, central station, terminal station and network system to perform this method
US5805930A (en) * 1995-05-15 1998-09-08 Nvidia Corporation System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs
JPH1021012A (ja) * 1996-06-28 1998-01-23 Toshiba Corp 磁気ディスク装置及び同装置のコマンド処理方法
US5968147A (en) * 1997-09-26 1999-10-19 Adaptec, Inc. Method and apparatus for improved peripheral bus utilization

Also Published As

Publication number Publication date
DE69928606T2 (de) 2006-07-06
US6138186A (en) 2000-10-24
DE69928606D1 (de) 2006-01-05
EP0974909A2 (en) 2000-01-26
EP0974909B1 (en) 2005-11-30
EP0974909A3 (en) 2001-09-05

Similar Documents

Publication Publication Date Title
US8239580B2 (en) Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US6449631B1 (en) Method and apparatus for transmitting data in a network wherein acknowledgment signals are transmitted to acknowledge receipt of data
US7765336B2 (en) Autonomous mapping of protected data streams to fibre channel frames
US7069373B2 (en) USB endpoint controller flexible memory management
US6470391B2 (en) Method for transmitting data via a network in a form of divided sub-packets
KR100854946B1 (ko) 허브-기반의 메모리 시스템에서 메모리 응답용 패킷메모리 및 방법을 갖는 조정 시스템
US8751716B2 (en) Adaptive data throttling for storage controllers
US20040122988A1 (en) System for controlling data transfer protocol with a host bus interface
JP2008004089A (ja) ランダムデータおよび逐次データの同時ライトキャッシング
US6105076A (en) Method, system, and program for performing data transfer operations on user data
JPH10198607A (ja) データ多重化システム
US6704809B2 (en) Method and system for overlapping data flow within a SCSI extended copy command
US6182164B1 (en) Minimizing cache overhead by storing data for communications between a peripheral device and a host system into separate locations in memory
JP2000099450A (ja) バ―ストデ―タ転送の受信装置
US6654853B1 (en) Method of secondary to secondary data transfer with mirroring
JP2005501329A (ja) シーケンシャルおよび非シーケンシャルブロックアクセスを有するバッファ・システム
JP2570187B2 (ja) Dma転送装置および方法
JP2001118378A (ja) Fifo記憶装置及びfifo制御方法
US6161155A (en) Apparatus and method for storing retrievable boundary information into a buffer memory of a receiving device
US6112261A (en) Data transferring system reading and temporarily storing a record until a length of the record is different from a defined record length parameter value
EP1506488B1 (en) Data transfer unit with support for multiple coherency granules
EP0682307A1 (en) Method and apparatus for enabling pipelining of buffered data
JP2003050675A (ja) データ多重化システム
JPH04277850A (ja) ディスクリプタ制御方式
JP3594265B2 (ja) ディスクキャッシュ装置