Product manual
Secure Digital (SD) Card Protocol Description
SanDisk Industrial Grade SD Product Manual, Rev. 1.0 © 2003 SANDISK CORPORATION -4-21
Table 4-4. Block Read Commands (Class 2)
Cmd
Index
Type Argument Resp Abbreviation Command Description
CMD16 ac [31:0] block length R1 SET_BLOCKLEN Selects a block length (in bytes) for all following
block commands (read and write).
1
CMD17 adtc [31:0] data address R1 READ_SINGLE_
BLOCK
Reads a block of the size selected by the
SET_BLOCKLEN command.
2
CMD18 adtc [31:0] data address R1 READ_MULTIPLE_BLOCK Continuously send blocks of data until interrupted
by a stop transmission command.
CMD19 –
CMD23
Reserved
Table 4-5. Block Write Commands (Class 4)
Cmd
Index
Type Argument Resp Abbreviation Command Description
CMD24 adtc [31:0] data address R1 WRITE_BLOCK Writes a block of the size selected by the
SET_BLOCKLEN command.
3
CMD25 adtc [31:0] data address R1 WRITE_MULTIPLE_
BLOCK
Continuously writes blocks of data until a
STOP_TRANSMISSION follows.
CMD26 Not Applicable
CMD27 adtc [31:0] don’t care* R1 PROGRAM_CSD Programming of the programmable bits of the CSD.
* The bit places must be filled but the value is irrelevant.
Table 4-6. Write Protection (Class 6)
Cmd
Index
Type Argument Resp Abbreviation Command Description
CMD28* ac [31:0] data address R1b SET_WRITE_PROT This command sets the write protection bit of the
addressed group. The properties of write
protection are coded in the card specific data
(WP_GRP_SIZE).
CMD29* ac [31:0] data address R1b CLR_WRITE_PROT This command clears the write protection bit of
the addressed group.
CMD30* adtc [31:0] write protect
data address
R1 SEND_WRITE_
PROT
This command asks the card to send the status of
the write protection bits.
CMD31 Reserved
1) The default block length is as specified in the CSD (512 bytes). A set block length of less than 512 bytes will
cause a write error. The only valid write set block length is 512 bytes. CMD16 is not mandatory if the default is
accepted.
2) The data transferred must not cross a physical block boundary.
3) All data blocks are responded to with a data response token followed by a busy signal. The data transferred
must not cross a physical block boundary.