Secure Digital (SD) is a non-volatile memory card format developed by Matsushita, SanDisk, and Toshiba for use in portable devices. Today it is widely used in digital cameras, handheld computers, PDAs, mobile phones, GPS receivers, and video game consoles. Standard SD card capacities range from 8 MB to 4 GB and for high capacity SDHC cards 4 GB to 32 GB as of 2008.
The format has proven to be very popular. However, a change in the format, while allowing capacities greater than 4 GB (SDHC), has created compatibility issues with older devices which cannot read the new format. Since SDHC format cards have the same physical shape and form factor as the older format, this has caused considerable confusion for consumers. SDHC cards require an SDHC capable device firmware, generally not found with older devices.
In August of 1999, Panasonic, SanDisk, and Toshiba first agreed to develop and market the SD (Secure Digital) Memory Card, which was a development of the MMC. With a physical profile of 24 mm × 32 mm × 2.1 mm, the new card provided both DRM up to the SDMI standard, and a high memory density for the time.
The new format was designed to compete with Sony's Memory Stick format that was released the previous year, which featured MagicGate DRM, and was physically larger. It was thought that DRM features would be widely used due to pressure from music and other media suppliers to prevent piracy. The features are largely unused. At the 2000 CES trade show Matsushita, SanDisk and Toshiba Corporation announced the creation of the SD Card Association,to promote SD cards. It is headquartered in California and its executive membership includes some 30 world-leading high-tech companies and major content companies. Early samples of the SD Card were available in the first quarter of 2000, with production quantities of 32 and 64 megabytes available 3 months later.
In April 2006, the SDA released a detailed specification for the non-security related portions of the SD Memory Card standard. In addition, they released specifications for the SDIO (Secure Digital Input Output) cards and the standard SD host controller. During the same year, specifications were finalised for the small form-factor microSD (formerly known as TransFlash) and SDHC, with capacities in excess of 2 GB and a minimum sustained read/write speed of 2.2 MB/s.
SD cards are based on the older MultiMediaCard (MMC) format, but have a number of differences:
Devices with SD slots can use the thinner MMCs, but the standard SD cards will not fit into the thinner MMC slots. miniSD and microSD cards can be used directly in SD slots with a simple passive adapter, since they differ in size and shape but not electrical interface. With an active electronic adapter, SD cards can be used in CompactFlash or PC card slots. Some SD cards include a USB connector for compatibility with desktop and laptop computers, and card readers allow SD cards to be accessed via connectivity ports such as USB, FireWire, and the parallel printer port. SD cards can also be accessed via a floppy disk drive with a FlashPath adapter.
When looking at the card from the top (see pictures) there is one required notch on the right side (the side with the diagonal notched corner).
On the left side there is usually a slidable tab. This is the write-protect tab. The MMC has neither notch. It is easy to mistake this tab as an electronic on/off switch built inside the card, but it is used simply as a tab/notch switch. The tab/notch works the same way as the notches on compact audio cassettes and videotape cassette tapes or floppy disks, where the device senses the tab/notch and determines if the card is write-protected or not.
When this write-protect tab is in the down position (away from the end that is inserted) then it is write protected and read-only. When the tab is in the up position it is write enabled. Since the tab is optional, the card can have no switch and no notch, which makes the card always writable, or it can have an empty notch and be a ROM card, which makes the card always write-protected and read-only. If the tab becomes broken or falls off then the card will become a write-protected ROM card and no longer be writable. A possible troubleshooting solution would be to apply tape over the notched area (avoiding the connectors and the other notch) to configure the card in a permanent writable state.
If the sensor inside the device is faulty and unable to detect the tab/notch, all SD cards will seem to be either write-protected or write-enabled, depending on the failure mode.
The write protect tab feature is optional within the Secure Digital Association guidelines. Some manufacturers claim that the write switch is easily broken, and do not include it on all their card models. For writable cards, this is simply a matter of changing the molding of the outer shell so that the notch doesn't exist.
Some music and film media companies (e.g. Disney) have released limited catalogs of records and/or videos on SD. These usually contain DRM-encoded Windows Media files, making use of the SD format's DRM capabilities. Such media is usually permanently marked read-only, by adding the notch with no tab. These cards could be further protected (and possibly produced more cheaply) by manufacturing the card with true ROM rather than flash memory; it is not clear if any vendors have taken this approach.
Like other flash card technologies, most SD cards ship preformatted with the FAT or FAT 32 file system. The ubiquity of this file system allows the card to be accessed on virtually any host device with an SD reader. Also, standard FAT maintenance utilities (e.g. ScanDisk) can be used to repair or retrieve corrupted data. However, because the card appears as a removable hard drive to the host system, the card can be reformatted to any file system supported by the operating system.
Defragmentation tools are used on hard disks to optimise the filesystem access speed. On an SD card, this is pointless, as any block can be accessed as fast as any other. Doing this will wear the card out slightly, as only so many writes can be made before failure.
However, note that any file recovery tool will struggle to recover files from highly fragmented data if the File Allocation Table becomes highly corrupted.
There are different speed grades available which are measured with the same system as CD-ROMs, in multiples of 150 kB/s (1x = 150 kB/s). Basic cards transfer data up to six times (6x) the data rate of the standard CD-ROM speed (900 kB/s vs. 150 kB/s). High-speed cards are made with higher data transfer rates like 66x (10 MB/s), and high-end cards have speeds of 200x or higher. Note that maximum read speed and maximum write speed may be different, with maximum write speed typically lower than maximum read speed. Some digital cameras require high-speed cards (write speed) to record video smoothly or capture multiple still photographs in rapid succession. The SD card specification 1.01 allows for a maximum speed of 66x. Higher speeds of up to 200x are defined by specification 2.0.
The following table lists some common ratings and their respective maximum transfer rates.
There are three versions of the SD specification: 1.0, 1.1 and 2.0. These were originally only available after agreeing to a non-disclosure agreement (NDA) which prohibits the development of an open source driver, a fact that generates a fair amount of consternation in the open-source and free software communities. The system was eventually reverse-engineered though, and the non-DRMed sections of the memory cards could be accessed by free software drivers.
These days however, the SD Card Association (SDA) has made access to a simplified version of the specification available under a less-restrictive licence. Although most open-source drivers were written before this, it has helped them to solve some compatibility issues.
In 2006, the SD Card Association also released a simplified version of their host controller interface specification (not to be confused with the physical specification, which covers the actual cards and their protocol). Like the physical specification, most of the information had already been discovered before the public release and at least Linux had a fully free driver for it. Still, building a chip conforming to this specification caused the One Laptop Per Child project to claim "the first truly Open Source SD implementation, with no need to obtain an SDI license or sign NDAs to create SD drivers or applications.
For the most part, the lack of complete, open SD specifications mainly affects embedded systems, since desktop users generally read SD cards via USB-based card readers. These card readers present a standard USB mass storage interface to memory cards, thus separating the operating system from the details of the underlying SD interface. However, embedded systems (such as portable music players) usually access SD cards directly, and therefore complete programming information is necessary. Desktop card readers are themselves examples of such embedded systems; the manufacturers of these readers have usually paid the SDCA for complete access to the SD specifications. Many notebook computers now include SD card readers not based on USB; device drivers for these essentially access the SD card directly, as in embedded systems.
SD supports at least three transfer modes:
All memory cards must support all three modes, except for microSD where SPI is optional. The cards must also support clock frequencies of up to 25 MHz for regular cards, and 50 MHz for high-speed cards.
Royalties for SD/SDIO licenses are imposed for manufacture and sale of memory cards and host adapters (1000 USD per year plus membership at 1500 USD/year) but SDIO cards can be made without royalties and MMC host adapters do not require a royalty. MMCs have a seven-pin interface; SD and SDIO have expanded this to nine pins and MMC Plus expands this even further with thirteen pins.
The digital rights management scheme embedded in the SD cards is defined as the Content Protection for Recordable Media (CPRM) by the 4C Entity and is centered around use of the Cryptomeria cipher (also known as C2). The specification is kept secret and is only accessible to licensees. DVD-Audio uses a very similar scheme known as Content Protection for Prerecorded Media (CPPM). This type of DRM is associated with SDMI, an organisation set up by the RIAA to promote such hardware-based copy protection schemes. Many SD cards are marked on the packaging as being 'SDMI Compliant' for this reason. This DRM has not been seen "in the wild" and few, if any, devices appear to provide support for it.
Super*Talent, a manufacturer of computer memory, has created the "Super Digital" card. They are the same in appearance and function to regular Secure Digital cards, but they lack the CPRM code commonly found in Secure Digital cards.
However, SD is much more open than Memory Stick, for which no public documentation nor any documented legacy implementation is available. All SD cards can, at least, be accessed freely using the well-documented SPI/MMC mode.
xD cards are simply 18-pin NAND flash chips in a special package, and support the standard command set for raw NAND flash access. Although the raw hardware interface to xD cards is well-understood, the layout of its memory contents--necessary for interoperability with xD card readers and digital cameras--is totally undocumented. The consortium that licenses xD cards has not released any publicly available technical information.
The SD card is not the only flash memory card standard ratified by the Secure Digital Card Association. Other SD Card Association formats include miniSD, microSD (formerly known as TransFlash before ratification by the SD Card Association), and SDHC (Secure Digital High Capacity, for capacities above 4 GB - although, there are cards some readers can't handle over 1 GB that are not SDHC). SDHC is not fully compatible with the format that it extends, in that SD devices that do not specifically support SDHC will not work with the newer cards.
These smaller miniSD and microSD cards are usable in full size MMC/SD/SDIO slots with an adapter (which must route the electrical connections as well as making physical contact). It should be noted, however, that it is already difficult to create I/O devices in the SD form factor and this will be even more difficult in the smaller sizes. However, a WiFi card for mini-SDIO is already available from Spectec.
As SD slots still support MMCs, the separately-evolved smaller MMC variants are also compatible with SD-supporting devices. Unlike miniSD and microSD (which are sufficiently different from SD to make mechanical adapters necessary), RS-MMC slots maintain backward compatibility with full-sized MMCs, because the RS-MMCs are simply shorter MMCs. More information on these variants can be found in the article about the MultiMediaCard standard.
It is also important to note, that unlike for data storage (which typically works everywhere an SD slot is present), an SDIO device must be supported and equipped with drivers and applications for the host system and usually doesn't work outside of the manufacturer's scope (which means, for example, that an HP SDIO camera usually does not work with PDAs for which it is not listed as an accessory). This behavior is often not expected by end users who typically expect that only the SD slot is required. Similar compatibility are sometimes seen with Bluetooth devices, although to a much lesser extent thanks to standardized bluetooth profiles.
Most, possibly all, current MMC flash memory cards support SPI mode even if not officially required as failure to do so would severely affect compatibility. All cards currently made by SanDisk, Ritek/Ridata, and Kingmax digital appear to support SPI. Also, MMCs may be electrically identical to SD cards but in a thinner package and with an electronic fuse blown to disable SD functionality (so no SD royalties need to be paid). Some MicroSD cards do not support SPI mode.
MMC defined the SPI and one-bit MMC/SD protocols. The underlying SPI protocol has existed for years as a standard feature on many microcontrollers. From a societal perspective, the justification for a new incompatible SD/MMC protocol is questionable; the development of a new incompatible and unnecessary protocol may help trade associations collect licensing and membership fees but it raises the cost of hardware and software in many ways. The new protocol used open collector signaling to allow multiple cards on the same bus but this actually causes problems at higher clock rate. While SPI used three shared lines plus a separate chip select to each card, the new protocol allows up to 30 cards to be connected to the same three wires (with no chip select) at the expense of a much more complicated card initialization and the requirement that each card have a unique serial number for plug and play operation; this feature is rarely used and its use is actively discouraged in new standards (which recommend a completely separate channel to each card) because of speed and power consumption issues. The quasi-proprietary one-bit protocol was extended to support four bit wide (SD and MMC) and eight bit (MMC only) transfers for more speed while much of the rest of the computer industry is moving to higher speed narrower channels; standard SPI could simply have been clocked at higher data rates (such as 133 MHz) for higher performance than offered by four-bit SD — embedded CPUs that did not already have higher clock rates available would not have been fast enough to handle the higher data rates anyway. The SD card association dropped support for some of the old one-bit MMC protocol commands and added support for additional commands related to copy protection.
Devices that use SD cards identify the card by requesting a 128-bit identification string from the card. For standard-capacity SD cards, 12 of the bits are used to identify the number of memory clusters (ranging from 1 to 4096) and 3 of the bits are used to identify the number of blocks per cluster (which decode to 4, 8, 16, 32, 64, 128, 256 or 512 blocks per cluster).
In older 1.x implementations the standard capacity block was exactly 512 bytes. This gives 4096 x 512 x 512 = 1 gigabyte of storage memory. A later revision of the 1.x standard allowed a 4-bit field to indicate 1024 or 2048 bytes per block instead, yielding more than 1 gigabyte of memory storage. Devices designed before this change may incorrectly identify such cards, usually by misidentifying a card with lower capacity than is the case by assuming 512 bytes per block rather than 1024 or 2048.
For the new SDHC high capacity card (2.0) implementation, 22 bits of the identification string are used to indicate the memory size in increments of 512 KBytes. Currently 16 of the 22 bits are allowed to be used, giving a maximum size of 32 GB. All SDHC 4-GB and larger cards must be 2.0 implementations. Two bits that were previously reserved and fixed at 0 are now used for identifying the type of card, 0=standard, 1=HC, 2=reserved, 3=reserved. Non-HC devices are not programmed to read this code and therefore cannot correctly read the identification of the card.
All SDHC readers work with standard SD cards.
Many older devices will not accept the 2 or 4 GB size even though it is in the revised standard. The following statement is from the SD association specification:
The SD Card Association's current specifications defines how a standard SD card (non-SDHC) card with more than 1 GB and up to 4 GB capacity should be designed. These cards should be readable in any SD 1.01 devices that takes the block length data into account. Any 1 GB or lesser card should always work. (So the key question is how one's reader handles block length).
According to the specification, the maximum capacity of a standard SD card is defined by (BLOCKNR x BLOCK_LEN), where BLOCKNR may be (4096 x 512) and BLOCK_LEN may be up to 2048. This allows a capacity of 4 GB. The main problem is that some of the card readers only support block (aka. sector) size of 512 bytes, so >1GB non SDHC cards may cause compatibility difficulties for some users.
Similarly to the above, as of version 2.00 of the specification, the capacity of an SDHC card is limited to 32 GB. However, while not strictly adhering to that standard, it is possible to create SDHC cards of up to 2048 GB capacity. SDHC cards have fixed sector size of 512 bytes.
SDHC (Secure Digital High Capacity, SD 2.0) is an extension of the SD standard that appeared in June 2006. SDHC allows standard-compliant capacities in excess of 2 GB. SDHC cards are often formatted with the FAT32 file system. It uses the same form factor as SD, but the SD 2.0 standard in SDHC uses a different memory addressing method (sector addressing vs byte addressing), thus theoretically reaching a maximum capacity of up to 2 TB (2048 GB). However the SD Card association have artificially defined the maximum limit of SDHC capacity to 32 GB. SDHC cards only work in SDHC compatible devices, but standard SD cards work in both SD and SDHC devices. The SDHC trademark is licensed to ensure compatibility.
SDHC cards have SD Speed Class Ratings defined by the SD Association. The SD Speed Class Ratings specify the following minimum write speeds based on "the best fragmented state where no memory unit is occupied":
SDHC cards will often also advertise a maximum speed (such as 133x or 150x) in addition to this minimum Speed Class Rating. See section Speeds above for a further explanation. One critical difference between the Speed Class and the maximum speed ratings is the ability of the host device to query the SD card for the speed class and determine the best location to store data that meets the performance required. "Maximum speed" ratings are quoted by the manufacturers but unverified by any independent evaluation process.
During early 2007, the simultaneous availability of 4 GB SD cards compliant with later revisions of version 1.x of the SD specification but incompatible with readers based on earlier revisions of the specification, and of 4 GB SDHC cards, and incompatibilities between SD and SDHC caused confusion among consumers buying memory devices.
SD and SDHC cards and devices have these compatibility issues :
As of mid 2008, most sold SD cards are of the SDHC variant with a capacity of 4GB, although you can find 8GB or 16GB or bigger on the market.
SDIO stands for Secure Digital Input Output.
SD slots can actually be used for more than flash memory cards. Devices that support SDIO (typically PDAs like the Palm Treo, but occasionally laptops or cell phones) can use small devices designed for the SD form factor, like GPS receivers, Wi-Fi or Bluetooth adapters, modems, Ethernet adapters, barcode readers, IrDA adapters, FM radio tuners, TV tuners, RFID readers, digital cameras, or other mass storage media such as hard drives.
A number of other devices have been proposed but not yet implemented, including RS-232 serial adapters, fingerprint scanners, SDIO to USB host/slave adapters (which would allow an SDIO-equipped handheld device to use USB peripherals and/or interface to PCs), magnetic strip readers, combination Bluetooth/Wi-Fi/GPS transceivers, cellular modems (PCS, CDPD, GSM, etc.), and APRS/TNC adapters.
SDIO cards are fully compatible with SD Memory Card host controller (including mechanical, electrical, power, signaling and software). When an SDIO card is inserted into a non SDIO-aware host, it will cause no physical damage or disruption to device or host controller. SPI bus topology is mandatory for SDIO, unlike SD Memory. Most of the SD Memory commands are not supported in SDIO. SDIO cards can contain 8 separate logical cards, though at the moment this is at most a memory and IO function. SD slots will only take SD cards. SDIO slots will take SD cards and SDIO cards.
Various manufacturers have tried to make their SD cards stand out from the crowd in different ways
Secure Digital cards are used as storage media in these devices:
SD/MMC cards have replaced Toshiba's SmartMedia as the dominant memory card format used in compact digital cameras. In 2001 SmartMedia had achieved nearly 50% use, but by 2005 SD/MMC had achieved over 40% of the digital camera market and SmartMedia’s share had plummeted, with cards not being easily available in 2007.
A majority of the world’s leading digital camera manufacturers use SD in their product lines, including Casio, Canon, Nikon, Pentax, Kodak, Panasonic and Konica Minolta. Two major brands, however, have stuck to their own proprietary formats in their cameras: Olympus using xD cards, and Sony using Memory Stick. Fuji prior to 2007 also used xD cards exclusively, but has added SD functionality to all of their models since then, while Olympus has released a xD-MicroSD adaptor for their latest cameras.
SD has not conquered the market for Digital SLR cameras. In this market CompactFlash remains the most popular format due to its historically lower price/capacity ratio, better read/write performance, and the availability of larger capacities. The larger physical size of the CompactFlash is also not an issue in the generally large SLR cameras as it may be in compact cameras.
As of 2007, however, an increasing number of models use SD/MMC/SDHC cards exclusively:
A homebrew hardware hack has brought SD card support to the popular WRT54G router by utilising spare GPIO pins on the router's processor and the Linux kernel's MMC module. Transfer speeds of 200KiB/s can be achieved with this setup.