Tous les dispositifs de mémoire flash, des tablettes aux téléphones, aux montres intelligentes, aux SSD et même aux cartes SD des appareils photo et des clés USB utilisent la technologie NVRAM. La différence réside dans l'architecture de la NVRAM et dans la façon dont le système d'exploitation monte le système de fichiers sur n'importe quel support de stockage.
Pour les tablettes et téléphones Android, la technologie NVRAM est basée sur eMMC. Les données que je peux trouver sur cette technologie suggèrent entre 3k et 10k cycles d'écriture. Malheureusement, rien de ce que j'ai trouvé jusqu'à présent n'est définitif, car Wikipedia est vierge sur les cycles d'écriture de cette technologie. Tous les autres endroits que j'ai consultés se sont avérés être des forums variés, donc ce que j'appellerais à peine une source fiable.
À titre de comparaison, pour d'autres technologies NVRAM telles que les SSD qui utilisent la technologie NAND ou NOR, les cycles d'écriture sont compris entre 10k et 30k.
Maintenant, concernant le choix du système d'exploitation de monter le système de fichiers ... Je ne peux pas parler de la façon dont Apple le fait, mais pour Android, la puce est partitionnée comme un disque dur. Vous disposez d'une partition de système d'exploitation et d'une partition de données, ainsi que de plusieurs autres partitions propriétaires selon le fabricant de l'appareil. La véritable partition racine se trouve à l'intérieur du chargeur de démarrage, qui est regroupé sous forme de fichier compressé (jffs2, cramfs, etc.) avec le noyau, de sorte que lorsque le démarrage de l'étape 1 du périphérique est terminé (l'écran du logo du fabricant généralement), le noyau démarre et la partition racine est montée simultanément en tant que disque RAM.
Au démarrage, le système d'exploitation monte le système de fichiers de la partition principale (/ system, qui est jffs2 sur les appareils avant Android 4.0 et ext2 / 3/4 sur les appareils depuis Android 4.0, et xfs sur les derniers appareils) en lecture seule afin qu'aucune des données peuvent y être écrites. Cela peut, bien sûr, être contourné par ce que l'on appelle le "rooting" de votre appareil, qui vous donne accès en tant que superutilisateur et vous permet de remonter la partition en lecture / écriture. Vos données "utilisateur" sont écrites sur une partition différente sur la puce (/ data, qui suit la même convention que ci-dessus basée sur la version Android).
Avec de plus en plus de téléphones abandonnant l'emplacement pour carte SD, vous pourriez penser que vous atteindrez le plafond d'écriture plus tôt, car toutes vos données sont désormais enregistrées dans le stockage eMMC au lieu de la carte SD. Heureusement, la plupart des systèmes de fichiers détectent une écriture ayant échoué dans une zone de stockage donnée. Si une écriture échoue, les données sont enregistrées en mode silencieux dans une nouvelle zone de stockage et la zone défectueuse (connue sous le nom de bloc défectueux) est bouclée par le pilote du système de fichiers afin que les données n'y soient plus écrites à l'avenir. Si une lecture échoue, les données sont marquées comme corrompues et soit l'utilisateur est invité à exécuter une vérification du système de fichiers ou une vérification du disque, soit l'appareil vérifie automatiquement le système de fichiers lors du prochain démarrage.
En fait, Google a un brevet pour détecter et gérer automatiquement les mauvais blocs.
https://www.google.com/patents/US7690031
Pour aller plus loin, votre question "comment cela est-il devenu soudainement pratique?" n'est pas la bonne question à poser. Au contraire, cela n'a jamais été impossible, en premier lieu. Il était fortement déconseillé d'installer le système d'exploitation (Windows) sur un SSD (probablement) en raison du nombre d'écritures que le système d'exploitation effectue sur le disque.
Par exemple, le registre reçoit littéralement des centaines de lectures et d'écritures par seconde, ce qui peut être vu avec l'outil Regmon de Microsoft / SysInternals ( https://technet.microsoft.com/en-us/sysinternals/regmon.aspx )
L'installation du système d'exploitation (Windows) a été déconseillée sur les disques SSD de première génération car, avec le manque de niveau d'usure, les données écrites dans le registre à chaque seconde ont probablement rattrapé les premiers utilisateurs et ont entraîné des systèmes non amorçables en raison d'une corruption du registre.
Avec les tablettes et les téléphones, et à peu près n'importe quel autre appareil intégré, il n'y a pas de registre (les appareils Windows Embedded étant des exceptions bien sûr) et donc, il n'y a pas de souci d'écrire constamment des données dans les mêmes parties du support flash.
Pour les appareils Windows Embedded, tels que la plupart des kiosques (y compris les kiosques de vérification automatique Walmart et Kroger) disponibles dans le public - vous savez, ceux où vous pouvez voir un BSOD aléatoire de temps en temps - il n'y en a pas beaucoup de configuration qui peut être fait, car ils sont préconçus avec des configurations qui sont destinées à ne jamais changer. Les seuls changements de temps ont lieu avant l'écriture de la puce dans la plupart des cas. Tout ce qui doit être enregistré (comme votre paiement à l'épicerie) est effectué sur le réseau vers les bases de données du magasin sur un serveur.