UFS_GEOMETRY_DESCRIPTOR 結構 (ufs.h)
UFS_GEOMETRY_DESCRIPTOR 描述裝置的幾何參數。
語法
typedef struct {
UCHAR bLength;
UCHAR bDescriptorIDN;
UCHAR bMediaTechnology;
UCHAR Reserved1;
UCHAR qTotalRawDeviceCapacity[8];
UCHAR bMaxNumberLU;
UCHAR dSegmentSize[4];
UCHAR bAllocationUnitSize;
UCHAR bMinAddrBlockSize;
UCHAR bOptimalReadBlockSize;
UCHAR bOptimalWriteBlockSize;
UCHAR bMaxInBufferSize;
UCHAR bMaxOutBufferSize;
UCHAR bRPMB_ReadWriteSize;
UCHAR bDynamicCapacityResourcePolicy;
UCHAR bDataOrdering;
UCHAR bMaxContexIDNumber;
UCHAR bSysDataTagUnitSize;
UCHAR bSysDataTagResSize;
UCHAR bSupportedSecRTypes;
UCHAR wSupportedMemoryTypes[2];
UCHAR dSystemCodeMaxNAllocU[4];
UCHAR wSystemCodeCapAdjFac[2];
UCHAR dNonPersistMaxNAllocU[4];
UCHAR wNonPersistCapAdjFac[2];
UCHAR dEnhanced1MaxNAllocU[4];
UCHAR wEnhanced1CapAdjFac[2];
UCHAR dEnhanced2MaxNAllocU[4];
UCHAR wEnhanced2CapAdjFac[2];
UCHAR dEnhanced3MaxNAllocU[4];
UCHAR wEnhanced3CapAdjFac[2];
UCHAR dEnhanced4MaxNAllocU[4];
UCHAR wEnhanced4CapAdjFac[2];
UCHAR dOptimalLogicalBlockSize[4];
UCHAR bHPBRegionSize;
UCHAR bHPBNumberLU;
UCHAR bHPBSubRegionSize;
USHORT wDeviceMaxActiveHPBRegions;
UCHAR Reserved2[2];
UCHAR dWriteBoosterBufferMaxNAllocUnits[4];
UCHAR bDeviceMaxWriteBoosterLUs;
UCHAR bWriteBoosterBufferCapAdjFac;
UCHAR bSupportedWriteBoosterBufferUserSpaceReductionTypes;
UCHAR bSupportedWriteBoosterBufferTypes;
} UFS_GEOMETRY_DESCRIPTOR, *PUFS_GEOMETRY_DESCRIPTOR;
成員
bLength
指定描述項的長度。
bDescriptorIDN
指定描述項的類型。 此描述項的值會是 UFS_DESC_GEOMETRY_IDN。
bMediaTechnology
保留供未來使用。
Reserved1
保留供未來使用。
qTotalRawDeviceCapacity[8]
指定原始裝置容量總計。 以512位元組的單位表示。
bMaxNumberLU
指定UFS (Universal Flash Storage) 支援的邏輯單元數目上限 () 。 包含下列其中一個值:
值 | Description |
---|---|
0x00 | 8 個邏輯單元。 |
0x01 | 32 個邏輯單元。 |
其他值 | 保留供未來使用。 |
dSegmentSize[4]
以512位元組為單位指定裝置的區段大小。
bAllocationUnitSize
指定區段數目的配置單位大小。
bMinAddrBlockSize
以 512 個字節的單位指定可尋址區塊大小下限。 最小大小為 4 KB 或0x08的值。
bOptimalReadBlockSize
以512位元組為單位指定最佳讀取區塊大小。
bOptimalWriteBlockSize
以512位元組為單位指定最佳寫入區塊大小。 bOptimalWriteBlockSize 等於或大於 bMinAddrBlockSize。
bMaxInBufferSize
以512位元組為單位指定數據內緩衝區的大小上限。 迷你大小為 4 KB 或0x08的值。
bMaxOutBufferSize
以 512 位元組為單位指定資料輸出緩衝區的大小上限。 迷你大小為 4 KB 或0x08的值。
bRPMB_ReadWriteSize
指定安全性通訊協定 In and Security Protocol Out 中允許的重新執行受保護記憶體區塊數目上限, (RPMB) 畫面格。每個畫面都是256位元組。
bDynamicCapacityResourcePolicy
指定裝置的備用區塊資源管理原則。 包含下列其中一個值:
值 | Description |
---|---|
0x00 | 備用區塊資源管理原則是每個邏輯單元。 |
0x01 | 備援區塊資源管理原則是每個記憶體類型。 |
bDataOrdering
指定裝置是否支持順序錯亂數據傳輸。 包含下列其中一個值:
值 | Description |
---|---|
0x00 | 不支援順序不足的數據傳輸。 |
0x01 | 支持順序不足的數據傳輸。 |
所有其他的值 | 保留供未來使用。 |
bMaxContexIDNumber
指定裝置所支援的內容數目上限。 這個數字必須大於 5。
bSysDataTagUnitSize
指定系統數據標記單位大小。
bSysDataTagResSize
指定裝置配置的最大大小,以位元組為單位來處理系統數據。
bSupportedSecRTypes
指定支援的安全移除類型。 變數的前3個位是代表不同支援安全移除類型的旗標。
bit | 描述 |
---|---|
0 | 使用物理記憶體清除移除的資訊。 |
1 | 藉由以單一字元後面接著清除來覆寫尋址位置來移除資訊。 |
2 | 藉由以字元、其補碼、隨機字元覆寫尋址位置來移除資訊。 |
3 | 使用廠商定義機制移除的資訊。 |
4-7 | 保留供未來使用。 |
wSupportedMemoryTypes[2]
指定點陣圖中支援的記憶體類型。
bit | 描述 |
---|---|
0 | 支援一般記憶體類型。 |
1 | 支援系統程式代碼記憶體類型。 |
2 | 支援非持續性記憶體類型。 |
3 | 支援增強型記憶體類型 1。 |
4 | 支援增強的記憶體類型 2。 |
5 | 支援增強的記憶體類型 3。 |
6 | 支援增強的記憶體類型 4。 |
7-14 | 保留供未來使用。 |
15 | 支援 RPMB 記憶體類型。 |
dSystemCodeMaxNAllocU[4]
指定裝置的系統代碼配置單位數目上限。
wSystemCodeCapAdjFac[2]
物種系統程式代碼記憶體類型的容量調整因數。
dNonPersistMaxNAllocU[4]
物種非持續性記憶體類型的配置單位數目上限。
wNonPersistCapAdjFac[2]
指定非持續性記憶體類型的容量調整因數。
dEnhanced1MaxNAllocU[4]
指定增強型記憶體類型 1 的配置單位數目上限。
wEnhanced1CapAdjFac[2]
指定增強型記憶體類型 1 的容量調整因數。
dEnhanced2MaxNAllocU[4]
指定增強型記憶體類型 2 的配置單位數目上限。
wEnhanced2CapAdjFac[2]
指定增強型記憶體類型 2 的容量調整因數。
dEnhanced3MaxNAllocU[4]
指定增強型記憶體類型 3 的配置單位數目上限。
wEnhanced3CapAdjFac[2]
指定增強型記憶體類型 3 的容量調整因數。
dEnhanced4MaxNAllocU[4]
指定增強型記憶體類型 4 的配置單位數目上限。
wEnhanced4CapAdjFac[2]
指定增強型記憶體類型 4 的容量調整因數。
dOptimalLogicalBlockSize[4]
指定最佳的邏輯區塊大小。
- bit [3:0]: 一般記憶體類型
- bit [7:4]: 系統程式代碼記憶體類型
- bit [11:8]: 非持續性記憶體類型
- bit [15:12]:增強型記憶體類型 1
- bit [19:16]: 增強的記憶體類型 2
- bit [23:20]: 增強的記憶體類型 3
- bit [27:24]: 增強型記憶體類型 4
- bit [31:28]:Reserved
bHPBRegionSize
指定 HPB 區域的大小。
bHPBNumberLU
指定可啟用 HPB 的邏輯單元數目上限。
bHPBSubRegionSize
指定 HPB 子系的大小。 bHPBSubRegionSize 不能超過 bHPBRegionSize。
wDeviceMaxActiveHPBRegions
指定裝置所支援的作用中 HPB 區域 mximum 數目。
Reserved2[2]
保留供未來使用。
dWriteBoosterBufferMaxNAllocUnits[4]
指定裝置支援的 WriteBooster 緩衝區大小總計。 所有 LU 的 WriteBooster 緩衝區大小總和小於或等於 dWriteBoosterBufferMaxNAllocUnits 所指示的值。
bDeviceMaxWriteBoosterLUs
指定支援的 WriteBooster 緩衝區數目上限。
bWriteBoosterBufferCapAdjFac
指定 WriteBooster 緩衝區內存類型的容量調整因數。 當 WriteBooster Buffer 設定為使用者空間縮減模式時,這個值會提供 LBA 空間縮減乘法因數。 因此,只有當 bWriteBoosterBufferPreserveUserSpaceEn 是0x00時,才適用此參數。
bSupportedWriteBoosterBufferUserSpaceReductionTypes
指定使用者空間縮減模式的支援性,並保留用戶空間模式。
- 0x00:WriteBooster 緩衝區只能在用戶空間縮減類型中設定。
- ox01:WriteBooster 緩衝區只能在保留使用者空間類型中設定。
- ox02:裝置可以在用戶空間縮減類型中設定,或保留使用者空間類型。
- 其他 :保留
bSupportedWriteBoosterBufferTypes
指定 WriteBooster 緩衝區類型的支援性。
- 00h:LU 型 WriteBooster 緩衝區設定
- 01h:單一共用 WriteBooster 緩衝區設定
- 02h:同時支援 LU 型 WriteBooster 緩衝區和單一共用 WriteBooster 緩衝區設定
- 其他:保留
備註
如果傳輸的數據大小超過 bRPMB_ReadWriteSize框架數目,則會在多個安全性命令中完成。
一般記憶體類型的容量調整因數值等於一。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 (版本 1709) |
最低支援的伺服器 | Windows Server 2016 |
標頭 | ufs.h |