eMMC特性分析


eMMC(embedded MultiMedia Card)是MMC協會制定,針對手機和平板電腦的內嵌式存儲器標准規范。

1、背景介紹

縱觀Nand Flash發展史,最開始閃存市場被三星和東芝霸占,各閃存生產商沒有一套統一的設計標准。為了反抗三星和東芝的霸權,在舊金山IDF論壇上成立了ONFI(Open Nand Flash Interface)聯盟,主要是其他閃存生產商聯合起來搶三星和東芝的蛋糕。參與ONFI聯盟的包括Intel,Micron,Hynix, SanDisk等廠家,他們制定了ONFI標准。三星和東芝也聯合起來,制定了Toggle標准。同時,三星允許東芝生產和制造自己旗下的OneNAND和Flex-OneNAND閃存芯片,東芝開放自己的LBA-NAND和mobileLBA-NAND閃存芯片技術給三星。Nand Flash世界進入了ONFI和Toggle楚漢相爭的時代。

ONFI同步模式下使用時鍾,數據、命令、地址都要與時鍾同步。但是DQS,Clock都不是差分信號,所以邊沿容易受干擾。

Toggle同步模式下不使用時鍾,寫數據用DQS差分信號跳變沿觸發,讀數據根據主控發的REN差分信號跳變沿發讀請求,DQS跳變沿輸出數據。

Nand Flash的標准不統一嚴重拖累了產品的研發周期,而且各Nand Flash無法保持兼容,因此無法順利地實現器件替代。

MMC協會看到了這些痛點,因此,革命性地制定了eMMC標准,eMMC中集成了一個控制器,它提供標准接口並管理Nand Flash。

簡言之,eMMC通過集成一個控制器,統一了對外的接口標准,把各Nand Flash的差異屏蔽在了eMMC內部,由各制造商自己解決,在手機和平板電腦領域結束了紛爭。這也印證了計算機領域的一個真理——所有的問題都可以通過增加一個中間層解決。

2、eMMC和Nand Flash

Nand Flash通常需要在Host側通過軟件實現Flash Translation Layer用於壞塊處理、擦寫均衡、ECC校驗等功能,所以Nand Flash驅動比較復雜。

eMMC則在其內部實現了FTL層的功能,這樣Host側的eMMC驅動實現就相對簡單了。

3、eMMC總線

eMMC采用串行差分信號進行數據傳輸,數據傳輸位寬可配置,默認為1位,即DAT0有效;可以配置為4位或者8位。

CLK - 同步時鍾信號

Data Strobe - eMMC卡輸出的同步時鍾信號,在eMMC通過DAT信號線輸出數據時,鎖存數據

CMD - 同MMC/SD協議,Host發送的Command和eMMC卡回復的Response只通過CMD信號交互

DAT0~7 - 數據傳輸信號

4、eMMC存儲區

eMMC內部將Flash Memory划分為幾個區域:

4.1、Boot Area Partition

當系統上電時,通過特定的時序,可以讓系統從主備啟動分區啟動。

4.2、RPMB(Replay Protected Memory Block) Partition

RPMB通過HMAC SHA-256和Write Counter來保證保存在RPMB內部的數據不被非法篡改。

在實際應用中,RPMB分區通常用來保存安全相關的數據,例如指紋數據、安全支付相關的密鑰等。

4.3、GPP(General Purpose Partition)

默認情況下,GPP分區是不存在的,需要通過軟件進行特殊的配置,才能激活GPP分區。

4.4、UDA(User Data Area)

此區域通常用來存放系統和用戶數據,很多應用場景中,只有User Data Area區域被使用。UDA區域通常使用MBR或者GPT格式進行分區。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM