Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um die Funktionen leistungsstarker Speicheradapter nutzen zu können, müssen Miniporttreiber die Kontrolle über ihre Gerätewarteschlangen ausüben, diese Warteschlangen anhalten und fortsetzen, um die Effizienz zu maximieren.
Im SCSI-Portwarteschlangenmodell ist die Warteschlangenverwaltung die exklusive Domäne des Porttreibers. Im Storport-Warteschlangenmodell stellt der Porttreiber mehrere Warteschlangenverwaltungsroutinen bereit, die dem Miniporttreiber eine erhebliche Menge an Warteschlangenverwaltungssteuerung bieten.
Im Storport-Warteschlangenmodell werden alle Anforderungen im Porttreiber in pro-logischer-Einheit-Warteschlangen eingereiht. Ohne erweiterte SRB-Unterstützung kann jede logische Einheit maximal 255 ausstehende Anforderungen aufweisen. Andernfalls ist die Warteschlangentiefe nur durch verfügbare Systemressourcen oder die Funktionen des Adapters begrenzt. Wenn das Limit für die Warteschlangentiefe erreicht ist, hält Storport weitere Anforderungen für diese logische Einheit zurück, bis die Anzahl der ausstehenden Anforderungen an die Einheit unter den Warteschlangengrenzwert sinkt.
Es gibt keine vordefinierten Grenzwerte von Storport für die Anzahl der ausstehenden Anforderungen, die ein Adapter haben kann. Beispielsweise könnte ein Adapter mit 55 angehängten logischen Einheiten und einer Warteschlangentiefe von 255 bis zu maximal 14.025 (55 x 255) Anforderungen gleichzeitig absetzen. Eine Beschreibung des Queue-Modells des Porttreibers finden Sie im folgenden Diagramm.
Porttreibers Warteschlangenmodell
Wenn der Adapter und eine logische Einheit für den Empfang einer Anforderung bereit sind, ruft das System die HwStorBuildIo - und HwStorStartIo-Routinen des Miniporttreibers in dieser Reihenfolge auf.
Im Gegensatz zum SCSI-Port ermöglicht Storport Miniporttreibern, den Porttreiber über ausgelastete Bedingungen zu benachrichtigen. Diese Kommunikation wird von den folgenden acht Routinen behandelt, die es dem Miniporttreiber ermöglichen, zu signalisieren, wenn entweder die logische Einheit oder der Adapter angehalten oder ausgelastet ist.
| Storport-Routine | Kriterienaktion |
|---|---|
Anhalten eines Geräts für einen bestimmten Zeitraum. |
|
Fortsetzen eines angehaltenen Geräts. |
|
Anhalten eines Adapters für einen bestimmten Zeitraum. |
|
Setzen Sie einen angehaltenen Adapter fort. |
|
Machen Sie ein Gerät ausgelastet, bis die Gerätewarteschlange eine bestimmte Anzahl von E/A-Anforderungen abgeschlossen hat. |
|
Stellen Sie ein ausgelastetes Gerät bereit, um Anforderungen erneut zu empfangen. |
|
Machen Sie einen Adapter ausgelastet, bis er eine bestimmte Anzahl von E/A-Anforderungen abgeschlossen hat. |
|
Stellen Sie einen ausgelasteten Adapter bereit, um Anforderungen erneut zu empfangen. |
Während ein Gerät angehalten oder ausgelastet ist, sendet der Porttreiber keine Anforderungen an das Gerät. Wenn ein Miniporttreiber eine Anforderung mit einem Beschäftigt-Status (SRB_STATUS_BUSY oder SCSISTAT_BUSY) abschließt, wird der Porttreiber die Anforderung beliebig oft wiederholen, bis die Anforderung fehlschlägt oder abgeschlossen ist.
Zusätzlich zur Bereitstellung einer Reihe expliziter Warteschlangenverwaltungsroutinen, die im SCSI-Portwarteschlangenmodell nicht verfügbar sind, verwendet das Storport-Warteschlangenmodell nicht die impliziten Warteschlangenverwaltungsroutinen, die der SCSI-Port verwendet hat. Insbesondere werden die Benachrichtigungen "NextRequest" und "NextLuRequest " ignoriert.