RAM

In elettronica e informatica, la RAM (acronimo dell'inglese Random Access Memory, ovvero memoria ad accesso casuale in contrapposizione con la memoria ad accesso sequenziale) è un tipo di memoria volatile caratterizzata dal permettere l'accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso.

Funzionamento

Nella memoria RAM vengono copiati (caricati) i programmi che la CPU deve eseguire.
Una volta chiuso il programma, le modifiche effettuate, se non opportunamente salvate sul disco rigido o su altra memoria non volatile, verranno perse.
Per le sue caratteristiche, la RAM viene utilizzata come memoria primaria nei computer più comuni.
Inoltre, si può utilizzare una porzione di RAM come RAM disk, ovvero trattarla come se fosse memoria secondaria, col vantaggio di avere prestazioni in lettura e scrittura enormemente più elevate, con tempi di accesso significativamente migliori.
Il tipo di memoria ad accesso diretto più comune attualmente è a stato solido, a lettura-scrittura e volatile, ma rientrano nel tipo di memoria ad accesso casuale la maggior parte dei tipi di ROM (memoria a sola lettura), la NOR Flash (un tipo di memoria flash), oltre a vari tipi di memorie informatiche utilizzate ai primordi dell'informatica e oggi non più utilizzate come ad esempio la memoria a nucleo magnetico.
L'acronimo RAM (non il termine "memoria ad accesso diretto") ha anche una seconda accezione più ristretta, ma attualmente più diffusa, che identifica le schede fisiche che vengono installate negli odierni computer (vedi moduli DIMM, SIMM, SO-DIMM).

Per testare i moduli di memoria si può utilizzare il software Memtest86.


Tipologia

SRAM

Nelle SRAM, acronimo di Static Random Access Memory, ovvero RAM statica ogni cella è costituita da un Flip-Flop di tipo D.
Le celle sono disposte a matrice e l'accesso avviene specificando la riga e la colonna.
Consentono di mantenere le informazioni per un tempo infinito ma, perdono le informazioni in esse contenute se non alimentate da corrente, sono molto veloci, consumano poca energia e calore.
La necessità di usare molti componenti, però, le rende molto costose, difficili da impacchettare e con una scarsa capienza.
Proprio per la loro bassa capienza, sono solitamente usate per le memorie cache, dove sono necessarie elevate velocità in abbinamento a ridotti consumi e capienze non troppo elevate (dell'ordine di pochi Megabit).


DRAM

La DRAM, acronimo di Dynamic Random Access Memory, ovvero ram dinamica, a livello concettuale è costituita da un transistor che separa un condensatore, il quale mantiene l'informazione, dai fili di dati.
A livello pratico non viene usato un vero condensatore ma si sfruttano le proprietà elettrico/capacitive dei semiconduttori.
è così possibile usare un solo componente per ogni cella di memoria, con costi molto ridotti e la possibilità di aumentare notevolmente la densità di memoria.
A causa del non perfetto isolamento, il condensatore si scarica, quindi dopo un breve lasso di tempo il suo contenuto diventa completamente inaffidabile.
Si rende necessario perciò ricaricarlo, l'operazione è detta di "refreshing", provvedendo ad eseguire un'operazione di lettura fittizia e riscrittura entro il tempo massimo in cui il contenuto può essere considerato ancora valido.
Queste operazioni sono eseguite da un circuito interno alle memorie stesse.
Oltre a comportare un certo dispendio di energia rendono più lenta la memoria in quanto, mentre si sta eseguendo il refreshing, non è possibile accedervi.
Le memorie DRAM si possono considerare abbastanza affidabili anche perchè molto spesso ad ogni riga della memoria è associato un bit di parità, che consente di individuare eventuali errori singoli all'interno della riga, oppure una serie di bit (login), che opportunamente impostati nel momento di ogni scrittura, generano il codice di Hamming corrispondente, che consente di individuare e correggere errori singoli e individuare errori doppi.
è importante sottolineare come l'operazione di lettura sia distruttiva, in quanto nel momento in cui un dato viene letto viene anche perso; risulta quindi necessaria la sua riscrittura immediata e questa porta a uno spreco di tempo.
Le DRAM sono asincrone, ovvero l'accesso in scrittura ed in lettura è comandato direttamente dai segnali in ingresso, al contrario delle memorie sincrone in cui il passaggio da uno stato all'altro è sincronizzato ad un segnale di clock.
Per ogni cella sono presenti un numero basso di componenti che permettono di ottenere un'alta capacità complessiva del dispositivo, un basso assorbimento di potenza e costi ridotti, sono dunque utilizzate generalmente per la memoria principale del sistema.


SDRAM

La SDRAM, acronimo di Synchronous Dynamic Random Access Memory, ovvero DRAM sincrone, si differenzia dalla DRAM normale per il fatto che l'accesso è sincrono, ovvero governato dal clock. Tale segnale di clock temporizza e sincronizza le operazioni di scambio di dati con il processore, raggiungendo una velocità almeno tre volte maggiore delle SIMM con EDO RAM.
Tipicamente saldata in un modulo di tipo DIMM, è normalmente impiegata come memoria principale dei Personal Computer di tipo Pentium e successivi.
Alcuni esempi sono classificati come:

  • SDR SDRAM: indica le originarie memorie SDRAM. Con l'evoluzione tecnica, questo tipo ha preso il suffisso SDR ossia Single Data Rate, per differenziarle dalle successive SDRAM con controller DDR.
    Il single data rate indicava l'accettazione di un comando e il trasferimento di 1 word di dati per ciclo di clock (tipicamente 100 e 133 MHz).
    Il data bus era diversificato ma tipicamente erano impiegate su moduli DIMM da 168 pin e potevano operare su 64 bit (non-ECC) o 72 bit (ECC) alla volta.

  • DDR SDRAM

  • DDR2

  • DDR3

  • DDR4

  • SODIMM: da notare che il package SODIMM non necessariamente contiene memoria SDRAM.

FeRAM

La FeRAM, acronimo di Ferroelectric Dynamic Random Access Memory, ha la peculiarità di mantenere i dati senza l'ausilio del refresh di sistema.
Utilizzano un materiale denominato ferroelettrico che ha la capacità di mantenere la propria polarizzazione anche dopo esser scollegato dalla fonte energetica.


Memoria a cambiamento di fase

Le memorie a cambiamento di fase sono delle memorie ad accesso casuale che utilizzano il cambiamento di fase di un materiale per memorizzare le informazioni.
Questo permette alla memoria di mantenere le informazioni anche senza alimentazione, come le memorie flash ma rispetto a queste hanno alcuni vantaggi.
Il principale è la velocità di scrittura che può arrivare ad essere più rapida di 30 volte, come ciclo di vita 10 volte maggiore e, nota non trascurabile, un costo minore dato dalla lavorazione più veloce.


Memorie RAM.
Dall'alto: DIP, SIPP, SIMM (30 pin), SIMM (72 pin), DIMM (168 pin), DDR DIMM (184 pin)

Cinque banchi di RAM risalenti al 1996

Memoria DIMM DDR

Memoria SODIMM DDR, utilizzata per i personal computer portatili.

Vecchia RAM a nuclei magnetici da 1,5 Megabit

Frequenze a confronto

La memoria scambia dati con gli altri componenti attraverso il Bus, che ha una sua frequenza operativa di base, a multipli di 33 MHz, così come la memoria e il processore. I tre componenti vanno sincronizzati su un multiplo della frequenza di base del bus.
La frequenza di clock interna della memoria differisce dalla frequenza del bus di I/O del modulo, che è quella con la quale il modulo stesso si interfaccia col bus della piastra madre.
Nella tabella sottostante è possibile vedere le frequenze operative dei vari tipi di moduli di memoria; si fa riferimento agli standard utilizzati dai produttori e non solo a quelli standardizzati dal JEDEC:

SDR

ChipModuloFrequenzaTensione
Single ChannelDual Channel
SDR-66PC-6666 MHz-3.30 V
SDR-100PC-100100 MHz-3.30 V
SDR-133PC-133133 MHz-3.30 V

DDR (2002)

ChipModuloFrequenzaTensione
Single ChannelDual Channel
DDR-200PC-1600100 MHz200 MHz2.50 V
DDR-266PC-2100133 MHz266 MHz2.50 V
DDR-333PC-2700166 MHz333 MHz2.50 V
DDR-400PC-3200200 MHz400 MHz2.50 V

DDR2 (2004)

ChipModuloFrequenzaTensione
Single ChannelDual Channel
DDR2-400PC2-3200200 MHz200 MHz1.80 V
DDR2-533PC2-4200266 MHz266 MHz1.80 V
DDR2-667PC2-5300333 MHz667 MHz1.80 V
DDR2-800PC2-6400400 MHz800 MHz1.80 V
DDR2-1066PC2-8500533 MHz1.066 MHz1.80 V

DDR3 (2007)

ChipModuloFrequenzaTensione
Single ChannelDual ChannelLow
DDR3-800PC3-6400400 MHz800 MHz1.50 V1.35 V
DDR3-1066PC3-8500533 MHz1.066 MHz1.50 V1.35 V
DDR3-1333PC3-10600667 MHz1.333 MHz1.50 V1.35 V
DDR3-1600PC3-12800800 MHz1.600 MHz1.50 V1.35 V
DDR3-1866PC3-14900933 MHz1.866 MHz1.50 V1.35 V
DDR3-2000PC3-160001.000 MHz2.000 MHz1.50 V-
DDR3-2133PC3-170001.066 MHz2.133 MHz1.50 V-
DDR3-2400PC3-192001.200 MHz2.400 MHz1.50 V-
DDR3-2666PC3-213001.333 MHz2.666 MHz1.50 V-

DDR4 (2012)

ChipModuloFrequenzaTensione
Single ChannelDual ChannelLow
DDR4-1600PC4-12800800 MHz1.600 MHz1.20 V1.05 V
DDR4-1866PC4-14900933 MHz1.966 MHz1.20 V1.05 V
DDR4-2133PC4-170001.066 MHz2.133 MHz1.20 V1.05 V
DDR4-2400PC4-192001.200 MHz2.400 MHz1.20 V1.05 V
DDR4-2666PC4-213001.333 MHz2.666 MHz1.20 V1.05 V
DDR4-3000PC4-240001.500 MHz3.000 MHz1.20 V-
DDR4-3200PC4-256001.600 MHz3.200 MHz1.20 V-
DDR4-4266PC4-341002.133 MHz4.266 MHz1.20 V-
DDR4-4800PC4-384002.400 MHz4.800 MHz1.20 V-
DDR4-5332PC4-426562.666 MHz5.332 MHz1.20 V-
DDR4-5600PC4-448002.800 MHz5.600 MHz1.20 V-
DDR4-6000PC4-480003.000 MHz6.000 MHz1.20 V-
DDR4-6400PC4-512003.200 MHz6.400 MHz1.20 V-
DDR4-6932PC4-554563.466 MHz6.932 MHz1.20 V-
DDR4-8266PC4-661284.133 MHz8.266 MHz1.20 V-
DDR4-8532PC4-682564.266 MHz8.532 MHz1.20 V-
DDR4-8666PC4-693284.333 MHz8.666 MHz1.20 V-
DDR4-8800PC4-704004.400 MHz8.800 MHz1.20 V-
DDR4-9000PC4-720004.500 MHz9.000 MHz1.20 V-
DDR4-9200PC4-730004.600 MHz9.200 MHz1.20 V-