Symbian3/PDK/Source/GUID-0E5A241A-19F5-5754-B454-45747A8D80E1.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 14 578be2adaf3e
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-0E5A241A-19F5-5754-B454-45747A8D80E1" xml:lang="en"><title>SD Card
Overview</title><shortdesc>Description of SD card features available to application developers
and what a device creator must write to provide SD card support.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>SD memory cards (Secure Digital memory cards) are flash-based memory cards
designed to provide secure high capacity data storage. </p>
<p>The SD controller supports the <i>Simplified SD Physical layer specification
version 2.0</i> which is owned by the <i>SD Card Association</i> and the <i>SD
Group</i>. </p>
<p>The SD memory card standard is defined to be protocol forward compatible
with MultiMediaCard version 2.11 and it is possible for a MultiMediaCard to
be inserted into an SD memory card socket and host systems to support both
types of card. </p>
<section id="GUID-DDA73F0B-1F92-4A2E-A243-BD595BD1AB5F"><title>Purpose</title> <p>SD
cards are based on MultiMediaCards (MMC) but with additional functionality
detailed below. Symbian platform support for SD is built on top of the MMC
support. This section describes the additional functionality available to
applications using SD cards. This section also describes the additional work
required to support SD cards. </p> </section>
<section id="GUID-3C8A4D9E-52A4-4DDD-B831-09530C5D3927"><title>Required background</title> <p>You
should be familiar with the following: </p> <ul>
<li id="GUID-390334A3-BC5D-5E90-A114-E44C724DE63B"><p><xref href="GUID-79B2CF91-FB95-5E7C-81CC-235A6A660D88.dita">MMC
Controller</xref>  </p> </li>
<li id="GUID-C1841C2F-9D08-59D4-8183-6B1179D33763"><p> <xref href="http://www.sdcard.org/developers/tech/sdcard/pls/" scope="external">SD Simplified Specification</xref>  </p> </li>
</ul> </section>
<section id="GUID-3078C10F-852B-4B2A-A645-53B83E3A9601"><title>Key concepts
and terms</title> <p>An SD card is very similar to a MultiMediaCard (MMC)
but with additional features to support high capacity, high speed, secure
storage. </p> <p>As SD cards are very similar to MMC, you should read the
section on <xref href="GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita">MMC Controller
Architecture</xref> before reading the <xref href="GUID-114A23CF-BF8B-54F5-8AF6-FEF007891884.dita">SD
Controller</xref> documentation. </p> </section>
<section id="GUID-F62ED0EA-EC26-4BA9-8916-48CF9540F4A5"><title>Architecture</title> <p>SD
support is divided into two parts, the Platform Independent Layer (PIL) and
the Platform Specific Layer (PSL). </p> <p>The PIL is implemented as an E32
peripheral bus controller - <filepath>EPBUSSD.DLL</filepath> which is a kernel
extension and extends the functionality of the matching MMC library <filepath>EPBUSM.DLL</filepath>.
The <filepath>EPBUSSD.DLL</filepath> library consists of a generic peripheral
bus layer, which is identical to the one used for MMC, and a generic SD card
layer. The SD card layer is a superset of the MMC layer and derives additional
classes for SD cards from the MMC classes. These derived classes support the
additional features found in an SD card. </p> <p>The additional functionality
available in an SD card includes: </p> <ul>
<li id="GUID-832D06C4-3EA0-552B-8002-3CB9CB281BE7"><p>an optional 4-bit wide
data bus </p> </li>
<li id="GUID-04D41D5C-B0E4-51FE-96D8-561EADE20D11"><p>individual SD card addressing </p> </li>
<li id="GUID-B1EA016E-F935-5590-9446-86B0C4825B51"><p>support for card capacities
of 4Gb and above </p> </li>
<li id="GUID-741CF2BF-08A3-50C1-B3B8-DF616C9C5B28"><p>revised erase ranges
allowing smaller ranges to be erased from an SD card </p> </li>
<li id="GUID-BCEA1C92-84C5-5571-9AE0-BA7AC76B3003"><p>optional secure data
area for DRM - the Symbian platform does not provide support for using the
secure data area on an SD card. </p> </li>
</ul> <p>You, as a device creator, will need to write the PSL. Implementing
the PSL is described in <xref href="GUID-E194A923-99E7-5DC1-BB78-D050A4793A60.dita">SD
Controller PSL Implementation</xref>. </p> </section>
<section id="GUID-E171D6A0-8E46-4356-A41D-D76E866D8AFD"><title>Key Classes</title> <p>The
classes used for SD cards are SD specific versions of the classes used for
the MMC cards and the main SD-related are listed here. </p> <table id="GUID-42E860FB-DF1F-5F11-93EA-DAF25C892B9D">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Class</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p> <xref href="GUID-3DC34D4F-E693-3BF0-B5D6-DF22FCE37340.dita"><apiname>DSDStack</apiname></xref>  </p> </entry>
<entry><p>The stack of memory cards, derived from <xref href="GUID-B5193656-9819-3E00-A335-EEF1726115A5.dita"><apiname>DMMCStack</apiname></xref>.
Uses the star topography to identify each SD card rather than the bus topography
used by MMC. Also handles individual card initialization. </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-B170A819-C146-3DD2-85C2-69CC121A9023.dita"><apiname>TSDCard</apiname></xref>  </p> </entry>
<entry><p>Derived from <xref href="GUID-5B985623-6A0B-3FBB-90BD-367F25CC70E7.dita"><apiname>TMMCard</apiname></xref> but contains the erase sector
size and any special formatting requirements for the SD card. Includes information
from the SCR. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-F307971E-537A-44C8-8D52-41C762A3C347"><title>Typical uses</title> <p>The
typical uses for the SD card classes are the same as for MMC. </p> </section>
</conbody><related-links>
<link href="GUID-79B2CF91-FB95-5E7C-81CC-235A6A660D88.dita"><linktext>MMC Controller</linktext>
</link>
<link href="GUID-058BAEDF-5E04-5BB4-928F-0E0528FD9465.dita"><linktext>MultiMediaCard
Technology</linktext></link>
<link href="GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita"><linktext>MMC Controller
Architecture</linktext></link>
<link href="GUID-C059F39F-BC53-5C92-B05E-863B8CF22859.dita"><linktext>Command Objects</linktext>
</link>
</related-links></concept>