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