Travelstar 5K160 (SATA) Hard Disk Drive Specification
66/167
13
Command Protocol
The commands are grouped into different classes according to the protocols followed for command
execution. The command classes with their associated protocols are defined below.
Please refer to Serial ATA Revision 1.0a (Section 9. device command layer protocol) and Serial ATA
II: Extensions to Serial ATA 1.0a (Section 4. Command layer) about each protocol.
For all commands, the host must first check if BSY=1, and should proceed no further unless and
until BSY=0. For all commands, the host must also wait for RDY=1 before proceeding.
A device must maintain either BSY=1 or DRQ=1 at all times until the command is completed. The
INTRQ signal is used by the device to signal most, but not all, times when the BSY bit is changed
from 1 to 0 during command execution.
A command shall only be interrupted with a COMRESET or software reset. The result of writing to
the Command register while BSY=1 or DRQ=1 is unpredictable and may result in data corruption. A
command should only be interrupted by a reset at times when the host thinks there may be a
problem, such as a device that is no longer responding.
Interrupts are cleared when the host reads the Status Register, issues a reset, or writes to the
Command Register.
“Timeout Values” on Page 5 shows the device timeout values.
13.1
Data In Commands
These commands are:
Device Configuration Identify
Identify Device
Read Buffer
Read Long
Read Multiple
Read Multiple Ext
Read Sector(s)
Read Sector(s) Ext
S.M.A.R.T. Read Attribute Values
S.M.A.R.T. Read Attribute Thresholds
S.M.A.R.T. Read log sector
Execution includes the transfer of one or more 512 byte (>512 bytes on Read Long) sectors of data
from the device to the host.
Note that the status data for a sector of data is available in the Status Register before the sector is
transferred to the host.
If the device detects an invalid parameter, then it will abort the command by setting BSY=0, ERR=1,
ABT=1.
If an error occurs, the device will set BSY=0, ERR=1, and DRQ=1. The device will then store the
error status in the Error Register. The registers will contain the location of the sector in error. The
erroneous location will be reported with CHS mode or LBA mode, the mode is decided by mode select
bit (bit 6) of Device register on issuing the command.
If an Uncorrectable Data Error (UNC=1) occurs, the defective data will be transferred from the
media to the sector buffer, and will be available to be transferred to the host, at the host’s option. In
case of Read Multiple command, the host should complete transfer the block which includes the error
from the sector buffer and terminate whatever kind of type of error occurred.
All data transfers to the host through the Data Register are 16 bits, except for the ECC bytes, which
are 8 bits.