pcp160 Skrevet 24. november 2005 Skrevet 24. november 2005 Hei. Har lest en del om harddiskers oppbyggning, virkemåte, søketid, NCQ og om forskjellige filsystemer osv osv. Det jeg aldri helt har fått "grep om" er akkurat hvordan diskens cache faktisk virker. Jeg vet det er et hurtigminne, eller en buffer, men hvordan blir dette minnet brukt i praksis Det jeg i bunn og grunn er ute etter er da forskjellen på en2MB, 8MB og 16MB cache disk, når og hvorfor det er bra med mye. Er det slik at dette minnet lagrer alt som skrives/leses fra disken og fylles full til en hver tid, slik at ting som har blitt behandlet går raskere? Eller går dette på og samle og effektivisere sending av data til og fra disken eller hvordan fungerer dette egentlig? Sikkert noen her som kan utdype dette litt
Simen1 Skrevet 29. november 2005 Skrevet 29. november 2005 (endret) Spennende spørsmål Jeg er ikke helt sikker, men har hørt at cachen deles opp i flere deler. Det er lenge siden jeg har lest noe om dette så jeg forsøker å komme med det jeg husker: Cachen deles opp i 3 (?) deler: 1. Firmware. Denne tar seg av starting av disken, melde fra om produktnavn til bios, holder styr på hvilke logiske sektorer som er på hvilke fysiske plasser på disken og styrer en del teknikker for lese og skrivebuffring, deriblandt NCQ. De logiske sektorene som oppfattes av OS'et er ikke det samme som de fysiske adresse på sektorene på selve platene. Firmwaren foretar oversettingen mellom disse adresseringene. Firmwaren tar vist opp en ganske liten del av cachen (0,5-2MB) 2. Lesebuffer. Denne er vist også ganske stor (opp til ca 90% av cachen) og holder styr på data som er lest fra plata men som av en eller annen grunn må vente litt siden systemet er opptatt. F.eks opptatt med lesing fra en annen enhet på samme IDE-kabel. Firmwaren kan også gjette på hva det neste den får beskjed om lese og legge dette i cachen. Dette kalles pre-catch og bruker lignende teknikker som CPU'ens L1 og L2 cache og prediction. Hvis den er så heldig å treffe på gjettingen så vil data overføres veldig mye raskere enn om den måtte lese fra disken. Siden cachen er liten og den største svakheten med harddisker er aksesstiden så prioriteres pre-caching av små filer. 3. Skrivebuffer. Denne er vist ganske liten (0-1MB) og holder på data som er sendt til disken, men som venter på å bli skrevet til plata. (Faktisk skriving er alltid noe tregere enn grensesnittet.) Men skrivebuffer kan gi problemer. F.eks hvis strømmen til disken forsvinner før dataene er skrevet til plata. Dette ga et reellt problem når man slo av første utgave av Windows 98 uten oppdateringer på PC'er med raske prosessorer (1GHz+). Dette ble riktignok rettet opp i en patch der PC'ens shutdown-kommando blir utsatt 2 sekunder for at cachen skal få tid til å tømme seg. Både lesebuffer og skrivebuffer fungerer klart best på små filer siden de hindres mye av harddiskens aksesstid. Et eksempel: En harddisk med som klarer 50MB/s og har en aksesstid på 12ms vil for hvert søk på 12ms gå glipp av 0,012 sekunder med lesing i 50MB/s. Altså gå glipp av å lese 0,6MB med data. Hvis filene er veldig små så sier det seg selv at det går med mye tid til aksesser og lite tid med til reell lesing. Men legg merke til at storagereview sier at det er mye annet som har mer å si for ytelsen enn mengden cache. De sier faktisk at mengden cache på harddisken er den nest mest overvurderte spesifikasjonen på harddisker etter hastigheten på grensesnittet. ! Jeg kommer til å følge med på emnet for dette er noe jeg synes er spennede og vil finne ut mer om. Endret 29. november 2005 av Simen1
Simen1 Skrevet 29. november 2005 Skrevet 29. november 2005 Jeg fant mye info i storagereview sin geniale Reference guide: Hard Disk Cache and Cache Circuitry Hard Disk Performance Specifications: Internal Cache (Buffer) Size Jeg begynner å lese på dette nå så jeg kommer sikkert med en kommentar etter hvert.
pcp160 Skrevet 29. november 2005 Forfatter Skrevet 29. november 2005 Simen1 for president! sier nå jeg Men da forstår jeg at du ikke er 100% sikker på alt her enda, men allerede nå har jeg fått et mye bedre innblikk i hva det dreier seg om. Skal titte litt på linkene jeg også. Takk så langt.
Simen1 Skrevet 29. november 2005 Skrevet 29. november 2005 Jeg har oppdatert det første innlegget mitt nå siden jeg har lest gjennom det storagereview skrev om cache.
pcp160 Skrevet 30. november 2005 Forfatter Skrevet 30. november 2005 Simen 1Men legg merke til at storagereview sier at det er mye annet som har mer å si for ytelsen enn mengden cache. De sier faktisk at mengden cache på harddisken er den nest mest overvurderte spesifikasjonen på harddisker etter hastigheten på grensesnittet. ! Ja det var jo litt interessant, og utgangspuktet for spørsmålet er jo i grunn det at det dukker opp fler og fler 16MB cache disker, og jeg som sikkert mange andre, lar meg til en viss grad blende uten og egentlig ane hva man skal med det... En ting jeg har lurt litt på i praksis rundt dette her; jeg har tatt tiden på å starte bla Photoshop fra forskjellige innstallasjoner her, fordi dette er en såpass lesetung oppgave at jeg merker god forskjell feks fra raid0 eller ikke, eller Raptor vs 7200rpm. Men så er det jo slik at hvis jeg har åpnet det en gang etter boot, så tar det flere sekunder kortere tid neste gang jeg åpner, selv om andre oppgaver er utført i mellomtiden. I følge oppgavebehandlig er jo minnet tømt for PS oppgaver, men skyldes dette hd's cache, eller har det med maskinens minne å gjøre?
Simen1 Skrevet 30. november 2005 Skrevet 30. november 2005 Men legg merke til at storagereview sier at det er mye annet som har mer å si for ytelsen enn mengden cache. De sier faktisk at mengden cache på harddisken er den nest mest overvurderte spesifikasjonen på harddisker etter hastigheten på grensesnittet. ! Ja det var jo litt interessant, og utgangspuktet for spørsmålet er jo i grunn det at det dukker opp fler og fler 16MB cache disker, og jeg som sikkert mange andre, lar meg til en viss grad blende uten og egentlig ane hva man skal med det... 5229767[/snapback] Godt poeng! Nå regner jeg sterkt med at mengden cache på harddisker følger samme regel som cache på CPUer: Hvis en dobling av cache gir en ytelseøkning Y så vil ennå en dobling alltid føre til en litt mindre ytelseøkning (<Y), ennå en dobling gir ennå mindre ytelseøkning osv. Legg merke til at vanlig cache på en harddisk i 1999 var 512KiB og at kvadruplingen til 2MiB ga litt bedre ytelse. Neste kvadrupling til 8MiB ga litt mindre ytelseøkning. Nå skulle man forventet at ennå en kvadrupling til 32MiB ville gitt ennå mindre ytelseøkning, men harddiskindustrien har tydeligvis valgt å ikke kvadruple men bare å doble denne gangen. Det vil si at ytelseøkningen bør bli ennå mindre. Trolig snakker vi om en prosent ytelse her og der. For ordens skyld: forutsetningen for disse sammenligningene er selvfølgelig at alle andre faktorer er like.
geir__hk Skrevet 1. desember 2005 Skrevet 1. desember 2005 En ting som nettopp slo meg: Kan det tenkes at større cache på harddisker vil kunne øke levetiden i visse tilfeller? For eksempel hvis harddisken brukes mye til streaming av data. Noen synspungter på dette?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå