Tutti i dispositivi di memoria flash, dai tablet ai telefoni, agli smartwatch, agli SSD e persino le schede SD nelle fotocamere e nelle chiavette USB utilizzano la tecnologia NVRAM. La differenza sta nell'architettura della NVRAM e nel modo in cui il sistema operativo monta il filesystem su qualunque supporto di memorizzazione.
Per tablet e telefoni Android, la tecnologia NVRAM è basata su eMMC. I dati che posso trovare su questa tecnologia suggeriscono cicli di scrittura da 3k a 10k. Sfortunatamente, nulla di ciò che ho trovato finora è definitivo, dato che Wikipedia è vuota sui cicli di scrittura di questa tecnologia. Tutti gli altri posti che ho visto sono solo vari forum, quindi quasi non definirei una fonte affidabile.
Per fare un confronto, altra tecnologia NVRAM come gli SSD che usano la tecnologia NAND o NOR, i cicli di scrittura sono compresi tra 10k e 30k.
Ora, per quanto riguarda la scelta del sistema operativo su come montare il filesystem .... Non posso parlare di come lo fa Apple, ma per Android, il chip è partizionato come sarebbe un disco rigido. Hai una partizione del sistema operativo e una partizione dati, insieme a diverse altre partizioni proprietarie a seconda del produttore del dispositivo. La vera partizione di root risiede all'interno del bootloader, che è raggruppato come file compresso (jffs2, cramfs, ecc.) Insieme al kernel, in modo che quando l'avvio della fase 1 del dispositivo è completo (la schermata del logo del produttore di solito), quindi il kernel si è avviato e la partizione di root viene montata simultaneamente come un disco ram.
Quando il sistema operativo si avvia, monta il filesystem della partizione primaria (/ system, che è jffs2 sui dispositivi prima di Android 4.0 e ext2 / 3/4 sui dispositivi da Android 4.0 e xfs sugli ultimi dispositivi) come di sola lettura in modo che no i dati possono essere scritti su di esso. Questo, ovviamente, può essere aggirato dal cosiddetto "rooting" del tuo dispositivo, che ti dà accesso come superutente e ti consente di rimontare la partizione come lettura / scrittura. I tuoi dati "utente" vengono scritti in una diversa partizione sul chip (/ data, che segue la stessa convenzione di cui sopra in base alla versione di Android).
Con sempre più telefoni che abbandonano l'alloggiamento della sdcard, potresti pensare di colpire prima il limite di scrittura perché tutti i tuoi dati vengono ora salvati nella memoria eMMC anziché nella sdcard. Fortunatamente, la maggior parte dei file system rileva una scrittura non riuscita in una determinata area di archiviazione. Se una scrittura fallisce, i dati vengono silenziosamente salvati in una nuova area della memoria e l'area danneggiata (nota come blocco danneggiato) viene isolata dal driver del file system in modo che i dati non vengano più scritti lì in futuro. Se una lettura fallisce, i dati vengono contrassegnati come corrotti e all'utente viene richiesto di eseguire un controllo del file system o di controllare il disco, oppure il dispositivo controlla automaticamente il file system al successivo avvio.
È un dato di fatto, Google ha un brevetto per il rilevamento e la gestione automatici di blocchi danneggiati.
https://www.google.com/patents/US7690031
Per approfondire, la tua domanda "come è diventato improvvisamente pratico?" non è la domanda giusta da porre. Piuttosto, non è mai stato impraticabile, in primo luogo. È stato fortemente sconsigliato di installare il sistema operativo (Windows) su un SSD (presumibilmente) a causa del numero di scritture che il sistema operativo esegue sul disco.
Ad esempio, il registro riceve letteralmente centinaia di letture e scritture al secondo, che possono essere visualizzate con lo strumento Regmon di Microsoft / SysInternals ( https://technet.microsoft.com/en-us/sysinternals/regmon.aspx )
L'installazione del sistema operativo (Windows) è stata sconsigliata sulle unità SSD di prima generazione perché, con la mancanza del livellamento dell'usura, i dati scritti nel registro ogni secondo probabilmente raggiungevano i primi utenti e provocavano sistemi non avviabili a causa della corruzione del registro.
Con tablet e telefoni e praticamente qualsiasi altro dispositivo incorporato, non esiste un registro (ovviamente i dispositivi Windows Embedded sono eccezioni) e quindi non vi è alcuna preoccupazione che i dati vengano costantemente scritti nelle stesse parti del supporto flash.
Per i dispositivi Windows Embedded, come molti dei chioschi (inclusi i chioschi self checkout di Walmart e Kroger) in pubblico - sai, quelli in cui potresti vedere un BSOD casuale di volta in volta - non ce ne sono molti di configurazione che può essere eseguita, poiché sono pre-progettati con configurazioni che non intendono mai cambiare. Le uniche modifiche apportate sono prima della scrittura del chip nella maggior parte dei casi. Tutto ciò che deve essere salvato (come il pagamento al negozio di alimentari) viene effettuato tramite la rete ai database del negozio su un server.