MEMORY系列之“UFS接口电气特性”

上一篇文章对UFS进行了简单的介绍,本篇就基于UFS接口的电气特性进行介绍,主要介绍电源、复位、时钟几部分。


1、UFS电源

1.1、电源要求

UFS的电源包括三种VCC 1.8/3.3V、VCCQ 1.2V、VCCQ2 1.8V,其要求如下表所示:




由于VCC可以有两种电压值,因此有下表所示的组合:


针对eUFS,其外接电容有如下要求:



1.2、上下电时序要求

上电期间的时序要求如下:



下电期间的时序要求如下:



不按时序下电,可能会导致存储的数据损坏,因此必须避免不受控的掉电。


1.3、电源模式

为了减少电源功耗,UFS设备至少需要支持四种基本的电源模式:workawaitsleepturn off,但是由于实际应用场景比较多,为了支持各种各样的应用场景,UFS可以支持16种功耗配置,上电后定义了7种电源模式:Active, Idle, Pre-Active, UFS-Sleep, Pre-Sleep, UFS-PowerDown, Pre-PowerDown.


1.3.1、Active Power Mode

UFS设备在响应任何命令或者执行后台操作的时候就工作在这种模式下。当信号处于低速模式(PWM信号模式)时M-PHY接口处于SLEEP或者PWM-BURST,当信号处于高速模式(HS-BURST)时M-PHY接口处于STALL或者HS-BURST(详细可参看《MIPI系列之“M-PHY”》)

该模式下的最大功耗由bActiveICCLevel属性确定,有16种不同的功耗级别(从00h~0Fh),最大电流消耗与三个电源的的Power Parameters Descriptor配置有关。

  • wActiveICCLevelsVCC[15:0] parameter for VCC,

  • wActiveICCLevelsVCCQ[15:0] parameter for VCCQ,

  • wActiveICCLevelsVCCQ2[15:0] parameter for VCCQ2.


其中配置为level 0时功耗最小,level 15功耗最大。

 

1.3.2、Idle Power Mode

设备不执行任何操作时就进入到该模式,此时M-PHY接口可以处于STALLSLEEP或者HIBERN8状态。一旦收到任何命令,设备立刻退出Idle模式,进入Active模式。Idle模式只能和Active之间进行切换。

 

1.3.3、Pre-Active Power Mode

该模式是Active的过渡模式,功耗不超过Active模式。设备将保持该模式,直到完成所有命令的准备工作。该模式可以从Pre-SleepSleepPre-PowerDown或者PowerDown模式进入,但只能退出到Active模式。

在该模式下,LUsense key设置为NOT READY,附加的sense code设置为LOGICAL UNIT IS IN PROCESS OF BECOMING READY,只能执行START STOP UNITREQUEST SENSE命令,其他命令都以CHECK CONDITION终止。REQUEST SENSE命令以GOOD结束,提供可轮询的sense datasense key设置为NO SENSE,附加的sense code设置为LOGICAL UNIT TRANSITIONING TO ANOTHER POWER CONDITION

 

1.3.4、UFS-Sleep Power Mode

为了降低设备功耗,Sleep模式下VCC(给memory array供电的电源)关闭,如果想切换到ActivePowerDown模式首先要给VCC上电,然后才能发命令作切换。

该模式下设备的状态和Pre-Active一样,只是LUsense code设置值不一样。

 

1.3.5、Pre-Sleep Power Mode

该模式是UFS-Sleep的过渡模式,功耗不超过Active模式,从Active模式进入。一旦未完成的操作和管理事件完成就会自动进入Sleep模式。如果SSU(START STOP UNIT)命令设置POWER CONDITION = 1h,则设备将会从Pre-Sleep进入Pre-Active模式。

该模式下设备的状态和Pre-Active一样,只是LUsense code设置值不一样。

 

1.3.6、UFS-PowerDown Power Mode

最省电的一种模式,所有电源均断电,所有buffercache中的数据都会丢掉。该模式只能从Pre-PowerDown模式进入。

该模式下设备的状态和Pre-Active一样,只是LUsense code设置值不一样。

 

1.3.7、Pre-PowerDown Power Mode

该模式是UFS-PowerDown的过渡模式,功耗不超过Active模式,从Active或者Sleep模式进入。一旦未完成的操作和管理事件完成就会自动进入PowerDown模式。如果START STOP UNIT命令设置POWER CONDITION = 1h,则设备将会进入Pre-Active模式。

该模式下设备的状态和Pre-Active一样,只是LUsense code设置值不一样。

 

 1.3.8、Power Mode状态机


上图所示的状态机跳转流程如下:

  • VCC上电完成,或者Hardware ResetEndPoint ResetHost UniPro Warm Reset完成都会使设备进入Powered On Mode

  • 设备上电初始化完成后就进入Active Mode,在Active模式下没有任何操作则进入Idle Mode

  • 设备在Idle模式下,接收到任何命令就会退出Idle模式,进入Active模式;

  • 设备在Active模式下,初始化完成时,如果bInitPowerMode parameter设置为00h,或者收到SSUSTART STOP UNIT)命令设置PC域(POWER CONDITION field)为2h,设备就进入Pre-Sleep模式;

  • 设备在Active模式下或者UFS-Sleep模式下,如果收到SSUSTART STOP UNIT)命令设置PC域(POWER CONDITION field)为3h,设备就进入Pre-PowerDown模式;

  • 设备在Pre-Sleep模式下或者在UFS-Sleep模式下或者在Pre-PowerDown模式下或者在UFS-PowerDown模式下,如果收到SSUSTART STOP UNIT)命令设置PC域(POWER CONDITION field)为1hPre-Sleep模式和Pre-PowerDown模式下要求IMMED位置“1”),设备就进入Pre-Active模式。


2、复位

UFS设备有5种复位方式,不同的复位方式实现的方式、产生的效果和作用不尽相同。分别如下:

  • Power-on Reset;

  • Hardware Reset;

  • EndPoint Reset;

  • Logical Unit Reset;

  • Host UniPro Warm Reset。


下面针对每一种复位进行详细介绍。


2.1、Power-on Reset

上电复位(Power-on Reset)。VCCQ, VCCQ2 and VCC掉电后再上电就可以触发上电复位,但需要设备有上电检测电路来保证系统上电后设备进入确定的状态。



2.2、Hardware Reset

硬件复位(Hardware Reset)。UFS设备有专用的硬件复位信号,复位信号为低电平有效,电平持续时间应该大于等于1us,当复位信号宽度小于100ns时无法检测到。

复位信号的电气特性要求如下表所示:




2.3、EndPoint Reset

端点复位(EndPoint Reset)。EndPoint Reset是在MIPI UniPro规范中定义的。通过从主机应用程序客户端到主机UniPro的函数调用实现,将DME_SAP:DME_ENDPOINTRESET.req=1

设备管理器通过DME_SAP从设备UniPro接收EndPointReset函数调用,并执行EndPointReset函数。

UFS设备在接收到EndPointReset:UFS标志(重置UFS标志上电源除外)、UFS属性(重置UFS属性上电源除外)和UniPro属性被重置为其默认值并启动UniPro链接时,应完全重置自身。除了UFS上电复位标志和上电复位属性之外,UFS设备将其他标志和属性都恢复到默认值,并启动UniPro链接。UFS主机应该忽略从UFS设备接收到的EndPoint Reset指令。



2.4、Logical UnitReset

逻辑单元复位(Logical Unit Reset)。该功能定义在SCSI架构模型中,通过SCSI Task Management features触发。Logical Unit Reset不会将设备参数属性恢复为默认值,因此不建议用在系统启动后的复位。



2.4、Host UniPro WarmReset

Host UniPro Warm Reset。主机通过DME_LINKLOST.ind发出该命令,主机端和设备端的UniPro stack都会被复位。另外所有的活动都会被终止,任务列表清空,并根据bInitPowerMode的值进入相应的模式(Sleep mode or Active mode)。




3、时钟

MIPI M-PHY规范定义了状态机类型I的参考时钟是可选的。由于PWM信号是self-clocked的,所以数据锁存不需要参考时钟。因此,UFS设备应该能够在没有参考时钟的情况下工作在LS-MODELINE-CFGSLEEPPWM-BURST)。

参考时钟的存在是为了用于实现更低的误码率和工作在更快的HS-MODE PLL/DLL locking。因此,在HS-MODE(STALLHS-BURST)模式下工作时,UFS设备应该实现方波单端参考时钟输入。

对于外部参考时钟输入的要求如下表所示:





Host Controllerreference clock的要求如下:



以上就是针对UFS接口的电源、复位、时钟等电气特性进行介绍,实际使用过程中,还需要参考对应厂家的datasheet、user manual等文档进行设计。