Unterschied zwischen 2MB und 8MB cache bei Festplatten.



  • kingruedi schrieb:

    Cache speichert Daten zwischen, so dass nicht immer von der Platte gelesen werden muss. Deswegen sind Cache zugriffe schneller und ein größerer Cache sorgt idr. für bessere Geschwindigkeiten.

    Wobei ich mir allerdings nur schwer vorstellen kann, dass es bei Festplatten
    allzuviel bring.
    Gut, beim Schreiben.
    Aber lesen?
    Woher weiss die Platte, welche Daten als nächstes benötigt werden (Kristallkugel :-)?
    (wer liest schon 20 mal hintereinander die selbe Datei aus?)
    Und wenn die erstmal in den Cache geschrieben werden und dann vom Cache in den RAM,
    is des dann ned irgendwie ein Umweg?



  • Zugriffe auf die Festplatte sind um riesige Größenordnungen langsamer als Zugriffe auf den Ram oder zum Beispiel Caches.

    Woher der Cache weiss, wo als nächstes zugegriffen wird?
    Stichworte "räumliche Lokalität" und "temporäre Lokalität", die es auszunutzen gilt.

    Räumliche Lokalität: Wenn auf ein Datum auf der Festplatte zugegriffen wird, wird mit großer Wahrscheinlichkeit auch auf eine der Nacbar-Daten zugegriffen.
    So wird zum Beispiel bei einem Zugriff auf ein Datum der Festplatte nicht unbedingt nur dieses eine Datum in den Cache übertragen, sondern direkt ein ganzer Block von mehreren, zusammenhängenden Daten.

    Temporäre Lokalität: Wenn auf ein Datum zugegriffen wird, wird mit großer Wahrscheinlichkeit in nächster Zeit noch einmal auf das gleiche Datum zugegriffen.



  • anonymus schrieb:

    Woher weiss die Platte, welche Daten als nächstes benötigt werden (Kristallkugel :-)?

    Wenn ich den MediaPlayer starte und der die ersten 10 Blöcke von "geiler_porno.avi" anfordert, dann ist sehr wahrscheinlich, daß die nächsten 430 MB auch demnächst angefordert werden. 💡

    anonymus schrieb:

    (wer liest schon 20 mal hintereinander die selbe Datei aus?)
    Und wenn die erstmal in den Cache geschrieben werden und dann vom Cache in den RAM,
    is des dann ned irgendwie ein Umweg?

    Na klar ist das ein "Umweg". Aber ein guter.
    Ohne Cache wäre das haarsträubend.

    Nach Deiner Argumentation könnte man ja die 2 Caches einer CPU auch weglassen, oder den auf einer GraKa.
    Mach' das mal. Wieder zurück zur direkten I/O.
    Yippie!

    Allerdings bezweifle ich, daß für Otto Normaluser 8 MB mehr bringen als 2.



  • Hi

    @Sgt. Nukem: und woher weiss die Platte das du dir grad nen Prono reiziehen wilst? und wo die restelichen 399 MB des films rumfliegen? Die platte hat davon keine Ahnung. das weis nur dein Betriebsystem.

    ich weis nur das beis SCSI und SATA mehre blöcke gleichzeitig angeforder werden können. und die platte dan selbständig entscheidet welchen sie als erstes ansteuert. ( optimierte kopfbewegungen > schnellere zugriffszeiten) ob das mitlerweile auch ata kann weis ich nicht.

    ein schreibcash macht eingentlich weniger sinn. wegen stromausfällen und so.
    os meint daten gespeichert platte meint warten wir noch ein weilchen bis wir speichern. der Sektor is so weit weg. und ich hab keinen bock mich jetzt dahin zu bewegen. Und shon haben sich 300 Milionen Euro bei ner bank in luftaufgelöst.

    Der Cash wir meines wissens eigentlich änlich wie bei einer CPU fürs lesen verwendet. Der plattenkopf lässt sich nicht exakt auf innerhalt einer spur positionieren.(die platte dreht sich ja) Er wird mit meistens schon vorher auf der spur zu lesen beginnen. diese daten packt er dann in den chsh, vileicht ist gerade der nächste block der angefordert wird der der davor lag. shit noch einmal eine komplette plattenumdrehung warten um den block überhaupt lesen zu können. Miest liegen daten räumlich bei einander. nicht umsonst kann man Festplatten defragmentieren.

    gruss Termite



  • Das ganze is ähnlich wie bei eienr CPU und deren Cache(es sei denn ich bin falsch informiert, wie das da abläuft ;)). Da "holt" sich der Cache den Angeforderten Teil aus dem RAM und gleich dazu noch einiges was direkt Dahinter steht, weil es wahrscheinlich ist, das dies auch durchgearbeitet werden soll.

    Das Selbe ist es bei Festplatten.

    Brauchst was aus Block 221113 also werden einfach Block 221114, 221115 und 221116 (Rein beispielhafte Daten) mitgeliefert, weil es sehr wahrscheinlich ist, das dort die Daten stehen, die man noch braucht.

    Stichwort: Fragmentieren/Defragmentieren.
    Das ist AUCH ein Grund, warum eine Defragmentierte Festplatte schneller ist.
    Sie kann den Cache ausnutzen. (Ansonsten is bei der Fragmentieren natürlich das Problem das der Schreib/Lese Kopf mehr hin und her sausen muss)

    So ungefähr 😉

    Is natürlich nich guru haft ausgedrückt, aber ich hoffe das macht nichts.
    Es ist früh am Morgen 😉



  • IMHO ist der cache dazu da um den Schreibvorgang zu beschleunigen. Dies ist ein Grund warum SCSI-Platten schneller sind. Hier wird alles von einem Processor gemacht. Dh.: BS gibt die Daten an den Controller und kann sofort weiter arbeiten. Das BS wird dann informiert wenn die Daten geschrieben wurden. Deshalb wird im Serverbereich auch SCSI eingesetzt da es den Processor entlastet.

    Bei IDE, etc ist es nicht so. Dort ist die CPU verantwortlich. Nun dauert aber das schreiben auf die Platte ohne cache lange. Dadurch kann es zu verzögerungen bei der Arbeit selbst kommen. Will man nun ein 2 MB-File auf die Platte speichern wartet die CPU bis der Schreibvorgang beendet ist. Bei einem cache werden die Daten dort reingeschrieben und die CPU kann weiter machen. Die Festplatte kümmert sich ums leeren des cache-Speichers auf die Platte selbst.
    Ist wie bei CD-Writern. Dort werden die DAten auch in den cache geschrieben und die CPU kann die nächsten Daten holen. Der Writer kümmert sich um das schreiben der cache-daten auf die CD.

    So denke ich mir das.



  • Termite_ schrieb:

    @Sgt. Nukem: und woher weiss die Platte das du dir grad nen Prono reiziehen wilst? und wo die restelichen 399 MB des films rumfliegen? Die platte hat davon keine Ahnung. das weis nur dein Betriebsystem.

    Yo, aber das Betriebssystem kommuniziert doch mit der Platte?!?
    Und wohin wird die Platte wohl die nachfolgend angeforderten Blöcke 5 - 10 der AVI laden, wenn das OS die Blöcke 1 - 4 noch nicht komplett im RAM hat? Richtig, in den Cache.

    Termite_ schrieb:

    ein schreibcash macht eingentlich weniger sinn. wegen stromausfällen und so.
    os meint daten gespeichert platte meint warten wir noch ein weilchen bis wir speichern. der Sektor is so weit weg. und ich hab keinen bock mich jetzt dahin zu bewegen. Und shon haben sich 300 Milionen Euro bei ner bank in luftaufgelöst.

    Schonmal gefragt, warum man in Windows bei Laufwerken den "Write Cache" akti- bzw. deaktivieren kann...?!



  • Unix-Tom schrieb:

    Deshalb wird im Serverbereich auch SCSI eingesetzt da es den Processor entlastet.

    Hmm.. ich dachte bisher immer das wird soviel eingesetzt, wegen der Bussbreite... Hohen Datengeschwindigkeit und viele Devices gleichzeitig (bis zu 32 iirc)

    Das mit dem Schreibcache klingt aber auch gut.
    So kann ich mir das beim schreiben gut vorstellen.



  • Meine Platte ist lernfähig und lädt immer schon mal alle Pornos in den Cache wenn ich den Computer starte. 🤡



  • lol

    Vielleicht is das hier mal Ganz interresant zu lesen.

    http://www.computerbase.de/artikel/hardware/laufwerke/2003/hitachi_deskstar_180gxp/



  • ein schreibcash macht eingentlich weniger sinn. wegen stromausfällen und so.
    os meint daten gespeichert platte meint warten wir noch ein weilchen bis wir speichern. der Sektor is so weit weg. und ich hab keinen bock mich jetzt dahin zu bewegen. Und shon haben sich 300 Milionen Euro bei ner bank in luftaufgelöst.

    Der Prozess vom Cache-Zwischenspeichern zum endgültigen Platten-Speichern ist ein Vorgang von ein Paar Millisekunden; wenn überhaupt - Die Wahrscheinlichkeit das genau in diesem Augenblick etwas passiert, ist wahrscheinlich um eine Milliarde mal geringer als die Möglichkeit, das die Software abraucht bevor der erste Plattenzugriff überhaupt stattfinden kann 😉



  • Vernochan schrieb:

    Unix-Tom schrieb:

    Deshalb wird im Serverbereich auch SCSI eingesetzt da es den Processor entlastet.

    Hmm.. ich dachte bisher immer das wird soviel eingesetzt, wegen der Bussbreite... Hohen Datengeschwindigkeit und viele Devices gleichzeitig (bis zu 32 iirc)

    Ich sagte ja auch nicht das es der einzige Vorteil ist.

    Heutzutage macht aber dei Geschwindigkeit fast keinen Unterschied zw. IDE und SCSI.
    Sind fast gleich.



  • Naja vn der reinen Datengeschwindigkeit nicht... Da is SCSI mit 320MB/s doch schon noch besser 😉
    Naja gut okay... Die wenigsten werden das neueste im Server haben... Also eher 160MB/s (damit wären es nur 27MB/s schneller...)



  • Unix-Tom schrieb:

    Ich sagte ja auch nicht das es der einzige Vorteil ist.

    Heutzutage macht aber dei Geschwindigkeit fast keinen Unterschied zw. IDE und SCSI.
    Sind fast gleich.

    Theoretische Bandbreite SCSI: 320MB/sek und mehr, IDE: 133MB/sek
    Und bei P-ATA und S-ATA besteht nach wie vor bei den meisten Lösungen immernoch das Problem das die Daten über den veralteten PCI-Bus müssen und dort schnell mal ausgebremst werden können. An die SCSI Geschwindigkeiten kommt man ja selbst mit SATA Raid gerade mal so eben ran. 🙄



  • die 320MB/s sind erst Anfang 2004 entwickelt worden.
    das sogenannte FastSCSI320 (Oder auch ULTRA640), was dann auf 640MB/s gelangt, wird nicht weiter entwickelt.
    Dafür wird SAS (Serial Attached SCSI) entwickelt.



  • Optimizer schrieb:

    Meine Platte ist lernfähig und lädt immer schon mal alle Pornos in den Cache wenn ich den Computer starte. 🤡

    ROFLMAO 😃 😃 😃

    Muahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha!!! 😃 😃 😃 👍 👍 👍



  • Unix-Tom schrieb:

    Bei IDE, etc ist es nicht so. Dort ist die CPU verantwortlich. Nun dauert aber das schreiben auf die Platte ohne cache lange. Dadurch kann es zu verzögerungen bei der Arbeit selbst kommen. Will man nun ein 2 MB-File auf die Platte speichern wartet die CPU bis der Schreibvorgang beendet ist.

    seit es DMA gibt, und das gibt es schon ewig, wartet die cpu nicht mehr auf das schreiben, sonder kann ganz ohne performanceverlust was anderes machen. und wenn wir uns dann noch vorstellen, ein BS zu haben, das nen schreibcache hat (500 oder 1000MB, gell), dann sind die 2 oder 8M der platte völlig zwecklos.
    muss andere gründe als speed haben, daß man da cache reinmacht. oder es ist ein kleiner scherz für dos-user.


Anmelden zum Antworten