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 或 secure 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