【科普贴】浅谈UFS接口——偏硬件解析
1.0 UFS介绍UFSUniversal 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采用全双工的方式传输详细连接方式见下。