Udostępnij przez


Kolejkowanie żądań przechowywania

Chociaż sterownik klasy magazynu może skonfigurować wewnętrzne kolejki dla IRP, rzadko jest to konieczne i prawdopodobnie obniży wydajność sterownika, ponieważ sterownik portu magazynu obsługuje już kolejki urządzeń specyficznych dla LU dla IRP. Niezależnie od tego, czy HBA obsługuje wiele oczekujących poleceń (na przykład kolejkowanie oznaczone tagiem SCSI), sterowniki klasy pamięci mogą wysyłać każde żądanie do swoich urządzeń w momencie otrzymania każdego IRP oraz polegać na dostarczonym przez system sterowniku portu lub HBA do szybkiej obsługi żądań w kolejce.

W przypadku wystąpienia niektórych błędów SCSI sterownik portu systemowego zawiesza odpowiednią kolejkę specyficzną dla LU i powiadamia sterownik klasy. Aby uzyskać więcej informacji na temat obsługi błędów i zwalniania zablokowanych kolejek żądań, zobacz następujące artykuły:

Procedura ReleaseQueue sterownika klasy przechowywania

Procedura sterownika klasy magazynowania InterpretRequestSense

Procedura RetryRequest sterownika klasy Storage

Jeśli karta HBA obsługuje kolejkowanie poleceń, jak wskazano w zwróconych danych STORAGE_ADAPTER_DESCRIPTOR, sterownik klasy ustawia SRB_FLAGS_QUEUE_ENABLE i używa członka QueueAction tworzonych przez niego SRB-ów w celu kontrolowania sposobu kolejkowania żądań.