UFS协议—新手快速入门(番外- Descriptors、Flags、Attributes)

UFS协议—新手快速入门(总体概览+番外)

目录

UFS 3.1 中所有描述符的详细介绍

1. Generic Descriptor Format(通用描述符格式)

2. Device Descriptor(设备描述符)

3. Configuration Descriptor(配置描述符)

4. Geometry Descriptor(几何描述符)

5. Unit Descriptor(单元描述符)

6. RPMB Unit Descriptor(RPMB 单元描述符)

7. Power Parameters Descriptor(电源参数描述符)

8. Interconnect Descriptor(互连描述符)

9. Manufacturer Name String Descriptor(制造商名称字符串描述符)

10. Product Name String Descriptor(产品名称字符串描述符)

11. OEM ID String Descriptor(OEM ID 字符串描述符)

12. Serial Number String Descriptor(序列号字符串描述符)

13. Product Revision Level String Descriptor(产品修订级别字符串描述符)

14. Device Health Descriptor(设备健康描述符)

UFS 3.1 中常见的标志的详细列表

1. fDeviceInit (设备初始化)

2. fPermanentWPEn (永久写保护启用)

3. fPowerOnWPEn (开机写保护启用)

4. fBackgroundOpsEn (后台操作启用)

5. fDeviceLifeSpanModeEn (设备生命周期模式启用)

6. fPurgeEnable (清除启用)

7. fRefreshEnable (刷新启用)

8. fPhyResourceRemoval (物理资源移除)

9. fBusyRTC (忙实时钟)

10. fPermanentlyDisableFwUpdate (永久禁止固件更新)

11. fWriteBoosterEn (写增强器启用)

12. fWriteBoosterBufferFlushEn (写增强器缓冲区刷新启用)

13. fWriteBoosterBufferFlushDuringHibernate (在休眠状态下刷新写增强器缓冲区)

UFS 3.1 中的常见属性及其详细说明

1. bBootLunEn (Boot LUN Enable)

2. bCurrentPowerMode (Current Power Mode)

3. bActiveICCLevel (Active ICC Level)

4. bOutOfOrderDataEn (Out-of-Order Data Transfer Enable)

5. bBackgroundOpStatus (Background Operations Status)

6. bPurgeStatus (Purge Operation Status)

7. bMaxDataInSize (Maximum Data In Size)

8. bMaxDataOutSize (Maximum Data Out Size)

9. dDynCapNeeded (Dynamic Capacity Needed)

10. bRefClkFreq (Reference Clock Frequency)

11. bConfigDescrLock (Configuration Descriptor Lock)

12. bMaxNumOfRTT (Maximum Number of Outstanding RTTs)

13. wExceptionEventControl (Exception Event Control)

14. wExceptionEventStatus (Exception Event Status)

15. dSecondsPassed (Seconds Passed)

16. wContextConf (Context Configuration)

17. bDeviceFFUStatus (Device FFU Status)

18. bPSAState (PSA State)

19. dPSADataSize (PSA Data Size)

20. bRefClkGatingWaitTime (Reference Clock Gating Wait Time)

21. bDeviceCaseRoughTemperature (Device Case Rough Temperature)

22. bDeviceTooHighTempBoundary (Device Too High Temperature Boundary)

23. bDeviceTooLowTempBoundary (Device Too Low Temperature Boundary)

24. bThrottlingStatus (Throttling Status)

25. bWriteBoosterBufferFlushStatus (WriteBooster Buffer Flush Status)

26. bAvailableWriteBoosterBufferSize (Available WriteBooster Buffer Size)

27. bWriteBoosterBufferLifeTimeEst (WriteBooster Buffer Lifetime Estimate)

28. dCurrentWriteBoosterBufferSize (Current WriteBooster Buffer Size)

29. bRefreshStatus (Refresh Operation Status)

30. bRefreshFreq (Refresh Frequency)

31. bRefreshUnit (Refresh Operation Unit)

32. bRefreshMethod (Refresh Method)


UFS 3.1 中所有描述符的详细介绍

1. Generic Descriptor Format(通用描述符格式)

描述:这是所有描述符的通用格式,定义了描述符的基本结构,包括描述符的长度和类型。每个描述符都以一个 1 字节的长度字段开头,表示描述符的总长度(包括长度字节本身)。第二个字节是描述符类型标识符,用于区分不同类型的描述符。这种通用格式确保了描述符的可读性和可解析性,主机可以通过这些字段快速识别和处理描述符。

2. Device Descriptor(设备描述符)

描述:设备描述符描述了整个 UFS 设备的基本属性,例如设备版本、支持的功能等。这些参数在 UFS 设备出厂时由厂家设置好,主机对它只可读不可写。设备描述符提供了设备的基本信息,如设备版本号、设备类别、子类别和协议类型等,这些信息对于主机识别和配置设备至关重要。

3. Configuration Descriptor(配置描述符)

描述:配置描述符描述了设备的配置信息,例如设备的电源要求、支持的接口等。主机可以通过读取配置描述符来了解设备的配置需求,并根据这些信息进行相应的配置。配置描述符包含多个字段,如总长度、接口数量、配置编号、字符串索引、配置属性和最大功耗等,这些字段提供了设备配置的详细信息。

4. Geometry Descriptor(几何描述符)

描述:几何描述符描述了设备的几何参数,例如设备的物理尺寸和布局。这些参数对于设备的物理设计和布局规划非常重要。几何描述符提供了设备的几何特性,如设备的物理尺寸、形状和布局等信息,这些信息对于设备的制造和安装具有指导意义。

5. Unit Descriptor(单元描述符)

描述:单元描述符描述了逻辑单元(LU)的属性,例如逻辑块大小、容量等。每个逻辑单元都有一个对应的单元描述符,主机可以通过读取单元描述符来了解逻辑单元的详细信息。单元描述符包含多个字段,如单元属性、最大逻辑块地址和最优传输长度等,这些字段提供了逻辑单元的详细信息。

6. RPMB Unit Descriptor(RPMB 单元描述符)

描述:RPMB 单元描述符描述了重播受保护的内存块(RPMB)的属性,例如容量、块大小等。RPMB 是一种特殊的存储区域,用于存储受保护的数据。RPMB 单元描述符提供了 RPMB 区域的详细信息,如容量、块大小和最优传输长度等,这些信息对于数据的安全存储和管理非常重要。

7. Power Parameters Descriptor(电源参数描述符)

描述:电源参数描述符描述了设备的电源参数,例如功耗、电源状态等。这些参数对于设备的电源管理和能效优化非常重要。电源参数描述符提供了设备的电源特性,如功耗、电源状态和电源管理能力等信息,这些信息对于设备的节能和稳定运行具有重要意义。

8. Interconnect Descriptor(互连描述符)

描述:互连描述符描述了设备的互连信息,例如支持的接口类型和版本。这些参数对于设备的互连和通信非常重要。互连描述符提供了设备的互连特性,如支持的接口类型、版本和互连速度等信息,这些信息对于设备的互连和通信具有指导意义。

9. Manufacturer Name String Descriptor(制造商名称字符串描述符)

描述:制造商名称字符串描述符描述了制造商的名称,以字符串形式表示。这些信息对于设备的识别和管理非常重要。制造商名称字符串描述符提供了制造商的名称,主机可以通过读取该描述符来获取制造商的信息。

10. Product Name String Descriptor(产品名称字符串描述符)

描述:产品名称字符串描述符描述了产品的名称,以字符串形式表示。这些信息对于设备的识别和管理非常重要。产品名称字符串描述符提供了产品的名称,主机可以通过读取该描述符来获取产品的信息。

11. OEM ID String Descriptor(OEM ID 字符串描述符)

描述:OEM ID 字符串描述符描述了 OEM ID,以字符串形式表示。这些信息对于设备的识别和管理非常重要。OEM ID 字符串描述符提供了 OEM ID,主机可以通过读取该描述符来获取 OEM 的信息。

12. Serial Number String Descriptor(序列号字符串描述符)

描述:序列号字符串描述符描述了设备的序列号,以字符串形式表示。这些信息对于设备的识别和管理非常重要。序列号字符串描述符提供了设备的序列号,主机可以通过读取该描述符来获取设备的唯一标识。

13. Product Revision Level String Descriptor(产品修订级别字符串描述符)

描述:产品修订级别字符串描述符描述了产品的修订级别,以字符串形式表示。这些信息对于设备的识别和管理非常重要。产品修订级别字符串描述符提供了产品的修订级别,主机可以通过读取该描述符来获取产品的版本信息。

14. Device Health Descriptor(设备健康描述符)

描述:设备健康描述符描述了设备的健康状态,例如剩余寿命、温度等。这些信息对于设备的维护和管理非常重要。设备健康描述符提供了设备的健康状态,如剩余寿命、温度和健康属性等信息,主机可以通过读取该描述符来了解设备的健康状况。

UFS 3.1 中常见的标志的详细列表

1. fDeviceInit (设备初始化)

详细说明

  • 主机设置fDeviceInit标志以在启动过程完成后启动设备初始化。设备在初始化完成后重置该标志。

  • 0b: 设备初始化已完成或尚未开始。

  • 1b: 设备初始化正在进行中。

2. fPermanentWPEn (永久写保护启用)

详细说明

  • fPermanentWPEn启用所有配置为永久保护的逻辑单元的永久写保护;一旦设置,无法切换或清除。

  • 00h: 永久写保护禁用。

  • 01h: 永久写保护启用。

3. fPowerOnWPEn (开机写保护启用)

详细说明

  • fPowerOnWPEn启用所有配置为开机写保护的逻辑单元的写保护。

  • 如果fPowerOnWPEn等于1且设备收到清除或切换此标志的查询请求,查询请求将失败,响应字段将设置为“F8h”(参数已写入)。

  • 设备在断电或硬件重置时将fPowerOnWPEn设置为0。

  • 0b: 开机写保护禁用。

  • 1b: 开机写保护启用。

4. fBackgroundOpsEn (后台操作启用)

详细说明

  • 0b: 设备不允许运行后台操作。

  • 1b: 设备允许运行后台操作。

5. fDeviceLifeSpanModeEn (设备生命周期模式启用)

详细说明

  • 0b: 设备生命周期模式禁用。

  • 1b: 设备生命周期模式启用。

  • 有关详细信息,请参见13.4.13节,设备生命周期模式。

6. fPurgeEnable (清除启用)

详细说明

  • 0b: 清除操作禁用。

  • 1b: 清除操作启用。

  • 此标志仅在所有逻辑单元的命令队列为空且bPurgeStatus为00h(空闲)时设置。

  • fPurgeEnable在操作完成或发生错误条件时由UFS设备自动清除。

  • 主机可以清除fPurgeEnable以中断正在进行的清除操作。

7. fRefreshEnable (刷新启用)

详细说明

  • 0b: 刷新操作禁用。

  • 1b: 刷新操作启用。

  • 此标志仅在所有逻辑单元的命令队列为空且bRefreshStatus为00h(空闲)时设置。

  • fRefreshEnable在操作完成或发生错误条件时由UFS设备自动清除。

  • 主机可以清除fRefreshEnable以中断正在进行的刷新操作。

8. fPhyResourceRemoval (物理资源移除)

详细说明

  • 主机将此标志设置为1,以指示动态容量操作应在设备EndPointReset或硬件重置时开始。

  • 设备在动态容量操作完成后将此标志重置为0。主机不能重置此标志。

9. fBusyRTC (忙实时钟)

详细说明

  • 0b: 设备未执行与RTC相关的内部操作。

  • 1b: 设备正在执行与RTC相关的内部操作。

  • 当此标志设置为1时,建议主机不要向设备发送命令。

10. fPermanentlyDisableFwUpdate (永久禁止固件更新)

详细说明

  • 0b: UFS设备的固件可以被修改。

  • 1b: UFS设备应永久禁止未来的固件更新。

11. fWriteBoosterEn (写增强器启用)

详细说明

  • 0b: 写增强器未启用。

  • 1b: 写增强器启用。

12. fWriteBoosterBufferFlushEn (写增强器缓冲区刷新启用)

详细说明

  • 0b: 未执行刷新操作。

  • 1b: 执行刷新操作。

13. fWriteBoosterBufferFlushDuringHibernate (在休眠状态下刷新写增强器缓冲区)

详细说明

  • 0b: 设备在链接休眠状态下不允许刷新写增强器缓冲区。

  • 1b: 设备在链接休眠状态下允许刷新写增强器缓冲区。

UFS 3.1 中的常见属性及其详细说明

1. bBootLunEn (Boot LUN Enable)

  • 详细说明
  • 00h: 启动功能禁用。

  • 01h: 从Boot LU A启动。

  • 02h: 从Boot LU B启动。

  • 其他值:保留。

  • bBootLunEn = 00h时,启动功能被禁用,设备的行为就像bBootEnable等于0一样。

2. bCurrentPowerMode (Current Power Mode)

详细说明

  • 00h: 空闲电源模式。

  • 10h: 预激活电源模式。

  • 11h: 激活电源模式。

  • 20h: 预睡眠电源模式。

  • 22h: UFS睡眠电源模式。

  • 30h: 预断电电源模式。

  • 33h: UFS断电电源模式。

  • 其他值:保留。

3. bActiveICCLevel (Active ICC Level)

详细说明

  • bActiveICCLevel定义了在激活模式下允许的最大电流消耗。

  • 00h: 最低的激活ICC级别。

  • 0Fh: 最高的激活ICC级别。

  • 有效范围从00h0Fh

4. bOutOfOrderDataEn (Out-of-Order Data Transfer Enable)

详细说明

  • 00h: 禁用乱序数据传输。

  • 01h: 启用乱序数据传输。

  • 其他值:保留。

  • 该位仅在bDataOrdering = 01h时有效。

5. bBackgroundOpStatus (Background Operations Status)

详细说明

  • 设备健康状态用于后台操作。

  • 00h: 不需要。

  • 01h: 需要,但不关键。

  • 02h: 需要,影响性能。

  • 03h: 关键。

  • 其他值:保留。

6. bPurgeStatus (Purge Operation Status)

详细说明

  • 00h: 空闲(清除操作禁用)。

  • 01h: 清除操作正在进行。

  • 02h: 清除操作提前终止。

  • 03h: 清除操作成功完成。

  • 04h: 清除操作因逻辑单元队列不为空而失败。

  • 05h: 清除操作一般失败。

  • 其他值:保留。

  • bPurgeStatus等于02h03h04h05h时,第一次读取后bPurgeStatus会自动清零(空闲)。

7. bMaxDataInSize (Maximum Data In Size)

详细说明

  • 数据输入UPIU中的最大数据大小。

  • 值以512字节为单位表示。

  • bMaxDataInSize不应超过bMaxInBufferSize参数。

  • 当UFS设备出厂时,bMaxDataInSize = bMaxInBufferSize

  • 主机只有在所有逻辑单元任务队列为空时才能写入此参数。

8. bMaxDataOutSize (Maximum Data Out Size)

详细说明

  • 使用READY TO TRANSFER UPIU请求的最大字节数不应超过此属性指示的值。

  • 值以512字节为单位表示。

  • bMaxDataOutSize不应超过bMaxOutBufferSize参数。

  • 当UFS设备出厂时,bMaxDataOutSize = bMaxOutBufferSize

  • 主机只有在所有逻辑单元任务队列为空时才能写入此参数。

9. dDynCapNeeded (Dynamic Capacity Needed)

详细说明

  • 从特定逻辑单元的物理内存资源池中需要移除的物理内存量,以bOptimalWriteBlockSize为单位。

10. bRefClkFreq (Reference Clock Frequency)

详细说明

  • 0h: 19.2 MHz。

  • 1h: 26 MHz。

  • 2h: 38.4 MHz。

  • 3h: 已废弃。

  • 其他值:保留。

11. bConfigDescrLock (Configuration Descriptor Lock)

详细说明

  • 0h: 配置描述符未锁定。

  • 1h: 配置描述符已锁定。

  • 其他值:保留。

12. bMaxNumOfRTT (Maximum Number of Outstanding RTTs)

详细说明

  • 设备中允许的最大未完成RTT数量。

  • bMaxNumOfRTT不应超过bDeviceRTTCap参数。

  • 主机只有在所有逻辑单元任务队列为空时才能写入此参数。

13. wExceptionEventControl (Exception Event Control)

详细说明

  • 此属性启用设置设备信息字段中的EVENT_ALERT位,该字段包含在RESPONSE UPIU中。

  • EVENT_ALERT设置为1,表示至少发生了一个异常事件(wExceptionEventStatus[i])并且此属性中的相应位(wExceptionEventControl[i])为1。

  • 位0: DYNCAP_EVENT_EN

  • 位1: SYSPOOL_EVENT_EN

  • 位2: URGENT_BKOPS_EN

  • 位3: TOO_HIGH_TEMP_EN

  • 位4: TOO_LOW_TEMP_EN

  • 位5: WRITEBOOSTER_EVENT_EN

  • 位6: PERFORMANCE_THROTTLING_EN

  • 位7-15: 保留。

14. wExceptionEventStatus (Exception Event Status)

详细说明

  • 每个位代表一个异常事件。只有当相关事件发生时,位才会被设置(无论wExceptionEventControl状态如何)。

  • 位0: DYNCAP_NEEDED

  • 位1: SYSPOOL_EXHAUSTED

  • 位2: URGENT_BKOPS

  • 位3: TOO_HIGH_TEMP

  • 位4: TOO_LOW_TEMP

  • 位5: WRITEBOOSTER_FLUSH_NEEDED

  • 位6: PERFORMANCE_THROTTLING

  • 位7-15: 保留。

15. dSecondsPassed (Seconds Passed)

详细说明

  • 从时间基线(TIME BASELINE,参见设备描述符中的wPeriodicRTCUpdate)开始经过的秒数。

  • 位[31:0]: 经过的秒数。

16. wContextConf (Context Configuration)

详细说明

  • INDEX指定逻辑单元号。

  • SELECTOR指定逻辑单元内的上下文ID。

  • 有效值为01hFh

  • 位[15:8]: 保留。

  • 位[7:6]: 可靠性模式。

    • 00b: 模式0(正常)。

    • 01b: 模式1(非大单元,可靠模式或大单元逐个模式)。

    • 10b: 模式2(大单元,一个单元尾模式)。

    • 11b: 保留。

  • 位[5:3]: 大单元乘数。

    • 如果设置了大单元上下文,此字段定义大单元大小,否则忽略。

  • 位2: 大单元上下文。

    • 0b: 上下文不遵循大单元规则。

    • 1b: 上下文遵循大单元规则。

  • 位[1:0]: 激活和方向模式。

    • 00b: 上下文已关闭,不再活跃。

    • 01b: 上下文已配置并激活为只写上下文。

    • 10b: 上下文已配置并激活为只读上下文。

    • 11b: 上下文已配置并激活为读写上下文。

17. bDeviceFFUStatus (Device FFU Status)

详细说明

  • 00h: 无信息。

  • 01h: 微代码更新成功。

  • 02h: 微代码损坏错误。

  • 03h: 内部错误。

  • 04h: 微代码版本不匹配。

  • 05h-FEh: 保留。

  • 0FFh: 一般错误。

18. bPSAState (PSA State)

详细说明

  • 00h: 关闭。PSA功能关闭。

  • 01h: 预焊接。PSA功能开启,设备处于预焊接状态。

  • 02h: 加载完成。PSA功能开启。主机在预焊接状态下完成写入数据后设置为该值。

  • 03h: 焊接。PSA功能不再可用。设备设置为该值,表示已进入焊接后状态。此属性在进入“焊接”状态后不可更改。

19. dPSADataSize (PSA Data Size)

详细说明

  • 主机计划加载到所有逻辑单元的数据量,bPSASensitive设置为1。

  • 值以4 K字节为单位表示。

20. bRefClkGatingWaitTime (Reference Clock Gating Wait Time)

详细说明

  • 设备在转换到LS-MODE或HIBERN8状态时需要参考时钟的最短时间。

  • 应为此属性设置转换到LS-MODE和HIBERN8状态中较大的时间需求。

  • 00h: 未定义。

  • 01h: 1微秒。

  • FFh: 255微秒。

21. bDeviceCaseRoughTemperature (Device Case Rough Temperature)

详细说明

  • 设备外壳的大致温度。

  • 当(支持TOO_HIGH_TEMPERATURE并且TOO_HIGH_TEMP_EN启用)或(支持TOO_LOW_TEMPERATURE并且TOO_LOW_TEMP_EN启用)时,此值有效。

  • 0: 未知温度。

  • 1-250: (此值 - 80)摄氏度。(即-79°C ~ 170°C)。

  • 其他值:保留。

22. bDeviceTooHighTempBoundary (Device Too High Temperature Boundary)

详细说明

  • 从该温度开始,TOO_HIGH_TEMPwExceptionEventStatus中被设置。

  • 0: 未知。

  • 100-250: (此值 - 80)摄氏度。(即20°C ~ 170°C)。

  • 其他值:保留。

23. bDeviceTooLowTempBoundary (Device Too Low Temperature Boundary)

详细说明

  • 从该温度开始,TOO_LOW_TEMPwExceptionEventStatus中被设置。

  • 0: 未知。

  • 1-80: (此值 - 80)摄氏度。(即-79°C ~ 0°C)。

  • 其他值:保留。

24. bThrottlingStatus (Throttling Status)

详细说明

  • 每个设置的位代表一个导致性能节流的情况。

  • 位0: 温度。

  • 其他位:保留。

25. bWriteBoosterBufferFlushStatus (WriteBooster Buffer Flush Status)

详细说明

  • 00h: 空闲。设备未刷新WriteBooster缓冲区:缓冲区为空或未启动刷新。

  • 01h: 刷新操作正在进行。WriteBooster缓冲区尚未清空,已启动刷新。

  • 02h: 刷新操作提前终止。WriteBooster缓冲区不为空,主机停止了正在进行的刷新。

  • 03h: 刷新操作成功完成。

  • 04h: 刷新操作一般失败。

  • 其他值:保留。

  • bWriteBoosterBufferFlushStatus等于02h03h04h时,读取后bWriteBoosterBufferFlushStatus会自动清零。当状态为03h时写入WriteBooster缓冲区将自动转换到00h01h

26. bAvailableWriteBoosterBufferSize (Available WriteBooster Buffer Size)

详细说明

  • 可用缓冲区大小由WriteBooster操作减少,由刷新操作增加。

  • 值以10%为单位表示。

  • 00h: 0%缓冲区剩余。

  • 01h: 10%缓冲区剩余。

  • 02h-09h: 20%~90%缓冲区剩余。

  • 0Ah: 100%缓冲区剩余。

  • 其他值:保留。

  • 该属性报告的百分比是当前WriteBooster缓冲区大小的剩余部分,由dCurrentWriteBoosterBufferSize属性指示。

27. bWriteBoosterBufferLifeTimeEst (WriteBooster Buffer Lifetime Estimate)

详细说明

  • 该字段提供了基于执行的编程/擦除周期的WriteBooster缓冲区寿命的指示。

  • 在保留用户空间配置的情况下,由于WriteBooster缓冲区与用户空间共享,写入正常用户空间将减少寿命。

  • 详细计算方法由供应商特定。

  • 00h: 信息不可用(WriteBooster缓冲区禁用)。

  • 01h: 0% - 10% WriteBooster缓冲区寿命已使用。

  • 02h: 10% - 20% WriteBooster缓冲区寿命已使用。

  • 03h: 20% - 30% WriteBooster缓冲区寿命已使用。

  • 04h: 30% - 40% WriteBooster缓冲区寿命已使用。

  • 05h: 40% - 50% WriteBooster缓冲区寿命已使用。

  • 06h: 50% - 60% WriteBooster缓冲区寿命已使用。

  • 07h: 60% - 70% WriteBooster缓冲区寿命已使用。

  • 08h: 70% - 80% WriteBooster缓冲区寿命已使用。

  • 09h: 80% - 90% WriteBooster缓冲区寿命已使用。

  • 0Ah: 90% - 100% WriteBooster缓冲区寿命已使用。

  • 0Bh: 超过最大估计的WriteBooster缓冲区寿命(写入命令将被处理为WriteBooster功能已禁用)。

  • 其他值:保留。

28. dCurrentWriteBoosterBufferSize (Current WriteBooster Buffer Size)

详细说明

  • 当前WriteBooster缓冲区大小。

  • 在保留用户空间模式下,根据剩余的用户空间,WriteBooster缓冲区的存储块可能被用于用户空间。因此,WriteBooster缓冲区大小可能小于最初配置的大小。

  • 主机可以通过检查此属性来查看当前WriteBooster缓冲区大小。

  • 值以分配单元为单位表示。

  • 如果此值为0,则当前WriteBooster缓冲区大小为0。

  • 在用户空间减少模式下,此值应与dLUNumWriteBoosterBufferAllocUnitsdNumSharedWriteBoosterBufferAllocUnits的值相同,具体取决于缓冲区配置模式。

29. bRefreshStatus (Refresh Operation Status)

详细说明

  • 00h: 空闲(刷新操作禁用)。

  • 01h: 刷新操作正在进行。

  • 02h: 刷新操作提前终止。

  • 03h: 刷新操作成功完成。

  • 04h: 刷新操作因逻辑单元队列不为空而失败。

  • 05h: 刷新操作一般失败。

  • 其他值:保留。

  • bRefreshStatus等于02h03h04h05h时,第一次读取后bRefreshStatus会自动清零(空闲)。

30. bRefreshFreq (Refresh Frequency)

详细说明

  • 主机应确保dRefreshTotalCount在此频率上递增。

  • 00h: 未定义。

  • 01h: 1个月。

  • 02h: 2个月。

  • FFh: 255个月。

31. bRefreshUnit (Refresh Operation Unit)

详细说明

  • 此属性可以设置以调整单个请求(即fRefreshEnable设置为1)时需要刷新的最小物理块数量。

  • 00h: 设备的最小刷新能力。

  • 01h: 100.000%(即整个设备)。

  • 其他值:保留。

32. bRefreshMethod (Refresh Method)

详细说明

  • 此参数指定刷新操作方法。

  • 00h: 未定义。

  • 01h: 手动-强制。

    • 设备必须刷新主机请求的物理块数量,无论这些块是否需要刷新。

    • 刷新命令刷新bRefreshUnit中指定的物理块数量。

    • 刷新从上次停止的下一个物理块开始(或如果刷新从未触发过,则从第一个块开始)。

  • 02h: 手动-选择性。

    • 刷新命令刷新bRefreshUnit中指定的物理块数量。

    • 刷新从上次停止的下一个物理块开始(或如果刷新从未触发过,则从第一个块开始)。

    • 设备只刷新它认为需要刷新的块。

    • 无论实际刷新的块如何,一旦刷新命令完成,dRefreshProgress增加bRefreshUnit

  • 其他值:保留。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITC小浪花、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值