将 Storport 与适配器配合使用的要求

为了提高性能和增强稳定性,Storport 不支持某些类型的设备(主要是具有有限功能集的较旧设备)。 除了降低性能之外,对这些设备的支持使端口驱动程序复杂化,从而减缓微型端口驱动程序开发和测试的速度。

以下列表详细介绍了设备、适配器和微型端口驱动程序必须支持的功能,才能使用 Storport:

  • 总线主控 DMA。 Storport 不支持编程 I/O 或从属模式 DMA。

  • 散点/收集 I/O。 微型端口驱动程序必须在其分散/聚集列表实现中至少支持 16 个物理中断。 与 Storport 配合使用的微型端口驱动程序应能够以与 SCSI 端口微型端口驱动程序相同的方式支持多达 255 个物理中断。

  • SCSI 标记排队。 Storport 驱动程序每个逻辑单元最多发出 254 个请求。 使用已知 SCSI 端口从未为每个适配器发出超过 254 个请求这一事实的 SCSI 端口微型端口驱动程序,必须进行修改以接受更多的请求。

  • SCSI 自动请求感知。 不支持禁用。

  • 支持更大的感知缓冲区。 使用 Storport 的微型端口驱动程序不得设计为使用固定大小的感测缓冲区。 微型端口驱动程序必须使用 SRB 中传递的大小。

  • 即插即用。 由于与 Storport 一起使用的微型端口驱动程序必须支持即插即用,因此端口驱动程序负责获取和管理所有共享资源。

  • 多层级重置。 适配器必须支持分层重置。 有关详细信息,请参阅 Storport 中的多层重置

  • 需要公开虚拟逻辑单元的 RAID 适配器才能支持 SCSI 查询重要产品数据页 00h、80h 和 83h。 例如,主机控制的 RAID 适配器必须响应 SCSI 查询命令,并将重要产品数据页设置为 01h,适用于以下页面:0(支持的产品数据页)、80h(单位序列号页)和 83h(设备标识页)。 这些命令可由适配器的固件处理,也可在微型端口驱动程序中合成。