JPH05204816A - 連結テーブル内の格納データへの高効率アクセス方法 - Google Patents

連結テーブル内の格納データへの高効率アクセス方法

Info

Publication number
JPH05204816A
JPH05204816A JP4183346A JP18334692A JPH05204816A JP H05204816 A JPH05204816 A JP H05204816A JP 4183346 A JP4183346 A JP 4183346A JP 18334692 A JP18334692 A JP 18334692A JP H05204816 A JPH05204816 A JP H05204816A
Authority
JP
Japan
Prior art keywords
concatenation
entry
data
initiator
data transaction
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
JP4183346A
Other languages
English (en)
Other versions
JP3253357B2 (ja
Inventor
Eric G Tausheck
エリック・グレゴリー・タウシェック
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 JPH05204816A publication Critical patent/JPH05204816A/ja
Application granted granted Critical
Publication of JP3253357B2 publication Critical patent/JP3253357B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 連結テーブルの構成に必要なメモリ量を大幅
に削減し、その連結テーブル内の格納データへの効率の
良いアクセスを可能とすること。 【構成】 データトランザクション(以下DT)につい
てのエントリが連結テーブル61,71 内に格納され、そこ
からアクセスされる。バス10上のDTは第1の参照を用
いて識別される。DTは第2の参照を用いて追加的に識
別可能である。DTが第1の参照のみにより識別される
場合、そのDTについてのエントリを連結テーブルの第
1の部分62,72 内に格納する。この第1の部分内のエン
トリはそのDTについての第1の参照を用いて指標付け
られる。DTが第1、第2の参照の両方を用いて識別さ
れる場合は、そのDTについてのエントリを連結テーブ
ルの第2の部分63,73 内に格納する。この第2の部分内
のエントリは、第1の参照を用いずに、そのDTについ
ての第2の参照の数値を用いて指標付けられる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バス連結テーブルの構
成、及びその内部に格納されているデータに効率良くア
クセスする方法に関するものである。本発明は特にSC
SIバス用の連結テーブルの構成及びアクセスに用いら
れる。
【0002】
【従来の技術及び発明が解決しようとする課題】SCS
Iプロトコルに従って動作するバスについては、I/O
データトランザクションはSCSIバスに接続されてい
るイニシエータにより開始され、制御される。SCSI
バスには1つ以上のターゲットも接続されている。現在
実施されているプロトコルによれば、1つのSCSIバ
スに接続されるイニシエータ及びターゲットの総数は8
又は16に限られている。
【0003】各ターゲットは最大8つの論理ユニットを
備えることができる。8つの論理ユニットの各々はイニ
シエータにより別々にアドレス指定することができる。
【0004】SCSIプロトコルに従って動作すると
き、イニシエータは、完了までの種々の段階で複数の同
時入出力(I/O)データトランザクションを管理する
必要がある。データトランザクションは、各ターゲット
に静的に割り当てられているターゲット番号、及び各論
理ユニットに静的に割り当てられている論理ユニット番
号を用いて、イニシエータにより識別される。更に、デ
ータトランザクションについて、イニシエータは、1論
理ユニットあたり最大256の待ち行列タグ(Qタグ)
を動的に割り当てることができる。理論的には、1つの
イニシエータ及び7つのターゲットを備えているシステ
ムでは、これにより、イニシエータは最大14,336
の同時I/Oデータトランザクションを管理することが
可能となる。実際上には、一度に発生する同時I/Oデ
ータトランザクションの数はかなり少ないものとなる。
【0005】複数の同時I/Oデータトランザクション
を管理するためには、イニシエータが各データトランザ
クションの現在の状態を格納する必要がある。一般にこ
れは、進行中に各I/Oデータトランザクションについ
てのエントリを連結テーブルに格納することにより行う
ことができる。しかし、全ての可能データトランザクシ
ョンについてエントリを確保する場合には、テーブル
は、7つのターゲットを備えたシステムについて14,
336のエントリを必要とすることになる。15のター
ゲットを備えたシステムでは、必要なエントリ数は3
0,720にまで増大する。このような連結テーブルを
構成し、それに対してアクセスを行うことは可能ではあ
るが、そのために必要なメモリ量を考慮すると、そのよ
うな大きなテーブルは望ましくないことになる。
【0006】
【課題を解決するための手段】本発明の好適実施例によ
れば、データトランザクションについてのエントリを連
結テーブルに格納する方法が提示される。連結テーブル
は、例えば、中断されたデータトランザクションのエン
トリをSCSIバスを介して格納する。このシステムで
は、バス上のデータトランザクションは、第1の参照、
例えば、ターゲット番号及び論理ユニット番号、を使用
して識別される。更に、データトランザクションは、第
2の参照、例えば、待ち行列タグ番号、を使用して追加
的に識別することができる。データトランザクションが
ターゲット番号及び論理ユニット番号のみによって識別
される場合には、データトランザクションについてのエ
ントリは連結テーブルの第1の部分の或るロケーション
に格納される。連結テーブルの第1の部分内のエントリ
は、データトランザクションについてのターゲット番号
及び論理ユニット番号を用いて指標付けが行われる。タ
ーゲット番号を用いてデータトランザクションを識別す
る場合には、論理ユニット番号及び待ち行列タグ番号、
データトランザクションについてのエントリが、連結テ
ーブルの第2の部分の或るロケーションに格納される。
連結テーブルの第2の部分内のエントリは、データトラ
ンザクションについての待ち行列タグ番号を用いて指標
付けが行われる。ターゲット番号及び論理ユニット番号
は連結テーブルの第2の部分内のエントリの指標付けに
は用いられない。
【0007】一般に、連結テーブルの第1の部分と、連
結テーブルの第2の部分とは、メモリ内の連続するロケ
ーションに設定されるが、テーブルの二つの部分をメモ
リ内の別々のロケーションに設定し、実質的に二つの別
々のテーブルを作成することも可能である。
【0008】
【実施例】図1は、SCSIバス10を介した通信の論理
ブロック図を示すものである。イニシエータ11は、SC
SIバス10上の最大15のターゲットを用いてデータト
ランザクションを開始する。これは、SCSIバスに1
6のエンティティを接続することを可能とする提案中の
SCSI−3プロトコルに準拠するSCSIバス10を仮
定したものである。SCSI−1及びSCSI−2プロ
トコルは8つのエンティティだけしかSCSIバスに接
続することができない。例えば、ターゲット12、ターゲ
ット13、及びターゲット14がSCSIバス10に接続され
て図示されている。各ターゲットは最大8つの論理ユニ
ットを備える。例えば、論理ターゲット12は論理ユニッ
ト21、論理ユニット22、及び論理ユニット23を備えてい
る。ターゲット13は論理ユニット24及び論理ユニット25
を備えている。ターゲット14は論理ユニット26、論理ユ
ニット27、及び論理ユニット28を備えている。イニシエ
ータ11により開始されるデータトランザクションは、タ
ーゲットを識別するターゲット番号と、論理ユニットを
識別する論理ユニット番号とによりアドレス指定され
る。更に、イニシエータ11は、1論理ユニットあたり最
大256の待ち行列タグ(SCSI−2又はSCSI−
3の場合)を割り当てることができ、進行中に転送を識
別することができる。例えば、図1において、イニシエ
ータ11は、論理ユニット21を用いて待ち行列タグ31及び
待ち行列タグ32をデータトランザクション用に割り当て
ている。同様に、イニシエータ11は、論理ユニット23を
用いて、待ち行列タグ33、待ち行列タグ34、及び待ち行
列タグ35をデータトランザクション用に割り当ててい
る。イニシエータ11は、論理ユニット27を用いて、待ち
行列タグ36、待ち行列タグ37、待ち行列タグ38、及び待
ち行列タグ39をデータトランザクション用に割り当てて
いる。
【0009】図2はイニシエータ11の種々の動作段階の
間の相互関係を示す図である。バス段階41ではSCSI
バス10はフリーである。イニシエータ11及び/又はター
ゲット12、ターゲット13、及びターゲット14のうちの1
つ以上がバス10へのアクセスを要求すると、イニシエー
タ11は調停段階43に入る。イニシエータ11が調停に勝っ
た場合、イニシエータ11は調停段階43から選択段階42又
は再選択段階44に移動する。選択段階42で、イニシエー
タ11は、SCSIバス10に接続されているターゲットの
うちの1つを用いてデータトランザクションを開始す
る。この選択段階42から、イニシエータ11はメッセージ
出力段階45に入る。メッセージ出力段階45で、イニシ
エータ11は、イニシエータ11がデータトランザクショ
ンを開始するのに用いたターゲットにメッセージを送
る。一般に、イニシエータ11はターゲットの送信権要求
時に各段階に入る。しかし、ターゲットは再選択段階44
の後及びステータス段階48の後にメッセージ入力段階49
に進まなければならない。同様に、ターゲットは選択段
階42の後にメッセージ出力段階45に進まなければならな
い。調停に勝った後、再選択段階44で、SCSIバス10
上のターゲットのうちの1つが、イニシエータ11による
データトランザクションの再開を要求する。再選択段階
44から、イニシエータ11はメッセージ入力段階49に入
る。メッセージ入力段階49で、イニシエータ11は、デー
タトランザクションの再開を要求するSCSIバス10上
のターゲットからIDENTIFYメッセージを受け取
る。
【0010】メッセージ入力段階49から、イニシエータ
11は、ステータス段階48、データ入力又はデータ出力段
階47、命令段階46、メッセージ出力段階45へ入ることが
でき、又はバスフリー段階41へ戻ることができる。同様
に、メッセージ出力段階45から、イニシエータ11は、ス
テータス段階48、データ入力又はデータ出力段階47、命
令段階46、メッセージ入力段階49へ入ることができ、又
はバスフリー段階41へ戻ることができる。
【0011】ステータス段階48で、イニシエータ11はS
CSIバス10上のターゲットからステータス情報を受け
取る。命令段階46で、イニシエータはSCSIバス10の
ターゲットに送るべき命令を構成する。データ入又はデ
ータ出力段階47で、イニシエータ11は、SCSIバス10
上のターゲットとの間でのデータトランザクションを実
行する。イニシエータ11が各段階でどのように機能する
かについて、更に情報が必要である場合には、Global E
ngineering Documents, 2805 McGaw, Irvine,Californi
a 92714 から入手できる American National Standard
X3T9.2/86-109Revision 10d (SCSI-2) を参照のこと。
【0012】SCSIプロトコルを使用して、イニシエ
ータ11は、複数の同時I/Oデータトランザクションを
追跡する。好適実施例では、これをイニシエータ11が連
結テーブルを用いて行う。例えば、図3に、最大7つの
ターゲットをサポートするSCSIバスに接続されてい
るイニシエータの内部の連結テーブル61を示す。各ター
ゲットは最大8つの論理ユニットを備えることができ、
各論理ユニットは最大64の待ち行列タグをサポートす
る。
【0013】待ち行列タグの無いデータトランザクショ
ンはターゲット番号及び論理ユニット番号を用いて識別
される。ターゲット番号及び論理ユニット番号を用いて
アドレス指定される進行中のデータトランザクションに
ついてのエントリは、連結テーブル61の第1の部分62に
格納される。ターゲット番号、論理ユニット番号、及び
待ち行列タグ番号を用いて識別されるデータトランザク
ションについてのエントリは、連結テーブル61の第2の
部分63に格納される。
【0014】連結テーブル61内の各エントリは32バイ
トであり、データ転送スクリプト64を指すポインタを備
えている。データ転送スクリプト64は、SCSIバス上
のイニシエータとターゲットとの間のデータ転送を制御
するスクリプトコードを有している。イニシエータ11内
のデータプロセッサ66はバス10上でデータ転送を行うた
めデータ転送スクリプト64を実行する。
【0015】中断されている転送について、イニシエー
タ11は連結テーブル61にエントリを設定する。再選択中
に、イニシエータ11は、中断されているデータ転送を続
行させるために指標(連結ポインタ)65を用いて連結テ
ーブルにアクセスする。データ転送に関連する待ち行列
タグが存在しない場合について、図4に連結ポインタ65
のフォーマットを示す。5つの低位ビット81は全て0に
セットされている。これは、テーブル61内の各エントリ
が32バイトを有するためである。連結ポインタ65の次
の3ビット82は、そのデータトランザクションについて
のターゲットを識別するターゲット番号である。連結ポ
インタ65のその次の3ビット83は、そのデータトランザ
クションについての論理ユニットを識別する論理ユニッ
ト番号である。連結ポインタ65のビット84は0であり、
これは連結ポインタ65が連結テーブル61の部分62にある
エントリをアドレス指定していることを示す。連結ポイ
ンタ65のビット85は、イニシエータ11内のメモリにおけ
る連結テーブル61のロケーションを指すようにセットさ
れている。
【0016】データ転送に関連する待ち行列タグが存在
する場合について、図5に連結ポインタ65のフォーマッ
トを示す。5つの低位ビット91は全て0にセットされて
いる。これはテーブル61内の各エントリが32バイトを
有するためである。連結ポインタ65の次の6ビット92
は、データトランザクションについての待ち行列タグを
識別する待ち行列タグ番号である。連結ポインタ65のビ
ット94は1であり、これは連結ポインタ65が連結テーブ
ル61の部分63におけるエントリをアドレス指定している
ことを示す。連結ポインタ65のビット95は、イニシエー
タ11の内部のメモリ内にある連結テーブル61のロケーシ
ョンを指すようにセットされている。ターゲット番号及
び論理ユニット番号は使用されない。待ち行列タグを有
するエントリを連結テーブル61に設定すると、イニシエ
ータ11は一意の待ち行列タグを選択する。これにより、
ターゲット番号及び論理ユニット番号を使用せずにデー
タトランザクションにアクセスすることが可能となる。
しかし、この構成では、待ち行列を使用する同時データ
トランザクションの数が64に制限される。事実上、こ
れは重大な制限とはならない。
【0017】図6は、最大15のターゲットをサポート
するSCSIバスに接続されているイニシエータ内部の
連結テーブル71の代替実施例を示すものである。各ター
ゲットは最大8つの論理ユニットを備えることができ、
各論理ユニットは最大128の待ち行列タグをサポート
する。
【0018】待ち行列タグの無いデータトランザクショ
ンは、ターゲット番号及び論理ユニット番号を用いて識
別される。ターゲット番号及び論理ユニット番号を用い
てアドレス指定される進行中のデータトランザクション
についてのエントリは、連結テーブル71の第1の部分72
に格納される。ターゲット番号、論理ユニット番号、及
び待ち行列タグ番号を用いて識別されるデータトランザ
クションについてのエントリは、連結テーブル71の第2
の部分73に格納される。
【0019】連結テーブル71内の各エントリは16バイ
トであり、データ転送スクリプト74を指すポインタを備
えている。データ転送スクリプト74は、SCSIバス上
のイニシエータとターゲットとの間のデータ転送を制御
するスクリプトコードを有している。
【0020】中断されている転送について、イニシエー
タ11は連結テーブル71内にエントリを設定する。再選択
中に、イニシエータ11は、中断されているデータ転送を
続行させるために指標(連結ポインタ)75を用いて連結
テーブル71にアクセスする。データ転送に関連する待ち
行列タグが存在しない場合について、図7に連結ポイン
タ75のフォーマットを示す。4つの低位ビット101 は全
て0にセットされている。これは、テーブル71内の各エ
ントリが16バイトを有するためである。連結ポインタ
75の次の3ビット102 は、そのデータトランザクション
についてのターゲットを識別するターゲット番号であ
る。連結ポインタ75のその次の4ビット103 は、データ
トランザクションについての論理ユニットを識別する論
理ユニット番号である。連結ポインタ75のビット104 は
0であり、これは連結ポインタ75が連結テーブル71の部
分72におけるエントリをアドレス指定していることを示
す。連結ポインタ75のビット105 は、イニシエータ11の
内部のメモリ内にある連結テーブル71のロケーションを
指すようにセットされている。
【0021】データ転送に関連する待ち行列タグが存在
する場合について、図8に連結ポインタ75のフォーマッ
トを示す。4つの低位ビット111 は全て0にセットされ
ている。これはテーブル71内の各エントリが16バイト
を有しているためである。連結ポインタ75の次の7ビッ
ト112 は、データトランザクションについての待ち行列
タグを識別する待ち行列タグ番号である。連結ポインタ
75のビット114は0であり、これは連結ポインタ75が連
結テーブル71の部分73におけるエントリをアドレス指定
していることを示す。連結ポインタ75のビット115 は、
イニシエータ11の内部のメモリ内にある連結テーブル71
のロケーションを指すようにセットされている。ターゲ
ット番号及び論理ユニット番号は使用されない。待ち行
列タグを有するエントリを連結テーブル71に設定する
と、イニシエータ11は一意の待ち行列タグを選択する。
これにより、ターゲット番号及び論理ユニット番号を使
用せずにデータトランザクションにアクセスすることが
可能となる。しかし、この構成では、待ち行列タグを使
用する同時データトランザクションの数が128に制限
される。
【0022】図6においては、連結テーブル71の第1の
部分72及び連結テーブル71の第2の部分73が、メモリ内
に連続して設けられ、単一の連結テーブルを形成するよ
うに示してある。その代わりとして、連結テーブル71の
第1の部分72及び第2の部分73をメモリ内の別々のロケ
ーションに設け、実質的に別々の2つのテーブルを形成
することができる。この場合、第1の部分72により形成
されるテーブルは、図7に示す構成に従って構成される
連結テーブルのポインタにより指標付けされることにな
る。第2の部分73により形成されるテーブルは、図8に
示す構成に従って構成される連結テーブルのポインタに
より指標付けされることになる。
【0023】別々の2つのテーブルを使用する1つの利
点は、各テーブルの大きさを別個に変えることができる
ことである。例えば、第2の部分73により形成されるテ
ーブルのエントリ数を2倍にして、256の待ち行列タ
グ全ての格納に適応させることができる。この場合、図
8に示す連結ポインタの構成を、例えば、ビット112の
数を8に増やすことにより修正することになる。そのた
めに、例えば、低位ビット111 の数を3まで減らし、こ
れにより各テーブルのエントリの大きさを8バイトまで
縮小させることができる。その代わりとして、テーブル
の部分73が使用するメモリの大きさを2倍にすることも
できる。
【0024】図9は、イニシエータ11が図3に示す連結
テーブル61にエントリを設定する方法を示すものであ
る。プログラミングステップ121で、イニシエータ11
は、データトランザクションが待ち行列タグを必要とす
るか否かを判定する。この判定に関するこれ以上の情報
については、上記で引用したAmerican National Standa
rdX3T9.2/86-109 Revision 10d (SCSI-2) を参照のこ
と。データトランザクションが待ち行列タグを必要とし
ない場合、ステップ124 で、データトランザクションに
ついてのエントリは、連結テーブル61の第1の部分62に
おけるロケーションが割り当てられる。エントリを設定
するのに使用される連結ポインタ65は、図4に示すフォ
ーマットに従って、データ転送についてのターゲット番
号及び論理ユニット番号を用いて構成される。データト
ランザクションを開始する前に、データトランザクショ
ンの再開時に実行されるべきコードを含むデータ転送ス
クリプト64内のロケーションを指すポインタがエントリ
内に設定される。
【0025】データトランザクションが待ち行列タグを
必要とする場合には、ステップ122で、現在使用してい
ない待ち行列タグがデータトランザクションに割り当て
られる。ステップ123 で、データトランザクションにつ
いてのエントリは、連結テーブル61の第2の部分63内の
ロケーションが割り当てられる。エントリを置くために
使用される指標(連結ポインタ65)は、図5に示すフォ
ーマットに従って、データトランザクションについての
待ち行列タグ番号を使用して構成される。データトラン
ザクションを開始する前に、データトランザクションの
再開時に実行されるべきコードを含むデータ転送スクリ
プト64内のロケーションを指すポインタがエントリ内に
設定される。
【0026】上記の説明は特に連結テーブル61内にエン
トリを設定することについて説明しているが、この方法
は、図6に示す連結テーブル71内にエントリを設定する
のにも同等に適用可能である。例えば、連結テーブル71
について、プログラミングステップ121 で、データトラ
ンザクションが待ち行列タグを必要としないと判定され
た場合には、ステップ124 で、データトランザクション
についてのエントリは、連結テーブル71の第1の部分72
内のロケーションが割り当てられる。エントリを設定す
るのに使用される指標(連結ポインタ75)は、図7に示
すフォーマットに従って、データトランザクションにつ
いてのターゲット番号及び論理ユニット番号を使用して
構成される。データトランザクションの再開時に実行さ
れるべきコードを含むデータ転送スクリプト74内のロケ
ーションを指すポインタがエントリ内に設定される。
【0027】ステップ123 で、データトランザクション
についてのエントリは、連結テーブル71の第2の部分73
内のロケーションが割り当てられる。エントリを設定す
るのに使用される指標(連結ポインタ75)は、図8に示
すフォーマットに従って、データ転送についての待ち行
列タグ番号を使用して構成される。データトランザクシ
ョンの再開時に実行されるべきコードを含むデータ転送
スクリプト74内のロケーションを指すポインタがエント
リ内に設定される。
【0028】図10に、イニシエータ11が図3に示す連
結テーブル61からエントリにアクセスする方法を示す。
データトランザクションが再開されると、イニシエータ
11は、データトランザクションを更新するターゲットか
らデータトランザクションについてのターゲット番号及
び論理ユニット番号を受け取る。ステップ131 で、その
ターゲット番号及び論理ユニット番号が、図4に示すフ
ォーマットで、指標65にロードされる。また、指標65の
ビット84が0にリセットされる。
【0029】待ち行列タグが存在するデータトランザク
ションの場合、ターゲットはメッセージフォーマットの
一部として待ち行列タグを送出する。ステップ132 で、
イニシエータ11は待ち行列タグの有無をチェックする。
待ち行列タグが存在する場合、ステップ133 で、待ち行
列タグ番号が図5に示すフォーマットで指標65にロード
される。ターゲット番号及び論理ユニット番号は上書き
される。また、指標65のビット94は1にセットされる。
【0030】ステップ134で、指標を使用して連結テー
ブル65内のエントリにアクセスする。ステップ134 で、
そのエントリで使用されるポインタを使用してデータス
クリプト64内のコードロケーションにアクセスする。
【0031】上記の説明は特に連結テーブル61内にエン
トリを設定することについて述べているが、この方法は
図6に示す連結テーブル71内のエントリにアクセスする
のにも同等に適用することができる。例えば、連結テー
ブル71にアクセスする場合には、ステップ131 で、ター
ゲット番号及び論理ユニット番号が図7に示すフォーマ
ットで指標75にロードされる。指標65のビット104 は0
にリセットされる。ステップ132 で、イニシエータ11が
待ち行列タグの有無をチェックする。待ち行列タグが存
在する場合には、ステップ133 で、待ち行列タグ番号が
図8に示すフォーマットで指標75にロードされる。ター
ゲット番号及び論理ユニット番号は上書きされる。ま
た、指標65のビット114は1にセットされる。ステップ1
34で、その指標を使用して連結テーブル75内のエントリ
にアクセスする。ステップ134 で、そのエントリで使用
されるポインタを使用してデータスクリプト74内のコー
ドロケーションにアクセスする。
【0032】これまでの説明は、単に本発明の模範的な
方法及び実施例を開示及び説明したものである。当業者
によって理解されるとおり、本発明はその思想又は本質
的な特性から逸脱せずに他の特定の形態で具現すること
ができる。したがって、本発明の開示は特許請求の範囲
に記載した本発明の範囲を例示することを目的としたも
のであり、本発明の範囲を限定するものではない。
【0033】
【発明の効果】本発明は上述のように構成したので、連
結テーブルの構成に必要なメモリ量を大幅に削減するこ
とができ、同時に、連結テーブル内に格納されているデ
ータに効率良くアクセスすることが可能となり、更に、
第1の部分により形成されるテーブルの大きさと第2の
部分により形成されるテーブルの大きさとをそれぞれ異
ならせることが可能となるため、システムに応じて連結
テーブルの設計を適切に行うことができる。
【図面の簡単な説明】
【図1】SCSIバスプロトコルを用いた複数の同時I
/Oデータトランザクションの潜在的な階層を示すブロ
ック図である。
【図2】SCSIバスプロトコルを用いたイニシエータ
とターゲットとの間の通信における各種段階を示すブロ
ック図である。
【図3】データ転送スクリプト内のロケーションを指す
ポインタを含み、本発明の好適実施例による指標を用い
てアクセスが行われる、連結テーブルを示すブロック図
である。
【図4】本発明の好適実施例による、図3に示す連結テ
ーブルにアクセスするために用いられる指標のビットフ
ォーマット(データ転送に関連する待ち行列タグが存在
しない場合)を示すメモリマップである。
【図5】本発明の好適実施例による、図3に示す連結テ
ーブルにアクセスするために用いられる指標のビットフ
ォーマット(データ転送に関連する待ち行列タグが存在
する場合)を示すメモリマップである。
【図6】データ転送スクリプト内のロケーションを指す
ポインタを含み、本発明の好適な代替実施例による指標
を用いてアクセスが行われる、連結テーブルを示すブロ
ック図である。
【図7】本発明の好適な代替実施例による、図3に示す
連結テーブルにアクセスするために用いられる指標のビ
ットフォーマット(データ転送に関連する待ち行列タグ
が存在しない場合)を示すメモリマップである。
【図8】本発明の好適な代替実施例による、図3に示す
連結テーブルにアクセスするために用いられる指標のビ
ットフォーマット(データ転送に関連する待ち行列タグ
が存在する場合)を示すメモリマップである。
【図9】本発明の好適実施例による、図3に示す連結テ
ーブル又は図6に示す連結テーブル内のロケーションを
データトランザクションに割り当てる方法を示すフロー
チャートである。
【図10】本発明の好適実施例による、図3に示す連結
テーブル又は図6に示す連結テーブル内にデータトラン
ザクションを設定する方法を示すフローチャートであ
る。
【符号の説明】
10 SCSIバス 61,71 連結テーブル 62,72 第1の部分 63,73 第2の部分 65,75 連結ポインタ 82,83 3ビット(ターゲット番号及び論理ユニット番
号) 92 6ビット(待ち行列タグ番号) 102 3ビット(ターゲット番号) 103 4ビット(論理ユニット番号) 112 7ビット(待ち行列タグ番号)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】バス上のデータトランザクションを第1の
    参照を用いて識別し、及び前記データトランザクション
    を第2の参照を用いて任意的に追加的に識別するシステ
    ムにおいて、データトランザクションについてのエント
    リを連結テーブルに格納する方法であって、その方法
    が、 データトランザクションが第1の参照のみによって識別
    される場合に、そのデータトランザクションについての
    エントリを連結テーブルの第1の部分内のロケーション
    に格納して、前記データトランザクションについての前
    記第1の参照を用いて前記連結テーブルの前記第1の部
    分内で前記エントリを指標付けし、 データトランザクションが第1の参照及び第2の参照の
    両方を用いて識別される場合には、そのデータトランザ
    クションについてのエントリを連結テーブルの第2の部
    分内のロケーションに格納して、前記データトランザク
    ションについての前記第1の参照を用いずに前記データ
    トランザクションについての前記第2の参照の数値を用
    いて前記連結テーブルの前記第2の部分内で前記エント
    リを指標付けする、というステップより成ることを特徴
    とする、連結テーブル内の格納データへの高効率アクセ
    ス方法。
JP18334692A 1991-07-10 1992-07-10 連結テーブル内の格納データへの高効率アクセス方法 Expired - Fee Related JP3253357B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/727,759 US5404549A (en) 1991-07-10 1991-07-10 Method for efficient access of data stored in a nexus table using queue tag indexes in a table portion
US727759 1991-07-10

Publications (2)

Publication Number Publication Date
JPH05204816A true JPH05204816A (ja) 1993-08-13
JP3253357B2 JP3253357B2 (ja) 2002-02-04

Family

ID=24923955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18334692A Expired - Fee Related JP3253357B2 (ja) 1991-07-10 1992-07-10 連結テーブル内の格納データへの高効率アクセス方法

Country Status (4)

Country Link
US (1) US5404549A (ja)
EP (1) EP0522728B1 (ja)
JP (1) JP3253357B2 (ja)
DE (1) DE69226683T2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634081A (en) * 1994-03-01 1997-05-27 Adaptec, Inc. System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer
US5696930A (en) * 1996-02-09 1997-12-09 Advanced Micro Devices, Inc. CAM accelerated buffer management
US6662216B1 (en) * 1997-04-14 2003-12-09 International Business Machines Corporation Fixed bus tags for SMP buses
US7181548B2 (en) * 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
US7315903B1 (en) * 2001-07-20 2008-01-01 Palladia Systems, Inc. Self-configuring server and server network
US7076577B2 (en) * 2003-11-17 2006-07-11 Lsi Logic Corporation Pipeline SCSI nexus associativity circuit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4060849A (en) * 1975-10-28 1977-11-29 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull Data input and output controller
US4413317A (en) * 1980-11-14 1983-11-01 Sperry Corporation Multiprocessor system with cache/disk subsystem with status routing for plural disk drives
US4600990A (en) * 1983-05-16 1986-07-15 Data General Corporation Apparatus for suspending a reserve operation in a disk drive
EP0452990A3 (en) * 1985-05-29 1992-04-15 Kabushiki Kaisha Toshiba Cache system adopting an lru system
US4905184A (en) * 1987-09-21 1990-02-27 Unisys Corporation Address control system for segmented buffer memory
US4965801A (en) * 1987-09-28 1990-10-23 Ncr Corporation Architectural arrangement for a SCSI disk controller integrated circuit
US4947579A (en) * 1988-10-19 1990-08-14 Weirton Steel Corporation Computer operated automatic seedling plant transplanting machine
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
US5129072A (en) * 1989-03-08 1992-07-07 Hewlett-Packard Company System for minimizing initiator processor interrupts by protocol controller in a computer bus system
US5113500A (en) * 1989-08-23 1992-05-12 Unisys Corporation Multiple cooperating and concurrently operating processors using individually dedicated memories
US5170466A (en) * 1989-10-10 1992-12-08 Unisys Corporation Storage/retrieval system for document
JP2545482B2 (ja) * 1990-03-15 1996-10-16 富士通株式会社 インタ―フェイス装置の転送パラメ―タ設定方法
IL146983A (en) * 2001-12-07 2010-02-17 Mul T Lock Technologies Ltd Apparatus and method for locking a firearm to prevent unauthorized use thereof

Also Published As

Publication number Publication date
EP0522728B1 (en) 1998-08-19
JP3253357B2 (ja) 2002-02-04
DE69226683T2 (de) 1999-01-07
EP0522728A1 (en) 1993-01-13
US5404549A (en) 1995-04-04
DE69226683D1 (de) 1998-09-24

Similar Documents

Publication Publication Date Title
US6742053B1 (en) Two-dimensional execution queue for host adapters
US6233641B1 (en) Apparatus and method of PCI routing in a bridge configuration
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US4956771A (en) Method for inter-processor data transfer
JP3687990B2 (ja) メモリアクセス機構
US5530897A (en) System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
JP3165022B2 (ja) コンピュータ・システム及びメッセージ転送方法
US6199121B1 (en) High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions
EP1012734B1 (en) Address translation in computer bus bridge devices
JPS5818728A (ja) デ−タ通信実行方法
JP2002149592A (ja) ネットワーク上でのpciブリッジ
JPH0668736B2 (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
EP0332151A2 (en) Direct memory access controller
US6105080A (en) Host adapter DMA controller with automated host reply capability
US5428760A (en) Circuitry and method for sharing internal microcontroller memory with an external processor
JPH0340868B2 (ja)
JPH05204816A (ja) 連結テーブル内の格納データへの高効率アクセス方法
US5564023A (en) Method for accessing a sequencer control block by a host adapter integrated circuit
JP2901882B2 (ja) 計算機システムおよび入出力命令の発行方法
US6938102B1 (en) Dequeuing from a host adapter two-dimensional queue
US6904481B1 (en) Bus sequence operation with automatic linking from current I/O information to subsequent I/O information
US6480945B2 (en) Method and apparatus for controlling memory access by a plurality of devices
JPS63108448A (ja) 入出力要求制御方式
JPH0863426A (ja) バス・トランザクション実行の方法と装置
JPH05324571A (ja) システムバス接続ユニット

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees