This message is from the T13 list server.
Dear all,
ATA/ATAPI-6 specification seems to have contradition between
command abortion for IDENTIFY DEVICE and IDENTIFY PACKET DEVICE
commands. Could anyone tell me whether IDENTIFY DEVICE command shall be
aborted by packet devices and IDENTIFY PACKET DEVICE command be aborted
by non-packet devices?
In clause 8.15.5.2 on page 111 of ATA/ATAPI-6, it says that the
IDENTIFY DEVICE command shall be aborted for devices that implement the
PACKET Command feature set.
In clause 8.16.6 on page 133 of ATA/ATAPI-6, it says that the
device shall return command aborted if the device does not implement
IDENTIFY PACKET DEVICE command. Moreover, in clause 8.16.2, it
indicates that the IDENTIFY PACKET DEVICE command is use prohibited for
devices not implementing the PACKET Command feature set.
With conlusion from the above two blocks of texts, IDENTIFY DEVICE
command shall be aborted by packet device, while IDENTIFY PACKET DEVICE
command shall be aborted by non-packet device. In addition, clause
6.8.1 also says that the IDENTIFY DEVICE command shall not be executed
but shall be command aborted for packet device.
However, in clause 8.15.2 on page 111, it says that IDENTIFY DEVICE
command is applicable to devices implementing the PACKET Command feature
set and is mandatory for all devices. In addition, in clause 6.4.2 on
page 24, it shows that IDENTIFY DEVICE command is also mandatory for all
devices implementing the PACKET command feature set.
Therefore, contraditions exist between the two kinds of recognition.
Which recognition is correct? Currently, I adopt the recognition that
IDENTIFY DEVICE command shall be aborted by packet devices and IDENTIFY
PACKET DEVICE command shall be aborted by non-packet devices.
Best regards,
Kepler