eMMC — NAND flash xotira va uni boshqaruvchi controllerni bitta chip paketida birlashtirgan embedded storage standarti. Uning to‘liq nomi embedded MultiMediaCard hisoblanadi.
eMMC smartphone, planshet, router, televizor, avtomobil tizimi, single-board computer va boshqa embedded qurilmalarda ishlatiladi.
U motherboardga odatda BGA usulida lehimlanadi va oddiy foydalanuvchi tomonidan almashtirilmaydi.
Tarkibi
eMMC paketida:
- NAND flash;
- flash controller;
- ECC;
- wear leveling;
- bad block management;
- command interface;
- cache ayrim qurilmalarda
mavjud.
Host raw NANDni emas, standard block storage qurilmasini ko‘radi.
Embedded xususiyat
“Embedded” atamasi eMMC qurilma platasiga doimiy o‘rnatilishini bildiradi.
MicroSD kartaga o‘xshash protocol oilasiga mansub bo‘lsa ham, eMMC removable card emas.
Afzalliklari:
- ixcham;
- arzon;
- kam quvvat;
- sodda board dizayni;
- controller chip ichida.
Bus
eMMC host bilan parallel data bus orqali ulanadi.
Kenglik odatda:
- 1 bit;
- 4 bit;
- 8 bit.
Clock va data rate standard versiyasiga bog‘liq.
Bu NVMe’dagi PCIe serial lane modelidan farq qiladi.
Speed mode
eMMC avlodlari turli tezlik rejimlarini qo‘llaydi.
Misollar:
- legacy;
- high speed;
- DDR;
- HS200;
- HS400.
HS400 yuqori data rate uchun double data rate va strobe signalidan foydalanadi.
Qurilma, host controller va board signal integrity bir xil rejimni qo‘llashi kerak.
Partitionlar
eMMC ichida bir nechta hardware region mavjud bo‘lishi mumkin.
- User Area;
- Boot Partition 1;
- Boot Partition 2;
- RPMB;
- General Purpose Partition.
Host ularni maxsus commandlar orqali boshqaradi.
Boot partition
Boot partition kichik, ishonchli region bo‘lib, bootloader yoki firmware saqlashi mumkin.
SoC resetdan keyin eMMC boot mode orqali shu regiondan kod o‘qishi mumkin.
Boot configuration noto‘g‘ri o‘zgartirilsa qurilma ishga tushmay qolishi mumkin.
RPMB
Replay Protected Memory Block autentifikatsiyalangan va replayga qarshi himoyalangan storage regioni.
U:
uchun ishlatilishi mumkin.
RPMB oddiy user data partition emas.
Controller vazifasi
Controller NANDning murakkabligini hostdan yashiradi.
Vazifalar:
- logical-to-physical mapping;
- bad block;
- ECC;
- garbage collection;
- wear leveling;
- read retry;
- write scheduling.
Controller sifati real performance va umrga katta ta’sir qiladi.
NAND turi
eMMC ichidagi NAND:
- MLC;
- TLC;
- boshqa avlod
bo‘lishi mumkin.
Mahsulot hujjatida hamma vaqt aniq media turi ko‘rsatilmaydi.
Arzon eMMC sustained write va endurance jihatdan katta farq qilishi mumkin.
Sequential va random performance
eMMC sequential read uchun kundalik embedded workload’da yetarli bo‘lishi mumkin.
Random small I/O:
uchun sezilarli sekin bo‘lishi mumkin.
Queue va parallelism NVMega qaraganda ancha cheklangan.
Cache
Ba’zi eMMC write cache ishlatadi.
Host flush command orqali data’ni non-volatile media’ga yozishni so‘raydi.
Quvvat uzilishi paytida volatile cache’dagi data yo‘qolishi mumkin.
Embedded tizim filesystem va power-fail dizaynini bunga moslaydi.
TRIM va discard
OS foydalanilmayotgan blocklarni eMMCga bildirishi mumkin.
Bu garbage collectionni yengillashtiradi.
Secure trim yoki erase semantikasi standard va controllerga bog‘liq.
Wear leveling
Bir xil logical blockga ko‘p yozuv tushsa, controller physical blocklarni almashtirib foydalanadi.
Ammo eMMC endurance cheklangan.
Doimiy:
umrni qisqartirishi mumkin.
Write amplification
Kichik logical write NAND erase block sabab kattaroq ichki ko‘chirishga olib kelishi mumkin.
Bu write amplification:
- performance’ni pasaytiradi;
- NAND wearni oshiradi.
Bo‘sh joy va controller garbage collection samaradorligi muhim.
eMMC va SD karta
| Jihat | eMMC | SD karta |
|---|---|---|
| Joylashuvi | Plataga lehimlangan | Olinadigan |
| Bus | MMC family | SD protocol |
| Almashtirish | Qiyin | Oson |
| Boot | Embedded boot region | Platformaga bog‘liq |
| Ishonchlilik | Mahsulot sinfiga bog‘liq | Karta sinfiga bog‘liq |
eMMC va UFS
UFS embedded storage uchun tezroq serial, full-duplex va queue’li arxitektura beradi.
UFS high-end smartphone va yangi qurilmalarda eMMCni ko‘p holatda almashtirgan.
eMMC arzon va sodda qurilmalarda saqlanib qolgan.
eMMC va NVMe
NVMe PCIe orqali yuqori parallelism va past latency beradi.
eMMC:
- arzonroq;
- kam pin va quvvat;
- embedded integratsiyaga qulay;
- sekinroq.
Laptopdagi soldered eMMC performance’i NVMe SSDdan ancha past bo‘lishi mumkin.
Firmware update
Embedded qurilma OS image’ni eMMCga yozadi.
Update paytida quvvat uzilsa boot partition yoki filesystem buzilishi mumkin.
A/B partition va rollback xavfni kamaytiradi.
Sog‘liq ko‘rsatkichlari
Ba’zi eMMC standard health estimate beradi:
- lifetime estimation;
- pre-EOL information;
- bad block;
- write protection.
Bu SMART kabi batafsil bo‘lmasligi mumkin.
Data recovery
eMMC plataga lehimlangan bo‘lgani sabab recovery murakkab.
Usullar:
- bootloader yoki recovery mode;
- test point;
- ISP access;
- chip-off;
- professional laboratoriya.
Encryption mavjud bo‘lsa raw NAND nusxasi yetarli bo‘lmasligi mumkin.
Diagnostika
eMMC muammosida:
- read-only holat;
- I/O error;
- filesystem;
- lifetime estimate;
- kernel log;
- power;
- clock mode;
- firmware;
- free space;
- write workload
tekshiriladi.
Eskirgan eMMC ba’zan data’ni saqlash uchun read-only rejimga o‘tishi mumkin.
Bog‘liq tushunchalar
NAND flash, Embedded storage, MMC, UFS, NVMe, Wear leveling, RPMB, Boot partition, Flash controller