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_Reserved_01 Reserved for future use. |
UFS_bCurrentPowerMode Indicates the current power mode. See Remarks for possible values. |
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. See Remarks for possible values. |
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. See Remarks for possible values. |
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). See Remarks for possible values. |
UFS_dSecondsPassed Specifies the time passed in seconds. |
UFS_wContextConf Specifies the context attribute. |
UFS_Obsolete Obsolete |
UFS_Reserved_12 Reserved for future use. |
UFS_Reserved_13 Reserved for future use. |
UFS_bDeviceFFUStatus Specifies the Device Field Firmware Update (FFU) status. See Remarks for possible values. |
UFS_bPSAState Specifies the current Product State Awareness (PSA) State. See Remarks for possible values. |
UFS_dPSADataSize Specifies the amount of data that the host plans to load to all logical units with bPSASensitive set to 1. |
UFS_bRefClkGatingWaitTime Specifies the reference clock gating wait time. |
UFS_bDeviceCaseRoughTemperature Specifies the rough temperature of the device case. |
UFS_bDeviceTooHighTempBoundary Specifies the upper boundary for the device temperature. |
UFS_bDeviceTooLowTempBoundary Specifies the lower boundary for the device temperature. |
UFS_bThrottlingStatus Specifies the throttling status. |
UFS_bWriteBoosterBufferFlushStatus Specifies the write booster buffer flush status. |
UFS_bAvailableWriteBoosterBufferSize Specifies the available write booster buffer size. |
UFS_bWriteBoosterBufferLifeTimeEst Specifies the write booster buffer lifetime estimate. |
UFS_dCurrentWriteBoosterBufferSize Specifies the current write booster buffer size. |
UFS_Reserved_20 Reserved for future use. |
UFS_Reserved_21 Reserved for future use. |
UFS_Reserved_22 Reserved for future use. |
UFS_Reserved_23 Reserved for future use. |
UFS_Reserved_24 Reserved for future use. |
UFS_Reserved_25 Reserved for future use. |
UFS_Reserved_26 Reserved for future use. |
UFS_Reserved_27 Reserved for future use. |
UFS_Reserved_28 Reserved for future use. |
UFS_Reserved_29 Reserved for future use. |
UFS_Reserved_2A Reserved for future use. |
UFS_Reserved_2B Reserved for future use. |
UFS_bRefreshStatus Specifies the refresh status. |
UFS_bRefreshFreq Specifies the refresh frequency. |
UFS_bRefreshUnit Specifies the refresh units. |
UFS_bRefreshMethod Specifies the refresh method. |
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.
Tje 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.
Possible values for some fields
UFS_bCurrentPowerMode contains one of the following values:
Value | Description |
---|---|
0x00 | Idle power mode. |
0x10 | Pre-Active power mode. |
0x11 | Active power mode. |
0x20 | Pre-Sleep power mode. |
0x22 | Universal Flash Storage (UFS)-Sleep power mode. |
0x30 | 40% to 50% of the device's estimated life time has been used. |
0x33 | 50% to 60% of the device's estimated life time has been used. |
All other values | Reserved for future use. |
UFS_bBackgroundOpStatus contains one of the following values:
Value | Description |
---|---|
0x00 | Device requires no background operations. |
0x01 | Device has a non-critical need of background operations. |
0x02 | Device has a performance impacted-based need of background operations. |
0x03 | Device has a critical need of background operations. |
UFS_bRefClkFreq contains one of the following values:
Value | Description |
---|---|
0x00 | 19.2 MHz |
0x01 | 26 MHz |
0x02 | 38.4 MHz |
0x03 | 52 MHz |
UFS_wExceptionEventStatus contains the following bits:
Bit | Value |
---|---|
0 | DYNCAP_NEEDED |
1 | SYSPOOL_EXHAUSTED |
2 | URGENT_BKOPS |
3 to 15 | Reserved. |
UFS_bDeviceFFUStatus contains one of the following values:
Value | Description |
---|---|
0x00 | No information on the FFU status. |
0x01 | Successful microcode update. |
0x02 | Microcode corruption error. |
0x03 | Internal error. |
0x04 | Microcode version mismatch. |
0x05 to 0xFE | Reserved. |
0xFF | General Error. |
UFS_bPSAState contains one of the following values:
Value | State | Description |
---|---|---|
0x00 | Off | PSA feature is off. |
0x01 | Pre-solder | PSA feature is on and the device is in a pre-soldering state. |
0x02 | Loading Complete | The PSA feature is on. The host will set to this value after the host finished writing data during pre-soldering state. |
0x03 | Soldered | PSA 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. |
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