## 一、UFS 标准概述与 PHY 结构归纳总结
### 1.1 为什么 UFS 越来越重要
做存储接口这么多年,我最大的感受就是——手机、汽车、服务器对速度的要求越来越高。几年前 eMMC 还能撑一撑,现在 4K 视频、AI 模型加载、游戏纹理流送,随便一个场景都能把带宽吃满。UFS 就是为这类高吞吐、低延迟场景设计的。
UFS 全称 Universal Flash Storage,它把 SCSI 命令集、MIPI M-PHY 物理层、UniPro 协议栈组合在一起。**说白了,它就是一套从应用层到物理层的完整存储方案**。你不需要像以前那样把 flash 控制器和 PHY 分开折腾,UFS 把三层都集成好了,你只需要调好 TX/RX 参数就行。
### 1.2 PHY 层在 UFS 堆栈里的位置
我习惯把 UFS 系统想象成三层楼:
UFS 体系层次结构
应用层
UFS Command Set · SCSI / UFS 协议
协议层
UniPro · 流控 · 分段重组
物理层
MIPI M-PHY · TX / RX 参数 · Lane 配置
我们的调优工作主要集中在物理层:TX/RX 幅度、均衡、偏置、时钟
上两层的问题往往表现为命令超时或 CRC 错误,物理层问题直接表现为眼图闭合或误码
**应用层**处理命令——读、写、擦除;**协议层**用 UniPro 做流控和分包;**物理层**就是 M-PHY 负责电信号的发送和接收。
我们这门课要啃的就是最下面这一层。你在实际项目里遇到的掉坑,比如高速 Gear 速率下眼图张不开、信号抖动超标,十有八九都出在物理层参数没调对。
### 1.3 MIPI M-PHY 核心概念
M-PHY 是 MIPI 联盟定义的串行物理层标准,UFS 用它来实现高速数据传输。我记得第一次接触它时有个困惑:为什么叫 M-PHY 不叫 UFS PHY?后来才搞明白,M-PHY 是独立于 UFS 的通用标准,UFS 只是借用它来跑数据。
M-PHY 有几个关键参数你需要刻在心里:
| 参数 | 说明 | 典型值(HS-Gear3) | 调试要点 |
|------|------|-------------------|----------|
| 数据速率 | 每条 Lane 的 TX 速率 | 5.8 Gbps | 越高抖动量越需要补偿 |
| 幅度 | TX 差分电压摆幅 | 200~400 mVppd | 幅度小省电但信噪比差 |
| 预加重 | 发送端高频增强 | 0~6 dB | 补偿传输线损耗 |
| 均衡 | 接收端高频补偿 | 0~12 dB | 配合预加重闭环调 |
| 偏置 | 共模电压 | 300~500 mV | 影响信号中线稳定性 |
**为什么速率上去了眼图就关?** 原因是信号在 PCB 走线上衰减,高频分量衰减更严重。预加重就是在发送端把高频率成分先“抬上去”,接收端再用均衡器“压回来”,一来一回保持波形完整。
实战经验: 我曾在某个量产项目中,HS-Gear4 速率下的眼图只有 0.15 UI 的开口。当时排查了很久,最后发现是 TX 预加重设为了 0 dB。把预加重调到 3 dB 后眼图开口直接翻倍到 0.32 UI。所以不要盲目追求低功耗,信号完整性永远是第一位的。
### 1.4 M-PHY 的 Gear 和 Lane 配置
UFS 支持多个 Gear(速率级别),从 HS-Gear1 到 HS-Gear5(具体看版本)。每条 Lane 是双向差分对,总带宽 = 每 Lane 速率 × Lane 数。
Gear 级别 每 Lane 速率 典型应用场景
HS-Gear1 1.25 Gbps 兼容模式、低功耗设备
HS-Gear3 5.8 Gbps 主流旗舰手机
HS-Gear4 11.6 Gbps 高性能存储、车载
HS-Gear5 23.2 Gbps 下一代旗舰、服务器加速
Lane 数量从 1 到 2(UFS 2.x 支持最多 2 条 RX/TX Lane,UFS 3.x 支持 4 条 RX/TX Lane)。你想想看,4 条 Lane × 23.2 Gbps,总带宽接近 92.8 Gbps。这在几年前简直不敢想。
避坑提醒: Lane 越多,对走线等长约束越严。我曾经遇到过一块 PCB,两条 TX Lane 长度差达到 6 mm,结果在 HS-Gear4 速率下,其中一条 Lane 的眼图完全闭合。后来用 3D 电磁仿真才定位到是偏斜太大。对于 Gear5 以上,建议 Lane 间 skew 控制在 1 mm 以内。
### 1.5 TX/RX 参数调优的总思路
调优不是瞎试。我总结了四个字:**量、仿、调、验**。
1. **量**:用示波器抓眼图,看开口、抖动、幅度。
2. **仿**:用 IBIS 模型或者 S 参数做通道仿真,找到瓶颈。
3. **调**:根据仿真和实测结果,调整预加重、均衡、幅度、偏置。
4. **验**:跑 PRBS 数据,测 BER(误码率),确认在目标 Gear 下 BER < 1e-12。
小技巧: 在实际调优中,可以先从预加重和均衡这对组合参数下手。我的习惯是先把预加重从 0 dB 到 6 dB 扫一遍,同时保持均衡为自动模式,观察眼图开口最大的点。然后再固定预加重,调整均衡的步进到最佳位置。
### 1.6 本章小结
好,到这里我们梳理清了 UFS 的层次结构,知道了物理层(M-PHY)是调优的主战场。也了解了 Gear、Lane、预加重、均衡这些核心概念。后面每一章都会围绕这些参数展开具体的调试步骤和遇到过的典型故障。记住一句话——**参数调优不是为了改成某个固定值,而是让信号在具体板级环境下达到最优**。没有“万能配置”,只有最合适的配置。