【科普贴】浅谈UFS接口——偏硬件解析

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采用全双工的方式传输,详细连接方式见下。

相关推荐
AAA代码批发商几秒前
DAYS41 UART 串口通信 + DS18B20 单总线温度传感器
嵌入式硬件·51单片机
充哥单片机设计5 分钟前
【STM32开源项目】智能窗户控制器
stm32·单片机·嵌入式硬件·毕业设计·智能窗户
Jlzn88889 分钟前
钢带折弯±0.1°怎么来?伺服闭环补偿回弹拆解
大数据·嵌入式硬件·制造
威嵌神州13 分钟前
便携式加固产品方案:加固平板、手持终端、巡检仪、管理柜
嵌入式硬件·智能手机·电脑
安河桥。22 分钟前
PCIe 是什么?为什么这么快?从差分线到 Gen6 的硬核解析与场景全览
嵌入式硬件·车载系统
minglie112 小时前
j2b描述smp协议
fpga开发
糖糖单片机设计13 小时前
基于 STM32 的公交车定位与报站系统
stm32·单片机·嵌入式硬件
祖力5513 小时前
快速学会51单片机基础
单片机·嵌入式硬件·51单片机
FPGA开源工坊16 小时前
FPGA开发技巧–BRAM资源优化
fpga开发
Doraemomo17 小时前
IMX6ULL裸机开发——GPIO的使用
单片机·嵌入式硬件