PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Blockgrößen > 512 Byte auf HDD/SSD?


MORPHiNE
2009-03-04, 20:38:35
Immer wieder hört man, dass Festplattenhersteller die Blockgrößen zur Steigerung der Performance und Kapazität auf bis zu 4 KiB erhöhen wollen.
Das ganze trug den Namen "Long Block Data" (LBD).
Bis heute konnte ich allerdings noch keine einzige Festplatte mit diesen Blockgrößen ausfindig machen.

Gibt es mögliche Gründe, dass diese Umstellung so lange zurückgehalten wird?
Es macht aus performancetechnischer Sicht eigentlich keinen Sinn, weil heute jedes halbwegs ordentliche Dateisystem logische Blocks ("Cluster") in dieser Größenordnung (und darüber) nutzt. Durch die 512 Byte kleinen "Device"-Blocks entsteht eigentlich nur ziemlich viel Overhead.

Ein paar Meldungen/Links dazu:

http://www.tecchannel.de/ueberblick/archiv/401836/index3.html (von 2002!)
http://ht4u.net/news/22_lbd-standard_erhoeht_blockgroesse_bei_festplatten/ (2007)
http://www.byteandswitch.com/document.asp?doc_id=122822 (2007)
http://www.sys-con.com/node/368465/print (Pressemitteilung, 2008)

Gast
2009-03-04, 22:44:18
mit größeren blöcken steigt allerdings der verschnitt stark an.

Mr.Magic
2009-03-04, 22:44:56
Bis heute konnte ich allerdings noch keine einzige Festplatte mit diesen Blockgrößen ausfindig machen.

SSDs mit dem schrottigen JMicron-Controller funktionieren nur mit 4KB Blocks richtig* (ohne Stotterer und Hänger), und sind oft damit vorformatiert.

*Zusätzlich zum korrekten Alignment versteht sich.

mit größeren blöcken steigt allerdings der verschnitt stark an.

Nicht wirklich, da sich kaum jemand die Platte mit Dateien <4KB zuballert, und es auf ein paar (hundert) MB mehr oder weniger nicht ankommt.

Sephiroth
2009-03-04, 23:00:35
Immer wieder hört man, dass Festplattenhersteller die Blockgrößen zur Steigerung der Performance und Kapazität auf bis zu 4 KiB erhöhen wollen.
Das ganze trug den Namen "Long Block Data" (LBD).
Bis heute konnte ich allerdings noch keine einzige Festplatte mit diesen Blockgrößen ausfindig machen.

Gibt es mögliche Gründe, dass diese Umstellung so lange zurückgehalten wird?
Es macht aus performancetechnischer Sicht eigentlich keinen Sinn, weil heute jedes halbwegs ordentliche Dateisystem logische Blocks ("Cluster") in dieser Größenordnung (und darüber) nutzt. Durch die 512 Byte kleinen "Device"-Blocks entsteht eigentlich nur ziemlich viel Overhead.

Ein paar Meldungen/Links dazu:

http://www.tecchannel.de/ueberblick/archiv/401836/index3.html (von 2002!)
http://ht4u.net/news/22_lbd-standard_erhoeht_blockgroesse_bei_festplatten/ (2007)
http://www.byteandswitch.com/document.asp?doc_id=122822 (2007)
http://www.sys-con.com/node/368465/print (Pressemitteilung, 2008)
hab noch einen Link für dich: 286482 (auch aus 2006)

Immerhin gab es dank der, sicher begründeten, Bummelei schon eher 48-Bit LBA. Mit dem alten 28 Bit LBA bei 4 KiB Blöcken wäre bei 1 TiB großen Platten ende gewesen. ;)

@Gast: stark ist relativ ;)

Gast
2009-03-04, 23:42:49
mit größeren blöcken steigt allerdings der verschnitt stark an.
Du hast dein FS auf eine Blockgröße von 512 Byte formatiert?

Gast
2009-03-05, 10:20:32
mit größeren blöcken steigt allerdings der verschnitt stark an.

Hallo,

das ist aber nicht unbedingt ein Problem.

Auf meinen Datenplatten nutze ich CLustergrößen von 64 KB (128 Sektoren).

Dies hat viele Vorteile, weniger Verwaltungsaufwand, (etwas) mehr Platz und deutlich geringere Fragmentation.

(Bevor einer sagt, Linux fragmentiert nicht, aufgrund der Blockgruppenaufteilung, gibt es eine viel höhere "Freespace-Fragmentation". Ergo wenn die HDD voll wird, gibt es ein deutlich größeres Fragmentationsproblem.)

Beispiel

Eine Datei zu 1 GB besteht aus 256K Blöcken zu je 4 KB aber nur aus 16K Blöcken zu 64 KB, ergo wird das Datiesystem stark entlastet.

mfg

Gast
2009-03-08, 01:31:36
Nicht wirklich, da sich kaum jemand die Platte mit Dateien <4KB zuballert, und es auf ein paar (hundert) MB mehr oder weniger nicht ankommt.

Du brauchst die Platte gar nicht zuballern, jede Datei belegt Cluster. Egal ob groß oder klein, die menge macht es am Ende.

Bei immer größer werdenden Platten wachsen die Datenmengen und oft auch die Anzahl der files, so gehts mir jedenfalls.
Schon auf einer kleinen Betriebssystemplatte können allein durch große Cluster mehrere hundert MB oder gar Gigabyte verloren gehen.
Die ganzen Spieleinstallationen tun ihr übriges dazu.

Eine Textdatei die vielleicht 327 bytes groß ist, belegt dann schonmal einen 4KB großen Cluster. Ziemlich verschwendung. Hast du 100 textdateien, die du ganz sicher hast (bestimmt Logdateien :p), sind es zum x mal so viel usw.
Natürlich trifft das auch auf Programmdateien oder dlls oder was auch immer zu.
Bei riesenclustern von 64K verschenkst du schon ganz ordentlich was. Eine Datei die nicht exakt in diese Blockgröße passt, vergeudet leider Speicherplatz. Selbst bei einer riesen ISO Datei fehlen am Ende oft noch einige Bytes/KB um den Cluster auszufüllen. Das summiert sich dann...
Rechne dir mal selber aus, wieviel das bei einem vollen Datenträger wären, der bis zu 2 000 000 000 000 Bytes aufnehmen kann. :)

Bei PartitionMagic gabs so ein schönes tool, welches das veranschaulicht hat.

Mr.Magic
2009-03-08, 02:15:24
Schon auf einer kleinen Betriebssystemplatte können allein durch große Cluster mehrere hundert MB oder gar Gigabyte verloren gehen.

Genau das steht doch bereits im Zitat.

Um 1GB zu verschwenden muss man über 250.000 extrem kleine Dateien draufballern.

Ich sage dazu immernoch "so what & who cares?".

Ich habe insgesamt 107315 Dateien unter 4KB auf allen Platten. Das ergäbe maximal 420MB Verlust. 420MB von verfügbaren 1.395.814MB verschwendet. Wie schlimm... :tongue:

Du brauchst die Platte gar nicht zuballern, jede Datei belegt Cluster. Egal ob groß oder klein, die menge macht es am Ende.

Bei größeren Dateien kommt es auf 4KB mehr oder weniger erst recht nicht mehr an.

Gast
2009-03-08, 02:25:28
4KB sind noch nicht groß, einer Vorgänger redete noch von "64K".
Die 4KB werden standardmäßig verwendet bei einer installation.

Außerdem solltest du dein Nutzungsverhalten nicht mit anderen gleichsetzen.

Bedenke, das Software ebenfalls wächst. Ne Win98 installation bekamen wir noch in weniger als 200MB unter, was braucht Vista?
Dann kommen dazu noch zum teil riesige Spiele (bis 20GB), die teils mit extrem vielen dateien daher kommen. Vom ganzen .NET gedöns, Browsercaches, Temp-Dateien fang ich besser gar nicht erst an. Nicht zu vergessen, die ganzen Musikfiles, Bilder, Textdateien... Office Suite.
Ich bin mir sicher, das ich schon vor Jahren, als es so große Platten noch gar nicht gab, bei einem länger laufenen System mehr als 600.000 files hatte. Jetzt bin ich allerdings zu faul dazu, das alles wieder zu installieren. ;)

Mr.Magic
2009-03-08, 03:10:15
Wenn ich nicht von mir ausgehen soll, dann zitier mich nicht.

Gast
2009-03-08, 03:47:58
Wenn ich nicht von mir ausgehen soll, dann zitier mich nicht.

Doch, klar. Es ging genau um die zitierte Aussage (deine verwendete Clustergröße hattest du ohnehin nicht erwähnt), da die nunmal nicht allgemeingültig ist.
Du hast geredet von Dateien "kleiner als 4KB". Das hat wenig Aussagekraft ohne die Clustergröße zu kennen.
Wenn du viele <4KB Dateien hast, aber keine passenden Cluster hast, fällt auch weiterhin eine große Menge an Verschnitt an. Du müsstest jetzt erstmal entscheiden, welche files auf dem Datenträger landen werden.
Vorallem, wenn wie nachfolgend geschrieben, noch so riesige verwendet werden. Für wenige Byte Dateien 64KB zu vergeuden ist sicher nicht sinnvoll.

4096Bytes benutzt Windows eigentlich als Standard, manuell formatiert sind andere Größen wählbar.
Vorallem bei Datenplatten wo oft vieles durcheinander landet, ist da eine ausgewogene Mischung eher zu empfehlen. Mp3s, Bilder sind oft kleiner als Archive oder Videos.
Wenn du jetzt hunderte Gigabyte davon hast, summiert sich das am Ende ganz schön.

Auch wenn du jetzt sagst, das bei "großen Dateien" die Cluster unwichtig werden, stimme ich da nicht zu. Weil die Festplattengrößen weiterhin wachsen, so auch die Datenmengen und files.
Auf einem aktuellen drive passen immerhin 2743 CD-Images, vor nicht allzu langer Zeit war ich noch froh darüber, mehrere Vollinstallationen machen zu können, dann war das drive voll :eek:
Oder du könntest 544956 MP3 files zu je 3,5MB darauf speichern. Auf einem Drive. Über eine halbe Million Stück. Die sind ja ein bisschen größer als ne Textdatei, trotzdem kommt so ein haufen zusammen.
Vielleicht hat der ein oder andere noch viele Bilder auf seiner Platte...wer weiß das schon.
Wirklich riesige Cluster sehe ich daher nicht als besonders sinnvoll an. 4K ist sicher noch in Ordnung, aber wir müssen nicht gleich mit Übergrößen übertreiben. Irgendwann flacht auch der (Performance-)Gewinn durch große Cluster wieder ab.
Ohnehin haben wir bei mechanischen Platten ein weiteres Problem mit der Performance.. (bei vielen dateien).

Mr.Magic
2009-03-08, 04:06:53
Doch, klar. Es ging genau um die zitierte Aussage (deine verwendete Clustergröße hattest du ohnehin nicht erwähnt), da die nunmal nicht allgemeingültig ist.
Du hast geredet von Dateien "kleiner als 4KB". Das hat wenig Aussagekraft ohne die Clustergröße zu kennen.

SSDs mit dem schrottigen JMicron-Controller funktionieren nur mit 4KB Blocks richtig* (ohne Stotterer und Hänger), und sind oft damit vorformatiert.

*Zusätzlich zum korrekten Alignment versteht sich.



Nicht wirklich, da sich kaum jemand die Platte mit Dateien <4KB zuballert, und es auf ein paar (hundert) MB mehr oder weniger nicht ankommt.

Lesen, verstehen, antworten.

Gast
2009-03-08, 04:16:21
Offenbar hast du deinen eigenen Text nicht richtig in Erinnerung, die passenden Stellen hast du sogar zitiert:
Du hast geschrieben, das SSD nur mit 4KB blocks anständig funktionieren sollen.
Du hast hast nicht geschrieben, das du 4 KB Blocks überhaupt nutzt.

Du hast geschrieben, bei Dateien kleiner als 4KB.
Du hast nicht geschrieben, es ginge dir um Clustergrößen von 4KB. Dateien und Cluster sind verschiedene Dinge.

Wenn du das so meintest, hast du es nicht richtig ausgedrückt. Mein Zitat bleibt dahin bestehen und weiterhin passend. Wenn ich etwas zitiere, dann nur den Teil, der von belang ist, den nicht zitierten Teil musst du dir wegdenken.
In diesem Teil stand nur etwas von Dateien "die jemand" verwendet, nix anderes. Du selbst kommst gar nicht darin vor.

Mr.Magic
2009-03-08, 05:09:31
Ich versteh' dich schon, du hast geglaubt ich hätte mir die 4KB einfach so aus den Fingern gesaugt... :|

I'm out.

Gast
2009-03-08, 10:44:32
Hallo,

also ein guter Ansatz für die "Verschwendung", ist die Annahme jede Datei auf der HDD verschwendet ein halbes Cluster (zumindest bei NTFS).

Daher werden bei 200.000 Dateien auf der HDD ca. 400 MB "verschwendete".

Overall werden in Zukunft die HDDs 4K Sektoren haben und somit wird es ein direktes Mapping der Sektoren auf die "Cluster" geben.

Andere sehr interressante Frage RAID-Controller verwenden meist 128 K Blöcke.

mfg

Haarmann
2009-03-08, 12:04:35
Gast

Also Deine Rechnung ist falsch...

Bei 200k Dateien gibts rund 400 MB verschnitt bei 4KB Cluster... bei 512B wärens zwar nur 50MB, aber die Verwaltung der kleineren Cluster frisst das das dann schnell auch wieder auf.

Gast
2009-03-08, 12:46:09
Ich versteh' dich schon, du hast geglaubt ich hätte mir die 4KB einfach so aus den Fingern gesaugt... :|

Ich "glaube" gar nichts, sondern gehe vom zitierten Text aus, ich habe nur das geschrieben und angenommen, was du geschrieben hast und da war eindeutig nicht die Rede davon, das DU diese Clustergrößen verwendest. Das hast du doch sogar in nachfolgenden Stellen selbst zitiert.
Wer ist denn "jemand"... du oder jemand anderes?

@Haarmann

Die Rechnung des anderen Gastes stammt sogar von Microsoft, wobei ich das auch nicht so recht verstehe, warum es umbedingt die hälfte sein sollen.
http://support.microsoft.com/kb/140365/de

Gast
2009-03-08, 15:16:53
Nicht wirklich, da sich kaum jemand die Platte mit Dateien <4KB zuballert, und es auf ein paar (hundert) MB mehr oder weniger nicht ankommt.


das sind nicht ein paar 100 sondern viele tausende solcher dateien, vor allem im betriebssystem gibt es haufenweise solcher dateien, und gerade beim hohen preis für die kapazität bei den SSDs sollte man damit sparsam umgehen.