CRC and Illegal Commands Read, Write and Erase Time-out Conditions

Revision 1.0 MultiMediaCardRS-MultiMediaCard Product Manual © 2004 SanDisk Corporation 4-13 051304

4.5 Error Conditions

The following sections provide valuable information on error conditions.

4.5.1 CRC and Illegal Commands

CRC bits protect all commands. If the addressed MultiMediaCardRS-MultiMediaCard CRC check fails, the card does not respond and the command is not executed. The card does not change its state, and the COM_CRC_ERROR bit is set in the Status Register. Similarly, if an illegal command has been received, an MMCRS-MMC will not change its state or respond, and will set the ILLEGAL_COMMAND error bit in the Status Register. Only the non-erroneous state branches are shown in the state diagrams Figure 4-1 and Figure 4-2. Table 4-7 contains a complete state transition description. Different types of illegal commands include: • Commands belonging to classes not supported by the MMCRS-MMC e.g., IO command CMD39. • Commands not allowed in the current state e.g., CMD2 in Transfer State. • Commands not defined e.g., CMD6.

4.5.2 Read, Write and Erase Time-out Conditions

The period after which a time-out condition for readwriteerase operations occurs is card independent 10 times longer than the typical accessprogram times for the operations given in Table 4-3. A card will 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 any more and try to recover e.g., reset the card, power cycle, reject. The typical access and program times are defined as shown in Table 4-3. Table 4-3 Typical Access and Program Time Operation Definition 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 writeerase commands e.g., SETCLEAR_WRITE_PROTECT, PROGRAM_CSDCID and the block write commands. Erase The duration of an erase command will be order of magnitude the number of sectors to be erased multiplied by the block write delay. Revision 1.0 MultiMediaCardRS-MultiMediaCard Product Manual © 2004 SanDisk Corporation 4-14 051304

4.6 Commands