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 |