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 位是表示支持的不同安全删除类型的标志。

描述
0 删除了物理内存的擦除信息。
1 通过使用单个字符后跟擦除覆盖寻址位置来删除信息。
2 通过使用字符、其补数、随机字符覆盖寻址位置来删除信息。
3 使用供应商定义的机制删除的信息。
4-7 保留以供将来使用。

wSupportedMemoryTypes[2]

指定位图中支持的内存类型。

描述
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
  • 位 [19:16]:增强型内存类型 2
  • 位 [23:20]:增强型内存类型 3
  • 位 [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