SCSI 端口驱动程序的队列管理

SCSI 主机适配器在可以处理的 I/O 请求量方面差异很大。 为了避免任何特定主机适配器的功能过大,存储类驱动程序或存储端口驱动程序必须能够控制 I/O 请求流。

在 Microsoft Windows 存储体系结构中,SCSI 端口驱动程序处理 I/O 流控制的大部分方面。 因此,存储类驱动程序可以将任意数量的 I/O 请求转发到 SCSI 端口,而无需测试特定适配器的限制。 SCSI 端口还接受来自存储类驱动程序的显式请求,以停止队列处理。

每当 SCSI 端口驱动程序停止处理排队的请求以响应基础硬件报告的错误情况时,它就会“冻结”其 I/O 请求队列。 每当 SCSI 端口停止处理以响应来自类驱动程序或其他某个更高级别的驱动程序的显式请求时,它即会“锁定”其 I/O 请求队列。

以下部分介绍导致 SCSI 端口更改其队列状态的条件。 它们还描述了更高级别的驱动程序可用于控制 SCSI 端口的内部 I/O 请求队列的 SRB。