Homepage » come » Cosa rende possibile la memoria flash eMMC nei dispositivi mobili, ma non nei PC?

    Cosa rende possibile la memoria flash eMMC nei dispositivi mobili, ma non nei PC?

    L'utilizzo della memoria flash per l'esecuzione di un sistema desktop, come Windows, è stato sconsigliato per parecchio tempo. Ma cosa l'ha reso un'opzione desiderabile e praticabile per i dispositivi mobili? Il post di Q & A di SuperUser di oggi ha la risposta alla domanda di un lettore curioso.

    La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.

    La domanda

    Lettore SuperUser RockPaperLizard vuole sapere cosa rende la memoria flash eMMC valida nei dispositivi mobili, ma non nei PC:

    Fin da quando sono state inventate le chiavette USB, le persone si sono chieste se potevano far funzionare i loro sistemi operativi su di esse. La risposta è sempre stata "no" perché il numero di scritture richieste da un sistema operativo le avrebbe rapidamente logorate.

    Poiché gli SSD sono diventati più popolari, la tecnologia di livellamento dell'usura è migliorata per consentire ai sistemi operativi di funzionare su di essi. Vari tablet, netbook e altri computer sottili utilizzano la memoria flash invece di un disco rigido o SSD e il sistema operativo è memorizzato su di esso.

    Come è diventato improvvisamente pratico? In genere implementano tecnologie di livellamento dell'usura, ad esempio?

    Cosa rende fattibile la memoria flash eMMC nei dispositivi mobili, ma non nei PC?

    La risposta

    Collaboratori SuperUser Speeddymon e Journeyman Geek hanno la risposta per noi. Prima su, Speeddymon:

    Tutti i dispositivi di memoria flash, dai tablet ai telefoni cellulari, gli orologi intelligenti, gli SSD, le schede SD nelle fotocamere e le chiavette USB utilizzano la tecnologia NVRAM. La differenza è nell'architettura NVRAM e in che modo il sistema operativo monta il file system su qualunque supporto di memorizzazione sia attivo.

    Per i tablet e i telefoni cellulari Android, la tecnologia NVRAM è basata su eMMC. I dati che posso trovare su questa tecnologia suggeriscono cicli di scrittura da 3k a 10k. Sfortunatamente, nessuno di quello che ho trovato finora è definitivo, dato che Wikipedia è vuoto nei cicli di scrittura di questa tecnologia. Tutti gli altri posti che ho visto sembravano vari forum, quindi difficilmente quello che chiamerei una fonte affidabile.

    Per fare un confronto, i cicli di scrittura su altre tecnologie NVRAM come gli SSD, che utilizzano la tecnologia NAND o NOR, sono compresi tra 10k e 30k.

    Ora, per quanto riguarda la scelta del sistema operativo su come montare il file system. Non posso parlare di come Apple lo fa, ma per Android, il chip è partizionato come un disco rigido. Si dispone di una partizione del sistema operativo, una partizione dati e diverse altre partizioni proprietarie in base al produttore del dispositivo.

    La vera partizione root risiede all'interno del bootloader, che è in bundle come un file compresso (jffs2, cramfs, ecc.) Insieme al kernel, in modo che quando l'avvio dello stage 1 del dispositivo è completo (di solito lo schermo del logo del produttore), il kernel boots e la partizione di root viene simultaneamente montata come un disco RAM.

    Quando il sistema operativo si avvia, monta il file system della partizione primaria (/ system, che è jffs2 sui dispositivi prima di Android 4.0, ext2 / 3/4 sui dispositivi da Android 4.0 e xfs sui dispositivi più recenti) in sola lettura, quindi che nessun dato può essere scritto su di esso. Questo può, naturalmente, essere aggirato dal cosiddetto "rooting" del tuo dispositivo, che ti dà accesso come superutente e ti permette di rimontare la partizione come lettura / scrittura. I tuoi dati "utente" vengono scritti in una partizione diversa sul chip (/ dati, che segue la stessa convenzione di cui sopra in base alla versione di Android).

    Con un numero sempre maggiore di telefoni cellulari che scaricano slot per schede SD, potresti pensare di colpire prima il ciclo di scrittura, poiché tutti i tuoi dati vengono ora salvati su eMMC anziché su una scheda SD. Fortunatamente, la maggior parte dei file system rileva una scrittura non riuscita in una data area di archiviazione. Se una scrittura non riesce, i dati vengono salvati in modo silenzioso in una nuova area di archiviazione e l'area danneggiata (nota come blocco errato) viene separata dal driver del file system in modo che i dati non vengano più scritti lì in futuro. Se una lettura non riesce, i dati vengono contrassegnati come corrotti e l'utente viene avvisato di eseguire un controllo del file system (o controllare il disco), oppure il dispositivo controlla automaticamente il file system durante l'avvio successivo.

    Di fatto, Google ha un brevetto per il rilevamento e la gestione automatica dei blocchi danneggiati: Gestione dei blocchi danneggiati nella memoria flash per la scheda flash dei dati elettronici

    Per ottenere di più, la domanda su come è diventato improvvisamente pratico non è la domanda giusta da porre. Non è mai stato poco pratico in primo luogo. Si sconsiglia vivamente di installare un sistema operativo (Windows) su un SSD (presumibilmente) a causa del numero di scritture effettuate su un disco.

    Ad esempio, il registro riceve letteralmente centinaia di letture e scritture al secondo, che possono essere visualizzate con lo strumento di riepilogo di Microsoft-SysInternals.

    L'installazione di Windows è stata sconsigliata sugli SSD di prima generazione perché con la mancanza del livellamento dell'usura, i dati scritti nel registro ogni secondo (probabilmente) alla fine hanno raggiunto i primi utenti e hanno portato a sistemi non avviabili a causa della corruzione del registro.

    Con tablet, telefoni cellulari e praticamente qualsiasi altro dispositivo incorporato, non esiste alcun registro (i dispositivi Windows Embedded sono eccezioni, ovviamente) e quindi non vi è alcuna preoccupazione che i dati vengano scritti costantemente nelle stesse parti del supporto flash.

    Per i dispositivi Windows Embedded, come molti dei chioschi che si trovano in luoghi pubblici (come Walmart, Kroger, ecc.) In cui è possibile visualizzare un BSOD casuale di volta in volta, non è possibile eseguire una configurazione completa in quanto essi sono pre-progettati con configurazioni che non intendono mai cambiare. Le uniche modifiche temporali avvengono prima che il chip venga scritto nella maggior parte dei casi. Tutto ciò che deve essere salvato, come il pagamento al negozio di alimentari, viene eseguito in rete sui database del negozio su un server.

    Seguito dalla risposta di Journeyman Geek:

    La risposta è sempre stata "no" perché il numero di scritture richieste da un sistema operativo le avrebbe rapidamente logorate.

    Finalmente sono diventati redditizi per l'uso tradizionale. Quella "usura" è l'unica preoccupazione è un po 'una supposizione. Ci sono stati sistemi in esecuzione fuori dalla memoria a stato solido per un considerevole periodo di tempo. Molte persone che hanno costruito i car-boot hanno fatto il boot con le schede CF (che erano elettricamente compatibili con PATA e banali da installare rispetto alle unità disco PATA), e i computer industriali avevano uno storage basato su flash piccolo e robusto.

    Detto questo, non c'erano molte opzioni per la persona media. È possibile acquistare una scheda CF e un adattatore per laptop, oppure trovare un piccolo disco industriale molto costoso su un'unità modulo per desktop. Non erano molto grandi rispetto ai dischi rigidi contemporanei (i moderni IDE DOM risalgono a 8 GB o 16 GB credo). Sono abbastanza sicuro che avresti potuto ottenere unità di sistema a stato solido impostate molto prima che gli SSD standard diventassero comuni.

    Non ci sono stati davvero miglioramenti universali / magici nel livellamento dell'usura, per quanto ne so. Ci sono stati miglioramenti incrementali mentre ci siamo spostati da SLC a MLC, TLC e anche QLC, insieme a dimensioni di processo più piccole (tutte a basso costo con un rischio maggiore di esaurimento). Flash è diventato molto più economico.

    C'erano anche alcune alternative che non avevano problemi di usura. Ad esempio, eseguendo l'intero sistema da una ROM (che è probabilmente l'archiviazione a stato solido) e RAM con batteria tampone, che utilizzano molti SSD e dispositivi portatili come il Palm Pilot. Nessuno di questi è comune oggi. I dischi rigidi hanno oscillato rispetto a dire, RAM con batteria tampone (troppo costosa), primi dispositivi a stato solido (piuttosto costosi), o contadini con bandiere (mai catturati a causa della terribile densità di dati). Anche la memoria flash moderna è un discendente di eeprom a cancellazione rapida e le eeprom sono state utilizzate in dispositivi elettronici per la memorizzazione di cose come firmware per anni.

    I dischi fissi erano semplicemente in una bella intersezione di volume elevato (che è importante), a basso costo e spazio di archiviazione relativamente sufficiente.

    La ragione per cui si trovano eMMC nei moderni computer di fascia bassa è che i componenti sono relativamente economici, sufficientemente grandi (per i sistemi operativi desktop) a quel costo e condividono la comunanza con i componenti del telefono cellulare, quindi vengono prodotti in blocco con un'interfaccia standard. Offrono anche una grande densità di archiviazione per il loro volume. Considerando che molte di queste macchine hanno un disco da 32 GB o 64 GB, al pari dei dischi rigidi della migliore parte di un decennio fa, sono un'opzione sensata in questo ruolo.

    Stiamo finalmente raggiungendo il punto in cui è possibile archiviare una quantità ragionevole di memoria in modo economico e ragionevole a velocità eMMC e flash, motivo per cui le persone si rivolgono a loro.


    Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.

    Immagine di credito: Martin Voltri (Flickr)