Specifications

©Copyright 2001-2013 SD Group (Panasonic, SanDisk, Toshiba) and SD Card Association
Physical Layer Simplified Specification Version 4.10
34
Important Note: The card de-selection is done if certain card gets CMD7 with un-matched RCA. That
happens automatically if selection is done to another card and the CMD lines are common. So, in SD
Memory Card system it will be the responsibility of the host either to work with common CMD line (after
initialization is done) - in that case the card de-selection will be done automatically or if the CMD lines
are separate then the host shall be aware to the necessity to de-select cards.
All data communication in the Data Transfer Mode is point-to point between the host and the selected
card (using addressed commands). All addressed commands get acknowledged by a response on the
CMD line.
The relationship between the various data transfer modes is summarized below.
All data read commands can be aborted any time by the stop command (CMD12). The data transfer
will terminate and the card will return to the Transfer State. The read commands are such as block
read (CMD17), multiple block read (CMD18), send write protect (CMD30), send SCR (ACMD51)
and general command in read mode (CMD56). (Refer to Figure 4-13 for more details.)
All data write commands can be aborted any time by the stop command (CMD12). The write
commands shall be stopped prior to deselecting the card by CMD7. The write commands are such
as block write (CMD24 and CMD25), program CSD (CMD27), lock/unlock command (CMD42) and
general command in write mode (CMD56). (Refer to Figure 4-13 for more details.)
As soon as the data transfer is completed, the card 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.
The card may provide buffering for 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 card is in Programming State (see SD Memory Card
state diagram Figure 4-13 ), the DAT0 line will be kept low (BUSY).
There is no buffering option for write CSD, write protection and erase. This means that while the
card is busy servicing any one of these commands, no other data transfer commands will be
accepted. DAT0 line will be kept low as long as the card is busy and in the Programming State.
Actually if the CMD and DAT0 lines of the cards are kept separated and the host keep the busy
DAT0 line disconnected from the other DAT0 lines (of the other cards) the host may access the
other cards while the card is in busy.
Parameter set commands are not allowed while card is programming.
Parameter set commands are: set block length (CMD16), erase block start (CMD32) and erase
block end (CMD33).
Read commands are not allowed while card is programming.
Moving another card from Stand-by to Transfer State (using CMD7) will not terminate erase and
programming operations. The card will switch to the Disconnect State and will release the DAT line.
A card can be reselected while in the Disconnect State, using CMD7. In this case the card will move
to the Programming State and reactivate the busy indication.
Resetting a card (using CMD0 or CMD15) will terminate any pending or active programming
operation. This may destroy the data contents on the card. It is the host's responsibility to prevent
this.
CMD34-37, CMD50 and CMD57 are reserved for SD command system expansion. State transitions
for these commands are defined in each command system specification.