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

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

Info

Publication number
JP3253357B2
JP3253357B2 JP18334692A JP18334692A JP3253357B2 JP 3253357 B2 JP3253357 B2 JP 3253357B2 JP 18334692 A JP18334692 A JP 18334692A JP 18334692 A JP18334692 A JP 18334692A JP 3253357 B2 JP3253357 B2 JP 3253357B2
Authority
JP
Japan
Prior art keywords
data
reference means
entry
data transaction
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.)
Expired - Fee Related
Application number
JP18334692A
Other languages
English (en)
Other versions
JPH05204816A (ja
Inventor
エリック・グレゴリー・タウシェック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc, Hewlett Packard Co filed Critical Agilent Technologies Inc
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)

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データトランザクションについ
てのエントリを連結テーブルに格納することにより行う
ことができる。しかし、考え得る全てのデータトランザ
クションについてエントリを1つずつ確保する場合に
は、テーブルは、7つのターゲットを備えたシステムに
ついて14,336のエントリを必要とすることにな
る。15のターゲットを備えたシステムでは、必要なエ
ントリ数は30,720にまで増大する。このような連
結テーブルを構成し、それに対してアクセスを行うこと
は可能ではあるが、そのために必要なメモリ量を考慮す
ると、そのような大きなテーブルは望ましくないことに
なる。
【0006】
【課題を解決するための手段】本発明の好適実施例によ
れば、データトランザクションについてのエントリを連
結テーブルに格納する方法が提示される。連結テーブル
は、例えば、中断されたデータトランザクションのエン
トリをSCSIバスを介して格納する。このシステムで
は、バス上のデータトランザクションは、第1の参照手
段、例えば、ターゲット番号及び論理ユニット番号、を
使用して識別される。更に、データトランザクション
は、第2の参照手段、例えば、待ち行列タグ番号、を使
用して追加的に識別することができる。データトランザ
クションがターゲット番号及び論理ユニット番号のみに
よって識別される場合には、データトランザクションに
ついてのエントリは連結テーブルの第1の部分の或るロ
ケーションに格納される。連結テーブルの第1の部分内
のエントリは、データトランザクションについてのター
ゲット番号及び論理ユニット番号を用いて指標付けが行
われる。また、ターゲット番号、論理ユニット番号、及
び待ち行列タグ番号を用いてデータトランザクションを
識別する場合には、データトランザクションについての
エントリは連結テーブルの第2の部分の或るロケーショ
ンに格納される。連結テーブルの第2の部分内のエント
リは、データトランザクションについての待ち行列タグ
番号を用いて指標付けが行われる。ターゲット番号及び
論理ユニット番号は、連結テーブルの第2の部分内のエ
ントリの指標付けには用いられない。
【0007】一般に、連結テーブルの第1の部分と、連
結テーブルの第2の部分とは、メモリ内の連続するロケ
ーションに設定されるが、テーブルのかかる二つの部分
をメモリ内の別々のロケーションに設定して、実質的に
二つの別々のテーブルを作成することも可能である。
【0008】
【実施例】図1は、SCSIバス10を介した通信の論理
ブロック図を示すものである。イニシエータ11は、SC
SIバス10上の最大15のターゲットとのデータトラン
ザクションを開始する。これは、SCSIバスに16の
エンティティを接続することを可能とする提案中のSC
SI−3プロトコルに準拠するSCSIバス10を仮定し
たものである。SCSI−1及びSCSI−2プロトコ
ルは8つのエンティティだけしかSCSIバスに接続す
ることができない。例えば、ターゲット12、ターゲット
13、及びターゲット14がSCSIバス10に接続されて図
示されている。各ターゲットは最大8つの論理ユニット
を備える。例えば、論理ターゲット12は論理ユニット2
1、論理ユニット22、及び論理ユニット23を備えてい
る。ターゲット13は論理ユニット24及び論理ユニット25
を備えている。ターゲット14は論理ユニット26、論理ユ
ニット27、及び論理ユニット28を備えている。イニシエ
ータ11により開始されるデータトランザクションは、タ
ーゲットを識別するターゲット番号と、論理ユニットを
識別する論理ユニット番号とによりアドレス指定され
る。更に、イニシエータ11は、1論理ユニットあたり最
大256の待ち行列タグ(SCSI−2又はSCSI−
3の場合)を割り当てて進行中の転送を識別することが
可能である。例えば、図1において、イニシエータ11
は、データトランザクションについての待ち行列タグ31
及び待ち行列タグ32を論理ユニット21に割り当ててい
る。同様に、イニシエータ11は、データトランザクショ
ンについての待ち行列タグ33、待ち行列タグ34、及び待
ち行列タグ35を論理ユニット23に割り当てている。更
に、イニシエータ11は、データトランザクションについ
ての待ち行列タグ36、待ち行列タグ37、待ち行列タグ3
8、及び待ち行列タグ39を論理ユニット27に割り当てて
いる。
【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は、ターゲットの送信権要求(b
idding)時に各段階に入る。しかし、ターゲットは、再
選択段階44の後及びステータス段階48の後にメッセージ
入力段階49に進まなければならない。同様に、ターゲッ
トは、選択段階42の後にメッセージ出力段階45に進まな
ければならない。裁定に勝った後、再選択段階44で、S
CSIバス10上のターゲットのうちの1つが、イニシエ
ータ11とのデータトランザクションの再開を要求する。
再選択段階44から、イニシエータ11はメッセージ入力段
階49に入る。メッセージ入力段階49では、イニシエータ
11は、データトランザクションの再開を要求するSCS
Iバス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は1であり、これは連結ポインタ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内のエントリにアクセスする。ステップ135で、
そのエントリで使用されるポインタを使用してデータス
クリプト64内のコードロケーションにアクセスする。
【0031】上記の説明は特に連結テーブル61内にエン
トリを設定することについて述べているが、この方法は
図6に示す連結テーブル71内のエントリにアクセスする
のにも同等に適用することができる。例えば、連結テー
ブル71にアクセスする場合には、ステップ131 で、ター
ゲット番号及び論理ユニット番号が図7に示すフォーマ
ットで指標75にロードされる。指標75のビット104 は0
にリセットされる。ステップ132 で、イニシエータ11が
待ち行列タグの有無をチェックする。待ち行列タグが存
在する場合には、ステップ133 で、待ち行列タグ番号が
図8に示すフォーマットで指標75にロードされる。ター
ゲット番号及び論理ユニット番号は上書きされる。ま
た、指標75のビット114は1にセットされる。ステップ1
34で、その指標を使用して連結テーブル75内のエントリ
にアクセスする。ステップ135で、そのエントリで使用
されるポインタを使用してデータスクリプト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ビット(待ち行列タグ番号)
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 399117121 395 Page Mill Road Palo Alto,Californ ia U.S.A. (72)発明者 エリック・グレゴリー・タウシェック アメリカ合衆国カリフォルニア州95621 シトラス・ハイツ,オーク・ブランチ・ コート・6600 (58)調査した分野(Int.Cl.7,DB名) G06F 13/10 - 13/14

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】バス(10)上のデータトランザクションを第
    1の参照手段を用いて識別し、及び随意選択的及び追加
    的に第2の参照手段を用いて該データトランザクション
    識別するシステムにおいて、データトランザクション
    についてのエントリを連結テーブル(61,71)に格納する
    方法であって、方法が、 (a) データトランザクションが第1の参照手段のみに
    よって識別される場合に、データトランザクションに
    ついてのエントリを連結テーブル(61,71)の第1の部分
    (62,72)内のロケーションに格納し、前記データトラン
    ザクションについての前記第1の参照手段を用いて前記
    連結テーブル(61,71)の前記第1の部分(62,72)前記
    エントリを指標付けし、 (b) データトランザクションが第1の参照手段及び第
    2の参照手段の両方を用いて識別される場合には、
    ータトランザクションについてのエントリを連結テーブ
    (61,71)の第2の部分(63,73)内のロケーションに格納
    し、前記データトランザクションについての前記第1の
    参照手段を用いずに前記データトランザクションについ
    ての前記第2の参照手段を用いて前記連結テーブル(61,
    71)の前記第2の部分(63,73)前記エントリを指標付
    けする、 というステップより成ることを特徴とする、データトラ
    ンザクションについてのエントリの連結テーブル(61,7
    1)への格納方法
  2. 【請求項2】更に前記連結テーブル(61,71)内のエント
    リにアクセスする、請求項1に記載の方法であって、 (c) 第1の参照手段のみを用いて識別されるデータト
    ランザクションについてのエントリにアクセスする場合
    には、該データトランザクションについての第1の参照
    手段を含む指標(65,75)を用いて該データトランザクシ
    ョンについてのエントリにアクセスし、 (d) 第1の参照手段と第2の参照手段との両方を用い
    て識別されるデータトランザクションについてのエント
    リにアクセスする場合には、該データトランザクション
    についての第2の参照番号は含むが該データトランザク
    ションについての 第1の参照手段は含まない指標(65,7
    5)を用いて該データトランザクションについてのエント
    リにアクセスする、 という各ステップを更に有する、請求項1に記載の方
    法。
  3. 【請求項3】前記バス(10)がANSI SCSI規格に従って動
    作し、前記第1の参照手段がターゲット番号及び論理ユ
    ニット番号を含み、前記第2の参照手段が待ち行列タグ
    である、請求項2に記載の方法。
  4. 【請求項4】バス(10)に接続された複数のデバイス(11,
    12,13,14)を有するコンピュータシステムであって、該
    複数のデバイス間のデータトランザクションが第1の参
    照手段を用いて識別され、及び随意選択的及び追加的に
    第2の参照手段を用いて識別され、前記複数のデバイス
    (11,12,13,14)のうちの第1のデバイス(11)が、 該第1のデバイス(11)についてのデータトランザクショ
    ンを記述するコードを含むデータスクリプト(64,74)
    と、 該データスクリプト(64,74)と結合されて該データスク
    リプト(64,74)を実行するプロセッサ手段(66)と、 中断されたデータトランザクションについてのエントリ
    を格納する連結テーブル(61,71)であって、その各エン
    トリが前記データスクリプト(64,74)内のロケーション
    を指すものである、連結テーブル(61,71)とを備えてお
    り、該連結テーブル(61,71)が、 第1の参照手段を用いて識別されるが更に第2の参照手
    段を用いて識別されることのない中断されたデータトラ
    ンザクションについてのエントリが格納され、該エント
    リが前記第1の参照手段を用いて指標付けされる、第1
    のテーブル部分(62,72)と、 第1の参照手段と第2の参照手段との両方を用いて識別
    される中断されたデータトランザクションについてのエ
    ントリが格納され、該エントリが前記第1の参照手段を
    用いずに前記第2の参照手段を用いて指標付けされる、
    第2のテーブル部分(63,73)と、 を備えている、コンピュータシステム。
  5. 【請求項5】前記バス(10)がANSI SCSI規格に従って動
    作し、前記第1の参照手段がターゲット番号及び論理ユ
    ニット番号を含み、前記第2の参照手段が待ち行列タグ
    である、請求項4に記載のコンピュータシステム。
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 JPH05204816A (ja) 1993-08-13
JP3253357B2 true 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
US4835686A (en) * 1985-05-29 1989-05-30 Kabushiki Kaisha Toshiba Cache system adopting an LRU system, and magnetic disk controller incorporating it
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
EP0522728A1 (en) 1993-01-13
DE69226683T2 (de) 1999-01-07
US5404549A (en) 1995-04-04
EP0522728B1 (en) 1998-08-19
DE69226683D1 (de) 1998-09-24
JPH05204816A (ja) 1993-08-13

Similar Documents

Publication Publication Date Title
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
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
US6643748B1 (en) Programmatic masking of storage units
US5313638A (en) Method using semaphores for synchronizing communication between programs or processes resident in a computer system
US6199121B1 (en) High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions
CN1010619B (zh) 数字数据处理系统高速缓冲存储器内容的失效标记
US5574862A (en) Multiprocessing system with distributed input/output management
US5307494A (en) File name length augmentation method
US5822785A (en) Data transfer using local and global address translation and authorization
JPS63231550A (ja) 多重仮想空間制御方式
JPS5818728A (ja) デ−タ通信実行方法
WO1999001817A1 (en) Defragmentation of stored data without pointer indirection
JPH03118649A (ja) メモリーサブシステム入力キュー
US5249297A (en) Methods and apparatus for carrying out transactions in a computer system
JP3253357B2 (ja) 連結テーブル内の格納データへの高効率アクセス方法
JPH04230550A (ja) 情報処理ネツトワーク及び情報処理方法
US5519860A (en) Central processor index sort followed by direct record sort and write by an intelligent control unit
DE3650782T2 (de) Anordnung von Cachespeicherverwaltungseinheiten
US7062501B1 (en) Structure and method for linking scatter/gather list segments for host adapters
US6968415B2 (en) Opaque memory region for I/O adapter transparent bridge
US6356938B1 (en) System and method for transmission of information packets between provider and consumer processors
US7555603B1 (en) Transaction manager and cache for processing agent
US20050283454A1 (en) Apparatus, system, and method for communicating with multiple data stores
EP1014261A1 (en) Instruction look-ahead system and method
US6401144B1 (en) Method and apparatus for managing data transfers between peripheral devices by encoding a start code in a line of data to initiate the data transfers

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