Share via


ATA ポート ドライバーの概要

Note

ATA ポート ドライバーと ATA ミニポート ドライバー モデルは、今後変更または使用できない可能性があります。 代わりに、Storport ドライバーStorport ミニポート ドライバー モデルを使用することをお勧めします。

SCSI ポート ドライバー および Storport ドライバーに加えて、 Windows Vista 以降のバージョンの Windows オペレーティング システムには、IDE コントローラーでの使用に特に適したストレージ ポート ドライバーである ATA ポート ドライバー (Ataport.sys) が用意されています。

ATA ポート ドライバーと他のシステム提供の記憶域ポート ドライバーの最も大きな違いは、ATA ポート ドライバーが他のドライバーとの通信に使用するプロトコルです。 他のすべてのシステム提供記憶域ポート ドライバーは、SCSI 要求ブロック (SRB) を使用して、記憶域クラス ドライバーなどの上位レベルのドライバーとミニポート ドライバーの両方と通信します。 ATA ポート ドライバーは、SRB を使用して上位レベルのドライバーとのみ通信します。 ミニポート ドライバーと通信するために、ATA ポートは、IDE 要求ブロック (IRB) と呼ばれるパケットを使用します。これは、IDE_REQUEST_BLOCK構造体によって定義されます。 IRB は、ATA デバイスの特性に合わせて SRB よりも優れた設計が行われます。

ATA ポート ドライバーと他のシステム提供の記憶域ドライバーのもう 1 つの違いは、ATA ポート ドライバーが SCSI 標準で定義されている特定の要件から ATA ミニポート ドライバーをシールドすることです。 たとえば、ATA ポート ドライバーでは、ATA コマンドを使用して、ATA ミニポート ドライバーから同等の SCSI センサー データを収集し、SCSI センサー データ形式に準拠するようにデータを変換し、SCSI センサー データであるかのように上位レベルのドライバーにデータを渡します。 したがって、ATA ミニポート ドライバーは、SCSI センサー データの上位レベルのドライバーからの要求に直接応答する必要はありません。

ATA ミニポート ドライバー インターフェイスは、SCSI ポート ドライバー インターフェイスによく似ています。 したがって、SCSI ミニポート ドライバーを既に記述している場合は、ATA ミニポート ドライバーを記述する方法を簡単に学習できるはずです。 シリアル ATA (SATA) などの現在の ATA/ATAPI テクノロジのドライバーは、より高いパフォーマンスの Storport ミニポート インターフェイスを使用する必要があります。

ATA ポート ドライバーと共に、オペレーティング システムは既定の ATA ミニポート ドライバーと既定のコントローラー ミニドライバーを提供します。 システムが提供する既定のドライバーは、ほとんどのコントローラー ハードウェアで動作し、可能な限り既定のミニドライバーを使用することを強くお勧めします。