Qu'est-ce qui permet d'utiliser la mémoire flash pour le système d'exploitation sur des ordinateurs tels que les tablettes?

7

Depuis que les lecteurs flash (clés USB) ont été inventés, les gens se sont demandé s'ils pouvaient exécuter leur système d'exploitation sur eux. La réponse a été "non" car le nombre d'écritures requises par un système d'exploitation épuiserait rapidement le lecteur flash.

Comme les SSD sont devenus populaires, les technologies de nivellement de l'usure ont été améliorées afin de permettre aux systèmes d'exploitation de fonctionner sur eux.

Divers tablettes, netbooks et autres ordinateurs minces utilisent une mémoire flash au lieu d'un disque dur ou d'un SSD, et le système d'exploitation y est stocké. Comment cela est-il devenu soudainement pratique? Par exemple, mettent-ils généralement en œuvre des technologies de nivellement de l'usure?

RockPaperLizard
la source
"Au fur et à mesure que les SSD sont devenus populaires, des technologies de nivellement de l'usure ont été inventées" - Vous l'avez à l'envers.
sciure
@sawdust Merci. J'ai fait un montage pour dire "amélioré". Bien que, IIRC, les premiers SSD n'avaient pas de niveau d'usure.
RockPaperLizard
2
Le point central de la question est le support de stockage et le conflit apparent avec la "connaissance commune". Les tablettes sont sans doute sur le sujet, et les netbooks / Chromebooks, qui sont sur le sujet, sont également des plates-formes pour lesquelles la question s'applique. Les smartphones ne sont qu'un exemple d'une utilisation similaire des supports de stockage, ils ne sont pas vraiment au centre de la question. La question porte sur la compréhension de la mémoire flash et s'applique aux appareils sur le sujet.
fixer1234
Question décente, mais vote pour clore. FWIW, bien que cette question soit décente, mais les réponses de tout le monde semblent assez focalisées sur l'opinion et font des déclarations générales sans vraiment étayer les faits ou les détails.
JakeGould
@JakeGould, bonne observation; m'a fait revoir ma réponse. L'essentiel est qu'un type de mémoire flash peut répondre à un besoin spécifique à un prix attractif, il est donc utilisé. Dans ce cas, la réponse se concentre vraiment sur les hypothèses de la question (la raison de ne pas l'utiliser est les limites d'écriture, qui s'appliquent à toute conception et à tout objectif). Une suggestion de faits et de détails qui ferait une meilleure réponse?
fixer1234

Réponses:

4

"La réponse était" non "car le nombre d'écritures requises par un système d'exploitation épuiserait rapidement le lecteur flash."

TLDR: Ils sont finalement devenus rentables pour une utilisation grand public.

Cette usure est la seule préoccupation est un peu une hypothèse. Il y a eu des systèmes fonctionnant avec de la mémoire à semi-conducteurs pendant une période de temps considérable - beaucoup de gens qui ont construit des car-puters ont démarré des cartes CF (qui étaient électriquement compatibles avec PATA - et faciles à installer au lieu d'un disque dur PATA), et des PC industriels ont un petit stockage flash robuste. Cela dit, il n'y avait pas beaucoup d'options pour la personne moyenne . Vous pouvez acheter une carte CF coûteuse et un adaptateur pour un ordinateur portable, ou trouver un petit disque industriel très cher sur l'unité de module pour un ordinateur de bureau. Ils n'étaient pas très grands par rapport aux disques durs contemporains (les DOM IDE modernes atteignent 8 Go ou 16 Go, je pense). Je suis presque sûr que vous auriez pu configurer des disques système SSD bien avant que les SSD «standard» ne deviennent courants

Pour autant que je sache, il n'y a pas vraiment eu d'amélioration universelle / magique du niveau d'usure. Il y a eu des améliorations incrémentielles (alors que nous nous éloignions du SLC cher pour le MLC, le TLC et même le QLC, et des tailles de processus plus petites, toutes à moindre coût, avec un risque plus élevé d'usure). Le flash est devenu beaucoup moins cher.

Il y avait aussi quelques alternatives qui n'avaient pas de problèmes d'usure - par exemple en exécutant tout le système à partir d'une ROM (qui est sans doute un stockage à semi-conducteurs), d'un ram à batterie, que de nombreux premiers SSD et appareils portables comme le Palm Pilot utilisaient. Rien de tout cela n'est courant aujourd'hui. Les disques durs ont basculé par rapport à, par exemple, un RAM à batterie (trop cher), des premiers appareils à semi-conducteurs (un peu chers) ou des paysans avec des drapeaux (jamais pris, une densité de données terrible ). Même la mémoire flash moderne est un descendant des eeproms à effacement rapide ), et les eeproms ont été utilisées dans les appareils électroniques pour le stockage de choses comme le firmware depuis des lustres.

Les disques durs étaient simplement à une intersection agréable de volume élevé (ce qui est important!), De faible coût (ish) et de stockage relativement suffisant .

La raison pour laquelle vous trouvez des emmcs dans les PC modernes et bas de gamme est que les composants sont relativement bon marché, assez grands (pour les systèmes d'exploitation de bureau) à ce prix et partagent des points communs avec les composants des téléphones portables, ils sont donc produits en vrac avec une interface standard. Ils offrent également une grande densité de stockage pour leur volume. Étant donné que beaucoup de ces machines ont un lecteur dérisoire de 32 ou 64 Go, à égalité avec les disques durs d'il y a une dizaine d'années, elles sont une option raisonnable dans ce rôle.

Nous arrivons enfin au point où vous pouvez stocker une quantité raisonnable de mémoire à un prix abordable et à des vitesses raisonnables sur emmcs et flash, c'est pourquoi les gens y vont.

Compagnon Geek
la source
3

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.

Speeddymon
la source
2

Votre question repose sur l'hypothèse que les limites d'écriture de la mémoire flash, sans nivellement d'usure étendu, la rendent inadaptée au stockage principal de tout appareil informatique. Il existe une gamme de dispositifs informatiques, notamment des tablettes, des netbooks, des téléphones intelligents, etc., qui utilisent la mémoire flash à cet effet, sans le niveau d'usure constaté dans les SSD.

La vie de la mémoire

Je n'ai pas pu trouver la preuve qu'en général, la mémoire utilisée dans ces appareils a une durée de vie plus longue que les lecteurs flash ou les cartes SD.

Bien que la mémoire flash soit utilisée, il existe certaines différences par rapport à ce qui se trouve dans une clé USB ou une carte SD. Ces ordinateurs utilisent généralement eMMC, qui contient le contrôleur et la mémoire flash sur une seule puce, avec une architecture différente de celle d'une carte SD ou d'un lecteur flash. Une différence pour le contrôleur eMMC est qu'il émule un disque dur, donc l'ordinateur le voit comme un périphérique amorçable. C'est une commodité de conception.

Certains fabricants affirment que leur contrôleur eMMC améliore le nivellement de l'usure et a une correction d'erreurs plus robuste que ce que vous trouvez dans une carte SD ou un lecteur flash typique. L'implication de l'ECC amélioré est qu'il peut tolérer plus de dégradation et encore fonctionner, de sorte qu'il a une durée de vie effective plus longue.

Étant donné que tout cela est propriétaire, il est difficile de trouver des données fiables pour le prendre en charge. Même s'il existe des eMMC haut de gamme qui durent plus longtemps, ce n'est pas nécessairement ce qui est utilisé dans la majorité de ces appareils. Les informations diverses que j'ai pu trouver sur les limites d'écriture eMMC semblent le placer dans le même stade général que les cartes SD et les clés USB.

Il semblerait que, en général, la mémoire à durée de vie plus longue ne soit pas la base de l'utilisation de la mémoire flash comme stockage principal dans ces appareils. Tout le monde n'avait pas tort sur les limites d'écriture; l'utilisation peut s'expliquer par le fait que les exigences sont différentes.

Différences de plate-forme

Les PC et les ordinateurs portables sont des ordinateurs à usage général que les gens s'attendent à utiliser pendant longtemps. Les lecteurs flash et les cartes mémoire ne conviennent pas très bien en tant que périphérique de stockage principal, compte tenu de la quantité typique d'écriture qu'ils sont conçus pour gérer et de leur durée de vie prévue. Cela se reflète dans les conseils que vous avez décrits dans la question, et cela n'a pas changé (au moins pour la génération actuelle de mémoire flash).

Les tablettes, les netbooks, les téléphones intelligents et similaires sont une situation différente. Ceux qui utilisent la mémoire flash comme stockage principal sont des appareils à usage limité. Les tâches qu'ils sont conçus pour gérer, leurs ressources matérielles minimales disponibles pour prendre en charge d'autres utilisations, leur conception de base, leur système d'exploitation et leurs logiciels, entraînent moins d'écriture par rapport à un PC. Étant donné que ces périphériques s'appuient sur la mémoire flash (dans un format qui n'est pas remplaçable), les limites d'écriture sont une considération dans ce qui les exécute.

Ils ont également une espérance de vie plus courte. Les appareils utilisant la mémoire flash comme stockage principal sont peu coûteux, conçus pour un marché où les gens se mettent souvent à niveau. Les appareils offrent certaines fonctionnalités et capacités dans un facteur de forme minuscule, et ils durent aussi longtemps qu'ils durent en fonction des composants à partir desquels ils sont construits. La batterie est susceptible de tomber en panne avant la mémoire flash, ou des pièces peuvent se casser. Et il y a un marketing constant pour vous convaincre que votre appareil est obsolète et doit être remplacé par le dernier modèle.

Il y a une histoire selon laquelle Henry Ford envoyait ses ingénieurs dans des parcs à ferraille à la recherche de composants de voitures mortes qui étaient toujours bons. L'idée était que ces pièces pouvaient être fabriquées à moindre coût car elles n'avaient pas besoin de durer aussi longtemps qu'elles le faisaient. Cette logique s'applique à la mémoire flash de ces appareils. Il a juste besoin de durer assez longtemps, il n'a pas besoin de survivre longtemps à l'appareil.

Bottom Line

Il existe des créneaux de marché pour les petits appareils informatiques bon marché qui n'écrivent pas autant sur le stockage principal qu'un PC est conçu pour les gérer et qui n'ont pas les mêmes attentes en termes de durée de vie. La mémoire sous forme d'eMMC est bon marché, minuscule, amorçable et suffisamment bonne pour cette application.

fixateur1234
la source