SD 和 MMC 块设备属性¶
这些属性是为与 SD 或 MMC 设备关联的块设备定义的。
以下属性是可读/写的。
force_ro
即使写保护开关关闭,也强制只读访问。
SD 和 MMC 设备属性¶
所有属性都是只读的。
cid
卡识别寄存器
csd
卡特定数据寄存器
scr
SD 卡配置寄存器(仅限 SD)
date
制造日期(来自 CID 寄存器)
fwrev
固件/产品版本(来自 CID 寄存器)(仅限 SD 和 MMCv1)
hwrev
硬件/产品版本(来自 CID 寄存器)(仅限 SD 和 MMCv1)
manfid
制造商 ID(来自 CID 寄存器)
name
产品名称(来自 CID 寄存器)
oemid
OEM/应用程序 ID(来自 CID 寄存器)
prv
产品版本(来自 CID 寄存器)(仅限 SD 和 MMCv4)
serial
产品序列号(来自 CID 寄存器)
erase_size
擦除组大小
preferred_erase_size
首选擦除大小
raw_rpmb_size_mult
RPMB 分区大小
rel_sectors
可靠写入扇区计数
ocr
操作条件寄存器
dsr
驱动阶段寄存器
cmdq_en
命令队列已启用
1 => 启用,0 => 未启用
关于擦除大小和首选擦除大小的注意事项
“erase_size”是擦除操作的最小大小,以字节为单位。对于 MMC,“erase_size”是卡报告的擦除组大小。请注意,“erase_size”不适用于 trim 或安全 trim 操作,在这些操作中,最小大小始终是一个 512 字节的扇区。对于 SD 卡,“erase_size”在卡为块寻址时为 512,否则为 0。
SD/MMC 卡可以擦除任意大的区域,直至整个卡。当擦除大区域时,出于以下三个原因,可能需要将其分成更小的块进行操作:
单个擦除命令将使卡上所有其他 I/O 等待。如果正在擦除整个卡,这不是问题,但擦除一个分区将使同一卡上另一个分区的 I/O 等待擦除完成——这可能需要几分钟。
能够向用户告知擦除进度。
擦除超时变得过大而无法有效利用。因为擦除超时包含一个乘以擦除区域大小的裕度,对于大区域,该值最终可能达到几分钟。
“erase_size”不是最有效的擦除单元(尤其是对于 SD 卡,它只有一个扇区),因此“preferred_erase_size”为擦除大区域提供了一个良好的块大小。
对于 MMC 卡,“preferred_erase_size”是卡指定的高容量擦除大小,否则基于卡容量。
对于 SD 卡,“preferred_erase_size”是卡指定的分配单元大小。
“preferred_erase_size”以字节为单位。
关于 raw_rpmb_size_mult 的注意事项
“raw_rpmb_size_mult”是 128kB 块的倍数。
RPMB 大小(以字节为单位)通过以下等式计算:
RPMB 分区大小 = 128kB x raw_rpmb_size_mult