Secure Digital
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 SanDisk, Panasonic (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:
- 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 UFS, Ext2, Ext3, Ext4, btrfs, HFS Plus, ReiserFS 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的更多相关文章
- 讓TQ2440也用上設備樹(1)
作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433 開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 ...
- 浅谈android中的目录结构
之前在android游戏开发中就遇到本地数据存储的问题:一般情形之下就将动态数据写入SD中存储,在没有SD卡的手机上就需另作处理了;再有在开发android应用的过程中,总要去调试APP,安装时又想去 ...
- RAM、DRAM、SD卡
catalogue . ROM.RAM.DRAM.SRAM和FLASH的区别 . 内存工作原理 . DRAM基本结构与原理 . SD卡基本结构与原理 1. ROM.RAM.DRAM.SRAM和FLAS ...
- RAM和ROM总结
RAM和ROM总结 一.在解释之前先备注一些缩写的全称便于记忆: 1.EPROM:(Electrically Programmable Read-Only-Memory)电可编程序只读存储器 2.EE ...
- [转]NandFlash和NorFlash的区别
一. NAND和NOR的比较 NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM 和EEPROM一统天下的局面.紧 ...
- nginx ssl 更换问题
公司之前使用的是免费startssl证书,听说IOS 以后不信任这些免费的验证不严格的证书,公司果断购买了一个统配域名证书,其实不用貌似也没什么事,主要是提交app的时候得说明理由,被拒的可能性比较大 ...
- 更新CocoaPods碰到的问题及知识点
1:解决CocoaPods安装时报的问题,http://ruby.taobao.org/latest_specs.4.8.gz 报404 解决 bad response Not Found 404 ( ...
- CocoaPods 哪些事
一.CocoaPods的介绍 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必 ...
- sd 卡驱动--基于高通平台
点击打开链接 内容来自以下博客: http://blog.csdn.net/qianjin0703/article/details/5918041 Linux设备驱动子系统第二弹 - SD卡 (有介绍 ...
随机推荐
- php 批量去空格和注释
原理:php自带函数去注释和空格 => php_strip_whitespace如题,新建文件 re_note.php,将文件放入你要批量去除注释和空格的根目录.然后运行就行了 代码如下: & ...
- Spring配置文件中使用表达式
在配置文件中使用Java类 <bean id="rememberMeManager" class="org.apache.shiro.web.mgt.CookieR ...
- 没听说过这些,就不要说你懂并发了,three。
引言 很久没有跟大家再聊聊并发了,今天LZ闲来无事,跟大家再聊聊并发.由于时间过去的有点久,因此LZ就不按照常理出牌了,只是把自己的理解记录在此,如果各位猿友觉得有所收获,就点个推荐或者留言激励下LZ ...
- STM32F103使用内部Flash保存参数
在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数.这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能.将这类数据存在指定的 ...
- Linux与Windows xp操作系统启动过程
Linux启动过程: 第一步,加载BIOS,当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备 ...
- Java的RMI远程方法调用实现和应用
最近在学习Dubbo,RMI是很重要的底层机制,RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制.使用这种机制,某一 ...
- 基于类的命令行notebook的实现
在看一本书<PYTHON3 面向对象编程> 内容丰富,作作记录. notebook.py __author__ = 'chengang882' import datetime # Stor ...
- POJ2104 K-th Number(归并树)
平方分割一直TLE,最后用归并树处理过了,使用STL会比较慢. #include<cstdio> #include<iostream> #include<cstdlib& ...
- node 关键点总结
1.I/O密集的地方尽量不要用require.(require是同步I/O操作) eg:正在运行一个HTTP服务器,如果在每个进入的请求上都用了require,就会遇到性能问题.所以通常在程序最初加载 ...
- python中定义函数和参数的传递问题
作者:達聞西链接:https://zhuanlan.zhihu.com/p/24162430来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 5.2.4 函数.生成器和类 ...