Anmelden mit
Registrieren | Anmelden

Schnellere Festplatten-Arrays durch Short Stroking

Schnellere Festplatten-Arrays durch Short Stroking
Von , Achim Roos

Bis Flash-SSDs Festplatten das Unternehmens-Segment übernehmen, wird noch einige Zeit vergehen. Wir haben uns die Short Stroking-Technologie näher angesehen, mit der die I/O-Performance auf Kosten der Speicherkapazität verbessert wird.

Neuigkeiten im Festplatten- bzw. Storage-Markt drehen sich vor allem um Flash-SSDs: Sofern man der Berichterstattung diverser Internet-Magazine Glauben schenkt, stehen Laufwerke auf Flash-Basis kurz vor der Übernahme des Speichermarkts. Sie gelten als schneller und effizienter als Festplatten –aber auch wesentlich teurer wenn man Kosten pro Gigabyte zugrunde legt. Die tatsächliche Situation sieht allerdings anders aus, da Flash-Speicher bislang lediglich sehr kleine Marktanteile für sich in Anspruch nimmt. Die gute alte Festplatte ist also noch lange nicht tot. Wir haben einen weiteren Grund entdeckt, weshalb Festplatten auch in I/O-intensiven Anwendungen noch ihre Berechtigung haben: Die Short-Stroking-Technologie.

Bildquelle: Anwender “Zzubnik”, Wikimedia.Bildquelle: Anwender “Zzubnik”, Wikimedia.

HDD contra SSD

Lassen Sie uns zu Beginn klarstellen, dass wir nicht pauschal Festplatten oder Flash-SSDs bevorzugen. Jede Technologie hat ihre Vor- und Nachteile und macht Sinn, wenn sie entsprechend klug eingesetzt wird. Die Vorteile von SSDs liegen in einer kaum noch vorhandenen Zugriffszeit und einer hohen I/O-Performance. Einzelne Modelle bieten zudem sehr hohen Datendurchsatz, der jedoch für Server von geringerem Interesse ist als für Desktops und Notebooks. Hinzu kommt, dass Flash-Speicher für eine Kapazität von bis zu 64 GB inzwischen bezahlbar geworden ist. Und schließlich können Flash-SSDs zudem auch sehr energieeffizient sein.

Leider enttäuschen zahlreiche Flash SSD-Produkte noch immer. Zudem sollten Sie über die Unterschiede zwischen MLC- und SLC-Flash bescheid wissen (Multi Level Cell contra Single Level Cells). MLC ermöglicht schnelle Lesevorgänge, ist allerdings für flotte Schreibvorgänge nicht geeignet – besonders wenn diese zufällig auftreten. SLC-Flash hat die Oberhand, ist allerdings auch teurer. Während einige MLC-Flash-SSDs recht erschwinglich geworden sind, kosten SLC-Flash-SSDs auch weiterhin viel Geld.

Effizienz und Zuverlässigkeit sind zusätzliche Aspekte, die Sie bedenken sollten. Performance und Leistungseffizienz hängen größtenteils vom Controller ab, der von einer Flash-SSD genutzt wird. Der Markt bietet zahlreiche gute Produkte, die allerdings auch ihren Preis haben.

HDDs noch nicht überholt

Herkömmliche Festplatten sind fast schon billig geworden, wobei selbst Festplatten mit Terabyte-Kapazität schon deutlich unter 100 Euro zu haben sind. Eine hohe Speicherkapazität, Kosten und Verfügbarkeit in großen Stückzahlen zählen eindeutig zu den entscheidenden Faktoren, die für eine weitere Nutzung traditioneller Festplatten sprechen. Zudem sind HDDs trotz magentischer, mechanischer oder elektronischer Komponenten, meist zuverlässig und oft erstaunlich widerstandsfähig. So müssen Festplatten im Unternehmensbereich extreme Testverfahren und eine anspruchsvolle Validierung für spezifische Einsatzzwecke über sich ergehen lassen, bevor sie letztlich für unternehmenskritische Anwendungen eingesetzt werden. Die Zuverlässigkeit von Flash-SSDs über einen langen Zeitraum hinweg ist noch weitgehend unerforschtes Territorium, weshalb zahlreiche Unternehmen den Einsatz solcher Produkte noch scheuen.

Kampf der Physik

Der größte Nachteil herkömmlicher Festplatten ist der Zeitverlust durch die Repositionierung der Lese-/Schreibköpfe. Während das bei sequentiellen Lese- bzw. Schreibvorgängen, bei denen konventionelle Festplatten oftmals schneller sind als viele Flash-SSDs, keine Rolle spielt, ist es für die Performance von zufälligen Lese- oder Schreibvorgängen von entscheidender Bedeutung.

Sobald eine Festplatte auf zufällige Information zugreifen muss, die über das gesamte magnetische Medium verteilt sein kann, ist es durchaus möglich, dass ein Durchsatz von mehr als 150 MB/s bei einer schnellen Server-Festplatte mit 15.000 U/Min auf wenige hundert Kilobyte pro Sekunde zusammenschrumpft. Mit anderen Worten: Das Laufwerk bzw. die Anwendung verliert durch die Positionsänderung der Köpfe viel Zeit. Was wäre, wenn man diese mechanische Aktivität verringern könnte? Das geht. Wir haben uns einen Ansatz namens Short Stroking näher angesehen und eine Reihe von Hitachi-Festplatten dazu herangezogen. Mit Hilfe eines Ansatzes, der als Short Stroking bekannt ist, wollten wir die mechanische Aktivität verringern indem die Laufwerke in einem RAID-Array lediglich einen Bruchteil der Festplattenkapazität bzw. Medienoberfläche einsetzen.

Experten im Forum befragen

Zu diesem Thema einen neuen Thread im Forum Artikel erstellen.

Beispiel: Notebook, Festplatte, Speicher

Alle 12 Kommentare anzeigen.
Auf dieser Seiten können keine Kommentare mehr abgegeben werden
Sortieren nach: Neueste zuerst | Älteste zuerst
  • ebatman , 29. April 2009 17:28
    Mal herzlichen Dank für den doch recht ausführlichen Artikel.

    Verwende zuhause bereits seit etlichen Jahren diesen Kniff um stabilere Transferaten und deutlich kürzeren Zugriffszeiten zu erhalten.

    Kann zwar hierzu keine proffesionelen Tools vorweisen und verwende somit nur die Windows eigenen Mittel durch die partitionierung aber die Ergebnisse sind vergleichbar.

    die restliche Kapazität lasse ich jedoch nicht verloren gehen und verwende den Restbereich als Datengrab.
    Partitionierung wie folgt:
    1TB Samsung (3Plattern)
    100gb Systempartition
    ~900gb Datengrab

    Bei den diversen Testprogrammen ist ein heftiger Ruck an der performance zu ermessen bei deutlich reduktion der Zugriffszeit --- einzig was immer gleich bleibt ist die Rotationsverzögerung.
    Und ein beim defragmentieren zwitschert das Laufwerk wie eine Lerche durch die nun deutlich schnelleren Poitionierungsfrequenz.

    Ergebnis: maximale Performance auf der Systempartition / und auf dem Datengrab ist mir die Latenz wirklich egal :D 

    Großer Nachteil jedoch --- beim Kopieren von Daten zwischen diesen 2 Partitionen geht natürlich die Transferraten extrem in den Keller --- dafür wird dann einfach eine 2te HDD verwendet die sowieso noch als Schnellsicherung eingebaut ist.
  • pzero , 29. April 2009 17:41
    Danke für das Lob! Für Zuhause ist die Lösung durch Partitionierung sicherlich meist brauchbar, da die Performance-Vorteile bei den meisten OS-/Controller-Konfigurationen vorhanden sind. Nur darf man das beschriebene "Datengrab" eben nicht einsetzen. Die Lösung könnte ein billiges Single-Platter-Laufwerk sein; ist noch günstiger als das beschriebene Terabyte-Laufwerk.

    Gruß
    Patrick Schmid
  • derGhostrider , 29. April 2009 20:38
    Als Empfehlung für die Systempartition wäre aber vielleicht ein RAID-1 die günstigere Wahl. Auch da gibt es IO-Optimierende RAID-Verfahren und zusätzlich eben die Ausfallsicherheit von RAID-1.

    Auf Seite 9 sollte aber vielleicht der Text unter dem letzten Benchmark nochmal überdacht werden:
    Zitat :
    In unserem Workstation-Test schneiden die vier Festplatten besser ab als eine einzelne Flash-SSD. Auch hier sollten Sie die Kosten im Kopf behalten: Vier preiswerte Serial ATA-Laufwerke sind äußerst erschwinglich, hängen eine teure Flash-SSD mit Leichtigkeit ab und bieten dabei womöglich noch mehr Kapazität.

    Das Problem beim Workstation-Einsatz ist nunmal, daß nicht so wirklich häufig lange Befehlsketten auftreten. Man wird irgendwo bei einem Durchschnitt von 1,x Befehlen landen, wenn recht viel los ist und dann sind die hochgelobten RAID-0 Systeme eben noch nicht auf Höhe der SSDs.
    Erst ab ~Q3 können die stark beschnittenen Hitachis mit der langsameren SSD gleichziehen; erst ab ~Q7 mit der schnelleren.
    Übertragen auf tatsächliche Zugriffsmuster heißt das aber leider, daß die RAIDs gegen die SSD keine Chance haben.

    Im Serverbetrieb mit wirklich vielen Zugriffen sieht es dann wieder etwas anders aus.

    Wäre vielleicht nicht schlecht das so klar darzustellen, sonst quillen demnächst wieder die Foren über, da die Leute sich kleine Systempartitionen auf ein RAID-0 aus 4 Platten packen und sich wundern, warum es nicht schneller wird...
  • johannes_franke , 30. April 2009 10:10
    Interessante Sache auf jeden Fall.
    Eine Bitte an die Redaktion: die Navigation finde ich bei diesem Artikel ziemlich umständlich. Sonst gibt es doch außer "Seite zurück" und "Seite vor" immer eine DropDown-Box mit direktem Seitenzugriff anhand der Überschrift, was hier durch direkten Zugriff auf die Seitenzahl ersetzt wurde. Wäre das einheitlich, hätten es auch die Leser leichter... Danke!
  • Anonymous , 1. Mai 2009 09:20
    Das RAID 0 und ähnliche parallelgeschichten in Sachen performance 'rocken', das haben wir ja mal mit den Waibel Wannseeblitz gelernt. Die alten Säcke (die 30 jährigen) unter uns werden sich erinnern... Wenn ich aus Maschinenbauersicht mal meinen Senf dazu geben darf. Ich frage mich, wieso bis heute kein Hersteller mal auf die Idee kommt mehr als einen Lesekopf pro Platter zu verwenden. Also Platterbezogenes RAID wenn man es so will. Dann brauch man auch nicht Kapazität wie hier beschrieben über Bord werfen. Rein mechanisch gibt es im Prinzip zwei Varianten. Auf einem Arm, nebeneinander und die Daten entsprechend per 'Software' angeordnet. Herstellungstechnisch mit wenigen Cent zu erschlagen und in den vorh. 3,5" Gehäusen unterzubringen. Die erhöhte Trägheit (mehr Masse) wird durch den 1/2, 1/3, 1/4, 1/n Weg sicher wieder wett gemacht und (!)/oder mehere Arme die unabhängig voneinander die Datenbereiche anfahren können und natürlich auch jeweils wieder als mehrfachlesekopf ausgeführt werden können wobei man sich dann Gedanken machen muss wie man das untergebracht bekommt. Dann sollte der Datenstrom ja eigentlich aus allen Nähten platzen und die Zugriffszeiten ebenso schrumpfen aber die Kapazität erhalten bleiben. zumal man dann immer noch die Möglichkeit hat per 'normalen' RAID HDD's zu verbinden. Was sagt da die Redaktion zu, oder übersehe ich hier was ?
  • derGhostrider , 1. Mai 2009 15:32
    Zitat :
    Ich frage mich, wieso bis heute kein Hersteller mal auf die Idee kommt mehr als einen Lesekopf pro Platter zu verwenden.

    Das gab es mal in den 90ern von Seagate. War aber unbezahlbar und da gerade mechanische Teile die größten Schwachstellen der Festplatten darstellen, ist dies nicht vorteilhaft für die Lebensdauer.

    Mehrer Köpfe an einem Arm scheitert an anderen "Kleinigkeiten":
    Die Spurbreiten sind so gering, daß man nicht mit zwei nebeneinander liegenden Köpfen zwei nebeneinander liegende Spuren auslesen kann. Die Breite einer Spur ist wesentlich geringer als die Abmessungen eines Kopfes.
    Würde man den Arm nun dermaßen vergrößern, daß mehrere Schreibleseköpfe Platz finden, so hätte man gleich mit mehreren Probleme zu kämpfen: Es müssten beide gleichzeitig die korrekte Höhe halten, die Masse des Arms würde steigen und somit auch die Trägheit und die Zeit, die für die Positionierung und die Einschwingzeit anzusetzen ist.
    Die Positionierungszeit reduziert sich nicht derartig, wie Du meinst, da nicht n Köpfe an einem filigranen Arm gleichzeitig in einem kontrollierten Abstand gehalten werden könnten.

    Es ist eben nicht so trivial, wie man meinen könnte. Gut wären zwei Schreib-Lesekopfsysteme, wie damals bei dem Seagates. Man könnte komplexe Optimierungen schaffen, so daß sogar Schreiben und Lesen GLEICHZEITIG möglich wäre. Sequentielle Befehlsketten könnten parallelisiert abgearbeitet werden, große Dateien in einer art Interleave-Verfahren eingelesen werden, etc.
    Ja, da gäbe es einige interessante Möglichkeiten.

    Die Haltbarkeit und Kosten stehen dem jedoch gegenüber, wodurch soetwas schon damals gescheitert ist und heute gar nicht umsetzbar wird.

    Dann kauft man doch lieber eine andere Lösung, die diese Nachteile nicht mitbringt (Beispiel: FusionIO - ioDrive oder ioDrive2). Das kostet zwar, liefert aber auch umwerfende Leistungswerte.
  • KaeptenIglu , 1. Mai 2009 22:46
    HI,
    interessante Geschichte. Aber wie seid ihr denn auf die Größen für die 7K1000.B Platten gekommen? Habt ihr einfach 10% und 4% gewählt oder gibt es da auch einen Zusammenhang mit den Zonen?
  • derGhostrider , 1. Mai 2009 22:58
    @KaeptenIglu:
    Soweit ich weiß gibt es seit längere Zeit (ein paar Jahren) keine festen Zonen mehr. Die Zahl der Sektoren pro Track wird heute wohl dynamisch angepasst und nicht mehr Stufenweise festgelegt, da ansonsten der Verschnitt zu groß wäre.
  • SSense , 8. August 2009 01:05
    hm ... kann mir mal wer sagen ob ich was falsch mache ?

    ich habe mir hd tune geholt ... habe ne sehr alte 80er platte genommen .. hat sage und schreibe 22,4mbs average lesen und mit ner partition auf 1gig oder sogar nur 256mb sinds immer noch 22,Xmbs ...
    die zugriffszeit ist von 14,3 auf 14,1ms runter ...

    und mit i/o meter komme ich nicht klar .. habe mir die 2006 version geholt, gibts ja kostenlos, ... da sagt er mir was von rund 200 i/os /s ... ist ja total utopisch ^^

    ich bin aber der meinung, dass sich die angegebenen i/os leicht ändern wenn ich 80gig oder nur 256 der platte nutze ... aber das steht in keinem verhätlnis ... 256mb von ehemals 80gig und dann net mal 20% mehr i/os öÔ

    hat das mit der partition aufm äußeren rand einfach nicht funktioniert?

    habe mal errechnet, dass ich die platte auf nur 1% kapazität runtergeregelt habe und der hat nur 1% mehr lese-leistung :D 

    oder liegt das einfach an der extrem alten ide platte?

    vllt ist der ide controller auf dem teil einfach zu nicht mehr als 22mbs average fähig?

    achja, nebeninfo .. das ganze teil ist per externes gehäuse und usb 2.0 angeschlossen (3,5")



    habt ihr was anderes gemacht? oder sollte man nicht mit windows partitionieren?
  • derGhostrider , 8. August 2009 12:19
    *brüll* Wenn Du über USB die Platte ausbremst, dann kannst du auch durch Short-Stroking nichts tolles erreichen. Der USB ist der Flaschenhals und fügt zusätzliche Latenzen hinzu und begrenzt die Transferrate.

    Außerdem: Auch mit short-Stroking wird aus einer alten mechanischen Platte noch lange keine Rakete. ;) 

    IOmeter: Nimm lieber die 2008-06-22 RC. Die ist besser und ebenfalls kostenlos. IOmeter ist und war schon immer kostenlos. Dafür mußt Du dabei schon genau wissen, was Du testest.
  • Anonymous , 21. Oktober 2009 13:43
    Warum wird eigentlich innerhalb einer Festplatte kein Stripeset eingesetzt? Je nach Anzahl der Scheiben und Köpfe liesen sich da ja dramatische Geschwindigkeitszuwächse erreichen. Mechanisch würde alles gleich bleiben, detto die Kapazität. Die Fehlererkennung müsste man noch in den Griff bekommen. Das wär ein Quantensprung. Warum macht man kein flexibles Short Strokking? Sprich beim Schreiben von Daten darf immer nur ein eingeschränkter Bereich der HDD benützt werden und nur in "Notfällen" ausgewichen werden, das spart genauso Weg und Zeit aber es geht keine Kapazität verloren. Oder erreicht man das schon durch normales defragmentieren?
  • derGhostrider , 21. Oktober 2009 17:15
    @CyberErnst:
    Diese variante von Stripes würde zu einer wahnsinnigen Fragmentierung oder zu einem deutlichen Kapazitätsverlust führen. Bisher werden die äußeren Spuren wohl der Reihe nach beschrieben. Ist ein Block/Sektor voll, dann wird im nächsten weiter geschrieben. Endet die Datei irgendwann, dann wird dieser Sektor zuende geschrieben und ist danach gesperrt.
    Würdest Du nun bei vier Speicherscheiben (8 Köpfe) Deinen "RAID-0" Ansatz verfolgen, dann wäre der Verschnitt 8 mal so groß wie heute.

    Siehe dazu auch die Eigenschaften einer Datei (Rechtsklick, Eigenschaften).
    Dort wird einmal die tatsächliche Dateigröße aufgelistet und dann der Platz, der für diese Datei belegt ist.

    Bei Teilweise über 100k Dateien nur auf den Systempartitionen summiert sich das recht gewaltig.

    Ganz zu schweigen von den benötigten Strömen. Festplatten werden durch extrem starke Magnetfelder beschrieben. Für diese Felder müssen auch hinreichende Ströme fließen. Da die Drähtchen alle über den Arm zu den Schreibleseköpfen geführt werden, könnte es gut sein, daß sich eine gemeinsame Masse (evtl der Arm selbst?) geteilt wird. Wenn nun alle gleichzeitig angesteuert werden sollten, und das auch noch sauber getrennt voneinander, damit weder durch Induktion noch duch sonstige Fehlströme die Daten woanders beeinflusst würden, müsste man eventuell zusätzliche Abschirmungen oder Leitungen einführen. Je schwerer der Arm desto größer die Zugriffszeiten.

    Es werden, durch das Dateisystem gesteuert, bevorzugt Bereiche beschrieben, in denen eine Datei zusammenhängend geschrieben werden kann. Das ist Dein "flexibles short stroking".
    Ja, die Programmierer sind nicht alle doof und das FAT-Dateisystem gehört halt nur noch auf manche USB-Sticks und kleine Geräte, bei denen es nicht darauf ankommt ob fragmentiert wird oder nicht.
    Sehr geringe Fragmentierung findet man vor allem auf ext3 Dateisystemen.

    Bei SSDs ist Fragmentierung kein Problem mehr, da die Zugriffszeiten der besseren SSDs recht irrelevant sind.

    Man könnte einiges an HDDs, zumindest in der Theorie, optimieren. Ob sich das aber bezahlen lässt oder nicht zugleich die Ausfallwahrscheinlichkeit in astronomische Höhen treibt, ist eine ganz andere Frage.
    So gab es in der Vergangenheit einmal eine Festplatte, die hatte zwei Schreib-Lesekopfsysteme.
    -> Halbierte maximale Zugriffszeiten, höhere Transferraten, höhere IO-Raten. Alles möglich.
    Allerdings auch viel höhere Ausfallraten, höhere Temperaturen, weniger Platz für die Speicherscheiben (die Aktuatoren und Motoren brauchen viel Platz), Vibrationen der Aktuatoren stören sich gegenseitig, viel höhere Kosten, etc.