eMMC 是 embedded MultiMediaCard 的簡稱。MultiMediaCard,即 MMC, 是一種閃存卡(Flash Memory Card)標(biāo)準(zhǔn),它定義了 MMC 的架構(gòu)以及訪問Flash Memory 的接口和協(xié)議。而 eMMC 則是對 MMC 的一個拓展,以滿足更高標(biāo)準(zhǔn)的性能、成本、體積、穩(wěn)定、易用等的需求。
eMMC 的整體架構(gòu)如下圖片所示:
圖片:eMMC 整體架構(gòu)
eMMC 內(nèi)部主要可以分為 Flash Memory、Flash Controller 以及 Host Interface 三大部分。
Flash Memory
Flash Memory 是一種非易失性的存儲器,通常在嵌入式系統(tǒng)中用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等,類似與 PC 系統(tǒng)中的硬盤。
目前,絕大部分手機和平板等移動設(shè)備中所使用的 eMMC 內(nèi)部的 Flash Memory 都屬于 NAND Flash,關(guān)于 NAND Flash 的更多細(xì)節(jié)可以參考 Flash Memory 章節(jié)。
eMMC 在內(nèi)部對 Flash Memory 劃分了幾個主要區(qū)域,如下圖所示:
圖片:eMMC 內(nèi)部分區(qū)
-
BOOT Area Partition 1 & 2
此分區(qū)主要是為了支持從 eMMC 啟動系統(tǒng)而設(shè)計的。
該分區(qū)的數(shù)據(jù),在 eMMC 上電后,可以通過很簡單的協(xié)議就可以讀取出來。同時,大部分的 SOC 都可以通過 GPIO 或者 FUSE 的配置,讓 ROM 代碼在上電后,將 eMMC BOOT 分區(qū)的內(nèi)容加載到 SOC 內(nèi)部的 SRAM 中執(zhí)行。
-
RPMB Partition
RPMB 是 Replay Protected Memory Block 的簡稱,它通過 HMAC SHA-256 和 Write Counter 來保證保存在 RPMB 內(nèi)部的數(shù)據(jù)不被非法篡改。
在實際應(yīng)用中,RPMB 分區(qū)通常用來保存安全相關(guān)的數(shù)據(jù),例如指紋數(shù)據(jù)、安全支付相關(guān)的密鑰等。
-
General Purpose Partition 1~4
此區(qū)域則主要用于存儲系統(tǒng)或者用戶數(shù)據(jù)。General Purpose Partition 在芯片出廠時,通常是不存在的,需要主動進(jìn)行配置后,才會存在。
-
User Data Area
此區(qū)域則主要用于存儲系統(tǒng)和用戶數(shù)據(jù)。
User Data Area 通常會進(jìn)行再分區(qū),例如 Android 系統(tǒng)中,通常在此區(qū)域分出 boot、system、userdata 等分區(qū)。
更多 eMMC 分區(qū)相關(guān)的細(xì)節(jié),請參考 eMMC 分區(qū)管理 章節(jié)。
Flash Controller
NAND Flash 直接接入 Host 時,Host 端通常需要有 NAND Flash Translation Layer,即 NFTL 或者 NAND Flash 文件系統(tǒng)來做壞塊管理、ECC等的功能。
eMMC 則在其內(nèi)部集成了 Flash Controller,用于完成擦寫均衡、壞塊管理、ECC校驗等功能。相比于直接將 NAND Flash 接入到 Host 端,eMMC 屏蔽了 NAND Flash 的物理特性,可以減少 Host 端軟件的復(fù)雜度,讓 Host 端專注于上層業(yè)務(wù),省去對 NAND Flash 進(jìn)行特殊的處理。同時,eMMC 通過使用 Cache、Memory Array 等技術(shù),在讀寫性能上也比 NAND Flash 要好很多。
圖片:NAND Flash 與 eMMC
Host Interface
eMMC 與 Host 之間的連接如下圖所示:
圖片:eMMC Interface
各個信號的用途如下所示:
CLK
用于同步的時鐘信號
Data Strobe
此信號是從 Device 端輸出的時鐘信號,頻率和 CLK 信號相同,用于同步從 Device 端輸出的數(shù)據(jù)。該信號在 eMMC 5.0 中引入。
CMD
此信號用于發(fā)送 Host 的 command 和 Device 的 response。
DAT0-7
用于傳輸數(shù)據(jù)的 8 bit 總線。
Host 與 eMMC 之間的通信都是 Host 以一個 Command 開始發(fā)起的。針對不同的 Command,Device 會做出不同的響應(yīng)。
-
NAND
+關(guān)注
關(guān)注
16文章
1722瀏覽量
138160 -
存儲器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167426 -
GPIO
+關(guān)注
關(guān)注
16文章
1280瀏覽量
54120 -
SRAM控制器
+關(guān)注
關(guān)注
0文章
11瀏覽量
5972 -
emmc
+關(guān)注
關(guān)注
7文章
230瀏覽量
54019
發(fā)布評論請先 登錄
eMMC的相關(guān)基礎(chǔ)知識(1)

評論