Compartir a través de


estructura UFS_GEOMETRY_DESCRIPTOR (ufs.h)

UFS_GEOMETRY_DESCRIPTOR describe los parámetros geométricos de un dispositivo.

Sintaxis

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;

Miembros

bLength

Especifica la longitud del descriptor.

bDescriptorIDN

Especifica el tipo del descriptor. Este descriptor tendrá un valor de UFS_DESC_GEOMETRY_IDN.

bMediaTechnology

Reservado para un uso futuro.

Reserved1

Reservado para un uso futuro.

qTotalRawDeviceCapacity[8]

Especifica la capacidad total del dispositivo sin procesar. Expresado en unidades de 512 bytes.

bMaxNumberLU

Especifica el número máximo de unidades lógicas compatibles con ufs (almacenamiento flash universal). Contiene uno de los valores siguientes:

Valor Descripción
0x00 8 unidades lógicas.
0x01 32 unidades lógicas.
Otros valores Reservado para uso futuro.

dSegmentSize[4]

Especifica el tamaño de segmento del dispositivo en unidades de 512 bytes.

bAllocationUnitSize

Especifica el tamaño de la unidad de asignación en el número de segmentos.

bMinAddrBlockSize

Especifica el tamaño mínimo de bloque direccionable en unidades de 512 bytes. El tamaño mínimo es de 4 KB o un valor de 0x08.

bOptimalReadBlockSize

Especifica el tamaño óptimo del bloque de lectura en unidades de 512 bytes.

bOptimalWriteBlockSize

Especifica el tamaño óptimo del bloque de escritura en unidades de 512 bytes. bOptimalWriteBlockSize es igual o mayor que bMinAddrBlockSize.

bMaxInBufferSize

Especifica el tamaño máximo del búfer de datos en unidades de 512 bytes. El tamaño de la minium es de 4 KB o un valor de 0x08.

bMaxOutBufferSize

Especifica el tamaño máximo del búfer de salida de datos en unidades de 512 bytes. El tamaño de la minium es de 4 KB o un valor de 0x08.

bRPMB_ReadWriteSize

Especifica el número máximo de fotogramas de bloque de memoria protegida de reproducción (RPMB) permitidos en Protocolo de seguridad Entrada y Salida del protocolo de seguridad. Cada fotograma es de 256 bytes.

bDynamicCapacityResourcePolicy

Especifica la directiva de administración de recursos de bloques de reserva de un dispositivo. Contiene uno de los valores siguientes:

Valor Descripción
0x00 La directiva de administración de recursos de bloques de reserva es por unidad lógica.
0x01 La directiva de administración de recursos de bloques de reserva es por tipo de memoria.

bDataOrdering

Especifica si un dispositivo admite la transferencia de datos desordenados. Contiene uno de los valores siguientes:

Valor Descripción
0x00 No se admite la transferencia de datos desordenados.
0x01 Se admite la transferencia de datos desordenados.
Todos los demás valores Reservado para uso futuro.

bMaxContexIDNumber

Especifica el número máximo de contextos admitidos por un dispositivo. Este número debe ser mayor que 5.

bSysDataTagUnitSize

Especifica el tamaño de unidad de etiqueta de datos del sistema.

bSysDataTagResSize

Especifica el tamaño máximo en bytes asignados por el dispositivo para controlar los datos del sistema.

bSupportedSecRTypes

Especifica los tipos de eliminación segura admitidos. Los tres primeros bits de la variable son marcas que representan diferentes tipos de eliminación segura admitidos.

bit Descripción
0 Información eliminada con un borrado de la memoria física.
1 La información eliminada sobrescribiendo las ubicaciones direccionadas con un solo carácter seguido de un borrado.
2 La información eliminada sobrescribiendo las ubicaciones direccionada con un carácter, su complemento y, a continuación, un carácter aleatorio.
3 Información eliminada mediante un mecanismo definido por el proveedor.
4-7 Reservado para uso futuro.

wSupportedMemoryTypes[2]

Especifica los tipos de memoria admitidos en un mapa de bits.

bit Descripción
0 Se admite un tipo de memoria normal.
1 Se admite un tipo de memoria de código del sistema.
2 Se admite un tipo de memoria no persistente.
3 Se admite el tipo de memoria mejorado 1.
4 Se admite el tipo de memoria mejorado 2.
5 Se admite el tipo de memoria mejorado 3.
6 Se admite el tipo de memoria mejorado 4.
7-14 Reservado para uso futuro.
15 Se admite un tipo de memoria RPMB.

dSystemCodeMaxNAllocU[4]

Especifica el número máximo de unidades de asignación para el código del sistema para un dispositivo.

wSystemCodeCapAdjFac[2]

Especie el factor de ajuste de capacidad para el tipo de memoria código del sistema.

dNonPersistMaxNAllocU[4]

Especifica el número máximo de unidades de asignación para un tipo de memoria no persistente.

wNonPersistCapAdjFac[2]

Especifica el factor de ajuste de capacidad para el tipo de memoria no persistente.

dEnhanced1MaxNAllocU[4]

Especifica el número máximo de unidades de asignación para el tipo de memoria mejorado 1.

wEnhanced1CapAdjFac[2]

Especifica el factor de ajuste de capacidad para el tipo de memoria mejorado 1.

dEnhanced2MaxNAllocU[4]

Especifica el número máximo de unidades de asignación para el tipo de memoria mejorado 2.

wEnhanced2CapAdjFac[2]

Especifica el factor de ajuste de capacidad para el tipo de memoria mejorado 2.

dEnhanced3MaxNAllocU[4]

Especifica el número máximo de unidades de asignación para el tipo de memoria mejorado 3.

wEnhanced3CapAdjFac[2]

Especifica el factor de ajuste de capacidad para el tipo de memoria mejorado 3.

dEnhanced4MaxNAllocU[4]

Especifica el número máximo de unidades de asignación para el tipo de memoria mejorado 4.

wEnhanced4CapAdjFac[2]

Especifica el factor de ajuste de capacidad para el tipo de memoria mejorado 4.

dOptimalLogicalBlockSize[4]

Especifica el tamaño de bloque lógico óptimo.

  • bit [3:0]: Tipo de memoria normal
  • bit [7:4]: Tipo de memoria de código del sistema
  • bit [11:8]: Tipo de memoria no persistente
  • bit [15:12]: Tipo de memoria mejorado 1
  • bit [19:16]: Tipo de memoria mejorado 2
  • bit [23:20]: Tipo de memoria mejorado 3
  • bit [27:24]: Tipo de memoria mejorado 4
  • bit [31:28]: Reservado

bHPBRegionSize

Especifica el tamaño de la región de HPB.

bHPBNumberLU

Especifica el número máximo de unidades lógicas en las que se puede habilitar HPB.

bHPBSubRegionSize

Especifica el tamaño de la subregión de HPB. El bHPBSubRegionSize no puede superar bHPBRegionSize.

wDeviceMaxActiveHPBRegions

Especifica el número mximum de regiones de HPB activas admitidas por el dispositivo.

Reserved2[2]

Reservado para uso futuro.

dWriteBoosterBufferMaxNAllocUnits[4]

Especifica el tamaño total del búfer WriteBooster admitido por el dispositivo. La suma de los tamaños de búfer writeBooster para todas las LU es menor o igual que el valor indicado por dWriteBoosterBufferMaxNAllocUnits.

bDeviceMaxWriteBoosterLUs

Especifica el número máximo de búferes de WriteBooster admitidos.

bWriteBoosterBufferCapAdjFac

Especifica el factor de ajuste de capacidad para el tipo de memoria del búfer WriteBooster. Este valor proporciona el factor de multiplicación de reducción del espacio LBA cuando writeBooster Buffer está configurado en el modo de reducción del espacio del usuario. Por lo tanto, este parámetro solo se aplica si bWriteBoosterBufferPreserveUserSpaceEn está 0x00.

bSupportedWriteBoosterBufferUserSpaceReductionTypes

Especifica la compatibilidad del modo de reducción del espacio de usuario y conserva el modo de espacio de usuario.

  • 0x00: el búfer WriteBooster solo se puede configurar en el tipo de reducción del espacio del usuario.
  • ox01: el búfer WriteBooster solo se puede configurar en conservar el tipo de espacio de usuario.
  • ox02: el dispositivo se puede configurar en cualquier tipo de reducción de espacio de usuario o conservar el tipo de espacio del usuario.
  • Otros : Reservados

bSupportedWriteBoosterBufferTypes

Especifica la compatibilidad del tipo de búfer WriteBooster.

  • 00h: Configuración de búfer de WriteBooster basada en LU
  • 01h: Configuración de búfer de WriteBooster compartido único
  • 02h: Compatibilidad con el búfer WriteBooster basado en LU y la configuración de búfer de WriteBooster único compartido
  • Otros: Reservados

Comentarios

Si el tamaño de los datos transferidos supera el número de fotogramas bRPMB_ReadWriteSize, se realizará en varios comandos de seguridad.

El valor de Factor de ajuste de capacidad para un tipo de memoria normal es igual a uno.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1709
Servidor mínimo compatible Windows Server 2016
Encabezado ufs.h