QR code per la pagina originale

Memorie a semiconduttore – Parte 1

,

In questa serie di post tecnici analizzeremo le memorie a semiconduttore in generale (memorie RAM e Flash NAND per esempio), andando a conoscere la loro struttura e le loro modalità di funzionamento cercando di fornire una visione globale capace di spaziare dal livello di circuito fino alle logiche di controllo.

È opportuno introdurre l’argomento specificando come vengono definite ai vari livelli le unità di memorizzazione e in che modo sono correlate tra loro:

  • Al livello di circuito, che è il livello fisico più basso, si definisce la dimensione di una memoria a semiconduttore in termini di bit, che equivalgono in numero alle singole celle elementari che compongono il chip;
  • Salendo di livello si considera l’intera memoria, intesa come insieme di chip su un banco di RAM per esempio, nel quale la dimensione della memoria è espressa in byte, cioè gruppi di 8 bit, o multipli di questa grandezza, ovvero kilobyte, megabyte, gigabyte e terabyte;
  • All’ultimo livello, cioè a livello di sistema, si è soliti riferirsi alla memoria in termini di word (insiemi di bit nella misura di 16, 32 o 64 bit), che è l’unità di computazione fondamentale per i calcolatori elettronici.

La gestione delle informazioni contenute nella memoria è affidata al sistema operativo, il quale deve perciò riferirsi ad esse in termini di word: cominciamo a rappresentare una memoria quindi come un vettore di word andando a definire la sua dimensione dal prodotto ottenuto da N word composte ciascuna da M bit.

Nella figura qui accanto è possibile inoltre individuare sulla sinistra N linee di selezione, una per ogni word, che sono fisicamente necessarie per l’accesso alle singole word memorizzate nel vettore.

Ogni linea di selezione è contraddistinta da un indirizzo, il quale verrà utilizzato dal sistema operativo per poter accedere alle singole word durante le operazioni di lettura e scrittura.

In questa memoria quindi è possibile memorizzare N x M bit, però ci sono delle controindicazioni fondamentali: in primo luogo dovrebbero essere realizzate un numero spropositato di linee di selezione nel caso di memorie di grosse dimensioni; in secondo luogo al crescere del numero delle linee di selezione si necessita di indirizzi sempre più lunghi per pilotare le linee stesse.

Esiste un modo molto raffinato per ovviare a questo primo problema di complessità circuitale e lo affronteremo nel prossimo post dedicato ai decodificatori di indirizzo.

Notizie su: