Product manual

Secure Digital (SD) Card Protocol Description
SanDisk Industrial Grade SD Product Manual, Rev. 1.0 © 2003 SANDISK CORPORATION -4-17
4.7. Error Conditions
The following sections provide valuable information on error conditions.
4.7.1. CRC and Illegal Command
All commands are protected by CRC bits. If the addressed Industrial Grade SD Card’s CRC check fails, the card
does not respond and the command is not executed. The Industrial Grade SD Card does not change its state, and
COM_CRC_ERROR bit is set in the status register.
Similarly, if an illegal command has been received, an Industrial Grade SD Card shall not change its state, shall not
respond and shall set the ILLEGAL_COMMAND error bit in the status register. Only the non-erroneous state
branches are shown in the state diagrams (Figure 5-7 and Figure 5-8). Table 5-11 contains a complete state
transition description.
There are different kinds of illegal commands:
Commands belonging to classes not supported by the SD Card (e.g., write commands in read-only
cards).
Commands not allowed in the current state (e.g., CMD9 in Transfer State).
Commands not defined (e.g., CMD5).
4.7.2. Read, Write and Erase Time-out Conditions
The times after which a time-out condition for Read operations occur are (card independent) either 100 times
longer than the typical access times for these operations given below or 100ms. The times after which a time-out
condition for Write/Erase operations occur are (card independent) either 100 times longer than the typical program
times for these operations given below or 250ms. A card shall complete the command within this time period, or
give up and return an error message. If the host does not get any response with the given time out it should assume
the card is not going to respond anymore and try to recover (e.g., reset the card, power cycle, reject). The typical
access and program times are defined as follows:
Read
The read access time is defined as the sum of the two times given by the CSD parameters TAAC and NSAC. These
card parameters define the typical delay between the end bit of the read command and the start bit of the data block.
Write
The R2W_FACTOR field in the CSD is used to calculate the typical block program time obtained by multiplying
the read access time by this factor. It applies to all write/erase commands (e.g., SET(CLEAR)_WRITE_PROTECT,
PROGRAM_CSD(CID) and the block write commands).
Erase
The duration of an erase command will be (order of magnitude) the number of write blocks (WRITE_BL) to be
erased multiplied by the block write delay.