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 la valeur 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 en écriture. |
bLUQueueDepth
Spécifie la profondeur de la file d’attente d’unités logiques. Il peut s’agir de n’importe quelle valeur de 0x00 à 0xff.
bPSASensitive
Spécifie si l’unité logique est sensible au brasage. Contient l’une des valeurs suivantes :
Valeur | Description |
---|---|
0x00 | L’unité logique n’est pas sensible au brasage. |
0x01 | L’unité logique est sensible au brasage. |
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 sur 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 le total des ressources de mémoire physique 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é de grande unité, moins un.
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 la région épinglée HPB.
wNumHPBPinnedRegions
Spécifie le nombre de régions épinglées HPB attribué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.
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 |