ATA 端口驱动程序概述

注意

ATA 端口驱动程序和 ATA 微型端口驱动程序模型将来可能会更改或不可用。 建议改用 Storport 驱动程序Storport 微型端口 驱动程序模型。

除了 SCSI 端口驱动程序Storport 驱动程序之外,Windows Vista 和 Windows 操作系统的更高版本还提供 ATA 端口驱动程序 (Ataport.sys) ,这是一种特别适合与 IDE 控制器配合使用的存储端口驱动程序。

ATA 端口驱动程序与其他系统提供的存储端口驱动程序之间的最显著区别是 ATA 端口驱动程序用于与其他驱动程序通信的协议。 所有其他系统提供的存储端口驱动程序使用 SCSI 请求块 (SDB) 来与更高级别的驱动程序(例如存储类驱动程序)和微型端口驱动程序进行通信。 ATA 端口驱动程序仅使用 SDB 与更高级别的驱动程序通信。 为了与其微型端口驱动程序通信,ATA 端口使用名为 IDE 请求块的数据包 (IRB) ,该数据包由 IDE_REQUEST_BLOCK 结构定义。 对于 ATA 设备的特征,IRB 比 SRB 设计得更好。

ATA 端口驱动程序与其他系统提供的存储驱动程序之间的另一个区别是,ATA 端口驱动程序保护 ATA 微型端口驱动程序免受 SCSI 标准定义的某些要求的影响。 例如,ATA 端口驱动程序使用 ATA 命令从 ATA 微型端口驱动程序收集等效的 SCSI 感知数据,转换数据,使其符合 SCSI 感知数据格式,并将数据传递给更高级别的驱动程序,就像它是 SCSI 感知数据一样。 因此,ATA 微型端口驱动程序不必直接响应来自更高级别的驱动程序对 SCSI 感知数据的请求。

ATA 微型端口驱动程序接口与 SCSI 端口驱动程序接口非常相似。 因此,如果已编写 SCSI 微型端口驱动程序,应能够轻松了解如何编写 ATA 微型端口驱动程序。 当前 ATA/ATAPI 技术的驱动程序(例如串行 ATA (SATA) )应使用性能更高的 Storport 微型端口接口。

操作系统与 ATA 端口驱动程序一起提供默认 ATA 微型端口驱动程序和默认控制器微型驱动程序。 系统提供的默认驱动程序适用于大多数控制器硬件,我们强烈建议尽可能使用默认微型驱动程序。