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 |