Solicitudes de almacenamiento en cola
Aunque es posible que un controlador de clase de almacenamiento configure colas internas para IRP, rara vez es necesario hacerlo y probablemente también degradar el rendimiento del controlador, ya que el controlador de puerto de almacenamiento ya mantiene las colas de dispositivos específicas del controlador para IRP creadas por el controlador. Tanto si un HBA determinado admite varios comandos pendientes (por ejemplo, cola etiquetada SCSI), los controladores de clase de almacenamiento pueden enviar cada solicitud a sus dispositivos a medida que cada IRP entra y depende del controlador de puerto proporcionado por el sistema o del HBA para controlar las solicitudes en cola de forma rápida.
Cuando se producen ciertos errores SCSI, el controlador de puerto del sistema bloquea la cola específica de LU adecuada y notifica al controlador de clase. Para obtener más información sobre el control de errores y la liberación de colas de solicitudes inmovilizadas, consulte lo siguiente:
Rutina ReleaseQueue del controlador de clase storage
Rutina interpretRequestSense del controlador de clase storage
Rutina retryRequest del controlador de clase de almacenamiento
Si un HBA admite la puesta en cola de comandos, como se indica en los datos devueltos STORAGE_ADAPTER_DESCRIPTOR, el controlador de clase establece SRB_FLAGS_QUEUE_ENABLE y usa el miembro QueueAction de los SRB que crea para controlar cómo se ponen en cola sus solicitudes.