UFS_ATTRIBUTES_DESCRIPTOR enumeration (ufs.h)

UFS_ATTRIBUTES_DESCRIPTOR describes the different types of attributes used by Universal Flash Storage (UFS) descriptors.

Syntax

typedef enum {
  UFS_bBootLunEn,
  UFS_Reserved_01,
  UFS_bCurrentPowerMode,
  UFS_bActiveICCLevel,
  UFS_bOutOfOrderDataEn,
  UFS_bBackgroundOpStatus,
  UFS_bPurgeStatus,
  UFS_bMaxDataInSize,
  UFS_bMaxDataOutSize,
  UFS_dDynCapNeeded,
  UFS_bRefClkFreq,
  UFS_bConfigDescrLock,
  UFS_bMaxNumOfRTT,
  UFS_wExceptionEventControl,
  UFS_wExceptionEventStatus,
  UFS_dSecondsPassed,
  UFS_wContextConf,
  UFS_Obsolete,
  UFS_Reserved_12,
  UFS_Reserved_13,
  UFS_bDeviceFFUStatus,
  UFS_bPSAState,
  UFS_dPSADataSize,
  UFS_bRefClkGatingWaitTime,
  UFS_bDeviceCaseRoughTemperature,
  UFS_bDeviceTooHighTempBoundary,
  UFS_bDeviceTooLowTempBoundary,
  UFS_bThrottlingStatus,
  UFS_bWriteBoosterBufferFlushStatus,
  UFS_bAvailableWriteBoosterBufferSize,
  UFS_bWriteBoosterBufferLifeTimeEst,
  UFS_dCurrentWriteBoosterBufferSize,
  UFS_Reserved_20,
  UFS_Reserved_21,
  UFS_Reserved_22,
  UFS_Reserved_23,
  UFS_Reserved_24,
  UFS_Reserved_25,
  UFS_Reserved_26,
  UFS_Reserved_27,
  UFS_Reserved_28,
  UFS_Reserved_29,
  UFS_Reserved_2A,
  UFS_Reserved_2B,
  UFS_bRefreshStatus,
  UFS_bRefreshFreq,
  UFS_bRefreshUnit,
  UFS_bRefreshMethod
} UFS_ATTRIBUTES_DESCRIPTOR;

Constants

 
UFS_bBootLunEn
Indicates if the Boot Logical Unit Number(LUN) is enabled.
UFS_bCurrentPowerMode
Indicates the current power mode. Contains one of the following values:






































ValueDescription
0x00Idle power mode.
0x10Pre-Active power mode.
0x11Active power mode.
0x20Pre-Sleep power mode.
0x22Universal Flash Storage (UFS)-Sleep power mode.
0x3040% to 50% of the device's estimated life time has been used.
0x3350% to 60% of the device's estimated life time has been used.
All other valuesReserved for future use.
UFS_bActiveICCLevel
Specifies the maximum
current consumption allowed during
Active Mode. Value ranges from 0x00 to 0x0F.
UFS_bOutOfOrderDataEn
Specifies if out-of-order data transfer is
enabled
UFS_bBackgroundOpStatus
Specifies if the device has a need for background operations. Contains one of the following values:






















ValueDescription
0x00Device requires no background operations.
0x01Device has a non-critical need of background operations.
0x02Device has a performance impacted-based need of background operations.
0x03Device has a critical need of background operations.
UFS_bPurgeStatus
Specifies the current purge operation's status.
UFS_bMaxDataInSize
Specifies the maximum data size in a DATA IN UFS Protocol Information Units (UPIU). This parameter can be written by the
host only when all logical unit task queues are
empty.
UFS_bMaxDataOutSize
Specifies the maximum data-out size. This parameter can be written by the
host only when all logical unit task queues are
empty.
UFS_dDynCapNeeded
Specifies the dynamic capacity need.
UFS_bRefClkFreq
Specifies the reference clock frequency value.






















ValueDescription
0x0019.2 MHz
0x0126 MHz
0x0238.4 MHz
0x0352 MHz
UFS_bConfigDescrLock
Specifies if the configuration descriptor is locked.
UFS_bMaxNumOfRTT
Defines the current maximum number of outstanding READY TO TRANSFER UPIU’s (RTT's) that are
allowed. This value can be set by the host.
UFS_wExceptionEventControl
Specifies the Exception Event Controller. UFS_wExceptionEventControl enables the setting of the
EVENT_ALERT bit in the Device
Information field, which is contained in
the RESPONSE UPIU.
UFS_wExceptionEventStatus
Specifies a bitmap of each exception event status.A bit will be set only if the
relevant event has occurred
(regardless of the
UFS_wExceptionEventControl status). Contains the following bits:






















BitValue
0DYNCAP_NEEDED
1SYSPOOL_EXHAUSTED
2URGENT_BKOPS
3 to 15Reserved.
UFS_dSecondsPassed
Specifies the time passed in seconds.
UFS_wContextConf
Specifies the context attribute.
UFS_Obsolete
Obsolete
UFS_bDeviceFFUStatus
Specifies the Device Field Firmware Update (FFU) status.


































ValueDescription
0x00No information on the FFU status.
0x01Successful microcode update.
0x02Microcode corruption error.
0x03Internal error.
0x04Microcode version mismatch.
0x05 to 0xFE Reserved.
0xFFGeneral Error.
UFS_bPSAState
Specifies the current Product State Awareness (PSA) State.



























ValueStateDescription
0x00OffPSA feature is off.
0x01Pre-solderPSA feature is on and the device is in a pre-soldering state.
0x02Loading CompleteThe PSA feature
is on. The host will set to this
value after the host finished
writing data during pre-soldering
state.
0x03SolderedPSA feature is no
longer available. Set by the
Device to indicate it is in a post-soldering state. This attribute
is locked after it is in
‘Soldered’ state.
UFS_dPSADataSize
Specifies the amount of data that the host plans
to load to all logical units with
bPSASensitive set to 1.

Remarks

UFS_bCurrentPowerMode is the only attribute the device is required to return in any power mode. If the device is not in Active power mode or Idle power mode, a QUERY REQUEST UPIU to access descriptors, flags, or attributes other than bCurrentPowerMode may fail.

UFS_bDeviceFFUStatus value is kept after power cycle, hardware reset or any other type of reset. This attribute may change value when a microcode activation event occurs.

UFS_bMaxDataInSize is equal to bMaxInBufferSize when a UFS device is shipped.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1709
Minimum supported server Windows Server 2016
Header ufs.h

See also

UFS_CONFIG_DESCRIPTOR

UFS_DEVICE_DESCRIPTOR

UFS_DEVICE_HEALTH_DESCRIPTOR

UFS_GEOMETRY_DESCRIPTOR

UFS_INTERCONNECT_DESCRIPTOR

UFS_POWER_DESCRIPTOR

UFS_RPMB_UNIT_DESCRIPTOR

UFS_STRING_DESCRIPTOR

UFS_UNIT_CONFIG_DESCRIPTOR

UFS_UNIT_DESCRIPTOR