UFS电源管理

UFS电气特性

UFS电源供应
    三个供电电压,VCC,VCCQ和VCCQ2,分别给UFS设备模块供电。
    UFS设备主要包括三部分:

  • 前端UFS接口(M-PHY): VCCQ2一般给M-PHY或其它一些低电压模块供电。
  • UFS控制器 : VCCQ一般给闪存输入输出接口和UFS控制器供电。
  • 闪存介质(图中的Memory模块): VCC给闪存介质供电。

    UFS 2.2协议规定的电压值为:
ufs 2.2电压
    UFS 3.1协议规定的电压值为:
UFS3.1电压
    版本更新电气特性上最大的变化就是VCC低电压的更改,由原来的1.8V调整为2.5V。

UIC status

    UFS协议采用MIPI的M-PHY作为物理层和UniPro作为其数据链路层。M-PHY有高速模式(High Speed Mode, HS-MODE)和低速模式 (Low Speed Mode, LS-MODE)。其中,高速模式下,M-PHY有两种状态:STALL和HS-BURST。低速模式下,M-PHY有三种状态:LINE-CFG,SLEEP和PWM-BURST。
Type-I M-TX
    当链路上没有数据传输时,M-PHY会自动切换到STALL或者SLEEP状态下,这两种状态为省电状态。除此之外,M-PHY还有一种更加省电的状态,那就是HIBERN8 (Hibernate,休眠状态),这种状态下,M-PHY极为省电。UFS主机和UFS设备不可能一直交互数据,总有闲下来的时候。当UFS主机没有读写UFS设备,它会让彼此链路进入休眠状态,即HIBERN8。那UFS主机如何通知M-PHY切换到休眠状态呢?
    设备管理器可以略过传输层(UTP),直接管理与控制互联层(UIC)。主机设备管理器可以通过原语(Primitive)直接与UFS互联层(UIC,即MIPI的UniPro和M-PHY)通信。UFS让UIC进入和退出休眠的原语:DME_HIBERNATE_ENTER和DME_HIBERNATE_EXIT。
    下图1显示了进入H8状态的高级 MSC 流程。以下部分描述了显示 SAP 原语的详细流程。绿色表示应用层交换数据、红色表示PA层交换数据、以及其他的DME交换数据。图2为退出H8状态的MSC流程,原理相同。
图1 entry hibernate
图2 exit hibernate

Host and Memory

    UIC中的电源控制是UFS主机和设备之间链路的省电模式,对UFS设备来说,链路只是整个UFS设备的一部分。一个UFS设备是否省电,除了看其链路,还需要考虑UFS控制器、存储介质等是否省电,即看整个UFS设备是否有好的电源管理。
    因此,UFS协议规定了四种功耗模式:Active,Idle,Power Down和Sleep(简称AIDS),外加3个过渡功耗模式:Pre-Active, Pre-Sleep和Pre-PowerDown,一共是7种功耗模式。

  • Active:UFS设备在执行命令或者做后台任务(Background Operation)时处于这种状态;
  • Idle:UFS设备空闲时,即既没有来自UFS主机的命令,自身也没有后台任务需要处理,设备就处于该状态;
  • Power Down:掉电模式下,所有电源供电VCC, VCCQ和VCCQ2都可能被掐断(取决UFS设备设计),该模式是最省电的功耗模式了。
  • Sleep:当处于闲时状态即进入睡眠。睡眠模式下,VCC电源可能被切断(取决UFS设备设计)。VCC一般给闪存供电,即切断闪存供电。

power mode

power mode states switch
状态转换条件

    可以从上图中看到,功耗模式的切换使用的是SSU命令。什么是SSU? SSU是Start Stop Unit的缩写,它是UFS协议中的一个基本命令。SSU命令用来使能失能一个LU、将缓存flush到设备或者加载弹出设备;主机通过发送SSU命令到UFS device well-known logical unit来切换设备的功耗模式。
SSU命令
    POWER CONDITION域用来选择期望的模式。发送到普通LU的命令POWER CONDITION会被忽略。
    注意,UFS设备的这些功耗状态,和前面说的UIC层中M-PHY接口的STALL,SLEEP或者HIBERN8状态是独立的,两者没有必然联系。比如,当前M-PHY处于HIBERN8状态,UFS设备可以处于以上状态中的任何一种,比如UFS设备可以是处于Active状态,没有要求说你休眠了我也得跟着休眠。
    一个好的UFS设备的电源管理当然不应该等到主机发功耗切换命令来进入省电模式,而是自己能主动做一些事情来省电。下面是一个比较好的设备省电模式的例子说明:

    UFS刚上电时,UFS进入Active状态,一段时间如果没有来自主机的命令,自己内部也没有后台任务要处理,UFS设备将进入Idle状态。Idle意味着无事可做,这时候主机也没有发任何SSU命令要求UFS设备进入指定的状态,好的UFS设备,这个时候就要想想怎么去省电。举例来说,如果当前M-PHY处于HIBERN8状态,说明主机目前不会访问UFS设备,因此,UFS设备可以做一些节能设计:比如把当前UFS设备的软硬件上下文保存到闪存,然后切断所有电源以达到省电目的。待M-PHY接口退出HIBERN8状态,UFS设备上电,然后把软硬件上下文加载运行。
    当然,功耗降低带来的必然结果就是命令响应速度变慢,因为如果UFS设备休眠了,它就不能及时的响应主机的命令,因为它需要先退出休眠(比如需要把休眠之前保存的上下文重新加载,这往往比较花时间),然后再响应主机命令。因此休眠唤醒也是个技术活,在追求最大节能的同时,还要兼顾用户体验。

属性
电源模式和电流等级

ICC Level

  • 通过bCurrentPowerMode可以获得当前设备的power mode。bCurrentPowerMode是唯一一个可以在任何模式下响应主机命令的参数。
  • bActiveICCLevel属性用来指定active模式下的电流等级。在active模式下,有16种电流配置,决定了设备的最大功耗。在active mode下,选定了bActiveICCLevel后,在VCC、VCCQ和VCCQ2上的最大电流就决定了。假设bActiveICCLevel=N,那么VCC、VCCQ和VCCQ2上的最大电流分别是wActiveICCLevelsVCC[N]、wActiveICCLevelsVCCQ[N]、wActiveICCLevelsVCCQ2[N].等级0功耗最低性能最差,等级15功耗最高性能最好。

在这里插入图片描述

总结
属性描述
bActiveICCLevel决定最大功耗等级
bInitActiveICCLevel决定上电后或者复位后的功耗等级
bInitPowerMode决定初始化后进入哪种电源模式
bCurrentPowerMode获取当前功耗模式
  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android UFS是指Android系统使用的一种闪存存储技术。在Android启动过程中,UFS扮演着重要的角色。Android启动可以被称为UFS启动,它包括以下几个阶段:开机、RomCode、Pre UEFI、UEFI、Kernel和Android。这些阶段依次进行,最终完成Android系统的启动。 在手机上,常见的文件系统包括F2FS、EXT4、EROFs和APFs。华为手机使用EROFs,苹果手机使用APFs。文件系统的选择对于提升闪存的随机读写能力非常重要。文件系统可以使闪存更高效地存储和管理数据,从而快速准确地找到所需的数据。就像在一个仓库中寻找特定物品一样,文件系统可以帮助我们快速找到我们想要的内容。 关于闪存协议,iPhone一直使用NVMe协议的闪存,而安卓手机从eMMC协议闪存逐渐升级到现在的UFS3.1协议闪存。一些高端安卓手机已经开始使用UFS3.1协议闪存,而一些中低端手机仍然使用UFS2.1、2.2或者甚至eMMC混合使用。这些不同的协议闪存具有不同的性能和速度特点,UFS3.1协议闪存通常具有更高的读写速度和更好的性能表现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [UFS 启动](https://blog.csdn.net/guozhidixian/article/details/120384068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [iPhone上用的NVMe闪存,与Android旗舰上用的UFS2.1闪存,各自的优劣是什么?](https://blog.csdn.net/cwtxyi/article/details/120592346)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值