# Multimedia Card

Eine Multimedia Card (MMC) ist ein digitales Speichermedium.
Der MMC-Standard wurde 1997 von der Siemens-Tochter Ingentix zusammen mit SanDisk entwickelt. Eine Multimedia Card speichert Daten mittels Flash-Speicherung. Sie ist 24 mm × 32 mm × 1,4 mm (Full Size) groß und besitzt sieben Pins, die über einen integrierten Controller mit 1 Bit Busbreite und 20 MHz Taktrate angesteuert werden. Die Speicherkapazität liegt zwischen 2 MB und 4 GB. Die Schreib­geschwindigkeit beträgt 2,5 MB/s. Verwendet wurden MMCs beispielsweise in Digitalkameras, MP3-Playern, PDAs, Druckern und Handys.
Im Februar 2004 wurde von der MMCA (Multimedia Card Association) der Standard MMC 4.0 vorgestellt. Er unterstützt durch die 13 Pins auf 4 Bit und 8 Bit gesteigerte Busbreite und höhere Taktrate auf 26 MHz und 52 MHz unter anderem höhere Lese- und Schreib­geschwindigkeiten und Speicherkapazitäten größer 4 GB. Mit der Taktfrequenz von 26 MHz oder optionalen 52 MHz erreichen die MMCplus und MMCmobile im 8-Bit-Modus eine maximale Datenrate von 26 MByte/s bzw. 52 MByte/s. Da die Hersteller für Version-4.1-Karten nach eigenem Ermessen die neuen Markennamen (MMCplus und MMCmobile) oder die generischen Bezeichnungen (MMC und RS‑MMC) verwenden dürfen, sind diese ggf. an den zweireihigem Kontaktleisten erkennbar.
Die Multimedia Card ist mit Ausnahme der eMMC inzwischen praktisch von der SD Memory Card verdrängt worden.

## Entwicklungsgeschichte

* MMC v1.0 (September 1996)
* MMC v1.4 (Februar 1998)
* MMC v2.11 (Juni 1999)
** die SD-Karte basiert auf diesem Standard
* MMC v3.0 (Januar 2001)
* MMC v3.3 (März 2003)
** Einführung der MMC mit reduzierter Größe. Der englisch high voltage range ‚Hochvoltbereich‘ ist jetzt für alle Karten sowie für das OCR-Register und die CMD1-Implementierung obligatorisch.
* MMC v3.31 (Mai 2003)
** Dual Voltage Cards (1,8 V und 3,3 V)
* MMC v4.0 (Dezember 2003)
** Neue Funktionen: Hochgeschwindigkeitsschnittstelle, 4 und 8 Busbreiten, Leistungsklassen. Der SWITCH-Befehl wurde übernommen.
* MMC v4.1 (Januar 2005)
* MMC v4.x (April 2005)
** Breiterer Bus (4 oder 8 Bits)
** Schnellerer Bus (26 MHz oder 52 MHz)
** größere Speicherkapazität (> 4 GB)
** Kleinerer Formfaktor (MMCmicro)
** MMCplus
** SecureMMC
* eMMC (Dezember 2006)
* MMC v4.4 (März 2009)
* MMC v4.41 (März 2010)
* MMC v5.1A (Januar 2019)
** definiert Funktionen und Updates für eMMC, der in Smartphones und anderen Mobilgeräten weit verbreitet ist und ersetzt alle früheren Versionen.

## Offener Standard

Diese Technologie ist ein Standard, der jedem Unternehmen zur Verfügung steht, das darauf basierende Produkte entwickeln möchte. Für Geräte, die eine MMC hosten, wird keine Lizenzgebühr erhoben. Eine Mitgliedschaft bei der MMC Association muss erworben werden, um die Karten selbst herzustellen.
Online ist eine sehr detaillierte Version verfügbar, die wichtige Informationen zum Schreiben eines MMC-Treibers enthält.
Zum 23. September 2008 hat die MMCA-Gruppe alle Spezifikationen an die JEDEC-Organisation übergeben, einschließlich eingebetteter MMC- (eMMC) und miCARD-Assets.
Die Spezifikationsversion MMC v4.41 vom März 2010 und einige ältere (z. B. MMCA v4.4 vom März 2010, MMCA v4.3 vom Dezember 2007, MMCA v4.2 vom Juli 2007) kann nach der Registrierung bei JEDEC kostenlos heruntergeladen werden.
Seit Februar 2015 kann die Version MMC v5.1 bei JEDEC angefordert und nach der Registrierung bei JEDEC kostenlos heruntergeladen werden. Ältere Versionen als 4.2 des Standards sowie einige optionale Verbesserungen des Standards wie MiCard und SecureMMC müssen separat erworben werden.

## Reduced Size Multimedia Card

Die sogenannte RS‑MMC ist eine um die Hälfte verkleinerte Version der MMC, die insbesondere in Mobiltelefonen Verwendung fand. Über einen Adapter ist sie auch in normalen MMC-Geräten verwendbar. Die größten RS‑MMCs fassten beim Schlusspunkt der Entwicklung im Jahr 2007 4 GB. Die Karte ist 24 mm × 18 mm × 1,4 mm groß und die Pins waren identisch mit der Full-Size-Karte.
Einige spätere Geräte (meist Mobiltelefone) lieferten nur noch eine Versorgungsspannung von 1,8 Volt, in diesem Fall war eine Dual-Voltage-Karte erforderlich (RS‑MMC DV oder MMCmobile, ebenfalls bis 4 GB erhältlich). Diese Karten konnten dann mit zwei verschiedenen Betriebsspannungen von 1,8 V oder 3,3 V betrieben werden.
* Größenvergleich: links MMC, rechts RS‑MMC mit Adapter
* RS-MMC 32MB
* RS‑MMC DV (Standard MMS 4.x, 2 GB) mit Adapter
* Kontaktseite einer MMCmobile 256 MB

## Multimedia Card micro

Seit Anfang 2005 gab es auch die Speicherkarten MMCmicro. Diese Variante war nur noch rund ein Drittel so groß wie die RS‑MMC. Die Karte war lediglich 12 mm × 14 mm × 1,1 mm groß und damit kaum größer als ein Fingernagel. Sie unterstützt den Betrieb mit Datenbusbreite von 4 Bit, da keine zusätzlichen Pins vorhanden sind jedoch nicht 8 Bit.
Laut Samsung erreicht die Karte eine Leseleistung von 10 MB/s und eine Schreibrate von bis zu 7 MB/s. Die Karte wurde speziell für Mobiltelefone und Digitalkameras entwickelt. Sie arbeitet mit einer Betriebsspannung von 3,3 oder 1,8 Volt.
Die Karten waren bis zu einer Speichergröße von 16 GB erhältlich und konnten mittels eines Adapters, welcher meist beigelegt wurde, auch in MMC-Full-Size-Slots gelesen werden.

## Multiple-Interface Memory Card

miCARD ist eine vielseitige Speicherlösung und hat eine Größe von 12 × 21 × 1,95 mm. Sie verwendet die die MMC-Schnittstelle (Standard MMC 4.2) für interne Anwendungen (Datenübertragung mit geringem Stromverbrauch) und den USB 2.0-Standard für externe Anwendungen mit Übertragungsgeschwindigkeiten von bis zu 480 Mbit/s bei vollständiger Kompatibilität mit Elektrik, Mechanik und Software. Sie wird wie eine RS‑MMC zusammen mit Adapter geliefert; die eigentliche Karte passt in einen USB-Anschluss, während die Karte mit Adapter in herkömmliche MMC-Kartenschächte passt. Sie kam mit einer anfänglichen Kapazität von 8 GB im dritten Quartal 2007 auf den Markt.

## Secure MultiMedia Card

SecureMMC unterstützt OMA DRM 2.0 und Benutzerverschlüsselung; des Weiteren mehrere On-Card-Anwendungen und kann über Internetprotokollkanäle parallel mit dem Host und mit Remote-Servern kommunizieren. Der Standard SecureMMC 1.1 bzw. 2.0 ist zusätzlicher, optionaler Teil der MMC 4.x-Spezifikation.

## Embedded MultiMedia Card

Eine eMMC ist ein vom JEDEC spezifiziertes, auf dem MMC-Standard v5.1 aufbauendes energie- und platzsparendes Speichermedium, das für die Verwendung als interner Datenspeicher in mobilen Geräten entwickelt wurde. Sie unterstützt den Betrieb mit 8-Bit-Datenbusbreite. Damit ist der Datenbus doppelt so breit wie bei einer UHS-1-SD-Karte. Von der Leistung ist dieser Speicher vergleichbar mit einer SD-Karte und wird daher in kompakten Endgeräten verbaut. Da die eMMC bootfähig ist, ist dieses Speichermedium auch für Betriebssysteme wie Android, Chrome OS, iOS oder Windows geeignet. Die Speichergröße reichte im Jahr 2017 bis 256 GB.
Während ab 2018 nur wenige Unternehmen MMC-Steckplätze in Geräte einbauen, wird die eingebettete MMC (eMMC) in der Unterhaltungselektronik immer noch häufig als primäres Mittel zur integrierten Speicherung in tragbaren Geräten verwendet. Es bietet ein kostengünstiges bootfähiges Flash-Speichersystem und wird wie ein teures SSD eingebunden.
Insbesondere bei Smartphones werden eMMC vermehrt von UFS abgelöst, die deutlich höhere Schreib- und Lesegeschwindigkeiten erreichen.

## Andere

Im Jahr 2004 führten Seagate, Hitachi und andere eine Schnittstelle namens CE-ATA für Festplatten mit kleinem Formfaktor ein. Diese Schnittstelle war elektrisch und physikalisch mit der MMC-Spezifikation kompatibel. Die Unterstützung für die Weiterentwicklung des Standards endete jedoch 2008.

## Schnittstelle
### Befehlsschnittstelle

MMC-Karten und Host-Geräte kommunizieren zunächst über eine 1-Bit-Schnittstelle, bei der das Hostgerät ein Taktsignal von 400 kHz oder weniger bereitstellt. Beim ersten Einschalten oder Einlegen der Karte teilt das Hostgerät der MMC-Karte durch den Spannungspegel an Pin 1 mit, ob die Kommunikation mit dem SPI- oder dem synchronen MMC-Modus mit 1 Bit Datenbreite erfolgt. Das Hostgerät sendet 48-Bit-Befehle und empfängt Antworten. Sie verwenden zunächst eine elektrische 3,3-Volt-Schnittstelle.
Durch verschiedene Befehle kann das Hostgerät
* den Typ, die Speicherkapazität und die unterstützten Funktionen der MMC-Karte auslesen;
* der Karte befehlen, eine andere Spannung, eine andere Taktfrequenz oder anderen Übertragungsmodus zu verwenden;
* die Karte darauf vorbereiten, einen Block zum Schreiben in den Flash-Speicher zu erhalten, zu lesen und mit dem Inhalt eines angegebenen Blocks zu antworten.
Sofern die MMC-Karte dies unterstützt kann das Hostgerät danach Befehle zum Wechseln in den MMC-Modus mit 4 Bit oder 8 Bit Datenbreite, auf eine höhere Taktfrequenz oder den 1,8-Volt-Betrieb ausgeben. Das Hostgerät muss nicht die maximale Taktrate verwenden, die die Karte unterstützt. Es kann mit weniger als der maximalen Taktrate (z. B. 15 MHz) arbeiten, um Strom zu sparen.

### Übertragungsmodi

Bis MMC v3.x werden nur der SPI-Modus und MMC-Modus mit 1 Bit Datenbreite mit Taktfrequenzen von 0–20 MHz unterstützt, wobei der MMC-Modus eine höhere Übertragungsrate erreicht.
Ab MMC v4.x wird ermöglicht, dass durch das Übertragen mehrerer Bits auf jeden Taktimpuls (4-Bit-Modus, 8-Bit-Modus) und die möglichen höheren Taktfrequenzen (0–26 MHz, 0–52 MHz) die Übertragungsrate weiter erhöht wird (siehe Übersicht).
MMC-Karten können verschiedene Kombinationen der folgenden Übertragungsmodi unterstützen. Für alle Karten ist der MMC-Modus mit 1 Bit Datenbreite und der SPI-Modus obligatorisch.

#### SPI-Modus

    Der Serial Peripheral Interface Bus wird hauptsächlich von eingebetteten Mikrocontrollern verwendet. Dieser Bustyp unterstützt nur eine 3,3-Volt-Schnittstelle. Hosts (Lesegeräte) mit SPI-Modus unterstützen i. d. R. die MMC-Modi nicht.

#### MMC-Modus mit 1 Bit Datenbreite

    Durch den separaten Befehls- und Datenkanal bietet dieser Modus eine höhere Datenrate als der SPI-Modus. Hosts mit MMC-Modus unterstützen i. d. R. deshalb den SPI-Modus nicht.

#### MMC-Modus mit 4 Bit Datenbreite

    Verwendet zwei zusätzliche Pins (DAT1, DAT2) sowie einen neu zugewiesenen Pin (DAT3). Es ist das gleiche Protokoll wie bei 1 Bit Datenbreite, jedoch werden statt nur einer nun vier Datenleitungen verwendet, wodurch die Datenübertragungsrate erhöht wird.

#### MMC-Modus mit 8 Bit Datenbreite

    Verwendet weitere vier zusätzliche Pins (DAT4-DAT7). Es ist das gleiche Protokoll wie bei 4 Bit Datenbreite, jedoch werden statt vier nun acht Datenleitungen verwendet, wodurch die Datenübertragungsrate weiter erhöht wird.

### Anschlüsse

Zur Kommunikation mit dem Kartenleser besitzen ältere Full- und Reduced-Size-MMS-Karten 7 Pins, die neueren 13 Pins an der Unterseite. Die Pins 8 und 9 haben Kontaktmöglichkeiten sowohl in der ersten als auch zweiten Kontaktreihe.
Bei neueren MMCs die den optionalen 8-Bit-Busmodus nicht unterstützen, fehlt teilweise die zweite Kontaktreihe (z. B. beim MMCmicro-Adapter) und haben damit nur die Kontakte 1–9.
Die Pins 1–7 bzw. 1–9 der ersten Reihe sind an der gleichen Position wie bei den Full-Size-SD-Karten und haben auch dieselbe Funktion, die Pins 10–13 sind außerhalb der Kontaktmöglichkeit der SD-Spezifikation.
Die MMCmicro-Karten haben 10 Pins an der Unterseite.
Pin-Belegung :
| Pin | Pin | Pin | Pin | MMS-Bus-Modus | MMS-Bus-Modus | MMS-Bus-Modus | SPI-Modus | SPI-Modus | SPI-Modus | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| Full u. Reduced Size | Full u. Reduced Size | micro Adap­ter $^S$ | micro | Name | Typ $^T$ | Beschreibung | Name | Typ $^T$ | Beschreibung | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| bis v3.x | v4.x | micro Adap­ter $^S$ | micro | Name | Typ $^T$ | Beschreibung | Name | Typ $^T$ | Beschreibung | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| 1 | – | – | – | RSV | – | reserviert | CS | I | Chip Select (Active Low) | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | 1 | 1 | | DAT3 | I/O,PP | Datenleitung [Bit 3] | CS | I | Chip Select (Active Low) | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| 2 | 2 | 2 | | CMD | I/O,PP,OD | Befehl und Antwort | DI | I, PP | Data In | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| 3 | 3 | 3 | | VSS | G | Masse | VSS | G | Masse | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| 4 | 4 | 4 | | VDD | I | Stromversorgung | VDD | I | Stromversorgung | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| 5 | 5 | 5 | | CLK | I | Takt | CLK | I | Takt | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| 6 | 6 | 6 | | VSS | G | Masse | VSS | G | Masse | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| 7 | 7 | 7 | | DAT0 | I/O,PP | Datenleitung [Bit 0] | DO | O,PP | Data out | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | 8 | 8 | | DAT1 | I/O,PP | Datenleitung [Bit 1] | unbenutzt | unbenutzt | unbenutzt | | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | 9 | 9 | | DAT2 | I/O,PP | Datenleitung [Bit 2] | unbenutzt | unbenutzt | unbenutzt | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | 10 | – | – | DAT4 | I/O,PP | Datenleitung [Bit 4] | unbenutzt | unbenutzt | unbenutzt | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | 11 | – | – | DAT5 | I/O,PP | Datenleitung [Bit 5] | unbenutzt | unbenutzt | unbenutzt | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | 12 | – | – | DAT6 | I/O,PP | Datenleitung [Bit 6] | unbenutzt | unbenutzt | unbenutzt | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | 13 | – | – | DAT7 | I/O,PP | Datenleitung [Bit 7] | unbenutzt | unbenutzt | unbenutzt | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |
| – | – | – | | | | | unbenutzt | unbenutzt | unbenutzt | Pins zum Vergleich von MMC (v3.x), MMC (v4.x), MMCmicro-Adapter bzw. SD |

## Kompatibilität

Neuere MMC-Kartenleser (v4.x), die optionalen 8-Bit-Bus-Modus unterstützen, kontaktieren i. d. R. die Kontakte 1–7 der ersten Reihe und 8–13 der zweiten Reihe; die nur den 4-Bit-Bus-Modus unterstützen, haben z. T. nur die Kontakte 1–9 der ersten Reihe.
MMCs der verschiedenen MMC-Standards sind untereinander kompatibel, jedoch arbeiten MMCs ohne Dual Volt nicht auf 1,8-Volt-Geräten.
* Ältere MMC (7 Kontakte) sind aufwärts kompatibel mit neueren Full- bzw. Reduced-Size-MMC-Steckplatzen (13 Kontakte). Sie arbeiten max. im 1-Bit-Busmodus mit 20 MHz.
* Neuere Full- bzw. Reduced-Size-MMC (13 Kontakte) und MMCmicro-Karten mit Adapter (9 Kontakte) sind abwärts kompatibel mit älteren MMC-Steckplatzen (7 Kontakte). Da hier nur Pins 1–7 der äußere Kontaktreihe Verbindung haben, kann max. nur der 1-Bit-Busmodus mit 20 MHz benutzt werden.
Geräte mit SD-Memory-Card-Steckplatz (Full Size) sind in der Regel kompatibel zu Multimedia Cards. So lassen sich MMCs meist auch in Geräten betreiben, die für SD Memory Card ausgelegt sind. Da den SD-Karten die Unterstützung für einige MMC-Befehle fehlt, funktioniert das nur wenn diese vom (SD-)Host (z. B. Kartenleser) nicht benutzt werden. Wenn der Host nur den SPI-Modus und diesen auch die MMC-Karte unterstützt, funktioniert das immer.
* Bei älteren Full- bzw. Reduced-Size-MMC (7 Kontakte) ist volle Kompatibilität gegeben.
* Bei neueren Full- bzw. Reduced-Size-MMC (13 Kontakte) und MMCmicro-Karten mit Adapter hat nur die äußere Kontaktreihe der MMC (Pin 1–9) Kontakt, somit ist nur maximal der 4-Bit-Busmodus möglich.
MMCmicro-Karten sind nicht im microSD-Steckplatz benutzbar, da die beiden Formate inkompatible Pinbelegungen aufweisen.
Das Betreiben von SD-Karten in Geräten, die nur für MMC ausgelegt sind, ist hingegen nicht möglich. Um Fehlbenutzungen zu vermeiden, haben SD-Karten ein etwas dickeres Gehäuse und passen nicht in MMC-Steckplätze.

## Übersicht

maximale Datenrate in MB/s :
| Takt: | 20 MHz | 26 MHz | 52 MHz |
| SPI-Modus (ca.) | 01,3 | 01,6 | 03,3 |
| MMC-Modus mit 1 Bit | 02,5 | 03,25 | 06,5 |
| MMC-Modus mit 4 Bit | 10 | 13 | 26 |
| MMC-Modus mit 8 Bit | 20 | 26 | 52 |
Speicherkarten :
| Stan­dard | Typ | max. Spei­cher $^H$ (in GB) | Lese­rate (in MB/s) | Schreib­rate (in MB/s) | Größe (in mm) | Kon­takte | Betrieb mit | Betrieb mit | Bus­takt | Bus­takt | Bus­takt | SPI-Mode | MMC-Mode | MMC-Mode | MMC-Mode |
| Stan­dard | Typ | max. Spei­cher $^H$ (in GB) | Lese­rate (in MB/s) | Schreib­rate (in MB/s) | Größe (in mm) | Kon­takte | 1,8 V | 3,3 V | 20 MHz | 26 MHz | 52 MHz | 1 Bit | 1 Bit | 4 Bit | 8 Bit |
| 2.x | MMC | 004 | 002,3 | 002,3 | 24 × 32 × 1,4 | 07 | nein | ja | ja | nein | nein | ja | ja | nein | nein |
| 2.x | RS‑MMC | 004 | 002,3 | 002,3 | 24 × 18 × 1,4 | 07 | nein | ja | ja | nein | nein | ja | ja | nein | nein |
| 3.x | MMC DV | 004 | 002,3 | 002,3 | 24 × 32 × 1,4 | 07 | ja | ja | ja | nein | nein | ja | ja | nein | nein |
| 3.x | RS‑MMC DV | 004 | 002,3 | 002,3 | 24 × 18 × 1,4 | 07 | ja | ja | ja | nein | nein | ja | ja | nein | nein |
| 4.x | MMCplus, MMC $^G$ | 008 | 052 020 $^K$ | 052 017 $^K$ | 24 × 32 × 1,4 | 13 | teils | ja | ja | ja | teils | ja | ja | ja | ja |
| 4.x | MMCmobile, RS‑MMC $^G$, RS‑MMC DV $^G$ | 004 | 052 | 052 | 24 × 18 × 1,4 | 13 | ja | ja | ja | ja | teils | ja | ja | ja | ja |
| 4.x | MMCmicro | 016 | 026 010 $^K$ | 026 007 $^K$ | 12 × 14 × 1,1 | 10 09 $^A$ | ja | ja | ja | ja | ja | ja | ja | ja | nein |
| 4.x | miCard | 008 | | | 12 × 21 × 1,95 | | ja | ja | | | | | | | |
| 4.x | SecureMMC | 128 | | | 24 × 32 × 1,4 | 07 | ja | ja | ja | nein | nein | ja | ja | nein | nein |
| 4.x | SecureMMC | | | | 24 × 32 × 1,4 | 13 | ja | ja | ja | ja | ja | ja | ja | ja | ja |
| 5.x | eMMC | 256 | 250 | 125 | | — | | | | | | | | | ja |