Continut 5.1.Conectarea mediilor de
stocare a datelor 5.1. Conectarea mediilor de stocare a datelor - continuareController-e ESDIAcest tip de controller (Enhanced Small Device Interface) a fost
realizat de firma Maxtor, fiind superior tipului descris anterior, deoarece
se pot obtine rate de transfer controller-harddisk de ordinul a 10-15 MB/s si
chiar la 24 MB/s pentru controller-ele superioare, de tipul Super ESDI. Rata
de transfer controller-RAM este cuprinsa intre 850 si 900 de KB/s, iar discul
prezinta între 32 si 38 sectoare per pista. Fata de controller-ele ST, ESDI dispun de o "inteligenta
proprie", nemaifiind nevoie de un schimb intens de informatii de control
pentru operatiile de citire/scriere, schimb care s-ar fi desfasurat, în mod
normal, între controller si harddisk. Acest flux de comenzi si informatii de
control fiind mai mic, se obtin rate de transfer superioare tipului ST.
Totodata, unitatea de codare-decodare EDU (Encoding-Decoding Unit) a fost
mutata pe unitatea de disc, prin aceasta obtinându-se o micsorare a
cablurilor de legatura între controller si EDU. Cum pe acest traseu semnalele
circula în format analogic, ele pot suferi degradari sau alterari, fapt care
duce la aparitia de erori la scriere/citire. Cu cât traseul de legatura
EDU-controller este mai mic, cu atât mai mult scade acest risc. În plus, la controller-ele ESDI se foloseste o memorie tampon pentru
transmisia datelor, fapt care duce la o crestere a securitatii datelor,
inclusiv la cresterea vitezei de transmisie. Acest controller cuprinde si
mecanisme de control si corijare a erorilor. Controller-e SCSIDatorita diverisitatii tipurilor de periferice si a unitatilor de
stocare oferite pe piata, s-a simtit nevoia unui tip de interfata care sa
poata gestiona cât mai multe dintre acestea, deci o interfata orientata spre
sistem (spre deosebire de ST si ESDI, care erau interfete orientate spre
dispozitiv). O astfel de interfata universala este SCSI (Small Computer
System Interface), termen a carui pronuntie este la fel cu cea a cuvântului
"scuzzy" (engl.). Acest sistem nu este un controller propriu-zis,
ci mai degraba o arhitectura de magistrala. Acest controller lucreaza ca interfata I/O paralela pe 8 biti, având
fata de precedentele un spor deosebit de viteza. Pentru prima data, conceptul
de realizare a interfetei sistem-unitate de stocare a fost schimbat, prin
mutarea si integrarea controller-ului propriu-zis în cadrul unitatii de
stocare. Legatura dintre controller (si implicit discuri) si sistemul de
calcul (microprocesor) a fost realizata prin intermediul unui dispozitiv
numit Host-Adapter, cu rolul de preluare a semnalului furnizat de controller
- un format special SCSI - si de transformare (adaptare) a acestuia în semnal
transportabil pe magistralele sistemului, adica în format ISA, EISA, MCA,
VLBus sau PCI (PCI-SCSI, VLBus-SCSI, PCI-FastSCSI etc). Spre deosebire de controller-ele ST si ESDI, la care se puteau cupla
maxim doua unitati, la acest tip se pot cupla pâna la 7 unitati (sau 32 la
ora actuala, pentru alte standarde SCSI îmbunatatite): harddisk-uri, unitati
CD-ROM, diferite dispozitive periferice ca scanner-e, imprimante, plotter-e etc.
Dupa cum s-a spus, host-adapter-ul joaca rolul de magistrala I/O. Pe aceasta
magistrala exista 8 (SCSI-1), 16 sau 32 de noduri (pentru versiunile noi de
SCSI) si anume un calculator gazda si 7 periferice (respectiv 1 si 15 sau 1
si 31). Fiecarei unitati îi este asignata o adresa proprie, iar datele,
pentru a ajunge la destinatie, trec de la o unitate la alta, parcurgând
fiecare nod, pâna ajung la dispozitivul destinatie (vezi figura 2.26).
Fiecare extensie de periferic are propriul sau host-adapter dedicat.
Pentru a folosi aceasta magistrala nu este nevoie de acordul
controller-ului, deoarece perifericele cuplate vor emite ele însele semnale
despre operatia desfasurata (scriere/citire). Exista, desigur, un sistem de
prioritati, functie de adresa asignata fiecarui periferic atasat. Toate
perifericele primesc indicatoare, în functie de activitatea pe care o
desfasoara. Aceste indicatoare de activitate sunt de periferic intiator
(emitator-source) si periferic destinatie (tinta-target). La fiecare actiune,
perifericul initiator lanseaza o comanda (codificata pe 6 octeti pentru
magistralele de 20 biti, sau pe 10 octeti pentru magistralele de 32 de biti)
catre un anumit periferic destinatie. Aceasta comanda este emisa într-un
format specific, numit CDB (Command Descriptor Block). În cadrul
acestui cod de comanda, primii 8 biti realizeaza asa-numitul OpCode
(Operating Code = codul operatiei). Exista 256 de comenzi diferite care au ca
rezultat actiuni de citire, scriere, formatare etc. Practic, datorita CDB se
poate scrie orice driver pentru operatii SCSI, aceasta fiind o interfata
orientata spre sistem si un standard de magistrala, netinând cont de
echipamentul cuplat (sistemul de calcul este insensibil la perifericul
conectat). Un alt aspect diferit pentru SCSI este felul cum vede acesta organizat
discul si anume ca o însiruire de blocuri de date numerotate, nemaitinând
seama de cilindri, piste, capete sau sectoare. De aici rezulta un mare
avantaj la proiectarea controller-elor, care nu mai sunt construite dedicat
pentru anume discuri si deci nu mai sunt supuse unor restrictii de proiectare
si constructie. Magistrala SCSI transfera datele
prin doua moduri:
Controller-ul SCSI executa la fiecare transfer de date pe magistrala
paralela un control de paritate, fapt care duce la cresterea securitatii
datelor. Acest tip de controller comunica cu perifericele printr-un sistem de
instructiuni (CCS - Common Commanded Set), spre deosebire de celelalte
controller-e care foloseau pentru comunicatie numai semnale electrice de
anumite nivele. Vorbind despre transferul între controller si calculator,
apar trei metode utilizate:
Bus-mastering este un sistem de semaforizare si protocoluri, prin care
o componenta a sistemului poate deveni master-bus în sistem, exploatând
singura si independenta resursele de transport ale magistralei, fara a fi
"deranjata" de alte extensii pretendente la magistrala.
Bus-masteringul este implementat de o unitate speciala, numita ISP -
Integrated System Peripheral, care va aloca postul de master-bus unei
extensii de periferic, la cererea acesteia. Bineînteles ca exista un sistem
de prioritati, care va scuti sistemul de calcul de unele conflicte de acces
la magistrala (vezi figura 2.27).
Aceasta metoda permite unui dispozitiv SCSI sa opereze cu memoria RAM
(scrieri/citiri) fara acordul microprocesorului, acesta dedicându-se altor
procese. Controller-ele de acest tip sunt recomandate, datorita vitezelor de
transmisie sporite. La sfârsitul magistralei SCSI, formata fizic din cablu cu
50 de linii si maximum 6 metri lungime, în perifericele terminale, se
monteaza un terminator, constând dintr-un circuit integrat specializat, ori
dintr-o rezistenta sau un ansamblu de rezistente, pentru a evita erorile
aparute în situatia reflexiilor de semnal. Pe acest cablu datele se transmit
numai pe 8 linii, iar o a 9-a linie este destinata transmiterii bitului de
paritate. Controller-ele SCSI sunt ideale în modul de lucru multitasking,
deoarece unitatile periferice cuplate pot lucra în paralel la cereri
simultane de sarcini (task-uri). Un alt avantaj oferit de SCSI consta în
faptul ca odata primita comanda de la microprocesor, controller-ul preia
gestiunea task-ului, microprocesorul ocupându-se de alte activitati. Toata
electronica si logica de comanda a acestui tip de controller se afla
integrata în unitatea de disc SCSI, iar discurile sunt organizate pe baza
metodei ZBR (Zone Bit Recording). Sub-standardul SCSI-2 a aparut datorita problemelor de compatibilitate
ridicate de comunicatia sistemelor SCSI cu terminalele (având în vedere
multitudinea de modele oferite de producatori). De aceea s-a conceput un
controller total independent de terminal. Setul de comenzi uzuale (CCS) a
fost refacut complet, eliminându-se anumite comenzi care produceau unele
necazuri la transmisia de date. Acest tip recunoaste pâna la 10 periferice
cuplate, pentru fiecare dispunând de un set aparte de comenzi (spre deosebire
de primul tip SCSI, în care acesta nu facea deosebire între natura
diferitelor periferice). Datele se transfera cu viteza de pâna la 50 MB/s, în
mod sincron, pe magistrale de 16 biti. Sub-standardul SCSI-3 este un
controller I/O pe 16/32 de biti cu rata de transfer de maxim 20 MB/s.
Controller-ele SCSI pe 32 de biti au fost dotate cu doua denumiri si anume
Fast si Wide (pentru cele care depasesc 20 MB/s, respectiv pentru cele care
lucreaza pe 32 de biti). Pentru Fast SCSI, datele sunt transmise sincron cu o rata de 30-40
MB/s. Este un dispozitiv extrem de rapid, ideal pentru bancile de date în
retea, când magistralele I/O devin aglomerate. Wide SCSI transmite de
asemenea datele sincron, pe magistrale de 16/32 de biti, la viteze de 35-45
MB/s. Cuplarea este posibila prin cabluri panglica, având 68+1 sau 110 fire.
Toate controller-ele SCSI dispun de BIOS încorporat. Discurile coordonate de
acest standard prezinta structura înregistrarii de tip RLL - RLL (1,7), RLL
(2,7) - si MFM. Controller-e IDEController-ul IDE (Integrated Device Electronics) mai este cunoscut si
sub numele de AT-Bus, deoarece îl pot utiliza numai calculatoarele AT.
Aceasta se datoreaza modului specific de lucru pe 16 biti, minimul folosit
pentru magistralele de date AT. Controller-ul IDE împreuna cu EDU se afla integrate pe unitatea de
harddisk, pentru cuplarea cu calculatorul fiind necesar un host-adapter,
cuplat într-un slot al placii de baza - ca la SCSI (deci placa montata în
calculator nu este controller-ul propriu-zis, ci un host adapter). Exista
variante constructive atât pentru magistrale ISA, EISA, VLBus, cât si pentru
PCI. Host-adapter-ul IDE permite cuplarea a maximum doua unitati
harddisk/banda magnetica sau, în cazul controller-elor combinate, la acelasi
controller pot fi cuplate si maxim doua unitati floppy disk. Pe aceeasi
placa, de obicei un Multi I/O, sunt prezente si interfetele seriale/paralele,
adaptorul de jocuri (Game Adapter) etc. Capacitatea maxima a
harddisk-urilor care se pot cupla la un astfel de controller este de 528 MB,
datorita limitarii impuse de BIOS: 63s x 16c x 1024 x 512 = 528 MB, unde:
Pentru a elimina aceasta limitare de capacitate, standardul IDE a fost
extins la un nou standard care permite între altele cuplarea unor unitati de
stocare cu capacitate crescuta. De asemenea, s-a revizuit si numarul de
unitati care pot fi cuplate, acesta crescând la 4 (doua harddisk-uri si doua
unitati de banda, CD-ROM etc). Acest nou dispozitiv este controller-ul E-IDE (Enhanced IDE). În acest
caz sunt de fapt doua controller-e integrate pe aceeasi placa, unul primar si
unul secundar. Cele doua canale lucreaza independent, pentru fiecare canal
rulând câte o comanda. Astfel, daca la un sistem se cupleaza doua
harddisk-uri pe acelasi canal (pentru fiecare canal se poate conecta un
cablu-panglica cu câte doua conectoare pentru cele doua harddisk-uri), acesta
va fi mult mai lent decât un sistem cu cele doua harddisk-uri cuplate câte
unul pe fiecare canal (vezi figura 2.28).
EIDE foloseste metodele de accesare descrise la standardul SCSI si
anume PIO, DMA si în special Bus-mastering, când adaptorul devine master pe
magistrala, transmitând datele direct în memorie. Daca la standardul IDE nu
se puteau cupla harddisk-uri mai mari de 528 MB, la noul standard aceasta
problema a disparut, datorita driver-ului EIDE implementat, ajungându-se la
capacitatea de 8,5 GB. De asemenea, si viteza de transfer a crescut la 11-13
MB/s. Doua dintre comenzile care apartin setului intern IDE sunt Read
Multiple si Write Multiple, prin care se poate face trecerea de la
citirea/scrierea uni-sector la cea multi-sector, faza în care se pot
scrie/citi simultan mai multe sectoare. Comenzile au ca rezultat o crestere
foarte mare a vitezei de transfer si de aceea este bine ca atunci când se
dispune de o unitate de harddisk IDE sau EIDE sa se activeze aceste comenzi
prin modificarea optiunii CMOS, IDE HDD Block Mode. Host-adapter-ele sunt
construite special pentru diverse arhitecturi de magistrala, cum ar fi:
ATA-IDE pentru ISA/EISA, MCA-IDE pentru MCA, VLBus-IDE sau VLBus-EIDE pentru
VLBus si PCI-EIDE sau ATA-2, IDE-2 pentru PCI. Legatura cu controller-ul se
face prin cabluri cu 40 de fire prevazute cu socluri. Pentru ca sistemul sa lucreze la capacitatea maxima, având în vedere
vitezele de transfer foarte mari, este bine ca magistrala sa fie de viteza
mare, de tip VLBus sau PCI. În caz contrar, magistrala va diminua
performantele atinse de acest standard. Controller-e pentru CD-ROMÎn cazul dotarii calculatorului cu o unitate CD-ROM, se impune a fi
specificat nivelul la care se lucreaza cu CD-ul, si anume profesional sau
amator. În primul caz, cea mai buna solutie este alegerea unui controller de
tip SCSI sau cel putin a unui controller de tip EIDE, prevazut cu
posibilitati I/O pentru CD-ROM, care sa asigure rate de transfer
controller-calculator de cel putin 300 KB/s. În plus, exista multe aplicatii
pretentioase care cer, în mod special, prezenta unui controller SCSI. În cel de-al doilea caz, când pretentiile pentru viteza scad, un
controller AT Bus (IDE) satisface prin rata sa de transfer, de circa 150
KB/s. Oricum, cel mai bine este ca la achizitionarea unei unitati CD-ROM sa
fie luat si controller-ul recomandat în cartea tehnica de firma constructoare
sau de firma care comercializeaza unitatea, pentru a evita ca între unitate
si controller, la cuplare, sa apara conflicte de protocol, transmisie sau pur
si simplu incompatibilitate. Cache controllerÎn acest caz nu este vorba despre un nou standard de
interfata-controller pentru medii de stocare sau periferice, ci de o solutie
practica, din ce în ce mai folosita pentru diverse tipuri de controller-e si
anume instalarea pe placa controller-ului a unei memorii tampon de tip cache,
care va îmbunatati considerabil performantele unitatii cuplate. Functional,
aceste controller-e nu difera de celelalte tipuri, fara cache, doar ca în
acest caz în lantul de transmisie memoria cache intervine ca intermediar în
accelerare.
Controller-ul, lucrând cu blocuri de date de scris/citit, va transmite
aceste blocuri mai întâi în memoria cache, de aici acestea fiind preluate fie
de mediul de stocare, fie de memoria RAM. În general, un controller de
calitate dispune de 1-2 MB de memorie cache (vezi figura 2.29). La o operatie de citire de pe harddisk, controller-ul nu va mai cauta
pe acesta ci, pe baza adreselor pe care le-a memorat anterior (adrese ale
blocurilor cu care a operat), va cauta mai întâi în memoria cache locul
dorit. Daca acesta exista stocat în memoria cache, va fi direct transferat în
RAM, în caz contrar cautarea facându-se pe disc. Probabilitatea gasirii
blocului dorit (cache hit) în memoria cache este destul de mare, datorita
faptului ca, la un moment dat, sistemul de calcul va rula doar o anumita
bucla (segment) de program, de 64 KB, în care vor fi vehiculate aproximativ
aceleasi blocuri de date si instructiuni. Sporul de viteza obtinut prin folosirea memoriei cache este foarte
mare, datorita lipsei factorilor de întârziere care intervin în operatiile de
citire/scriere curente (pozitionare a capului unitatii în zona în care este
stocat blocul respectiv pe disc, factor de întretesere etc.). În ceea ce priveste modul în care memoria cache este eliberata de
continut, se foloseste metoda LRU (Last Recently Used), având la baza o
statistica memorata a gradului de accesare a blocurilor de date. Astfel,
blocul de date cel mai putin utilizat, deci cu cele mai mici sanse de a fi
cerut de sistemul de calcul, va fi sters, disponibilizând astfel spatiul
pentru alte blocuri. |
|