Memoria de acceso aleatorio

miniatura|135px|Exemplo de módulo de memoria.

A **memoria de acceso aleatorio**, ou **memoria de acceso directo** (en inglés ***R**andom **A**ccess **M**emory*), máis coñecida como **memoria RAM**, componse dun ou varios chips e utilízase como memoria de traballo para programas e datos. É un tipo de memoria temporal que perde os datos cando se queda sen enerxía eléctrica (por exemplo, ao apagar a computadora).

## Características 
Trátase dunha memoria de semicondutor na que se pode tanto ler como escribir información. Utilízase normalmente como memoria temporal para almacenar resultados intermedios e datos similares non permanentes. Denomínanse "de acceso aleatorio" ou "de acceso directo" porque os diferentes accesos son independentes entre si (non obstante, o resto de memorias ROM, ROM borrables e Flash, tamén son de acceso aleatorio). Por exemplo, se un disco duro debe facer dous accesos consecutivos a sectores separados fisicamente entre si, pérdese un tempo en move-la cabeza lecto-gravadora ata a pista desexada (ou esperar que o sector pase por debaixo, se ambos están na mesma pista), tempo que non se perde na RAM. Porén, as memorias que se atopan na computadora, son volátiles, é dicir, perden os seus datos ao desconecta-la enerxía eléctrica ; pero hai memorias (como a memoria RAM Flash, a típica dos chaveiros USB), que non o son porque almacenan datos de forma permanente.

A denominación apareceu antigamente para diferencialas das memorias de acceso secuencial. Como nos comezos da computación as memorias principais (ou primarias) das computadoras eran sempre de tipo RAM, e as memorias secundarias (ou masivas) eran de acceso secuencial (fitas ou tarxetas perforadas), é frecuente que se fale de memoria RAM para facer referencia á memoria principal dunha computadora, pero actualmente a denominación non é demasiado acertada, como se pode ver.

En xeral, as RAMs divídense en dous grandes grupos: estáticas e dinámicas. Unha memoria RAM estática mantén os datos inalterados mentres está alimentada electricamente. En cambio, nunha memoria RAM dinámica a lectura é destrutiva, é dicir, a información pérdese ao lela, polo que hai que restaura-la información contida nela, operación denominada refresco.

## Módulos de memoria 
Os pequenos chips que compoñen a memoria RAM non se atopan soltos, senón soldados a un pequeno circuíto impreso denominado módulo, que se pode atopar en diferentes tipos e tamaños, cada un axustado a unha necesidade concreta: (SIMM, DIMM, SO-DIMM, RIMM). Segundo os tipos de conectores que levan os módulos, clasifícanse en Módulos SIMM (Single In-line Memory Module), con 30 ou 72 contactos, módulos DIMM (Dual In-line Memory Module), con 168 contactos e módulos RIMM (RAMBUS In-line Memory Module) con 184 contactos.

Sobre ditos módulos sóldanse os chips de memoria RAM, de diferentes tecnoloxías e capacidades. Mentres que os ensambladores de módulos chegan a ser centos, a lista de fabricantes dos chips de memoria propiamente ditos son un número menor e só hai unhas poucas empresas como Buffalo, Corsair Memory, Kingston Technologies ou Samsung, que non superan os vinte en total.

Como resultado de agrupar varios chips sobre un mesmo módulo, obtéñense distintas capacidades. A capacidade dunha memoria é a cantidade de datos que pode almacenar, xeralmente exprésase en Bytes, kilobytes KiB, megabytesMiB ou xigabytes GiB.

### Tipos de módulos 
[miniatura|200px|Tipos de módulos de arriba a abaixo (os dous primeiros soldados directamente na [placa base|placa nai): DIP, DIP switch, SIMM 30 contactos, SIMM 72 contactos, DIMM 168 contactos, DIMM 184 contactos]]

* Módulo de memoria SIMM de 30 contactos: SIMM é un acrónimo do idioma inglés que expresa *Single In-line Memory Module* ou módulo de memoria dunha soa liña; é dicir, un módulo de memoria SIMM é un conxunto de chips, xeralmente DIP's, integrados nunha tarxeta electrónica. Este módulo normalmente traballa cun bus de datos de 8 bits.
* Módulo de memoria SIMM de 72 contactos con tecnoloxía EDO RAM: Este módulo de memoria é superior en tamaño ó SIMM de 30 contactos. Normalmente traballa cun bus de datos de 32 bits.
* Módulo de memoria DIMM de 168 contactos con tecnoloxía SDR SDRAM: DIMM é un acrónimo inglés que expresa *Dual In-line Memory Module* ou módulo de memoria de dobre liña. Este módulo xeralmente traballa cun bus de datos de 64 bits.
* Módulo de memoria DIMM de 184 contactos con tecnoloxía DDR SDRAM: Este tipo de módulo de memoria utiliza chips de memoria DDR SDRAM, un bus de datos de 64 bits e posúe 184 contactos (o que evita confundilo co de 168 contactos e conectalo en placas nai que non o soporten).
* Módulo de memoria RIMM de 184 contactos con tecnoloxía RDRAM: Este tipo de módulo de memoria utiliza chips de memoria Rambus DRAM, polo que deben instalarse sempre de dous en dous e en módulos específicos. Adoitan ter unha protección metálica que favorece a disipación térmica, e traballan cun bus de datos de 16 bits (pero a frecuencias de ata 800&nbsp;MHz).

## Tecnoloxías de memoria 
### Memoria SRAM (RAM estática) 
Representa a abreviatura de "Static RAM". O feito de ser estática quere dicir que non é necesario refresca-los datos (ó contrario que na DRAM), xa que as súas celas manteñen os datos sen necesidade de refresco, sempre e cando estean alimentadas electricamente. Outra das súas vantaxes é a súa velocidade, comparable á dos procesadores actuais. Como desvantaxe, debido ó elevado número de transistores por bit, as SRAM teñen un elevado prezo, polo que o seu uso limítase ás memorias caché de procesadores e microcontroladores.

Así, e considerando a utilización da SRAM como memoria caché dos sistemas informáticos, temos tres tipos:

* **Async SRAM**: memoria asíncrona e con tempos de acceso entre 20 e 12 nanosegundos, utilizada como caché dos antigos i386, i486 e primeiros Pentium.
* **Sync SRAM**: memoria síncrona e cun tempo de acceso entre 12 e 8,5 nanosegundos. Moi utilizada en sistemas a 66&nbsp;MHz de bus.
* **Pipelined SRAM**: memoria síncrona con tempos de acceso entre 8 e 4,5 nanosegundos. Tarda máis que a anterior en carga-los datos, pero unha vez cargados, accede a eles con maior rapidez.

#### Aspectos construtivos 
Estas memorias teñen unha capacidade moi reducida (entre 0 e 1024 KB aproximadamente) en comparación coa memoria principal do sistema, pero permiten aumentar significativamente o rendemento do sistema global debido á súa xerarquía de memoria. Están formadas por catro transistores bipolares que forman un biestable (denominado flip-flop); esta cela de almacenaxe ten dous estados estables, os cales se utilizan para denotar 0 ou 1. Dúas comportas adicionais serven para controla-lo acceso á cela de almacenaxe durante as operacións de lectura ou escritura.

Unha cela de SRAM ten tres estados distintos nos que pode estar: 
# **Repouso** (*standby*): cando non se realizan tarefas de acceso ó circuíto,
# **Lectura** (*reading*): cando a información foi solicitada e 
# **Escritura** (*writing*): cando se actualizan os contidos.

### Memoria Tag RAM 
Este tipo de memoria almacena as direccións de memoria de cada un dos datos da DRAM almacenados na memoria caché do sistema. Así, se o procesador require un dato e atopa a súa dirección na Tag RAM, vai buscalo inmediatamente á caché, o que axiliza o proceso.

### Memoria FRAM
A memoria **FRAM** (RAM Ferroeléctrica) é unha memoria de estado sólido, similar á memoria RAM, pero que contén un funcionamento máis parecido ás antigas memorias de ferrita. Esta memoria, no canto de preserva-la carga dun microscópico capacitor, contén dentro moléculas que preservan a información por medio dun efecto ferroeléctrico.

Características: 	 
* *Tempo de acceso curto*: debido ó seu funcionamento, teñen velocidades (da orde de centenas de nanosegundos) que lles permiten traballar como memoria principal coa maioría dos microcontroladores.
* *Lectura destrutiva*: como tódalas memorias ferroeléctricas, a lectura é destrutiva. Isto non representa un problema xa que o chip encárgase de reescribi-los datos logo dunha lectura.
* *Non volátiles*: o seu funcionamento fai prescindibles os refrescos e a alimentación para a retención de datos.
* *Encapsulados*: conséguense hoxe en día tanto en variedades para traballo en paralelo (para conectar a un bus de datos) como en serie (como memoria de apoio).

## Corrección e detección de erros 
Úsanse técnicas de detección de erros para detectar se os datos lidos da memoria foron alterados por algún erro.
A técnica do **bit de paridade** consiste en gardar un bit adicional por cada byte de datos,e na lectura compróbase se o número duns é par (paridade par) ou impar (paridade impar), detectándose así o erro.
Unha técnica mellor é a denominada **ECC**, que permite detectar erros de 2,3 e ata 4 bits e corrixir automaticamente erros que afecten a un só bit (esta técnica úsase só en sistemas que requiren alta fiabilidade, pois consome capacidade de proceso).

## Véxase tamén 
### Outros artigos 
* ROM.
* Memoria caché.
* Memoria Flash.
* Chip.
* SPD.

### Ligazóns externas 
* Microsoft Windows Memory Diagnostic
* Explícame: Para qué sirve la memoria RAM? 
* www.memoria-ram.com
* Belarc Advisor - Free Personal PC Audit
* Los Ram Timings