Version 2 (modified by 7 years ago) ( diff ) | ,
---|
MultiMediaCard (MMC)
A MultiMediaCard (MMC) is a memory card standard used for solid-state storage typically used in digital cameras, smart-phones, and portable media players. There are several form-factors of cards that fall under the specification. MMC cards use the SDIO data bus standard.
microSD
Gateworks supports microSD (aka uSD) cards on several boards in the Newport, Ventana, and Laguna product families. A microSD card operates at 3.3V (with 3.3V or 1.8V I/O if the board allows it) and uses 4bit I/O.
References:
- http://en.wikipedia.org/wiki/Secure_Digital
- http://en.wikipedia.org/wiki/MultiMediaCard
- https://www.sdcard.org/developers/overview/speed_class/
Data Rates
The SecureDigital (SD) card spec originally defines a speed classes rating to refer to the I/O speed capabilities of the specific card. The class is specified on the card with icons that are denoted in the SD card specification. The class specified the write speed (which was important for Digital cameras) but a shortcoming of this system is it did not specify read speed.
Some examples of speed class rating:
Class | Device Write Speed |
class2 | 2MB/sec |
class4 | 4MB/sec |
class10 | 10MB/sec |
- Note: device read speed not specified by class - refer to manufacturer specs
The Ultra High Speed (UHS) bus introduced in version 3 of the SD specification marked by a 'UHS-I' marking on the device supports a higher clock frequency and came with a new rating system that specifies the I/O rate and not the I/O rates supported by the card.
Here are some examples:
Name | Clock speed | Max possible I/O rate for 4bit MMC | SD spec version |
DS (Default Speed) | 25MHz | 12.5 MB/sec | 1.01 |
HS (High Speed) | 50MHz | 25 MB/sec | 2.00 |
UHS-I SDR12 | 25MHz | 12.5 MB/sec | 3.01 |
UHS-I SDR25 | 50MHz | 25 MB/sec | 3.01 |
UHS-I SDR50 | 100MHz | 50 MB/sec | 3.01 |
UHS-I DDR50 | 50MHz | 50 MB/sec | 3.01 |
UHS-I SDR104 | 208MHz | 104 MB/sec | 3.01 |
SD cards are backwards compatible with respect to clocks: a card capable of UHS-I SDR104 can operate just fine in DS or HS mode.
In any case the actual achievable read/write speeds depend not only on the specified read and write rates by the card vendor but also depend on the microSD Host Controller (uSDHC) of the SoC on the board using the microSD which varies per product family. See below for product family details. References:
- https://www.sdcard.org/developers/overview/speed_class/
- http://en.wikipedia.org/wiki/Secure_Digital#Ultra_High_Speed_bus
Newport
The OCTEON TX CN80XX / CN81XX SoC has a single MMC host controller supporting 3 CMD signals which allows up to three devices to share the bus. Some Newport products support a combination of microSD and on-board eMMC. The MMC host controller supports:
- 1, 4, 8-bit data bus (8-bit used for eMMC, 4-bit used for microSD)
- transfer rates up to 52MHz
- single-data rate (SDR) and dual-data rate (DDR)
- DMA read/write on 512byte blocks
- stream mode is not supported but multiblock read/write operations are supported
- SPI mode not supported
- BOOT ROM supports booting from MMC
Newport boards supporting microSD have a connector that supports both SIM and microSD in one.
Ventana
Ventana boards supporting microSD have a connector that supports both SIM and microSD in one. The microSD card offers the following support: Fully compliant with SD command/response sets and Physical Layer as defined in the SD Memory Card Specifications, v3.0 including high-capacity SDHC cards up to 32 GB and SDXC cards up to 2TB.
The Freescale IMX6 SoC used on Ventana has an SD host controller that supports up to a 208MHz clock necessary for UHS-I SDR104 however this requires a microSD I/O voltage rail that is switchable between 1.8V and 3.3V which is available only on select Ventana board models (see below). If UHS-I clocking is not available a UHS-I card will be used in HS mode with a 50MHz clock resulting in a theoretical maximum I/O rate of 25MB/sec. Actual raw device throughput (using dd commands) has shown 19.5MB/sec for cards that advertise greater than 20MB I/O when operating in HS mode.
Ventana boards that are capable of UHS-I data rates:
board model | revision |
---|---|
GW54xx | E |
GW53xx | E |
GW520x | D |
GW522x | B |
- Standard board models at the revision above will have UHS-I capability loaded by default, however for specials (GW5xx-SPxxx) please contact sales@… to inquire if UHS-I support is available.
From a software perspective, support for UHS-I data rates on UHS-I capable boards is available on:
- OpenWrt 15.0x BSP based on kernel v4.1 (coming soon)
- Yocto 1.8 BSP
- Gateworks downstream vendor kernel v3.14.x
Laguna
The Cavium cns3xxx SoC used on Laguna has an SD host controller that supports a 50MHz max clock which results in a theoretical maximum I/O rate of 25MB/sec.