eMMC 和 UFS 都有 11.5×13mm 的 153 球 BGA,看上去可以换着焊,实际不行。UFS 走的是 M-PHY 串行差分、收发各一路可以同时读写,还要主控送参考时钟、多给一路 1.2V 电,球位定义也和 eMMC 冲突。本文用铠侠 THGJFGT0T25BAB8 与三星、闪迪的在售 eMMC 说明这四处差别,以及为什么换 UFS 前先要确认主控那一侧。
不能。eMMC 和 UFS 常见的都是 11.5×13mm、153 球、0.5mm 间距的 BGA,外形尺寸确实一样,但球位定义不一样,主控那一侧的要求也不一样。想从 eMMC 升到 UFS,板子要改四处:数据线、参考时钟、电源轨、主控接口。
最常见的是两类。一类是边缘计算盒子、车载信息终端、工业平板这种本来用 eMMC、但数据量涨上来之后读写成了瓶颈的产品,换代时想一并把存储升到 UFS;另一类是主控平台本身换代,新 SoC 带了 UFS 接口,硬件部门想知道存储这一块要跟着改多少。这两类的判断依据不一样:前者要先确认现有主控支不支持,后者是主控已经定了,只需要把存储侧配齐。
数据线的差别决定了性能上限从哪来。铠侠在自己的技术简介里把这件事说得很直接——UFS 用的是各自独立的输入和输出数据通道,读和写可以同时进行;而 eMMC 规范支持的数据总线是输入输出共用的,一次只能读或者只能写,不能同时。落到线上,eMMC 是 DAT0~DAT7 八根单端线加 CMD、CLK;UFS 是两对差分接收线和两对差分发送线,另外一根 REF_CLK 和一根复位。
参考时钟这根线是很多人第一次做 UFS 时漏掉的。铠侠 UFS 器件的引脚说明写明 REF_CLK 是由主控 SoC 输入的时钟,不用的时候要下拉或者由主控拉低;允许的频率是 19.2MHz、26MHz 和 38.4MHz 三档。eMMC 这边没有对应的引脚,时钟就是总线上的 CLK。
电源轨要重新算。eMMC 是 VCC 加 VCCQ 两路,典型是 VCC 2.7~3.6V、VCCQ 1.7~1.95V。UFS 规范里定义了 VCC、VCCQ、VCCQ2 三路,但具体器件通常只用其中两路:铠侠这颗 UFS 3.1 用 VCC 与 VCCQ,VCCQ2 的球位存在但不供电;而更早的 UFS 2.1 器件用的是 VCC 与 VCCQ2。所以不能简单说“UFS 比 eMMC 多一路电”,要按具体料号的数据手册定。真正要额外做的是一路 1.2V 级的电——UFS 3.1 的 VCCQ 是 1.14~1.26V,这在原来的 eMMC 板子上一般没有。
主控那一侧不是软件问题。UFS 的主机控制器接口是 JEDEC 单独立的一份标准,物理层和传输层引用的是 MIPI 的 M-PHY 和 UniPro。铠侠在产品简介的选型建议里写得很实在:适合用 UFS 的前提之一是“能买到支持 UFS 接口的 SoC”;反过来,适合用 eMMC 的情形之一就是“拿不到支持 UFS 接口的 SoC”。同一份资料还提到,通常是 SoC 决定了要用哪个版本的 UFS。
| 项目 | eMMC 5.1 | UFS 3.1 |
|---|---|---|
| 数据线 | DAT0~DAT7 八位单端并行 | M-PHY 差分,收两对、发两对 |
| 读写方向 | 共用总线,一次只能读或只能写 | 收发独立,可同时读写 |
| 参考时钟 | 无,只有总线 CLK | 要主控送 REF_CLK,19.2/26/38.4MHz |
| 电源轨 | VCC 2.7~3.6V;VCCQ 1.7~1.95V | VCC 2.4~2.7V 或 2.7~3.6V;VCCQ 1.14~1.26V |
| 命令模型 | MMC 命令与响应 | SCSI 架构模型,UPIU 封包 |
| 命令队列 | 5.1 起支持 | 支持,铠侠器件共享队列深度 64 |
| 主控要求 | 标准 MMC 控制器 | UFS 主机控制器加 M-PHY/UniPro |
| 常见封装 | 153 球 BGA,11.5×13mm | 153 球 BGA,11.5×13mm |
这一点值得单独看。铠侠的 eMMC 与 UFS 器件手册里用的是同一个封装代号,都是 11.5×13mm、153 球、最高 0.8mm 的 BGA。但把两份球位表并排放,冲突是硬冲突:eMMC 的 DAT2 落在 UFS 的 VCCQ 上,eMMC 的 CMD 和 CLK 落在 UFS 的 VSS 上,而 UFS 的四对差分线占的是 eMMC 侧的空脚区。
| 球位 | eMMC 器件 | UFS 3.1 器件 |
|---|---|---|
| A5 | DAT2 | VCCQ |
| D1、D2 | 空脚 | DIN1 差分对 |
| F1、F2 | 空脚 | DIN0 差分对 |
| H1、H2 | 空脚 | REF_CLK、复位 |
| K1、K2 | 空脚 | DOUT0 差分对 |
| M1、M2 | 空脚 | DOUT1 差分对 |
| K5 | 复位 | VSS |
| M5、M6 | CMD、CLK | VSS |
换句话说,外形能对上并不等于焊盘能共用。做兼容焊盘这件事,原厂和 JEDEC 的公开资料里没有正面说法,而上面这张球位表说明电源球和信号球是互相占位的。要同时留两条路,稳妥做法是分别画两版,而不是指望一块焊盘通吃。
下面这几颗都能在晟雅泰查到。要特别留意温度这一栏:铠侠那颗 UFS 是车规件,−40 至 +105℃、符合 AEC-Q100 Grade 2,比常规工业级还宽;而三星那两颗 eMMC 是 −25 至 +85℃ 的消费温度档,闪迪那颗带 XI1 后缀的才是 −40 至 +85℃ 的工业宽温。同样叫“嵌入式存储”,温度跨度差得很远。
| 料号 | 厂家 | 接口与版本 | 容量 | 供电 | 工作温度 |
|---|---|---|---|---|---|
| THGJFGT0T25BAB8 | 铠侠 | UFS 3.1 | 128GB | VCC 2.4~2.7V 或 2.7~3.6V;VCCQ 1.14~1.26V | −40~+105℃,AEC-Q100 Grade 2 |
| KLM8G1GETF-B041 | 三星 | eMMC 5.1 HS400 | 8GB | VCCQ 1.7~1.95V | −25~+85℃ |
| KLMBG2JETD-B041 | 三星 | eMMC 5.1 HS400 | 32GB | VCCQ 1.7~1.95V | −25~+85℃ |
| SDINBDA6-32G-XI1 | 闪迪 | eMMC 5.1 HS400 | 32GB | VCC 2.7~3.6V;VCCQ 1.7~1.95V 或 2.7~3.6V | −40~+85℃ 工业宽温 |
主控已经带 UFS 接口、而且产品确实被存储读写卡住,就按新 SoC 要求的 UFS 版本选器件,同时把 1.2V 级的 VCCQ、REF_CLK 这两件事排进原理图评审。铠侠对代际兼容的公开说法是:JEDEC 的意图是每一代 UFS 向下兼容前一代,但要自己评估供电电压和 SoC。这句话里“评估供电电压”不是客套——UFS 3.1 器件的 VCCQ 是 1.2V 级,UFS 2.1 器件用的是 1.8V 级的 VCCQ2,光靠协议兼容不解决电源轨对不上的问题。
主控没有 UFS 接口,就留在 eMMC 上把容量和温度档配对。eMMC 5.1 本身也支持命令队列,对多数工控与网通设备来说瓶颈往往不在接口带宽。要工业宽温就直接选带工业温度后缀的料号,不要用消费温度档的件去凑。
第一件是生命周期。UFS 这个品类里有不少早期料号已经退场:三星 UFS 2.0 那一代的料号在原厂页面上已标注停产;闪迪 iNAND 7232 这一代的产品页在官网上已经找不到,代理页面显示工厂当前不接单;铠侠 eMMC 5.0 那一代的部分料号在现行产品简介里也已经不再列出。选型时不要只看参数合不合适,先确认这颗还在不在原厂的现行清单里。
第二件是拿到的料号到底是哪一类。市面上有把 eMMC 当成 UFS 标的情况,两者的产品代号看着接近,接口却完全不同。下单前按厂家的产品简介确认接口标准那一行,比看型号前缀可靠得多。
以上料号都在晟雅泰在售清单内。如果你正在评估把 eMMC 换成 UFS,把主控型号、要求的工作温度范围和容量档告诉我们,可以一起把主控侧支不支持、电源轨要加哪一路、以及对应的在售料号一次性列清楚。工作日 24 小时内给报价与替代方案。
本文出自 SUNTEC 晟雅泰(苏州晟雅泰电子有限公司)技术团队。
外形能对上,球位对不上。按铠侠自家器件手册,eMMC 的 DAT2 落在 UFS 的 VCCQ 球位上,eMMC 的 CMD 和 CLK 落在 UFS 的 VSS 上,而 UFS 的四对差分线占的是 eMMC 侧的空脚区。做兼容焊盘这件事原厂和 JEDEC 没有正面说法,要同时留两条路建议分别画两版。
主要是 1.2V 级的 VCCQ。UFS 3.1 器件的 VCCQ 是 1.14~1.26V,这一路在原来的 eMMC 板子上通常没有。eMMC 一般是 VCC 2.7~3.6V 加 VCCQ 1.7~1.95V 两路。要注意 UFS 各代用的电源轨不一样——UFS 2.1 器件用的是 1.8V 级的 VCCQ2,所以换代时电源轨要按具体料号的数据手册重新确认。
不能。UFS 的主机控制器接口是 JEDEC 单独的一份标准,物理层和传输层引用 MIPI 的 M-PHY 与 UniPro,主控必须有对应的硬件。铠侠在选型建议里写得很直接:适合用 UFS 的前提之一是能买到支持 UFS 接口的 SoC,拿不到这样的 SoC 时就该用 eMMC。
不只是频率。eMMC 的数据总线输入输出共用,一次只能读或只能写;UFS 用的是各自独立的输入和输出通道,读写可以同时进行。另外 UFS 走的是 SCSI 架构模型加 UPIU 封包,队列更深——铠侠那颗 UFS 3.1 的共享队列深度是 64。eMMC 5.1 起也有命令队列,但总线仍然是半双工的。
同样一串字母数字,藏着颗粒的容量、位宽、电压、温度等级与接口版本。本文按厂商拆解 NAND 与 eMMC 命名规则:三星 K9/KLM、铠侠 TC58/THGBM、美光 MT29F/MTFC、闪迪 SDIN,配字段对照与跨品牌前缀速查表,帮工程师与采购快速读懂料号、做对替换、避开 bit 与 byte 混淆的混料风险。
阅读全文 Read more →车载信息终端、储能计算单元和需要本地运行系统的设备,如果主控已采用 UFS 存储接口,选型重点就从单纯容量转到产品路线与整机定位。三星 KLUCG4J1B-B0B1 是 64GB UFS 候选;铠侠 THGJFGT0T25BAB8 和闪迪 SDINADF4 则覆盖嵌入式 UFS 产品方向。把主控接口、现有板卡和本地数据规模放在一起看,才能把存储选到更贴近设备生命周期的位置。
阅读全文 Read more →一文讲清 SLC、MLC、TLC、QLC 与 3D NAND 的本质区别:每单元比特数、擦写寿命、性能与成本,以及工业、车载、消费场景各自该选什么。附铠侠、三星、美光、华邦、旺宏代表产品。
阅读全文 Read more →