OpenVINO工具套件AI程式講座
|
View Categories

Flash記憶體的原理與應用—PART17

作者:Bird

上一回【Maker電子學】Flash記憶體的原理與應用—PART16(SmartMedia)為了介紹 NAND Flash的錯誤校正、檢查機制,我們簡單介紹了 NAND Flash儲存媒體的濫觴:SmartMedia 記憶卡,並簡單說明了它裡面的錯誤檢查及校正機制。

這一回,我們要開始介紹 SD/MMC/eMMC。

MMC 的身世 #

我們一直把 SD/MMC/eMMC 這三者放在一起講,是因為它們之間有相當多的共通之處,但卻又不是完全相同。

最早出現在這世界上的是MMC,也叫做Multimedia Card。MMC是 1997 年由西門子(Siemens)跟 SanDisk 一起研發出的標準,比1995年誕生的Smart Media以及1990年問世的Compact Flash Card 都要晚。

當時CF card使用的是Intel的NOR Flash技術,卡片上帶有控制器,而如同我們上一回提過的,SmartMedia使用的是Toshiba的NAND Flash技術,並且沒有內建控制器,使用SmartMedia的裝置要負責NAND Flash的錯誤檢查、校正,及壞區管理、壽命控制等工作。

MMC也使用Toshiba的NAND Flash技術,但它有內建NAND Flash控制器,可以負擔大部份的NAND Flash管理工作。

(圖片來源:Bird 提供)

MMC是一個開放標準,所有的通訊協定、規格都可以公開取得。一開始的MMC有7支接腳,支援兩種通訊模式:MMC 模式及SPI模式。

MMC模式是MMC所開發出來的一種通訊協定,它有獨立的指令訊號CMD和資料訊號DAT,並有另一個CLK訊號用以做訊號同步的訊號取樣鎖定。這個模式是日後SD卡及eMMC晶片通訊的基礎。

而SPI模式則是為了讓MMC相容於當時已經在MCU上非常流行的SPI介面所設計的。它可以讓MCU用四支腳的SPI介面(MISO、MOSI、CLK、CS)來存取MMC,而且SPI介面有另一個好處:它可以讓許多SPI裝置共用MOSI、MISO、CLK訊號,只需要用CS分別選擇,就可以在同一個SPI介面上連接多個SPI slave裝置。但由於MMC是可以移除、可以熱插拔的記憶卡而非固定在電路板上的晶片,在單一應用中要用一個SPI介面存取多張卡片的設計其實不多見。

(圖片來源:Bird 提供)

上表是MMC的7支接腳在MMC模式下和在SPI模式下的功能。在MMC模式下,DAT負責傳輸資料、CMD 負責傳輸指令,這兩支腳都是雙向的,也就是可以從host往MMC傳送,也可以從MMC往host傳送。

而在SPI模式下呢,每一個訊號的方向就是固定的:CS、CLK、MOSI是由host往MMC傳送,而MISO則是由MMC往host傳送。

SD卡的誕生 #

SD卡比MMC稍微年輕一點,它誕生於1999年,是由Sandisk聯合Panasonic、Toshiba,基於MMC的技術所開發出來的產品。SD的意思是「Secure Digital」,因為SD卡具有硬體加密的技術,支援數位版權管理DRM(digital rights management),可以用來保護當時剛興起的數位音樂播放器上所使用的數位音樂內容。

相較於美國人,日本人在數位媒體的DRM上相當保守於堅持,相似的產品還有Sony的Memory Stick,在Memory Stick上的MagicGate就是Sony為Memory Stick開發出來的DRM技術,不過隨著SD卡的普及,Memory Stick雖然並未完全停產,但現在只有極少部分Sony自己的產品支援Memory Stick,而Sony自己也在2010年含淚推出SD卡的產品…

由於SD卡是基於MMC的技術發展而來,它的介面和外型跟MMC具有高度的相似性。SD卡的大小跟MMC幾乎一樣,都是32 mm×24 mm,但早期的MMC厚度只有1.4 mm,而SD卡則將厚度增加到 2.1 mm。由於兩者厚度相差不多,幾乎所有使用SD或MMC的裝置都相容於兩者,只有極少數專為MMC設計的裝置插不進比較厚的SD卡。

而在電氣介面上,SD卡比MMC多了兩支接腳,共有11個訊號。

(圖片來源:Bird 提供)

為什麼上面那個表的排列那麼奇怪,從9開始接著跳到1呢?因為SD卡基於MMC的標準增加了兩個訊號,但為了要與MMC相容,多出來的這兩支腳位於原來那7個訊號的兩側。在SD卡上,接腳的排列是這樣的:

(圖片來源:Bird 提供)

其中1到7是原來MMC的訊號,而8和9則是SD多出來的訊號。

由於SD的標準要求所有的SD卡仍然必須支援SPI模式,因此即使將SD卡插入只有7支接腳的MMC裝置中,MMC裝置仍然能用SPI模式存取SD卡。

SD卡多出來的兩個接腳其實是額外的data訊號,再加上SD把MMC的RES訊號也改為data訊號,在SD卡上就有DAT0 – DAT 3總共四個data 訊號,在同樣的clock頻率下,SD卡傳輸資料的速度就是 MMC的4倍了。

MMC後來也推出了支援4-bit甚至8-bit資料傳輸、有13支接腳的MMC Plus,以及有DRM技術的SecureMMC,但由於SD卡的普及,MMC的市場幾乎完全被SD 所取代,現在市面上已經很少看到MMC的產品。

台灣的工研院在2007年曾經推出一款叫做miCard的記憶卡產品,它是一個比MMC/SD小一點的卡片,卡片上同時有MMC和USB介面,可以直接插入USB介面中存取,也可以透過一個轉接器變成 MMC的外型,當作MMC卡使用,但這產品並沒有太多人知道。

MMC陣營雖然在記憶卡市場上節節敗退甚至輸掉江山,但在儲存晶片的市場上卻有完全不同的結果。

eMMC的江山 #

隨著NAND Flash技術的成熟、密度提高,各家半導體公司紛紛推出自己的NAND Flash產品,但由於各家產品的設計理念、規格、介面都沒有統一,讓設計產品的公司相當困擾。

因此MMC陣營就訂定了eMMC標準:這是一個利用MMC介面的NAND Flash技術標準,它不是記憶卡,而是BGA封裝的晶片。由於有了統一的介面,設計電子產品的公司在選用NAND Flash時,只要使用eMMC晶片,就可以互換不同廠商的產品,只要晶片符合eMMC標準就好。

eMMC的晶片有幾種不同的封裝:100-pin、153-pin、169-pin的BGA封裝,其中以153-pin的最為常見,但這裡面最妙的事情是,MMC介面其實沒有多少訊號,最早的MMC介面只需要7支腳,即使到了支援8-bit傳輸的MMC plus介面仍然也只需要13支腳。

在一百多支腳的BGA封裝上,其實有超過一半的接腳是空的、沒有用的腳,而剩下的接腳裡也有大量重複的電源接腳。eMMC的介面所使用的訊號仍然跟MMC差不多。

由於統一的標準讓NAND Flash的使用變得很容易,eMMC很快就席捲市場,成為手機等行動裝置中應用最廣的NAND Flash記憶體。

SD陣營也不甘示弱,一樣推出了類似eMMC的產品,叫做eSD(embedded SD),但就如SD卡打下記憶卡的大半江山一樣,NAND Flash儲存晶片的市場已經被eMMC拿下,eSD幾乎沒有什麼與之競爭的空間。

小結 #

這一回我們介紹了MMC與SD的身世之謎,簡單介紹了MMC與SD介面相同與不同之處,也提到了eMMC如何在儲存晶片市場拿下一片江山的過程。下一回我們會介紹SD與EMMC的傳輸介面標準。

(責任編輯:賴佩萱)

Powered by BetterDocs

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *