MultiMediaCard Product Manual
14
SanDisk MultiMediaCard Product Manual Rev. 2 © 2000 SANDISK CORPORATION
The MultiMediaCard supports three read/write
modes as shown in the above figure.
Stream Mode
In stream mode the host reads or writes continues
stream of data. The starting address is specified
in the read/write command and the operation
ends when the host sends a stop transmission
command.
In this mode there is no validity check on the
transferred data.
The start address for a read operation can be any
random byte address in the valid address space of
the memory card. For a write operation, the start
address must be sector aligned and the data length
must be an integer multiplication of the sector
length.
Single Block Mode
In this mode the host reads or writes one data
block in a pre-specified length. The data block
transmission is protected with 16 bit CRC which
is generated by the sending unit and checked by
the receiving unit.
The block length, for read operations, is limited
by the device sector size (512 bytes) but can be as
small as a single byte. Misalignment is not
allowed. Every data block must be contained in a
single physical sector.
The block length for write operations must be
identical to the sector size and the start address
aligned to a sector boundary.
Multiple Block Mode
This mode is similar to the single block mode, but
the host can read/write multiple data blocks ( a l l
have the same length) which will be stored or
retrieved from contiguous memory addresses
starting at the address specified in the command.
The operation is terminated with a stop
transmission command.
Misalignment and block length restrictions apply
to multiple blocks as well and are identical to the
single block read/write operations.
1.5.8.7
Data Protection in the Flash Card
Every sector is protected with an Error Correction
Code (ECC). The ECC is generated (in the memory
card) when the sectors are written and validated
when the data is read. If defects are found, the
data is corrected prior to transmission to the host.
1.5.8.8
Erase
The smallest erasable unit in the
MultiMediaCard is a sector. In order to speed up
the erase procedure, multiple sectors can be erased
in the same time. The erase operation is divided
into two stages:
Tagging - Selecting the Sectors for Erasing
To facilitate selection, a first command with the
starting address is followed by a second command
with the final address, and all sectors within this
range will be selected for erase. After a range is
selected, individual sectors (or groups) within
that range can be removed using the UNTAG
command.
Erasing - Starting the Erase Process
The sectors are grouped into erase groups of 16 or 32
sectors. Tagging can address sectors or erase
groups. Either an arbitrary set of sectors within a
single erase group, or an arbitrary selection of
erase groups may be erased at one time, but not
both together. That is, the unit of measure for
determining an erase is either a sector or an erase
group, but if a sector, all selected sectors must l i e
within the same erase group. Tagging and erasing
sectors must follow a strict command sequence.
1.5.8.9
Write Protection
The MultiMediaCard erase groups are grouped
into write protection groups. Commands are
provided for limiting and enabling write and
erase privileges for each group individually. The
current write protect map can be read using the
SEND_WRITE_PROT command.
In addition two, permanent and temporary, card
level write protection options are available. Both
can be set using the PROGRAM_CSD command
(see below). The permanent write protect bit, once
set, cannot be cleared. This feature is implemented
in the MultiMediaCard controller firmware and
not with a physical OTP cell.