Question Pourquoi la RAM doit-elle être volatile?


Si la RAM de l'ordinateur devait être non volatile, comme d'autres stockages persistants, le temps de démarrage n'existerait pas. Alors pourquoi est-il impossible d’avoir un module RAM non volatile? Je vous remercie.


88
2017-08-30 10:03


origine


Cette question mérite une réponse complète, mais je pense que la mémoire non volatile est beaucoup plus lente. - mveroone
Qu'est-ce qui vous a fait penser Est-ce que doit être volatile ?? Ce n'était pas il y a 40 ans. - Daniel R Hicks
La RAM est volatile ne pas parce qu'il doit êtrevolatile, c'est parce que la technologie utilisée est volatil. - Alvin Wong
@jhocking car aucune technologie non volatile de performances comparables n'est disponible. - Dan Neely
Supposons que je demande ceci dans 2 ans: pourquoi ne peux-tu pas te souvenir de la dernière saveur de soda que tu as bu avant de poser cette question? - Erik Reppen


Réponses:


Quand la plupart des gens lisent ou entendent "RAM", ils pensent à ces choses:

Two SDRAM sticks, courtesy of Wikipedia

En fait, ceux-ci sont constitués de puces DRAM, et il est controversé si la DRAM est une sorte de RAM. (C'était de la "vraie" RAM, mais la technologie avait changé et c'est plus une croyance religieuse si c'est de la RAM ou non, voir la discussion dans les commentaires.)

La RAM est un terme large. Il signifie "mémoire vive", c'est-à-dire tout type de mémoire accessible dans n'importe quel ordre (où "accessible" signifie lecture ou écriture, mais certains types de RAM peuvent être en lecture seule).

Par exemple, le disque dur n'est pas une mémoire vive, car lorsque vous essayez de lire deux bits qui ne sont pas adjacents (ou que vous les lisez dans l'ordre inverse pour une raison quelconque), vous devez attendre que les plateaux tournent et l'en-tête bouger. Seuls les bits séquentiels peuvent être lus sans opérations supplémentaires entre les deux. C'est aussi la raison pour laquelle DRAM peut être considéré comme non-RAM - il est lu dans des blocs.

Il existe de nombreux types de mémoire vive. Certains d'entre eux ne sont pas volatiles et il y en a même des en lecture seule, par exemple la ROM. Donc, la RAM non volatile existe.

Pourquoi ne l'utilisons-nous pas? La vitesse n’est pas le plus gros problème, par exemple la mémoire flash NOR peut être lue aussi rapidement que la mémoire DRAM (du moins Wikipédia dit, mais sans citation). Les vitesses d'écriture sont pires, mais le problème le plus important est le suivant:

En raison de l'architecture interne de la mémoire non volatile, ils doivent s'user. Le nombre de cycles d'écriture et d'effacement est limité à 100 000-1 000 000. Cela ressemble à un grand nombre et il est généralement suffisant pour un stockage non volatile (les clés USB ne cassent pas souvent, n'est-ce pas?), Mais c'est un problème qui devait déjà être résolu dans les disques SSD. La mémoire vive est écrite beaucoup plus souvent que les disques SSD, ce qui la rendrait plus susceptible de s'user.

La DRAM ne s'use pas, elle est rapide et relativement bon marché. La SRAM est encore plus rapide, mais elle est également plus chère. Actuellement, il est utilisé dans les processeurs pour la mise en cache. (et c'est vraiment de la RAM sans aucun doute;))


113
2017-08-30 10:58



+1 pour être avec le 0,1% des personnes déclarant à juste titre que la ROM est aussi de la RAM! (dire que D-RAM n'est pas de la RAM, c'est un peu extrême cependant ...) - jlliagre
Mais les lecteurs de disque d'origine étaient appelés "RAM" (puisque l'autre solution était la bande). Si l'historique détermine la préséance, le DASD (ce que vous appelez le disque dur) est définitivement RAM. - Daniel R Hicks
@DanielRHicks C'est intéressant. Peut-être que "RAMiness" n'est pas binaire: DRAM est moins aléatoire que les SRAM, les disques durs sont moins aléatoires que les mémoires DRAM, etc. - gronostaj
si vous appelez un accès aléatoire toute mémoire où l'accès à un point aléatoire prend seulement O(1) temps en termes de taille indépendamment de l'état actuel alors DRAM est un accès aléatoire, un disque dur a accès à O(#tracks+rotation_time) qui varie selon la taille - ratchet freak
"RAM" était je crois (je ne peux pas trouver une bonne référence) dérivé en opposition à séquentiel mémoire (bande magnétique ou papier; lignes à retard de mercure) qui pourraient seulement être accessible dans l'ordre. Pendant ce temps, j'ai trouvé une digression sur les termes pour "RAM" dans d'autres langues: smo.uhi.ac.uk/~oduibhin/tearmai/etymology.htm qui mettent l'accent sur différents aspects de la différence RAM / ROM. - pjc50


Au fond, c'est dû à la physique.

Toute mémoire non volatile doit stocker ses bits dans deux états qui ont une grande barrière d'énergie entre eux, sinon la plus petite influence changerait le bit. Mais en écrivant à cette mémoire, nous devons activement surmonter cette barrière énergétique.

Les concepteurs disposent d'une certaine liberté pour définir ces barrières énergétiques. Réglez le bas 0 . 1, et vous obtenez de la mémoire qui peut être réécrite beaucoup sans générer beaucoup de chaleur: rapide et volatile. Définissez la barrière énergétique élevée 0 | 1 et les bits resteront en place presque pour toujours, ou jusqu'à ce que vous dépensiez une énergie sérieuse.

DRAM utilise de petits condensateurs qui fuient. Des condensateurs plus gros fuiraient moins, seraient moins volatiles, mais prendraient plus de temps à se charger.

Flash utilise des électrons qui sont injectés à haute tension dans un isolateur. La barrière énergétique est tellement élevée que vous ne pouvez pas les éliminer de manière contrôlée. le seul moyen est de nettoyer un bloc entier de bits.


136
2017-08-30 15:23



Très bonne réponse! Vous avez effectivement répondu à la Pourquoi de celui-ci et d'une manière facile à comprendre pas moins. - Synetech
La réponse acceptée ne répond pas réellement à la question, alors que celle-ci le fait. - Mark Adler
Vous évitez probablement de mentionner cela parce que c'est aussi "profondément dans la physique", mais je voudrais dire que la barrière est moins de l'énergie que entropie. SRAM a des condensateurs encore plus petits que la DRAM et pourtant ne fuit pas, car il utilise des transistors à effet de champ au lieu de résistances - qui, vaguement parlant, contournent les interférences du bruit thermique via un seuil de tension externe. Seules quelques filières se rétrécissent dans le futur. Si nous arrivons à un autre type d’interférence - le tunnel quantique - où une barrière énergétique réelle sera le seul moyen de préserver les informations classiques. - leftaroundabout
@leftaroundabout: SRAM ne possède aucun condensateur, à l'exception des parasites et peut-être de la recherche. - MSalters
@Malters parasite ou non, tout FET a une capacité. Ce que je veux dire, c’est qu’il n’est pas vraiment nécessaire de stocker beaucoup d’énergie dans un condensateur, ou dans une inductance ou quoi que ce soit, pour conserver les informations sur une longue période. - leftaroundabout


Il convient de noter que le premier "magasin principal" couramment utilisé dans les ordinateurs était "core" - de minuscules tores de ferrite disposés en réseau, avec du fil qui les traverse dans 3 directions.

Pour écrire un 1, vous devez envoyer des impulsions de force égale à travers les fils X et Y correspondants, pour "retourner" le noyau. (Pour écrire un zéro, vous ne le feriez pas.) Vous devez effacer l'emplacement avant d'écrire.

Pour vous lire, essayez d’écrire un 1 et voyez si une impulsion correspondante a été générée sur le fil "sense" - si tel est le cas l'habitude d'être un zéro. Ensuite, vous devrez bien sûr écrire les données, puisque vous venez de les effacer.

(C'est un légèrement description simplifiée, bien sûr.)

Mais les choses étaient non volatiles.  Vous pourriez éteindre l'ordinateur, le démarrer une semaine plus tard et les données seraient toujours là. Et c'était très certainement "RAM".

(Avant "core", la plupart des ordinateurs fonctionnaient directement à partir d'un "tambour" magnétique, avec seulement quelques registres de la mémoire du processeur, et quelques éléments utilisés, tels que les CRT de stockage.)

Donc, la réponse quant à la volatilité de la RAM (dans sa forme la plus courante) est simplement que cette forme est rapide et bon marché. (Intel, assez intéressant, était la chef de file dans le développement de semi-conducteurs en mémoire vive, et n’a fait que pénétrer le marché des processeurs pour générer un marché pour ses RAM.)


23
2017-08-30 11:45



Les ordinateurs basés sur le cœur étaient-ils généralement conçus de telle sorte qu'après une coupure de courant inattendue, ils pouvaient (lors de la remise sous tension) reprendre leurs activités là où ils s'étaient arrêtés? Ma conjecture serait que si l'on effectuait une procédure de «mise à l'arrêt», on pourrait faire en sorte que le système enregistre tout ce qui l'intéresse dans le noyau, puis commencer à exécuter les NOP jusqu'à ce que l'alimentation soit supprimée; Si l'on utilisait la procédure appropriée lors du redémarrage, on pouvait alors restaurer l'état du système. Savez-vous si les systèmes ont généralement un moyen de déclencher de manière autonome une procédure d'arrêt en cas de coupure de courant externe? Si un système basé sur le noyau était ... - supercat
... pour cesser de fonctionner en raison d'une panne de courant et que je n'ai pas eu la possibilité de terminer une opération en cours avant que le courant ne soit complètement perdu, je m'attendrais à ce que l'unité de mémoire utilisée soit perdue; de plus, comme je m'attendrais à ce que les compteurs de programmes, les séquenceurs, etc. ne soient pas conservés dans la mémoire centrale, leur contenu serait également perdu. - supercat
@supercat - Il y avait une grande variété de designs. L'effort était principalement axé sur le maintien de l'intégrité du système de fichiers, de sorte que la récupération après incident était plus susceptible d'essayer de trouver des opérations de fichiers en cours et de les terminer. Mais je me souviens qu'il était assez courant de détecter une panne de courant et de cacher les registres du processeur. - Daniel R Hicks
Si la mémoire est utilisée en tant que système de fichiers, je m'attendrais à ce que ce code garantisse qu'il soit toujours dans un état valide, de sorte que toute opération interrompue puisse être annulée ou exécutée. Par contre, à mon avis, la mémoire principale était souvent utilisée car c'était non volatil, mais plutôt parce que c'était moins cher que n'importe quelle alternative, alors je suis curieux de savoir dans quelle mesure les concepteurs ont profité de la non-volatilité ou l'ont tout simplement ignorée. - supercat
@supercat - Ils en ont profité assez souvent (et donc, par exemple, les systèmes de fichiers étaient moins robustes que ce que l'on aurait pu souhaiter pour une mémoire vive volatile). Non pas que c'était un gros "argument de vente", mais c'était là, alors pourquoi pas? - Daniel R Hicks


DRACHME est rapide, peut être construit à moindre coût à des densités extrêmement élevées (bas $ / MB et cm2/ MB), mais perd son état à moins d'être actualisé très fréquemment. Sa très petite taille fait partie du problème; les électrons fuient à travers de fines parois.

SRAM est très rapide, moins cher ($ / MB élevé) et moins dense, et ne nécessite pas de rafraîchissement, mais perd son état une fois le courant coupé. La construction SRAM est utilisée pour "NVRAM", qui est la RAM attachée à une petite batterie. J'ai des cartouches Sega et Nintendo qui ont des états de sauvegarde vieux de plusieurs décennies stockés dans la NVRAM.

EEPROM (généralement sous la forme de "Flash") est non volatile, lente à écrire, mais bon marché et dense.

FRAM (RAM ferroélectrique) est l'une des technologies de stockage de nouvelle génération qui devient disponible et qui fait ce que vous voulez: rapide, bon marché, non volatile ... mais pas encore dense. Vous pouvez obtenir un Microcontrôleur TI qui l'utilise et délivre le comportement que vous souhaitez. La puissance de coupe et la restauration vous permettent de reprendre où vous en étiez. Mais il ne contient que 64 Ko de choses. Ou vous pourriez obtenir 2Mbit série FRAM.

La technologie "Memristor" est à l'étude pour fournir des propriétés similaires à FRAM, mais n'est pas encore un produit commercial.


modifier: notez que si vous avez un système à mémoire vive persistante, vous devez soit déterminer comment lui appliquer les mises à jour en cours d'exécution, soit accepter le redémarrage occasionnel. sans pour autant perdre tout votre travail. Il y avait un certain nombre de PDA pré-smartphone qui stockaient toutes leurs données dans la NVRAM, vous offrant ainsi une perte instantanée et potentielle de toutes vos données si la batterie était à plat.


18
2017-08-30 12:55



Même si la technologie memristor, il faudra au moins 10 ans avant de voir des produits cool basés sur ces "nouveaux" appareils. Mais ils devraient tenir une tonne de promesses pour les implémentations de mémoire. - Chris O
DRUM est rapide, mais pas très dense, et le coût par caractère est élevé. (Quoi ?? DRAM ??? Peu importe.) - Daniel R Hicks
La NVRAM est différente de la SRAM sauvegardée par batterie. La NVRAM a un condensateur par bit qui peut être suffisamment isolé pour que toute charge ne fuie pas, mais peut également être détectée et programmée. La structure des cellules binaires est assez grande et, dans certaines technologies, elle impliquait des étapes de fabrication plus exotiques. La NVRAM est donc une technologie à faible coût et à faible densité. Mais sa durée de vie est également très longue. Le CMOS SRAM consomme très peu d'énergie lorsqu'il est inactif, ce qui le rend économique. Le "PC-CM", autrefois commun, est un exemple. - RBerteig
L'assemblage de la batterie SRAM + n'est pas une véritable NVRAM. Véritable NVRAM construite sur EEPROM. - user539484
@RBerteig: D'après ce que je comprends, une NVRAM est un mariage entre une SRAM avec un stockage non volatile et un support de stockage d'énergie suffisamment important pour permettre la copie de la SRAM dans le stockage non volatile sans alimentation externe. Si la mémoire SRAM et la mémoire non volatile étaient dans des puces séparées, leur transfert prendrait un certain temps (et consomment beaucoup d'énergie). Les combiner ensemble permet au transfert de se produire beaucoup plus rapidement. - supercat


IMO le problème principal est en effet la volatilité. Pour écrire rapidement, l'écriture doit être facile (c'est-à-dire ne pas nécessiter de longues périodes de temps). Cela contredit ce que vous aimeriez voir lors de la sélection de RAM: il doit être rapide.

Analogie quotidienne: - Ecrire quelque chose sur un tableau blanc est très facile et ne demande que peu d'effort. Par conséquent, il est rapide et vous pouvez dessiner tout le tableau en quelques secondes. - Cependant, vos esquisses sur le tableau blanc sont très volatiles. Un mauvais mouvement et tout est parti. - Prenez une plaque de pierre et gravez-y votre esquisse - comme Les Flintstone style - et votre croquis restera là pendant des années, des décennies ou peut-être des siècles à venir. Écrire cela prend cependant beaucoup plus de temps.

Retour aux ordinateurs: La technologie permettant d'utiliser des puces rapides pour stocker des données persistantes existe déjà (comme les lecteurs flash), mais les vitesses restent nettement inférieures à celles de la mémoire vive volatile. Jetez un coup d'œil à certains lecteurs flash et comparez les données. Vous trouverez quelque chose comme "lecture à 200 Mo / s" et "écriture à 50 Mo / s". C'est une différence. Bien sûr, le prix du produit a joué un rôle ici, cependant, le temps d'accès général pourrait améliorer les dépenses, mais la lecture sera toujours plus rapide que l'écriture.

"Mais qu'en est-il du BIOS clignotant? Celui-ci est intégré et rapide!" vous pourriez demander. Vous avez raison, mais avez-vous déjà flashé une image du BIOS? L'initialisation via le BIOS ne prend que quelques instants - la plupart du temps, il faut attendre le matériel externe, mais le clignotement réel peut prendre quelques minutes, même s'il ne s'agit que de quelques Ko pour graver / écrire.

Cependant, il existe des solutions de contournement pour ce problème, par exemple Fonction Windows Hybernate. Le contenu de la RAM est écrit dans un stockage non volatile (tel que le disque dur) et, plus tard, relu. Certains BIOS sur les netbooks offrent des fonctionnalités similaires pour la configuration générale du BIOS et les paramètres à l’aide d’une partition HDD cachée (vous évitez ainsi essentiellement les tâches du BIOS, même sur les bottes froides).


6
2017-08-30 10:20





Principalement à cause de attraper-22. Si votre DRAM (comme déjà dit, RAM est un terme très large. Ce dont vous parlez s'appelle DRACHME, avec  pour Dynamic) devient soudainement non volatile, les gens l'appelleront NVRAM ce qui est un type de stockage très différent.

Il existe également une raison pratique: il n'existe actuellement aucun type de NVRAM (je veux dire une NVRAM basée sur EEPROM, sans source d'alimentation requise) qui autorise un nombre illimité d'écritures sans dégradation du matériel.


En ce qui concerne les périphériques de stockage de masse à base de DRAM: jetez un coup d’œil à Gigabyte i-RAM (notez la batterie Li-Ion rechargeable qui la rend non volatile pendant un moment)

a


6
2017-08-30 23:06





En réalité, la RAM ne doit pas, à proprement parler, être volatile, mais pour des raisons de commodité, nous procédons généralement de cette manière. Voir Magnetic Ram sur Wikipedia (http://en.wikipedia.org/wiki/Magnetoresistive_random-access_memory) pour une technologie potentielle de RAM non volatile, même si une technologie encore à développer pour une utilisation pratique.

Fondamentalement, l'avantage de DRAM est la taille. C'est une technologie extrêmement simple qui a des caractéristiques de lecture-écriture très rapides, mais en conséquence, elle est volatile. La mémoire flash a des caractéristiques de lecture correctes, mais elle est TRÈS DÉTENTE par rapport à celle requise pour la mémoire vive.

La mémoire vive statique a des caractéristiques de lecture-écriture extrêmement favorables et une puissance assez faible, mais son nombre de composants est élevé par rapport à la mémoire DRAM, ce qui la rend beaucoup plus coûteuse. (Plus grande empreinte sur le silicium = plus de pannes + nombre de puces inférieur = plus de coûts) Il est également volatil, mais même une petite batterie peut l’alimenter pendant un certain temps, ce qui en fait une psudo-NVRAM problème.

Qu'il s'agisse de MRAM ou d'une autre technologie, il est probable qu'à l'avenir, nous trouverons un moyen de contourner le besoin actuel de structures de mémoire hiérarchisées qui ralentissent les ordinateurs, mais nous n'en sommes pas encore là. Cependant, même une fois cette période arrivée, il est probable que nous aurons encore besoin de divers supports de stockage fiables (lire: SLOW) à long terme pour archiver des données.


3
2017-09-02 07:53





  • Les mémoires de grande capacité ont besoin de petites cellules mémoire individuelles. Un condensateur simple, qui contient une charge de 1 ou 0 peut être beaucoup plus petit que la logique complexe dans RAM non volatile et plus rapide.

  • Le remplissage de la quantité de fuite est un cycle indépendant du matériel. Cette logique est faite de telle sorte que le processeur est normalement libre.

  • Couper le courant d’autre part arrête le rafraîchissement. Donc oui, un rechargement total est nécessaire, au démarrage ou en veille prolongée.

  • Plus grande capacité pour la même taille, gagne le vote.

8 Go de RAM = 8,589,934,592 octets x 8 bits = 68,719,476,736 bits (cellules - sans parité)


1
2017-08-30 16:34





Pour répondre à la question, ce n'est pas le cas!

Mémoire vive non volatile   Un article de Wikipédia, l'encyclopédie libre   La mémoire vive non volatile (NVRAM) est une mémoire à accès aléatoire qui conserve ses informations à la mise hors tension (non volatile). Cela contraste avec la mémoire vive dynamique (DRAM) et la mémoire vive statique (SRAM), qui conservent les données uniquement pendant toute la durée de l’alimentation.   La forme la plus connue de mémoire NVRAM est la mémoire flash. Certains inconvénients de la mémoire flash incluent la nécessité de l'écrire en blocs plus importants que la plupart des ordinateurs ne peuvent automatiquement traiter, et la durée de vie relativement limitée de la mémoire flash en raison de son nombre limité de cycles d'effacement (la plupart des résister à environ 100 000 réécritures avant que la mémoire ne commence à se détériorer). Un autre inconvénient réside dans les limitations de performances qui empêchent Flash de correspondre aux temps de réponse et, dans certains cas, à l’adressabilité aléatoire offerte par les formes classiques de RAM. Plusieurs nouvelles technologies tentent de remplacer Flash dans certains rôles, et certaines prétendent même être une mémoire véritablement universelle, offrant les performances des meilleurs périphériques SRAM sans la volatilité de Flash. A ce jour, ces alternatives ne sont pas encore devenues courantes.

La source: Page wiki NVRAM


1
2017-09-04 09:35