UFS_GEOMETRY_DESCRIPTOR structure (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 la valeur UFS_DESC_GEOMETRY_IDN.
bMediaTechnology
Réservé à un usage ultérieur.
Reserved1
Réservé à un usage ultérieur.
qTotalRawDeviceCapacity[8]
Spécifie la capacité brute totale de l’appareil. Exprimé en unités de 512 octets.
bMaxNumberLU
Spécifie le nombre maximal d’unités logiques prises en charge par l’UFS (Universal Flash Storage). Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | 8 unités logiques. |
0x01 | 32 unités logiques. |
Autres valeurs | Réservé pour un usage futur. |
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 de bloc d’écriture optimale 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 entrantes en 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é entrant et le protocole de sécurité sortant. 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 des blocs de rechange est par unité logique. |
0x01 | La stratégie de gestion des ressources des blocs de rechange est par type de mémoire. |
bDataOrdering
Spécifie si un appareil prend en charge le transfert de données en désordre. Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | Le transfert de données en désordre n’est pas pris en charge. |
0x01 | Le transfert de données en désordre est pris en charge. |
Toutes les autres erreurs | Réservé pour un usage futur. |
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é de balise de données système.
bSysDataTagResSize
Spécifie la taille maximale en octets allouée 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ée pris en charge.
bit | 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 adressé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 un usage futur. |
wSupportedMemoryTypes[2]
Spécifie les types de mémoire pris en charge dans une bitmap.
bit | 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 un usage futur. |
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 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 l’sous-région HPB. 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 un usage futur.
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 la 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 la conservation du mode d’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é en type de réduction de l’espace utilisateur ou en 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 lu
- 01h : Configuration de la mémoire tampon WriteBooster partagée unique
- 02h : Prise en charge de la mémoire tampon WriteBooster basée sur lu 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 de trames bRPMB_ReadWriteSize, cette opération 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 à un.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10, version 1709 |
Serveur minimal pris en charge | Windows Server 2016 |
En-tête | ufs.h |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour