内存阵列分区
从SD存储卡传输数据的基本单位是一个字节。所有需要块大小的数据传输操作总是将块长度定义为字节的整数倍。一些特殊功能需要其他分区粒度。对于面向块的命令,使用以下定义:
块:是与面向块的读写命令相关的单元。它的大小是指主机发送一个block命令时要传输的字节数。块的大小要么是可编程的,要么是固定的。有关允许的块大小和可编程性的信息存储在CSD中。对于具有可擦除存储单元的设备,定义了特殊的擦除命令。可擦除单元的粒度通常与面向块的命令不同:
扇区:是与擦除命令相关的单位。它的大小是将在一个部分中擦除的块的数量。扇区的大小对于每个设备都是固定的。有关扇区大小的信息(以块为单位)存储在CSD中。注意,如果卡指定AU大小,扇区大小应该被忽略。
AU (Allocation Unit):是卡片的物理边界,由一个或多个块组成,其大小取决于每张卡片。最大AU大小是为内存容量定义的。此外,AU是卡保证其符合速度等级规范的设备性能的最小单位。大小和Speed Class的信息保存在SD Status中。AU还用于计算擦除超时。
WP-Group:对于支持写保护组的设备,可以单独写保护的最小单元。它的大小是将被写保护的组的数量,每1位。每个设备的WP-group的大小是固定的。有关大小的信息存储在CSD中。SDHC卡和SDXC卡不支持写保护组命令。
每个WP-group可能有一个额外的写保护位。写保护位是通过特殊命令可编程的(参见4.7.4章)。这两个函数都是可选的,并且只对可写/可擦设备有用。写保护也可用于多类型卡(如ROM-Flash组合)。关于可用性的信息存储在CSD中。
Timings
所有时序图均使用以下原理图和缩写:
在非口头P-bits中,有一种想法是,如果他们主动地驱使他们离开,他们就会看到他们的卡片或卡片主机输出驱动程序独占。相比之下,Z-bits只被弱拉到逻辑"1",因此它是可以按如下方式替换序列:
卡片识别和卡片操作条件
定时CMD2和ACMD41的时序如下图所示。该命令之后是两个Z bits(允许在总线上进行方向切换的时间),然后由响应卡向上推P bits。Nid时钟周期后,卡响应host命令。
分配一个卡片相对地址
下面给出SD存储卡计时的SEND_RELATIVE_ADDR (CMD 3)。主机命令和卡响应之间的最小延迟是NcR时钟周期。
数据传输模式
在卡发布自己的RCA后,它将切换到数据传输模式。该命令之后是两个Zbits(允许在总线上进行方向切换的时间)的一个周期,然后由响应卡推高Pbits。这个时序图与所有响应的主机命令相关,除了ACMD41和CMD2:
最后一张卡片响应
下一个主机命令定时在接收到最后一个卡响应后,主机可以在至少NRc时钟周期后开始下一个命令传输。这个定时与任何主机命令都相关。
最后一个主机命令
下一个主机命令定时在发送完最后一条命令后,主机可以在至少Noc个时钟周期后继续发送下一条命令。