1.0 UFS 介绍
UFS(Universal Flash Storage)通用闪存存储器,是一种简单、高性能且具有串行接口的海量存储设备,主要用移动系统中,用于连接主机处理设备和大规模内存设备之间。
UFS用到两种协议标准即JEDEC UFS 标准 和MIPI-M-PHY (物理层)、MIPI-UniPro(传输层)标准。
JEDEC UFS 标准 **:**主要作用是定义存储命令(读、写、擦除)、设备管理、功耗管理、启动流程等等上层的定义。
MIPI-M-PHY 标准 **:**负责底层的接口,主要定义纯粹的电信号特性,比如差分信号线摆幅、传输速率、差分信号末端匹配等等。
MIPI-UniPro 标准: 负责链路层和传输层,处理数据打包、连接管理和流量控制。
说人话就是:硬件物理连接的差分接口,按照M-PHY标准进行信号传输;至于具体传输什么信号内容,怎么解析信号内容是JEDEC UFS标准要做的事情。

本文主要从传输速率、电源、参考时钟、上电时序等方面进行介绍。因为UFS的版本很多,本文以UFS 2.1 Device为基准。JEDEC协议版本以JESD220C为基准,MIPI-M-PHY协议以M-PHY V3.0为基准,在上述基准上稍作拓展进行介绍。
2.0 UFS 的传输速率
UFS的物理接口M-PHY协议标准里使用Gear这个名称来定义接口速率,Gear值越高,数据传输速率越快。UFS的版本有很多,从UFS 1.0到UFS 5.0,不同的版本对应的协议标准和传输速率都有很大差别。如下是UFS不同版本差异。

Gear速率还具备向下兼容和协商的特性,在连接时UFS Host和UFS Device会自动协商一个双方都支持的最高Gear进行通讯。比如Gear 4的SoC连接Gear 3的UFS,双方会以Gear3速率运行。
UFS接口并非始终跑在HS模式下,在初始化和休眠的时候会进入LS模式。
HS-Mode ( 高速模式):传输大文件(如录制 4K 视频、加载大型游戏)时,切换到高 Gear(如 Gear 4/5),全速运行。
LS-Mode ( **低速模式):**初始化、休眠时,会降回低 PWM G1甚至关闭部分电路,以大幅降低功耗。
模式的选择和切换,具体可以参考M-PHY的协议标准,这里不作展开。
3.0 UFS 电源
3.1 电源介绍
UFS有三个电源,分别是VCC、VCCQ、VCCQ2。这三个电源分别给UFS不同模块供电。

VCC : 给整个存储单元供电,主要为内部memory供电,电压根据UFS的版本分为两种,UFS3.0之前版本VCC使用3.3V供电,UFS3.0之后版本VCC使用2.5V供电。
VCCQ **:**给memory控制器、memory IO、PHY接口和一些其他低电压模块供电。
VCCQ2 **:**给PHY接口、memory控制器和一些其他低电压模块供电。
如下是UFS协议里关于电源的规定。


实际的UFS 颗粒的规格书,其实只需要两个供电,下图是三星UFS 2.1颗粒中电源的供电要求,只需要提供VCC和VCCQ2的电源,VCCQ的电源由其中一个电源通过内部LDO转换而来。

下图是三星UFS 3.1颗粒中电源的供电要求,只需要提供VCC和VCCQ的电源,VCCQ2的电源由其中一个电源通过内部LDO转换而来。

3.2 上电斜率要求
下图是各个电源的上电斜率要求,上电时间从电压在300mV,直至到达各个电源的Vmin的时间,详细见下。


4.0 参考时钟
UFS在HS模式下需要使用参考时钟,一般UFS的参考时钟采用19.2MHz、26MHz、38.4MHz这几个固定频率,实际具体使用那个频率以UFS颗粒的规格书为准。
JEDEC协议中还对参考时钟的信号质量做了要求,比如VIH、VIL、时钟的上升&下降时间、时钟占空比等等做了要求,在进行信号质量测试时可以参考。

5.0 复位、上下电时序
5.1 复位
UFS复位分为硬件复位和软件复位,这里只介绍硬件复位。
UFS硬件复位信号是电平有效(Active Low),即低电平时触发复位。
复位信号的是时序要求:脉冲宽度 ≥ 1 μs (设备必须识别);脉冲宽度 ≤ 100 ns (设备必须忽略,防误触发);高电平间隔 ≥ 1 μs (两次复位间的最小间隔) ,详细见下。

5.2 上电时序
在上电时,VCC和VCCQ2应按照以下要求进行上电。
Ta这是VCCQ或VCCQ2电源首次达到300mV的点。
当达到Ta时,VCCQ2应大于VCCQ-200mV。
VCC可以独立于VCCQ值或VCCQ2值进行上电。
在开启设备电源时,RST_n信号应保持处于低电平状态。REF_CLK信号应在VSS和VCCQ 之间。下图展示了三种上电时序:Case A和Case B满足要求,而Case C在从Ta到Tb的时间段内(此时VCCQ2的电压低于VCCQ-200mV)不满足条件。

注:绿色区域表示电压范围在VCCQ-200 mV至VCCQ之间。
5.3 下电时序
在下电时,VCC和VCCQ2应当遵循如下:
Tx是指VCCQ或VCCQ2最低工作电压的点。
Tz是指VCCQ和VCCQ2电压低于300mV的点。
在Tx和Tz之间,VCCQ2的值应大于VCCQ-200mV。
VCC可以独立于VCCQ或VCCQ2掉电。
在下电时,RST_n信号和REF_CLK信号应处于VSS和VCCQ之间。下图展示了三种下电时序,Case A和Case B满足要求,而案例Case C在从Tb到Tz之间不满足条件。

注:绿色区域表示电压范围在VCCQ-200 mV至VCCQ之间。
这里需要说明一下,上文介绍过,实际的UFS颗粒大多只有两个供电,具体上电时序要求,可向颗粒厂商获取。这里附上我实测三星UFS2.1颗粒的上电时序。

6.0 UFS 硬件接口
下图是UFS硬件接口,UFS采用全双工的方式传输,详细连接方式见下。
