====== SSD und andere FLASH-Massenspeicher ====== Bei **FLASH**-Massenspeicher (mehr dazu bei [[http://de.wikipedia.org/wiki/Flash-Speicher|Wikipedia]]) ist überwiegend von **NAND**-Flash die Rede. Dabei unterscheidet man üblicherweise zwischen der **SLC**- (Single Level Cell) und **MLC**-Technik (Multi Level Cell). Die SLC-Bauschteine sind (zumindest intern) um vielfaches schneller und lassen erheblich mehr (um 10-faches) Löschvorgänge zu als die MLCs, sind dafür auch wesentlich teuerer. Wenn man die Festplatte im Rechner durch eine **SSD** ersetzen möchte, gibt es einiges zu beachten. (In manchen Fällen würde anstelle einer SSD sogar eine **CF**- bzw. **SD**-Karte in Kombination mit einem **CF-to-IDE**- bzw. **SD-to-IDE**- bzw. **xx-to-SATA**-Adapter völlig ausreichen.)\\ Man sollte vor allem **Schreibzugriffe** soweit wie möglich reduzieren. Die Schreibzugriffe (oder genauer gesagt die vor dem Schreiben notwendige **Löschvorgänge**) führen bei NAND-Speicher zwangsläufig zum Verschleis. Man sollte daher mehrere Schreibzugriffe **bündeln** und dann sie in einem Rutsch auf die SSD wegschreiben.\\ Es ist ratsam, als Filesystem - falls keine wichtige Gründe dagegen sprechen - eins ohne Journaling zu verwenden, beispielsweise **ext2**. Bei Journaling-Filesystemen kann man aber über Parameter (beim Anlegen des Filesestems) die Art und Weise der Journaling-Funktionalität entsprechend beeinflussen, damit ebenfalls viele Schreibzugriffe erspart bleiben werden.\\ Von einer **Defragmentierung** der SSD rate ich dringend ab. :!: Ich bin der Meinung, daß man eine SSD nich zu 100% partitionieren sollte. Bleibt ein Teil der SSD **unpartitioniert**, hat der Kontroller der SSD immer einen (vom Betriebssystem) ungenutzten Bereich zur Verfügung. Somit bekommt der Kontroller genug Reserve um beim Schreiben die Speicherzellen häufig zu wechseln. ===== Infoquellen ===== Einen Leitfaden, um das Betriebssystem (hier **Linux**) für eine SSD zu **optimieren**, findet man im Artikel [[http://www.vbox4php.org/unix/linux/sd-speicher-statt-festplatte|SD-Speicher statt Festplatte]] (vom 14.06.2008). Eine weitere Anleitung (bezogen auf **Ubuntu**) findet man im Beitrag [[http://forum.ubuntuusers.de/topic/ubuntu-auf-compact-flash-schreibzugriffe-redu/|Ubuntu auf Compact Flash => Schreibzugriffe reduzieren]] im Ubuntu-Forum. Hier findet man auch einen [[http://forum.ubuntuusers.de/topic/ssd/#post-2030500|Bericht]] zu SSD. Eine Anleitung mit **Analyse**, was alles auf die Platte geschrieben wird und wie man die **Lesezugriffe** abfängt, findet man in Artikel [[http://www.fukurama.org/wordpress/2008/09/15/festplattenzugriffe-unter-linux-ubuntu-minimieren/|Festplattenzugriffe unter Linux (Ubuntu) minimieren]] im Tobi's Blog. Einen sehr ausführlichen Artikel zum Thema findet man auf [[http://www.hardwareluxx.de/]] unter Rubrik [[http://www.hardwareluxx.de/community/f227/die-solid-state-disk-ssd-vorteile-nachteile-eine-ausfuehrliche-berichterstattung-557331.html|Das Solid State Drive als Revolution des Computers]], einen anderen unter [[http://www.hardwareluxx.de/community/f227/os-optimierungen-fuer-flash-ssds-543445.html|OS-Optimierungen für Flash-SSDs]]. Oder auch hier: [[http://www.knevels.org/ssd-richtig-nutzen/|SSD richtig nutzen]] Im **[[http://www.thinkpad-forum.de|ThinkPad-Forum]]** findet man auch eine [[http://www.thinkpad-forum.de/thinkpad-hardware/zubeh%C3%B6r/47381-sammlung-von-ssd-tipps-und-tricks/|Sammlung von SSD-Tipps und -Tricks]].\\ Im **[[http://thinkwiki.de/|ThinkPad-Wiki]]** sind viele nützlichen Infos zu den ThinkPads, hier speziell für die [[http://thinkwiki.de/IDE-CF-Adapter|IDE-CF-Adapter]] um eine CF-Karte anstelle der Festplatte einzubauen. **Schritt-für-Schritt** Anleitung, sehr ausführlich: [[http://www.media-addicted.de/alignment-von-partitionen-auf-ssds-ohne-datenverlust-und-neuinstallation-aendern/769/|Alignment von Partitionen auf SSDs ohne Datenverlust und Neuinstallation ändern]] ===== Zusammenfassung ===== :!: Hier ist eine kurze **Zusammenfassung** bzw. **Anhaltspunkte** aus den o.g. Artikel: FIXME ==== Für alle Betriebssysteme gemeinsam ==== FIXME * **AHCI** im BIOS abschalten (auf "compatible" stellen). * Um die SSD (oder CF) und Ergebnisse der Partitionierung zu testen, ist das Tool **AS SSD Benchmark** zu empfehlen. (Download: [[http://www.heise.de/software/download/as_ssd_benchmark/66717]]) * **Ausrichtung** von Partitionen. Die sollen auf einem 128/256K-Block anfangen. (Alle seit 2009 gängigen MLC-Laufwerke verwenden jedoch durchgängig Größen von **512KB**.)\\ Im Zweifel kann auch direkt ein größerer Wert verwendet werden. Dem folgend verwenden Windows Vista und 7 gleich eine Ausrichtung an **1024KB** (1 MB). Da es aber SSDs gibt, die 16MB Eraseblock haben (z.B. Transcend 128GB), wäre ein **16MB Alignment** auf alle Fälle passend. Das erschlägt alle Eventualitäten.\\ **Ubuntu 10.04** (Lucid Lynx) sollte angeblich korrektes Alignment verwenden (Setup-CD). Mit "**fdisk -lu /dev/sda**" anzeigen lassen.\\ Bei **Extended-Partitionen** ist Vorsicht geboten, da die logischen Partitionen noch einmal um 32KB verschoben sind.\\ **SSD Alignment Calculator** findet man unter [[http://www.techpowerup.com/articles/other/157]]\\ So ändert man Alignment nachträglich: [[http://www.tuxyturvy.com/blog/index.php?/archives/59-Aligning-Windows-Partitions-Without-Losing-Data.html|Aligning Windows Partitions Without Losing Data]] * Falls bekannt, **Eraseblocks** der verwendeten SSD beachten. (Es soll die Transferrate bei kleinen Dateien angeblich bis zu 10-20% erhöhen.)\\ Info hier: [[http://www.hardwareluxx.de/community/f227/os-optimierungen-fuer-flash-ssds-543445.html#post10371389]]\\ und hier: [[http://www.hardwareluxx.de/community/f227/os-optimierungen-fuer-flash-ssds-543445-4.html#post11066540]] * Bei **Journaling-Filesystems** die Journaling-Funktionalität abschalten oder reduzieren. * **Trim**-Befehl des Betriebssystem nutzen. Der **Linux**-Kernel kann das ab der Version **2.6.28** (Dezember 2008). **Windows 7** ebenfalls. * Falls im Rechner außer SSD auch eine konventionelle Festplatte vorhanden ist, für den **Web-Browser** und **eMail**-Client Benutzer-Profile erstellen und sie auf die Platte zu schieben. Der Browser-Cache liegt dann im Profile.\\ Oder man verlagert den Browser-Cache (Firefox) in den Speicher. Dafür unter **about:config** den Eintrag **browser.cache.disk.enable** auf "False" und den **browser.cache.memory.enable** auf "True" setzen. Den **browser.cache.memory.capacity** auf z.B. "65536" (damit werden 64MB Speicher als Cache reserviert).\\ Ein Beispiel für **Firefox**: [[http://www.firefox-browser.de/wiki/Profile]].\\ Bei **eMails** hat es auch den Vorteil, daß sie nicht zusammen mit dem BS ins Backup kommen. (Beim Wiederherstellen des BS aus dem Backup hätte es falate Folgen für die eMails.) * **Ruhezustand** deaktivieren. FIXME ==== Linux ==== * Disk-Parameter auslesen: sudo hdparm -I /dev/sda * Für die Partitionierung - **fdisk -u** (Bei einem 8MB Alignment: die erste Partition beginnt bei Sektor 16384, bei 16MB Alignment bei Sektor 32768). * **/etc/fstab** - Modifizierung der **atime** einer Datei unterbinden. Die mount-Parameter um die **nodiratime** und **noatime** ergänzen, z.B.: # Alt: #/dev/hda1 / ext3 defaults,errors=remount-ro 0 1 # Neu: /dev/hda1 / ext3 nodiratime,noatime,rw,errors=remount-ro,commit=120 0 1 * **/etc/fstab** - ext4 ab 2.6.29 Journaling deaktivieren (data=writeback in "fstab"). Oder alternativ ein nicht-journaling Filesystem verwenden, z.B. ext2. * **Swap** abschalten: # Alt: /dev/hda5 none swap sw 0 0 # Neu: #/dev/hda5 none swap sw 0 0 * Das **/tmp** nach RAM verlagern: # 1. Variante aus Leitfaden www.vbox4php.org: none /tmp/ tmpfs defaults,size=2M # 2. Variante aus forum.ubuntuusers.de: tmpfs /tmp tmpfs defaults 0 0 * **/etc/sysctl.conf** - Schreibzugriffe bündeln. vm.laptop_mode=120 vm.dirty_writeback_centisecs=12000 vm.dirty_expire_centisecs=12000 vm.dirty_ratio=10 vm.dirty_background_ratio=1 * **/etc/syslog.conf** - Schreibzugriffe von **syslog** asynchron machen. Dafür vor jeden Dateinamen ein '-' schreiben. Beispiel: auth,authpriv.* -/var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog #cron.* -/var/log/cron.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log user.* -/var/log/user.log uucp.* -/var/log/uucp.log * Ergebnisse mit "**vmstat 1**" analysieren. In der Spalte **bo** sollten nur selten und nur kleine Zugriffe vermerkt sein. * Und noch zum Thema **Verschlüsselung**: [[http://www.hardwareluxx.de/community/f227/ssd-mit-linux-verschluesselt-714506.html]] * Eine Anleitung zu **RAM-Disk** unter Linux findet man unter [[http://www.vanemery.com/Linux/Ramdisk/ramdisk.html|Linux Ramdisk mini-HOWTO]] von [[http://www.vanemery.com|Van Emery]]. ==== Windows ==== FIXME * **Defragmentierung**, **Prefetch** und **SuperFetch** sollen deaktiviert werden! (Bei **Windows XP** über **Tweak UI**.)\\ Um Prefetch über Registry abschalten: unter **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters** den Key (DWORD) **Enable Prefetcher** mit dem Wert "0" setzen. * **Cluster-Größe** des Filesystems soll mit der Page-Größe der SSD übereinstimmen, typischerweise **4KB**. * Für die Partitionierung - das Tool **diskpart.exe** (die Version von **Windows XP** ist **nicht** geeignet). * NTFS Change **Journal** abschalten: fsutil usn deletejournal /d * Timestamp abschalten:\\ In der Eingabe-Aufforderung: FSUTIL behavior set disablelastaccess 1 * **RAM-Disk** für das **Temp**-Verzeichnis (Umgebungsvariablen **TEMP** und **TMP**).\\ Zu finden unter [[http://www.ramdisk.tk]]\\ oder [[http://www.superspeed.com/desktop/ramdisk.php]]\\ oder [[http://www.boot-land.net/forums/index.php?showtopic=4064&st=30#]].\\ oder [[http://support.microsoft.com/?kbid=257405]]\\ oder [[http://www.win-tipps-tweaks.de/cms/xp-tipps/xp-tipps-workshops/ramdisk-erstellen.html]]\\ Eine Übersicht: [[http://www.boot-land.net/forums/?showtopic=1507]]\\ Argumente dafür und dagegen: [[http://www.hardwareluxx.de/community/f15/ramdisk-auslagern-nach-high-memory-579574.html]] * **WBEM** abschalten. (Info hier: [[http://www.hardwareluxx.de/community/f227/os-optimierungen-fuer-flash-ssds-543445.html]]) * **Auslagerungsdatei** abschalten oder (falls das Abschalten nicht möglich sein sollte) in eine RAM-Disk verlegen und die Größe soweit möglich reduzieren und die Nutzung seitens Betriebssystem einschänken.\\ In Registry: [HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control \Session Manager \Memory Management] den Key "**DisablePagingExecutive = 1**" setzen.\\ In **System.ini** unter [386Enh] den Parameter "**ConservativeSwapfileUsage=1**" setzen. * **Laufwerksindizierung** abschalten. * **Systemwiederherstellung** abschalten oder begrenzen. [[http://support.microsoft.com/kb/310405]] * :?: **Schreibcache**: was ist besser - deaktiviert oder aktiviert? * Die **8.3-Dateinamen** auf NTFS-Filesystemen deaktivieren: [[http://support.microsoft.com/kb/121007]] FIXME ===== Test- und Erfahrungsberichte ===== [[EDV:Hardware:FLASH-Massenspeicher:Test Durchsatz]] (Meine eigene Tests.) ===== Weitere Links ===== [[http://www.heise.de/resale/meldung/Preisradar-Solid-State-Disks-ruecken-in-den-Kundenfokus-750757.html]]\\ Heise: //Preisradar: Solid State Disks rücken in den Kundenfokus// About SSD: [[http://www.usenix.org/event/lsf08/tech/shin_SSD.pdf]] :!: **Hdparm** 9.29, Verweis auf **Wiper.sh** (es dient dazu, freien Speicher auf SSD-Laufwerken zu "frisieren"): [[http://www.linux-magazin.de/content/view/full/56170]] Heise: [[http://www.heise.de/ct/artikel/Tempomacher-SSD-1354437.html|Tempomacher SSD]] **[[http://www.pc-experience.de/wbb2/thread.php?threadid=30040/|SSD Optimierungen, Tipps, Tricks und FAQs]]** von PC-eXPerience - ein sehr ausführlicher Artikel zum Thema. [[http://de.wikipedia.org/wiki/Solid_State_Drive|Solid-State-Drive]] (Wikipedia) **DeLock**'s [[http://www.delock.de/produkte/F_458_eCard-Reader_276_intern.html|interne Card Reader]] SSD **Lebensdauer** verlängern - mit diesen Tipps klappt's: [[https://www.heise.de/tipps-tricks/SSD-Lebensdauer-verlaengern-mit-diesen-Tipps-klappt-s-3942063.html]] ---- Stand: 03.08.2018\\ --- //[[feedback.jk-wiki@kreick.de|: Jürgen Kreick]]// EOF