Dela via


Felkontroller för SCSI Miniport-felsökning

Det finns främst två buggkontroller som uppstår under felsökningen av en SCSI-miniportdrivrutin: felkontroll 0x77 (KERNEL_STACK_INPAGE_ERROR) och 0x7A (KERNEL_DATA_INPAGE_ERROR). Fullständig information om parametrarna finns i Felkontroll 0x77 och Felkontroll 0x7A.

Var och en av dessa felkontroller anger att ett pagineringsfel har inträffat. Det finns tre huvudsakliga orsaker till dessa felkontroller:

  • Fullständig bussåterställning på grund av en timeout på en viss enhet eller ingen aktivitet på en adapter.

  • Tidsgräns för val

  • Kontrollerfel

För att fastställa den exakta orsaken till felet börjar du med tillägget !scsikd.classext , som visar information om nyligen misslyckade begäranden, inklusive SRB-status, SCSI-status och avkänningsdata för begäran.

kd> !scsikd.classext 816e96b0
Storage class device 816e96b0 with extension at 816e9768

Classpnp Internal Information at 817b4008

    Failed requests:

           Srb    Scsi
    Opcode Status Status Sense Code  Sector   Time  Stamp
    ------ ------ ------ ---------- -------- ------------
      2a     0a     02    03 0c 00  0000abcd 23:01:07.453  Retried
      28     0a     02    03 04 00  0000abcd 23:01:07.984  Retried

dt classpnp!_CLASS_PRIVATE_FDO_DATA 817b4008 -

...

I föregående exempel anger opcode-0x2A en skrivåtgärd och 0x28 anger en läsåtgärd. SCSI-statusen i exemplet är 02, vilket indikerar ett kontrollvillkor. Sense-koderna ger mer felinformation.

Som alltid ansvarar miniportdrivrutinsutvecklare för att associera felkoder från maskinvaran till SRB-statuskoderna. Vanligtvis förknippas timeouts med SRB 0x0A, koden för en urvalstidsgräns. SRB-0x0e associeras vanligtvis med en fullständig bussåterställning, men det kan också associeras med kontrollantfel.