
Foto dalla collezione dell'autore
1. Storia
La memoria a bolle, o memoria su domini magnetici cilindrici, è una memoria non volatile, sviluppata presso i Bell Labs nel 1967 da Andrew Bobeck. Le ricerche hanno mostrato che piccoli domini magnetici cilindrici si formano in film sottili di ferriti e granati monocristallini quando un campo magnetico sufficientemente forte viene applicato perpendicolare alla superficie del film. Modificando il campo magnetico, è possibile spostare queste bolle. Queste proprietà rendono le bolle magnetiche un mezzo ideale per costruire una memoria sequenziale di bit, simile a un registro a scorrimento, dove la presenza o assenza di una bolla in una posizione specifica indica un valore di bit zero o uno. Il diametro di una bolla è di alcune frazioni di micron, un chip può contenere migliaia di bit di dati. Ad esempio, nella primavera del 1977, la Texas Instruments ha presentato per la prima volta un chip con una capacità di 92304 bit. Questa memoria è non volatile, il che la rende simile al nastro magnetico o al disco, ma poiché è a stato solido e non contiene parti mobili, offre una maggiore affidabilità rispetto al nastro o al disco, non richiede manutenzione e ha dimensioni e peso nettamente inferiori, rendendola utilizzabile in dispositivi portatili.
Inizialmente, l'inventore della memoria a bolle, Andrew Bobeck, propose una variante "unidimensionale" della memoria, sotto forma di un filo su cui è avvolta una sottile striscia di materiale ferromagnetico. Questa memoria veniva chiamata "twistor", e veniva anche prodotta in serie, ma fu presto sostituita dalla variante "bidimensionale".
Puoi scoprire la storia della creazione della memoria a bolle in [1-3].
2. Principio di funzionamento
Qui ti chiedo di scusarmi, non sono un fisico, quindi la spiegazione sarà molto approssimativa.
Alcuni materiali (ad esempio, il granato gadolinium-gallio) hanno la proprietà di magnetizzarsi solo in una direzione, e se lungo questo asse viene applicato un campo magnetico costante, le aree magnetizzate formeranno una sorta di bolle, come mostrato nell'immagine sottostante. Ogni bolla ha un diametro di pochi micron.
Supponiamo di avere un sottile film cristallino di circa 0,001 pollici realizzato con tale materiale, applicato su un substrato non magnetico, ad esempio, di vetro.

Tutto dipende dalle bolle magiche. L'immagine a sinistra mostra che il campo magnetico è assente, mentre l'immagine a destra indica che il campo magnetico è orientato perpendicolarmente alla superficie del film.
Se sulla superficie di un film di tale materiale si crea un disegno di materiale magnetico, ad esempio di permalloy o di una lega di ferro e nichel, le bolle si magnetizzeranno sugli elementi di questo disegno. Di solito vengono utilizzati disegni a forma di T o a V.
Una singola bolla può essere formata da un campo magnetico di 100-200 oersted, applicato perpendicolarmente al film magnetico e creato da un magnete permanente, mentre un campo magnetico rotante, generato da due bobine nelle direzioni XY, consente di spostare le bolle dominio da un 'isola' magnetica a un'altra, come mostrato nell'immagine. Dopo aver cambiato quattro volte la direzione del campo magnetico, il dominio si sposterà da un'isola all'altra.

Tutto ciò consente di considerare il dispositivo CMD come un registro a scorrimento. Se formiamo bolle a un'estremità del registro e le rileviamo all'altra, possiamo inviare un certo modello di bolle in circolo e utilizzare il sistema come dispositivo di memorizzazione, leggendo e scrivendo bit in momenti specifici.
Da qui derivano i vantaggi e svantaggi della memoria CMD: il vantaggio è l'assenza di indipendenza energetica (finché è applicato un campo perpendicolare creato da magneti permanenti, le bolle non scompariranno né si sposteranno dalle loro posizioni), mentre lo svantaggio è il lungo tempo di accesso, poiché per accedere a un bit arbitrario è necessario far scorrere l'intero registro a scorrimento fino alla posizione desiderata, e più è lungo, più cicli saranno necessari.

Il modello di elementi magnetici sul film magnetico CMD.
La creazione di un dominio magnetico si chiama in inglese «nucleation» ed è il processo in cui viene applicata una corrente di qualche centinaio di milliampere all'avvolgimento per un tempo di circa 100 ns, generando un campo magnetico perpendicolare alla pellicola e opposto al campo di un magnete permanente. In questo modo si crea una «bolla» magnetica — un dominio magnetico cilindrico all'interno della pellicola. Sfortunatamente, questo processo dipende fortemente dalla temperatura e può portare a un esito negativo nell'operazione di scrittura, in cui la bolla non si forma o si formano più bolle.
Per la lettura dei dati dalla pellicola vengono utilizzate diverse tecniche.
Un metodo, la lettura non distruttiva, consiste nel rilevare il debole campo magnetico di un dominio cilindrico tramite un sensore magnetoresistivo.
Il secondo metodo è la lettura distruttiva. La bolla viene convogliata su una traccia speciale di generazione/detecting, in cui la bolla viene distrutta magnetizzando il materiale in direzione positiva. Se il materiale era magnetizzato nella direzione opposta, cioè la bolla era presente, questo genererà una corrente maggiore nella bobina, che verrà rilevata da un circuito elettronico. Dopo di che, la bolla deve essere generata nuovamente su una traccia speciale di scrittura.

Tuttavia, se la memoria è organizzata come un'unica matrice continua, avrà due grandi svantaggi. In primo luogo, il tempo di accesso sarà molto alto. In secondo luogo, un solo difetto nella catena porterà all'inoperabilità completa di tutto il dispositivo. Pertanto, si crea una memoria organizzata in una traccia principale e molte tracce subordinate, come mostrato nell'immagine.

Memoria a bolle con un'unica traccia continua

Memoria a bolle con tracce principali/sottordinate
Questa configurazione di memoria consente non solo di ridurre notevolmente il tempo di accesso, ma anche di produrre dispositivi di memoria che contengono un certo numero di tracce difettose. Il controller di memoria deve tenerne conto ed evitarli nelle operazioni di lettura/scrittura.
Nell'immagine qui sotto è mostrato un taglio del «chip» della memoria a bolle.

Puoi anche leggere del principio di funzionamento della memoria a bolle in [4, 5].
3. Intel 7110
Intel 7110 è un modulo di memoria a bolle, MBM (memoria a bolle magnetiche) con una capacità di 1 Mb (1048576 bit). Esso è raffigurato nella KDPV. 1 megabit è la capacità di archiviazione dei dati dell'utente, tenendo conto dei tracciati ridondanti, la capacità totale è di 1310720 bit. Il dispositivo contiene 320 tracciati ad anello (loops) con una capacità di 4096 bit ciascuno, ma per i dati degli utenti vengono utilizzati solo 256 di essi, il resto è riservato per la sostituzione dei tracciati
Puoi consultare la documentazione originale del modulo in [7].
Il dispositivo ha un involucro con disposizione a doppia fila di pin e viene montato senza saldatura (in un socket).
La struttura del modulo è mostrata nell'immagine:

L'array di memoria è diviso in due "mezzosezioni" (half sections), ognuna delle quali è divisa in due "quarti" (quads), ogni quarto ha 80 tracciati subordinati. Il modulo contiene una piastra con materiale magnetico, situata all'interno di due bobine ortogonali che creano un campo magnetico rotante. A tal fine, alle bobine vengono applicati segnali di corrente a forma triangolare, sfasati di 90 gradi l'uno rispetto all'altro. L'assemblaggio di piastra e bobine è posizionato tra magneti permanenti e racchiuso in uno schermo magnetico, che chiude il flusso magnetico generato dai magneti permanenti e protegge il dispositivo da campi magnetici esterni. La piastra è inclinata di 2,5 gradi, creando un leggero campo di offset diretto lungo l'inclinazione. Questo campo è trascurabile rispetto al campo delle bobine e non interferisce con il movimento delle bolle durante il funzionamento del dispositivo, ma sposta le bolle in posizioni fissate rispetto agli elementi in permalloy quando il dispositivo è spento. La forte componente perpendicolare dei magneti permanenti sostiene l'esistenza dei domini magnetici a bolle.

Il modulo contiene i seguenti nodi:
- Tracce di memoria. Sono precisamente le tracce degli elementi di permalloy che trattengono e dirigono le bolle.
- Generatore di replicazione. Serve per la replicazione della bolla, che è sempre presente nel luogo di generazione.
- Traccia di ingresso e nodi di scambio. Le bolle generate si muovono lungo la traccia di ingresso. Le bolle si spostano in una delle 80 tracce subordinate.
- Traccia di uscita e nodo di replicazione. Le bolle vengono lette dalle tracce dati senza essere distrutte. La bolla si divide in due parti, e una di esse viene diretta nella traccia di uscita.
- Rilevatore. Le bolle dalla traccia di uscita entrano nel rilevatore magnetoresistivo.
- Traccia di caricamento. La traccia di caricamento contiene informazioni sulle tracce dati attive e inattive.
Di seguito esamineremo questi nodi più nel dettaglio. Puoi anche consultare la descrizione di questi nodi in [6].
Generazione della bolla

Per generare una bolla, all'inizio della traccia di ingresso c'è un conduttore curvato a forma di piccola ansa. Viene fornito un impulso di corrente che crea in una zona molto piccola un campo magnetico più forte di quello dei magneti permanenti. L'impulso crea in quel punto una bolla, che rimane costantemente sostenuta da un campo magnetico permanente e circola lungo l'elemento di permalloy grazie a un campo magnetico rotante. Se dobbiamo registrare un'unità di memoria, forniamo un impulso breve nell'ansa conduttrice, e di conseguenza nascono due bolle (indicate nell'immagine come Bubble split seed). Una delle bolle si dirige nel campo rotante lungo la traccia di permalloy, mentre l'altra rimane ferma e riacquista rapidamente la dimensione originale. Poi si sposta verso una delle tracce subordinate e scambia posto con la bolla che circola in essa. Questa, a sua volta, raggiunge la fine della traccia di ingresso e scompare.
Scambio di bolle

Lo scambio di bolle avviene quando nel conduttore corrispondente viene fornito un impulso di corrente rettangolare. In questo modo non si verifica la divisione della bolla in due parti.
Lettura dei dati

I dati vengono inviati al tracciato di uscita tramite la loro replicazione e continuano a circolare nel loro tracciato dopo la lettura. In questo modo, è stato implementato un metodo di lettura non distruttivo in questo dispositivo. Per la replicazione, una bolla viene indirizzata sotto un elemento allungato di permalloy, sotto il quale si distende. In cima c'è anche un conduttore a forma di anello; se si fornisce un impulso di corrente all'anello, la bolla si divide in due parti. L'impulso di corrente è composto da una breve sezione con una grande intensità di corrente per separare la bolla in due parti e da una sezione più lunga con una minore intensità di corrente, per dirigere la bolla verso il tracciato di uscita.
Alla fine del tracciato di uscita si trova un rilevatore di bolle, un ponte magnetoresistivo realizzato con elementi di permalloy che formano un circuito di grande lunghezza. Quando la bolla magnetica passa sotto l'elemento di permalloy, la sua resistenza cambia e appare una differenza di potenziale di alcuni millivolt all'uscita del ponte. La forma degli elementi di permalloy è stata selezionata in modo che la bolla si muovesse lungo di essi; alla fine, essa raggiunge un apposito bus di "protezione" e scompare.
Ridondanza
Il dispositivo contiene 320 tracciati, ciascuno di 4096 bit. Di questi, 272 sono attivi e 48 sono di riserva, inattivi.
Tracciato di avvio (Boot Loop)
Il dispositivo contiene 320 tracciati dati, di cui 256 sono destinati per la memorizzazione dei dati dell'utente, mentre gli altri possono essere guasti o servire come riserve per sostituire quelli guasti. Un tracciato aggiuntivo contiene informazioni sull'utilizzo dei tracciati dati, 12 bit per ogni tracciato. Quando il sistema viene alimentato, deve essere inizializzato. Durante il processo di inizializzazione, il controller deve leggere il tracciato di avvio e registrare le informazioni da esso in un registro speciale del chip di formattazione/sensore di corrente. Quindi, il controller utilizzerà solo i tracciati attivi, mentre quelli inattivi verranno ignorati e non ci sarà registrazione in essi.
Struttura di archiviazione dati
Dal punto di vista dell'utente, i dati sono archiviati in 2048 pagine di 512 bit ciascuna. 256 byte di dati, 14 bit di codice di correzione errori e 2 bit non utilizzati sono conservati in ciascuna metà del dispositivo.
Correzione errori
La rilevazione e la correzione degli errori possono essere effettuate da un circuito integrato del sensore di corrente, che contiene un decodificatore di codici a 14 bit, in grado di correggere un singolo errore della lunghezza fino a 5 bit (burst error) in ogni blocco di 270 bit (incluso il codice stesso). Il codice viene aggiunto alla fine di ogni blocco di 256 bit. Il codice di correzione può essere utilizzato o meno a seconda delle preferenze dell'utente, e il controllo del codice può essere attivato o disattivato nel controller. Se il codice non è utilizzato, tutti i 270 bit possono essere impiegati per i dati dell'utente.
Tempo di accesso
Il campo magnetico ruota con una frequenza di 50 kHz. Il tempo medio di accesso al primo bit della prima pagina è di 41 ms, che è la metà del tempo necessario per completare un'intera corsa nel tracciato più il tempo di attraversamento del tracciato di uscita.
320 tracce attive e di riserva sono suddivise in quattro parti da 80 tracce ciascuna. Questa organizzazione riduce il tempo di accesso. I quartetti vengono indirizzati a coppie: ciascuna coppia di quartetti contiene i bit pari e dispari della parola rispettivamente. Il dispositivo contiene quattro tracce di ingresso con quattro bolle iniziali e quattro tracce di uscita. Le tracce di uscita utilizzano due rivelatori, organizzati in modo tale che non venga mai rivelata una bolla proveniente da due tracce contemporaneamente in un rivelatore. In questo modo, quattro flussi di bolle vengono multiplexati e convertiti in due flussi di bit e memorizzati nei registri del chip del sensore di corrente. Qui, il contenuto dei registri viene nuovamente multiplexato e trasmesso al controller tramite un'interfaccia seriale.
Nella seconda parte dell'articolo esploreremo più dettagliatamente il circuito del controller della memoria a bolle.
4. Bibliografia
L'autore ha trovato nei più oscuri angoli della rete e ha conservato per voi una massa di informazioni tecniche utili sulla memoria a bolle, la sua storia e altri aspetti correlati:
1. — Due memorie dell'ingegnere Bobek
2. — Due memorie dell'ingegnere Bobek (parte 2)
3. — Memoria a bolle
4. Adattamento della Memoria Magnetica a Bolle in un Ambiente Microcomputer Standard
5. — Memoria a bolle Texas Instruments TIB 0203
6. — Manuale dei Componenti di Memoria. Intel 1983.
7. 7110 Memoria a Bolle da 1 Megabit
Fonte: habr.com
