DRAM vs SRAM: Perché i nostri PC “dimenticano” (e come testarlo con Arduino)

Se c’è una cosa che impariamo subito nei corsi di elettronica digitale è la distinzione fondamentale tra memorie volatili e non volatili. Ma c’è una distinzione ancora più sottile e affascinante: quella tra SRAM (Static RAM) e DRAM (Dynamic RAM).

Nel mio ultimo video su YouTube ho voluto esplorare questo mondo non solo a livello teorico, ma sporcandomi le mani con un chip vintage degli anni ’80, una DRAM 4116, collegata a un Arduino.

Il paradosso della memoria che dimentica

L’idea alla base di una DRAM è disarmante nella sua semplicità: usiamo un singolo condensatore per memorizzare un bit.

  • Condensatore carico = 1
  • •Condensatore scarico = 0

Sembra perfetto, se non fosse per la fisica. Un condensatore microscopico, isolato solo da un transistor MOS, non può mantenere la carica all’infinito. Le correnti di leakage (dispersione) lo scaricano in pochi millisecondi.

È qui che nasce la necessità del Refresh. Il controller di memoria deve periodicamente leggere il dato e riscriverlo, “rinfrescando” la carica del condensatore prima che l’informazione svanisca nel nulla. È come se noi dovessimo ripeterci mentalmente un numero di telefono ogni pochi secondi per non scordarlo.

Perché complicarsi la vita?

Se le SRAM (basate su Flip-Flop) sono più veloci e non hanno bisogno di refresh, perché usiamo le DRAM in tutti i computer del mondo?


La risposta è nella densità.

  • Una cella SRAM richiede 6 transistor.
  • Una cella DRAM richiede 1 transistor e 1 condensatore.

Questa semplicità strutturale permette di stipare miliardi di celle in un chip minuscolo, abbattendo drasticamente il costo per gigabyte. Abbiamo accettato la complessità del refresh in cambio di memorie capienti ed economiche.

L’esperimento: Arduino vs DRAM 4116

Nel video ho voluto mettere alla prova la teoria. Ho collegato una DRAM 4116 a un Arduino UNO per testare la persistenza dei dati.
La sfida principale? L’alimentazione.


A differenza dei chip moderni, la 4116 è un “dinosauro” che richiede tre tensioni diverse:

  • +12V (per la circuiteria principale)
  • +5V (per l’interfaccia logica)
  • -5V (bias del substrato)

Ho risolto utilizzando un alimentatore da banco e un convertitore DC-DC (ICL7660) per generare la tensione negativa.

I risultati del test

Ho scritto un bit (1 o 0) in una cella, ho disabilitato il refresh e ho aspettato.


La teoria dice che i dati dovrebbero svanire in pochi millisecondi. La pratica?


Sorprendentemente, alcuni bit sono sopravvissuti per oltre 60 secondi a temperatura ambiente!
Questo dimostra che i datasheet indicano i valori di garanzia (“worst case scenario”), ma la fisica reale del silicio è spesso più generosa. Ovviamente, scaldando il chip anche solo con un dito, il decadimento accelera drasticamente.


Buona visione e buon making!

Avatar Paolo Godino