structure UFS_UNIT_DESCRIPTOR (ufs.h)
La structure UFS_UNIT_DESCRIPTOR décrit un descripteur d’unité générique.
Syntaxe
typedef struct {
UCHAR bLength;
UCHAR bDescriptorIDN;
UCHAR bUnitIndex;
UCHAR bLUEnable;
UCHAR bBootLunID;
UCHAR bLUWriteProtect;
UCHAR bLUQueueDepth;
UCHAR bPSASensitive;
UCHAR bMemoryType;
UCHAR bDataReliability;
UCHAR bLogicalBlockSize;
UCHAR qLogicalBlockCount[8];
UCHAR dEraseBlockSize[4];
UCHAR bProvisioningType;
UCHAR qPhyMemResourceCount[8];
UCHAR wContextCapabilities[2];
UCHAR bLargeUnitGranularity_M1;
USHORT wLUMaxActiveHPBRegions;
USHORT wHPBPinnedRegionStartIdx;
USHORT wNumHPBPinnedRegions;
ULONG dLUNumWriteBoosterBufferAllocUnits;
} UFS_UNIT_DESCRIPTOR, *PUFS_UNIT_DESCRIPTOR;
Membres
bLength
Spécifie la longueur, en octets, de ce descripteur.
bDescriptorIDN
Spécifie le type du descripteur. Ce descripteur aura une valeur de UFS_DESC_UNIT_IDN.
bUnitIndex
Spécifie l’index d’unité
bLUEnable
Spécifie si le numéro d’unité logique (LUN) est activé. Si bLUEnable est égal à 0x00, l’unité logique est désactivée.
bBootLunID
bLUWriteProtect
Spécifie si l’unité logique est protégée en écriture. Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | L’unité logique n’est pas protégée en écriture. |
0x01 | L’unité logique est protégée en écriture. |
0x02 | L’unité logique est protégée en permanence. |
bLUQueueDepth
Spécifie la profondeur de la file d’attente d’unités logiques. Peut être n’importe quelle valeur de 0x00 à 0xff.
bPSASensitive
Spécifie si l’unité logique est sensible à la solde. Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | L’unité logique n’est pas sensible à la solde. |
0x01 | L’unité logique est sensible à la solde. |
bMemoryType
Spécifie le type de mémoire souhaité. Le paramètre wSupportedMemoryTypes dans la structure UFS_GEOMETRY_DESCRIPTOR indique les types de mémoire pris en charge par l’appareil.
bDataReliability
Spécifie si l’appareil est protégé contre une panne d’alimentation pendant une opération d’écriture dans l’unité logique.
bLogicalBlockSize
Spécifie la taille de bloc logique du descripteur. Définissez la valeur de cette valeur égale à la valeur correspondante dans dOptimalLogicalBlockSize de UFS_GEOMETRY_DESCRIPTOR pour le type de mémoire d’unité logique spécifique.
qLogicalBlockCount[8]
Spécifie le nombre total de blocs logiques adressables dans l’unité logique.
dEraseBlockSize[4]
Spécifie la taille du bloc d’effacement.
bProvisioningType
Spécifie le type d’approvisionnement.
qPhyMemResourceCount[8]
Spécifie les ressources de mémoire physique totales disponibles dans l’unité logique.
wContextCapabilities[2]
Spécifie le nombre de contextes à prendre en charge dans chaque unité logique.
bLargeUnitGranularity_M1
Spécifie la granularité d’unité de grande taille, moins une.
wLUMaxActiveHPBRegions
Spécifie le nombre maximal de régions HPB affectées à l’unité logique HPB.
wHPBPinnedRegionStartIdx
Spécifie le décalage de début de région épinglé HPB.
wNumHPBPinnedRegions
Spécifie le nombre de régions épinglées HPB affectées à l’unité logique HPB.
dLUNumWriteBoosterBufferAllocUnits
Spécifie le nombre d’unités d’allocation de mémoire tampon WriteBooster d’unité logique.
Remarques
bPSASensitive et dEraseBlockSize sont mis à jour automatiquement après la configuration de l’appareil.
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 |