struttura UFS_GEOMETRY_DESCRIPTOR (ufs.h)

UFS_GEOMETRY_DESCRIPTOR descrive i parametri geometrici di un dispositivo.

Sintassi

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;

Members

bLength

Specifica la lunghezza del descrittore.

bDescriptorIDN

Specifica il tipo del descrittore. Questo descrittore avrà un valore di UFS_DESC_GEOMETRY_IDN.

bMediaTechnology

Riservato per usi futuri.

Reserved1

Riservato per usi futuri.

qTotalRawDeviceCapacity[8]

Specifica la capacità totale del dispositivo non elaborato. Espresso in unità di 512 byte.

bMaxNumberLU

Specifica il numero massimo di unità logiche supportate dall'UFS (Universal Flash Storage). Contiene uno dei valori seguenti:

Valore Descrizione
0x00 8 unità logiche.
0x01 32 unità logiche.
Altri valori Riservato per utilizzi futuri.

dSegmentSize[4]

Specifica le dimensioni del segmento del dispositivo in unità di 512 byte.

bAllocationUnitSize

Specifica le dimensioni dell'unità di allocazione in numero di segmenti.

bMinAddrBlockSize

Specifica la dimensione minima del blocco indirizzabile in unità di 512 byte. La dimensione minima è 4 KB o un valore di 0x08.

bOptimalReadBlockSize

Specifica le dimensioni ottimali dei blocchi di lettura in unità di 512 byte.

bOptimalWriteBlockSize

Specifica le dimensioni ottimali del blocco di scrittura in unità di 512 byte. bOptimalWriteBlockSize è uguale o maggiore di bMinAddrBlockSize.

bMaxInBufferSize

Specifica le dimensioni massime del buffer dei dati in unità di 512 byte. La dimensione minium è 4 KB o un valore di 0x08.

bMaxOutBufferSize

Specifica le dimensioni massime del buffer di uscita dei dati in unità di 512 byte. La dimensione minium è 4 KB o un valore di 0x08.

bRPMB_ReadWriteSize

Specifica il numero massimo di fotogrammi RPMB (Replay Protected Memory Block) consentiti in Security Protocol In and Security Protocol Out. Ogni frame è di 256 byte.

bDynamicCapacityResourcePolicy

Specifica i criteri di gestione delle risorse dei blocchi di riserva di un dispositivo. Contiene uno dei valori seguenti:

Valore Descrizione
0x00 I criteri di gestione delle risorse dei blocchi di riserva sono per unità logica.
0x01 I criteri di gestione delle risorse dei blocchi di riserva sono per tipo di memoria.

bDataOrdering

Specifica se un dispositivo supporta il trasferimento dei dati non in ordine. Contiene uno dei valori seguenti:

Valore Descrizione
0x00 Il trasferimento dati non ordinato non è supportato.
0x01 Il trasferimento dati non ordinato è supportato.
Tutti gli altri valori Riservato per utilizzi futuri.

bMaxContexIDNumber

Specifica il numero massimo di contesti supportati da un dispositivo. Questo numero deve essere maggiore di 5.

bSysDataTagUnitSize

Specifica le dimensioni dell'unità tag dati di sistema.

bSysDataTagResSize

Specifica la dimensione massima in byte allocata dal dispositivo per gestire i dati di sistema.

bSupportedSecRTypes

Specifica i tipi di rimozione sicura supportati. I primi 3 bit della variabile sono flag che rappresentano diversi tipi di rimozione sicura supportati.

bit Descrizione
0 Informazioni rimosse con una cancellazione della memoria fisica.
1 Informazioni rimosse sovrascrivendo i percorsi indirizzati con un singolo carattere seguito da una cancellazione.
2 Le informazioni rimosse sovrascrivendo le posizioni indirizzate con un carattere, il relativo complemento, quindi un carattere casuale.
3 Informazioni rimosse tramite un meccanismo definito dal fornitore.
4-7 Riservato per utilizzi futuri.

wSupportedMemoryTypes[2]

Specifica i tipi di memoria supportati in una bitmap.

bit Descrizione
0 È supportato un tipo di memoria normale.
1 È supportato un tipo di memoria del codice di sistema.
2 È supportato un tipo di memoria non persistente.
3 È supportato il tipo di memoria avanzato 1.
4 È supportato il tipo di memoria avanzato 2.
5 È supportato il tipo di memoria avanzato 3.
6 È supportato il tipo di memoria avanzato 4.
7-14 Riservato per utilizzi futuri.
15 È supportato un tipo di memoria RPMB.

dSystemCodeMaxNAllocU[4]

Specifica il numero massimo di unità di allocazione per il codice di sistema per un dispositivo.

wSystemCodeCapAdjFac[2]

Specificare il fattore di regolazione della capacità per il tipo di memoria del codice di sistema.

dNonPersistMaxNAllocU[4]

Specifica il numero massimo di unità di allocazione per un tipo di memoria non persistente.

wNonPersistCapAdjFac[2]

Specifica il fattore di regolazione della capacità per il tipo di memoria non persistente.

dEnhanced1MaxNAllocU[4]

Specifica il numero massimo di unità di allocazione per il tipo di memoria avanzato 1.

wEnhanced1CapAdjFac[2]

Specifica il fattore di regolazione della capacità per il tipo di memoria avanzato 1.

dEnhanced2MaxNAllocU[4]

Specifica il numero massimo di unità di allocazione per il tipo di memoria avanzato 2.

wEnhanced2CapAdjFac[2]

Specifica il fattore di regolazione della capacità per il tipo di memoria avanzato 2.

dEnhanced3MaxNAllocU[4]

Specifica il numero massimo di unità di allocazione per il tipo di memoria avanzato 3.

wEnhanced3CapAdjFac[2]

Specifica il fattore di regolazione della capacità per il tipo di memoria avanzato 3.

dEnhanced4MaxNAllocU[4]

Specifica il numero massimo di unità di allocazione per il tipo di memoria avanzato 4.

wEnhanced4CapAdjFac[2]

Specifica il fattore di regolazione della capacità per il tipo di memoria avanzato 4.

dOptimalLogicalBlockSize[4]

Specifica le dimensioni ottimali del blocco logico.

  • bit [3:0]: tipo di memoria normale
  • bit [7:4]: tipo di memoria del codice di sistema
  • bit [11:8]: tipo di memoria non persistente
  • bit [15:12]: tipo di memoria avanzato 1
  • bit [19:16]: tipo di memoria avanzato 2
  • bit [23:20]: tipo di memoria avanzato 3
  • bit [27:24]: tipo di memoria avanzato 4
  • bit [31:28]:Reserved

bHPBRegionSize

Specifica le dimensioni dell'area HPB.

bHPBNumberLU

Specifica il numero massimo di unità logiche in cui è possibile abilitare HPB.

bHPBSubRegionSize

Specifica le dimensioni della sottoarea HPB. BHPBSubRegionSize non può superare bHPBRegionSize.

wDeviceMaxActiveHPBRegions

Specifica il numero mximum di aree HPB attive supportate dal dispositivo.

Reserved2[2]

Riservato per utilizzi futuri.

dWriteBoosterBufferMaxNAllocUnits[4]

Specifica le dimensioni totali del buffer WriteBooster supportate dal dispositivo. La somma delle dimensioni del buffer WriteBooster per tutte le unità di calcolo è minore o uguale al valore indicato da dWriteBoosterBufferMaxNAllocUnits.

bDeviceMaxWriteBoosterLUs

Specifica il numero massimo di buffer WriteBooster supportati.

bWriteBoosterBufferCapAdjFac

Specifica il fattore di regolazione della capacità per il tipo di memoria buffer WriteBooster. Questo valore fornisce il fattore di moltiplicazione di riduzione dello spazio LBA quando WriteBooster Buffer è configurato in modalità di riduzione dello spazio utente. Pertanto, questo parametro si applica solo se bWriteBoosterBufferPreserveUserSpaceEn è 0x00.

bSupportedWriteBoosterBufferUserSpaceReductionTypes

Specifica la supportabilità della modalità di riduzione dello spazio utente e mantiene la modalità spazio utente.

  • 0x00: il buffer WriteBooster può essere configurato solo nel tipo di riduzione dello spazio utente.
  • ox01: il buffer WriteBooster può essere configurato solo per mantenere il tipo di spazio utente.
  • ox02: il dispositivo può essere configurato nel tipo di riduzione dello spazio utente o mantenere il tipo di spazio utente.
  • Altri: riservato

bSupportedWriteBoosterBufferTypes

Specifica la supportabilità del tipo di buffer WriteBooster.

  • 00h: configurazione del buffer WriteBooster basata su LU
  • 01h: Configurazione del buffer WriteBooster condiviso singolo
  • 02h: supporto del buffer WriteBooster basato su LU e della configurazione del buffer WriteBooster condiviso singolo
  • Altri: Riservato

Commenti

Se le dimensioni dei dati trasferiti superano il numero di fotogrammi bRPMB_ReadWriteSize, verranno eseguite in più comandi di sicurezza.

Il valore del fattore di regolazione della capacità per un tipo di memoria normale è uguale a uno.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1709
Server minimo supportato Windows Server 2016
Intestazione ufs.h