JPH10207814A - コンピュータ・システム及びバス操作方法 - Google Patents

コンピュータ・システム及びバス操作方法

Info

Publication number
JPH10207814A
JPH10207814A JP9296535A JP29653597A JPH10207814A JP H10207814 A JPH10207814 A JP H10207814A JP 9296535 A JP9296535 A JP 9296535A JP 29653597 A JP29653597 A JP 29653597A JP H10207814 A JPH10207814 A JP H10207814A
Authority
JP
Japan
Prior art keywords
scsi
command
tsm
bus
target service
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
JP9296535A
Other languages
English (en)
Inventor
Alan P Adamson
ピー.アダムソン アラン
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.)
NCR International Inc
Original Assignee
NCR International Inc
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 NCR International Inc filed Critical NCR International Inc
Publication of JPH10207814A publication Critical patent/JPH10207814A/ja
Pending 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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function

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)【要約】 【課題】 改良型コンピュータ・システムを提供する。 【解決手段】 SCSIコマンドを送るSCSIバス
(15)と通信するコンピュータ・プロセス(TSM)
を含む、SCSIコマンドを実行するためのモジュー
ル。通常、SCSIコマンドは、SCSI装置に特定の
動作を行わせる。例えば、一定のSCSIコマンドは、
SCSIプリンタに一枚の紙を排出させる。このモジュ
ール(TSM)も、SCSIコマンドに応答するが、そ
の応答方法は、プログラミングによって決定された方法
であり、必ずしもSCSI規格とは一致しない。例え
ば、このモジュールは、時刻を参照して識別したばかり
のコマンドに応答することができ、観察対象の任意の関
連当事者に対して、SCSIバスに時刻を表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、他の装置と小型コ
ンピュータ・システム・インターフェース・バス(SC
SI)を共有する仮想装置を実行するために、SCSI
(スカジー)を使用する。上記仮想装置は、SCSIコ
マンドに応答し、そのプログラミングが指定するタスク
を行う。他の装置は、通常のタイプのハードウェアであ
る。
【0002】
【従来の技術、及び、発明が解決しようとする課題】図
1は、市販の通信プロトコルであるSCSIの動作の一
つのモードを示す簡単な略図である。コンピュータ3、
固定ディスク・ドライブ6、プリンタ9および他の構成
部分12A−12Cを含むハードウェア構成部分は、S
CSIバス15に接続している。動作の一例を説明する
と、ディスク・ドライブ6からデータを検索したい場合
には、コンピュータ3は、そのディスク・ドライブ6の
「名前」とその後ろにつけた適当なコマンドとを、SC
SIバス15に入力する。その「名前」は、SCSIバ
ス15に接続しているすべての構成部分に送られるが、
上記コマンドに応答するのは、ディスク・ドライブ6だ
けである。
【0003】上記コマンドは、SCSIコマンドの予め
指定したセットから取り出される。図1のいくつかのハ
ードウェア構成部分は、「SCSI装置」であり、それ
ら構成部分はSCSIコマンドを認識し、応答するよう
に特に設計されている。コンピュータ3を除く、図1の
すべての装置は、SCSI装置であると見なされる。
【0004】図2に示すように、すべてのSCSI装置
は、各装置に含まれているプロセッサ(図示せず)上で
動作する低レベル・ドライバ、LLDを含む。各LLD
は、SCSIバス15からSCSIコマンドを受信し、
それに応えて、適当な内部コマンドをそれぞれの装置に
発行する。
【0005】コンピュータ3は、SCSIターゲットで
はない。ある種のコンピュータはSCSIバスを使用し
て、相互間で動作を行うようになっているが、一般的な
コンピュータ3はそのような装置を持っていない。
【0006】コンピュータ3が、SCSI装置と直接相
互間で動作を行わない第二の理由は、たとえそのコンピ
ュータが、IBM社が確立した「パソコン」アーキテク
チャのような共通のアーキテクチャを持っていたとして
も、異なるタイプのコンピュータの内部バスは異なって
いる場合があるからである。例えば、8086プロセッ
サを使用しているパソコンのバス構造は、’486プロ
セッサを使用しているパソコンのバス構造とは異なって
いる。
【0007】さらに、上記の相互に異なるバス構造は、
必ずといっていいほど、SCSIバス15のアーキテク
チャとは異なっている。それ故、一般的なコンピュータ
3を、SCSIバス15に直接接続するのは非常に難し
い。
【0008】この非互換性を解決するために、コンピュ
ータ3は図2に示すアダプタ・カード21を備えてい
る。このアダプタ21により、コンピュータの内部シス
テム・バスは、SCSIバス15と通信することができ
る。
【0009】アダプタ21は、コンピュータ3とSCS
Iバス15との間に接続している。上記アダプタは、S
CSIコマンド・セットから取り出したコマンドを使用
して、SCSIバス15と通信する。しかし、このアダ
プタは、アダプタ・メーカーが定めた異なるコマンド・
セットからのコマンドを使用して、コンピュータ3と通
信する。アダプタは、二つのコマンド・セットを相互に
変換する。
【0010】低レベルドライバ、LLDも、またある意
味では変換装置として動作する。すなわち、SCSIコ
マンドは多重ビット語である。しかし、多くの場合、プ
リンタ9のような構成部分内の簡単な動作を実行するた
めには、多重ビットSCSIコマンドが使用される。多
重ビットSCSIコマンドを使用することにより、単一
ビットコマンドが処理することができるスイッチをオン
にすることができる。低レベルドライバ、LLDの一つ
の機能は、必要な場合に、多重ビットSCSIコマンド
を個々の単一ビット・コマンドに変換することである。
【0011】そこで、この単純化した背景について以下
に説明する。
【0012】1.コンピュータ3は、SCSIバスにあ
る名前を入力して、あるハードウェア構成部分を選択す
る。
【0013】2.SCSIバスに接続しているすべての
構成部分には、上記名前が送られるが、名指しされた構
成部分だけが、上記名前の後に続くコマンドに応答す
る。
【0014】3.SCSIコマンドは、SCSIバスを
通して、名指しされた構成部分へ送られる。
【0015】4.コンピュータのところでのSCSIコ
マンドの形式は、一般に、アダプタを通して、あるコマ
ンド・セットからSCSIセットへの変化を必要とす
る。
【0016】5.そのコマンドを、ハードウェアが理解
することができるコマンドにするために、SCSIコマ
ンドを受信したハードウェアは、別のタイプの変換を行
う。
【0017】本発明は、図3のターゲット・サービス・
モジュール、TSMの形で追加機能を提供するために、
SCSIバスおよびコマンド・セットのフレームワーク
を使用する。TSMは、ソフトウェア装置であり、この
ソフトウェア装置は、速度と記憶の両方で、プロセッサ
のプログラム処理能力を完全に実行することができる。
【0018】本発明の一つの目的は、改良型コンピュー
タ・システムを提供することである。
【0019】本発明のもう一つの目的は、SCSIイン
ターフェースに追加機能を提供することである。
【0020】
【課題を解決するための手段】本発明によれば、SCS
IバスおよびSCSIバスに接続しているコンピュータ
を含むコンピュータ・システムは、 a)SCSIバスに接続していていて、SCSIコマン
ドに応答するSCSI装置と、 b)SCSIバスに接続していて、SCSI装置の応答
とは異なる方法で、上記SCSIコマンドに応答する第
二の装置(TSM)とを特徴とする。
【0021】また、本発明によれば、所定のコマンド・
セットを有する通信プロトコルを使用し、バスに接続し
ているハードウェアで所定の各動作を行うコマンドを含
むバスの作動方法は、下記のステップ、すなわち、 a)ある場合には、所定の動作を行うために、コマンド
・セットからのコマンドを使用するステップと、 b)他の場合には、 i)プロセッサにより実行され、 ii)上記ハードウェアのどれも制御しない、コンピュ
ータ・プログラムと通信するために、上記コマンドを使
用するステップとを特徴とする。
【0022】本発明を添付の図面を参照しながら説明す
るが、これは単に例示としてのものに過ぎない。
【0023】
【発明の実施の形態】図3の場合には、ターゲット・サ
ービス・モジュール、TSMは、低レベルドライバ、L
LDを通して、SCSIバス15に接続している。TS
Mは、コンピュータ・プログラムで、(図5に示す)プ
ロセッサにより実行される。TSMを実行するのに使用
する装置のアーキテクチャにより、上記TSMとSCS
Iバス15との間のインターフェースとして、図3のア
ダプタ21類似のアダプタが必要になる場合がある。T
SMは、SCSIバスからSCSIコマンドを受信す
る。
【0024】図3に示す他の構成部分のように、TSM
には一つの名前が割り当てられる。TSMの動作を、図
4を参照しながら説明する。TSMは、ループ33内で
アイドル状態になっている。その後、SCSIバスを通
して自分の名前を受信すると、ループ33から抜け出
し、動作を開始する。ループから抜け出したとき、TS
Mは、ブロック39に示すように、その中にプログラム
されている動作を実行する。その動作を終了後、TSM
は、矢印42で示すように、ループ33内でアイドル状
態になる。
【0025】重要な特徴は、TSMは、動作を開始した
とき、SCSIコマンドを受信し、それに応答すること
ができることである。しかし、TSMは、必ずしも、S
CSI装置が応答するのと同じ方法で、SCSIコマン
ドに応答するわけではない。TSMが、クロックとして
動作するようにプログラムされている一例を使用して、
上記の違いを説明する。
【0026】SCSIバス15を通して自分の名前を受
信した場合、TSMは動作を開始する。その後、TSM
はコマンドAのような特定のコマンドがSCSIバス上
にあるかどうかをチェックする。通常、コマンドAは、
通常のSCSI装置に、一枚の紙をプリンタに供給する
といったような特定の動作を行わせる。しかし、TSM
は、コマンドAに別の動作を行わせるようにプログラム
されている。TSMにおいては、コマンドAを受信する
と、TSMはそのプログラムの内部クロックの時刻をチ
ェックし、その時刻をSCSIバスに送る。その後、T
SMは図4のループ33に示すアイドル状態に戻る。
【0027】再度スタートさせるには、通常のSCSI
コマンドにより、通常のSCSI装置で、コマンドAへ
の特定の応答のような特定の行動を起こさせる。しか
し、TSMは、通常、コマンドAに異なる応答を行う。
(しかし、もちろん、SCSI装置と同じ方法でコマン
ドAに応答するように、TSMをプログラムすることも
できる。)それ故、コマンドを受信する装置(TSMま
たは通常のSCSI装置)により、同じコマンドを使用
して、システム全体に異なる動作が起こる。
【0028】上記の方法とは異なる方法を使用する場合
には、名前+コマンドAの順序を守る必要はない。上記
順序に従わずに、自分の名前をSCSIバスを通して受
信しただけで、実行を開始するようにTSMをプログラ
ムすることができる。
【0029】図5に本発明の一実施形態を示す。TSM
は、メモリへのアクセスを制御するために、分散ロック
・マネージャとして機能する。すなわち、ある当事者が
メモリのあるバンクにアクセスしたい場合には、その当
事者は、最初そのメモリをロックしなければならない。
その結果、他の当事者は、第一の当事者がそのブロック
を使用している間は、メモリのそのブロックにアクセス
することはできない。メモリ・バンク内でのデータの一
貫性を確保するためには、アクセスに対するこのような
制限が必要である。
【0030】図5について説明すると、ある当事者がメ
モリのあるバンクをロックしたい場合には、その当事者
は、図5に示すように、最初にTSMの名前をSCSI
バスに入力する。TSMは、ステップ55に示すよう
に、自分が呼び出されていることを知る。上記当事者
は、ステップ60に示すように、メモリのあるブロック
へのキーを要求する。この要求をする際に、上記当事者
は必要なメモリの上記ブロックを識別する。
【0031】TSMは上記キーを発行し、そのキーが発
行されている間は、他の当事者に対して上記のブロック
へのキーの発行を拒絶する。キーを受け取った当事者
は、ステップ65に示すように、メモリのそのブロック
上で操作を行う。上記当事者が上記メモリ・ブロック上
での操作を完了すると、その当事者は、TSMへキーを
返却し、TSMは要求があった場合に、他の当事者がそ
のブロックを使用することができるようにする。
【0032】1.用語「TSM]は、上記操作を行う構
成要素を意味する。この構成要素は、図3のコンピュー
タ3のプロセッサ(図示せず)により実行される、ソフ
トウェアの形をとることができる。別の方法としては、
上記構成要素は、図6の最低限度のアーキテクチャを有
するコンピュータにより実行されるソフトウェアの形を
とることもできる。上記最低限度のアーキテクチャは、
プロセッサ80、アドレス・バス85、データ・バス9
0およびランダム・アクセス・メモリ、RAMを含む。
RAMは、LLDおよびTSMが実行するプログラム、
PRGを含む。必要な場合には、図3のアダプタ21類
似のアダプタが設置される。もちろん、外部コネクタお
よび電源のような図示してない他の構成部分を使用する
こともできる。
【0033】コロラド州、ウェストミンスター、651
0ウェスト91番アベニューのオクタゴン・システムズ
が、小型のシングル・ボード・コンピュータを市販して
いる。
【0034】2.TSMは、コンピュータ3上に設置す
ることができる。それ故、このコンピュータ3は、その
通常の機能ばかりでなく、TSMの機能も実行すること
ができる。例えば、コンピュータ支援製図、CADを行
うある当事者が、コンピュータ3をワークステーション
とし使用する場合には、コンピュータ3は、CADプロ
グラム99のようなアプリケーション・プログラムを実
行する。さらに、TSMの名前がSCSIバス15に入
力された場合には、TSMは、コンピュータ3のプログ
ラム上で動作を開始する。
【0035】3.SCSIバスには、一台またはそれ以
上のコンピュータ3を接続することができる。
【0036】4.SCSI装置は、ある方法で一定のS
CSIコマンドに上記のように応答するが、TSMを異
なる方法で応答するようにプログラムすることができ
る。繰り返して説明すると、SCSI装置は、SCSI
コマンドにある応答をし、TSMは異なる応答をする。
この違いに関連する二つの点を観察する必要がある。
【0037】第一の相違点は、技術的な問題で、二つの
現在使用しているSCSI装置を、異なる方法で、同じ
SCSIコマンドに応答させることができることであ
る。例えば、異なるメーカー製の二台のプリンタは、同
じSCSIコマンドに対する応答の際に、異なる一連の
内部ステップを行うことができる。しかし、上記相違
は、実行の詳細における単なる違いと見なされる。両方
のプリンタの全体的な結果は同じであり、SCSIコマ
ンドが意図する結果に適合する。
【0038】第二の相違点は、TSMは純粋なロジック
装置として実行することができることである。すなわ
ち、TSMは、純粋な計算を行い、(ディスク・ドライ
ブ等のような、そのアーキテクチャの一部であるハード
ウェアを除いて)ハードウェアを制御しない。この場
合、あるSCSIコマンドは、SCSIハードウェア装
置を動作させ、一方、同じSCSIコマンドは、TSM
に、上記のクロック・プログラムのような、ハードウェ
アが関係しないコンピュータ・プログラムを実行させ
る。
【0039】5.「SCSI」は工業規格である。AN
SI 3 XT 10に、SCSI規格の一つの仕様が
記載されている。
【0040】本発明の種々の特徴の詳細を、技術的に詳
細に説明する。
【0041】<技術的な詳細> 1.始めに ホスト間ホスト通信施設は、同じプロトコルをサポート
している一つまたはそれ以上の他のシステムに、指定の
プロトコルを使用し、SCSIバスを通して情報を送受
信するための施設である。SCSII仕様には、通信装
置モデルおよびプロセッサ装置モジュールが記載されて
いる。この施設はプロセッサ装置を定義しているが、通
信装置の諸機能を追加している。この文書全体を通し
て、この施設により追加された改善された通信機能を持
つSCSI IIプロセッサは、通信装置手段を参照す
る。
【0042】通信装置モデルの場合もプロセッサ装置モ
デルの場合も、外部プロトコルを制御するための情報
は、SENDおよびGET MESSAGEコマンドに
より移送されたデータに埋設されていると見なす。上記
コマンドにより移送されるデータの構造は、この設計に
より指定されていない。
【0043】最初に、この施設は、オラクル分散ロック
・マネージャが必要とするホスト間の移送をサポートす
るするように設計されているが、将来は、通信プロトコ
ル・スタックを追加することにより、このサポートを拡
張することができる。将来の拡張は、SCSI II仕
様により定義されている非同期イベント通知に対するサ
ポートとなるものと思われる。
【0044】このプロセッサ装置を使用することによ
り、ターゲットは、イニシエータから受信したコマンド
に従って移送されるデータ・パケットを受け入れ、供給
する。上記イニシエータは、プロセッサ/通信装置がS
END MESSAGEコマンドを送信することによ
り、データのパケットを受け入れるよう要求する。イニ
シエータは通信装置が、GET MESSAGEコマン
ドを送信して、データのパケットを返送するように要求
する。
【0045】通信装置が、一時的にイニシエータからの
データ・パケットを処理するのに使用することができる
リソースを持っていない場合、またはイニシエータに供
給するデータを持っていない場合、またはその動作を行
うのに不適当なリソースしか持っていない場合には、装
置(ターゲット)は、下記の一つに従って応答すること
ができる。
【0046】・NOT READYへのセンス取得セッ
トでチェック状態を終了させる。
【0047】.必要なリソースまたはデータが使用でき
るようになるまで接続を断ち、その後リソースまたはデ
ータが使用できるようになった時再度接続する。
【0048】・BUSY状態で終了する。
【0049】上記のように、この設計は、データに埋設
されている任意のプロトコルを定義しないが、上記プロ
トコルを理解することができるソフトウェア・モジュー
ルにデータを送るインターフェースを定義する。ソフト
ウェアのこのレイヤーは、ターゲット・サービス・モジ
ュールと呼ばれる。このアーキテクチャの下で、低レベ
ル・ドライバ、LLDだけが、種々のSCSI状態を通
してSCSIプロトコル・チップを横切る動作を制御す
るが、ターゲット・サービス・モジュールがリソースの
解釈、割当を制御し、その結果、低レベル・ドライバが
ターゲット・モードの要求に応答することができる。
【0050】この設計には三つのサブシステムが記載さ
れている。プロセッサ・ターゲット装置ドライバは、デ
ィスクまたはテープ・ドライバ類似の装置である。これ
により、上のレベルのプロトコルまたはアプリケーショ
ンは、プロセッサ装置へデータを送信し、プロセッサ装
置からデータを受信することができる。SCSI低レベ
ル・ターゲット・モードでは、SCSIイニシエータに
より選択された場合には、SCSIバスからSCSIコ
マンドが読み取られる。上記コマンドは変換され、いく
つかのコマンドに対しては直接応答が行われる。他のコ
マンドは、変換および応答を行うのに、ターゲット・サ
ービス・モジュールを必要とする。
【0051】2.プロセッサ・ターゲット装置ドライバ プロセッサ装置を使用することにより、多数のプロセッ
サ機能にアクセスすることができる。これらの機能は、
分散ロック・マネージャ、非同調イベント通知ハンド
ラ、またはある種の通信プロトコル・スタックに対する
直接制御数値発生を含む。
【0052】プロセッサ・ターゲット装置ドライバの目
的は、プロトコル・モジュールまたはアプリケーション
がデータのパケットを受信し、プロセッサ装置機能に送
信することができるようにすることである。このプロセ
ッサ・ドライバを使用することにより、プロセッサ装置
の16の独立した機能にアクセスすることができる。こ
れらの機能には、装置マイナ番号の4ビットの区分フィ
ールドを使用してアドレスする。
【0053】読み取りおよび書き込みシステム呼び出し
は、プロセッサ装置に、GET MESSAGEおよび
SEND MESSAGEコマンドをそれぞれ発行する
ために、使用することができる。同じ目的のために、L
ibio ioctlルーチン、IO_GET_MES
AGEおよびIO_SEND_MESSAGEを使用す
ることができる。好適な方法は、SVID読み取りおよ
び書き込みシステム呼び出しを使用する方法であること
に留意されたい。何故なら、データが、データをLib
ro呼び出しからユーザ・スペースに移動させるため
に、コピーインおよびコピーアウト・カーネルを要求す
るのではなく、ユーザ・バッファに直接DMAされるか
らである。
【0054】2.1 コマンド・ページ コマンド・ページは、読み取りおよび書き込みのような
機能を、関連SCSIコマンドにリンクする。下記のコ
マンド・ページは、53C700 MP−RASプロセ
ッサ装置をサポートするために最初開発されるコマンド
・ページである。他のプロセッサ装置は、他のコマンド
へのリンクを必要とする場合がある。標準GET ME
SSAGEおよびSEND MESSAGEコマンド・
ページは、プロセッサ・ドライバからのアーギュメント
として送られた、ストリーム、移送長さおよびバッファ
を持つ。ストリーム・アーギュメントは、装置マイナー
番号の区分ビットにより指定されたプロセッサ機能によ
り決定される。
【0055】GET MESSAGEおよびSEND
MESSAGEコマンド両方には、それぞれ三つのバー
ジョンがある。コマンド・ページは、それに送られたア
ーギュメントにより決定された最小の可能なコマンドを
作る。
【0056】
【表1】
【表2】 アプリケーションが何を決定するのか、SCBのどのバ
ージョンを使用すべきかについてのものである場合に
は、IO_SCSIインターフェースを使用しなければ
ならない。
【0057】3.SCSI低レベルドライバ・ターゲッ
ト・モード・サポート ターゲット・モードの場合には、低レベル・ドライバ
を、SCSIイニシエータにより選択することができ、
バスからSCSIコマンドを読み取り、応答することが
できる。各SCSIコントローラ用の低レベル・ドライ
バ、LLDの場合には、その上で実行するためにホスト
間通信を必要とする場合、ターゲット・モードを追加す
る必要がある。最初の開発は、53C700/55C7
10ドライバ上で行われる。ターゲット・モードにはい
くつかの異なるクラスがある。
【0058】・全ターゲット・モード − この文書に
記載するすべての機能がサポートされる。
【0059】・切り離しが行われないターゲット・モー
ド − LLDは、SCSIイニシエータを再度選択し
ない。データがセグメントに分割されている場合には、
ターゲットはセグメント間のイニシエータにより選択さ
れたままである。
【0060】・単一セグメント・ターゲット・モード
− すべてのデータは一つのセグメント内に存在してい
なければならない。LLDは、実行されたxxxhw_
ターゲット機能を持たないので、第二のターゲットをス
タートさせる方法がない。移送を再度スタートさせる方
法がないので、切り離し処理は必要でない。ターゲット
・モード・データ移送は、分散/収集区分をサポートし
ない。ターゲット・サービス・モジュールにより、LL
Dに渡されたバッファは、隣接するメモリを保証しなけ
ればならない。
【0061】・メッセージのないターゲット・モード
− 実行された唯一のデータ移送コマンドは、INQU
IRYコマンドおよびREQUEST SENSEコマ
ンドである。ライフキーパ・リリース1.0の実行は、
このクラスのターゲット・モードを使用する。
【0062】・ターゲット・モード・セーフ − これ
はターゲット・モードのクラスではない。ターゲット・
モードの機能のどれもが実行されないが、ハードウェア
またはソフトウェアにより、選択を行うことができない
か、うまく切り離される。
【0063】4.ターゲット・サービス・モジュール 他のホストによりホスト・ターゲットが選択された場合
には、発行されたいくつかのコマンドを、低レベル・ド
ライバ以外のソフトウェアのあるレイヤーにより解釈
し、応答しなければならない。ソフトウェアのこのレイ
ヤーは、ターゲット・サービス・モジュールと呼ばれ
る。任意のホスト間でプロトコルが使用されていること
を知ることができるのはこのレイヤーである。プロセッ
サ装置にターゲット・サービス・モジュールを追加する
ことにより、いくつかのプロセッサ機能が追加される。
例えば、分散ロック・マネージャおよびAENハンドラ
を、プロセッサ装置にリンクしている二つのターゲット
・サービス・モジュールとすることができる。
【0064】各ターゲット・サービス・モジュールは、
GET MESSAGE(10)、SEND MESS
AGE(10)、GET MESSAGE(12)およ
びSEND MESSAGE(12)SCSIコマンド
のストリーム選択フィールドを通してアドレスされる。
GET MESSAGE(6)またはSEND MES
SAGE(6)を使用した場合には、使用したストリー
ムはゼロである。これらコマンドの10および12バイ
トのバージョンは、65536のストリームをサポート
するので、それだけの数のターゲット・サービス・モジ
ュールをアドレスすることができる。上記例を使用する
ことによって、ストリーム0により、分散ロック・マネ
ージャにデータ・パケットを送り、そこからデータ・パ
ケットを受信することができ、またストリーム1を使用
してAENハンドラにデータ・パケットを送ることがで
きる。
【0065】4.1 ターゲット・サービス・モジュー
ル識別キー ターゲット・サービス・モジュール識別キーは、ターゲ
ット・サービス・モジュールを一意に識別する一つの方
法である。ターゲット・サービス・モジュールに一意の
数値を割り当てることによって、アプリケーションは特
定のターゲット・サービス・モジュールが常駐している
ストリームを決定するために、モード・センスを発行す
ることができる。有効な識別キーは、1−0xFFであ
る。下記のキーは予め割り当てられたキーである。
【0066】・0x00 − ゼロTSM ・0x01 − 非同期イベント通知 ・0x50 − 連続制御番号 ・0x51 − システム・パニサ ・0x52 − システム・リブータ 4.2 ターゲット・バッファ・ポインタ(tbuf) 低レベル・ドライバが、SCSIバスから、GET M
ESSAGEまたはSEND MESSAGEを読み取
った場合には、上記ドライバは、ターゲット・サービス
・モジュールからバッファと恐らくデータを要求する。
バッファの位置に関する情報およびそのサイズおよびデ
ータは、ターゲット・バッファ・ポインタを通して、タ
ーゲット・サービス・モジュールからLLDへ送り返さ
れる。
【0067】
【表3】 ターゲット・サービス・モジュールにデータを移送した
り、または上記モジュールからデータを受信する場合に
は、tbuf構造へのポインタは、LLDに送り返され
る。tbフラグにビットがセットされていない場合に
は、LLDは、tb_addrへまたは、tb_add
rからtbカウント・バイトを送れという命令を受け
る。tb_procフィールドは、I/Oがどんなプロ
セスを行っているのかを指定する。カーネルがI/Oを
行っている場合には、上記フィールドはゼロである。L
LDがデータ移送を終了した場合には、GOOD状態お
よびCOMMAND COMPLETEメッセージがS
CSIイニシエータに送られる。LLDは、TB_DO
NEビットをセットし、ターゲット・サービス・モジュ
ール終了ルーチンを呼び出し、tbufを送り返す。
全、切り離しなし、単一セグメント・ターゲット・サー
ビス・モード・クラスは、この機能を実行しなければな
らない。
【0068】TB_BUSYビットが、ターゲット・サ
ービス・モジュールによりセットされている場合には、
LLDは、データの移送を行わず、SCSIイニシエー
タに、ビジー状況およびCOMMAND COMPLE
TEメッセージを送る。LLDは、TB_BUSYビッ
トをセットし、ターゲット・サービス・モジュール終了
ルーチンを呼び出す。全モード、切り離しなしモード、
および単一セグメント・ターゲット・モード・クラスは
この機能を実行しなければならない。
【0069】TB_PARTIALビットがセットされ
ている場合には、LLDはtbカウント・バイトをtb
_addrへ移送するようにとの命令を受ける。TB_
PARTIALビットは、これが唯一の部分的移送であ
り、後で送るデータがあることを意味する。LLDは、
TB_DONEビットをセットし、ターゲット・サービ
ス・モジュール終了ルーチンを呼び出す。ターゲット・
サービス・モジュールは、tbufを使用して、xxx
hwターゲットLLD入力点を呼び出す。その後、すべ
てのデータ移送が引き続いて行われる。全ターゲット・
モード・クラスおよび切り離しなしターゲット・モード
・クラスはこの機能を実行しなければならない。
【0070】TB_PARTIALおよびTB_DIS
CONNECTビットがセットされている場合には、L
LDに対してtbカウント・バイトをtb_addrに
移送するようにとの命令が与えられる。LLDは、イニ
シエータにSAVE DATA POINTERSメッ
セージ、およびDISCONNECTメッセージを送
り、バスをフリーにする。その後、LLDはTB_DO
NEビットをセットし、ターゲット・サービス・モジュ
ール終了ルーチンを呼び出す。その後、ターゲット・サ
ービス・モジュールは、tbufを持つxxxhwター
ゲットLLD入力点を呼び出す。その後、LLDは、I
DENTIFYおよびRESTORE DATA PO
INTERSメッセージを再度選択し、引き続き移送を
続ける。全ターゲット・モード・クラスは、この機能を
実行しなければならない。
【0071】4.3 ターゲット・サービス・モジュー
ル入力点 4.3.1 Init
【表4】 ターゲット・サービスinitルーチンは、その日の零
時にホスト間通信サポートを有する各SCSIバス毎に
呼び出される。アーギュメントdevは、イニシエータ
の装置メジャー/マイナー番号である。システムが、ホ
スト間通信をサポートする二本のSCSIバスを持って
いる場合には、各ターゲット・サービス・モジュールは
二回呼び出される。一回は各SCSIバスに対する呼び
出しである。アーギュメント・クラスは、devサポー
トに取り付けられているLLDのターゲット・モード・
サポートを指定する。有効な数値は下記の通りである。
【0072】
【表5】 4.3.2 Get
【表6】 ターゲット・サービス取得ルーチンは、低レベル・ドラ
イバが選択される度に呼び出され、SCSIバスからG
ET MESSAGEコマンドを読み取る。上記GET
MESSAGEコマンドの6、10または12バイト
のバージョンは、このルーチンを呼び出すことになる。
LLDにより読出されるGET MESSAGE sc
bの唯一のフィールドは、命令コードおよびストリーム
選択フィールドである。ターゲット・サービス・ドライ
バは、GET MESSAGEコマンドのストリーム選
択フィールドの内容により選択される。ストリーム選択
フィールドがない、6バイトのGET MESSAGE
コマンの場合には、ターゲット・サービス・モジュール
・ゼロが選択される。LLDが読み取らなかったフィー
ルドは、ターゲット・サービス・モジュールが必要とす
る任意の方法で使用することができる。
【0073】アーギュメントPUNおよびLUNは、そ
れぞれGET MESSAGEを発行した装置の、物理
的ユニット番号および論理ユニット番号であり、scb
はSCSIコマンドへのポインタである。このポインタ
は、SCSIコマンドの最初のフィールドに基づく、
6、10または12バイトのコマンドである。
【0074】取得ルーチンは、LLDにターゲット・バ
ッファ・ポインタを送り返すためのものである。
【0075】4.3.3 Send
【表7】 ターゲット・サービス送りルーチンは、低レベルドライ
バが選択される度に呼び出され、SCSIバスからSE
ND MESSAGEコマンドを読み取る。上記SEN
D MESSAGEコマンドの6、10または12バイ
トのバージョンは、このルーチンを呼び出すことにな
る。LLDにより読び出されるSENDMESSAGE
scbの唯一のフィールドは、命令コードおよびスト
リーム選択フィールドである。ターゲット・サービス・
ドライバは、SEND MESSAGEコマンドのスト
リーム選択フィールドの内容により選択される。ストリ
ーム選択フィールドがない、6バイトのGET MES
SAGEコマンドの場合には、ターゲット・サービス・
モジュール・ゼロが選択される。LLDが読み取らなか
ったフィールドは、ターゲット・サービス・モジュール
が必要とする任意の方法で使用することができる。
【0076】アーギュメントPUNおよびLUNは、そ
れぞれSEND MESSAGEを発行した装置の、物
理的ユニット番号および論理ユニット番号であり、sc
bはSCSIコマンドへのポインタである。このポイン
タは、SCSIコマンドの最初のフィールドに基づく、
6、10または12バイトのコマンドである。
【0077】送りルーチンは、LLDにターゲット・バ
ッファ・ポインタを送り返すためのものである。
【0078】4.3.4 完了
【表8】 ターゲット・サービス完了ルーチンは、低レベル・ドラ
イバが、ターゲット・サービス・モジュールからのGE
T MESSAGEまたはSEND MESSAGEを
完了する度に呼び出される。フラグ・フィールドのTB
_DONEまたはTB_ERRORビットは、完了ルー
チン呼び出し時にセットされる。
【0079】4.4 設置 ターゲット・サービス・モジュールは、SCSIspa
ce.cのスイッチ・テーブルの脇に設置される。
【0080】
【表9】 上記表は、設置された三台のターゲット・サービス・モ
ジュールの一例である。各ラインの第一のフィールド
は、識別キーである。各ターゲット・サービス・モジュ
ールは、一意のキーを有する。ゼロのキーは自由なスト
リームを表す。送りドライバはストリーム1であり、パ
ニック・ドライバはストリーム2であり、リブート・ド
ライバは、ストリーム3である。ストリームは、10お
よび12バイトのSEND MESSAGEおよびGE
T MESSAGEコマンドのストリーム選択フィール
ドを通してアドレスされる。ストリーム0は、非同期イ
ベント通知を将来追加するために、空いたままになって
いる。何故なら、AENはSCSIプロセッサ・モデル
に基づいていて、ストリーム選択フィールドを持たない
6バイトのSENDコマンドだけを収容することができ
るからである。TS_Switchスイッチ・テーブル
は、/etc/conf/pack.d/SCSI/s
pace.cファイルに位置している。init.ge
t.sendおよびcompルーチンのcソースをコン
パイルすることによって作られたオブジェクト・プログ
ラムは、/etc/conf/pack.d/SCSI
ディレクトリに収容される。カーネルが再度組み立てら
れ再度ブートされた場合には、上記モジュールが設置さ
れる。
【0081】
【表10】 要求が、識別キーに対してゼロを有するストリームに含
まれて送られてきた場合には、LLDはNot Rea
dyセンス・キーにより、CHECK CONDITI
ONを発行する。
【0082】4.5 ターゲット・サービス・モジュー
ルの例 以下に、バッファにデータを書き込んだり、読み出した
りすることができるターゲット・サービス・モジュール
の一例を示す。
【0083】
【表11】 OxAAの一意の識別キーが、上記例に対して選択され
た。スペースc入力は表に示す通りである。
【0084】
【表12】
【図面の簡単な説明】
【図1】従来技術によるバスである。
【図2】従来技術によるバスである。
【図3】本発明の一実施形態である。
【図4】本発明の一実施形態の動作のハイ・レベルのフ
ローチャートである。
【図5】本発明の一実施形態により実行されるロジック
のフローチャートである。
【図6】図3のTSMの一つの簡単なアーキテクチャで
ある。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 SCSIバス(15)およびSCSIバ
    スに接続しているコンピュータ(3)を含むコンピュー
    タ・システムであって、 a)SCSIバス(15)に接続していていて、SCS
    Iコマンドに応答するSCSI装置(6)と、 b)SCSIバス(15)に接続していて、SCSI装
    置の応答とは異なる方法で、上記SCSIコマンドに応
    答する第二の装置(TSM)とを特徴とするコンピュー
    タ・システム。
  2. 【請求項2】 所定のコマンド・セットを有する通信プ
    ロトコルを使用し、バスに接続しているハードウェア
    で、所定の各動作を行うコマンドを含むバス操作方法で
    あって、 下記のステップ、すなわち、 a)ある場合には、所定の動作を行うために、コマンド
    ・セットからのコマンドを使用するステップと、 b)他の場合には、 i)プロセッサにより実行され、 ii)上記ハードウェアのどれも制御しない、コンピュ
    ータ・プログラムと通信するために、上記コマンドを使
    用することを特徴とするコンピュータ・システム及びバ
    ス操作方法。
JP9296535A 1996-11-20 1997-10-29 コンピュータ・システム及びバス操作方法 Pending JPH10207814A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/752,765 US5867671A (en) 1996-11-20 1996-11-20 Virtual device for performing an operation in response to a SCSI command different than the operation of a SCSI device responding to the SCSI command
US08/752,765 1996-11-20

Publications (1)

Publication Number Publication Date
JPH10207814A true JPH10207814A (ja) 1998-08-07

Family

ID=25027740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9296535A Pending JPH10207814A (ja) 1996-11-20 1997-10-29 コンピュータ・システム及びバス操作方法

Country Status (3)

Country Link
US (1) US5867671A (ja)
EP (1) EP0844568A3 (ja)
JP (1) JPH10207814A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209023B1 (en) * 1998-04-24 2001-03-27 Compaq Computer Corporation Supporting a SCSI device on a non-SCSI transport medium of a network
CN100438396C (zh) * 2005-01-14 2008-11-26 英业达股份有限公司 在iSCSI中实现错误返回的系统及其方法
US8095715B1 (en) * 2006-09-05 2012-01-10 Nvidia Corporation SCSI HBA management using logical units

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4707803A (en) * 1985-06-17 1987-11-17 International Business Machines Corporation Emulator for computer system input-output adapters
GB8816413D0 (en) * 1988-07-09 1988-08-17 Int Computers Ltd Data processing system
US4982324A (en) * 1988-12-19 1991-01-01 International Business Machines Corporation Method of and system for using device drivers to couple the communication and data storage of remote computer systems
US5421014A (en) * 1990-07-13 1995-05-30 I-Tech Corporation Method for controlling multi-thread operations issued by an initiator-type device to one or more target-type peripheral devices
US5287453A (en) * 1990-09-18 1994-02-15 Bull Hn Information Systems, Inc. Fast remote file access facility for distributing file access requests in a closely coupled computer system
US5265252A (en) * 1991-03-26 1993-11-23 International Business Machines Corporation Device driver system having generic operating system interface
BR9204660A (pt) * 1991-12-20 1993-06-22 Ibm Sistema de rede de computadores que engloba uma interface para sistemas de computadores pequenos(scsi)para dispositivos de scsi nao locais
US5513328A (en) * 1992-10-05 1996-04-30 Christofferson; James F. Apparatus for inter-process/device communication for multiple systems of asynchronous devices

Also Published As

Publication number Publication date
EP0844568A3 (en) 2000-07-12
EP0844568A2 (en) 1998-05-27
US5867671A (en) 1999-02-02

Similar Documents

Publication Publication Date Title
US5280627A (en) Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
EP0106213B1 (en) Decentralized information processing system and initial program loading method therefor
US5590288A (en) Distributed data processing system and method utilizing peripheral device polling and layered communication software
US5375207A (en) Remote processing of a plurality of commands during a session between a first computer and a host computer
JP3612652B2 (ja) ローカル・コンピュータ上で実行されるローカル・タスクによってリモート・コンピュータ上のリモート・タスクを実行する方法
US5483647A (en) System for switching between two different operating systems by invoking the server to determine physical conditions to initiate a physical connection transparent to the user
JP3601955B2 (ja) データ転送方法およびそれに適した計算機システム
US5287453A (en) Fast remote file access facility for distributing file access requests in a closely coupled computer system
US5165018A (en) Self-configuration of nodes in a distributed message-based operating system
KR960003413B1 (ko) 데이타 처리 시스템
JPH0823825B2 (ja) 分散アプリケーシヨン・プログラムの実行方法
CN101207516B (zh) 单片电路和模块系统中的管理控制器远程安装性能的改进
JPH02148224A (ja) 時間開始タスクのスケジユーリング方法
CN115080479B (zh) 传输方法、服务器、设备、裸金属实例及基板管理控制器
KR100954661B1 (ko) Sm버스에 대한 aml 액세스를 용이하게 하는 시스템과, sm버스 이벤트 핸들링 시스템, 방법 및 컴퓨터 판독가능 매체
US10824486B1 (en) Two-way clipboard exchange in virtual console
CN101411165B (zh) 利用代理服务器控制嵌入式设备与外部的通信的方法和设备
US6757904B1 (en) Flexible interface for communicating between operating systems
JPH10207814A (ja) コンピュータ・システム及びバス操作方法
KR100334903B1 (ko) 내장형 실시간 소프트웨어의 원격 개발을 위한 타겟 서버 장치 및 그 제어 방법
US20060242258A1 (en) File sharing system, file sharing program, management server and client terminal
US7552440B1 (en) Process communication multiplexer
US6308167B1 (en) Computer system using a queuing system and method for managing a queue and heterogeneous data structures
US20030041190A1 (en) System and method for efficiently performing a command swapping procedure
JP3884239B2 (ja) サーバ計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070404