以下是 UFS 设备功能的摘要: 

一、High speed GEARs

可以看出gear1和gear2是必须支持的。gear3是可选的。

在ufs协议中,关于这部分的内容,结合MIPI M-PHY相关协议看会更加好一点,ufs的物理层实现,毕竟是根据M-PHY设计的。MIPI M-PHY介绍的是一种具有高带宽,高能效的串行差分接口技术,该技术专为移动应用而开发,以获得低引脚数和非常好的电源效率。它旨在适用于多种协议,包括 UniProSM 和 DigRFSM v4,以及广泛的应用。协议中对这种接口的电源管理,传输范围,模式配置等做了介绍,ufs选择unipro和M-PHY配合使用,完成对硬件的控制。

 注:上面这个表是 HS-BURST Rates,从ufs协议中摘的图片。先熟悉一下关键术语:

8b10b:What is 8b/10b Encoding? - Definition from Techopedia 8b/10b 编码是一种电信线路编码,其中每个八位数据字节被转换为一个 10 位传输字符。 8b/10b 编码由 IBM 发明,用于在企业系统连接、千兆以太网和光纤通道上传输数据。 这种编码支持在码流中具有平衡数量的零和一的连续传输。 8b/10b 还可以检测单比特传输错误。
BURST:由 HEAD-OF-BURST 和 TAIL-OF-BURST 分隔并包括的 8b10b 编码数据传输序列
MARKER:非数据符号,用于协议相关的控制目的。之后可能会出现MARKER0,MARKER1,MARKERs,MK0,MK1。
HEAD-OF-BURST: (退出 STALL 状态或 SLEEP 状态)和 (BURST 中的第一个 MARKER0 )之间的一段,表示 PAYLOAD(见下面) 数据的开始
SLEEP:LS(Low-Speed)-BURSTs 之间使用的省电状态。
STALL:HS-BURSTs with fast recovery time之间的省电状态
PAYLOAD:没有HOB(HEAD-OF-BURST) 和 TOB(TAIL-OF-BURST)的BURST 。 PAYLOAD 可能由多个 FRAME 组成。
PREPARE:退出 STALL 或 SLEEP 后 HOB 的第一个部分,但不包括 SYNC 序列。
SYNC:具有高边缘密度的 8b10b 符号序列,用于快速相位对齐。
HS-BURST:High speed state including PREPARE, SYNC, MARKERs, and data. 
LS-BURST:Low speed state including PREPARE, SYNC, MARKERs, and data. 

HS-MODE:由 STALL 和 HS-BURST 组成的高速操作回路。
LS-MODE:Type I:SLEEP、PWM-BURST、INIT 和 LINE-CFG 状态的组合。
Type II:SLEEP 和 SYS-BURST 状态的组合。以下来自协议:
有两种根本不同的 MODULE 类型,分别表示为 Type-I 和 Type-II,具体取决于 LS-MODE 中使用的信令方案。 Type-I MODULE 采用 PWM 信号,而 Type-II MODULE 使用系统时钟同步、NRZ 信号(用“SYS”表示)。这意味着 M-TX 和 M-RX 的 LINE 状态和状态机序列以及LINE 中的不同 性能限制。因此,PWM和SYS信令是互斥的,一个应用只能选择这两种信令方案中的一种。请注意,Type-II MODULE 需要在 LINE 的两端共享参考时钟。类型 I 模块应能够在链路的每一侧使用独立的本地时钟参考进行操作(准同步操作)。尽管 Type-I MODULE 不需要共享时钟参考,但它可以利用共享参考时钟(如果可用)的好处。带有 I 型模块的 LANE 允许在 LINE 中使用Media Converters。请注意,Type-I 和Type-II MODULE 不可互操作。但是,实现可能支持两种类型的 MODULE,以实现硬件重用。
SYS-BURST:以 SysClk 速率同步传输 LS-BURST。 仅适用于共享 SysClk 应用程序,共享时钟。
DIF-N:逻辑线路状态,由 M-TX 驱动,对应于负差分线路电压。 
DIF-P:逻辑线路状态,由 M-TX 驱动,对应于正差分线路电压。
DIF-Q:当 M-RX 可以是高阻抗时的 LINE 状态,导致未驱动的线路具有未定义的 LINE 状态。
DIF-X:表明 LINE 状态可以是 DIF-P 或 DIF-N,但没有别的。
DIF-Z:逻辑线路状态,由 M-RX 驱动,对应于几乎为零的差分线路电压。 
以上线路状态(NPQXZ)解释:
M-PHY 技术仅利用差分信号。 LINE 可以显示以下状态: 由 M-TX 驱动的正差分电压,由 LINE 状态 DIF-P 表示 由 M-TX 驱动的负差分电压,由 LINE 状态 DIF-N 表示 由 M-RX 维持的微弱零差分电压,由 LINE 状态 DIF-Z 表示 未知的浮动线路电压或无线路驱动,由线路状态 DIF-Q 表示,下图中第一列表示处于什么电压,第二列表示M-TX的输出状态,第三列是M-RX的输入状态,第四列表示此时LINE的状态由谁set,最后一列是LINE State。控制下图4种line state的保持时间,可以实现M-TX和M-RX的状态机切换,从而进行电源切换,具体之后再看看。

FILLER:在 BURST 期间协议没有提供数据时插入的非数据符号。
FRAME:由 MARKERs 分隔的一系列符号。
GEAR:LS 或 HS 模式下的速度范围 (PWM) 或固定速率 (HS) 通信。 每个 HS GEAR 包括两个 RATE,它们在 EMI(Electromagnetic Interference) 缓解方面相差约 15%。GEAR类似于汽车的挡位,在1档下表示一个速度范围或者固定速度,要想加速,就得要切换挡位。 
HIBERN8:最深的低功耗状态,不会丢失配置信息。
HS-GEAR:GEAR in HS-MODE.
LANE:
LANE 是单向、点对点、差分串行连接,由 M-PHY 发送模块 (M-TX)、M-PHY 接收模块 (M-RX) 和 LINE 组成。
Media Converters:在电流互连的情况下,LINE 由两条不同布线的导线组成,这些导线连接 M-TX 和 M-RX 的 LINE 接口引脚。 通常,这些电线是传输线。LINE 可能包含到其他传输介质(如光纤)的转换器。 出于数据传输的目的,这样的 LINE 可能被认为是一个黑匣子,在 PIN 处定义了端到端的信号传输要求。 此外,还支持模块和媒体转换器之间的高级配置功能交互。下图显示了在 LINE 中带有Media Converters(MC-TX 和 MC-RX)的 LANE 的设置。

LINE:M-TX 和 M-RX 的 PIN 之间的差分点对点互连。 互连可以包括media converterswaveguide
LINE-CFG(Configuration for Media Converters; Type-I MODULE only):Media Converters交换配置参数的子状态机
LINE-INIT:传输 LCC(LINE Control Command) 之前的 LINE-CFG 子状态。
LINE-RESET:借助长 DIF-P 的异常信号条件,通过 LINE 复位。
LINK:每个方向的一个或多个 PHY LANE 加上一个额外的 LANE 管理层,提供双向数据传输方式,与实际 LANE 组成无关。
MODULE:指示M-TX 或 M-RX
M-PORT:LINK 一侧的 MODULE 组合。 
RATE:以 kbps、Mbps 或 Gbps 为单位的特定模式下的确切通信速度。
SAVE:一组省电状态 STALL、SLEEP、HIBERN8、DISABLED 和 UNPOWERED(电源移除)。
DISABLED:MODULE 已通电但未启用时的 MODULE 状态。
SUB-LINK:同一方向的所有 LANE 作为 LINK 的一小部分。

有了这些基础了解,再看第一张图,上面的HS-BURST Rates
第一列:表示HS GEAR的挡位,可以支持三个,但是必须有2个GEAR可以用。
第二列:Rate A 速率A的速度,参考频率是 19.2 / 38.4 / 26 / 52(MHz),对应的HS-GEAR1是1248Mbps(可以看图片中的NOTE 2 得知,是从38.4 MHz 得来的)
第三列:Rate B速率B的速度, 参考频率是19.2 / 38.4 和 26 / 52,对应的HS-GEAR1是1459.2和1456.0,因为来自两个不同的参考频率
第四列,第五列:来自M-PHY协议。看下图:

HS-BURST 中的 MODULE 应仅以定义的数据速率运行。 有两个 RATE 系列,A 和 B,其中系列中的每一步都以两倍的系数进行缩放,而两个 RATE 系列之间的速率差异约为 15%,如表 9 所示。如果 两个 RATE 系列成对耦合以获得最接近的速率 (~15%),这些单独的耦合表示为 GEAR。 包含 HS-MODE 的 MODULE 应支持 GEAR 的两种速率。 支持 HS-MODE 的 MODULE 应支持 HS-G1。 如果支持更高的 GEAR,则也应支持所有较低的 GEAR。B 系列速率不是常见参考频率 19.20 MHz 或 26.00 MHz 的整数倍,而是在 2000 ppm 的容差范围内。

 二、UFS Layering

* UFS Command Set Layer (UCS) UFS 命令集层 (UCS)
基于 SBC 和 SPC 的简化 SCSI 命令集。 UFS 不会修改这些 SBC 和 SPC Compliant 命令。 存在用于定义 UFS Native 命令和未来扩展的选项。
UFS Transport Protocol Layer (UTP) UFS传输协议层(UTP)
JEDEC 定义支持的协议层,即 SCSI 的 UTP(这个然后去看看SAM是怎么介绍的,JEDEC应该是根据SAM设计的)。
This does not exclude the  support of other protocol in UFS Transport Protocol Layer.
* UFS Interconnect Layer (UIC) UFS互连层
MIPI UniPro
数据链路层采用【MIPI-UniPro】
MIPI M-PHY
物理层采用【MIPI-M-PHY】
三、 Interface Features

* Three power supplies
o VCCQ power supply: 1.2 V (nominal)
o VCCQ2 power supply: 1.8 V (nominal)
o VCC power supply: 1.8 V/3.3 V (nominal)
* Signaling as defined by [MIPI-M-PHY]
o 400 mVp/240 mVp (not terminated),
o 200 mVp/120 mVp (terminated)
* Two signaling schemes 两种信令方案
具有 PWM 信号方案的低速模式和高速突发模式
* 为低速和高速模式定义的多个档位
四、 Functional Features
UFS 功能特性是 NAND 管理特性。 这些包括
 与 eMMC 类似的功能特性
 启动操作模式,可以选择从哪个Boot LUN启动
 具有可配置特性的多个逻辑单元,对应每个LUN可以进行单独的配置,比如写保护,逻辑块大小
 重放保护内存块 (RPMB)
 可靠的写操作
 后台操作
 安全操作、清除和擦除以增强数据安全
 写保护选项,包括永久和开机写保护
 对重放保护内存块的签名访问
 硬件复位信号
 任务管理操作
 电源管理操作

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐