RM6 raid error code descriptions

This document describes the various RM6 error codes returned by the Series 3 RAID controllers. On detection of an error condition, the controller will return a status of Check Condition on the command that had the error. The host should respond with a Request Sense command. On receipt of the Request Sense, the controller will return sense data, which includes the Sense Key, FRU Code, and ASC/ASCQ information, indicating the reason for the error condition.

Sense Keys

The possible Sense Keys returned by the RAID controller in the sense data, on receipt of a Request Sense command are shown below. The Sense Key is returned in byte 2 (zero-referenced) of the Request Sense data. The Sense Key may be thought of as a summary code for the error. More detailed information about the error is provided by the FRU and ASC/ASCQ codes described in the next sections.

(0x00)-No Sense The controller has no errors to report at this time.

(0x01)-Recovered Error The controller detected the error, but was able to recover from it.

(0x02)-Not Ready The controller is in the process of finishing initialization, and will not allow hosts access to user data until it is ready.

(0x03)-Media Error A drive attached to the controller detected a media error on itself.

(0x04)-Hardware Error This Sense Key is typically returned by the controller on most unrecoverable errors.

(0x05)-Illegal Request A command was issued to the controller that is not allowed (for example, access to a non-existent logical unit).

(0x06)-Unit Attention The controller is informing the host of an action it took to remedy an exception condition (for example, the controller marked a drive Failed, because the drive could no longer be accessed).

(0x0B)-Aborted Command The controller could not finish the requested operation. However, in the typical scenario, it will have taken some action to ensure that the error condition would not occur again. Therefore, the next time this same command is received, the same error condition should not occur.

(0x0E)-Miscompare A failed Verify operation, or a Verify with Parity Check operation failure will return a Sense Key of Miscompare.

Field Replaceable Units (FRU) code definitions

Each time an error is detected, the controller will put the Field Replaceable Unit (FRU) code of the failed component in the sense data (byte 14 (zero-referenced) in the sense data for the first error and bytes 26-33 (zero-referenced) for additional errors). To provide meaningful information for troubleshooting, the FRU codes have been grouped. The defined FRU groups are listed in the table below.

FRU CodeDescription
0x01 Host Channel Group
0x02 Controller Drive Interface Group
0x03 Controller Buffer Group
0x04 Controller ASIC Group
0x05 Controller Other Group
0x06 Subsystem Group
0x07 Not Used
0x08 Sub-enclosure Group
0x09-0x0F Reserved
0x10-0xFF Drive Groups

0x08Sub-Enclosure Group 0x09Reserved This group consists of the devices such as power supplies, environmental monitor, and other subsystem components in the sub-enclosure.

FRU CodeGroupDescription
0x01 Host Channel This group consists of the host SCSI bus, its SCSI interface chip, and all initiators and other targets connected to the bus.
0x02 Controller Drive Interface This group consists of the SCSI interface chips on the controller which connect to the drive buses.
0x03 Controller Buffer This group consists of the controller logic used to implement the on-board data buffer.
0x04 Controller Array ASIC This group consists of the ASICs on the controller associated with the RAID functions.
0x05 Controller Other This group consists of all controller-related hardware not associated with another group.
0x06 Subsystem This group consists of subsystem components that are monitored by the RAID controller, such as power supplies, fans, thermal sensors, and AC power monitors.
0x07 Not Used
0x08 Sub-enclosure This group consists of the devices such as power supplies, environmental monitor, and other sub system components in the sub-enclosure.
0x09-0x0F Reserved
0x10-0xFF Drive This group consists of a drive (embedded controller, drive electronics, and Head Disk Assembly), its power supply, and the SCSI cable that connects it to the controller; or supporting sub-enclosure environmental electronics. An FRU code denoting a drive contains the channel number (1-relative) in the upper nibble, and the drive's SCSI ID in the lower nibble. For example, a drive on the third channel, SCSI ID 2 would be denoted by an FRU code of 0x32.

Additional Sense Codes and Qualifiers

This section lists the Additional Sense Code (ASC), and Additional Sense Code Qualifier (ASCQ) values returned by the RAID controller in the sense data. The ASC and ASCQ provide detailed in formation about the specific error.

SCSI-2 defined codes are used whenever possible. Array specific error codes are used when nece ssary, and are assigned SCSI-2 vendor unique codes 0x80 to 0xFF.

The most probable Sense Keys (listed below for reference) returned for each error are also list ed in the table. Sense Keys of 6 in parentheses indicate that 6 (Unit Attention) would be the nominal Sense Key reported; however, the actual value would be that set in the "Sense Key for V endor-unique Conditions" field in the User-configurable options of the NVSRAM.

ASCs and ASCQs are normally returned in bytes 12 and 13 (zero-referenced) of the sense data. O n multiple errors (defined as errors that occurred on the same command, not necessarily as erro rs that occurred simultaneously), there may be additional ASCs and ASCQs in the ASC/ASCQ stack, which are bytes 22-25 (zero-referenced) of the sense data. In most cases, the first error det ected is stored in bytes 12 and 13 of the sense data; subsequent errors are stored in the ASC/A SCQ stack.

For a complete list of sense codes, review the raidcode.txt file.