Ce este memoria cache pe hard disk? Ce este un buffer de hard disk și de ce este necesar. Ce este un cache pe un hard disk?

Permiteți-mi să vă reamintesc că utilitarul Seagate SeaTools Enterprise permite utilizatorului să gestioneze politica de stocare în cache și, în special, să comute cele mai recente unități Seagate SCSI între două modele diferite de stocare în cache - Modul Desktop și Modul Server. Acest element din meniul SeaTools se numește Performance Mode (PM) și poate lua două valori - On (Desktop Mode) și Off (Server Mode). Diferențele dintre aceste două moduri sunt pur software - în cazul Desktop Mode, memoria cache a hard disk-ului este împărțită într-un număr fix de segmente de dimensiune constantă (egale), iar apoi sunt folosite pentru a stoca în cache accesele de citire și scriere. Mai mult, într-un articol separat de meniu, utilizatorul poate chiar atribui el însuși numărul de segmente (gestionați segmentarea cache): de exemplu, în loc de cele 32 de segmente implicite, introduceți o valoare diferită (în acest caz, volumul fiecărui segment va scădea proporţional).

În cazul modului Server, segmentele bufferului (cache-ul discului) pot fi (re)alocate dinamic, modificându-și dimensiunea și numărul. Microprocesorul (și firmware-ul) discului în sine optimizează dinamic numărul (și capacitatea) segmentelor de memorie cache în funcție de comenzile primite pentru execuție pe disc.

Apoi am putut afla că utilizarea noilor unități Seagate Cheetah în modul „Desktop” (cu segmentare fixă ​​în mod implicit - în 32 de segmente) în loc de „Server” implicit cu segmentare dinamică poate crește ușor performanța discului într-o serie de sarcini. mai tipic pentru un computer desktop sau servere media. Mai mult, această creștere poate ajunge uneori la 30-100% (!) în funcție de tipul de sarcină și de modelul de disc, deși în medie este estimată la 30%, ceea ce, vedeți, nu este nici rău. Printre astfel de sarcini se numără munca de rutină a unui computer desktop (WinBench, PCmark, teste H2bench), citirea și copierea fișierelor, defragmentarea. În același timp, în aplicațiile pur server, performanța unităților aproape nu scade (dacă scade, este nesemnificativă). Cu toate acestea, am putut observa un câștig notabil din utilizarea modului desktop doar pe unitatea Cheetah 10K.7, în timp ce sora sa mai mare Cheetah 15K.4 s-a dovedit a fi aproape indiferentă în ce mod să lucreze pe aplicațiile desktop.

Încercând să înțeleg în continuare modul în care segmentarea cache-ului acestor hard disk-uri afectează performanța în diverse aplicații și care moduri de segmentare (câte segmente de memorie) sunt mai benefice la efectuarea anumitor sarcini, am investigat efectul numărului de segmente cache asupra performanței Seagate Cheetah conduce 15K.4 într-o gamă largă de valori - de la 4 la 128 de segmente (4, 8, 16, 32, 64 și 128). Rezultatele acestor studii sunt prezentate atenției dumneavoastră în această parte a revizuirii. Aș dori să subliniez că aceste rezultate sunt interesante nu numai pentru acest model de unitate (sau unități Seagate SCSI în general) - segmentarea memoriei cache și selectarea numărului de segmente este una dintre principalele domenii de optimizare a firmware-ului, inclusiv unitățile desktop cu un Interfață ATA, care sunt acum echipate în principal cu un buffer de 8 MB. Prin urmare, rezultatele performanței unității descrise în acest articol în diferite sarcini în funcție de segmentarea memoriei sale cache sunt, de asemenea, relevante pentru industria unităților ATA desktop. Și, deoarece metodologia de testare a fost descrisă în prima parte, să trecem direct la rezultatele în sine.

Cu toate acestea, înainte de a trece la discutarea rezultatelor, să aruncăm o privire mai atentă asupra designului și funcționării segmentelor de memorie cache ale unității Seagate Cheetah 15K.4 pentru a înțelege mai bine despre ce vorbim. Din cei opt megaocteți pentru memoria cache în sine (adică pentru operațiunile de cache), 7077 KB sunt disponibili aici (restul este zona de serviciu). Această zonă este împărțită în segmente logice (Pagina de selectare a modului 08h, octetul 13), care sunt utilizate pentru citirea și scrierea datelor (pentru efectuarea de funcții de citire înainte de pe platouri și scrieri leneșe pe suprafața discului). Pentru a accesa datele de pe plăcile magnetice, segmentele folosesc adresarea logică a blocurilor de unitate. Discurile din această serie acceptă maximum 64 de segmente de cache, lungimea fiecărui segment fiind egală cu întregul număr de sectoare de disc. Cantitatea de memorie cache disponibilă este aparent distribuită în mod egal între segmente, deci dacă există, să zicem, 32 de segmente, atunci dimensiunea fiecărui segment este de aproximativ 220 KB. Cu segmentarea dinamică (în modul PM=off), numărul de segmente poate fi schimbat automat de hard disk în funcție de fluxul de comenzi de la gazdă.

Aplicațiile de server și desktop necesită operațiuni de cache diferite de pe discuri pentru o performanță optimă, așa că este dificil să se ofere o singură configurație pentru a realiza cel mai bine aceste sarcini. Potrivit Seagate, aplicațiile desktop necesită configurarea memoriei cache pentru a răspunde rapid solicitărilor repetate pentru un număr mare de segmente mici de date, fără întârzierea citirii anticipate a segmentelor adiacente. În aplicațiile server, pe de altă parte, memoria cache trebuie configurată pentru a găzdui volume mari de date secvențiale în solicitările care nu se repetă. În acest caz, capacitatea memoriei cache de a stoca mai multe date din segmentele învecinate atunci când este citită înainte este mai importantă. Prin urmare, pentru Desktop Mode producătorul recomandă utilizarea a 32 de segmente (versiunile timpurii de Cheetah au folosit 16 segmente), iar pentru Server Mode numărul adaptiv de segmente începe de la doar trei pentru întregul cache, deși poate crește în timpul funcționării. În experimentele noastre privind influența numărului de segmente asupra performanței în diverse aplicații, ne vom limita la intervalul de la 4 segmente la 64 de segmente, iar ca test, vom „rula” discul și cu 128 de segmente instalate în Programul SeaTools Enterprise (programul nu indică faptul că acest număr de segmente de pe acest disc nu este permis).

Rezultatele testelor parametrilor fizici

Nu are rost să afișați grafice liniare ale vitezei de citire pentru un număr diferit de segmente de memorie cache - sunt aceleași. Însă pe baza vitezei interfeței Ultra320 SCSI măsurată prin teste, se poate observa o imagine foarte interesantă: cu 64 de segmente, unele programe încep să determine incorect viteza interfeței, reducând-o cu mai mult de un ordin de mărime.

Conform timpului mediu de acces măsurat, diferențele dintre diferitele numere de segmente de memorie cache devin mai vizibile - pe măsură ce segmentarea scade, timpul mediu de acces la citire măsurat sub Windows crește ușor și se observă citiri semnificativ mai bune în modul PM=off, deși se poate argumenta că numărul există segmente foarte puține sau, dimpotrivă, foarte mare, pe baza acestor date este dificil. Este posibil ca discul în acest caz să înceapă pur și simplu să ignore prefatch-ul atunci când citește, pentru a evita întârzierile suplimentare.

Puteți încerca să judecați eficacitatea algoritmilor de scriere leneșă a firmware-ului discului și a stocării în cache a datelor scrise în memoria tampon a unității în funcție de modul în care timpul mediu de acces măsurat de sistemul de operare la scriere în raport cu citirea scade atunci când memorarea în cache a unității este activată ( a fost întotdeauna activat în testele noastre). Pentru a face acest lucru, folosim de obicei rezultatele testului C"T H2benchW, dar de data aceasta vom completa imaginea cu un test în programul IOmeter, modelele de citire și scriere pentru care au folosit acces 100% aleatoriu în blocuri de 512 octeți. cu o adâncime a cozii de solicitare a unității (Desigur, nu ar trebui să credeți că timpul mediu de acces la scriere în cele două diagrame de mai jos reflectă de fapt acest lucru fizic caracteristicile drive-urilor! Acesta este doar un parametru măsurat programatic folosind un test, prin care se poate aprecia eficiența cache-ului de scriere în memoria tampon de disc. Timpul mediu real de acces la scriere declarat de producător pentru Cheetah 15K.4 este de 4,0+2,0=6,0 ms). Apropo, anticipând întrebările, observ că în acest caz (adică atunci când scrierea amânată este activată pe disc), unitatea raportează gazdei despre finalizarea cu succes a comenzii de scriere (starea BUNĂ) imediat de îndată ce acestea sunt scrise în memoria cache și nu direct pe suportul magnetic. Acesta este motivul pentru valoarea mai mică a timpului mediu de acces la scriere măsurat extern decât pentru un parametru similar la citire.

Pe baza rezultatelor acestor teste, există o dependență clară a eficienței stocării în cache a înregistrării aleatorii a blocurilor mici de date de numărul de segmente de cache - cu cât mai multe segmente, cu atât mai bine. Cu patru segmente, eficiența scade brusc, iar timpul mediu de acces pentru scriere crește aproape la valorile pentru citire. Și în „modul server” numărul de segmente în acest caz este evident aproape de 32. Cazurile segmentelor 64 și „128” sunt complet identice, ceea ce confirmă limitarea software-ului la nivelul a 64 de segmente de sus.

Este interesant că testul IOmeter în cele mai simple modele pentru acces aleatoriu în blocuri de 512 octeți oferă exact aceleași valori atunci când scrieți ca testul C"T H2BenchW (cu o precizie de literalmente sutimi de milisecundă), în timp ce când citiți IOmeter a arătat un rezultat ușor umflat în tot intervalul de segmentare - poate 0,1-0,19 ms diferență cu alte teste ale timpului de acces aleatoriu în timp ce citesc din cauza unor motive „interne” pentru IOmetru (sau o dimensiune a blocului de 512 octeți în loc de 0 octeți, așa cum este necesar în mod ideal pentru astfel de măsurători). Cu toate acestea, rezultatele citirii pentru IOmeter coincid practic cu cele pentru testul de disc al programului AIDA32.

Performanța aplicației

Să trecem la testarea performanței unității în aplicații. Și, în primul rând, să încercăm să aflăm cât de bine sunt optimizate discurile pentru funcționarea cu mai multe fire. Pentru a face acest lucru, folosesc în mod tradițional teste în programul NBench 2.4, unde fișierele de 100 MB sunt scrise pe disc și citite de pe acesta de mai multe fire simultane.

Această diagramă ne permite să judecăm eficacitatea algoritmilor de scriere leneșă multi-threaded pentru hard disk-uri în condiții reale (și nu sintetice, așa cum a fost cazul în diagrama cu timp mediu de acces) atunci când sistemul de operare lucrează cu fișiere. Conducerea ambelor unități Maxtor SCSI la înregistrarea cu mai multe fluxuri simultane este fără îndoială, totuși, la Chita vedem deja un anumit optim în zona cuprinsă între 8 și 16 segmente, în timp ce la valori din ce în ce mai mari viteza discului pe acestea. sarcinile scade. Pentru Modul Server, numărul de segmente este evident 32 (cu o precizie bună :)), iar segmentele „128” este de fapt 64.

Când vine vorba de citirea cu mai multe fire, situația pentru unitățile Seagate se îmbunătățește în mod clar în comparație cu unitățile Maxtor. În ceea ce privește influența segmentării, ca și în cazul înregistrării, observăm un anumit optim mai aproape de 8 segmente (în timpul înregistrării a fost mai aproape de 16 segmente), iar la segmentare foarte mare (64) viteza discului scade semnificativ (ca și în cazul înregistrării). Este îmbucurător că aici Modul Server „monitorizează piața gazdei” și modifică segmentarea de la 32 când scrieți la ~8 când citiți.

Acum să vedem cum se comportă unitățile în testele Disk WinMark 99 „vechi”, dar încă populare din pachetul WinBench 99. Permiteți-mi să vă reamintesc că realizăm aceste teste nu numai pentru „început”, ci și pentru „mijloc”. în ceea ce privește volumul) suporturi fizice pentru două sisteme de fișiere, iar diagramele arată rezultate medii. Desigur, aceste teste nu sunt „profil” pentru unitățile SCSI și, prezentând rezultatele lor aici, mai degrabă aducem un omagiu testului în sine și celor care sunt obișnuiți să judece viteza discului folosind testele WinBench 99 Ca o „consolare”, noi rețineți că aceste teste ne vor arăta cu un anumit grad de certitudine care este performanța acestor unități de întreprindere atunci când efectuați sarcini mai tipice unui computer desktop.

Evident, există și aici o segmentare optimă, iar cu un număr mic de segmente discul arată inexpresiv, iar cu 32 de segmente arată cel mai bine (poate că de aceea dezvoltatorii Seagate au „schimbat” setarea implicită pentru Desktop Mode de la 16 la 32 de segmente. ). Cu toate acestea, pentru Modul Server în sarcinile de birou (Afaceri), segmentarea nu este în totalitate optimă, în timp ce pentru productivitatea profesională (High-End) segmentarea este mai mult decât optimizată, depășind vizibil chiar și segmentarea optimă „permanentă”. Aparent, în timpul execuției testului se modifică în funcție de fluxul de comandă și datorită acestui fapt se obține un câștig în performanța generală.

Din păcate, o astfel de optimizare „în timpul testului” nu este observată pentru testele complexe mai recente „urmărește” care evaluează performanța discului „desktop” în pachetele PCMakr04 și C"T H2BenchW.

Pe ambele (sau mai degrabă, pe 10 piese de activitate diferite), inteligența modului Server este vizibil inferioară segmentării constante optime, care pentru PCmark04 este de aproximativ 8 segmente, iar pentru H2benchW - 16 segmente.

Pentru ambele teste, 4 segmente de memorie cache se dovedesc a fi foarte nedorite, și 64 de asemenea, și este greu de spus spre care dintre ele gravitează mai mult în alegerea Modului Server în acest caz.

Spre deosebire de aceste teste, desigur, încă sintetice (deși foarte asemănătoare cu realitatea), există un test complet „real” al vitezei discului cu un fișier temporar al programului Adobe Photoshop. Aici situația este mult mai transparentă - cu cât mai multe segmente, cu atât mai bine! Și Modul Server aproape că a „prins” acest lucru, folosind 32 de segmente pentru lucrul său (deși 64 ar fi fost puțin mai bun).

Teste în Intel Iometer

Să trecem la sarcinile care sunt mai tipice pentru profilurile de utilizare a unităților SCSI - operarea diferitelor servere (DataBase, File Server, Web Server) și Workstation conform tiparelor corespunzătoare din programul Intel IOmeter versiunea 2003.5.10.

Maxtor este cel mai de succes la simularea unui server de baze de date, iar pentru Seagate este cel mai profitabil să folosească Server Mode, deși, în esență, acesta din urmă este foarte aproape de 32 de segmente persistente (aproximativ 220 KB fiecare). Mai puțină sau mai multă segmentare în acest caz se dovedește a fi mai proastă. Cu toate acestea, acest model este prea simplu în ceea ce privește tipul de solicitări - să vedem ce se întâmplă pentru modelele mai complexe.

Atunci când se simulează un server de fișiere, segmentarea adaptivă este din nou în frunte, deși decalajul în spate cu 16 segmente permanente este neglijabil (32 de segmente sunt puțin mai proaste aici, deși sunt și ele destul de demne). Cu o segmentare mică, deteriorarea este observată pe o coadă de comandă mare, iar cu o coadă prea mare (64), orice coadă este în general contraindicată - aparent, în acest caz, dimensiunea sectoarelor cache este prea mică (mai puțin de 111 KB, adică doar 220 de blocuri pe suport) pentru a stoca efectiv în cache volume de date acceptabile.

În cele din urmă, pentru serverul Web vedem o imagine și mai interesantă - cu o coadă de comenzi non-unitate, Modul Server este echivalent oricine nivel de segmentare, cu excepția 64, deși la un singur nivel este puțin mai bun decât toți ceilalți.

Ca rezultat al medierii geometrice a încărcărilor serverului arătate mai sus prin modele și cozi de solicitare (fără coeficienți de ponderare), constatăm că fragmentarea adaptivă este cea mai bună pentru astfel de sarcini, deși 32 de segmente constante sunt ușor în urmă și 16 segmente arată, de asemenea, bine în general. În general, alegerea Seagate este destul de de înțeles.

În ceea ce privește modelul „stație de lucru”, Modul Server este în mod clar cel mai bun aici.

Iar optimul pentru segmentarea constantă este la nivelul a 16 segmente.

Acum - modelele noastre pentru IOmeter, care sunt mai apropiate ca scop de computerele desktop, deși sunt cu siguranță indicative pentru unitățile de întreprindere, deoarece chiar și în sistemele „profund profesionale”, hard disk-urile citesc și scriu fișiere mari și mici partea leului din timp, și, de asemenea, uneori copiați fișiere. Și deoarece natura apelurilor în aceste modele în aceste modele în testul IOmeter (la adrese aleatoare în întregul volum de disc) este mai tipică pentru sistemele de tip server, importanța acestor modele pentru discurile studiate este mai mare.

Citirea fișierelor mari este din nou mai bună în modul Server, cu excepția unei eșecuri de neînțeles la QD=4. Cu toate acestea, un număr mic de segmente mari este în mod clar de preferat pentru disc în aceste operațiuni (care, în principiu, este previzibil și este în acord excelent cu rezultatele pentru citirea fișierelor cu mai multe fire, vezi mai sus).

Sporadic record fișierele mari, dimpotrivă, sunt încă „prea dure” pentru inteligența Modului Server și aici este mai profitabil să existe o segmentare constantă la nivelul de 8-16 segmente, ca și în cazul înregistrării cu mai multe fire de fișiere, vezi mai sus . Separat, remarcăm că segmentarea cache-ului mare - la nivelul a 64 de segmente - este extrem de dăunătoare în aceste operațiuni. Cu toate acestea, este util pentru operațiunile de citire a fișierelor mici cu o coadă mare de solicitări:

Cred că acesta este ceea ce folosește Modul Server pentru a selecta modul adaptiv - graficele lor sunt foarte asemănătoare.

În același timp, atunci când scrieți fișiere mici la adrese aleatoare, 64 de segmente eșuează din nou, iar Modul Server aici este inferior segmentării constante cu un nivel de 8-16 segmente pe cache, deși eforturile Modului Server de a utiliza setările optime sunt vizibile (doar cu 32-64 de segmente pe coada s-a intamplat 64 de ghinion ;)).

Copierea fișierelor mari este un eșec clar al Modului Server! Aici este clar mai profitabil să segmentezi cu nivelul 16 (acesta este optim, deoarece 8 și 32 sunt mai proaste la coada 4).

În ceea ce privește copierea fișierelor mici, 8-16-32 de segmente sunt aproape echivalente aici, depășind 64 de segmente (destul de ciudat), iar Modul Server este puțin ciudat.

Pe baza rezultatelor medierii geometrice a datelor pentru citirea, scrierea și copierea aleatorie a fișierelor mari și mici, constatăm că cel mai bun rezultat mediu se obține prin segmentare constantă cu un nivel de doar 4 segmente pe cache (adică dimensiunile segmentelor de mai mult de 1,5 MB!), în timp ce 8 și 16 segmente sunt aproximativ echivalente și aproape nu sunt în spatele celor 4 segmente, dar 64 de segmente sunt clar contraindicate. Modul Adaptive Server a fost în medie doar puțin inferior segmentării constante - o pierdere de un procent cu greu poate fi considerată vizibilă.

Rămâne de menționat că atunci când simulăm defragmentarea, observăm aproximativ egalitatea tuturor nivelurilor de segmentare constantă și un ușor avantaj al Modului Server (cu același 1%).

Și în tiparul de citire-scriere în flux în blocuri mari și mici, este puțin mai avantajos să folosiți un număr mic de segmente, deși din nou diferențele de performanță ale configurațiilor memoriei cache de aici, destul de ciudat, sunt homeopate.

concluzii

După ce am efectuat un studiu mai detaliat al influenței segmentării memoriei cache asupra performanței unității Seagate Cheetah 15K.4 în diferite sarcini în a doua parte a revizuirii noastre, aș dori să remarc că nu a fost fără motiv că dezvoltatorii au numit modurile de stocare în cache așa cum le-au numit: în modul server, segmentarea este într-adevăr deseori memorie cache adaptată pentru sarcina efectuată, iar acest lucru duce uneori la rezultate foarte bune - mai ales atunci când se efectuează sarcini „grele”, inclusiv modele de server în Intel IOmeter. , și testul High-End Disk WinMark 99 și citirea aleatorie a blocurilor mici pe disc... Cu toate acestea, adesea alegerea nivelului de segmentare a cache-ului în modul Server se dovedește a fi suboptimă (și necesită muncă suplimentară pentru a îmbunătăți criteriile de analiză fluxul de comandă gazdă), iar apoi Modul Desktop iese înainte cu segmentare fixă ​​la nivelul de 8, 16 sau 32 de segmente per cache. Mai mult, în funcție de tipul de sarcină, uneori este mai profitabil să folosești 16 și 32, iar uneori - 8 sau doar 4 segmente de memorie! Printre acestea din urmă se numără citirile și scrierea cu mai multe fire (atât aleatoare, cât și secvențiale), teste de „urmărire” precum PCMark04 și activități de streaming cu citire și scriere simultană. Deși „sinteticele” pentru accesul la scriere aleatorie arată în mod clar că eficiența scrierii întârziate (la adrese aleatoare) scade semnificativ pe măsură ce numărul de segmente scade. Adică există o luptă între două tendințe – și de aceea, în medie, este mai eficient să folosiți 16 sau 32 de segmente pe 8 MB de buffer. Când se dublează dimensiunea bufferului, se poate prezice că este mai profitabil să se păstreze numărul de segmente la 16-32, dar prin creșterea proporțională a capacității fiecărui segment, performanța medie a unității poate crește semnificativ. Aparent, chiar și segmentarea cache-ului cu 64 de segmente, care este în prezent ineficientă în majoritatea sarcinilor, se poate dovedi a fi foarte utilă atunci când dimensiunea tamponului este dublată, în timp ce utilizarea a 4 sau chiar 8 segmente în acest caz va deveni ineficientă. Cu toate acestea, aceste concluzii depind în mare măsură și de ce blocuri preferă sistemul de operare și aplicațiile să opereze cu unitatea și de ce dimensiune fișierele sunt utilizate. Este foarte posibil ca atunci când mediul se schimbă, segmentarea optimă a cache-ului se poate schimba într-o direcție sau alta. Ei bine, îi dorim succesului Seagate în optimizarea „inteligenței” modului server, care, într-o anumită măsură, poate netezi această „dependență de sistem” și „dependență de sarcini” învățând cum să selecteze cel mai bine cea mai optimă segmentare în funcție de flux. a comenzilor gazdei.

Astăzi, un dispozitiv de stocare comun este un hard disk magnetic. Are o anumită cantitate de memorie concepută pentru a stoca date de bază. De asemenea, are o memorie tampon, al cărei scop este stocarea datelor intermediare. Profesioniștii numesc tamponul de hard disk termenul „memorie cache” sau pur și simplu „cache”. Să ne dăm seama de ce este nevoie de tamponul HDD, ce afectează și ce dimensiune are.

Buffer-ul de hard disk ajută sistemul de operare să stocheze temporar datele care au fost citite din memoria principală a hard diskului, dar nu au fost transferate pentru procesare. Necesitatea stocării de tranzit se datorează faptului că viteza de citire a informațiilor de pe unitatea HDD și debitul sistemului de operare variază semnificativ. Prin urmare, computerul trebuie să stocheze temporar datele într-o „cache” și abia apoi să le folosească în scopul pentru care a fost prevăzut.

Buffer-ul de hard disk în sine nu este sectoare separate, așa cum cred utilizatorii incompetenți de computere. Este un cip de memorie special situat pe placa HDD internă. Astfel de cipuri pot funcționa mult mai rapid decât unitatea în sine. Ca urmare, acestea provoacă o creștere (cu câteva procente) a performanței computerului observată în timpul funcționării.

Este de remarcat faptul că dimensiunea „memoriei cache” depinde de modelul de disc specific. Anterior, era de aproximativ 8 megaocteți, iar această cifră era considerată satisfăcătoare. Cu toate acestea, odată cu dezvoltarea tehnologiei, producătorii au reușit să producă cipuri cu cantități mai mari de memorie. Prin urmare, majoritatea hard disk-urilor moderne au un buffer a cărui dimensiune variază de la 32 la 128 de megaocteți. Desigur, cea mai mare „cache” este instalată în modelele scumpe.

Ce impact are un tampon de hard disk asupra performanței?

Acum vă vom spune de ce dimensiunea buffer-ului hard diskului afectează performanța computerului. Teoretic, cu cât se află mai multe informații în „memoria cache”, cu atât mai rar sistemul de operare va accesa hard disk-ul. Acest lucru este valabil mai ales pentru un scenariu de lucru în care un potențial utilizator procesează un număr mare de fișiere mici. Pur și simplu se mută în memoria tampon de hard disk și așteaptă acolo rândul lor.

Cu toate acestea, dacă computerul este folosit pentru a procesa fișiere mari, atunci „cache-ul” își pierde relevanța. La urma urmei, informațiile nu pot încăpea pe microcircuite, al căror volum este mic. Drept urmare, utilizatorul nu va observa o creștere a performanței computerului, deoarece tamponul nu va fi practic utilizat. Acest lucru se întâmplă în cazurile în care sistemul de operare va rula programe pentru editarea fișierelor video etc.

Astfel, atunci când achiziționați un hard disk nou, se recomandă să acordați atenție dimensiunii „cache-ului” numai în cazurile în care intenționați să procesați în mod constant fișiere mici. Atunci vei observa cu adevărat o creștere a performanței computerului tău personal. Dar dacă computerul este utilizat pentru sarcini obișnuite de zi cu zi sau pentru procesarea fișierelor mari, atunci nu trebuie să acordați nicio importanță clipboard-ului.

Memorie cache- Aceasta este o memorie ultra-rapidă, care are performanțe crescute în comparație cu RAM.

Memoria cache completează valoarea funcțională a RAM.
Când un computer rulează, toate calculele au loc în procesor, iar datele pentru aceste calcule și rezultatele lor sunt stocate în RAM. Viteza procesorului este de câteva ori mai mare decât viteza schimbului de informații cu RAM. Avand in vedere ca intre doua operatii de procesor se pot efectua una sau mai multe operatii pe o memorie mai lenta, constatam ca procesorul trebuie sa fie inactiv din cand in cand si viteza totala a calculatorului scade.

Memoria cache este controlată de un controler special, care, analizând programul în curs de executare, încearcă să prezică ce date și comenzi va avea cel mai probabil nevoie procesorul în viitorul apropiat și le pompează în memoria cache, de exemplu. Controlerul cache încarcă datele necesare din RAM în memoria cache și returnează, atunci când este necesar, datele modificate de procesor în RAM.

Memoria cache a procesorului îndeplinește aproximativ aceeași funcție ca RAM. Doar memoria cache este memorie încorporată în procesor și, prin urmare, este mai rapidă decât RAM, parțial datorită poziției sale. La urma urmei, liniile de comunicație care circulă de-a lungul plăcii de bază și a conectorului au un efect negativ asupra vitezei. Cache-ul unui computer personal modern este situat direct pe procesor, făcând posibilă scurtarea liniilor de comunicație și îmbunătățirea parametrilor acestora.

Memoria cache este folosită de procesor pentru a stoca informații. Memorează datele cele mai frecvent utilizate, datorită cărora timpul următorului acces la acestea se reduce semnificativ.

Toate procesoarele moderne au un cache (în engleză - cache) - o serie de RAM ultra-rapidă, care este un buffer între controlerul de memorie de sistem relativ lent și procesor. Acest buffer stochează blocuri de date cu care CPU lucrează în prezent, reducând astfel semnificativ numărul de apeluri ale procesorului către memoria sistemului extrem de lentă (comparativ cu viteza procesorului).

Acest lucru crește semnificativ performanța generală a procesorului.
Mai mult, la procesoarele moderne, cache-ul nu mai este o singură matrice de memorie, ca înainte, ci este împărțit în mai multe niveluri. Cel mai rapid, dar relativ mic ca dimensiune, cache de prim nivel (notat ca L1), cu care funcționează nucleul procesorului, este cel mai adesea împărțit în două jumătăți - memoria cache de instrucțiuni și memoria cache de date. Cache-ul de al doilea nivel interacționează cu cache-ul L1 - L2, care, de regulă, este mult mai mare ca volum și este amestecat, fără a fi împărțit într-un cache de instrucțiuni și un cache de date.

Unele procesoare desktop, urmând exemplul procesoarelor server, dobândesc uneori și un cache L3 de nivel al treilea. Cache-ul L3 este de obicei chiar mai mare, deși oarecum mai lent decât L2 (datorită faptului că autobuzul dintre L2 și L3 este mai îngust decât autobuzul dintre L1 și L2), dar viteza sa, în orice caz, este disproporționat mai mare decât memoria sistemului de viteză.

Există două tipuri de cache: cache exclusiv și non-inclusiv. În primul caz, informațiile din cache-urile de toate nivelurile sunt clar delimitate - fiecare dintre ele conține exclusiv informații originale, în timp ce în cazul unui cache neexclusiv, informațiile pot fi duplicate la toate nivelurile de cache. Astăzi este dificil de spus care dintre aceste două scheme este mai corectă - ambele au atât minusuri, cât și plusuri. Schema de cache exclusivă este folosită la procesoarele AMD, în timp ce cea neexclusivă este folosită la procesoarele Intel.

Memorie cache exclusivă

Memoria cache exclusivă presupune unicitatea informațiilor situate în L1 și L2.
Când citiți informații din RAM în cache, informațiile sunt introduse imediat în L1. Când L1 este plin, informațiile sunt transferate de la L1 la L2.
Dacă, atunci când procesorul citește informații din L1, informațiile necesare nu sunt găsite, atunci se caută în L2. Dacă informațiile necesare sunt găsite în L2, atunci cache-urile de primul și al doilea nivel schimbă linii între ele (cea mai „veche” linie din L1 este plasată în L2, iar linia necesară din L2 este scrisă în locul ei). Dacă informațiile necesare nu se găsesc în L2, atunci accesul se duce la RAM.
Arhitectura exclusivă este utilizată în sistemele în care diferența dintre volumele cache-urilor de primul și al doilea nivel este relativ mică.

Cache inclusiv

O arhitectură incluzivă implică duplicarea informațiilor găsite în L1 și L2.
Schema de lucru este următoarea. La copierea informațiilor din RAM în cache, se fac două copii, o copie este stocată în L2, cealaltă copie este stocată în L1. Când L1 este complet plin, informațiile sunt înlocuite conform principiului eliminării „cele mai vechi date” - LRU (Least-Recently Used). Același lucru se întâmplă și cu cache-ul de al doilea nivel, dar deoarece volumul său este mai mare, informațiile sunt stocate în el mai mult timp.

Când procesorul citește informații din cache, acestea sunt preluate din L1. Dacă informațiile necesare nu se află în memoria cache de prim nivel, atunci se caută în L2. Dacă informațiile necesare sunt găsite în memoria cache de al doilea nivel, acestea sunt duplicate în L1 (folosind principiul LRU) și apoi transferate la procesor. Dacă informațiile necesare nu sunt găsite în cache-ul de al doilea nivel, atunci acestea sunt citite din RAM.
Arhitectura incluzivă este utilizată în acele sisteme în care diferența de dimensiune a cache-urilor de primul și al doilea nivel este mare.

Cu toate acestea, memoria cache este ineficientă atunci când lucrați cu cantități mari de date (video, sunet, grafică, arhive). Astfel de fișiere pur și simplu nu se potrivesc în cache, așa că trebuie să accesați constant RAM sau chiar HDD. În astfel de cazuri, toate avantajele dispar, de aceea procesoarele bugetare (de exemplu, Intel Celeron) cu un cache redus sunt atât de populare încât performanța în sarcinile multimedia (legate de procesarea unor cantități mari de date) nu este foarte afectată de cache. dimensiune, chiar și în ciuda frecvenței de operare reduse a magistralelor Intel Celeron.

Cache pentru hard disk

De regulă, toate hard disk-urile moderne au propria lor RAM, numită memorie cache sau pur și simplu cache. Producătorii de hard disk numesc adesea această memorie tampon de memorie. Dimensiunea și structura cache-ului diferă semnificativ între producători și pentru diferite modele de hard disk.

Memoria cache acționează ca un buffer pentru stocarea datelor intermediare care au fost deja citite de pe hard disk, dar nu au fost încă transferate pentru procesare ulterioară, precum și pentru stocarea datelor pe care sistemul le accesează destul de des. Nevoia de stocare de tranzit este cauzată de diferența dintre viteza de citire a datelor de pe hard disk și debitul sistemului.

În mod obișnuit, memoria cache este utilizată atât pentru scrierea, cât și pentru citirea datelor, dar pe unitățile SCSI este uneori necesar să forțați activarea cache-ului de scriere, astfel încât stocarea în cache de scriere pe disc este de obicei dezactivată implicit pentru SCSI. Deși acest lucru contrazice cele de mai sus, dimensiunea memoriei cache nu este decisivă pentru îmbunătățirea performanței.

Este mai important să organizați schimbul de date cu memoria cache pentru a crește performanța discului în ansamblu.
În plus, performanța în general este afectată de algoritmii de operare ai electronicii de control, care previn erorile la lucrul cu tamponul (stocarea datelor irelevante, segmentarea etc.)

În teorie: cu cât memoria cache este mai mare, cu atât este mai mare probabilitatea ca datele necesare să fie în buffer și nu va fi nevoie să „deranjați” hard disk-ul. Dar, în practică, se întâmplă ca un disc cu o cantitate mare de memorie cache să nu fie foarte diferit în performanță de un hard disk cu o cantitate mai mică, acest lucru se întâmplă atunci când lucrezi cu fișiere mari.

Cache-ul hard disk-ului este o stocare temporară a datelor.
Dacă aveți un hard disk modern, atunci memoria cache nu mai este la fel de importantă ca înainte.
Veți găsi mai multe detalii despre ce rol joacă memoria cache în hard disk și care ar trebui să fie dimensiunea memoriei cache pentru o funcționare rapidă a computerului.

Pentru ce este folosit cache-ul?

Cache-ul hard diskului vă permite să stocați datele utilizate frecvent într-o locație special desemnată. În consecință, dimensiunea memoriei cache determină capacitatea datelor stocate. Datorită unui cache mare, performanța hard diskului poate crește semnificativ, deoarece datele utilizate frecvent pot fi încărcate în memoria cache a hard diskului, care nu va necesita citire fizică atunci când este solicitată.
Citirea fizică este un acces direct la sectoare ale hard diskului. Este nevoie de o perioadă de timp destul de semnificativă, măsurată în milisecunde. În același timp, memoria cache a hard disk-ului transferă informații la cerere de aproximativ 100 de ori mai rapid decât dacă informațiile ar fi solicitate prin accesarea fizică a hard diskului. Astfel, memoria cache a hard disk-ului permite hard disk-ului să funcționeze chiar dacă magistrala gazdă este ocupată.

Alături de importanța cache-ului, nu trebuie să uităm de alte caracteristici ale hard disk-ului, iar uneori dimensiunea cache-ului poate fi neglijată. Dacă comparați două hard disk de aceeași dimensiune cu dimensiuni de cache diferite, de exemplu 8 și 16 MB, atunci ar trebui să optați pentru un cache mai mare doar dacă diferența lor de preț este de aproximativ 7 USD-12 USD. În caz contrar, nu are sens să plătiți în exces pentru un volum mai mare de cache.

Merită să te uiți la cache dacă îți cumperi un computer de gaming și nu sunt lucruri mărunte pentru tine, caz în care trebuie să te uiți și la revoluții.

Rezumând toate cele de mai sus

Avantajele memoriei cache sunt că procesarea datelor nu durează mult timp, în timp ce în timpul accesului fizic la un anumit sector, timpul trebuie să treacă până când capul discului găsește informația dorită și începe să citească. În plus, hard disk-urile cu dimensiuni mari ale memoriei cache pot ușura în mod semnificativ procesorul computerului, deoarece nu este necesar accesul fizic pentru a solicita informații din cache. În consecință, funcționarea procesorului aici este minimă.

Cache-ul hard disk-ului poate fi numit un adevărat accelerator, deoarece funcția sa de buffering permite într-adevăr hard disk-ului să funcționeze mult mai rapid și mai eficient. Totuși, în contextul dezvoltării rapide a tehnologiilor înalte, valoarea anterioară a cache-ului hard disk-ului nu este foarte importantă, deoarece majoritatea modelelor moderne folosesc un cache de 8 sau 16 MB, ceea ce este suficient pentru funcționarea optimă a hard disk-ului.

Astăzi există hard disk-uri cu cache și mai mare de 32 MB, dar, așa cum am spus, merită să plătiți suplimentar pentru diferență doar dacă diferența de preț corespunde diferenței de performanță.

Ce hard disk să alegi. De asemenea, hard disk-ul trebuie ales corect, astfel încât să fie rapid, silențios și fiabil. Din păcate, înainte de a-ți da seama, discul este deja plin la capacitate maximă. Sunt utilizatori care, chiar și după câțiva ani, mai au suficient spațiu pe disc pentru a lucra încă 10 ani.

Dar aceasta este de obicei excepția. Mulți oameni au o lipsă catastrofală de spațiu pe hard disk și uneori nu merge nicăieri. În zilele noastre, un computer nu este doar o mașină de scris. Mulți utilizatori sunt implicați în proiecte serioase pe acesta și câștigă bani buni din el. Și hard disk-ul, după cum știți, stochează o mulțime de informații utile, așa că nu ar trebui să le cumpărați oricum.

Totul depinde de ceea ce vei face pe computer. Cel mai bine este dacă computerul nu are un hard disk, ci două sau chiar trei. Citiți cum să instalați un astfel de disc. Pe unitatea principală veți avea sistemul de operare, iar pe restul este mai bine să vă stocați datele.

De obicei, există o lipsă catastrofală de spațiu pe hard disk. Să nu crezi că ești singurul. Acum sunt chiar surprins cum 10 GB au fost de ajuns pentru mine. Cel mai enervant lucru este că toate fișierele sunt necesare și costisitoare și nu doriți să ștergeți absolut nimic.

Orice dispozitiv are propriile parametri și resurse, iar hard disk-ul computerului nu face excepție. Dacă mergi doar la magazin și ceri un disc, atunci s-ar putea să te sfătuiască deloc despre ceea ce ai nevoie, ci cel mai probabil despre ce este mai scump. De ce să plătiți în plus dacă puteți lua la fel sau la fel cu banii rămași.

UNDE ALTE PUTEȚI STOCARE DATELE DVS., CU EXCEPȚIA HARD DISKULUI?

Anterior, puteai să-ți scrii datele pe un gol (CD sau DVD) și să dormi liniștit. În zilele noastre, toată lumea are atât de multe informații pe computere încât nu mai este posibil să copieze totul pe un CD. În cel mai bun caz, poți rescrie ceva cel mai important.

Și încă nu este foarte convenabil. Nu veți purta o servietă întreagă cu CD-uri sau DVD-uri și nu veți introduce unul după altul în unitate pentru a găsi informațiile de care aveți nevoie.

Puteți cumpăra o unitate externă mică, dar de volum mare și o puteți purta cu dvs. Dar, din nou, nu există nicio garanție că nu va „gașa” într-o zi. Și apoi la revedere informații valoroase. Asta mi s-a întâmplat recent. Dar acum nu este vorba despre asta.

hard disk extern 2.5′

Capacitate hard disk

Sistemul de operare nu necesită un spațiu mare pe disc. Deoarece dimensiunea minimă a discului la vânzare este acum de 500 GB, acest lucru este suficient pentru dvs. Dar un alt disc, dacă descărcați constant ceva de pe Internet, trebuie să luați un volum cât mai mare posibil.

Viteza axului

Pentru sistemul de operare aveți nevoie de un disc cu o viteză bună a axului. La viteze mici, sistemul dvs. de operare va încetini, indiferent de memorie pe care o are și indiferent de cât de rapid este microprocesorul.

Totul ar trebui să fie într-un complex. Altfel, vei arunca banii la scurgere. Nu te poți zgâri pe hard disk!

Hard disk-urile moderne (HDD) de 2,5 și 3,5" au o viteză a axului de 5400 sau 7200 RPM. Cu cât viteza axului este mai mare, cu atât viteza discului este mai mare.

Pentru un computer de acasă, viteza hard disk-ului pe care vor fi instalate sistemul de operare, programele grafice și jocurile dvs. trebuie să fie de cel puțin 7200 rpm.

Dacă cumpărați o unitate pentru birou, atunci 5400 rpm este suficient. Aceeași viteză este potrivită și pentru stocarea datelor, de exemplu. un al doilea hard disk, mai ales că este mai ieftin.

Există unități cu interfață SAS sau SCSI, cu viteze de 10.000 și 15.000 rpm, dar sunt folosite pentru servere și nu sunt ieftine.

hard disk SCSI

Dar dacă aveți un computer vechi și un hard disk IDE, atunci nu există prea multe de ales și puteți uita de viteza bună a axului discului. Și găsirea unui astfel de disc este deja problematică.

Cum să determinați dacă un hard disk este vechi sau nu

Dacă discul are un cablu larg, atunci aceasta este o interfață IDE. Ele nu mai sunt folosite în calculatoarele noi, iar viteza acestor discuri este scăzută.

Cablu pentru conectarea discului IDE

Calculatoarele noi sunt echipate cu hard disk-uri cu interfețe SATA, SATA 2 și SATA 3.

Cablu pentru conectarea unei unitati SATA

Viteza de transfer de date a unei unități SATA este cu 50% mai rapidă decât a unei unități IDE.

Unitățile SATA, SATA 2 și SATA 3 sunt interschimbabile. Dar viteza de transfer de date a SATA 3 este mult mai bună decât cea a SATA.

Vă rugăm să rețineți că cablul de unitate SATA și SATA2 nu este potrivit pentru unitatea SATA3. Caracteristicile lor de frecvență sunt diferite, deși conectorii sunt aceiași și vor funcționa în continuare. Cablul (cablul) pentru SATA3 este mai gros și de obicei negru.

De asemenea, este important să știi ce tip de hard disk SATA acceptă placa ta de bază, altfel unitatea nu va funcționa la capacitate maximă. Dar acest lucru nu este critic. Dar dacă placa de bază este foarte veche, atunci este posibil să nu suporte deloc o unitate SATA, adică. nu va exista nici un conector pentru el.

Dimensiunea tamponului sau dimensiunea memoriei cache

Următorul punct pentru a selecta un disc este dimensiunea memoriei cache(memorie tampon). Există dimensiuni de cache de 8, 16, 32, 64 și 128 MB. Cu cât numărul este mai mare, cu atât este mai mare viteza de procesare a datelor.

Pentru stocarea datelor, 16 MB este potrivit, iar pentru sistem este mai bine să cumpărați de la 32 MB. Dacă sunteți implicat în grafică, atunci pentru programe precum Photoshop și AutoCAD este mai bine să luați un hard disk cu memorie cache - 64 sau 128 MB, mai ales că diferența de preț dintre ele nu este semnificativă.

Viteza medie de citire liniară

Viteza de citire liniară înseamnă viteza de citire continuă a datelor de pe suprafața platourilor (HDD) și este principala caracteristică care reflectă viteza reală a discului. Se măsoară în megaocteți pe secundă (Mb/s).

Unitățile HDD moderne cu interfață SATA au o viteză medie de citire liniară de 100 până la 140 MB/s.

Viteza de citire liniară a discurilor HDD depinde de densitatea înregistrării datelor pe suprafața magnetică a platourilor și de calitatea mecanicii discului.

Timpul de acces

Aceasta este viteza cu care discul găsește fișierul necesar după ce sistemul de operare sau orice program îl accesează. Măsurată în milisecunde (ms). Acest parametru are un impact mare asupra performanței discului atunci când lucrați cu fișiere mici, dar nu are un impact mare atunci când lucrați cu fișiere mari.

Hard disk-urile au timpi de acces de la 12 la 18 ms. Un indicator bun este un timp de acces de 13-14 ms (în funcție de calitatea (precizia) mecanicii discului).

Acum există noi hard disk-uri la vânzare - SSD-uri formate doar din cipuri, dar sunt foarte scumpe și, prin urmare, nu sunt destinate stocării datelor. Sunt bune doar pentru rularea programelor. Unitățile SSD nu au ax, așa că sunt complet silențioase, nu se încălzesc și sunt foarte rapide.

Și cel mai important! Încercați să nu instalați hard disk-uri unul lângă celălalt. Este mai bine dacă există mai mult spațiu în jurul lor, pentru că... În timpul funcționării, acestea devin foarte fierbinți și se pot defecta din cauza supraîncălzirii.

Mai bine, mai ales vara, este să le răcori deschizând capacul computerului și îndreptând un ventilator spre ele. Supraîncălzirea este la fel de distructivă pentru un hard disk ca și pentru o placă video și microprocesor.

Orice producător de discuri are discuri mai scumpe și mai ieftine. Dar asta nu înseamnă că companiile slăbesc. Un singur produs pentru angajații de stat, iar al doilea pentru oamenii mai înstăriți. Ambele discuri sunt realizate pentru a rezista, dar piesele sunt realizate din materiale diferite, care au perioade de uzura diferite.

Producători de hard disk

Principalii producători de hard disk-uri (HDD) sunt:

Fujitsu- o companie japoneză, renumită anterior pentru calitatea înaltă a produselor sale, este reprezentată în prezent de un număr mic de modele și nu este foarte populară.

Hitachi– o companie japoneză, atât anterior, cât și acum, se remarcă prin calitatea stabilă a hard disk-urilor Achiziționând un hard disk Hitachi, nu puteți greși, obținând o calitate bună la un preț accesibil.

Samsung- această companie coreeană. Astăzi, Samsung produce cele mai rapide și de cea mai bună calitate HDD-uri. Prețul lor poate fi puțin mai mare decât concurența, dar merită.

Seagate este o companie americană, un pionier în domeniul tehnologiei. Acum, calitatea hard disk-urilor acestei companii lasă, din păcate, mult de dorit.

Toshiba- Companie japoneză. În prezent reprezentată de un număr mic de modele pe piața noastră. În acest sens, pot apărea probleme în serviciul unor astfel de producători.

Western Digital (WD) este o companie americană specializată în producția de hard disk. Recent, discurile acestei companii nu se remarcă prin caracteristici remarcabile și sunt foarte zgomotoase.

Este mai bine să alegeți între Samsung sau Hitachi, deoarece sunt de cea mai înaltă calitate, mai rapide și mai stabile.

Deci, principalele caracteristici ale hard disk-urilor:

  • Viteza axului
  • Capacitate HDD
  • Mărimea cache-ului
  • Viteza medie de citire liniară
  • Nivel de zgomot
  • Producător

Acum știi ce hard disk să alegi. Din păcate, magazinele nu au întotdeauna o selecție, așa că prefer să comand online. În orașele mari există mai multe opțiuni. Prin urmare, nu fi leneș și studiază-le principalele caracteristici.