Data Write DC Characteristics on pages 285-286 have been updated.

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

4.10 Data Write

Single Block Write The host selects one card for data write operation by CMD7. The host sets the valid block length for block-oriented data transfer by CMD16. The basic bus timing for a write operation is shown in the Block Write Command timing diagram. The sequence starts with a single block write command, CMD24 that determines in the argument field the start address. The card responds on the CMD line, and the data transfer from the host starts N WR clock cycles after the card response was received. The data is suffixed with CRC check bits to allow the card to check it for transmission errors. The card sends back the CRC check result as a CRC status token on the data line. In the case of transmission error, the card sends a negative CRC status “101”. In the case of non-erroneous transmission, the card sends a positive CRC status “010” and starts the data programming procedure. Block Write Command Timing If the MultiMediaCardRS-MultiMediaCard does not have a free data receive buffer, it indicates this condition by pulling down the data line to low. The card stops pulling down the data line as soon as at least one receive buffer for the defined data transfer block length becomes free. This signaling does not give any information about the data write status that must be polled by the host. Multiple Block Write In multiple block write mode, the card expects continuous flow of data blocks following the initial host write command. The data flow is terminated by a stop transmission command CMD12. The Multiple Block Write Command timing diagram describes the timing of the data blocks with and without card busy signal. Multiple Block Write Command Timing In write mode, the stop transmission command works similarly to the stop transmission command in the read mode. The following figure describe the timing of the stop command in different card states. CMD E Z Busy CRC E DAT Z Z S Z Z Z Z Z P P P P P P P P P N CR Card Response E S E Z Content Host Command N WR Write Data CRC Status Z P P S Z Z Z Z PP Content CRC E Z Z S Status LL T CMD E Z Busy DAT Z Z PP S Z E P P P P P P P P P N WR E S Card Response N WR Write Data CRC Status Z P E Z S PP Data+CRC E Z Z S Status LL P P P P Data+CRC E Z Z S Status P PP Write Data CRC Status N W R Revision 1.0 MultiMediaCardRS-MultiMediaCard Product Manual © 2004 SanDisk Corporation 4-26 051304 Stop Transmission During Data Transfer from the Host The card will treat a data block as successfully received and ready for programming only if the CRC data of the block was validated and the CRC status token sent back to the host. The figure below is an example of an interrupted by a host stop command attempt to transmit the CRC status block. The sequence is identical to all other stop transmission examples. The end bit of the host command is followed, on the data line, with one more data bit, end bit and two Z clock for switching the bus direction. The received data block in this case is considered incomplete and will not be programmed. Stop Transmission during CRC Status Transfer from the Card All previous examples dealt with the scenario of the host stopping the data transmission during an active data transfer. The following two diagrams describe a scenario of receiving the stop transmission between data blocks. In the first example, the card is busy programming the last block while the card is idle as shown in the second diagram. However, there remains un-programmed data blocks in the input buffers. These blocks are being programmed as soon as the stop transmission command is received and the card activates the busy signal. Stop Transmission Received after Last Data Block—Card Busy Programming Stop Transmission Received after Last Data Block—Card becomes Busy Erase, Set and Clear Write Protect Timing The host must first tag the sectors to erase using the tag commands, CMD32-CMD37. The erase command, CMD38 once issued, will erase all tagged sectors. Similarly, set and clear write protect commands start a programming operation as well. The card will signal “busy” by pulling the DAT line low for the duration of the erase or programming operation. CMD S T DAT Z Z E S T Z Z Card Response Z Content Z Z P S E Z Z E Card is Programming Host Command Content P P T Content CRC CRC Z Host Command N CR Cycles D D D D D Z S D D D D D E L Z CMD S T DAT Z Z E S T Z Z Card Response Z Content Z Z P S E Z Z E Card is Programming Host Command Content P P T Content CRC CRC Z Host Command N CR Cycles D D D D Z Z S D Z S E L Z Data Block CRC CRC Status CMD S T DAT Z Z E S T Z Z Card Response Z Content Z Z P S E Z Z E Card is Programming Host Command Content P P T Content CRC CRC Z Host Command N CR Cycles S L L CMD S T DAT Z Z E S T Z Z Card Response Z Content Z Z P S E Z Z E Card is Programming Host Command Content P P T Content CRC CRC Z Host Command N CR Cycles Z Z Z Z Z Z S Z Z Z L Z Z L Revision 1.0 MultiMediaCardRS-MultiMediaCard Product Manual © 2004 SanDisk Corporation 4-27 051304

4.11 Timing Values