Specifications
©Copyright 2001-2013 SD Group (Panasonic, SanDisk, Toshiba) and SD Card Association
Physical Layer Simplified Specification Version 4.10
64
4.6 Error Conditions
4.6.1 CRC and Illegal Command
All commands are protected by CRC (cyclic redundancy check) bits. If the addressed card's CRC
check fails, the card does not respond and the command is not executed. The 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, a card shall not change its state, shall not response
and shall set the ILLEGAL_COMMAND error bit in the status register. Only the non-erroneous state
branches are shown in the state diagrams (see Figure 4-1 and Figure 4-13).
Table 4-34 contains a complete state transition description.
There are different kinds of illegal commands:
• Commands that belong to classes not supported by the card (e.g. write commands in read only
cards).
• Commands not allowed in the current state (e.g. CMD2 in Transfer State).
• Commands that are not defined (e.g. CMD5).
4.6.2 Read, Write and Erase Timeout Conditions
A card shall complete the command within the time period defined as follows or give up and return an
error message. If the host does not get any response with the given timeout it should assume that the
card is not going to respond and try to recover (e.g. reset the card, power cycle, reject, etc.).
4.6.2.1 Read
For a Standard Capacity SD Memory Card, the times after which a timeout condition for read
operations occurs are (card independent) either 100 times longer than the typical access times for
these operations given below or 100 ms (the lower of the two). The read access time is defined as
the sum of the two times given by the CSD parameters TAAC and NSAC (see Chapter 5.3). In the case
of a single read operation, these card parameters define the typical delay between the end bit of the
read command and the start bit of the data block. In the case of a multiple-read operation, they also
define the typical delay between the end bit of a data block and the start bit of next data block.
A High Capacity SD Memory Card and Extended Capacity SD Memory Card indicate TAAC and NSAC
as fixed values. The host should use 100 ms timeout (minimum) for single and multiple read operations
rather than using TAAC and NSAC.
4.6.2.2 Write
For a Standard Capacity SD Memory Card, the times after which a timeout condition for write
operations occurs are (card independent) either 100 times longer than the typical program times for
these operations given below or 250 ms (the lower of the two). 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 commands (e.g. SET(CLR)_WRITE_PROTECT, PROGRAM_CSD and the
block write commands). High Capacity SD Memory Card and Extended Capacity SD Memory Card
indicate R2W_FACTOR as a fixed value.
In case of High Capacity SD Memory Card, maximum length of busy is defined as 250ms for all write
operation.
While the card should try to maintain that busy indication of write operation does not exceed 250ms in
the case of SDXC card, if the card is not possible to maintain operations with 250ms busy, the card can
indicate write busy up to 500ms including single and multiple block write in the following scenarios:
a) The last busy in any write operation up to 500ms including single and multiple block write.
b) When multiple block write is stopped by CMD12, the busy from the response of CMD12 is up to
500ms.
c) When multiple block write is stopped by CMD23, the busy after the last data block is up to 500ms.