portant;">1.BOOT Area Partition 1 & 2
portant;">此分區(qū)主要是為了支持從eMMC啟動(dòng)系統(tǒng)而設(shè)計(jì)的。
該分區(qū)的數(shù)據(jù),在eMMC上電后,可以通過(guò)很簡(jiǎn)單的協(xié)議就可以讀取出來(lái)。同時(shí),大部分的SOC都可以通過(guò)GPIO或者FUSE的配置,讓ROM代碼在上電后,將eMMC BOOT分區(qū)的內(nèi)容加載到SOC內(nèi)部的SRAM中執(zhí)行。
portant;">2.RPMB Partition
portant;">RPMB是Replay Protected Memory Block的簡(jiǎn)稱,它通過(guò)HMAC SHA-256和Write Counter來(lái)保證保存在RPMB內(nèi)部的數(shù)據(jù)不被非法篡改。在實(shí)際應(yīng)用中,RPMB分區(qū)通常用來(lái)保存安全相關(guān)的數(shù)據(jù),例如指紋數(shù)據(jù)、安全支付相關(guān)的密鑰等。
portant;">3.General Purpose Partition 1~4
portant;">此區(qū)域則主要用于存儲(chǔ)系統(tǒng)或者用戶數(shù)據(jù)。General Purpose Partition在芯片出廠時(shí),通常是不存在的,需要主動(dòng)進(jìn)行配置后,才會(huì)存在。
portant;">4.User Data Area
portant;">此區(qū)域則主要用于存儲(chǔ)系統(tǒng)和用戶數(shù)據(jù)。
User Data Area通常會(huì)進(jìn)行再分區(qū),例如,Android系統(tǒng)中,通常在此區(qū)域分出boot、system、userdata等分區(qū)。
portant;">2.Flash Controller
portant;">NAND Flash直接接入Host時(shí),Host端通常需要有NAND Flash Translation Layer,即NFTL或者NAND Flash文件系統(tǒng)來(lái)做壞塊管理、ECC等的功能。
portant;">eMMC則在其內(nèi)部集成了Flash Controller,用于完成擦寫(xiě)均衡、壞塊管理、ECC校驗(yàn)等功能。相比于直接將NAND Flash接入到Host端,eMMC屏蔽了NAND Flash的物理特性,可以減少Host端軟件的復(fù)雜度,讓Host端專注于上層業(yè)務(wù),省去對(duì)NAND Flash進(jìn)行特殊的處理。同時(shí),eMMC通過(guò)使用Cache、Memory Array等技術(shù),在讀寫(xiě)性能上也比NAND Flash要好很多。
portant;">