https://en.wikipedia.org/wiki/Secure_Digital#Technical_details

Secure Digital (SD) is a non-volatile memory card format developed by the SD Card Association (SDA) for use in portable devices.

The standard was introduced in August 1999 by joint efforts between SanDiskPanasonic (Matsushita Electric) and Toshiba as an improvement over MultiMediaCards (MMC),[1] and has become the industry standard. The three companies formed SD-3C, LLC, a company that licenses and enforces intellectual property rights associated with SD memory cards and SD host and ancillary products.[2]

Technical details[edit]

Physical size[edit]

The SD card specification defines three physical sizes. The SD and SDHC families are available in all three sizes, but the SDXC family is not available in the mini size, and the SDIO family is not available in the micro size. Smaller cards are usable in larger slots through use of a passive adapter.

Standard size[edit]

 

Size comparison of families: SD (blue), miniSD (green), microSD (red)

  • SD (SDSC), SDHC, SDXC, SDIO
  • 32.0×24.0×2.1 mm (1.260×0.945×0.083 in)
  • 32.0×24.0×1.4 mm (1.260×0.945×0.055 in) (as thin as MMC) for Thin SD (rare)

Mini size[edit]

  • miniSD, miniSDHC, miniSDIO
  • 21.5×20.0×1.4 mm (0.846×0.787×0.055 in)

Micro size[edit]

The micro form factor is the smallest SD card format.[94]

  • microSD, microSDHC, microSDXC
  • 15.0×11.0×1.0 mm (0.591×0.433×0.039 in)

Transfer modes[edit]

Cards may support various combinations of the following bus types and transfer modes. The SPI bus mode and one-bit SD bus mode are mandatory for all SD families, as explained in the next section. Once the host device and the SD card negotiate a bus interface mode, the usage of the numbered pins is the same for all card sizes.

  • SPI bus mode: Serial Peripheral Interface Bus is primarily used by embedded microcontrollers. This bus type supports only a 3.3-volt interface. This is the only bus type that does not require a host license.
  • One-bit SD bus mode: Separate command and data channels and a proprietary transfer format.
  • Four-bit SD bus mode: Uses extra pins plus some reassigned pins. (This is the same protocol as the one-bit SD bus mode which uses one command and four data lines for faster data transfer. All SD cards supports this mode.) UHS-I and UHS-II requires this bus type.
  • Two differential lines SD UHS-II mode: Uses two low-voltage differential interfaces to transfer commands and data. UHS-II cards include that interface in addition to the SD bus modes.

The physical interface comprises 9 pins, except that the miniSD card adds two unconnected pins in the center and the microSD card omits one of the two VSS (Ground) pins.[95]

File system[edit]

Like other types of flash memory card, an SD card of any SD family is a block-addressable storage device, in which the host device can read or write fixed-size blocks by specifying their block number.[citation needed]

MBR and FAT[edit]

Most SD cards ship preformatted with one or more MBR partitions, where the first or only partition contains a file system. This lets them operate like the hard disk of a personal computer. Per the SD card specification, an SD card is formatted with MBR and the following file system:

  • For SDSC cards:

    • Capacity of less than 32,680 logical sectors (smaller than 16 MB): FAT12 with partition type 01h and BPB 3.0 or EBPB 4.1[97]
    • Capacity of 32,680 to 65,535 logical sectors (between 16 MB and 32 MB): FAT16 with partition type 04h and BPB 3.0 or EBPB 4.1[97]
    • Capacity of at least 65,536 logical sectors (larger than 32 MB): FAT16B with partition type 06h and EBPB 4.1[97]
  • For SDHC cards:
    • Capacity of less than 16,450,560 logical sectors (smaller than 7.8 GB): FAT32 with partition type 0Bh and EBPB 7.1
    • Capacity of at least 16,450,560 logical sectors (larger than 7.8 GB): FAT32 with partition type 0Ch and EBPB 7.1
  • For SDXC cards: exFAT with partition type 07h

Most consumer products that take an SD card expect that it is partitioned and formatted in this way. Universal support for FAT12, FAT16, FAT16B, and FAT32 allows the use of SDSC and SDHC cards on most host computers with a compatible SD reader, to present the user with the familiar method of named files in a hierarchical directory tree.

On such SD cards, standard utility programs such as Mac OS X's "Disk Utility" or Windows' SCANDISK can be used to repair a corrupted filing system and sometimes recover deleted files. Defragmentation tools for FAT file systems may be used on such cards. The resulting consolidation of files may provide a marginal improvement in the time required to read or write the file,[98] but not an improvement comparable to defragmentation of hard drives, where storing a file in multiple fragments requires additional physical, and relatively slow, movement of a drive head. Moreover, defragmentation performs writes to the SD card that count against the card's rated lifespan. The write endurance of the physical memory is discussed in the article on flash memory; newer technology to increase the storage capacity of a card provides worse write endurance.

When reformatting an SD card with a capacity of at least 32 MB (65536 logical sectors or more), but not more than 2 GB, FAT16B with partition type 06h and EBPB 4.1[97] is recommended if the card is for a consumer device. (FAT16B is also an option for 4 GB cards, but it requires the use of 64 kiB clusters, which are not widely supported.) FAT16B does not support cards above 4 GB at all.

The SDXC specification mandates the use of Microsoft's proprietary exFAT file system,[99] which is supported only by some proprietary operating systems.

Other file systems[edit]

Because the host views the SD card as a block storage device, the card does not require MBR partitions or any specific file system. The card can be reformatted to use any file system the operating system supports. For example:

  • Under Windows, SD cards can be formatted using NTFS and, on later versions, exFAT.
  • Under Mac OS X, SD cards can be partitioned as GUID devices and formatted with the HFS Plus file system or still use exFAT.
  • Under Unix-like operating systems such as Linux or FreeBSD, SD cards can be formatted using the UFSExt2Ext3Ext4btrfsHFS PlusReiserFS or F2FS file system. Additionally under Linux, HFS Plus file systems may be accessed for read/write if the "hfsplus" package is installed, and partitioned and formatted if "hfsprogs" is installed. (These package names are correct under Debian, Ubuntu etc., but may differ on other Linux distributions.)

Any recent version of the above can format SD cards using the UDF file system.

Additionally, as with live USB flash drives, an SD card can have an operating system installed on it. Computers that can boot from an SD card (either using a USB adapter or inserted into the computer's flash media reader) instead of the hard disk drive may thereby be able to recover from a corrupted hard disk drive.[citation needed] Such an SD card can be write-locked to preserve the system's integrity.

The SD Standard allows usage of only the above-mentioned Microsoft FAT file systems and any card produced in the market shall be preloaded with the related standard file system upon its delivery to the market. If any application or user re-formats the card with a non-standard file system the proper operation of the card, including interoperability, cannot be assured.

Risks of reformatting[edit]

Reformatting an SD card with a different file system, or even with the same one, may make the card slower, or shorten its lifespan. Some cards use wear leveling, in which frequently modified blocks are mapped to different portions of memory at different times, and some wear-leveling algorithms are designed for the access patterns typical of FAT12, FAT16 or FAT32.[100] In addition, the preformatted file system may use a cluster size that matches the erase region of the physical memory on the card; reformatting may change the cluster size and make writes less efficient.

SD/SDHC/SDXC memory cards have a "Protected Area" on the card for the SD standard's security function; a standard formatter may erase it, causing problems if security is used. The SD Association provides freely-downloadable SD Formatter software to overcome these problems for Windows and Mac OS X.[101] The SD Formatter does not format the "Protected Area", and the Association recommends the use of appropriate application software or SD-compatible device that provides SD security function to format the "Protected Area" in the memory card.

Power consumption[edit]

The power consumption of SD cards varies by its speed mode, manufacturer and model.

During transfer it may be in the range of 66–330 mW (20–100 mA at a supply voltage of 3.3 V). Specifications from TwinMos technologies list a maximum of 149 mW (45 mA) during transfer. Toshiba lists 264–330 mW (80–100 mA).[102] Standby current is much lower, less than 0.2 mA for one 2006 microSD card.[103] If there is data transfer for significant periods, battery life may be reduced noticeably (smartphones typically have batteries of capacity around 6 Wh (Samsung Galaxy S2, 1650 mAh @ 3.7 V)).

Modern UHS-II cards can consume up to 2.88 W, if the host device supports bus speed mode SDR104 or UHS-II. Minimum power consumption in the case of a UHS-II host is 0.72 W.

Secure Digital的更多相关文章

  1. 讓TQ2440也用上設備樹(1)

    作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433 開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 ...

  2. 浅谈android中的目录结构

    之前在android游戏开发中就遇到本地数据存储的问题:一般情形之下就将动态数据写入SD中存储,在没有SD卡的手机上就需另作处理了;再有在开发android应用的过程中,总要去调试APP,安装时又想去 ...

  3. RAM、DRAM、SD卡

    catalogue . ROM.RAM.DRAM.SRAM和FLASH的区别 . 内存工作原理 . DRAM基本结构与原理 . SD卡基本结构与原理 1. ROM.RAM.DRAM.SRAM和FLAS ...

  4. RAM和ROM总结

    RAM和ROM总结 一.在解释之前先备注一些缩写的全称便于记忆: 1.EPROM:(Electrically Programmable Read-Only-Memory)电可编程序只读存储器 2.EE ...

  5. [转]NandFlash和NorFlash的区别

    一. NAND和NOR的比较 NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM 和EEPROM一统天下的局面.紧 ...

  6. nginx ssl 更换问题

    公司之前使用的是免费startssl证书,听说IOS 以后不信任这些免费的验证不严格的证书,公司果断购买了一个统配域名证书,其实不用貌似也没什么事,主要是提交app的时候得说明理由,被拒的可能性比较大 ...

  7. 更新CocoaPods碰到的问题及知识点

    1:解决CocoaPods安装时报的问题,http://ruby.taobao.org/latest_specs.4.8.gz 报404 解决 bad response Not Found 404 ( ...

  8. CocoaPods 哪些事

    一.CocoaPods的介绍 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必 ...

  9. sd 卡驱动--基于高通平台

    点击打开链接 内容来自以下博客: http://blog.csdn.net/qianjin0703/article/details/5918041 Linux设备驱动子系统第二弹 - SD卡 (有介绍 ...

随机推荐

  1. sql server日期时间转字符串

    一.sql server日期时间函数Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基 ...

  2. [转]Struts2工作原理

    Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping.Co ...

  3. Unity 3D学习之《Unity 3D 手机游戏开发》1

    P10: 设置断点步骤02,在Project窗口右键(是在下图中的红色区域,点右键)选择[Sync Mono Develop Project],打开MonoDevelop编辑器 P11: " ...

  4. Apache shiro 文章推荐

    均为系列文章,篇幅略长,适合入门. shiro源码分析 跟我学shiro

  5. linux下动态链接库解决方案(二)

    以前写过一个关于linux下用c++写动态链接库无法通过的解决方案,今天看到<linux C程序设计-王者归来>这本书,书中有个更容易的解决方案,特此记录下来 书中使用的是c语言,我改用c ...

  6. Spring+SpringMvc+Mybatis框架集成搭建教程五(项目源码发布到GitHub)

    一.背景 我们做完了上面的四步操作以后,来把我们写好的项目提交到自己的GitHub仓库进行版本管理,具体步骤如下. 二.提交步骤 1.首先你要保证你已经有GitHub的账号和密码(没有可以去githu ...

  7. 单词(bzoj 3172)

    Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. Input 第一个一个整数N,表示有多少个单词,接下来N ...

  8. Mysql 服务无法启动 1067

    检查my.ini中的

  9. way.js - 轻量级、持久化的双向绑定JS库

    AngularJS的双向绑定一直为人称道,但使用AngularJS需要对页面组件化,学习成本还是很高的. 本文源自 https://github.com/gwendall/way.js 边学边译. 使 ...

  10. 解决Delphi图形化界面的TEdit、TLable等组件手动拖拽固定大小,但是编译之后显示有差别的情况

    经常遇到这样的情况,在我们使用Delphi的可视化工具进行UI设计的时候,我们拖拽TEdit或者Label组件,并且在可视化界面上设置它们的长.宽 但是当我们编译和运行程序的时候,却发现真正显示出来的 ...