structure UFS_GEOMETRY_DESCRIPTOR (ufs.h)
UFS_GEOMETRY_DESCRIPTOR décrit les paramètres géométriques d’un appareil.
Syntaxe
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;
Membres
bLength
Spécifie la longueur du descripteur.
bDescriptorIDN
Spécifie le type du descripteur. Ce descripteur aura une valeur de UFS_DESC_GEOMETRY_IDN.
bMediaTechnology
Réservé pour une utilisation ultérieure.
Reserved1
Réservé pour une utilisation ultérieure.
qTotalRawDeviceCapacity[8]
Spécifie la capacité totale de l’appareil brut. Exprimé en unités de 512 octets.
bMaxNumberLU
Spécifie le nombre maximal d’unités logiques prises en charge par l’UFS (Stockage Flash universel). Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | 8 unités logiques. |
0x01 | 32 unités logiques. |
Autres valeurs | Réservé pour une utilisation ultérieure. |
dSegmentSize[4]
Spécifie la taille du segment de l’appareil en unités de 512 octets.
bAllocationUnitSize
Spécifie la taille de l’unité d’allocation en nombre de segments.
bMinAddrBlockSize
Spécifie la taille minimale du bloc adressable en unités de 512 octets. La taille minimale est de 4 Ko ou une valeur de 0x08.
bOptimalReadBlockSize
Spécifie la taille optimale du bloc de lecture en unités de 512 octets.
bOptimalWriteBlockSize
Spécifie la taille optimale du bloc d’écriture en unités de 512 octets. bOptimalWriteBlockSize est égal ou supérieur à bMinAddrBlockSize.
bMaxInBufferSize
Spécifie la taille maximale de la mémoire tampon de données dans les unités de 512 octets. La taille du minium est de 4 Ko ou une valeur de 0x08.
bMaxOutBufferSize
Spécifie la taille maximale de la mémoire tampon de sortie de données en unités de 512 octets. La taille du minium est de 4 Ko ou une valeur de 0x08.
bRPMB_ReadWriteSize
Spécifie le nombre maximal de trames RPMB (Replay Protected Memory Block) autorisées dans le protocole de sécurité in and Security Protocol Out. Chaque image est de 256 octets.
bDynamicCapacityResourcePolicy
Spécifie la stratégie de gestion des ressources des blocs de rechange d’un appareil. Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | La stratégie de gestion des ressources de blocs de rechange est par unité logique. |
0x01 | La stratégie de gestion des ressources de blocs de rechange est par type de mémoire. |
bDataOrdering
Spécifie si un appareil prend en charge le transfert de données hors commande. Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | Le transfert de données hors commande n’est pas pris en charge. |
0x01 | Le transfert de données hors commande est pris en charge. |
Toutes les autres valeurs | Réservé pour une utilisation ultérieure. |
bMaxContexIDNumber
Spécifie le nombre maximal de contextes pris en charge par un appareil. Ce nombre doit être supérieur à 5.
bSysDataTagUnitSize
Spécifie la taille de l’unité d’étiquette de données système.
bSysDataTagResSize
Spécifie la taille maximale en octets alloués par l’appareil pour gérer les données système.
bSupportedSecRTypes
Spécifie les types de suppression sécurisée pris en charge. Les 3 premiers bits de la variable sont des indicateurs qui représentent différents types de suppression sécurisé pris en charge.
Mors | Description |
---|---|
0 | Informations supprimées avec une effacement de la mémoire physique. |
1 | Informations supprimées en remplaçant les emplacements adressés par un caractère unique suivi d’une effacement. |
2 | Informations supprimées en remplaçant les emplacements traités par un caractère, son complément, puis un caractère aléatoire. |
3 | Informations supprimées à l’aide d’un mécanisme défini par le fournisseur. |
4-7 | Réservé pour une utilisation ultérieure. |
wSupportedMemoryTypes[2]
Spécifie les types de mémoire pris en charge dans une bitmap.
Mors | Description |
---|---|
0 | Un type de mémoire normal est pris en charge. |
1 | Un type de mémoire de code système est pris en charge. |
2 | Un type de mémoire non persistant est pris en charge. |
3 | Le type de mémoire amélioré 1 est pris en charge. |
4 | Le type de mémoire amélioré 2 est pris en charge. |
5 | Le type de mémoire amélioré 3 est pris en charge. |
6 | Le type de mémoire amélioré 4 est pris en charge. |
7-14 | Réservé pour une utilisation ultérieure. |
15 | Un type de mémoire RPMB est pris en charge. |
dSystemCodeMaxNAllocU[4]
Spécifie le nombre maximal d’unités d’allocation pour le code système d’un appareil.
wSystemCodeCapAdjFac[2]
Espèce le facteur d’ajustement de capacité pour le type de mémoire du code système.
dNonPersistMaxNAllocU[4]
Indique le nombre maximal d’unités d’allocation pour un type de mémoire non persistant.
wNonPersistCapAdjFac[2]
Spécifie le facteur d’ajustement de capacité pour le type de mémoire non persistant.
dEnhanced1MaxNAllocU[4]
Spécifie le nombre maximal d’unités d’allocation pour le type de mémoire amélioré 1.
wEnhanced1CapAdjFac[2]
Spécifie le facteur d’ajustement de capacité pour le type de mémoire amélioré 1.
dEnhanced2MaxNAllocU[4]
Spécifie le nombre maximal d’unités d’allocation pour le type de mémoire amélioré 2.
wEnhanced2CapAdjFac[2]
Spécifie le facteur d’ajustement de capacité pour le type de mémoire amélioré 2.
dEnhanced3MaxNAllocU[4]
Spécifie le nombre maximal d’unités d’allocation pour le type de mémoire amélioré 3.
wEnhanced3CapAdjFac[2]
Spécifie le facteur d’ajustement de capacité pour le type de mémoire amélioré 3.
dEnhanced4MaxNAllocU[4]
Spécifie le nombre maximal d’unités d’allocation pour le type de mémoire amélioré 4.
wEnhanced4CapAdjFac[2]
Spécifie le facteur d’ajustement de capacité pour le type de mémoire amélioré 4.
dOptimalLogicalBlockSize[4]
Spécifie la taille de bloc logique optimale.
- bit [3:0] : type de mémoire normal
- bit [7:4] : type de mémoire du code système
- bit [11:8] : type de mémoire non persistant
- bit [15:12] : type de mémoire amélioré 1
- bit [19:16] : type de mémoire amélioré 2
- bit [23:20] : type de mémoire amélioré 3
- bit [27:24] : type de mémoire amélioré 4
- bit [31:28] :Reserved
bHPBRegionSize
Spécifie la taille de la région HPB.
bHPBNumberLU
Spécifie le nombre maximal d’unités logiques dans lesquelles HPB peut être activé.
bHPBSubRegionSize
Spécifie la taille de la sous-région HPB. Le bHPBSubRegionSize ne peut pas dépasser bHPBRegionSize.
wDeviceMaxActiveHPBRegions
Spécifie le nombre mximum de régions HPB actives prises en charge par l’appareil.
Reserved2[2]
Réservé pour une utilisation ultérieure.
dWriteBoosterBufferMaxNAllocUnits[4]
Spécifie la taille totale de la mémoire tampon WriteBooster prise en charge par l’appareil. La somme des tailles de mémoire tampon WriteBooster pour toutes les unités logiques est inférieure ou égale à la valeur indiquée par dWriteBoosterBufferMaxNAllocUnits.
bDeviceMaxWriteBoosterLUs
Spécifie le nombre maximal de mémoires tampons WriteBooster prises en charge.
bWriteBoosterBufferCapAdjFac
Spécifie le facteur d’ajustement de capacité pour le type de mémoire tampon WriteBooster. Cette valeur fournit le facteur de multiplication de réduction de l’espace LBA lorsque la mémoire tampon WriteBooster est configurée en mode de réduction de l’espace utilisateur. Par conséquent, ce paramètre s’applique uniquement si bWriteBoosterBufferPreserveUserSpaceEn est 0x00.
bSupportedWriteBoosterBufferUserSpaceReductionTypes
Spécifie la prise en charge du mode de réduction de l’espace utilisateur et conserve le mode espace utilisateur.
- 0x00 : la mémoire tampon WriteBooster ne peut être configurée que dans le type de réduction de l’espace utilisateur.
- ox01 : la mémoire tampon WriteBooster ne peut être configurée que dans le type d’espace utilisateur de conservation.
- ox02 : L’appareil peut être configuré dans le type de réduction de l’espace utilisateur ou conserver le type d’espace utilisateur.
- Autres : Réservé
bSupportedWriteBoosterBufferTypes
Spécifie la prise en charge du type de mémoire tampon WriteBooster.
- 00h : Configuration de la mémoire tampon WriteBooster basée sur l’unité logique
- 01h : Configuration de mémoire tampon WriteBooster partagée unique
- 02h : Prise en charge de la mémoire tampon WriteBooster basée sur l’unité logique et de la configuration de mémoire tampon WriteBooster partagée unique
- Autres : Réservé
Remarques
Si la taille des données transférées dépasse le nombre d’images bRPMB_ReadWriteSize, elle est effectuée dans plusieurs commandes de sécurité.
La valeur du facteur d’ajustement de capacité pour un type de mémoire normal est égale à une.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10, version 1709 |
serveur minimum pris en charge | Windows Server 2016 |
d’en-tête | ufs.h |