Specifications
SATA-IO Confidential 20
2.2.4. NCQ-04 : Device response to malformed NCQ command
2.2.4.1. Device Expected Behavior
See section 13.5.2.and 13.5.4.1 of Serial ATA Revision 2.6.
Malformed commands could include the following situations:
• Specified LBA is out of the device supported range
• Duplicate tag value for outstanding NCQ command
• TAG value is out of the device supported range, only in the case that the device reports support for less than
32 outstanding commands
In response to a malformed READ FPDMA QUEUED or WRITE FPDMA QUEUED command due to a duplicate tag
or out of range tag, the device shall transmit a Register FIS to the host with the ERR bit set to one, and the BSY bit
cleared to zero in the Status register. The ‘I’ bit shall be set to one. The ABRT bit shall be set in the Error field. The
device shall stop processing commands until a READ LOG EXT command with a specified log page of 10h or reset is
issued. Upon receipt of the READ LOG EXT command, the device shall send a Set Device Bits FIS to discard all
commands in the pending device queue, followed by data for the log page. The READ LOG EXT page shall have the
NQ bit cleared to zero. The TAG field within the log page shall contain the tag associated with the NCQ command
which failed.
In response to a malformed READ FPDMA QUEUED or WRITE FPDMA QUEUED command due to an LBA out of
range, the device may report the error in one of two ways:
• Transmit a Register FIS to the host with the ERR bit set to one, and the BSY bit cleared to zero in the Status
register. The ‘I’ bit shall be set to one. Either the ABRT bit or IDNF bit shall be set to one in the Error field.
The device shall stop processing commands until a READ LOG EXT command with a specified log page of
10h or reset is issued. Upon receipt of the READ LOG EXT command, the device shall send a Set Device
Bits FIS to discard all commands in the pending device queue, followed by data for the log page. The READ
LOG EXT page shall have the NQ bit cleared to zero. The TAG field within the log page shall contain the tag
associated with the NCQ command which failed.
• If the device accepts the command, then the device shall report the error within a subsequent Set Device Bits
FIS. A Set Device Bits FIS shall be transferred with the ERR bit set to one, and the BSY bit cleared to zero in
the Status register. The ‘I’ bit shall set to one. Either the ABRT bit or IDNF bit shall be set to one in the Error
field. The device shall stop processing commands until a READ LOG EXT command with a specified log
page of 10h or reset is issued. Upon receipt of the READ LOG EXT command, the device shall send a Set
Device Bits FIS to discard all commands in the pending device queue, followed by data for the log page. The
READ LOG EXT page shall have the NQ bit cleared to zero. The TAG field within the log page shall contain
the tag associated with the NCQ command which failed.
• Check Word 76 bit 8 in IDENTIFY DEVICE (set to one)
Measurement Requirements
• If the above is true, then run the following test
o Issue an FPDMA command with one of the following (NOTE that the test shall be run a total of three
times to ensure each type of command listed below is used for the test):
LBA out of range (refer to Words 61:60 in IDENTIFY DEVICE data)
Duplicate tag for another outstanding NCQ command (will require other outstanding NCQ
commands)
Tag value out of device supported range (refer to Word 75 bits 4:0 in IDENTIFY DEVICE
data)
• Verify Register FIS receipt with Error
o Issue Read Log Ext to log page 10h
• If a Register FIS is not received with Error, then an SDB FIS receipt posting the error should be expected
o Issue Read Log Ext to log page 10h