Pagina principala » HOWTO » Ce face memoria Flash eMMC viabilă în dispozitivele mobile, dar nu pe PC-uri?

    Ce face memoria Flash eMMC viabilă în dispozitivele mobile, dar nu pe PC-uri?

    Folosind memoria flash pentru a rula un sistem desktop, cum ar fi Windows, a fost sfătuit de ceva timp. Dar ce a făcut-o o opțiune dezirabilă și viabilă pentru dispozitivele mobile? Postul de astăzi SuperUser Q & A are răspunsul la o întrebare curioasă a cititorului.

    Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.

    Intrebarea

    Cititorul super-utilizator RockPaperLizard dorește să știe ce face memoria flash eMMC viabilă în dispozitivele mobile, dar nu pe PC:

    De când au fost inventate unitățile flash USB, oamenii s-au întrebat dacă ar putea rula sistemele lor de operare pe ele. Răspunsul a fost întotdeauna "nu", deoarece numărul de scrieri solicitate de un sistem de operare i-ar fi repetat rapid.

    Pe măsură ce SSD-urile au devenit mai populare, tehnologia de nivelare a uzurii sa îmbunătățit pentru a permite sistemelor de operare să ruleze pe ele. Diferitele comprimate, netbook-uri și alte computere subțiri folosesc memoria flash în loc de un hard disk sau un SSD, iar sistemul de operare este stocat pe el.

    Cum a devenit brusc acest lucru practic? De obicei, acestea implementează tehnologii de nivelare a uzurii, de exemplu?

    Ce face memoria flash eMMC viabilă în dispozitivele mobile, dar nu în PC-uri?

    Răspunsul

    Utilizatorii SuperUser Speeddymon și Journeyman Geek au răspunsul pentru noi. În primul rând, Speeddymon:

    Toate dispozitivele cu memorie flash, de la tablete la telefoane mobile, ceasuri inteligente, SSD-uri, carduri SD în aparate foto și unități de memorie USB, utilizează tehnologia NVRAM. Diferența este în arhitectura NVRAM și modul în care sistemul de operare montează sistemul de fișiere pe orice mediu de stocare este activat.

    Pentru tablete Android și telefoane mobile, tehnologia NVRAM este bazată pe eMMC. Datele pe care le pot găsi pe această tehnologie sugerează între 3k și 10k cicluri de scriere. Din păcate, niciunul din ceea ce am găsit până acum nu este definitiv, deoarece Wikipedia este necompletat în ceea ce privește ciclurile de scriere ale acestei tehnologii. Toate celelalte locuri pe care le-am privit s-au întâmplat să fie diverse forumuri, deci cu greu aș numi o sursă sigură.

    Pentru comparație, ciclurile de scriere de pe alte tehnologii NVRAM, cum ar fi SSD-urile, care utilizează tehnologia NAND sau NOR, se află între 10k și 30k.

    Acum, în ceea ce privește alegerea sistemului de operare pentru modul de montare a sistemului de fișiere. Nu pot să vorbesc despre cum o face Apple, dar pentru Android, cipul este împărțit ca un hard disk. Aveți o partiție de sistem de operare, o partiție de date și mai multe alte partiții proprii, în funcție de producătorul dispozitivului.

    Partiția rădăcină reală trăiește în interiorul bootloader-ului, care este asociat ca un fișier comprimat (jffs2, cramfs etc.) împreună cu kernelul, astfel încât atunci când boot-ul stației 1 a dispozitivului este complet (de obicei, ecranul producătorului), atunci kernel-ul cizme și partiția rădăcină este montată simultan ca un disc RAM.

    Pe măsură ce sistemul de operare se încarcă, acesta instalează sistemul de fișiere al sistemului de partiții primare (/ sistem, care este jffs2 pe dispozitive înainte de Android 4.0, ext2 / 3/4 pe dispozitive de la Android 4.0 și xfs pe cele mai recente dispozitive) că nu pot fi scrise date. Acest lucru poate fi, desigur, rezolvat prin așa-numitele "înrădăcinări" ale dispozitivului dvs., ceea ce vă oferă acces ca un super utilizator și vă permite să remontați partiția drept citire / scriere. Datele dvs. "utilizator" sunt scrise într-o altă partiție de pe cip (/ date, care urmează aceeași convenție ca cea de mai sus, bazată pe versiunea Android).

    Cu tot mai multe telefoane mobile scotând sloturi pentru carduri SD, s-ar putea să credeți că veți lovi capacul ciclului de scriere mai devreme, deoarece toate datele dvs. sunt acum salvate în memoria eMMC în loc de o cartelă SD. Din fericire, majoritatea sistemelor de fișiere detectează o scriere eșuată într-o anumită zonă de stocare. În cazul în care o scriere eșuează, datele sunt salvate în mod silențios într-o zonă nouă de stocare, iar zona rea ​​(cunoscută ca un blocaj rău) este deconectată de driverul sistemului de fișiere, astfel încât datele să nu mai fie scrise acolo în viitor. Dacă o citire eșuează, atunci datele sunt marcate ca fiind corupte și fie utilizatorului i se spune să ruleze o verificare a sistemului de fișiere (sau să verifice discul), fie dispozitivul verifică automat sistemul de fișiere în timpul următoarei încărcări.

    De fapt, Google are un brevet pentru detectarea și manipularea automată a blocurilor rău: Gestionarea blocurilor rău în memoria flash pentru cardul de date flash electronic

    Pentru a obține mai mult la acest punct, întrebarea dvs. despre cum a devenit brusc practică nu este întrebarea potrivită. Nu a fost niciodată imposibilă în primul rând. A fost foarte recomandat să nu instalați un sistem de operare (Windows) pe un SSD (probabil) din cauza numărului de scriere pe care îl face un disc.

    De exemplu, registrul primește literalmente sute de citiri și scrieri pe secundă, care pot fi văzute cu instrumentul Microsoft-SysInternals Regmon.

    Instalarea Windows a fost sfătuită împotriva SSD-urilor de prima generație deoarece, datorită lipsei nivelului de uzură, datele scrise în registru în fiecare secundă (probabil) au ajuns în cele din urmă la cei care au adoptat inițial și au rezultat în sisteme unbootabile din cauza corupției în registru.

    Cu tablete, telefoane mobile și aproape orice alt dispozitiv încorporat, nu există nici un registru (dispozitivele Windows Embedded fiind excepții, desigur) și, prin urmare, nu există îngrijorare de date în mod constant înscrise pe aceleași părți ale mediului flash.

    Pentru dispozitivele Windows Embedded, cum ar fi multe dintre chioșcurile găsite în locurile publice (cum ar fi Walmart, Kroger, etc.) unde puteți vedea din când în când un BSOD aleatoriu, nu există o mulțime de configurații care pot fi realizate deoarece sunt proiectate în prealabil cu configurații care nu se vor schimba niciodată. Singurul moment în care au loc schimbările este înainte ca chip-ul să fie scris în majoritatea cazurilor. Orice care trebuie salvat, cum ar fi plata dvs. către magazin alimentar, se face prin rețea în bazele de date ale magazinului pe un server.

    Urmat de răspunsul de la Journeyman Geek:

    Răspunsul a fost întotdeauna "nu", deoarece numărul de scrieri solicitate de un sistem de operare i-ar fi repetat rapid.

    În sfârșit, acestea au devenit rentabile pentru uzul principal. Această "uzură" este singura preocupare este un pic de presupunere. Sistemele au ieșit din memoria solidă pentru o perioadă considerabilă de timp. Mulți oameni care au construit car-bootters boot-a oprit de carduri CF (care au fost compatibile cu PATA și trivial pentru a instala în comparație cu hard disk-uri PATA), iar computerele industriale au avut stocare mică, robustă pe bază de flash.

    Acestea fiind spuse, nu au existat multe opțiuni pentru persoana obișnuită. Ai putea cumpăra un card CF și un adaptor pentru un laptop sau să găsești un disc industrial foarte mic și foarte accesibil pe o unitate de module pentru un desktop. Nu erau foarte mari în comparație cu hard disk-urile contemporane (modern IDE DOMs top out la 8GB sau 16GB cred că). Sunt destul de sigur că ați fi putut obține drivere de sistem solid de stat înființate până când SSD-urile standard vor deveni comune.

    Nu au existat într-adevăr îmbunătățiri universale / magice în ceea ce privește nivelul de uzură din câte știu eu. Au existat îmbunătățiri incrementale în timp ce ne-am mutat de la SLC pricy la MLC, TLC și chiar și QLC, împreună cu dimensiuni mai mici ale proceselor (toate costurile mai mici, cu un risc mai mare de uzură). Flash-ul a devenit mult mai ieftin.

    Au existat și câteva alternative care nu aveau probleme de uzură. De exemplu, rularea întregului sistem de pe un ROM (care este, probabil, de stocare în stare solidă) și RAM cu baterie, care multe SSD-uri timpurii și dispozitive portabile precum Palm Pilot folosite. Nici unul dintre acestea nu este comun astăzi. Unitățile hard disk-uri s-au stânjenit, în comparație cu cele spuse, cu memorie RAM (prea scumpă), cu dispozitivele de tip solid devreme (oarecum pricy) sau cu țăranii cu steaguri (nu au fost prinși niciodată datorită densității de date teribile). Chiar și memoria flash modernă este un descendent al eepromurilor cu ștergere rapidă, iar eepromurile au fost utilizate în dispozitive electronice pentru stocarea unor lucruri precum firmware-ul pentru vârstele.

    Hard drive-urile au fost pur și simplu la o intersecție frumos de volum mare (care este important), cost redus, și de stocare relativ suficient.

    Motivul pentru care descoperiți eMMC-urile pe computerele moderne și low-end este faptul că componentele sunt relativ ieftine, suficient de mari (pentru sistemele de operare desktop) la acel cost și au o partajare comună cu componentele telefonului mobil, deci sunt produse în vrac cu o interfață standard. Ele dau, de asemenea, o densitate mare de stocare pentru volumul lor. Având în vedere că multe dintre aceste mașini au o unitate de 32 GB sau 64 GB, la fel ca și hard disk-urile din cea mai bună parte a unui deceniu în urmă, ele sunt o opțiune sensibilă în acest rol.

    În sfârșit, ajungem la punctul în care puteți stoca o sumă rezonabilă de memorie la prețuri accesibile și cu viteze rezonabile pe eMMC-uri și flash, motiv pentru care oamenii merg pentru ei.


    Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.

    Credit de imagine: Martin Voltri (Flickr)