Go to main content
Oracle® Solaris 11.3 デバイスドライバの記述

印刷ビューの終了

更新: 2016 年 11 月
 
 

SCSI インタフェース

SCSA は、ターゲットドライバからホストアダプタドライバに SCSI コマンドを転送するための DDI/DKI プログラミングインタフェースです。SCSA に従うことで、ターゲットドライバは SCSI コマンドとシーケンスのどのような組み合わせでも簡単にターゲットデバイスに渡すことができます。ホストアダプタのハードウェア実装の知識は必要ありません。概念上、SCSA は SCSI コマンドを構築することと、データとともにコマンドを SCSI バスにトランスポートすることを区別しています。SCSA は、次の図に示すように、HBA トランスポート層を通じて、ターゲットドライバと HBA ドライバ間の接続を管理します。

図 16  SCSA インタフェース

image:図は、ターゲットドライバと SCSI デバイスの間にあるホストバスアダプタのトランスポート層を示しています。

HBA トランスポート層は、SCSI コマンドの SCSI ターゲットデバイスへのトランスポートを担当するソフトウェアとハードウェアの層です。HBA ドライバは、SCSA 経由で SCSI ターゲットドライバが発行する要求に応えて、リソースの割り当て、DMA 管理、およびトランスポートの各サービスを提供します。また、コマンドの実行に必要なホストアダプタハードウェアと SCSI プロトコルの管理も行います。コマンドが完了すると、HBA ドライバはターゲットドライバの SCSI pkt コマンド完了ルーチンを呼び出します。

次の例は、ターゲットドライバから SCSA、さらに HBA ドライバへの転送に重点を置いて、この流れを示しています。この図には、一般的なトランスポートのエントリポイントと関数呼び出しも示されています。

図 17  トランスポート層の流れ

image:図は、HBA トランスポート層を経由してコマンドがどのようにトランスポートされるかを示しています。