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 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;
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 do dispositivo bruto. 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 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 RPMB (Replay Protected Memory Block) permitidos no Protocolo de Segurança e protocolo de segurança fora. Cada quadro tem 256 bytes.
bDynamicCapacityResourcePolicy
Especifica a política de gerenciamento de recursos de blocos de reposição 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 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 com suporte por 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 dados do sistema.
bSupportedSecRTypes
Especifica os tipos de Remoção Segura com suporte. Os primeiros 3 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 com um único caractere seguido por uma apagamento. |
2 | Informações removidas substituindo os locais endereçados com 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 para um dispositivo.
wSystemCodeCapAdjFac[2]
Espécie 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 avançado 1.
wEnhanced1CapAdjFac[2]
Especifica o Fator de Ajuste de Capacidade para o tipo de memória avançado 1.
dEnhanced2MaxNAllocU[4]
Especifica o número máximo de Unidades de Alocação para o tipo de memória avançado 2.
wEnhanced2CapAdjFac[2]
Especifica o Fator de Ajuste de Capacidade para o tipo de memória avançado 2.
dEnhanced3MaxNAllocU[4]
Especifica o número máximo de Unidades de Alocação para o tipo de memória avançado 3.
wEnhanced3CapAdjFac[2]
Especifica o Fator de Ajuste de Capacidade para o tipo de memória avançado 3.
dEnhanced4MaxNAllocU[4]
Especifica o número máximo de Unidades de Alocação para o tipo de memória avançado 4.
wEnhanced4CapAdjFac[2]
Especifica o Fator de Ajuste de Capacidade para o tipo de memória avançado 4.
dOptimalLogicalBlockSize[4]
Especifica o tamanho ideal do bloco lógico.
- bit [3:0]: Tipo de memória normal
- bit [7:4]: Tipo de memória de código do sistema
- bit [11:8]: tipo de memória não persistente
- bit [15:12]: Memória aprimorada tipo 1
- bit [19:16]: Memória aprimorada tipo 2
- bit [23:20]: Memória aprimorada tipo 3
- bit [27:24]: Memória aprimorada tipo 4
- bit [31:28]:Reservado
bHPBRegionSize
Especifica o tamanho da região do HPB.
bHPBNumberLU
Especifica o número máximo de unidades lógicas nas quais o HPB pode ser habilitado.
bHPBSubRegionSize
Especifica o tamanho da sub-região do HPB. O bHPBSubRegionSize não pode exceder bHPBRegionSize.
wDeviceMaxActiveHPBRegions
Especifica o número mximum de regiões hpb ativas compatíveis com o dispositivo.
Reserved2[2]
Reservado para uso futuro.
dWriteBoosterBufferMaxNAllocUnits[4]
Especifica o tamanho total do buffer WriteBooster compatível com o dispositivo. A soma dos tamanhos de buffer WriteBooster para todas as LUs é menor ou igual ao valor indicado por dWriteBoosterBufferMaxNAllocUnits.
bDeviceMaxWriteBoosterLUs
Especifica o número máximo de buffers WriteBooster com suporte.
bWriteBoosterBufferCapAdjFac
Especifica o fator de ajuste de capacidade para o tipo de memória do buffer WriteBooster. Esse valor fornece o fator de multiplicação de redução de espaço LBA quando o Buffer WriteBooster é configurado no modo de redução de espaço do usuário. Portanto, esse parâmetro só se aplicará se bWriteBoosterBufferPreserveUserSpaceEn for 0x00.
bSupportedWriteBoosterBufferUserSpaceReductionTypes
Especifica a capacidade de suporte do modo de redução de espaço do usuário e preserva o modo de espaço do usuário.
- 0x00: o buffer WriteBooster só pode ser configurado no tipo de redução de espaço do usuário.
- ox01: o buffer WriteBooster só pode ser configurado na preservação do tipo de espaço do usuário.
- ox02: o dispositivo pode ser configurado no tipo de redução de espaço do usuário ou preservar o tipo de espaço do usuário.
- Outros: Reservado
bSupportedWriteBoosterBufferTypes
Especifica a capacidade de suporte do tipo de buffer WriteBooster.
- 00h: Configuração do buffer WriteBooster baseada em LU
- 01h: Configuração de buffer do WriteBooster compartilhado único
- 02h: Suporte ao buffer WriteBooster baseado em LU e à configuração de buffer do WriteBooster compartilhado único
- Outros: Reservado
Observações
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 um.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10, versão 1709 |
servidor com suporte mínimo | Windows Server 2016 |
cabeçalho | ufs.h |