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

相关推荐
XMAIPC_Robot16 分钟前
RK3576/RK3588+FPGA+AI数据采集系统:实时性与边缘AI算力兼顾
人工智能·fpga开发·机器人·数据采集·rk3588+fpga·rk3576+fpga
ebiobiz28 分钟前
Zig 嵌入式底层库选择与 build.zig 组织指南
c语言·c++·嵌入式硬件·mcu
什么都干的派森10 小时前
ESP32S3智能手柄设计
硬件工程·esp32s3·智能手柄
女神下凡12 小时前
芯参谋(38):NAND_MCP_电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
嵌入式学习菌12 小时前
FreeRTOS 中断管理实战:BASEPRI 寄存器实验
单片机·嵌入式硬件
gwf21615 小时前
Completion Queue(CQ)与中断处理:轮询、中断聚合与错误码 —— 面向AI集群的驱动级深度剖析
驱动开发·性能调优·pcie·rdma·ai集群·中断聚合·cq
UrSpecial15 小时前
GPIO 是什么?
单片机·嵌入式硬件
剑指offer.16 小时前
ARM裸机开发-SPI
arm开发·嵌入式硬件·嵌入式·arm
1560820721919 小时前
JFMRFVU3P5G的bit正常,但烧录mcs程序后加载异常
fpga开发
狂奔蜗牛(bradley)19 小时前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构