16Aug
L'utilisation de la mémoire flash pour exécuter un système de bureau, comme Windows, a été déconseillée pendant un certain temps. Mais qu'est-ce qui en fait une option souhaitable et viable pour les appareils mobiles? Le SuperUser Q & A d'aujourd'hui a la réponse à la question d'un lecteur curieux.
Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.
La question
SuperUser lecteur RockPaperLizard veut savoir ce qui rend la mémoire flash eMMC viable dans les appareils mobiles, mais pas les PC:
Depuis que les lecteurs flash USB ont été inventés, les gens se sont demandés s'ils pouvaient exécuter leurs systèmes d'exploitation sur eux. La réponse était toujours "non" car le nombre d'écritures requis par un système d'exploitation les épuiserait rapidement.
Comme les disques SSD sont devenus plus populaires, la technologie de nivellement de l'usure s'est améliorée afin de permettre aux systèmes d'exploitation de les utiliser. Divers tablettes, netbooks et autres ordinateurs minces utilisent la mémoire flash au lieu d'un disque dur ou SSD, et le système d'exploitation est stocké sur elle.
Comment cela est-il devenu soudainement pratique? Est-ce qu'ils mettent généralement en œuvre des technologies de nivellement de l'usure, par exemple?
Qu'est-ce qui rend la mémoire flash eMMC viable sur les appareils mobiles, mais pas sur les PC?
La réponse
SuperUser contributeurs Speeddymon et Journeyman Geek ont la réponse pour nous. Tout d'abord, Speeddymon:
Tous les dispositifs de mémoire flash, des tablettes aux téléphones mobiles, montres intelligentes, SSD, cartes SD dans les appareils photo, et les clés USB utilisent la technologie NVRAM.La différence réside dans l'architecture NVRAM et la manière dont le système d'exploitation monte le système de fichiers sur le support de stockage sur lequel il est installé.
Pour les tablettes Android et les téléphones mobiles, la technologie NVRAM est basée sur eMMC.Les données que je peux trouver sur cette technologie suggèrent entre 3k à 10k cycles d'écriture. Malheureusement, rien de ce que j'ai trouvé jusqu'ici n'est définitif, car Wikipedia est vide sur les cycles d'écriture de cette technologie. Tous les autres endroits que j'ai regardés se sont trouvés être des forums différents, donc ce que j'appellerais une source fiable.
A titre de comparaison, les cycles d'écriture sur d'autres technologies NVRAM telles que les SSD, qui utilisent la technologie NAND ou NOR, sont compris entre 10k et 30k.
Maintenant, en ce qui concerne le choix du système d'exploitation de la façon 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 serait. Vous disposez d'une partition de système d'exploitation, d'une partition de données et de plusieurs autres partitions propriétaires en fonction du fabricant du périphérique.
La partition racine réelle vit à l'intérieur du bootloader, qui est fourni en tant que 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é,Les amorces du noyau et la partition racine sont montées simultanément en tant que disque RAM.
Lorsque le système d'exploitation démarre, il monte le système de fichiers de la partition principale( / system, qui est jffs2 sur les périphériques avant Android 4.0, ext2 /3/ 4 sur les périphériques depuis Android 4.0 et xfs sur les derniers périphériques) en lecture seule. Aucune donnée ne peut être écrite. 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 super utilisateur et vous permet de remonter la partition en lecture / écriture. Vos données "utilisateur" sont écrites sur une partition différente de 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 portables amerrissant les emplacements de carte SD, vous pourriez penser que vous atteindrez le cap du cycle d'écriture plus tôt parce que toutes vos données sont maintenant enregistrées sur le stockage eMMC au lieu d'une carte SD.Heureusement, la plupart des systèmes de fichiers détectent un échec d'écriture 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 incorrecte( appelée bloc défectueux) est bouclée par le pilote du système de fichiers, de sorte que les données ne sont plus écrites dans le futur. Si une lecture échoue, les données sont marquées comme corrompues et l'utilisateur reçoit une demande de vérification du système de fichiers( ou de vérification du disque), ou le périphérique vérifie automatiquement le système de fichiers lors du prochain démarrage.
En fait, Google a un brevet pour la détection automatique et la gestion des blocs défectueux: Gestion des blocs défectueux dans la mémoire flash pour carte mémoire de données électroniques
Pour en savoir plus, votre question sur comment tout cela est devenu soudainement pratique n'est pas la bonne question à poser. Ce n'était jamais impraticable en premier lieu. Il est fortement déconseillé d'installer un système d'exploitation( Windows) sur un disque SSD( vraisemblablement) en raison du nombre d'écritures qu'il effectue sur un 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.
Installation de Windows a été déconseillée sur les SSD de première génération, car avec le manque de mise à niveau, les données écrites dans le registre chaque seconde( probablement) rattrapaient les adopteurs précoces et entraînaient des systèmes non amorçables en raison de la corruption du registre.
Avec les tablettes, les téléphones mobiles et presque tous les autres périphériques embarqués, il n'y a pas de registre( les périphériques Windows Embedded étant des exceptions, bien sûr) et donc, il n'y a pas de souci d'écriture constante sur les mêmes parties du flash.
Pour les périphériques Windows Embedded, comme la plupart des kiosques trouvés dans des lieux publics( comme Walmart, Kroger, etc.) où vous pouvez voir un BSOD aléatoire de temps en temps, il n'y a pas beaucoup de configuration qui peut être faite depuisils sont pré-conçus avec des configurations qui sont destinées à ne jamais changer. Les seuls changements de temps ont lieu avant que la puce ne soit écrite dans la plupart des cas. Tout ce qui doit être sauvegardé, comme votre paiement à l'épicerie, est fait sur le réseau aux bases de données du magasin sur un serveur.
Suivi de la réponse de Journeyman Geek:
La réponse était toujours "non" car le nombre d'écritures requis par un système d'exploitation les épuiserait rapidement.
Ils sont finalement devenus rentables pour un usage courant. Cette «usure» est la seule préoccupation est un peu d'une hypothèse. Il y a eu des systèmes fonctionnant dans la mémoire à semi-conducteurs pendant une période de temps considérable. Beaucoup de gens qui construisaient des voitures démarraient à partir de cartes CF( qui étaient électriquement compatibles avec PATA et trivial à installer par rapport aux disques durs PATA), et les ordinateurs industriels ont eu un petit stockage robuste basé sur le flash.
Cela dit, il n'y avait pas beaucoup d'options pour la personne moyenne. Vous pouvez acheter une carte CF précieuse et un adaptateur pour un ordinateur portable, ou trouver un petit disque industriel très coûteux sur une unité de module pour un ordinateur de bureau. Ils n'étaient pas très grands par rapport aux disques durs contemporains( les IDE DOM modernes dépassent 8 Go ou 16 Go je crois).Je suis à peu près sûr que vous auriez pu avoir des disques durs à l'état solide mis en place avant que les SSD standard ne deviennent communs.
Il n'y a pas vraiment eu d'améliorations universelles / magiques dans la mise à niveau de l'usure autant que je sache. Il y a eu des améliorations progressives pendant que nous passions de SLC coûteux à MLC, TLC, et même QLC avec de plus petites tailles de processus( le tout à moindre coût avec un risque plus élevé d'usure).Flash a beaucoup moins cher.
Il y avait aussi quelques alternatives qui n'avaient pas de problèmes d'usure. Par exemple, exécuter l'ensemble du système à partir d'une ROM( qui est sans doute le stockage à l'état solide) et de la RAM sauvegardée par batterie, dont de nombreux SSD précoces et des dispositifs portables comme le Palm Pilot utilisé.Aucun d'entre eux sont communs aujourd'hui. Les disques durs ont basculé par rapport à dire, batterie RAM( trop cher), les dispositifs à l'état solide tôt( un peu cher), ou les paysans avec des drapeaux( jamais pris en raison de la densité des données terrible).Même la mémoire flash moderne est un descendant des eeproms à effacement rapide et les eeproms ont été utilisés dans les appareils électroniques pour le stockage de choses comme les microprogrammes depuis des lustres.
Les disques durs étaient simplement à une bonne intersection de volume élevé( ce qui est important), de faible coût et de stockage relativement suffisant.
La raison pour laquelle vous trouvez des eMMC dans les ordinateurs bas de gamme est que les composants sont relativement bon marché, assez grands( pour les systèmes d'exploitation de bureau) et partagent des caractéristiques communes avec les composants des téléphones portables. Ils donnent également une grande densité de stockage pour leur volume. Considérant que beaucoup de ces machines ont un dérisoire 32 Go ou 64 Go de disque, à égalité avec les disques durs de la meilleure partie d'il y a une décennie, ils sont une option judicieuse dans ce rôle.
Nous arrivons enfin au point où vous pouvez stocker une quantité raisonnable de mémoire abordable et avec des vitesses raisonnables sur eMMC et flash, c'est pourquoi les gens vont pour eux.
Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.
Crédit d'image: Martin Voltri( Flickr)