Continut: 5.1.Conectarea mediilor de
stocare a datelor 5.1. Conectarea mediilor de stocare a datelorOrice
sistem de stocare a datelor: harddisk, floppy disk, banda streamer sau
unitate de disc optic, se conecteaza la sistemul de calcul prin intermediul
unei interfete (ansamblu hardware), care va asigura doua operatii de baza cu
aceste medii, si anume scrierea si citirea datelor. Aceste
interfete poarta denumirea generala de controller-e sau cuploare (de disc,
streamer, CD-ROM etc.). Astfel, în cazul citirii de pe mediul de stocare,
rolul interfetei este de a localiza pozitia si de a citi datele specificate,
respectiv de a le adapta formatul într-unul care poate fi utilizat si
"înteles" de componentele sistemului de calcul, în special de
memoria RAM si microprocesor. De asemenea, în cazul scrierii de noi date,
aceasta interfata va realiza operatia inversa, adica localizarea pozitiei
unde vor fi depuse acestea, transformând datele preluate într-un format
special în care pot fi scrise pe mediul de stocare. Bineînteles,
fiecare operatie de acest gen are ca etapa de start (la citire) si finala (la
scriere), operatia de transformare a schimbarilor de flux magnetic de la
nivelul discurilor în unitati de semnal (care vor fi interpretate ca biti), respectiv de a transforma unitatile binare în fluxuri
magnetice care vor realiza functia de scriere. Comanda controller-ului este
realizata prin intermediul unor registre interne. Dupa ce microprocesorul a
transmis comanda catre controller, acesta din urma va lucra independent, în
timp ce microprocesorul se va dedica unei alte activitati. La încheierea
operatiei comandate, controller-ul va genera un semnal catre microprocesor,
corespunzator terminarii operatiei. În
ceea ce priveste accesul la memorie, controller-ele sunt concepute sub doua
forme: în primul caz este vorba despre cele care nu accepta transmisia tip
DMA (Direct Memory Access) si care, dupa citirea unui bloc de
informatii de la periferice, încep sa transfere secvential informatia în
memoria RAM (octeti sau cuvinte, în functie de dimensiunea magistralei),
proces controlat si gestionat de microprocesor. Aceasta metoda este relativ
lenta în transmisia datelor, deoarece pentru fiecare operatie a
controller-ului, acesta va cere acceptul sau va astepta comanda
microprocesorului. În plus, microprocesorul supravegheaza transferul de date
pe toata durata sa. Cea de a doua metoda este folosita de controller-ele
dotate cu posibilitatea transmiterii DMA, transferul fiind efectuat integral
de controller, microprocesorul nefind obligat sa supravegheze procesul.
Implicit, viteza generala a sistemului creste prin degrevarea microprocesorului
de aceasta sarcina. O
problema care apare în cazul harddisk-urilor este cea în care controller-ele
nu ar avea posibilitatea retinerii datelor citite, fiind obligate sa
efectueze transferurile catre memorie, la fiecare citire, direct prin magistrala.
Poate aparea foarte frecvent pericolul magistralei ocupate (Busy),
fapt care ar duce la pierderea informatiei citite. În plus, dupa cum se va
arata în continuare, vitezele de transfer controller-RAM si
controller-discuri difera foarte mult: în cazul primului transfer, acesta se
desfasoara la nivel de MB/s, iar în cel de-al doilea caz, la nivel de KB/s.
Desigur, trebuie sa existe o compensare a acestei
diferente. Acestea au fost motivele dotarii controller-elor cu memorii tampon
(buffer-e), cu rol de stocare temporara a blocurilor de informatii
citite din mediul de stocare, pâna când se primeste acceptul scrierii în RAM
(magistrala libera - blocul de date citit anterior a fost deja transferat în
RAM). Un alt aspect luat în considerare la constructia controller-elor este
legat tot de harddisk-uri si intervine în procesul de citire. Intervalul de
timp necesar controller-ului pentru golirea buffer-elor în memorie este prea
mare pentru ca sectorul care deja se afla sub capul de citire al unitatii sa
poata fi citit si memorat în acest buffer. Nu trebuie neglijata, asadar,
viteza foarte mare cu care se roteste discul. Practic,
sectorul urmator celui memorat va fi pierdut, putând fi citit abia la o a
doua trecere a acestuia prin dreptul capului de
citire. De aceea, la completarea sectoarelor pe harddisk-uri, se impune ca
între doua sectoare succesive din punct de vedere logic sa existe un anumit
numar de sectoare, fara legatura cu datele care sunt continute de sectoarele
succesive logic.Acest factor de salt se numeste factor de întretesere (interleave
sau interlace). El este fixat la formatarea discului, când fiecare
sector fizic se numeroteaza, în dimensionarea sa intervenind si timpul de
acces al unitatii de disc. Controller-ele
au o influenta deosebita asupra vitezei de transfer
a datelor. Privitor la aceasta, un factor important este rata de transmisie
de pe magistrala. Astfel, oricât de rapide ar fi unitatea de stocare si
controller-ul aferent, având deci o rata de transmisie unitate-controller
foarte buna, daca magistralele calculatorului nu se ridica la acelasi nivel
de performanta, investitia în unitati si controller-e de calitate este
inutila, deoarece magistrala sistemului va "gâtui" transferul
controller-sistem, aducându-l la nivelul la care acesta poate efectua o
transmisie. O alta caracteristica a controller-elor, care poate îmbunatati
calitatile unitatii în ansamblu (scazând timpul de acces cu circa 25 %), este
aceea de a retine comenzile de scriere/citire într-o anumita ordine, care are
drept criteriu de ierarhizare distanta dintre capetele de citire/scriere si
pozitia fizica pe disc a datelor care trebuie citite. În acest mod se pot
evita deplasari neergonomice ale capetelor de scriere/citire ce ar duce la
cresterea timpului de acces (vezi figura 1).
În
figura 1, capul de citire/scriere va citi mai întâi sectorul 3, care este cel
mai aproape de pozitia capului, dupa care va citi sectoarele 4 si 2, sarind
apoi la sectorul 1, desi acesta a fost primul cerut. Pâna la citirea efectiva
a sectorului 1, datele continute de sectoarele 2, 3 si
4 (citite deja) vor fi retinute în buffer-ul controller-ului. O problema
importanta este cea generata de erorile de citire/scriere, care apar destul
de frecvent în cazul utilizarii intense a harddisk-ului (cum este situatia
utilizarii memoriei virtuale, create pe disc - fisiere temporare - swap
files). Metoda de verificare a corectitudinii rezida din calcularea sumelor
de control (CRC - Cyclic Redundancy Check), constând în suma unui
anumit numar prestabilit de biti ai informatiei scrise. În
momentul scrierii datelor pe disc, aceste sume sunt calculate si memorate.
Valoarea este stocata pe disc si citita la fiecare accesare a informatiei respective. Odata cu citirea informatiei,
suma de control este recalculata si apoi comparata
cu valoarea anterior stocata. În cazul în care cele doua valori nu sunt
identice, este activat un mesaj de eroare, intervenind procesele de corectie.
Aceasta suma este reactualizata la fiecare scriere pe disc a
informatiilor. Controller-ele
pot transmite datele serial sau paralel. Transmisia seriala este mult mai
simpla, deci mai ieftina, datele transmitându-se pe o singura linie sub forma
unor "trenuri" de date, bit cu bit. Datele vor forma cozi pâna când
magistrala se va elibera pentru a prelua un nou transfer. Este un mod de
transmisie foarte lent si de aceea este rar utilizat în sistemele
performante, folosindu-se mai mult la cele lente si nepretentioase. Transmisia
paralela se desfasoara simultan pe opt linii si este în mod normal de 8 ori
mai rapida decât cea seriala. Este o solutie mai scumpa decât precedenta, dar
mult mai avantajoasa prin cresterea vitezei de transfer.
La scrierea pe disc, odata cu informatia propriu-zisa, sunt scrise si
asa-numitele informatii de tact, cu rol de a stabiliza viteza de citire/scriere.
Avem în vedere variatiile de turatie ale motorului care antreneaza discurile
si pozitia informatiei pe suprafata. Aceste informatii de tact însotesc pe
disc informatiile propriu-zise si apar sub forma unor biti de tact (exista
unele tipuri de controller-e la care informatiile de tact nu sunt asimilate
la scrierea fiecarui bit de date, ci sunt scrise într-o portiune speciala a
discului). Principalele tipuri de controller-e, respectiv unitati de harddisk
asociate, folosite în configuratiile clasice sunt:
Fiecare
din aceste tipuri are propriile dezvoltari ulterioare, variante mai fiabile,
cu viteze de transfer superioare, deci solutii tehnice mai performante,
derivate din aceste tipuri de baza. Controller-e STAcest
tip de controller este printre cele mai vechi si a fost dezvoltat de
corporatia Seagate Technology (ST). În functie de modul în care se face
înregistrarea pe harddisk, exista trei subtipuri de controller-e ST. Primul
tip este NZR (No Return to Zero). La acest tip, informatiile de tact
sunt scrise pe anumite suprafete de disc protejate (fata de modelele mai
avansate, la care aceste informatii sunt scrise simultan cu informatia, în
aceleasi zone de date). Procedeul de scriere este simplu. Fluxul magnetic pe
suprafata activa se schimba la schimbarea starii logice (din 0 în 1 sau
invers) si ramâne la fel pentru bitii identici.
Fig. 5.1.2. Realizarea scrierii
pentru controller-e ST tip NRZ. Acest
mod de înregistrare este primitiv si ridica probleme mari la sincronizare.
Rata de transfer controller-harddisk, în acest caz, este de sub 2 MB/s, iar
rata de transfer controller-RAM de circa 120 KB/s. Al doilea tip de
controller din categoria ST foloseste o metoda de scriere prin modulare în
frecventa (FM - Frequency Modulation), metoda în care, simultan cu
înregistrarea datelor, se înregistreaza si informatiile de tact. Astfel,
pentru fiecare bit de informatie se mai ataseaza un bit suplimentar, de tact
(1 devine 11 si 0 devine 10). Acest procedeu ocupa foarte mult spatiu
(practic dublu), datorita bitilor de tact, fiind necesara (tehnologic) o
densitate de înregistrare mica. Controller-ul de acest tip este dotat cu BIOS
integrat, iar magistrala de date este seriala (volum mic de date integrate
transferate la viteza mica). Si aici exista greutati de sincronizare,
datorita aparitiei sirurilor lungi de biti identici. Rata de transfer
controller-harddisk este de 2,5-3 MB/s.
Procedeul
FM a evoluat apoi la MFM (Modified Frequency
Modulation), obtinându-se o noua categorie de discuri ST. Informatia de
tact este stocata doar în grupele de biti care nu contin biti setati (1) si
nici în grupa anterioara nu exista vreun astfel de bit. Asadar, un 1 se
transforma în grupa 01, iar valoarea 0 se transforma în grupa 00 sau 10, dupa
cum a existat (sau nu) valoarea 1 în grupa anterioara. În acest caz discul
prezinta 17 sectoare per pista si 512 octeti per sector. Sensul curentului
din bobina se schimba înaintea fiecarei cifre 1.
Privind
comparativ cele doua metode de scriere se observa ca bobina este comandata
diferit, în primul caz (FM) fiind necesar ca sensul curentului prin bobina
capului de citire/scriere sa se schimbe de 16 ori, iar în cazul MFM de 8 ori.
De aici rezulta ca viteza de scriere în cazul MFM este mult mai mare,
deoarece dispozitivul de comutare electronica a sensului prin bobina va lucra
mai putin. În cazul MFM, rata de transfer controller-harddisk este de circa 5
MB/s, iar rata de transfer controller-RAM, de 400-600 KB/s. Un sistem de
înregistrare mai evoluat este cel obtinut prin metoda RLL (Run Length
Limited), sistem cu care se obtin economii de spatiu de 45-50 %, fata de
metodele anterioare. În aceasta metoda, între doi biti succesivi cu valoare 1
se intercaleaza între 2 si 7 biti cu valoare 0, tinând cont si de bitii care
urmeaza, rezultând o codificare speciala. În acest mod se obtin multe siruri
cu configuratia 100…1 (sau minim 2 zerouri dupa 1), siruri care se pot stoca
pe un spatiu foarte restrâns). Pentru aceste controller-e, rata de transfer
controller-harddisk este de 7,5-9 MB/s, rata de transfer controller-RAM este
de 650-700 KB/s, iar discul prezinta 26 de sectoare per pista la 512 octeti
per sector. Toate aceste interfete sunt seriale, iar legaturile se fac prin
cabluri panglica (cu 20 de linii - magistrala de date si 34 de linii pentru
comenzi). Unitatile harddisk se cupleaza prin cabluri panglica cu 6,
respectiv 20 de linii. Tipurile de controller-e ST pot suporta pâna la doua
discuri legate simultan si au integrate pe placa
circuite electonice de atenuare si compensare a erorilor de scriere/citire.
Tot în aceasta categorie intra si controller-ele care asigura cuplarea floppy
disk-ului la sistem, folosindu-se metoda MFM. Fiecare interfata din aceasta
categorie este dotata cu propriul BIOS, integrat de asemenea pe placa.
Adaptarea semnalelor pentru magistrala reprezinta înca o functie integrata a
placii controller. O serie de parametri care privesc lucrul cu discul se pot
programa si regla din softul (driver-ul) care se livreaza, de obicei, odata cu placa controller. |
|