
MultiMediaCard Flash
Preliminary MultiMediaCard Product Manual;
1998 SANDISK CORPORATION
Page 38 of 79
The host issues SEND_CSD (CMD9) to obtain the Card Specific Data (CSD register), e.g.
ECC type, block length, card storage capacity, maximum clock rate, etc.
MultiMediaCards which already have an RCA do not respond to the identification
command flow in this state.
All data communication in the Data Transfer Mode is point-to point between the host and
the selected MultiMediaCard (using addressed commands). All addressed commands are
acknowledged with a response on the CMD line.
The relationship between the various data transfer modes is summarized in the card state
diagram Figure 5-2, and in the following paragraphs:
All data read commands can be aborted any time by the stop command (CMD12). The
data transfer will terminate and the MultiMediaCard will return to the Transfer State.
The read commands are stream read (CMD11), block read (CMD17), multiple block
read (CMD18) and send write protect (CMD30).
All data write commands can be aborted any time by the stop command (CMD12). The
write commands must be stopped prior to deselecting the MultiMediaCard by CMD7.
The write commands are: stream write (CMD20), block write (CMD24 and CMD25),
write CID (CMD26), and write CSD (CMD27).
If a stream write operation is stopped prior to reaching the block boundary and partial
blocks are allowed (as defined in the CSD), the part of the last block will be packed as
a partial block and programmed. If partial blocks are not allowed, the data will be
discarded.
As soon as the data transfer is completed, the MultiMediaCard will exit the data write
state and move either to the Programming State (transfer is successful) or Transfer
State (transfer failed).
If a block write operation is stopped and the block length and CRC of the last block are
valid, the data will be programmed.
If data transfer in stream write mode is stopped, not byte aligned, the bits of the
incomplete byte are ignored and not programmed.
The MultiMediaCard may provide buffering for stream and block write. This means that
the next block can be sent to the card while the previous is being programmed. If all
write buffers are full, and as long as the MultiMediaCard is in Programming State (see
MultiMediaCard state diagram Figure 5-2), the DAT line will be kept low.
There is no buffering option for write CSD, write CID, write protection and erase. This
means that while the MultiMediaCard is busy servicing any one of these commands, no
other data transfer commands will be accepted. DAT line will be kept low as long as the
MultiMediaCard is busy and in the Programming State.
Parameter set commands are not allowed while the MultiMediaCard is programming.
Parameter set commands are: set block length (CMD16), and erase tagging/untagging
(CMD32-37).
Read commands are not allowed while the MultiMediaCard is programming.
Moving another MultiMediaCard from Stand-by to Transfer State (using CMD7) will not
terminate a programming operation. The MultiMediaCard will switch to the Disconnect
State and will release the DAT line.
An MultiMediaCard can be reselected while in the Disconnect State, using CMD7. In
this case the MultiMediaCard will move to the Programming State and reactivate the
busy indication.