如果不知道华为闪存造假的请自行搜索。
别着急,慢慢看完你就会明白了。
咱们先说说eMMC和UFS的区别你就懂了。
eMMC 和 UFS 都是面向移动端 Flash 的标准,区别在于,二者的接口技术大相径庭。
eMMC 是一个起源较早的技术,全称叫 embedded MulTIMedia Card,为什么单单e是小写呢? 因为先有的MMC啊。所谓MMC,大家可能没听过但肯定都见过,通俗来说就是所谓的内存卡。
MMC前面加了个embedded,主要就是为了突出现在这个设备是embedded在电路板上。
eMMC 和 MMC一样,沿用了 8 bit 的并行接口。在传输速率不高的时代,这个接口够用了。但随着设备对接口的带宽要求越来越高,想把并行接口速率提高也越来越难。
eMMC 的最新 5.1标准理论最高值最高可以达到400 MB/s,再往上提高频率也不是不行,但就未必划算了。
这几年接口串行化大潮轰轰烈烈。
所谓接口串行化,简单来说就是工程师们发现:与其用一个比较宽的并行接口以较低的速率传输,用一个串行接口用非常高的速率传输似乎更划算一些(带宽,功率,成本各方面综合考虑)。
所以这个时候 UFS 应运而生,用高速串行接口取代了并行接口,而且还是全双工的,也就是可以读写同时进行。所以相比 eMMC, UFS的理论性能提高不少,甚至可以达到一些SSD的水准。可以在下图直观感受一下,蓝色的是UFS,红色的是eMMC,当然是越高越好。
大家可能比较关心的一个问题:我设计好了一个使用UFS的系统,然后悲伤地发现没有UFS可以用了,那能不能直接换成eMMC呢?
答案是不行的,因为 UFS 和 eMMC 接口完全不兼容,控制器也不可通用。下面两个示意图分别是eMMC和UFS的接口(图片引自[2][3] JEDEC标准)。
即使是示意图,也能看出两者的明显差别。
eMMC有两条总线,分别传输指令数据输入和输出,而且因为是并行总线还要有额外的data strobe。
UFS则是有两条差分的数据lane,指令和数据都是以packet的形式发送的。
就更不要提二者的信号线的电气特性也有很大差别了,这些将直接导致控制侧(CPU那边)SoC 的控制器和电路设计会有很大不同。
所以一个系统的SoC以及电路板一定要经过重新设计,才能把 UFS 替换成 eMMC,这不是在生产线上换个 Flash 芯片那么简单的事儿,还得经过比较长时间的设计和测试才行。
否则想要快速拿出替代方案的话,恐怕从一开始就要设计兼容两套方案了。
全部评论