CHAPTER 5 ATA Command Description
This section defines the software requirements and the format of commands the host sends to
CompactFlash Memory cards. Commands are issued to the card by loading the required
registers in the command block with the supplied parameters, and then writing the command
code to the Command Register. The manner in which a command is accepted varies. There are
three classes (see Table 5-1) of command acceptance, all dependent on the host not issuing
commands unless the card is not busy. (The BUSY bit in the status and alternate status registers
is 0.)
•Upon receipt of a Class 1 command, the card sets the BUSY bit within 400 nsec.
•Upon receipt of a Class 2 command, the card sets the BUSY bit within 400 nsec, sets up the
sector buffer for a write operation, sets DRQ within 700 µsec, and clears the BUSY bit
within 400 nsec of setting DRQ.
•Upon receipt of a Class 3 command, the card sets the BUSY bit within 400 nsec, sets up the
sector buffer for a write operation, sets DRQ within 20 msec (assuming no re-assignments),
and clears the BUSY bit within 400 nsec of setting DRQ.
5.1 ATA Command Set Table 5-1 summarizes the ATA command set with the paragraphs that follow describing the
individual commands and the task file for each.
Table 5-1 Primary and Secondary I/O Decoding
Class Command Code FR SC SN CY DH LBA
1 Check Power Mode E5h or 98h - - - - D -
1 Execute Drive Diagnostic 90h - - - - D -
1 Erase Sector(s)a C0h -Y Y Y Y Y
2 Format Track 50h - Y - Y Y Y
1 Identify Device ECh - - - - D -
1 Idle E3h or 97h - Y - - D -
1 Idle Immediate E1h or 95h - - - - D -
1 Initialize Drive Parameters 91h - Y - - Y -
1 Read Buffer E4h - - - - D -
1 Read DMA C8 or C9 - Y Y Y Y Y
1 Read Multiple C4h - Y Y Y Y Y
1 Read Long Sector 22h or 23h - - Y Y Y Y
1 Read Sector(s) 20h or 21h - Y Y Y Y Y
1 Read Verify Sector(s) 40h or 41h - Y Y Y Y Y
1 Recalibrate 1Xh - - - - D -
1 Request Senseb 03h - - - - D -
1 Seek 7Xh - - Y Y Y Y
1 Set Features EFh Y - - - D -
© 2007 SanDisk Corporation 5-1 Rev. 12.0, 02/07