структура UFS_UNIT_DESCRIPTOR (ufs.h)
Структура UFS_UNIT_DESCRIPTOR описывает универсальный дескриптор единиц.
Синтаксис
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;
Члены
bLength
Указывает длину дескриптора в байтах.
bDescriptorIDN
Указывает тип дескриптора. Этот дескриптор будет иметь значение UFS_DESC_UNIT_IDN.
bUnitIndex
Указывает индекс единицы
bLUEnable
Указывает, включен ли номер единицы логики (LUN). Если bLUEnable равно 0x00, логическая единица отключена.
bBootLunID
bLUWriteProtect
Указывает, защищен ли логический модуль записью. Содержит одно из следующих значений:
Ценность | Описание |
---|---|
0x00 | Логическая единица не защищена. |
0x01 | Логическая единица записи защищена. |
0x02 | Логическая единица постоянно записывается. |
bLUQueueDepth
Задает глубину очереди логических единиц. Может быть любым значением от 0x00 до 0xff.
bPSASensitive
Указывает, учитывается ли логическая единица для распайки. Содержит одно из следующих значений:
Ценность | Описание |
---|---|
0x00 | Логическая единица не учитывается при распаку. |
0x01 | Логическая единица чувствительна к распаку. |
bMemoryType
Указывает нужный тип памяти. Параметр wSupportedMemoryTypes в структуре UFS_GEOMETRY_DESCRIPTOR указывает, какие типы памяти поддерживаются устройством.
bDataReliability
Указывает, защищается ли устройство от сбоя питания во время операции записи в логическую единицу.
bLogicalBlockSize
Указывает размер логического блока дескриптора. Задайте значение этого значения, равное соответствующему значению в dOptimalLogicalBlockSizeUFS_GEOMETRY_DESCRIPTOR для конкретного типа памяти логического блока.
qLogicalBlockCount[8]
Указывает общее количество адресируемых логических блоков в логическом модуле.
dEraseBlockSize[4]
Указывает размер блока удаления.
bProvisioningType
Указывает тип подготовки.
qPhyMemResourceCount[8]
Указывает общий объем ресурсов физической памяти, доступных в логическом модуле.
wContextCapabilities[2]
Указывает количество контекстов, поддерживаемых в каждом логическом модуле.
bLargeUnitGranularity_M1
Указывает степень детализации большого блока, минус одну.
wLUMaxActiveHPBRegions
Указывает максимальное количество регионов HPB, назначенных логическому блоку HPB.
wHPBPinnedRegionStartIdx
Указывает смещение запуска закрепленного региона HPB.
wNumHPBPinnedRegions
Указывает количество закрепленных регионов HPB, назначенных логическому блоку HPB.
dLUNumWriteBoosterBufferAllocUnits
Указывает количество единиц выделения буфера WriteBooster логического блока.
Замечания
bPSASensitive и dEraseBlockSize обновляются автоматически после настройки устройства.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 1709 |
минимальный поддерживаемый сервер | Windows Server 2016 |
заголовка | ufs.h |