宏旺半导体最近在网上看到一个提问,有台湾工厂做出过,可以把多个eMMC组成RAID并转成SATA,也就相当于一块完整的SSD了,但市面上似乎没有此类推广,这是为什么?在此类开发中,eMMC比NAND不是搞起来更方便吗?今天ICMAX就给大家解答下。 理论上 eMMC是embedded Multi Media Card的缩写,相当于一个闪存芯片+简单的主控,不用于SSD,其实是定位问题,eMMC本质上只是一个面向嵌入式设备的I/O interface及其物理层实现的标准集。eMMC标准的前身是MMC卡,而SSD使用的是SATA标准,两者在不是一个标准之下的产物。虽然eMMC和SSD主要是满足不同需求而发展出来的NAND应用,相同点都是控制器加NAND颗粒组成的存储介质,但在应用领域性能上的差别风马牛不相及。 实际上 在实际应用上eMMC主要应用于平板、手机,为了满足移动性的需求,所以需要做到轻、薄,尤其是功耗要很低;而SSD一般应用于PC端,对读写速度与纠错功能都有相当高的要求。所以SSDd 特点是功耗大, 容量大。一般读写快eMMC的芯片里面至少要包括三个功能组件:Flash、Flash控制器还有MMC的总线控制器。Flash一般对外只提供地址线和数据线,而浮栅MOS读和写又是一个复杂的物理过程,尤其是擦除,时间已经达到了us级别,需要一个专用的驱动器来完成这类和电路物理结构紧密相关的IO操作,控制器对外提供一个数据接口将NAND的读写细节能对上层隐藏这就不用多说了。此外,Flash中用的最多的NAND结构是以block而不是bit为单位组织的,行列地址线还要复用,更不用说现在为了提高容量满大街NAND片子都是多个die堆叠封装的,所以把ECC算法做到这个控制器里无论是对eMMC里的Flash控制器还是SSD主控来说都是一个巨大的挑战。 还有GC、掉电保护等等一大票的高级功能,所以说当CPU请求数据时,无论是eMMC还是一大块的SSD,往数据总线上送出的每一个字节背后主控其实已经跑过了几十个算法,平时空闲的时候还不能停止运转。至于MMC总线控制器,在数字端是和Flash控制器做在一起的,就是因为eMMC在发展的初衷是给嵌入式系统提供一个简单易用的存储解决方案,虽然现在eMMC 5.1把总线性能指标提高了不少,然而现实设备的使用环境决定了eMMC的主控不可能有太高的性能,在这种极端重视功耗的情况下同样大小的eMMC性能比SSD弱很多。
市面上的SSD主控早就实现了NAND颗粒的多通道读写,具体可以类比多通道内存。这样看来,将多块eMMC组成类似RAID而后再包装成SSD,无论是性能上还是耐久度上均无任何优势,这块“SSD”的“主控”,只是在物理层和数据链路上做了点协议转换的微小工作而已。用这种东西来做SSD,理论上虽然可行,但根本就没有什么实际使用意义,宏旺半导体认为经过eMMC接口的转换后,性能提升不容易,稳定度和寿命也很难控制,市场接受度很低。
|