English
Language : 

MC56U032DCCA Datasheet, PDF (38/64 Pages) Samsung semiconductor – Dual Voltage MultiMediaCard Specification
MultiMediaCardTM
The password protection feature enables the host to lock a card while providing a password, which
later will be used for unlocking the card. The password and its size are kept in a 128-bit PWD and 8-bit
PWD_LEN registers, respectively. These registers are non-volatile so that a power cycle will not erase
them. Locked cards respond to (and execute) all commands in the "basic" command class (class 0)
and “lock card” command class. Thus the host is allowed to reset, initialize, select, query for status,
etc., but not to access data on the card. If the password was previously set (the value of PWD_LEN is
not‘0’) will be locked automatically after power on. Similar to the existing CSD and CID register write
commands the lock/unlock command is available in "transfer state" only. This means that it does not
include an address argument and the card has to be selected before using it. The card lock/unlock
command has the structure and bus transaction type of a regular single block write command. The
transferred data block includes all the required information of the command (password setting mode,
PWD itself, card lock/unlock etc.). The following table describes the structure of the command data
block.
Table 4-9 Card Lock Data Structure
Byte#
Bit7
0
1
2
…
PWD_LEN+1
Bit6
Bit5
Reserved
Bit4
Bit3
ERASE
PWD_LEN
Bit2
LOCK_
UNLOCK
Bit1
CLR_
PWD
Password data
Bit0
SET_
PWD
* ERASE: 1 Defines Forced Erase Operation (all other bits shall be ‘0’) and only the cmd byte is sent.
* LOCK/UNLOCK: 1 = Locks the card. 0 = Unlock the card (note that it is valid to set this bit together
with SET_PWD but it is not allowed to set it together with CLR_PWD).
* CLR_PWD: 1 = Clears PWD.
* SET_PWD: 1 = Set new password to PWD
* PWD_LEN: Defines the following password length (in bytes).
* PWD: The password (new or currently used depending on the command).
The data block size shall be defined by the host before it sends the card lock/unlock command. This
will allow different password sizes. The following paragraphs define the various lock/unlock
command sequences:
* Setting the Password
- Select a card (CMD7), if not previously selected already
- Define the block length (CMD16), given by the 8bit card lock/unlock mode, the 8-bit password
Size (in bytes), and the number of bytes of the new password. In case that a password
replacement is done, then the block size shall consider that both passwords, the old and the new
one, are sent with the command.
- Send Card Lock/Unlock command with the appropriate data block size on the data line including
16 bit CRC. The data block shall indicate the mode (SET_PWD), the length (PWD_LEN) and the
password itself. In case that a password replacement is done, then the length value (PWD_LEN)
shall include both passwords, the old and the new one, and the PWD field shall include the old
password (currently used) followed by the new password.
In case that the sent old password is not correct (not equal in size and content) then
LOCK_UNLOCK_FAILED error bit will be set in the status register and the old password
38