Key Code Qualifier: Difference between revisions

Content deleted Content added
List of common SCSI KCQs: corrected formatting
Removing link(s) to "SCSI CDB": Deleted PROD.
 
(44 intermediate revisions by 33 users not shown)
Line 1:
{{Short description|Type of SCSI error code}}
'''Key Code Qualifier''' is a computer term used to describe an error-code returned by a [[SCSI]] device.
{{redirect|KCQ|the radio station in Saginaw, Michigan|WKCQ}}
 
'''Key Code Qualifier''' is an error-code returned by a [[SCSI]] device.
When a SCSI [[SCSI target|target]] device returns a [[SCSI check condition|check condition]] in response to a [[SCSI command|command]], the [[SCSI initiator|initiator]] usually then issues a [[SCSI Request Sense Command|SCSI Request Sense command]]. This process is part of a SCSI protocol called [[SCSI contingent allegiance condition|Contingent Allegiance Condition]]. The target will respond to the Request Sense command with a set of SCSI sense data which includes three fields giving increasing levels of detail about the error:
 
*K - sense key - 4 bits
When a SCSI [[SCSI target|target]] device returns a check condition in response to a [[SCSI command|command]], the [[SCSI initiator|initiator]] usually then issues a [[SCSI Request Sense Command|SCSI Request Sense command]]. This process is part of a SCSI protocol called Contingent Allegiance Condition. The target will respond to the Request Sense command with a set of [[SCSI Request Sense Command|SCSI sense data]] which includes three fields giving increasing levels of detail about the error:
*C - additional sense code (ASC) - 8 bits
*QK - additional sense codekey qualifier- 4 bits, (ASCQ)byte -2 8of bitsFixed sense data format)
*C - additional sense code (ASC) - 8 bits, (byte 12 of Fixed sense data format)
The initiator can take action based on just the K field which indicates if the error is minor or major. However all three fields are usually logically combined into a 20 bit field called Key Code Qualifier or KCQ. The specification for the target device will define the list of possible KCQ values. In practice there are many KCQ values which are common between different SCSI device types and different SCSI device vendors.
*Q - additional sense code qualifier (ASCQ) - 8 bits, (byte 13 of Fixed sense data format)
The initiator can take action based on just the K field which indicates if the error is minor or major. However all three fields are usually logically combined into a 20 bit field called Key Code Qualifier or KCQ. The specification for the target device will define the list of possible KCQ values. In practice there are many KCQ values which are common between different SCSI device types and different SCSI device vendors. Common values are listed below, you should consult your hardware specific documentation as well.
 
==List of common SCSI KCQs==
Line 16 ⟶ 19:
|0||5D||00||No sense - PFA threshold reached
|-
|rowspan="3836" valign="top"|Soft Error||1||01||00||Recovered Write error - no index
|-
|1||02||00||Recovered no seek completion
|-
Line 88 ⟶ 91:
|1||5D||00||PFA threshold reached
|-
|rowspan="15" valign="top"|Not Ready||2||04||00||Not Ready - Cause not reportable.
|1||5D||FF||PFA test warning
|-
|1||81||00||Internal logic failure
|-
|rowspan="20" valign="top"|Not Ready||2||04||00||Not Ready - start motor failed
|-
|2||04||01||Not Ready - becoming ready
Line 110 ⟶ 109:
|2||35||02||Not Ready - enclosure services unavailable
|-
|2||403A||8000||DiagnosticNot FailureReady - bring-up fail ormedium degradednot modepresent
|-
|2||403A||8101||DiagnosticNot FailureReady - Hardmedium Disknot Controllerpresent - tray closed
|-
|2||403A||8502||DiagnosticNot FailureReady - RAM microcodemedium not loadedpresent - tray open
|-
|2||403A||9003||DiagnosticNot FailureReady - RROmedium Calibrationnot present - loadable
|-
|2||3A||04||Not Ready - medium not present - medium auxiliary memory accessible
|2||40||91||Diagnostic Failure - Channel Calibration
|-
|2||40||92||Diagnostic Failure - Head Load
|-
|2||40||93||Diagnostic Failure - Write AE
|-
|2||40||94||Diagnostic Failure - 12V over current
|-
|2||40||95||Diagnostic Failure - Other spindle failure
|-
|2||40||B0||Diagnostic Failure - self-reset
|-
|2||4C||00||Diagnostic Failure - config not loaded
|-
|rowspan="2018" valign="top"|Medium Error||3||0302||00||Medium Error - writeNo Seek Complete fault
|-
|3||0C03||FF00||Medium Error - write recovery time limit exceededfault
|-
|3||10||00||Medium Error - ID CRC error
Line 147 ⟶ 136:
|-
|3||11||0B||Medium Error - unrecovered read error - recommend reassign
|-
|3||11||FF||Medium Error - read recovery time limit exceeded
|-
|3||14||01||Medium Error - record not found
Line 170 ⟶ 157:
|3||31||01||Medium Error - format command failed
|-
|3rowspan="23" valign="top"|Hardware Error|80|4||01||00||MediumHardware Error - datano auto-reallocatedindex or sector
|-
|rowspan="27" valign="top"|Hardware Error||4||01||00||Hardware Error - no index or sector
|-
|4||02||00||Hardware Error - no seek complete
Line 181 ⟶ 166:
|-
|4||11||00||Hardware Error - unrecovered read error in reserved area
|-
|4||15||01||Hardware Error - Mechanical positioning error
|-
|4||16||00||Hardware Error - Data Sync Mark error in reserved area
Line 189 ⟶ 176:
|-
|4||19||03||Hardware Error - defect list error in Grown List
|-
|4||31||00||Hardware Error - reassign failed
|-
|4||32||00||Hardware Error - no defect spare available
|-
|4||35||00||Hardware Error - enclosure services failure
|-
|4||35||01||Hardware Error - unsupported enclosure function
Line 202 ⟶ 189:
|4||35||04||Hardware Error - enclosure services refused
|-
|4||3E35||0305||Hardware Error - self-testenclosure services checksum failederror
|-
|4||3E||0400||Hardware Error - unablelogical tounit updatehas not self-test configured yet
|-
|4||403E||8001||Hardware Error - Degradelogical Mode.unit Diagnostic Fail.failed
|-
|4||403E||8102||Hardware Error - Degradetimeout Mode.on H/Wlogical Errorunit
|-
|4||403E||8503||Hardware Error - Degrade Mode. RAM microcode notself-test loaded.failed
|-
|4||40||90||Hardware Error - seek test failure
|-
|4||40||A0||Hardware Error - read/write test failure
|-
|4||40||B0||Hardware Error - device self-reset
|-
|4||403E||D004||Hardware Error - componentunable mismatchto update self-test log
|-
|4||44||00||Hardware Error - internal target failure
|-
|4rowspan="19" valign="top"|Illegal Request|81|5||1A||00||HardwareIllegal ErrorRequest - internalparm list logiclength error
|-
|4||82||00||Hardware Error - command timeout
|-
|rowspan="22" valign="top"|Illegal Request||5||1A||00||Illegal Request - parm list length error
|-
|5||20||00||Illegal Request - invalid/unsupported command code
Line 232 ⟶ 209:
|5||21||00||Illegal Request - LBA out of range
|-
|5||24||00||Illegal Request - invalid field in CDB (Command Descriptor Block)
|-
|5||25||00||Illegal Request - invalid LUN
Line 245 ⟶ 222:
|-
|5||26||04||Illegal Request - invalid release of persistent reservation
|-
|5||26||97||Illegal Request - invalid field parameter - TMS firmware tag
|-
|5||26||98||Illegal Request - invalid field parameter - check sum
|-
|5||26||99||Illegal Request - invalid field parameter - firmware tag
|-
|5||2C||00||Illegal Request - command sequence error
Line 270 ⟶ 241:
|5||55||04||Illegal Request - Insufficient Registration Resources
|-
|rowspan="2443" valign="top"|Unit Attention||6||28||00||Unit Attention - not-ready to ready transition (format complete)
|-
|6||29||00||Unit Attention - POR or device reset occurred
Line 307 ⟶ 278:
|-
|6||3F||03||Unit Attention - inquiry parameters changed
|-
|6||3F||04||Unit Attention - component device attached
|-
|6||3F||05||Unit Attention - device identifier changed
|-
|6||3F||9006||Unit Attention - invalidredundancy APMgroup parameterscreated or modified
|-
|6||3F||07||Unit Attention - redundancy group deleted
|-
|6||3F||08||Unit Attention - spare created or modified
|-
|6||3F||09||Unit Attention - spare deleted
|-
|6||3F||0A||Unit Attention - volume set created or modified
|-
|6||3F||0B||Unit Attention - volume set deleted
|-
|6||3F||0C||Unit Attention - volume set deassigned
|-
|6||3F||0D||Unit Attention - volume set reassigned
|-
|6||3F||0E||Unit Attention - reported LUNs data has changed
|-
|6||3F||0F||Unit Attention - echo buffer overwritten
|-
|6||3F||10||Unit Attention - medium loadable
|-
|6||3F||11||Unit Attention - medium auxiliary memory accessible
|-
|6||3F||12||Unit Attention - iSCSI IP address added
|-
|6||3F||13||Unit Attention - iSCSI IP address removed
|-
|6||3F||14||Unit Attention - iSCSI IP address changed
|-
|6||3F||15||Unit Attention - inspect referrals sense descriptors
|-
|6||3F||16||Unit Attention - microcode has been changed without reset
|-
|6||3F||17||Unit Attention - zone transition to full
|-
|6||3F||18||Unit Attention - bind completed
|-
|6||3F||19||Unit Attention - bind redirected
|-
|6||3F||911A||Unit Attention - world-widesubsidiary namebinding mismatchchanged
|-
|6||5D||00||Unit Attention - PFA threshold reached
|-
| rowspan="2" |Data Protect
|6||5D||FF||Unit Attention - PFA threshold exceeded
|7
|20
|02
|Access Denied - No Access Rights
|-
|Write Protect||7||27||00||Write Protect - command not allowed
|-
|rowspan="1314" valign="top"|Aborted Command||B||00||00||Aborted Command - no additional sense code
|-
|B||1B||00||Aborted Command - sync data transfer error (extra ACK)
Line 339 ⟶ 354:
|-
|B||49||00||Aborted Command - inappropriate/illegal message
|-
|B||55||03||Aborted Command - insufficient resources
|-
|B||4B||00||Aborted Command - data phase error
Line 347 ⟶ 364:
|-
|rowspan="40" valign="top"|Other||E||1D||00||Miscompare - during verify byte check operation
|-
|x||03||86||Write Fault Data Corruption
|-
|x||05||00||Illegal request
Line 361 ⟶ 376:
|-
|x||08||02||LUN communication parity error
|-
|x||08||03||LUN communication CRC error
|-
|x||09||00||vendor specific sense key
Line 378 ⟶ 395:
|x||0E||00||data miscompare
|-
|x||12||00||address mark not founffound for ID field
|-
|x||14||00||logical block not found
Line 393 ⟶ 410:
|-
|x||31||01||format failed
|-
|x||31||91||format corrupted
|-
|x||32||01||defect list update error
Line 424 ⟶ 439:
|x||65||00||voltage fault
|-
|x||80≥80||00x||generalVendor firmware errorspecific
|-
|x||x||≥80||Vendor specific
|-
|}
 
==ReferenceReferences==
* [ftphttp://ftpwww.t10.org/t10lists/drafts/spc4/ SPCasc-4]num.htm clauseT10: 4.5.6SCSI andASC/ASCQ annex D.2Assignments]
 
[[Category:SCSI]]