OS-Optimierungen für Flash-SSDs

Ein Tool das die Anzahl der Schreibvorgänge misst wäre echt mal interessant... so kann man eig. nur raten ob 3000/Tag viel oder wenig sind (ich denke wenn man ein bisschen was optimiert wie Timestamps/kein Index etc. kommt man weit drunter weg) und das hilft in dem Fall nicht viel weiter.

Mir ist es aber eig. recht egal ob mein SSD jetzt 70 50 oder 30 Jahre lang durchhält, ehrlich gesagt... in ein paar Jahren kommt dann sowieso ein neues, besseres als Systemdrive und vom aktuellen werden dann eben nur mehr Programme "abgespielt". So fett kann Office gar nicht werden um nicht auf über 100GB Platz zu haben.


Was noch wichtig für den ersten Post wäre:
SSDs sollte man grundsätzlich immer überdimensionieren, um dem Wear-Levelling Luft zu lassen! Wenn man mit ~60GB an Daten rechnet, sollte man wenn nur irgendwie möglich zur 120er Version greifen! Je weniger "statische" Daten auf dem SSD liegen, desto besser - auch wenn Log-Filesysteme natürlich da nochmal einiges rausholen könnten.
Würde es sich eigentlich lohnen Geld zu sammeln um einen Programmierer für eine Portierung von NILFS o.ä. auf Windows zu zahlen? Das ist durchaus ernsthaft gemeint, sowas wie FUSE für Windows ist mit Dokan (http://code.google.com/p/dokan/) ja endlich schon mal zumindest in der Beta!
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich werfe mal eine Rechnung in den Raum, die sich auf die Tabelle rechts unten bezieht.

Wie antiram meinte, ist die erase block Größe bei den bisherigen ST SSDs 16MB groß. Da ich nicht weiß wie genau der Cache arbeitet, lasse ich ihn außen vor.
ST spricht von 50GB Schreiben / Tag. Da davon auszugehen ist, dass 99% der geschriebenen Dateien kleiner als 16MB ist, trotzdem ein 16MB Block gelöscht wird (was auch noch Zeit kostet), darf der Wert 50GB getrost durch 16 dividiert werden. Es kommen 3.125GB raus. Das ist schon mal kleiner. Diese sind gleichzusetzen mit 3.125 Schreibvorgängen, denn da jeder 16MB löscht, kommen wir ja auf 50GB.

Das klingt nach recht wenig, wenn ihr mich fragt. Was genau verändert der Cache?

die 16MB Eraseblockgröße hat mir ein User hier über die Transcend 128GB gemailt, nicht Supertalent. Es kann ja sein daß der JMicron nur eine bestimmte Anzahl Eraseblocks verwalten kann und die deshalb bei 128GB so groß ausfallen.

zb. kann ext4 mehrere Dateien während einer Plattenumdrehung wegschreiben, also sequenziell. Ein IO-Scheduler kann Zugriffe umsortieren, writes verzögern usw. Keine Ahnung wie es bei Windows ist, aber man kann ja mit JSMonitor das wearout kontrollieren:
http://d.hatena.ne.jp/Lansen/20081220/1229794552
 
Ich habe dann mal die letzten paar Stunden rumgespielt, habe eine alte 250er
Samsung SATA Platte rausgekamt, mit Acronis das System kopiert und dann
damit gebootet. So konnte ich wie wild die Partition neu erstellen, löschen,
Alignment anpassen und benchen. Achja und der Unterschied zwischen alter
HDD und SSD war kaum festzustellen *hust*.
Wie schnell man sich doch dran gewöhnt. Ist wirklich erschreckend.

crystal_64kstripe_64kayslq.jpg
crystal_64kstripe_128krpyc.jpg

crystal_64kstripe_1mba7znl.jpg
crystal_64kstripe_2mbadsr0.jpg


crystal_128kstripe_128zvqi.jpg
crystal_128kstripe_1281pu8.jpg

crystal_128kstripe_1mbtryp.jpg
crystal_128kstripe_2mbfrho.jpg


crystal_128kstripe_32kjym9.jpg
crystal_128kstripe_32kjw70.jpg


So wirklich überzeugend war das alles nicht. Guckt euch mal die 128K 128K
an. Identische Einstellung, einmal später nachgebencht.

Der letzte Screenie mit den schlechtesten 4K Write Werten kommt vom
jetzigen System, nachdem ich von den SSD's wieder gebootet habe. Was
das für einen Unterschied ausmacht :eek:

Warum 32K? Wenn ich mit Acronis ein Laufwerk kopiere oder ein Image wieder-
herstelle ist es auf 32K aligned. Toll, ne :grrr:

Hier noch das ATTO Gegenstück, aber wirklich schlauer hat mich das alles
nicht gemacht.

atto_64k_64k_defaultqvr1.jpg
atto_64k_128k_defaultgr2i.jpg

atto_64k_1mb_defaultdxgo.jpg
atto_64k_2mb_defaultfojc.jpg

atto_128k_64k_defaultfy8g.jpg
atto_128k_128k_defaultlroh.jpg

atto_128k_1mb_defaultcs3l.jpg
atto_128k_2mb_defaultcvcn.jpg

atto_128k_32k_default5qgv.jpg
atto_128k_32k_default_px72.jpg

Und das letzte Bild ist wieder vom jetzigen System mit 32K Align nach Acronis.

Ich hoffe die Bilder sprengen nicht den Rahmen. Ansonsten muss ich mir mal
angucken wie ich es mit Spoiler Tags verstecke :)

// Bilder mal in den Spoiler gepackt, war doch etwas erschlaged.
 
Zuletzt bearbeitet:
is echt Schwachsinn die caches und buffers zu benchen
mein xp auf vmware auf Linux. Alte Hitachi single an ICH9R:
--------------------------------------------------
CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo
Crystal Dew World : http://crystalmark.info/
--------------------------------------------------

Sequential Read : 329.275 MB/s
Sequential Write : 216.320 MB/s
Random Read 512KB : 239.061 MB/s
Random Write 512KB : 237.839 MB/s
Random Read 4KB : 18.097 MB/s
Random Write 4KB : 18.003 MB/s

Test Size : 500 MB
Date : 2009/01/29 13:47:44
 

Anhänge

  • vmxp.png
    vmxp.png
    16,4 KB · Aufrufe: 265
Hat jemand eine CF mit Linux am Start?

Angeblich kann man die Anzahl der Sektoren erhöhen und damit einen Performaceboost erhalten.

Das die CF das angelbich kann sieht man hier:

(Das fett gedruckte)

Code:
paul@ppt:~$ sudo hdparm -I /dev/sda

/dev/sda:

CompactFlash ATA device
	Model Number:       SanDisk SDCFX4-8192                     
	Serial Number:      112005I0108S0649
	Firmware Revision:  HDX 4.28
Standards:
	Supported: 4 
	Likely used: 4
Configuration:
	Logical		max	current
	cylinders	15880	15880
	heads		16	16
	sectors/track	63	63
	--
	CHS current addressable sectors:   16007040
	LBA    user addressable sectors:   16007040
	device size with M = 1024*1024:        7815 MBytes
	device size with M = 1000*1000:        8195 MBytes (8 GB)
Capabilities:
	LBA, IORDY(may be)(cannot be disabled)
	Standby timer values: spec'd by Vendor
	[b]R/W multiple sector transfer: Max = 4	Current = 0[/b]
	DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
	Enabled	Supported:
	    	Write cache
	   *	CFA feature set
	   *	CFA advanced modes: pio5 *pio6 
   *	CFA Power Level 1  (max 180mA)


Jedoch geht das nicht so wirklich.

Code:
paul@ppt:~$ sudo hdparm -m4 /dev/sda

/dev/sda:
 setting multcount to 4
 HDIO_SET_MULTCOUNT failed: Inappropriate ioctl for device
 HDIO_GET_MULTCOUNT failed: Inappropriate ioctl for device
	   *	CFA feature set
	   *	CFA advanced modes: pio5 *pio6 
   *	CFA Power Level 1  (max 180mA)
 
Zuletzt bearbeitet:
da ist ein Häkchen bei Direkt I/O, dh. soll direkt zum Laufwerk. Mit Cachecontroller geht es direkt in den Cache.

Mit Linux dazwischen wird der übrige Linux-Hauptspeicher für Filesystem Buffers verwendet.
 
da ist ein Häkchen bei Direkt I/O, dh. soll direkt zum Laufwerk. Mit Cachecontroller geht es direkt in den Cache.

Mit Linux dazwischen wird der übrige Linux-Hauptspeicher für Filesystem Buffers verwendet.

Dann war's doch richtig. Ich fahre gerade einen ohne den Haken und die Werte
sind toll LOL Bis zu 930K Write irgendwo ...
 
Direkt I/O is
Testfile->Filesystem Buffers->(Cache)controller->Laufwerk
ohne direkt I/O
Testfile->(Cache)controller->Laufwerk
Atto weiss aber nix vom Cache und bei 500MB Testfilegröße ist ein Großteil des Testfiles schon im Cache.
Wenns irgendwie realistisch sein soll mit Cachecontroller dann teste halt mal mit Testfilegröße = fast Partitionsgröße oder Laufwerksgröße. Also die ganzen 30GB, 300GB whatever.
 
Zuletzt bearbeitet:
Oder halt IOmeter nehmen. Damit ist einiges mehr möglich.
 
Hallo zusammen.
Weiß jemand von euch, wie stark sich unter Linux die Mount-Optionen acl und user_xattr auf die Performance auswirken? (D.h. welche Beschleunigung bringt noacl und nouser_xattr zusätzlich zu noatime und nodiratime noch?)
Leider habe ich noch kein SSD und kann noch nicht selbst testen.
Vielleicht ist nilfs im Vergleich zu ext ja auch deshalb so schnell, weil acl und user_xattr-Unterstützung dort noch gar nicht implementiert ist? Besonders bei Tests mit vielen Zugriffen auf kleine Dateien könnte sich der Mehraufwand ja bemerkbar machen.
 
Zuletzt bearbeitet:
Ich hab mal SuperCache installiert. Hab aber nix gemerkt.
Problem ist das die OCZ Core V1 in meinem Notebook an einem ICH7M hängt.
Dieser unterstützt nichtmal den Windows Write-Cache :-(

Die OCZ gehn gut ab im vergleich zu den alten Samsung Platten die drinn waren, leider merkt man beim speichern von Spielständen extreme verzögerung (z.b. Siedler 2 DNG 1min anstelle 10sec).
Die installation der Spiele ging aber super Flux.

Hier mal CrystalMark, SuperCache war auf 128MB konfiguriert:


Wenn man dann aber größer als der Cache ist (absichtlich nur einen durchlauf):
 
naja aber das ist doch eigentlich ein super ergebnis mit diesem supercache oder? wenn man den größer stellt sollte man seinen spass damit haben.
 
Der braucht aber dauernd seinen Arbeitsspeicher im Gegensatz zum DiskCache von Windows oder z.B. MFT...
Ich hab's auch mal ausprobiert aber irgendwie merkt man da nicht mal mit einem HDD was. Vielleicht eher was für spezielle Anwendungsfälle?!
 
Wenn du oft die selbe Datei liest bringt es was, aber wer macht das schon?
Vieleicht irgend welche Web-Server oder Datenbanken.

Wie bekomm ich den Cache von Windows zum laufen (XP Home) wenn ich unter "Richtlinien" diese option nicht habe?
Oder gibt es noch irgend einen "software-write-cache" den ich ausprobieren kann?
 
MFT von easyco wäre wohl die beste Lösung, kostet aber auch einiges leider... im OCZ Forum haben die Leute aber anscheinend ganz gute Ergebnisse erzielt, einziger Nachteil: nicht für die Systempartition geeignet (nicht bootbar), aber das ist eher kosmetisch und nur bei Treiberinstallationen oder so relevant.
Ansonsten eben SteadyState von Microsoft oder überhaupt Linux nutzen wo man viel mehr Kontrolle über das Cachingverhalten hat.
 
MFT kann mann jetzt wohl auch für die Sys Partition verwenden!
Giebt jetzt ein Tool mit dem mann sein vorhandenes Sys auf eine Mft Partition Kopieren kann.

Zietat:
- Backup software (since MFT - 0.989a)

Previously, there was a problem with the partitioning mechanism which lead to a BSOD when backup software was launched against the MFT partition. This was fixed by changing the method by which partitions were created. Thus, instead of using a pre-existing raw partition as before, the system now needs free, unallocated space.


- Migration

This tool will copy an existing Windows install to a new drive with an optimized MFT layout. It allowe you to use MFT on "boot-partition C"


- other improvements will follow :)

MFT wird jetzt auch in Europa vertrieben und supportet von der Piroma AG.
http://www.piroma.ch/t4/index.php
 
MFT unterstützt aber nur bedingt vista64 wäre anzumerken.
auch wenn auf der page vista64 aufgeführt ist.
die features in MFT für cloning / migration laufen damit leider nicht :-/

habs am we kurz getestet. weil der ICH10 ja mal grotten lahm ist und
außerdem wegbricht wie ne 100jährige beim staffellauf.
 
hm, die preise sind schon gesalzen.
Aber ich glaub ich werde das mal testen.
 
Da bin ich mal auf Ergebnisse gespannt IndianaX2. Bitte Ausführlich berichten :-)
 
Wurde das Lizenzmodell geändert oder habe ich es nur übersehen?

MFT edition for Windows workstations and laptops
Partition wit MFT up to 128gb
Nach Partition? Nicht mehr nach Anzahl der SSD's UND Partitionsgrösse?

Ah ich seh gerade das ist eine 'Windows' Lizenz, scheint wohl mittlerweile der
Serverbereich etc. abgespalten zu sein. Wenn ich das jetzt nicht missverstanden
habe ist es doch deutlich günstiger geworden.
 
ja, die unterscheiden nun auch server/workstation.
Ich hab mal die 30 Tage demo angefordert, mal schauen wann ich dazu komme diese zu installieren. (muss die woche leider viel arbeiten).
 
Ok, so wie's aussieht kopiert MFT dann z.B. ein bestehendes Vista/whatever auf 2 Partitionen - eine mit möglichst nur Windowsdateien und normalem NTFS um zu booten und alle restlichen Dateien liegen dann (per Hardlink) auf der MFT-Partition.
Siehe Punkt 2.4.2 in http://downloads.managedflash.com/documentation/090107_windowsinstall.pdf

Generell klingt das ganze recht interessant - mal schaun ob meine OCZ Core V1 (so sie denn mal wieder vom Händler zurückkommt...) davon profitieren kann.
 
Sukrim, wenn du das testest spar ich mir die arbeit ... brauch mein Notebook eigentlich und kann da nicht soviel zeit zum experimentieren reinstecken.
 
Das kann aber noch dauern und so viel Zeit hab ich nicht, ich tüftle gerade an einem selbstgebauten Gehäuse, wäre also fein wenn du das machst, ich könnte dann beizeiten vielleicht Vergleichsdaten liefern...
 
gerade das feedback vom MFT support bekommen.
features wie migration werden in ca. 2 wochen auch bei vista funktionieren.
wers also unter vista64 testen will .. kommt in ca. 2 wochen in den genuss
der features cloning und migration.
 
Ist es eigentlich möglich Temps / pagefile von einer mit Truecrypt basierten SSD auf ne 2. Platte umzuleiten, die auch via Truecrypt verschlüsselt werden soll?
Problem ist dabei. In einem T40 wird die Platte als Device 0 angesehen und die SSD (via ultrabay s-ata Adapter) als Device 1 angesehen.
Ich hatte mir vorgestern meine Platte zerschossen wegen der Device-Prio und da ich auf Grund nicht wiederherstellbarer Header etc. die Platte vergessen kann (hatte nun zweimal ne System"platte" via Truecrypt erstellt und nach Treiberupdate hat er mir alles zerschossen irgendwie - Headerrestore geht auch nicht so, wie ich will).

Ist es möglich, schreib-performante Sachen wie temps / pagefile von der SSD auf die Platte auszulagern?
Die Platte müsste halt als 2. Device erst via Truecrypt eingebunden werden (ich glaube via script könnte das gehen) und ich weiss nicht, ob das wirklich geht. Die SSD agiert dabei als System"platte".

Ich frage lieber erst, da ich immer noch dran bin, den Header irgendwie zu restoren. :(
 
Headerrestore ist doch einfach wie nur was - RettungsCD rein, auf restore gehen, fertig...

Platten gleich direkt so früh wie möglich einbinden... puh, versuchen kannst du's ja. Ich wette im Truecryptforum gibt's Leute die sowas schon mal gemacht haben, nimm mal dort die SuFu zur Hand.
 
Problem nur. SO einfach geht es leider nicht bei mir, trotz Headerrestore (extern wie intern). ;)

Ja, werde mal da direkt fragen. :)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh