Поделиться через


структура 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

См. также