Gentili utenti vi informiamo che il team di MyTech si è spostato sul canale Hitech & Scienza di Panorama.it

      non hai uno username? regìstrati   /   recupera la password

apple / google / microsoft
unmapped

Le memorie di oggi e di domani

Scritto da Vittorio Margoni

I moduli Ddr stanno concludendo il loro ciclo e le memorie Ddr 2 sono pronte a raccoglierne il testimone, almeno fino al 2005, quando nell’arena rientrerà anche Rambus.
La memoria di sistema, dal lancio del primo chip commerciale di Dram nel 1970 (Intel 1103), ha sempre rivestito un ruolo fondamentale nella complessa architettura del Pc. La frequenza di lavoro e la conseguente banda passante a disposizione del processore è infatti un elemento chiave in grado di trasformare radicalmente le prestazioni del Pc.

Tralasciando i sistemi ormai obsoleti, il recente passato ha evidenziato senza ombra di dubbio questo fatto. Pensiamo infatti alle differenze di prestazioni, e costi, delle prime architetture Pentium 4, disponibili con memorie Sdram per il mercato mainstream e Rdram per quello professionale. E pensiamo poi al salto di prestazioni compiuto da queste piattaforme con l’introduzione prima dei chipset con supporto ai moduli Ddr Sdram e in seguito con il rilascio dei primi prodotti con controller di memoria in grado di gestire un doppio canale ad aggregazione di banda. Lo stesso discorso è valido ovviamente anche per i prodotti AMD, i primi a beneficiare di chipset con supporto a un doppio canale Ddr e i primi ad integrare nel core della Cpu il controller verso la memoria. Come abbiamo potuto valutare dalle prove di laboratorio questa soluzione si è dimostrata vincente ed anche Intel, con la seconda generazione di Cpu Prescott, seguirà probabilmente questa strada.

La diffusione della banda larga, unitamente alla transizione verso il digitale degli apparati fotografici e delle videocamere, oltre a generare una domanda sempre crescente per lo spazio di archiviazione, hanno anche sottolineato la necessità di un sottosistema di memoria sempre più veloce. Trattare contenuti multimediali, oltre alla potenza di calcolo, ormai largamente disponibile, richiede infatti una notevole ampiezza di banda per far sì che il processore abbia sempre a disposizione tutti i dati necessari per svolgere al meglio tutti i compiti che gli vengono richiesti.

Come gli altri componenti dell’architettura di un calcolatore anche la memoria subirà una notevole evoluzione nel corso dei prossimi anni. Le Ddr 2 sono ormai in fase avanzata di validazione e saranno pronte per la commercializzazione in volumi a metà anno. Per il prossimo futuro invece (parliamo del 2005-2006), una nuova architettura sembra già pronta a scuotere il mercato. Si tratta del progetto Xdr Dram della rediviva Rambus.

Le basi

Tralasciando per il momento i tratti distintivi dei tipi di memoria attualmente in commercio e dei prodotti di prossima introduzione, comunque esaminati più avanti in questo articolo, riteniamo utile presentare i fondamenti base su cui si poggiano i principi di funzionamento di un modulo di memoria.

Innanzitutto è utile sapere che i dati vengono immagazzinati, sotto forma di carica elettrica, in celle costituite da un transistor e da un condensatore. Queste celle sono ordinate all’interno dei vari chip di memoria secondo uno schema matriciale e, a loro volta, sono organizzate in banchi che vanno poi a costituire il modulo di memoria finale. Dato che col passare del tempo i condensatori vanno incontro a un processo di scarica è necessario ricaricarli periodicamente, per far sì che la carica, e quindi il dato immagazzinato, non vada perso. Questa ultima considerazione, che al giorno d’oggi può sembrare del tutto ovvia, ha permesso l’evoluzione dei moduli Ram a quelli Dram. Oltre al processo di refresh delle celle di memoria, necessario appunto per quanto sopra spiegato, ogni modulo necessita anche di un circuito integrato, noto come amplificatore di stato che, una volta identificato il dato richiesto dal sistema, si occupa di riportare il condensatore della cella contenente tale dato allo stato iniziale. L’operazione di lettura produce infatti la scarica del condensatore che, se non ricaricato, porterebbe alla perdita del dato dalla memoria.

Tralasciando per il momento la tecnologia di trasmissione e la frequenza di lavoro, che influenza la banda passante a disposizione del sistema, occupiamoci adesso dei tre parametri di latenza che solitamente contraddistinguono tutti i moduli in commercio. Quello più noto è indubbiamente il parametro di latenza Cas (Column Addres Strobe), solitamente al primo posto, e poi troviamo il tRP (tempo necessario a cambiare banco di memoria) e il tRCD (intervallo di tempo tra un accesso di riga e uno di colonna).

Gli altri parametri fondamentali da tenere in considerazione per determinare la velocità di un modulo di memoria sono il tempo necessario ad accedere a una colonna (tCAC), quello per preparare il dato per l’output (tAC) e la lunghezza del ciclo di clock (tCLK).

Tramite questi parametri e una semplice formula matematica si può definire la latenza di Cas di un modulo di memoria semplicemente come il quoziente, arrotondato per eccesso, del tempo necessario ad accedere ad una colonna e la frequenza del modulo (Cl>=tCAC/tCLK). A titolo di esempio, se consideriamo un modulo Sdram con tCAC di 20 ns e frequenza di 100 MHz, cioè con un tCLK di 10 nanosecondi, la latenza Cas del modulo sarà pari a 2.

È interessante notare che questi valori dipendono in maniera diretta dalla frequenza del bus, quindi un modulo 2-2-2 a 100 MHz (tCAC=20 ns), se la frequenza del bus sale a 133 MHz (tCLK=7,5 ns) avrà un tRP= 3 e un tRCD =3, quindi il modulo, da 2-2-2 diventa 3-3-3. Queste considerazioni sono ovviamente da tenere ben presenti quando si vuole procedere a un’operazione di overclock delle memorie.

Prima di addentrarci nell’analisi delle memorie Ddr, delle prossime Ddr II e delle future XDR Dram è inoltre opportuno spiegare come funziona, a livello logico, il trasferimento dei dati dalla memoria alla Cpu. Come primo passo il processore invia un segnale al controller, sulla linea di Ras, specificando a quale riga e a quale banco del modulo di memoria vuole accedere. Successivamente, dopo un lasso di tempo specifico (il tRCD) la Cpu manda un nuovo segnale, sulla linea di Cas, specificando la colonna a cui vuole accedere. Dopo un tempo pari a tCAC (tempo di accesso alla colonna), il dato richiesto viene preparato per l’output e inviato, al successivo segnale di clock, alla Cpu, che ovviamente si aspetta che il dato richiesto venga fornito a un particolare istante da quando ha inviato la richiesta.

Ddr e Ddr 2

La crescente domanda di banda passante ha solo parzialmente avuto risposta con l’introduzione di nuovi modelli di Ddr con frequenze sempre più elevate. Sul mercato è possibile reperire moduli di PC4400 (550 MHz), ma ufficialmente non aderenti agli standard promossi dal Jedec, il consorzio che si occupa appunto di definire le specifiche dei diversi tipi di memoria. Dopo più di due anni sulla cresta dell’onda quindi le memorie Ddr stanno ora percorrendo la via del tramonto e saranno destinate, almeno sui nuovi sistemi, a lasciare il campo alle Ddr 2 entro la fine del 2004.

Prima di addentrarci nelle caratteristiche peculiari dei nuovi moduli Ddr 2 cerchiamo di fare un po’ di luce sul meccanismo di trasferimento dei dati nelle moderne Ddr, un’analisi che risulta estremamente utile per comprendere anche la prossima evoluzione dello standard.

Nelle moderne memorie ogni chip contiene, tra gli altri, tre componenti fondamentali: il core centrale, un buffer di I/O o Dq (Data Queue, Coda di dati) in cui vengono raccolti i dati prima di essere inviati all’output e un circuito di alimentazione. Tralasciando al momento il circuito di alimentazione concentriamoci sul funzionamento del core e dell’I/O buffer.

Nelle memorie Sdram e nelle Ddr Sdram il core della memoria e il buffer di I/O funzionano alla stessa frequenza e solo una differenza di protocollo permette alle seconde di essere più efficienti delle prime. Infatti le memorie Ddr sono in grado di inviare due dati per ogni ciclo di clock, operazione che comporta la richiesta dei due dati, il loro accodamento nel buffer e in seguito il loro invio tramite uno schema di aggregazione su base temporale. In altri termini i due dati vengono inviati, secondo l’ordine con cui erano presenti nel Dq, sul fronte ascendente e su quello discendente del segnale di clock. Dato quindi che due bit vengono inviati da un singolo pin per ogni ciclo di clock, tale protocollo è stato chiamato Double Data Rate (Ddr).

A livello di trasmissione dei dati quello che avverrà con le prossime Ddr 2 è piuttosto simile, con la differenza che l’I/O buffer avrà una frequenza doppia rispetto a quella del core della memoria. Questo permetterà, a parità di frequenza, di avere un output doppio rispetto a quello delle attuali Ddr. In questo caso infatti, prima che l’output venga inviato al controller che ne ha fatto richiesta, vengono immagazzinati nel Dq quattro bit e in seguito, tramite un protocollo di tipo Ddr, vengono inviati quattro bit a ogni ciclo di clock.

Il problema principale a cui sta andando incontro l’attuale memoria Ddr è infatti legato al limite di velocità raggiungibile del core della memoria. Per avere della Ddr PC3200 (400 MHz) è infatti necessario avere un core con frequenza di 200 MHz, con tutti i problemi che ciò comporta. Infatti la cella di memoria, come detto in apertura, è costituita da transistor e condensatori che necessitano di un certo tempo per scaricare l’informazione che successivamente deve essere captata e amplificata prima che possa essere inviato un secondo comando di lettura. Inoltre, a lettura avvenuta, l’amplificatore di stato deve anche preoccuparsi di ripristinare lo stato iniziale del condensatore per non perdere l’informazione appena letta.

Aumentare la velocità del core richiede quindi la minimizzazione dei tempi caratteristici dei moduli, e in particolare richiede di minimizzare il tRAS e il tRC. L’approccio usato dalle Ddr 2, invece, l’aumento della frequenza del Dq, risulta molto meno problematico, permette di aumentare in maniera ottimale la banda passante dei moduli e, soprattutto, ha costi molto inferiori. Il rovescio della medaglia riguarda il meccanismo di output dei dati. Questo infatti, dovendo sempre inviare i dati in multipli di quattro, impone al controller, in caso di una richiesta singola, di inviare nel Dq anche tre dati a caso, giusto per riempire il buffer, che dovranno essere successivamente scartati dal sistema nel successivo accesso. Ragioni commerciali a parte, la promessa di poter raggiungere un data rate sempre più elevato è sicuramente l’elemento trainante del successo che lo standard Ddr 2 sta riscontrando tra i produttori di hardware nel mondo. Ma ovviamente il nuovo standard non è solo un escamotage per aggirare i problemi legati ai costi e alla capacità dei produttori di salire con la frequenza dei core di memoria. Dietro la pura teoria ci sono infatti anche una serie di miglioramenti che riguardano tutta l’interfaccia di comunicazione dalla memoria al sistema.

Dal punto di vista prettamente meccanico, i nuovi moduli Ddr 2 adotteranno infatti un packaging di tipo Bga, invece del tradizionale Tsop, che permette un miglior controllo delle impedenze e dei rumori di fondo. La qualità del segnale poi, necessaria per salire rapidamente in frequenza è stata migliorata con l’aggiunta di un terminatore di segnale direttamente nei chip di memoria. Il segnale che si propaga sul bus per individuare la cella di memoria contenente il dato subisce infatti delle riflessioni che generano rumore e disturbi e possono anche causare, all’estremo, la perdita del comando stesso.

Tutte le schede madri sono perciò provviste di un terminatore, una resistenza in prossimità degli zoccoli, che si comporta in sostanza come un buco nero: tutti i segnali che entrano vengono annullati e non possono generare disturbi. Questa soluzione risulta indubbiamente valida per i segnali che arrivano riflessi alla fine delle piste,dal controller alla memoria, ma non certamente per quelli che vengono riflessi dalle singole celle di memoria inattive. Questi disturbi, infatti, prima di essere neutralizzati devono rientrare nel bus. La presenza del terminatore all’interno di ogni chip (Odt, On Die Termination) permette invece di eliminare immediatamente i disturbi generati dalla riflessione del segnale.

In termini puramente energetici, le specifiche dei nuovi moduli indicano in 1,8 volt la tensione nominale di alimentazione dei moduli Ddr 2 che, rispetto ai 2,5 V specifici delle memorie Ddr, comporta una diminuzione del 28% sul totale della potenza assorbita. Pensando che un desktop moderno equipaggiato con 4 GByte di memoria Ddr assorbe in una sola lettura sino a 40 W è facile capire che, a parità di memoria installata, un sistema con Ddr 2 assorbirà circa 12 watt in meno.

Tra le altre caratteristiche dei prossimi moduli segnaliamo la capacità massima, 4 GByte contro i 2 GByte delle Ddr, e le frequenze di clock, a partire da 400 sino a 667 MHz.

Ovviamente, nonostante la compatibilità con i protocolli di trasmissione, dato il cambiamento di formato dei moduli, che avranno 240 piedini, e la differente tensione di alimentazione, non sarà possibile sostituire i moduli Ddr del proprio sistema con quelli Ddr 2.

Nella tabella che troverete in queste pagine sono riassunte in dettaglio le principali differenze tra i moduli Ddr e i prossimi Ddr 2, sui quali torneremo in futuro con ulteriori approfondimenti e, appena possibile, con i relativi test. L’architettura Xdr Dram di Rambus

Nonostante sia previsto che la produzione di massa di moduli conformi a questa architettura non inizierà prima del 2005, sono già molti i produttori di grosso calibro, Toshiba tra i primi, che hanno mostrato un notevole interesse nel progetto Xdr Dram di Rambus, nome in codice Yellowstone.

Tra i punti a favore di questa architettura ci sono la scalabilità, la possibilità di configurazioni adattabili alla maggior parte delle applicazioni che richiedono un data rate sostenuto (console, desktop, server, HdTv), e, ovviamente, la promessa di una banda passante elevata: oltre 100 GByte/s. Secondo le specifiche del produttore l’architettura Xdr Dram è costituita da cinque elementi fondamentali: un core Dram, l’IO Cell (Xio Cell), il controller della memoria (Xmc), il bus di collegamento (Xdr Interconnect), e un generatore di clock (Xcg).

L’Xio Cell è integrato in un chip Asic ed è costituito da una serie di transistor e macro software atti a realizzare l’interfaccia fisica tra il controller della memoria e l’Interconnect.

Il controller della memoria (Xmc), può essere personalizzato dai costruttori che hanno acquistato le licenze per sviluppare moduli Xdr Dram basandosi su un reference design di Rambus o, in alternativa, può essere acquistato direttamente da Rambus stessa. Se la prima soluzione consente di sviluppare prodotti ad hoc o di integrare il controller direttamente all’interno della Cpu o del chipset, la seconda opportunità permette di ridurre in maniera consistente i costi.

L’Xdr Interconnect, il bus di collegamento tra la memoria e l’Asic di gestione dell’architettura, è composto da un link su cui transitano i segnali di richiesta dei dati, uno per i segnali di controllo e un bus dati di tipo bidirezionale.

L’Xcg, disponibile dai partner di Rambus, secondo le affermazioni stesse dell’azienda, produce un basso livello di rumore e limita al minimo le instabilità dei segnali. Oltre a questo, dal momento che utilizza un approccio di tipo differenziale con output su quattro linee, permette di implementare delle connessioni Xdr Interconnect di tipo multiplo che permettono di collegare sino a 36 moduli di Xdr Dram.

Il protocollo di trasmissione utilizzato, di tipo Odr (Octal Data Rate), è in grado di trasferire 8 bit per ogni ciclo di clock tra i moduli e il controller, garantendo, a 400 MHz, un data rate di 3,2 GHz. Nel caso si avesse necessità di ulteriore banda passante la soluzione Rambus è scalabile sino a 6,4 GHz, sempre in modalità Odr. Applicando un po’ di matematica elementare (ampiezza del bus in byte x la frequenza), è facile calcolare la banda passante che l’architettura Xdr Dram, usando un’interfaccia a 64 bit, è in grado di fornire: 51,2 GByte/s. L’aspetto interessante è che la tecnologia Xdr Dram permetterà di raggiungere anche elevati valori di banda passante con l’utilizzo di un solo modulo. A titolo di esempio, e sempre con la formula precedentemente introdotta, si calcola facilmente che un solo modulo con interfaccia a 16 bit è in grado di fornire tra i 6,4 e i 12,8 GByte/s.

Tra le altre caratteristiche elencate dal produttore vale sicuramente la pena di sottolineare la tensione di alimentazione, 1,8 V come per le Ddr 2, e i ridotti tempi di latenza dichiarati per gli accessi di tipo random, nettamente migliori rispetto a quelli delle Ddr 2. Come si evolverà il mercato è ancora presto per saperlo, soprattutto perché la produzione di massa di queste memorie è decisamente lontana nel tempo, se paragonata a quanto stabilito per le Ddr 2. Nel passato il supporto di Intel non è servito a Rambus per imporre il proprio standard, ma il futuro per l’azienda sembra oggi quantomai roseo. Oltre a Toshiba infatti anche Elpida e Sony, quest’ultima per la piattaforma Cell, hanno acquistato le licenze per utilizzare la nuova architettura di memoria Xdr Dram.

Commenti   (Inserisci un commento)

Ancora nessun commento.

Effettua il login