Clustergröße für Samsung 840 EVO 250GB

Simanova

Commodore
Registriert
Dez. 2012
Beiträge
4.566
Ich verwende derzeit 4KB auf Partition C: (System)
und 64KB auf Partition D: (Spiele)

Beim Kopieren von Daten (C->D) ist mir aufgefallen, dass nur 100mb/s erreicht werden. (1,7GB Testdatei)
Samsung Magican sagt >520mb/s für lesen und schreiben bei über 80-90k IOPS.

Kann das von den unterschiedlichen Clustergrößen her rühren?
 
64KB Clustergröße? Wer macht denn sowas? Das war zu Fat16 Zeiten Standard. NTFS ist 4KB Standardgröße und dabei sollt man es auch belassen. D zufällig ne größere Platte und mit nicht-Windowstools formatiert worden?
 
Über Windows formatiert, nach dem aufsetzen des Betriebssystems.
 
Warum spielt man an den Parameter? Sieht man doch was dabei rauskommt^^
 
Warum verwendest du andere Clustergrößen als Default?
Höhere Clustergrößen verringern stark die Random-4k-write IOPS, weil die SSD jetzt in 64k Blöcken schreiben/trimmen muss.
 
LukLuk schrieb:
Warum verwendest du andere Clustergrößen als Default?
Höhere Clustergrößen verringern stark die Random-4k-write IOPS, weil die SSD jetzt in 64k Blöcken schreiben/trimmen muss.

Ah okay danke!
 
jetzt war ich wirklich ausnahmsweise so freundlich und hab auf deine Signatur geklickt. Was bringt dich bitte dazu bei ner 3TB Platte die Clustergröße per Hand zu ändern?
 
Warum andere Clustergrößen als wie der Standard es vorgibt?

Befinden sich die beiden Partitionen auf einem LW oder ist C: = SSD und D: = HDD?

Wenn ersteres, warum 2 Partitionen anstatt alles auf einer Partition und dies über eine Ordnerstruktur lösen?

Wenn letzteres, so gibt das langsamste Glied in der Kette auch die Transferraten sowohl lesend als auch schreibend vor.
 
Was ist jetzt hier los? Hat bitte mal einer eine Messung gemacht? Nehmt einfach mal ATTO und schaut Euch an, welche Blockgröße ideal ist.

Große Blöcke reduzieren den Verwaltungsaufwand enorm, auch für die Blockverwaltung der SSD. Diese hat intern eine sehr große Eraseblocksize, die Blockgröße, die beim "Flash" gelöscht wird.
4k-Random-Write, hat man auf einem Desktop nie, das sind Datenbank-Tests. Viel öfters hat man einfache Kopiervorgänge, da man normalerweise sehr oft ein Backup macht.

4k sind Standard, allerdings ein Standard von vor 20 Jahren, ZFS hat 128k als Standard, was nun?

Der einzige Nachteil kleiner Blöcke ist der große Verschnitt bei kleinen Files. Ich habe das mit C: versucht und prompt 9gb verloren, deshalb habe ich das gelassen, aber ich schreibe auch nicht sehr viel auf die Systempartition. Alle anderen Volumes sind 64k-formatiert, weil mir die Geschwindigkeit beim Backup und Videomuxen sehr wichtig ist.

Meine kleine Systempartition ist 32gb groß, das Erleichtern ein Systemimag enorm, ein Backup dauert hier 5 Minuten. Die kleinen Archive lassen sich gut verwahren (sogar auf USB-Stick und sind wenn man herumexperimentiert in wenigen Minuten wiederhergestellt.

Wer Geld für schnelle Hardwareausgiebt, sollte nicht auf halben Wege halt machen und die Geschwindigkeit auch ausreizen.
 
Was hat denn ATTO mit der Clustergröße zu tun? Das taugt eigentlich nur um das Stripping bei RAID zu optimieren, denn Zugriffe erfolgen bei Windows nicht nur immer auf einen Cluster, sondern können theoretisch bis zu 32MiB lange sein, denn bei den üblicherweise benutzten ATA Befehlen ist das Count Feld 16 Bit lang und damit können 2^16 = 65536LBAs auf einmal adressiert werden. Bei den bisher üblichen 512 Byte pro LBA sind das 32MiB, egal wie lang ein Cluster ist. Wäre es anders, könnten Benchmarks auf Filesystemebene wie AS-SSD oder CDM nie so hohe sequentielle Transferraten erzielen.

Obendrein ist ATTO auch keine Anzeige für die Transferraten in Abhängigkeit von den Zugriffslängen, denn es werden normalerweise 4 Overlapping I/O ausgeführt, also QD=4 und deshalb weit besserer Transferraten erzielt als bei QD 1. Bei großen Clustergrößen verliert man also nur unnötig Platz, denn pro Datei geht im Schnitt ein halber Cluster verloren.

Der Vorteil großer Cluster ist dagegen die geringer Empfindlichkeit gegenüber der Fragmentierung des Filesystems. Cluster sind ja die kleinste Einheit der Fragmente die ein File haben kann und wenn dann eben immer 128k statt schlimmstenfalls nur 4k gelesen oder geschrieben werden. Bei HDDs kommen dann noch Kopfbewegungen zur Position des nächsten Clusters hinzu, die fallen bei SSDs weg aber auch bei SSDs sind lange Zugriffe schneller als kurzen und bei 4k die Werte relativ bescheiden. ZFS kann man meines Wissen nicht defragmentieren bzw. konnte man es wenigstens lange nicht und auf Servern hat man auch oft keine Pausen um das zu erledigen, weshalb es sich dort durchaus lohnen kann bei Serverfilesystemen große Cluster zu verwenden, denn die Server bleiben oft lange in Betrieb, schreiben viel und viele Dateien wachsen immer nur, so dass Fragmentierung dort durchaus ein Thema ist. Da aber bei Servern i.d.R. viele parallele Zugriffe stattfinden, ist es aber kein so großes Problem, denn ein großes File könnte ein User ja sowieso kaum je am Stück lesen, weil Zugriffe auf andere Files durch andere User ständig dazwischen kommen.

Für NTFS ist 4k optimal und wenn Du immer alles für zuhause übernehmen möchtest was die Profis machen, dann schraube Dir Doppelbereifung an die Hinterachse Deiner Autos und fülle Dir nur Diesel in den Tank, selbst bei einem Benzinmotor, denn bei Nutzfahrzeugen machen die Profis das ja auch so.
 
Zuletzt bearbeitet:
Ich kann den Argumenten nicht zustimmen.

Es ging darum:
Simanova schrieb:
Beim Kopieren von Daten (C->D) ist mir aufgefallen, dass nur 100mb/s erreicht werden. (1,7GB Testdatei)

Holt schrieb:
Was hat denn ATTO mit der Clustergröße zu tun?
Mit Atto kann man die Auswirkungen verschiedener Blockgrößen messen.
Holt schrieb:
Das taugt eigentlich nur um das Stripping bei RAID zu optimieren, denn Zugriffe erfolgen bei Windows nicht nur immer auf einen Cluster, sondern können theoretisch bis zu 32MiB lange sein, denn bei den üblicherweise benutzten ATA Befehlen ist das Count Feld 16 Bit lang und damit können 2^16 = 65536LBAs auf einmal adressiert werden. Bei den bisher üblichen 512 Byte pro LBA sind das 32MiB, egal wie lang ein Cluster ist. Wäre es anders, könnten Benchmarks auf Filesystemebene wie AS-SSD oder CDM nie so hohe sequentielle Transferraten erzielen.
Das sind ganz unterschiedliche Programmierschnittstellen. Das Betriebssystem greift auf das Filesystem, dieses Auf die Clusterstruktur und dieses auf die ATA-Befehle zu. Es geht hier aber nicht um den raw-Zugriff, sondern um das Kopieren von Dateien.
Holt schrieb:
Obendrein ist ATTO auch keine Anzeige für die Transferraten in Abhängigkeit von den Zugriffslängen, denn es werden normalerweise 4 Overlapping I/O ausgeführt,
Wenn man das Kopieren von nur einer Datei abbilden will, muß man den parallelen Zugriff oben rechts abschalten:
Atto Samsung 840 Pro QD1.png
Holt schrieb:
Bei großen Clustergrößen verliert man also nur unnötig Platz, denn pro Datei geht im Schnitt ein halber Cluster verloren.
Das habe ich geschrieben. Bei C: habe ich 9gb Verschnitt, weil so viele kleine Dateien drauf sind. Auf anderen Partitionen sind normalerweise sehr große Files zu finden MP3,AVI und genau darum ging es auch (1,7gb-Datei). Wenn ich mich nicht verrechnet habe, sind 32k Verlust von 1,7gb = 0,001%. Dafür reduzieren sich die Anzahl der Zugriffe incl. Latenzen beim Verwaltungsaufwand um das 16fache.
Holt schrieb:
Der Vorteil großer Cluster ist dagegen die geringer Empfindlichkeit gegenüber der Fragmentierung des Filesystems.
Ja, hier stimme ich mal zu, das spricht ja FÜR den Einsatz großer Cluster.
Holt schrieb:
Cluster sind ja die kleinste Einheit der Fragmente die ein File haben kann und wenn dann eben immer 128k statt schlimmstenfalls nur 4k gelesen oder geschrieben werden.
Deshalb kommt es auf die Art der Daten an. Große Files (deutlich über 64k) brauchen eine große Blockgröße.
Holt schrieb:
Bei HDDs kommen dann noch Kopfbewegungen zur Position des nächsten Clusters hinzu, die fallen bei SSDs weg aber auch bei SSDs sind lange Zugriffe schneller als kurzen und bei 4k die Werte relativ bescheiden.
Was nun, 4k sind auf einmal doch bescheiden?
Holt schrieb:
ZFS kann man meines Wissen nicht defragmentieren bzw. konnte man es wenigstens lange nicht und auf Servern hat man auch oft keine Pausen um das zu erledigen, weshalb es sich dort durchaus lohnen kann bei Serverfilesystemen große Cluster zu verwenden, denn die Server bleiben oft lange in Betrieb, schreiben viel und viele Dateien
Genauso ist es, deshalb ist der Einsatz von ZFS zwar sehr bequem, aber zerstört aber die Performance des gesamten Systems in wenigen Monaten, falls das Filesystem schreibend benutzt wird. Als Resultat muß ich mich mit 10MB/s abfinden, vom "Enterprise-Storage".
Das hindert den Admin jedoch nicht darn, ZFS sogar für Datenbanken einzusetzen.
Holt schrieb:
Da aber bei Servern i.d.R. viele parallele Zugriffe stattfinden, ist es aber kein so großes Problem
Das wird oft propagiert, in der Realität bedarf eine Paralelisierung aber stets zusätzlichen Programmieraufwand, eine hohe Single-Thread-Performance ist IMMER von Vorteil. Diesem Glauben ist z.B. auch AMD aufgesessen, als die ihre 8-Kerner für den Desktop entwickelt haben. Die 16-Core-Xeons mit 1GHz wünsche ich nicht meinem ärgsten Feind.
Holt schrieb:
, denn ein großes File könnte ein User ja sowieso kaum je am Stück lesen, weil Zugriffe auf andere Files durch andere User ständig dazwischen kommen.
Je schneller das File gelesen ist, umso weniger andere Zugriffe funken dazwischen.
Holt schrieb:
Für NTFS ist 4k optimal und wenn Du immer alles für zuhause übernehmen möchtest was die Profis machen, dann schraube Dir Doppelbereifung an die Hinterachse Deiner Autos und fülle Dir nur Diesel in den Tank, selbst bei einem Benzinmotor, denn bei Nutzfahrzeugen machen die Profis das ja auch so.
1. Das ist Polemik.
2. 4k m.M. nur bei der Systempartition optimal.
3. Auch Profis tanken kein Benzin in ein Dieselfahrzeug. Wenn ein LKW keine schwere Last zu transportieren hat, werden einige Achsenpaare von der Fahrbahn angehoben und die Vorderachse ist auch nicht Zwillingsbereift. Große Last: große Auflagefläche - kleine Last: kleine Auflagefläche. Die kümmert auch nicht ein Standard, der zudem 20 Jahre alt ist.
 
Zuletzt bearbeitet:
Kowa schrieb:
Ich kann den Argumenten nicht zustimmen.
Dein Problem, aber es ändert nichts am Sachverhalt und über den solltest Du Dich mal genauer informieren, sonst ist es ja sinnlos weiter zu diskutieren.
Kowa schrieb:
Mit Atto kann man die Auswirkungen verschiedener Blockgrößen messen.
Verschiedener Zugriffslängen, die Clustergröße ich bei dem Test ja immer gleich.

Kowa schrieb:
Das sind ganz unterschiedliche Programmierschnittstellen. Das Betriebssystem greift auf das Filesystem, dieses Auf die Clusterstruktur und dieses auf die ATA-Befehle zu.
Informiere Dich darüber wirklich mal genauer, denn blöd sind die Entwickler Microsoft nicht, wie Du sie hier darstellst. Die Cluster greifen auch auf nichts zu, dass ist nur eine Verwaltungseinheit. Wenn es so wäre wie Du meinst, könntest Du bei ATTO auf einem Filesystem mit 4k ja keine Steigerung bei noch längeren Zugriffen ermitteln und ebensowenig bei AS-SSD oder CrystalDiskMark. Die Zugriffe kommen von I/O Subsystem und die ATA Befehle generiert der Treiber, also z.B. der MSAHCI.
Kowa schrieb:
Es geht hier aber nicht um den raw-Zugriff, sondern um das Kopieren von Dateien.
ATTO, AS-SSD oder auch CrystalDiskInfo benchen auf Filesystemebene, HD Tune auf Low-Level eben aber davon habe ich nicht gesprochen. Wie schon gesagt, informiere Dich besser, dann verstehst Du die Fehler in Deiner Argumentation auch leichter.

Kowa schrieb:
Ja, hier stimme ich mal zu, das spricht ja FÜR den Einsatz großer Cluster.
Aber NTFS kann man defragmentieren und auch eine SSD geht davon nicht kaputt, man braucht es aber nur bei wirklich extremer Fragmentierung und daher nur extrem selten, weshalb es eben nicht automatisiert geschehen sollte und Windows seid Win7 das auch nicht macht, aber es immer noch manuell ermöglicht.

Kowa schrieb:
Deshalb kommt es auf die Art der Daten an. Große Files (deutlich über 64k) brauchen eine große Blockgröße.
Nein, brauchen sie nicht, denn die Zugriffe werden über mehrere Cluster zusammen gefasst, es wird nicht clusterweise gelesen oder geschrieben. Das war mal in der Computersteinzeit so, ist aber schon lange nicht mehr so. Wenn Du das nicht glaubst, suche Belege für das Gegenteil, dann wirst Du sehen, dass ich recht habe und daher auch größere Cluster keinen Vorteil bieten, zumindest solange keine Fragmentierung vorliegt.

Kowa schrieb:
Was nun, 4k sind auf einmal doch bescheiden?
Es geht um die Zugriffslängen nicht um die Clustergröße. Den Zusammenhang muss Du schon begreifen, denn das ist eben nicht das Gleiche und Zugriffe über mehrere Cluster, bis maximal zur Länge des Puffers, wobei die ATA Befehle eben maximal 32MiB erlauben (2^16 LBAs a 512Byte).

Kowa schrieb:
Das hindert den Admin jedoch nicht darn, ZFS sogar für Datenbanken einzusetzen.
Wie viele Clients sind denn auf der DB? Wenn es genug sind, spielt das keine Rolle und Datenbanken erzeugen meist nur sehr kurze Zugriffen, sofern da nicht viele BLOB drin liegen. Bei entsprechend viele DB-Usern hast Du nur ganz viele kurze Randomzugriffe und damit spielt die Fragmentierung und die damit verbundenen miesen sequentiellen Transferraten auch keine Rolle.

Kowa schrieb:
Das wird oft propagiert, in der Realität bedarf eine Paralelisierung aber stets zusätzlichen Programmieraufwand, eine hohe Single-Thread-Performance ist IMMER von Vorteil.
Wir reden von Serverumgebungen und da ergibt sich die Parallelität aus der hohen Anzahl an Nutzern, z.B. Datenbankverbindungen und selbst Oracle nutzt pro Verbindung gerade mal einen Thread. Wenn 50VMs laufen und jeder nutzt nur ein Single-Thread Programm, dann werden alle Kerne gut ausgelastet und wenn die alle ihre Daten auf der gleichen Platte / RAID haben, hast Du schnell sehr viele parallele Zugriffe.
Kowa schrieb:
Diesem Glauben ist z.B. auch AMD aufgesessen, als die ihre 8-Kerner für den Desktop entwickelt haben.
Bulldozer ist eine Serverarchitektur und dafür auch nicht so schlecht, die Leistung kommt da eben erst richtig zur Geltung, wenn viele parallele Anforderungen anliegen, dass ist aber eben bei Enterprise HW allgemein so, auch bei den Enterprise SSDs ist es normalerweise so, dass sie bei Client Workloads schwach aussehen und die Consumer-SSD erst bei so vielen parallelen Anfragen überholen, wie ein Heimanwender sie nie erzeugen kann. Deshalb sind die für Zuhause auch nicht sinnvoll.
Kowa schrieb:
Die 16-Core-Xeons mit 1GHz wünsche ich nicht meinem ärgsten Feind.
Der soll ja auch nicht von einem User benutzt werden, aber wenn da 16 oder 32 oder noch mehr Leute drauf arbeiten, dann spielt der seine Muskeln aus, wobei übrigens der aktuelle 15 Kerne Xeon 2.8GHz Grundtakt und einen Turbo bis 3.4GHz bietet. 16 Kerner gibt es nur von AMD, da geht es von 1.6GHz bis 2.8GHz, der 16 Kerne 1GHz Xeon bleibt also Deinen Feinden erspart.

Kowa schrieb:
Je schneller das File gelesen ist, umso weniger andere Zugriffe funken dazwischen.
Du hast keine Ahnung von wirklichen Enterprise Umgebungen auf denen wirklich was los ist, das merkt man einfach zu deutlich.

Kowa schrieb:
1. Das ist Polemik.
Nein, das ist Konsens, darüber braucht man eigentlich nicht zu streiten. Das es trotzdem andere Meinungen gibt ist normal, gute Argumente fehlen denen aber. Nur wenn ein hoher Fragmentierungsgrad zu befürchten ist und man davon ausgehen muss, dass nicht Defragmentiert werden kann aber trotzdem hohe sequentielle Transferraten möglich sein müssen, dann kann man über eine größere Clustergröße in Betracht ziehen.
Kowa schrieb:
2. 4k m.M. nur bei der Systempartition optimal.
Nein, dass ist für alle NTFS Filesysteme optimal, erst bei 16TB setzt Windows daher den Default auf 8k.
 
Ich habe MS nicht als blöd darstellen wollen. Die 4k waren vor 20 Jahren sehr fortschrittlich. Viele haben geschimpft, weil 512 Byte der Standard sind und keinerlei Veränderung bedürfen. In meinen Augen macht es keinen Sinn, eine gigabytegroße Datei in 16x mehr Cluster zu unterteilen und daß dies keine Auswirkung auf die Performance hat, wer solls glauben? Bei SSDs sollte man sogar der Eraseblocksize entsprechen, was aber mit NFS schwierig ist. Naja, also wieso sollte man eine SSD dann nicht mit 512Byte-Clustern betreiben.

Server sind nicht nur Server wenn 100e User gleichzeitig drauf herumwurschteln. Es geht manchmal einfach nur drum, wer an der Anschaffung verdient, aber auch weil man eben 1TB RAM braucht was man aufm PC erst in 5 Jahren bekommt oder weil die Kiste um ein paar Systemboards erweitert werden soll, wenn die Last steigt.

Es gibt viele Tasks, die auch einem Server serielle Zugriffe abverlangen: Datensicherung, Laden/Entladen von Daten, Update Statistics, Reindizierung. Die eingesetzte Software in den Firmen ist meilenweit davon entfernt ausgereift zu sein und verursacht z.B. Tablescans. Tatsächlichen Random-Access habe ich in der freien Wildbahn sehr selten erlebt.

Nunja, unser UFS wird per Standard mit 64k eingerichtet, das ZFS mit 128k.

Bei Windows stellt sich nur die Frage, wie das Filesystem den Schreibbefehl der 1,7gb-Datei an die nächst Ebene weiterreicht und meiner Meinung sind das kwrite-Systemcalls mit exakt der Cluster-Size.

Atto legt meines Wissens eine unfragmentierte Datei an, ermittelt die physikalischen Koordinaten und schreibt dann am Filesystem vorbei.
 
Kowa schrieb:
In meinen Augen macht es keinen Sinn, eine gigabytegroße Datei in 16x mehr Cluster zu unterteilen
Die Datei sollte ja idealerweise nicht in Fragmente unterteilt sein, sondern in einem Stück vorliegen und ob die nun beim 4k großen Cluster Nummer 1.600.000 startet und die folgenden 250.000 Cluster belegt oder beim 64k Cluster 100.000 und dann 15625 nachfolgende Cluster belegt, macht für den Zugriff auf diese Datein überhaupt keinen Unterschied, denn die Größe des Clusters begrenzt ja nicht die Länge der Zugriffe auf eine Platte, zumindest nicht bei aktuellen Windowsversionen.

Kowa schrieb:
daß dies keine Auswirkung auf die Performance hat, wer solls glauben?
Probiere es doch einfach aus, dann musst Du nichts glauben. Bei einer GB großen Datei die nicht fragmentiert ist, macht es keinen Unterschied.
Kowa schrieb:
Bei SSDs sollte man sogar der Eraseblocksize entsprechen, was aber mit NFS schwierig ist. Naja, also wieso sollte man eine SSD dann nicht mit 512Byte-Clustern betreiben.
SSDs sind schon länger auf 4k lange Zugriffe die 4k Grenzen erfolgen optimiert. Bei 512 Byte pro Cluster würde dann viele Zugriffe passieren, die nicht auf 4k auf gerade 4k Grenzen erfolgen und das geht gewaltig auf die Performance. Man hat einfach die Mappingtabellen von LBAs auf Flashadressen darauf ausgelegt, dass die LBAs die Vielfache von 8 sind dort schnell gefunden werden, womit die Tabellen im Extremfall nur ein Achtel der Größe erreichen, als wenn man jeden LBA einzeln verwalten müsste und in einem flacheren Baum gehen alle Operationen eben schneller.

Werden dann wirklich mal weniger 8 LBAs überschrieben, kopiert man halt den Inhalt der übrigen einfach mit um und hat intern wieder den Inhalt von 8 aufeinanderfolgenden LBAs in einer Page liegen. Dann kann man beim Lesen wieder die untersten 3 Bits des LBAs abschneiden, die Flashadresse bestimmen, die Page mit ihrer ECC lesen, die Daten prüfen und ggf. korrigieren und dann liefert man eben nur den gewünschten Ausschnitt zurück.

Die Blocksize als Clustergröße wäre mal totaler Schwachsinn, denn das Mappen erfolgt bei allen aktuellen SSDs maximal auf der Ebene von Pages, normalweise aber auf der Ebene von 4k, da sonst die 4k Werte bei den aktuellen NANDs mit 8k oder gar 16k Pagesize zu schlecht wäre. Aber wenn, dann wählen die Pagesize als Clustergröße, wobei Du sie aber oft nicht kennst (Ok, die Blocksize auch nicht) und Dir die FW trotzdem einen Strich durch die Rechnung machen könnte, weil sie eben auf 4k optimiert ist und keiner Dir garantiert, dass sie die Daten nicht doch so über die NAND Pages verteilt, dass die Performance optimal wird und sich nicht um Deine Clustergröße schert, die sie ja gar nicht kennt.

Kowa schrieb:
Die eingesetzte Software in den Firmen ist meilenweit davon entfernt ausgereift zu sein und verursacht z.B. Tablescans. Tatsächlichen Random-Access habe ich in der freien Wildbahn sehr selten erlebt.
Da ich die SW und die Verwendung des System nicht kennen, kann ich zu deren Qualität nichts sagen, aber bei Oracle dauert ein Backup nicht so lange wie ein Full-Table Scan auf eine der mittelgroßen Tabellen, da wurde es also schon ordentlich gemacht und wenn man seine Tablespaces immer von Hand anlegt, hat man auch keine extrem fragmentierten Datafiles. Das Updates von Statistiken aber Full Table Scanns erzeugen, finde ich durchaus plausible und wenn das so oft passiert, dass es kaum Random Access auf der Platte gibt, dann habt ihr entweder sehr potente Server die die Hotdata ständig im RAM halt und fast nur Lesezugriffe darauf oder die Statistiken werden unnötig oft aktualisiert, obwohl sich der Datenbestand kaum ändert. Normal werden aber in Enterpriseumgebungen die Platten massiv mit Randomzugriffe beaufschlagt und deshalb sind die auch bei allen Enterprise Reviews von HDDs und SSDs das, was man bevorzugt bzw. fast ausschließlich testet.
Kowa schrieb:
Bei Windows stellt sich nur die Frage, wie das Filesystem den Schreibbefehl der 1,7gb-Datei an die nächst Ebene weiterreicht und meiner Meinung sind das kwrite-Systemcalls mit exakt der Cluster-Size.
Deine Ansicht interessiert Windows nicht. Suche Belege dafür und wenn Du keine findest sondern nur welch die etwas gegenteiliges aussagen, dann solltest Du Deine Ansicht mal revidieren, was man als Lernprozess bezeichnet.

cdi-m225-ocz-vertex-turbo-08-22-2011-png.431493


(Quelle)
(C7) 268156577052 LBAs a 512 Byte wurden geschrieben, also 137296167450624Byte = 124,8TiB, stimmt mit den in der Quelle genannten 124.02 TiB also gut überein. Verwendet wurde dazu (C9) 4612184 Schreibbefehle, also wurden im Schnitt 29768146,2 Byte = 28,4MiB pro Befehl geschrieben. Die SSD wurde mit Anvils Benchmark beschrieben, der filesystembasiert ist und die SSDs sequentiell beschreit. Das die Clustergröße vom Standard abweichend gewählt wurden, ist nicht erwähnt und nicht zu erwarten, zumal lesend pro Befehl nur etwa 21k gelesen wurden. Das liegt daran, dass immer wieder Metadaten vom Filesystem eingelesen (und natürlich auch geschrieben) werden und das Testprogramm die geschrieben Daten nur gelegentlich auch wieder liest um sie zu prüfen.

Aber schauen wir uns eine aus dem Forum hier an:

crystaldiskinfo-png.253360

(Quelle)

0x3A213566F = 15604078191 Sektoren wurden geschrieben, * 512 Byte sind das 7989288033792Byte bzw. 7,266TiB und dazu wurden 0x12F1ACB0 = 317828272 Schreibbefehle benutzt, pro Befehl also im Schnitt 25137 Byte = 24,55kiB geschrieben.

Nächstes Beispiel auf dem gleichen Thread mit Werten ganz normaler User hier:

stt_ftm64gx2_cdi-jpg.256073

(Quelle)

9168606785 Sektoren = 4694326673920 Byte mit 234537819 Befehlen ergibt hier 20015,2 Byte = 19.5kiB pro Befehl.

Wie wahrscheinlich ist es, dass diese User eine andere als die Standardeinstellung von 4k für die Cluster gewählt haben? Wenn Du meinst sehr wahrscheinlich, suche mir Gegenbeiweise die belegen, dass aktuelle Windows Systeme (also sagen wir ab XP) immer nur einen Cluster schreiben.
Kowa schrieb:
Atto legt meines Wissens eine unfragmentierte Datei an, ermittelt die physikalischen Koordinaten und schreibt dann am Filesystem vorbei.
Das ist möglich, aber AS-SSD und CDM tun das nicht.

CDI-M225-OCZ-VERTEX-TURBO-08.22.2011.PNG
 
Zuletzt bearbeitet:
Zurück
Oben