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 (通用闪存存储) 支持的逻辑单元 () 的最大数目。 包含以下值之一:
值 | 说明 |
---|---|
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
指定安全协议传入和安全协议输出中允许的重播受保护内存块 (RPMB) 帧的最大数目。每帧为 256 字节。
bDynamicCapacityResourcePolicy
指定设备的备用块资源管理策略。 包含以下值之一:
值 | 说明 |
---|---|
0x00 | 备用块资源管理策略是按逻辑单元制定的。 |
0x01 | 备用块资源管理策略是按内存类型制定的。 |
bDataOrdering
指定设备是否支持无序数据传输。 包含以下值之一:
值 | 说明 |
---|---|
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 缓冲区时,此值提供 LBA 空间缩减乘数。 因此,仅当 bWriteBoosterBufferPreserveUserSpaceEn 0x00时,此参数才适用。
bSupportedWriteBoosterBufferUserSpaceReductionTypes
指定用户空间缩减模式的可支持性,并保留用户空间模式。
- 0x00:只能在用户空间缩减类型中配置 WriteBooster 缓冲区。
- ox01:WriteBooster 缓冲区只能在保留用户空间类型中配置。
- ox02:可以在用户空间缩减类型或保留用户空间类型中配置设备。
- 其他:保留
bSupportedWriteBoosterBufferTypes
指定 WriteBooster 缓冲区类型的可支持性。
- 00h:基于 LU 的 WriteBooster 缓冲区配置
- 01h:单个共享 WriteBooster 缓冲区配置
- 02h:支持基于 LU 的 WriteBooster 缓冲区和单个共享 WriteBooster 缓冲区配置
- 其他:保留
注解
如果传输的数据的大小超过 bRPMB_ReadWriteSize帧数,则会在多个安全命令中完成此操作。
正常内存类型的容量调整因子值等于 1。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1709 |
最低受支持的服务器 | Windows Server 2016 |
标头 | ufs.h |