Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare
Fotografie din colecția autorului

1. Istoria

Memoria cu bule, sau memoria pe domenii magnetice cilindrice, este o memorie non-volatilă, dezvoltată în Bell Labs în 1967 de Andrew Bobeck. Cercetările au arătat că mici domenii magnetice cilindrice se formează în filme subțiri de ferite și granate monocristaline atunci când un câmp magnetic suficient de puternic este aplicat perpendicular pe suprafața filmului. Prin modificarea câmpului magnetic, aceste bule pot fi mutate. Aceste proprietăți fac bulele magnetice un suport ideal pentru construirea unui stoc de biți secvențial, similar cu un registru de deplasare, în care prezența sau absența unei bule într-o anumită poziție indică valoarea zero sau unu a bitului. Diametrul unei bule este de câteva zecimi de micron, iar un cip poate stoca mii de biți de date. De exemplu, în primăvara anului 1977, Texas Instruments a lansat pe piață pentru prima dată un cip cu capacitatea de 92304 biți. Această memorie este non-volatilă, ceea ce o face similară cu benzile magnetice sau discurile, dar, fiind solidă și fără părți mobile, are o fiabilitate mai mare decât banda sau discurile, nu necesită întreținere și are dimensiuni și greutate mult mai mici, putând fi utilizată în dispozitive portabile.

Inițial, inventatorul memoriei cu bule, Andrew Bobeck, a propus o variantă „unidimensională” a memoriei, sub forma unui fir pe care este înfășurată o bandă subțire de material ferromagnetic. Această memorie era numită „twistor”, și chiar a fost produsă în serie, însă a fost rapid înlocuită de varianta „bidimensională”.

Puteți consulta istoria creării memoriei cu bule în [1-3].

2. Principiul de funcționare

Aici vă rog să mă iertați, nu sunt fizician, așa că expunerea va fi foarte aproximativă.

Unele materiale (de exemplu, granatul gadoliniu-galiev) au proprietatea de a se magnetiza într-o singură direcție, iar dacă se aplică un câmp magnetic constant de-a lungul acestei axe, regiunile magnetizate vor forma ceva asemănător cu bulele, așa cum este ilustrat în figura de mai jos. Fiecare bulă are doar câțiva micrometri în diametru.

Să presupunem că avem un film cristalin subțire, de aproximativ 0,001 inci, aplicat pe un substrat nemagnetic, de exemplu, sticlă.

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare
Totul se reduce la bulele magice. Imaginea din stânga - câmpul magnetic nu există, imaginea din dreapta - câmpul magnetic este direcționat perpendicular pe suprafața filmului.

Dacă pe suprafața filmului din acest material se formează un model din material magnetic, de exemplu, permaloid, o aliaje de fier-nichel, bulele se vor magnetiza către elementele acestui model. De obicei, se folosesc modele sub formă de elemente în T sau V.

O bubă singulară poate fi formată de un câmp magnetic de 100-200 erste, aplicat perpendicular pe filmul magnetic și creat de un magnet permanent, iar un câmp magnetic rotativ, format de două bobine în direcțiile XY, permite mișcarea domeniilor de bule de la o "insulă" magnetică la alta, așa cum se arată în imagine. După o schimbare a direcției câmpului magnetic de patru ori, domeniul va migra de la o insulă la cea vecină.

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Toate acestea permit considerarea dispozitivului CMD ca un registru de deplasare. Dacă formăm bule la un capăt al registrului și le detectăm la celălalt, putem trimite un anumit model de bule în cerc și folosi sistemul ca o memorie, citind și scriind biți în momente specifice.

Din acest motiv, rezultă avantajele și dezavantajele memoriei pe CMD: avantajul este independența energetică (atâta timp cât este aplicat un câmp perpendicular, creat de magneti permanenți, bulele nu vor dispărea și nu se vor muta din pozițiile lor), iar dezavantajul constă în timpul mare de acces, deoarece pentru a accesa un bit ales aleatoriu trebuie să rulăm întregul registru de deplasare până la poziția dorită, iar cu cât este mai lung, cu atât sunt necesare mai multe cicluri pentru a face acest lucru.

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare
Modelul elementelor magnetice pe filmul magnetic CMD.

Crearea unui domeniu magnetic se numește în engleză „nucleation” și constă în aplicarea unui curent de câteva sute de miliamperi asupra bobinei pentru aproximativ 100 ns, generând un câmp magnetic perpendicular pe membrană și opus câmpului unui magnet permanent. Acest proces creează o „bula” magnetică — un domeniu magnetic cilindric în membrană. Din păcate, procesul depinde foarte mult de temperatură, ceea ce poate duce la finalizarea eșuată a operațiunii de scriere, în care bula nu se formează sau se formează mai multe bule.

Pentru citirea datelor de pe membrană se folosesc mai multe tehnici.

O metodă, citirea nedistructivă, constă în detectarea câmpului magnetic slab al domeniului cilindric printr-un senzor magnetorezistiv.

A doua metodă este citirea distrugătoare. Bula este dirijată pe un track special de generare/detectare, în care bula este distrusă prin magnetizarea materialului în direcția corectă. Dacă materialul a fost magnetizat în direcția opusă, atunci când bula este prezentă, aceasta va genera un curent mai mare în bobină, iar acest lucru este detectat de circuitul electronic. După aceasta, bula trebuie regenerată pe un track special de scriere.
Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Cu toate acestea, dacă memoria este organizată sub formă de un singur array continuu, aceasta va avea două dezavantaje mari. În primul rând, timpul de acces va fi foarte mare. În al doilea rând, un singur defect în lanț va duce la nefuncționarea completă a întregului dispozitiv. De aceea se creează o memorie organizată sub forma unui track principal și a mai multor tracks subordonate, așa cum este ilustrat în figură.

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare
Memoria cu bule cu un singur track continuu

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare
Memoria cu bule cu trackuri principale/subordonate

Această configurație a memoriei permite nu doar reducerea semnificativă a timpului de acces, ci și fabricarea de dispozitive de memorie care conțin un anumit număr de trackuri defecte. Controlerul de memorie trebuie să le considere și să le evite în operațiunile de citire/scriere.

În figura de mai jos este prezentat un desen al „chip-ului” de memorie cu bule.

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

De asemenea, poți citi despre principiul de funcționare al memoriei cu bule în [4, 5].

3. Intel 7110

Intel 7110 — modul de memorie cu bule, MBM (magnetic-bubble memory) cu o capacitate de 1 Mb (1048576 biți). Acesta este reprezentat pe CDPV. 1 megabit reprezintă capacitatea de stocare a datelor utilizatorului, ținând cont de track-urile redundante, capacitatea totală este de 1310720 biți. Dispozitivul conține 320 de track-uri în formă de buclă (loops) cu o capacitate de 4096 biți fiecare, dar pentru datele utilizatorului sunt utilizate doar 256 dintre acestea, restul sunt rezerva pentru înlocuirea track-urilor „defecte” și pentru stocarea codului de corecție a erorilor redundant. Dispozitivul are o arhitectură „track principal - track-uri secundare” (major track-minor loop). Informațiile despre track-urile active se află într-un track de bootare separat (bootstrap loop). Pe CDPV puteți vedea codul hexazecimal tipărit direct pe modul. Aceasta este harta track-urilor „defecte”, 80 de cifre hexazecimale reprezintă 320 de track-uri de date, track-urile active sunt reprezentate printr-un bit de unu, cele neactive printr-un bit de zero.

Puteți consulta documentația originală pentru modul în [7].

Dispozitivul are un carcasă cu prindere în două rânduri și se montează fără lipire (în soclu).

Structura modulului este prezentată în figura:

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Matricea de memorie este împărțită în două „semi-secțiuni” (half sections), fiecare dintre ele fiind împărțită în două „sferturi” (quads), fiecare sfert având 80 de track-uri secundare. Modulul conține o placă cu material magnetic, situată între două bobine ortogonale, care creează un câmp magnetic rotativ. Pentru aceasta, pe bobine sunt aplicate semnale de curent în formă triunghiulară, deplasate cu 90 de grade una față de cealaltă. Asamblarea din placă și bobine este plasată între magneți permanenți și este introdusă într-un ecran magnetic, care închide fluxul magnetic generat de magneții permanenți și ecranează dispozitivul de câmpurile magnetice externe. Placa este plasată cu un unghi de 2,5 grade, ceea ce creează un câmp de deplasare ușor, direcționat pe parcursul înclinației. Acest câmp este neglijabil în comparație cu câmpul bobinelor și nu interferează cu deplasarea bulelor în timpul funcționării dispozitivului, dar deplasează bulele în poziții fixe față de elementele de permalloy, când dispozitivul este oprit. Componenta perpendiculară puternică a magneților permanenți menține existența domeniilor magnetice cu bule.

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Modulul conține următoarele noduri:

  1. Pistele de memorie. Acestea sunt exact pistele din elemente de permalloy care păstrează și îndrumă bulele.
  2. Generator de replicare. Acesta servește pentru replicarea bulei care este constant prezentă în locul de generare.
  3. Piste de intrare și noduri de schimb. Bulele generate se deplasează pe pista de intrare. Bulele se mișcă către una dintre cele 80 de piste subordonate.
  4. Pista de ieșire și nodul de replicare. Bulele sunt citite din pistele de date fără a le distruge. Bula se împarte în două părți, iar una dintre acestea este direcționată către pista de ieșire.
  5. Detector. Bulele din pista de ieșire ajung la detectorul magnetorezistiv.
  6. Pista de încărcare. Pista de încărcare conține informații despre pistele de date active și inactive.

Mai jos vom analiza aceste noduri mai detaliat. De asemenea, puteți consulta descrierea acestor noduri în [6].

Generarea bulei

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Pentru generarea bulei, la începutul pistei de intrare există un conductor îndoit sub formă de o mică buclă. Aici se aplică un impuls de curent, care creează un câmp magnetic într-o zonă foarte mică, mai puternic decât câmpul magneților permanenți. Impulsul creează în acel loc o bulă, care rămâne constantă, susținută de câmpul magnetic permanent, și circulă de-a lungul elementului de permalloy sub influența unui câmp magnetic rotativ. Dacă trebuie să înregistrăm o unitate în memorie, aplicăm un impuls scurt în bucla conducătoare, iar ca rezultat se nasc două bule (reprezentate în imagine ca Bubble split seed). Una dintre bule se îndreaptă în direcția câmpului rotativ pe pista de permalloy, iar cealaltă rămâne pe loc și își recuperează rapid dimensiunea inițială. Apoi, aceasta se deplasează către una dintre pistele subordonate și face schimb de locuri cu bula care circulă în acea pistă. Aceasta, la rândul ei, ajunge la capătul pistei de intrare și dispare.

Schimbul de bule

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Schimbul de bule are loc atunci când un impuls de curent de formă dreptunghiulară este aplicat în conductorul corespunzător. În acest caz, nu are loc separarea bulei în două părți.

Citirea datelor

Memorie pe domeniile magnetice cilindrice. Partea 1. Principiul de funcționare

Datele sunt direcționate către track-ul de ieșire prin replicare și continuă să circule în track-ul propriu după citire. Astfel, acest dispozitiv implementează o metodă non-zgariatoare de citire. Pentru replicare, bulele sunt direcționate sub un element al perma-allo-ului, sub care se extind. Deasupra se află, de asemenea, un conductor în formă de buclă; dacă se aplică un impuls de curent în buclă, bula se va diviza în două părți. Impulsul de curent constă dintr-o secțiune scurtă cu un curent mare pentru a diviza bula în două părți și o secțiune mai lungă cu un curent mai mic pentru a direcționa bula către track-ul de ieșire.

La capătul track-ului de ieșire se află un detector de bule, un pod magnetorezistiv fabricat din elemente de perma-allo, formând un circuit de lungime mare. Când bula magnetică ajunge sub elementul de perma-allo, rezistența sa se modifică, iar la ieșire apare o diferență de potențial de câțiva milivolți. Forma elementelor de perma-allo este aleasă astfel încât bula să se miște de-a lungul acestora; la capăt, ajunge pe un bus special de "protecție" și dispare.

Redundanță

Dispozitivul conține 320 de track-uri, fiecare având 4096 de biți. Dintre acestea, 272 sunt active, iar 48 sunt de rezervă, inactivate.

Track-ul de boot (Boot Loop)

Dispozitivul conține 320 de track-uri de date, dintre care 256 sunt destinate stocării datelor utilizatorului; celelalte pot fi defecte sau pot servi ca rezervă pentru înlocuirea celor defecte. Un track suplimentar conține informații privind utilizarea track-urilor de date, câte 12 biți pentru fiecare track. Când sistemul este alimentat, acesta trebuie să fie inițializat. În procesul de inițializare, controllerul trebuie să citească track-ul de boot și să scrie informațiile din acesta într-un registru special al chip-ului de formatare/senzor. Atunci controllerul va utiliza doar track-urile active, iar cele inactive vor fi ignorate, fără a se face scriere în ele.

Stocarea datelor — structură

Din perspectiva utilizatorului, datele sunt stocate în 2048 de pagini, fiecare având 512 biți. 256 de biți de date, 14 biți pentru codul de corecție a erorilor și 2 biți neutilizați sunt păstrați în fiecare jumătate a dispozitivului.

Corecția erorilor

Detectarea și corectarea erorilor poate fi efectuată de către un circuit integrat al senzorului de curent, care conține un decodor de cod de 14 biți, corectând o eroare unică de până la 5 biți (eroare de tip burst) în fiecare bloc de 270 de biți (inclusiv codul în sine). Codul este adăugat la sfârșitul fiecărui bloc de 256 de biți. Codul de corecție poate fi utilizat sau nu, la discreția utilizatorului, verificarea codului putând fi activată sau dezactivată în controller. Dacă codul nu este utilizat, toți cei 270 de biți pot fi folosiți pentru datele utilizatorului.

Timp de acces

Câmpul magnetic se rotește cu o frecvență de 50 kHz. Timpul mediu de acces la primul bit al primei pagini este de 41 ms, aceasta fiind jumătate din timpul necesar pentru a efectua un ciclu complet pe urma plus timpul necesar pentru parcugerea urmărilor de ieșire.

320 de piste active și de rezervă sunt împărțite în patru părți a câte 80 de piste fiecare. Această organizare reduce timpul de acces. Cotele sunt adresate în perechi: fiecare pereche de cote conține biți pari și impari ai cuvântului, respectiv. Dispozitivul conține patru piste de intrare cu patru bule inițiale și patru piste de ieșire. Pistele de ieșire folosesc două detectoare, organizate astfel încât într-un singur detector să nu ajungă niciodată două bule din două piste simultan. Astfel, cele patru fluxuri de bule sunt multiplexate și transformate în două fluxuri de biți, fiind stocate în registrele cipului senzorului de curent. Acolo, conținutul registrelor este din nou multiplexat și transmis printr-un interfață secvențială către controller.

În a doua parte a articolului, vom examina mai detaliat schema controller-ului de memorie cu bule.

4. Lista de referințe

Autorul a descoperit în cele mai întunecate colțuri ale rețelei și a salvat pentru dumneavoastră o mulțime de informații tehnice utile despre memoria pe CMB, istoria acesteia și alte aspecte conexe:

1. https://old.computerra.ru/vision/621983/ — Cele două memorie ale inginerului Bobek
2. https://old.computerra.ru/vision/622225/ — Cele două memorie ale inginerului Bobek (partea 2)
3. http://www.wikiwand.com/en/Bubble_memory — Memoria cu bule
4. https://cloud.mail.ru/public/3qNi/33LMQg8Fn Adaptarea memoriei magnetice cu bule într-un mediu standard de microcomputer
5. https://cloud.mail.ru/public/4YgN/ujdGWtAXf — Memoria cu bule Texas Instruments TIB 0203
6. https://cloud.mail.ru/public/4PRV/5qC4vyjLa — Manual de componente de memorie. Intel 1983.
7. https://cloud.mail.ru/public/4Mjv/41Xrp4Rii 7110 1-Megabit Memorie cu bule

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster