您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!
但作為一個(gè)計(jì)算機(jī)體系結(jié)構(gòu)的研究生,在這些名詞滿天飛的時(shí)候,我的好奇心是抑制不住的,想一探這幾樣技術(shù)的究竟。本文不對(duì)某一特定事件進(jìn)行點(diǎn)評(píng),僅從技術(shù)角度分析對(duì)比一下這三種技術(shù)。就算是當(dāng)做自己的技術(shù)儲(chǔ)備+科普了。
首先,這三種技術(shù)都是屬于閃存(Flash Memory)的不同種類,區(qū)別主要在于控制器,接口標(biāo)準(zhǔn)以及更底層的 Flash 芯片標(biāo)準(zhǔn)。它們?cè)陔娔X/手機(jī)等系統(tǒng)中的主要作用是作為存儲(chǔ)設(shè)備(storage)/文件系統(tǒng)。(注意它們雖然也叫memory,但和運(yùn)存的 memory是完全兩回事兒)
以前電腦系統(tǒng)中的主要的存儲(chǔ)設(shè)備是機(jī)械式磁盤(pán),訪問(wèn)速度慢,體積龐大,功耗高,而且對(duì)震動(dòng)非常敏感,因此很難用于小型化的移動(dòng)設(shè)備里。Flash Memory 出現(xiàn)后,由于沒(méi)有移動(dòng)部件,幾乎完美解決了以上機(jī)械硬盤(pán)的各種問(wèn)題,因此很快在各種移動(dòng)設(shè)備中獲得廣泛應(yīng)用。(當(dāng)然,F(xiàn)lash的寫(xiě)操作和壽命的問(wèn)題也比較復(fù)雜,但這不是本文的討論重點(diǎn)) 而且基于Flash 的 SSD 硬盤(pán)性能普遍好于傳統(tǒng)機(jī)械硬盤(pán),因此也成為了PC/服務(wù)器的主流存儲(chǔ)設(shè)備。
那么既然 SSD,eMMC,UFS 都是 Flash,它們的區(qū)別在哪呢?
想要了解它們的區(qū)別,首先要了解他們解決的問(wèn)題。
SSD 主要作用是取代 PC/服務(wù)器 上的 HDD 硬盤(pán),它需要:
而 eMMC 和 UFS主要都是針對(duì)移動(dòng)設(shè)備發(fā)明的,它們需要:
為了直觀感受一下區(qū)別,我剛才特意找來(lái)了一個(gè) PCIe 的 SSD,如下圖,上面黑色的芯片就是Flash:
我又拆了一個(gè)手機(jī),它里面的 Flash 芯片是這樣的(中間那個(gè)最大的黑色芯片):
看到區(qū)別了嗎? (之前寫(xiě)的文章各種被人盜轉(zhuǎn),只好給圖打碼了,見(jiàn)諒)
一個(gè)SSD,為了達(dá)到高并行高性能的要求,有多個(gè)Flash 芯片,這樣就可以在每個(gè)芯片上進(jìn)行相互獨(dú)立的讀寫(xiě)操作,以并行性來(lái)提高硬盤(pán)吞吐量,還可以增加冗余備份。而手機(jī)中為了節(jié)省空間和功耗,通常只有一片密度較高的 Flash 芯片。
管理一個(gè) Flash 芯片,和管理多個(gè) Flash 芯片,策略肯定是不一樣的,因此它們的控制器 (controller)就完全不同了。而且 PC 上需要兼容 SATA 或 PCIe 或 m2 接口,這樣你電腦硬盤(pán)壞了的時(shí)候,可以拔下來(lái)?yè)Q上另一塊同樣接口的硬盤(pán)能照樣用。而手機(jī)上的 Flash 芯片大多是直接焊在主板上的,基本上不需要考慮更換的問(wèn)題,所以只要遵從一個(gè)特定標(biāo)準(zhǔn),能和CPU正常通訊就好了。因此接口的不同也是 SSD 和 eMMC,UFS 的重要區(qū)別之一。
好了,SSD 和 (eMMC, UFS)的區(qū)別說(shuō)完了,下面說(shuō)一下可能很多人會(huì)關(guān)心的 eMMC 和 UFS 的區(qū)別了。
eMMC 和 UFS 都是面向移動(dòng)端 Flash 的標(biāo)準(zhǔn),區(qū)別在于,二者的接口技術(shù)大相徑庭。
eMMC 是一個(gè)起源較早的技術(shù),全稱叫 embedded MultiMedia Card,為什么單單e是小寫(xiě)呢? 因?yàn)橄扔械腗MC啊。所謂MMC,大家可能沒(méi)聽(tīng)過(guò)但可能見(jiàn)過(guò),相機(jī)中用得較多,和SD卡長(zhǎng)得很像(之前的圖片就搞錯(cuò)了,感謝評(píng)論中各位的提醒)。
MMC前面加了個(gè)embedded,主要就是為了突出現(xiàn)在這個(gè)設(shè)備是embedded 在電路板上。eMMC 和 MMC一樣,沿用了 8 bit 的并行接口。在傳輸速率不高的時(shí)代,這個(gè)接口夠用了。但隨著設(shè)備對(duì)接口的帶寬要求越來(lái)越高,想把并行接口速率提高也越來(lái)越難。eMMC 的最新 5.1標(biāo)準(zhǔn)理論最高值最高可以達(dá)到400 MB/s,再往上提高頻率也不是不行,但就未必劃算了。
好在這幾年接口串行化大潮轟轟烈烈。所謂接口串行化,簡(jiǎn)單來(lái)說(shuō)就是工程師們發(fā)現(xiàn):與其用一個(gè)比較寬的并行接口以較低的速率傳輸,用一個(gè)串行接口用非常高的速率傳輸似乎更劃算一些(帶寬,功率,成本各方面綜合考慮)。所以這個(gè)時(shí)候 UFS 應(yīng)運(yùn)而生,用高速串行接口取代了并行接口,而且還是全雙工的,也就是可以讀寫(xiě)同時(shí)進(jìn)行。所以相比 eMMC, UFS的理論性能提高不少,甚至可以達(dá)到一些SSD的水準(zhǔn)?梢栽谙聢D直觀感受一下,藍(lán)色的是UFS,紅色的是eMMC,當(dāng)然是越高越好:
(圖片引自[1] Micron 的文檔)
最后,大家可能比較關(guān)心的一個(gè)問(wèn)題:我設(shè)計(jì)好了一個(gè)使用UFS的系統(tǒng),然后悲傷地發(fā)現(xiàn)沒(méi)有UFS可以用了,那能不能直接換成eMMC呢?
答案是不行的,因?yàn)?UFS 和 eMMC 接口完全不兼容,控制器也不可通用。下面兩個(gè)示意圖分別是eMMC和UFS的接口(圖片引自[2][3] JEDEC標(biāo)準(zhǔn))。
即使是示意圖,也能看出兩者的明顯差別。eMMC有兩條總線,分別傳輸指令數(shù)據(jù)輸入和輸出,而且因?yàn)槭遣⑿锌偩還要有額外的data strobe。而UFS則是有兩條差分的數(shù)據(jù)lane,指令和數(shù)據(jù)都是以packet的形式發(fā)送的。就更不要提二者的信號(hào)線的電氣特性也有很大差別了。這些將直接導(dǎo)致控制側(cè)(CPU那邊)SoC 的控制器和電路設(shè)計(jì)會(huì)有很大不同。
所以一個(gè)系統(tǒng)的SoC以及電路板一定要經(jīng)過(guò)重新設(shè)計(jì),才能把 UFS 替換成 eMMC,這不是在生產(chǎn)線上換個(gè) Flash 芯片那么簡(jiǎn)單的事兒,還得經(jīng)過(guò)比較長(zhǎng)時(shí)間的設(shè)計(jì)和測(cè)試才行。否則想要快速拿出替代方案的話,恐怕從一開(kāi)始就要設(shè)計(jì)兼容兩套方案了,嗯。
---------------------------------------------------
評(píng)論中有很多業(yè)內(nèi)人士的討論,我們大概可以得到以下新的結(jié)論:
一款SoC可以設(shè)計(jì)為兼容兩種標(biāo)準(zhǔn)的。
相應(yīng)地,電路板也可以用一套方案兼容兩種標(biāo)準(zhǔn),或者即使用兩種不同方案,但成本都不高。
兩套方案的軟件驅(qū)動(dòng)也不一樣。
掃碼關(guān)注我們
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08