MultiMediaCard
TM
56
Sep.22.2005
Revision 0.3
6.5 Error Conditions
6.5.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, the 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 dia-
grams (see Figure 6-1 to Figure 6-2 ). Table 6-18 contains a complete state transition description.
There are different kinds of illegal commands:
Commands which 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 which are not defined (e.g. CMD44).
6.5.2 Read, Write, Erase And Force Erase Time-out Conditions
The times after which a time-out condition for read/write/erase operations occurs are (card independent)
10 times longer
than the typical access/program times for these operations given below. A card shall complete the command within this
time period, or give up and return an error message. If the host does not get a response within the defined 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, etc.).
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 (see Chapter
6.11). 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 to be erased multiplied by the
block write delay.
Force Erase
The duration of the Force Erase command using CMD42 is specified to be a fixed time-out of 3 minutes.
6.6 Minimum Performance
A MMCplus and MMCmobile card has to fullfill the requirements set for the read and write access performance.
6.6.1 Speed Class Definition
The speed class definition is for indication of the minimum performance of a card. The classes are defined based on the
150kB/s base value. The minimum performance of the card can then be marked by defined multiples of the base value
e.g. 2.4MB/s. Only following speed classes are defined (note that MMCplus and MMCmobile cards are always including
8bit data bus and the categories below states the configuration with which the card is operated):