【科普贴】浅谈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采用全双工的方式传输,详细连接方式见下。

相关推荐
李永奉1 天前
杰理可视化SDK开发-【BUG】配置“TWS两边同时按消息使能”功能后,按键单击功能无效失灵
开发语言·单片机·嵌入式硬件·物联网·bug
执迷不悟8231 天前
51单片机--中断/定时/PWM
单片机·嵌入式硬件·51单片机
AI的探索之旅1 天前
让 Claude Code 直接操刀画原理图和 PCB:VSCode 插件接外部 API 全流程
linux·ide·vscode·嵌入式硬件·编辑器
嵌入式-老费1 天前
esp32开发与应用(用好ttl转485模块)
stm32·单片机·嵌入式硬件
知行合一←_←1 天前
误码仪与时钟极性
fpga开发
upper20201 天前
vivado使用那些事之综合策略
fpga开发·vivado·vivado综合策略
謓泽1 天前
【6.30】芯片 Bring-up 三步核心|从短路检查到 SPI 排障全拆解!
单片机·嵌入式硬件
2CM_Embed1 天前
Quartus II 工程编译与 FPGA 下载流程记录
嵌入式硬件·fpga开发
sukalot1 天前
windows网络适配器驱动开发-NetAdapterCx 接收端缩放(中)
windows·驱动开发
OIDCAT1 天前
国产USB转千兆网卡芯片CH398 VLAN应用
网络·嵌入式硬件·国产·usb转千兆网卡