If-Koubou

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? (Cum să)

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 opțiune viabilă și de dorit pentru dispozitivele mobile? Postarea 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 Q & A.

Intrebarea

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

De când au fost inventate unitățile flash USB, oamenii s-au întrebat dacă ar putea să-și ruleze sistemele 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 dispozitivele SSD 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 de un SSD, iar sistemul de operare este stocat pe acesta.

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

Ce face memoria flash eMMC viabilă pe dispozitivele mobile, dar nu pe 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 pe care este pornit.

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 dintre 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ă.

Din motive de 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 a sistemului de operare pentru montarea sistemului de fișiere. Nu pot vorbi despre cum o face Apple, dar pentru Android, cipul este împărțit ca un hard disk ar fi. 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 fișier comprimat (jffs2, cramfs etc.) împreună cu kernel-ul, astfel încât atunci când boot-ul stației 1 a dispozitivului este complet (de obicei, ecranul producătorului) cizmele și partiția rădăcină sunt montate simultan ca un disc RAM.

Pe măsură ce sistemul de operare pornește, acesta montează sistemul de fișiere de pe partiția primară (/ 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-numita "înrădăcinare" a 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 mai sus, pe baza versiunii Android).

Cu tot mai multe telefoane mobile care scot sloturi pentru carduri SD, s-ar putea să credeți că veți atinge 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. Dacă o scriere eșuează, datele sunt salvate în mod silențios într-o zonă nouă de stocare, iar zona necorespunzătoare (cunoscută ca un bloc 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 flash de date electronice

Pentru a ajunge mai mult la acest punct, întrebarea dvs. cu privire la modul în care 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 din prima generație, deoarece, datorită lipsei nivelului de uzură, datele scrise în registru în fiecare secundă (posibil) au ajuns în cele din urmă la cei care au adoptat inițial și au rezultat în sistemele neîntemeiate din cauza corupției în registri.

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 care să fie în mod constant scrise în aceleași părți ale mediului flash.

Pentru dispozitivele Windows Embedded, cum ar fi multe dintre chioșcurile găsite în locații publice (cum ar fi Walmart, Kroger etc.) unde se poate întâmpla să apară din când în când un BSOD aleatoriu, nu există o mulțime de configurații care să poată fi realizate deoarece sunt proiectate în prealabil cu configurații care nu se modifică niciodată. Singurele schimbări de timp au loc înainte ca chip-ul să fie scris în majoritatea cazurilor. Orice trebuie să fie 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 eficiente din punct de vedere al costurilor pentru utilizarea 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 mașini de înmatriculare au înlăturat cardurile CF (care erau compatibile cu PATA și trivial pentru instalare în comparație cu hard disk-urile PATA), iar calculatoarele industriale au avut o depozitare ușoară, 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. Ei nu au fost foarte mari în comparație cu hard disk-urile contemporane (IDE-urile moderne de top la 8GB sau 16GB cred). Sunt destul de sigur că ați fi putut obține drivere de sistem solid de stat înființate cu mult înainte ca SSD-urile să devină 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 de procese mai mici (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 garantată, pe care multe SSD-uri timpurii și dispozitive portabile precum Palm Pilot au folosit. Nici unul dintre acestea nu este comun astăzi. Unitățile hard disk-uri s-au stânjenit, în comparație cu cele menționate, cu memorie RAM (prea scumpă), cu dispozitivele de tip solid de tip timpuriu (oarecum pricy) sau cu țăranii cu steaguri (nu au fost prinși din cauza densității de date teribile). Chiar și memoria flash modernă este un descendent al eepromurilor cu ștergere rapidă, iar eepromurile au fost folosite în dispozitivele electronice pentru stocarea unor lucruri precum firmware-ul de-a lungul vârstelor.

Unitățile hard au fost pur și simplu la o intersecție frumoasă de volum mare (ceea ce este important), costuri reduse și stocare relativ suficientă.

Motivul pentru care găsești eMMC-uri pe computerele moderne și low-end este acela că componentele sunt relativ ieftine, destul de mari (pentru sistemele de operare desktop) la acel cost și au aceeași caracteristică cu componentele telefonului mobil, astfel încât acestea 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 32GB sau 64GB, la egalitate cu hard drive-urile de la mai bine de un 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 cantitate rezonabilă de memorie la prețuri accesibile și cu viteze rezonabile pe eMMC și flash, de aceea oamenii merg pentru ei.

Aveți ceva de adăugat la explicație? Sunați în comentarii. 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)