EMMC

Z Wiki XperiaSite.pl
Skocz do: nawigacja, szukaj
eMMCstruktura.png
Struktura działania pamięci eMMC.

embedded MMC to najbardziej popularna wersja pamięci MMC. Jest to pamięć niewymienna, często zwana "wbudowaną". Do połączenia z procesorem i innymi podzespołami bezpośrednio wykorzystuje ścieżki na płytce drukowanej, a nie poprzez magistralę SPI, jak karty MMC, z których się wywodzi.

Wykorzystywana jest ona w większości obecnych urządzeń z pamięcią preinstalowaną na płycie z obwodami (ścieżkami), jako niewielki chip BGA IC. Urządzenia do 2016 roku na pewno mają pamięć tego typu. Te nowsze, a przynajmniej flagowe, mogą mieć już pamięć typu UFS. Choć zdarza się, że urządzenie wychodzi w kilku wersjach - z pamięcią UFS i eMMC (jak np. Huawei P10, gdzie możemy (chybił-trafił) trafić na pamięć UFS 2.1, UFS 2.0 oraz eMMC 5.1).

Wersje

Pamięci eMMC pojawiły się wraz ze standardem MMC 4.1, tak więc ich numeracja zaczyna się od 4.1.

  eMMC 4.1 eMMC 4.2 eMMC 4.3 eMMC 4.4 eMMC 4.41 eMMC 4.5 eMMC 4.51 eMMC 5.0 eMMC 5.1
Interfejs SDR High Speed SDR
SDR-52
High Speed DDR
DDR-52
HS200 HS400
Maksymalna szybkość transferu 26 MB/s 52 MB/s 104 MB/s
(832 Mbps)
200 MB/s
(1,6 Gbps)
400 MB/s
(3,2 Gbps)
600 MB/s
(3,2 Gbps)
Maksymalna szybkość zapisu b/d 15 MB/s 30 MB/s 60 MB/s 90 MB/s 125 MB/s
R/W IOPS b/d b/d 3500/1500 4700/1500 4500/2000 7000/7000 13000/11000
Kanały danych 1, 4 i 8 bitowe
Ilość sygnałów 10 pinów 11 pinów
(1 niewykorzystany)
11 pinów
(wiązka danych)
Napięcie 1,2 V / 1,8 V oraz 3V 1,2 V / 1,8 V
Wiązki danych Nie Tak
Tuning odczytu Nie Tak
Taktowanie 0 - 26 MHz 0 - 52 MHz 0 - 200 MHz
Opcja H/W reset Tak
Wiele partycji Nie Tak
Równoczesny dostęp Nie Tak
RPMB Nie Tak
Komendy usuwania Erase Secure TRIM Sanitizer Secure TRIM + Sanitizer
Secure Erase Nie Tak

eMMC 4.1

eMMC 4.2

eMMC 4.3

  • pozwala na bootwanie z pamięci,
  • pozwala na ustawienie do 2 partycji bootujących (o wielkości od 128 KB do 32 MB każda) i jedną użytkownika,
  • tryb snu,
  • opcja zabezpieczenia przez zapisem,

eMMC 4.4

  • standard opublikowany w marcu 2009,
  • partycja RPMB (o wielkości od 128 KB do 32 MB),
  • partycja rozszerzona - pozwala na utworzenie partycji użytkownika (musi zajmować minimum 93,1% miejsca całej partycji rozszerzonej)4 partycji dodatkowych
  • dodana funkcja TRIM,
  • poprawione wydajność i bezpieczeństwo,
  • alternatywne bootowanie,

RPMB

Replay-Protected Memory Block - ukryta partycja ta zawiera zabezpieczone dane, zaszyfrowane kluczem SHA-256. (od niej Od niej może zależeć połączenie w trybie Fastboot),

TRIM

Funkcja przypominająca działaniem defragmentację. Dane są oznaczane, jako "0" oraz "1", aby oznaczyć, czy musi być przyprowadzone trymowanie tego bloku danych.

Opcja Secure TRIM (oraz usuwania (Erase)) pozwala na odpowiednie ułożenie bloków danych po przeprowadzeniu trymowania.

Sektor danych podczas trymowania wynosi 512 bajtów (512 KB podczas grupowania po trymowaniu lub usuwaniu).

eMMC 4.41

  • standard opublikowany w marcu 2010,
  • pozwala na operacje w tle,
  • funkcjaę HPI (ang. High Priority Interrupt) - pozwala na przerwanie działania zapisu (przez CMD 12) lub usuwania (przez HPI), kiedy czas trwania procesu jest zbyt długi,
  • możliwość zatrzymywania operacji zapisu danych i ich natychmiastowy odczyt po upłynięciu określonego czasu,
  • sekwencyjny zapis danych - w razie utraty zasilania zapis rozpoczyna się od ostatniego niezapisanego pliku, a nie od początku,

eMMC 4.5

  • standard opublikowany w czerwcu 2011,
  • HS200,
  • tryb cache (zapis, odczyt, HPI) - zapis do pamięci udostępnionej jako cache, zapis do pamięci w razie braku miejsca w cache (jak dyski HDD),
  • oznaczanie pustych bloków bez nadpisywania ich zerami,
  • zaawansowane typt partycji (GPAP),
  • wykorzystanie RTC (zegar czasu rzeczywistego),
  • sanitize - oczyszczanie niewykorzystanych bloków logicznych,
  • jednoczesne wysyłanie danych, gdy jest więcej niż jeden chip pamięci,
  • nie korzysta z funkcji TRIM,
  • łączenie przesyłanych danych w "paczki",
  • komendy cache,
  • E2 MMC - urządzenie wspierające tryb cache i 3 piny VDDi,
  • zaawansowane komendy bezpieczeństwa,
  • tryb BSP - pomija sprawdzanie wersji pamięci, co pozwala na wsteczną kompatybilność z hostami działającymi w standardzie eMMC 4.4,

eMMC 4.51

  • standard opublikowany w czerwcu 2012,
  • przywrócono funkcję TRIM,
  • podział pamięci:
    • zmapowany obszar adresów - obszar, do którego host ma dostęp po wydaniu odpowiedniej komendy,
    • niezmapowany obszar adresów - fragment pamięci niedostępny dla hosta, częścią niej jest partycja /vendor,
      • ukryta partycja OEM - partycja /vendor, do której host nie ma dostępu.

eMMC 5.0

  • standard opublikowany we wrześniu 2013,
  • HS400,
  • raportowanie stanu urządzenia (chipu),
  • bezpieczne usuwanie danych,
  • tryb BSP - pomija sprawdzanie wersji pamięci, co pozwala na wsteczną kompatybilność z hostami działającymi w standardzie eMMC 4.4 (nie 4.5 i 4.51),
  • funkcja FFU,

FFU

Field Firmware Update - możliwość aktualizacji firmware chipa pamięci, bez potrzeby jego wylutowywania i podłączania do specjalistycznego sprzętu.

eMMC 5.1

  • standard opublikowany w lutym 2015,

Tryby działania

Pamięć eMMC (a przynajmniej jej najnowsze wersje) może działać w 5 trybach:

  • tryb bootowania (ang. Boot mode) - tryb, w którym pamięć eMMC wchodzi (o ile jest wspierany) w momencie, gdy podczas uruchomienia otrzyma komendę CMD0 (Go_Idle_State) z odpowiednim argumentem (0xF0F0F0F0),
  • tryb identyfikacji (ang. Card identification mode) - tryb, w który wchodzi pamięć zaraz po włączeniu (nie wspierająca trybu bootowania) lub po zakończeniu fazy trybu bootowania,
  • tryb przerwania (eng. Interrupt mode) - tryb, w który wchodzi pamięć jeśli od dłuższego czasu nie było żadnego przesyłu danych z lub do niej,
  • tryb przesyłu danych (eng. Data transfer mode) - tryb, w który pamięć wejdzie po otrzymaniu komendy RCA, zaraz po niej rozpocznie się oczekiwanie na komendę zapisu i/lub odczytu danych,
  • tryb nieaktywności (eng. Inactive mode) - spowodowany przy przyłożeniu zasilania o błędnym napięciu, przy złym zamontowaniu chipu lub po otrzymaniu komendy CMD15 (GO_INACTIVE_ STATE).

Tryby łączności

Nazwa Liczba kanałów

Napięcie I/O
(V)

Magistrala
(bit)
Częstotliwość CLK
(MHz)
Maksymalna prędkość
(MB/s)
Wstecznie kompatybilny z MMC 1 3, 1.8/1.2 1, 4, 8 0 - 26 26
High Speed SDR 4, 8 0 - 52 52
High Speed DDR 2 104
HS200 1 1.8/1.2 0 - 200 200
HS400 (eMMC 5.0) 2 400
HS400 (eMMC 5.1) 3 (?) 600

Układ pinów

eMMCpin.png
Układ pinów LFBGA pamięci eMMC (aktywna część matrycy pamięci).

eMMC-green.png - piny wykorzystywane przez pamięć typu eMMC.

eMMC-grey.png - piny zarezerwowane do wykorzystania w przyszłych wersjach pamięci typu eMMC lub wersjach specjalnych, wydawanych przez niektórych producentów, lepiej zostawić niepołączone.

eMMC-white.png - piny niewykorzystywane przez pamięć typu eMMC, mogą posłużyć do mocowania.

eMMC-black.png - piny niewykorzystywane przez pamięć typu eMMC, wg specyfikacji standardów JEDEC nie powinno ich się wykorzystywać, jednak wg specyfikacji niektórych producentów mogą być wykorzystywane do mocowania.

Pin eMMC Nazwa I/O Logic Opis
2B DAT3 I, O PP Data 3
2C M- VDDi S S Ośrodek napięcia wewnętrznego pamięci
z kondensatorem min. 0,1 μF (najlepiej 1 μF)
2N M- VSSQ S S Uziemienie pamięci i I/O NAND
3A DAT0 I, O PP Data 0
3B DAT4 I, O PP Data 4
3P M- VDDQ S S Zasilanie pamięci i I/O NAND
4A DAT1 I, O PP Data 1
4B DAT5 I, O PP Data 5
4C M- VSSQ S S Uziemienie pamięci i I/O NAND
4M M- VDDQ S S Zasilanie pamięci i I/O NAND
4N M- VDDQ S S Zasilanie pamięci i I/O NAND
4P M- VSSQ S S Uziemienie pamięci i I/O NAND
5A DAT2 I, O PP Data 2
5B DAT6 I, O PP Data 6
5F M- VDD S S Zasilanie kontrolera i I/O eMMC
5G VSS S S Uziemienie kontrolera i I/O eMMC
5K RST_n I PP Reset
5M M- CMD I, O PP, OD Przesył komend i odpowiedzi między hostem a pamięcią
5N M- VSSQ S S Uziemienie pamięci i I/O NAND
5P M- VDDQ S S Zasilanie pamięci i I/O NAND
6B DAT7 I, O PP Data 7
6C M- VDDQ S S Zasilanie pamięci i I/O NAND
6E M- VDD S S Zasilanie kontrolera i I/O eMMC
6M M- CLK I I Clock
60 M- VSSQ S S Uziemienie pamięci i I/O NAND
7E VSS S S Uziemienie kontrolera i I/O eMMC
8K M- VSS S S Uziemienie kontrolera i I/O eMMC
9K M- VDD S S Zasilanie kontrolera i I/O eMMC
10H M- VSS S S Uziemienie kontrolera i I/O eMMC
10J M- VDD S S Zasilanie kontrolera i I/O eMMC