欢迎来到深圳市昂科技术有限公司
  • 中文
  • 英文
  • 日文
语言版本
国家高新企业 股票代码:873207
  • 电话: +86-755-26971006
  • 手机: +86-13751075276

浅谈 SSD,eMMC,UFS

日期: 2020-01-06
浏览次数: 45
来源:
作者:
浏览次数: 45
发布日期:

这个时候发这篇文章难免有蹭热点的嫌疑。但作为一个计算机体系结构的研究生,在这些名词满天飞的时候,我的好奇心是抑制不住的,想一探这几样技术的究竟。本文不对某一特定事件进行点评,仅从技术角度分析对比一下这三种技术。就算是当做自己的技术储备+科普了。

首先,这三种技术都是属于闪存(Flash Memory)的不同种类,区别主要在于控制器,接口标准以及更底层的 Flash 芯片标准。它们在电脑/手机等系统中的主要作用是作为存储设备(storage)/文件系统。(注意它们虽然也叫memory,但和运存的 memory是完全两回事儿)

以前电脑系统中的主要的存储设备是机械式磁盘,访问速度慢,体积庞大,功耗高,而且对震动非常敏感,因此很难用于小型化的移动设备里。Flash Memory 出现后,由于没有移动部件,几乎完美解决了以上机械硬盘的各种问题,因此很快在各种移动设备中获得广泛应用。(当然,Flash的写操作和寿命的问题也比较复杂,但这不是本文的讨论重点) 而且基于Flash 的 SSD 硬盘性能普遍好于传统机械硬盘,因此也成为了PC/服务器的主流存储设备。

那么既然 SSD,eMMC,UFS 都是 Flash,它们的区别在哪呢?

想要了解它们的区别,首先要了解他们解决的问题。

SSD 主要作用是取代 PC/服务器 上的 HDD 硬盘,它需要:

  • 超大容量(百GB~TB级别)

  • 极高的并行性以提高性能

  • 对功耗,体积等要求并不敏感

  • 兼容已有接口技术 (SATA,PCI等)

  • 而 eMMC 和 UFS主要都是针对移动设备发明的,它们需要:

  • 适当的容量

  • 适当的性能

  • 对功耗 ,体积的要求极其敏感

  • 仅需遵循一定的接口标准 (稍后解释)

  • 为了直观感受一下区别,我刚才特意找来了一个 PCIe 的 SSD,如下图,上面黑色的芯片就是Flash:

  • 我又拆了一个手机,它里面的 Flash 芯片是这样的(中间那个最大的黑色芯片):

浅谈 SSD,eMMC,UFS

看到区别了吗? (之前写的文章各种被人盗转,只好给图打码了,见谅)

一个SSD,为了达到高并行高性能的要求,有多个Flash 芯片,这样就可以在每个芯片上进行相互独立的读写操作,以并行性来提高硬盘吞吐量,还可以增加冗余备份。而手机中为了节省空间和功耗,通常只有一片密度较高的 Flash 芯片。

管理一个 Flash 芯片,和管理多个 Flash 芯片,策略肯定是不一样的,因此它们的控制器 (controller)就完全不同了。而且 PC 上需要兼容 SATA 或 PCIe 或 m2 接口,这样你电脑硬盘坏了的时候,可以拔下来换上另一块同样接口的硬盘能照样用。而手机上的 Flash 芯片大多是直接焊在主板上的,基本上不需要考虑更换的问题,所以只要遵从一个特定标准,能和CPU正常通讯就好了。因此接口的不同也是 SSD 和 eMMC,UFS 的重要区别之一。

好了,SSD 和 (eMMC, UFS)的区别说完了,下面说一下可能很多人会关心的 eMMC 和 UFS 的区别了。

eMMC 和 UFS 都是面向移动端 Flash 的标准,区别在于,二者的接口技术大相径庭。

eMMC 是一个起源较早的技术,全称叫 embedded MultiMedia Card,为什么单单e是小写呢? 因为先有的MMC啊。所谓MMC,大家可能没听过但可能见过,相机中用得较多,和SD卡长得很像(之前的图片就搞错了,感谢评论中各位的提醒)。

浅谈 SSD,eMMC,UFS

MMC前面加了个embedded,主要就是为了突出现在这个设备是embedded 在电路板上。eMMC 和 MMC一样,沿用了 8 bit 的并行接口。在传输速率不高的时代,这个接口够用了。但随着设备对接口的带宽要求越来越高,想把并行接口速率提高也越来越难。eMMC 的最新 5.1标准理论最高值最高可以达到400 MB/s,再往上提高频率也不是不行,但就未必划算了。

好在这几年接口串行化大潮轰轰烈烈。所谓接口串行化,简单来说就是工程师们发现:与其用一个比较宽的并行接口以较低的速率传输,用一个串行接口用非常高的速率传输似乎更划算一些(带宽,功率,成本各方面综合考虑)。所以这个时候 UFS 应运而生,用高速串行接口取代了并行接口,而且还是全双工的,也就是可以读写同时进行。所以相比 eMMC, UFS的理论性能提高不少,甚至可以达到一些SSD的水准。可以在下图直观感受一下,蓝色的是UFS,红色的是eMMC,当然是越高越好:

浅谈 SSD,eMMC,UFS

(图片引自[1] Micron 的文档)

最后,大家可能比较关心的一个问题:我设计好了一个使用UFS的系统,然后悲伤地发现没有UFS可以用了,那能不能直接换成eMMC呢?

答案是不行的,因为 UFS 和 eMMC 接口完全不兼容,控制器也不可通用。下面两个示意图分别是eMMC和UFS的接口(图片引自[2][3] JEDEC标准)。

浅谈 SSD,eMMC,UFS
浅谈 SSD,eMMC,UFS

即使是示意图,也能看出两者的明显差别。eMMC有两条总线,分别传输指令数据输入和输出,而且因为是并行总线还要有额外的data strobe。而UFS则是有两条差分的数据lane,指令和数据都是以packet的形式发送的。就更不要提二者的信号线的电气特性也有很大差别了。这些将直接导致控制侧(CPU那边)SoC 的控制器和电路设计会有很大不同。

所以一个系统的SoC以及电路板一定要经过重新设计,才能把 UFS 替换成 eMMC,这不是在生产线上换个 Flash 芯片那么简单的事儿,还得经过比较长时间的设计和测试才行。否则想要快速拿出替代方案的话,恐怕从一开始就要设计兼容两套方案了,嗯。

----------------------------------------------------

[1] UFS is here, and it’s very fast!

[2] JEDEC-JESD84-B51

[3] JEDEC-JESD220C


备注:转自知乎

相关新闻 / News More
  • 点击次数: 43
    2020 - 02 - 28
    深圳市昂科技术有限公司(股票代码:873207),专业的 IC 烧录器制造商,推出了 Universal Flash Storage (UFS) 专用的工程型与量产型烧录器,以及自动化烧录设备。新推出的新一代烧录器整合了 UFS 系统设计与应用,适用于研发、产品验证及工厂小批量和大批量生产需求。低功耗、高性能的可靠存储UFS 是一种专为需要最低功耗的智能手机与平板电脑等计算及移动系统设计的先进高性能接口。 eUFS/UFS 卡与过去基于信号架构的 eMMC/SD 卡的主要区别在于其高可靠性的高速低功耗串行接口。 鉴于 UFS 的高性能和高可靠性,三星已看到了其在手机市场中的应用。三星将通过推出各种先进的 UFS 产品继续满足行业不断增加的存储需求,同时更加彻底地解决其它市场细分在尖端内存解决方案方面日益增长的需求。 eUFS – 取代 eMMC 的超快嵌入式存储解决方案UFS 通过两种方式提高闪存的读写性能。首先,与 eMMC 不同,UFS 有两条专门用于读写数据的专用信道,从而能够同时读/写数据流。UFS 的第二项优势就是命令队列,它能通过高效的读写命令分组与排序(再排序)实现最高性能和吞吐量。 UFS 卡 – 比 SD 卡快 70 倍的存储卡三星 UFS 卡专为需要高速大容量外部存储器的高级应用设计,如 4K/8K 视频录像、360度 虚拟现实 (VR)、RAW 图像和高端移动设备。 UFS 的外形尺寸与标准 microSD (11x15mm)相似,并且其设计能够在同一个组合插口中同时使用 UFS 卡和 microSD 卡。UFS 卡支持高速串行接口和单独的 TX/RX 线,因此能够在主机系统和 UFS 存储设备间同时传输数据,从而实现更高效的多任务处理。uMCP - 嵌入 UFS 和 DRAM 的单芯片解决方案如前所述...
  • 点击次数: 38
    2020 - 02 - 26
    深圳市昂科技术有限公司,专业的 IC 烧录器制造商,推出了 Universal Flash Storage (UFS) 专用的工程型与量产型烧录器,以及自动化烧录设备。新推出的新一代烧录器整合了 UFS 系统设计与应用,适用于研发、产品验证及工厂小批量和大批量生产需求。            2018年1月,UFS 3.0正式发布。作为UFS 2.0和2.1的迭代升级产品,UFS 3.0在性能上带来了非常显著的提升和进步。不过,目前这款闪存并没有正式商用,所以关于他的实际性能我们无从得知。日前,网络上曝光了一张1TB UFS 3.0闪存的Androbench读写测试记录截图。从这份记录中,我们可以明显的看到UFS 3.0的顺序读取速度达到了2279.8MB/s,顺序写入速度达到了1801.1MB/s。按照目前UFS 2.1普遍的700-800MB/s顺序读取速度来看,基本是2-3倍了。不过UFS 3.0的4K随读和随写的成绩和现有的UFS 2.1差别并不大,不排除还有优化空间的可能性。根据先前的介绍,UFS(即通用闪存存储)3.0主打高性能、低功耗,它是首个引入了MIPI M-PHY HS-Gear4标准的闪存,单通道带宽高达23.2Gbps,是UFS 2.0/2.1的两倍。另外,UFS 3.0支持更多分区,纠错的能力升级,电压达到2.5V,并支持最新的NANG Flash介质。2019年的主流旗舰芯片都支持UFS 3.0,目前已经确定高通骁龙855和三星Exynos 9820能够兼容这一全新的闪存规格。三星也曾表示预计将会在今年上半年推出搭载UFS 3.0闪存的机型。目前推测,三星Galaxy S10系列应该会有一款产品,采用的是UFS 3.0规格闪存,...
  • 点击次数: 41
    2020 - 02 - 01
    快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与U盘。闪存是非易失性的存储器,所以单就保存数据而言, 它是不需要消耗电力的。与硬盘相比,闪存也有更佳的动态抗震性。这些特性正是闪存被移动设备广泛采用的原因。闪存还有一项特性:当它被制成储存卡时非常可靠,即使浸在水中也足以抵抗高压与极端的温度。闪存的写入速度往往明显慢于读取速度。NorFlashNOR Flash需要很长的时间进行抹写,但是它提供完整的寻址与数据总线,并允许随机存取存储器上的任何区域,这使的它非常适合取代老式的ROM芯片。当时ROM芯片主要用来存储几乎不需更新的代码,例如电脑的BIOS或机上盒(Set-top Box)的固件。NOR Flash可以忍受一万到一百万次抹写循环,它同时也是早期的可移除式快闪存储媒体的基础。CompactFlash本来便是以NOR Flash为基础的,虽然它之后跳槽到成本较低的 NAND Flash。NandFlashNAND Flash式东芝在1989年的国际固态电路研讨会(ISSCC)上发表的, 要在NandFlash上面读写数据,要外部加主控和电路设计。。NAND Flash具有较快的抹写时间, 而且每个存储单元的面积也较小,这让NAND Flash相较于NOR Flash具有较高的存储密度与较低的每比特成本。同时它的可抹除次数也高出NOR Flash十倍。然而NAND Flash 的I/O接口并没有随机存取外部地址总线,它必须以区块性的方式进行读取,NAND Flash典型的区块大小是数百至数千比特。因为多数微处理器与微控制器要求字节等级的随机存取,所以NAND Flash不适合取代那些用以装载程序的ROM。从这样的角度看来...
  • 点击次数: 14
    2020 - 02 - 01
    非易失性存储元件有很多种,如EPROM、EEPROM、NOR FLASH和NAND FLASH,前两者已经基本被淘汰了,因此我仅关注后两者,本文对FLASH的基本存储单元结构、写操作、擦除操作和读操作的技术进行了简单介绍,对了NOR和NAND由存储结构决定的特性和应用场合的差异,对后续的硬件设计和驱动编程起到铺垫作用。1 FLASH基本存储单元---浮栅场效应管  NOR FLASH和NAND FLASH都是使用浮栅场效应管(Floating Gate FET)作为基本存储单元来存储数据的,浮栅场效应管共有4个端电极,分别是为源极(Source)、漏极(Drain)、控制栅极(Control Gate)和浮置栅极(Floating Gate),前3个端电极的作用于普通MOSFET是一样的,区别仅在于浮栅,FLASH就是利用浮栅是否存储电荷来表征数字0’和‘1’的,当向浮栅注入电荷后,D和S之间存在导电沟道,从D极读到‘0’;当浮栅中没有电荷时,D和S间没有导电沟道,从D极读到‘1’,原理示意图见图1.1[1],图1.2是一个实际浮栅场效应管的剖面图。注:SLC可以简单认为是利用浮栅是否存储电荷来表征数字0’和‘1’的,MLC则是要利用浮栅中电荷的多少来表征‘00’,‘01’,‘10’和‘11’的,TLC与MLC相同。 2 FLASH基本存储单元的操作---写/擦除/读  FLASH中,常用的向浮栅注入电荷的技术有两种---热电子注入(hot electron injection)和F-N隧道效应(Fowler Nordheim tunneling);从浮栅中挪走电荷的技术通常使用F-N隧道效应(Fowler Nordheim tunneling),基本原理见图2[2]。  写操作就是向浮栅注入电荷的过程,NOR FLASH通过热电子注入方式向浮栅注入电荷(这种方法...
  • 点击次数: 45
    2020 - 01 - 06
    这个时候发这篇文章难免有蹭热点的嫌疑。但作为一个计算机体系结构的研究生,在这些名词满天飞的时候,我的好奇心是抑制不住的,想一探这几样技术的究竟。本文不对某一特定事件进行点评,仅从技术角度分析对比一下这三种技术。就算是当做自己的技术储备+科普了。首先,这三种技术都是属于闪存(Flash Memory)的不同种类,区别主要在于控制器,接口标准以及更底层的 Flash 芯片标准。它们在电脑/手机等系统中的主要作用是作为存储设备(storage)/文件系统。(注意它们虽然也叫memory,但和运存的 memory是完全两回事儿)以前电脑系统中的主要的存储设备是机械式磁盘,访问速度慢,体积庞大,功耗高,而且对震动非常敏感,因此很难用于小型化的移动设备里。Flash Memory 出现后,由于没有移动部件,几乎完美解决了以上机械硬盘的各种问题,因此很快在各种移动设备中获得广泛应用。(当然,Flash的写操作和寿命的问题也比较复杂,但这不是本文的讨论重点) 而且基于Flash 的 SSD 硬盘性能普遍好于传统机械硬盘,因此也成为了PC/服务器的主流存储设备。那么既然 SSD,eMMC,UFS 都是 Flash,它们的区别在哪呢?想要了解它们的区别,首先要了解他们解决的问题。SSD 主要作用是取代 PC/服务器 上的 HDD 硬盘,它需要:超大容量(百GB~TB级别)极高的并行性以提高性能对功耗,体积等要求并不敏感兼容已有接口技术 (SATA,PCI等)而 eMMC 和 UFS主要都是针对移动设备发明的,它们需要:适当的容量适当的性能对功耗 ,体积的要求极其敏感仅需遵循一定的接口标准 (稍后解释)为了直观感受一下区别,我刚才特意找来了一个 PCIe 的 SSD,如下图,上面黑色的芯片就是Flash:我又拆了一个手机,它里面的 Flash 芯片是这样的(中间那个最大的黑色芯片):看到区别了吗...
  • 点击次数: 22
    2020 - 01 - 06
    NandFlash存储器由多个Block组成,每一个Block又由多个Page组成,Page的大小一般为2K+64Bytes或512+16Bytes。Page是读取和编程的基本单位,而擦除的基本单位是Block。图1 NAND Flash的存储结果NAND Flash的页,包含主区(Main Area)和备用区(Spare Area)两个域,“主区”中有512*8(或256*16)或2048*8(或1024*16)个位,“备用区”中有16*8(或8*16)或64*8(或32*16)个位,这样每一页总共有528*8(264*16)或2112*8(或1056*16)个位。备用区是保留区域,用来标记坏块(bad block)和存放ECC的值,因此对于用户来说只有“主区”是可用的。图1是MT29F2G08AxB的结构图,它的读取和编程都以Page为基本单位,所以它的Cache Register和Data Register都是一个Page的规格。NandFlash的特别之处就在于页结构,它分成数据区和备用区两个部分,数据区和备用区按页的形式一一对应,因此读取和编程的数据流也需要按页的结构进行组织和分解。图1所示的MT29F2G08AxB芯片的数据区为2048字节,备用区为64字节。在实际应用中,备用区一般用于数据区的检错和纠错。NAND flash出厂时可能含有无效的块,在使用过程中也可能会出现其他无效的块。无效的块即为包含一个或多个坏位的块。每一片芯片在出厂前都经过测试和擦除,并标识了坏块,禁止对在出厂时作了标记的坏块进行擦除或编程。因此在应用中和编程时,都需要能够对坏块进行识别和处理。NandFlash的第一块保证是可用的。另外,Micron NandFlash具有10个页的OTP区域,这个区域不能被擦除,只能编程一次,而且如果被保护,即使是把1编程为0也是禁止的。坏块由于NAN...
手机官网
微信公众号


Copyright ©2019 - 2020 深圳市昂科技术有限公司
犀牛云提供企业云服务
X
1

QQ设置

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

5

电话号码管理

  • 13751075276
6

二维码管理

等待加载动态数据...

等待加载动态数据...

展开