Zitat:
16MB sind besser als 2 oder 8MB Cache oder ?!
ja
Zitat:
Was heißt den das mit Cache
der cache ist ein schneller zwischenspeicher.
damit können zunächst 16/8/2 MiB daten gesammelt werden, bevor dann wirklich auf die platte geschrieben wird:
1. kann so die logik der festplatte die optimale bewegungs- choreographie ermitteln, um alle daten (im cache) mit möglichst wenigen kopfbewegungen und damit in optimaler geschwindigkeit zu schreiben.
die problemstellung ist ein typisches
traveling salesman problem und wird durch geeignete algorithmen wie z.b.
dijkstra. je größer der cache, um so größer das problem (N), doch um so effektiver die lösung.
2. kann das betriebsystem sich anderen tasks widmen, da der cache völlig transparent arbeitet, d.h. für das os ist es nicht feststellbar, ob die daten noch im cache sind oder schon geschrieben wurden.
bei dateien die kleiner als der cache sind, erreicht man so eine "schreibgeschwindigleit", die der maximalen transferrate des datenbusses entspricht: bei SATA2 also nahezu 300MB/s.
das allerdings nur solange, wie genug zeit zum "echten" scheiben zwischen 2 schreibzugriffen bleibt, sonst sinkt die datenrate auf max. das niveau der phys. schreibgeschwindigkeit der platte, eher darunter.
3. kann der cache auch beim lesen von daten die transfergeschw. erhöhen, in dem beim lesen einer folge von daten auf der festpatte unaufgefordert auch die dahinterliegenden (physikalisch dahinter, nicht logisch) daten bestimmer größe mit eingelesen werden.
die statistik zeigt, das bei einem lesezugriff mit hoher wahrscheinlichkeit kurz darauf die daten direkt danach eingelesen werden (bei einem nicht oder nur minimal fragmentierten dateisystem).
jetzt stehen aber dies daten bereits im cache, was den abruf natürlich beschleunigt.
das verfahren nennt sich "read ahead" und kann auch in weitaus größeren maßstäben (dann auch mit beliebig fragmentierten/organisierten dateisystem) im zusammenhang mit dem arbeitsspeicher genutzt werden, dann aber durch das betriebsystem organisiert, nicht mehr autonom durch die laufwerkslogik.
4. die kombination aus 2. und 3.:
sehr oft werden daten, die gerade erst geschrieben wurden anschließend wieder ausgelesen (< 1s). da die daten zumeist in dieser kurzen zeit noch nicht vollständig geschrieben wurden, und sich deshalb noch im cache befinden, ergibt sich beim abruf direkt aus dem cache kaum eine verzögerung.
alle vorteile wachsen nahezu linear mit der größe des caches, doch ist die lösung des traveling salesman problems (siehe 1.) dann umso schwieriger - und das mit mindestens O(n² log n), also exponentiell wachsend.
um einen genügend schnellen algorithmus bzw. logik der festplatte um den cache dementgegen effektiv zu halten kümmert sich aber der hersteller.
es kann aber gesagt werden, das größere caches aufgrund dieses problems (bzgl. punkt 1) langsamer / ineffizienter arbeiten als kleinere.