estrutura UFS_GEOMETRY_DESCRIPTOR (ufs.h)

UFS_GEOMETRY_DESCRIPTOR descreve os parâmetros geométricos de um dispositivo.

Sintaxe

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  bHPBNumberLU;
  UCHAR  bHPBSubRegionSize;
  UCHAR  bHPBRegionSize;
  USHORT wDeviceMaxActiveHPBRegions;
  UCHAR  Reserved2[2];
  ULONG  dWriteBoosterBufferMaxNAllocUnits;
  UCHAR  bDeviceMaxWriteBoosterLUs;
  UCHAR  bWriteBoosterBufferCapAdjFac;
  UCHAR  bSupportedWriteBoosterBufferUserSpaceReductionTypes;
  UCHAR  bSupportedWriteBoosterBufferTypes;
} UFS_GEOMETRY_DESCRIPTOR, *PUFS_GEOMETRY_DESCRIPTOR;

Membros

bLength

Especifica o comprimento do descritor.

bDescriptorIDN

Especifica o tipo do descritor. Esse descritor terá um valor de UFS_DESC_GEOMETRY_IDN.

bMediaTechnology

Reservado para uso futuro.

Reserved1

Reservado para uso futuro.

qTotalRawDeviceCapacity[8]

Especifica a capacidade total bruta do dispositivo. Expresso em unidades de 512 bytes.

bMaxNumberLU

Especifica o número máximo de unidades lógicas compatíveis com o UFS (Armazenamento Flash Universal). Contém um dos seguintes valores:

Valor Descrição
0x00 8 unidades lógicas.
0x01 32 unidades lógicas.
Outros valores Reservado para uso futuro.

dSegmentSize[4]

Especifica o tamanho do segmento do dispositivo em unidades de 512 bytes.

bAllocationUnitSize

Especifica o tamanho da unidade de alocação em número de segmentos.

bMinAddrBlockSize

Especifica o tamanho mínimo do bloco endereçável em unidades de 512 bytes. O tamanho do mínimo é de 4 KB ou um valor de 0x08.

bOptimalReadBlockSize

Especifica o tamanho ideal do bloco de leitura em unidades de 512 bytes.

bOptimalWriteBlockSize

Especifica o tamanho ideal do bloco de gravação em unidades de 512 bytes. bOptimalWriteBlockSize é igual ou maior que bMinAddrBlockSize.

bMaxInBufferSize

Especifica o tamanho máximo do buffer de dados em unidades de 512 bytes. O tamanho do mínimo é de 4 KB ou um valor de 0x08.

bMaxOutBufferSize

Especifica o tamanho máximo do buffer de saída de dados em unidades de 512 bytes. O tamanho do mínimo é de 4 KB ou um valor de 0x08.

bRPMB_ReadWriteSize

Especifica o número máximo de quadros de RPMB (Bloco de Memória Protegida de Reprodução) permitidos na Entrada do Protocolo de Segurança e no Protocolo de Segurança de Saída. Cada quadro tem 256 bytes.

bDynamicCapacityResourcePolicy

Especifica a política de gerenciamento de recursos de blocos sobressalentes de um dispositivo. Contém um dos seguintes valores:

Valor Descrição
0x00 A política de gerenciamento de recursos de blocos de reposição é por unidade lógica.
0x01 A política de gerenciamento de recursos de blocos de reposição é por tipo de memória.

bDataOrdering

Especifica se um dispositivo dá suporte à transferência de dados fora de ordem. Contém um dos seguintes valores:

Valor Descrição
0x00 Não há suporte para a transferência de dados fora de ordem.
0x01 Há suporte para a transferência de dados fora de ordem.
Todos os outros valores Reservado para uso futuro.

bMaxContexIDNumber

Especifica o número máximo de contextos compatíveis com um dispositivo. Esse número deve ser maior que 5.

bSysDataTagUnitSize

Especifica o tamanho da unidade da marca de dados do sistema.

bSysDataTagResSize

Especifica o tamanho máximo em bytes alocados pelo dispositivo para lidar com os dados do sistema.

bSupportedSecRTypes

Especifica os tipos de Remoção Segura com suporte. Os três primeiros bits da variável são sinalizadores que representam diferentes tipos de Remoção Segura com suporte.

bit Descrição
0 Informações removidas com uma apagamento da memória física.
1 Informações removidas substituindo os locais endereçados por um único caractere seguido por uma apagamento.
2 Informações removidas substituindo os locais endereçados por um caractere, seu complemento e um caractere aleatório.
3 Informações removidas usando um mecanismo definido pelo fornecedor.
4-7 Reservado para uso futuro.

wSupportedMemoryTypes[2]

Especifica os tipos de memória com suporte em um bitmap.

bit Descrição
0 Há suporte para um tipo de memória normal.
1 Há suporte para um tipo de memória de código do sistema.
2 Há suporte para um tipo de memória não persistente.
3 Há suporte para o tipo de memória avançado 1.
4 Há suporte para o tipo de memória avançado 2.
5 Há suporte para o tipo de memória avançado 3.
6 Há suporte para o tipo de memória avançado 4.
7-14 Reservado para uso futuro.
15 Há suporte para um tipo de memória RPMB.

dSystemCodeMaxNAllocU[4]

Especifica o número máximo de unidades de alocação para o Código do Sistema de um dispositivo.

wSystemCodeCapAdjFac[2]

Especifique o Fator de Ajuste de Capacidade para o tipo de memória do Código do Sistema.

dNonPersistMaxNAllocU[4]

Espécie o número máximo de Unidades de Alocação para um tipo de memória não persistente.

wNonPersistCapAdjFac[2]

Especifica o fator de ajuste de capacidade para o tipo de memória não persistente.

dEnhanced1MaxNAllocU[4]

especifica o número máximo de Unidades de Alocação para o tipo de memória aprimorado 1.

wEnhanced1CapAdjFac[2]

especifica o Fator de Ajuste de Capacidade para o tipo de memória aprimorado 1.

dEnhanced2MaxNAllocU[4]

especifica o número máximo de Unidades de Alocação para o tipo de memória aprimorado 2.

wEnhanced2CapAdjFac[2]

especifica o Fator de Ajuste de Capacidade para o tipo de memória aprimorado 2.

dEnhanced3MaxNAllocU[4]

especifica o número máximo de Unidades de Alocação para o tipo de memória aprimorado 3.

wEnhanced3CapAdjFac[2]

especifica o Fator de Ajuste de Capacidade para o tipo de memória aprimorado 3.

dEnhanced4MaxNAllocU[4]

especifica o número máximo de Unidades de Alocação para o tipo de memória aprimorado 4.

wEnhanced4CapAdjFac[2]

especifica o Fator de Ajuste de Capacidade para o tipo de memória aprimorado 4.

dOptimalLogicalBlockSize[4]

Especifica o tamanho ideal do bloco lógico.

bHPBNumberLU

bHPBSubRegionSize

bHPBRegionSize

wDeviceMaxActiveHPBRegions

Reserved2[2]

dWriteBoosterBufferMaxNAllocUnits

bDeviceMaxWriteBoosterLUs

bWriteBoosterBufferCapAdjFac

bSupportedWriteBoosterBufferUserSpaceReductionTypes

bSupportedWriteBoosterBufferTypes

Comentários

Se o tamanho dos dados transferidos exceder o número de quadros bRPMB_ReadWriteSize, isso será feito em vários comandos de Segurança.

O valor do Fator de Ajuste de Capacidade para um tipo de memória normal é igual a 1.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1709
Servidor mínimo com suporte Windows Server 2016
Cabeçalho ufs.h