Hallo Fragewurm,
Früher habe ich immer geglaubt, das die umdrehungen die
maßeinheit ist, wie schnell eine festplatte daten
verarbeitet/speichert/ hin und her schiebt ect…
Das ist ein Punkt in der ganzen Kette 
Also fangen wir mal ganz vorne an:
Nehmen wir ein Tonband. Etwas vereinfacht, gibt es zwei wesentliche Parameter, welche die Geschwindigkeit ausmachen.
- Die Bitdichte. Also die Anzahl Bit pro Millimeter (gebräuchlich sind BPI[Bits Per Inch]). Der erreichbare Wert hängt von der Kopfgeometrie und dem magnetischen Materiel auf dem Band ab.
- Die Geschwindigkeit mit welcher sich das Band bewegt.
Bis hierher sollte es noch übersichtlich sein
)
Aus verwaltungstechnischen Gründen fasst man mehrere Datenbits zu einem Block zusammen (bei PCs sind Blöcke mit 521Bytes üblich) diese Datenblöcke werden dann noch mit Prüfcodes und weiteren Informationen versehen.
Nun machen wir aus dem Band eine Scheibe, wie bei einer Festplatte. Nun haben wir das kleine Problem, dass die innerste Spur wesentlich kürzer als die Äusserste.
Bei Platten werden die Daten-Blöcke als Sektoren bezeichnet.
AUs technischen Gründen hat man früher alle Spuren in die selbe Anzahl Sektoren unterteilt. Da die innerste Spur die höchste Bitdichte hat, gibt sie die Plattenkapazität vor. Nach aussen nimmt dann die Bitdichte immer mehr ab, was eigentlich eine Verschwendung ist. Darauf komme ich später nochmals zurück.
OK, jetzt haben wir einen beweglichen Schreib-/Lesekopf welcher Zeit benötigt um von Spur zu Spur verstellt zu werden. Das geht dann auch noch auf die Übertragungsrate ein.
Nehmen wir mal an, dass unsere Platte 10 Sektoren hat, von 0 bis 9 durchnummeriert und ich möchte Sektor 0 lesen.
Zuerst schicken wir den Kopf mal auf die richtige Spur und fangen an den Sektor 0 zu suchen. Wenn ich Pech habe, fange ich mit Lesen an, wenn sich der Sektor 0 gerade unter dem Kopf befindet und ich habe somit den Anfang verpasst. Also muss ich fast eine ganze Plattenumdrehhung abwarten, bis der Sektor wieder unter meinem Lesekopf erscheint.
Wenn die Platte nur einen Buffer für einen Sektor besitzt, was früher der Fall war, muss nun der Sektorpuffer zuerst in den Hauptspeicher transferiert werden bevor ich den nächsten Sektor lesen kann. Ist dies nun Sektor 1, ist der mir aber schon wieder unter dem Lesekopf halb „entwischt“, da der Datentransfer in den Hauptspeicher auch etwas Zeit benötigt.
Früher kam da der Interleave-Faktor ins Spiel. Man hat einfach die Sektoren nicht nacheinander durchnummeriert, sondern z.B. 0,5,1,6,2,7,3,8,4,9. Somit hat man „einen Sektor lang“ Zeit um den Sektorpuffer zu transferieren. Ist heute alles kalter Kaffee, da heute der Controller im Festplattenlaufwerk mit eingebaut ist.
Nun zurück zur Geschichte mit den Sektoren und der Bitdichte. Heute haben die Spuren unterschiedliche Anzahlen von Sektoren. Sobald die Bitdichte soweit sinkt, dass mit der maximalen Bitdichte wieder ein zusätzlicher ganzer Datenblock auf diese SPur passt, wird die Anzahl Sektoren pro Spur entsprechend erhöht. Es bilden sich also Auf der Scheibe Zonen mit identischer Anzahl an Sektoren. Dieses Verfahren wird als „Zone Recording“ bezeichnet.
Dadurch ergibt sich aber, dass sich auf der Äusseren Spuren ein höherer Datendurchsatz als auf der Innersten ergibt, da sich die Platte immer gleich schnell dreht.
Noch was zur Kopfpositionierung.
Grob gibt es zwei Extremwerte:
- Wenn der Kopf nur eine Spur weitergeschoben werden muss.
- Wenn der von der äussersten Spur auf die innerste verstellt werden muss.
Die effektive Positionierzeit des Kopfes setzt sich aus zwei Komponenten zusammen.
a. der Zeit um den Kopf zu verschieben
b. Da dies ja recht ruckartig geschieht braucht es noch eine Beruhigungszeit für den Kopf, dammit er nicht mehr zittert.
Bei 1.) Spielt vor allem b.) eine grosse Rolle.
1.) ergibt sich vor allem bei defragmentierten Platten und grossen Dateien, welche über mehrere mebeneinanderliegende Spuren verteilt sind.
2.) ist eigentlich kein brauchbarer Parameter, also gibt man die mittlere Zgriffszeit an. Das entspricht dann mehr der Praxis.
Es gibt ja noch diverse Platten, welche einen Modus mit reduzierten Lärm haben. Hier wird dann der Kopf nicht so schnell wie möglich positioniert, was erhebliche Erschütterungen erzeugt, sonder der Kopf wird sanft, über mehrere Spuren hinweg, beschleunugt und dann ebenso wieder abgebremst. Dadurch verkürzt sich zwar die Kopfberuhigungszeit etwas, ist aber insgesammt langsamer als die „Vollgas-Variante“.
Gehen wir der Werbung noch etwas weiter auf den Grund.
Heutige Festplatten haben nicht nur einen Pufferspeicher für einen Sektor, sondern einen grossen Cache. Oft wird gleich eine ganze Spur in einem Rutsch gelesen und im Cache abgelegt. Das erniedrigt meist die Zugriffszeit, da normalerweise meist auch benachbarte Sektoren von Betriebssystem benötigt werden. Unter ungünstigen Voraussetzungen, kann das auber auch daneben gehen und zusätzlich Zeit kosten, wenn z.B. eine Datei extren fragmentiert ist und jeder einzelne Sektor auf einer anderen Spur liegt, oder wenn ein Programm mit vielen kleinen Dateien arbeitet.
Nun haben wir die Daten mal im Cache. Hier kommt dann das Interface in Spiel (IDE/ATA, USB, S-ATA usw). Hier wird meist mit hohen Geschwindigkeiten geprotzt. Diese ergeben sich aber nurfür die Übertragung zwischen Cache und Computer, sind also Spitzenleistungen welche nur für einige Aufeinander folgende Sektoren erreicht werden können. Ist der Cache leer, bestimmt die Mechanik die Transfergeschwindigkeit.
Kopf und Platte bringen Datendurchsätze in der Grössenordnung von 50MByte/s, während das Interfache 4 bis über 10 mal schneller ist.
Ich hoffe du blickst jetzt etwas besser durch.
MfG Peter(TOO)