ZITAT(manfredm @ 2010-08-10, 8:48) Hallo, gibt es eigentlich Qualitätsunterschiede bei CF Karten, außer die offensichtlichen Parameter Speichergröße und Geschwindigkeit?
Ich habe gestern für 130€ eine 32GB Karte (Transcend) gekauft (60MB/s schreiben, 90MB/s lesen), eine Sandisk (32GB; 60MB/s lesen & schreiben) hätte 190€ gekostet.[/quote]
Eigentlich eine ganze Menge.
Zunächst einmal gibt es verschiedene Revisionen des Compact Flash-Standards (aktuell ist CF 5.0, aber auch CF 4.1, CF 4.0 und CF 3.0 sind noch weit verbreitet) und eine ganze Reihe unterschiedlicher Betriebsmodi, in denen eine Compact Flash-Karte je nach Begleitumständen arbeiten kann - wobei in der Praxis nicht jede Kartenfirmware alle unterstützt, auch wenn das in der Theorie machbar wäre. Manchmal fehlt dazu auch die interne Hardware-Unterstützung (etwa für neuere UDMA-Modi), aber es gibt auch genügend Parameter, die im Grunde reine Softwaresache sind - und die sich z.T. mit Spezialkonfigurations-Software im CONFIG-Block der CF-Karte auch noch nachträglich ändern lassen.
Manche Karten lassen sich nur im True IDE-ATA-Modus ansprechen, manche nur im PC Card/PCMCIA-Memory Mapped-ATA-Modus (daneben gibt es auch noch einen PC Card/PCMCIA-I/O-Mapped-ATA-Modus, der in diesem Zusammenhang aber keine Rolle spielt), und die Karte kann als "fixed disk" (bei vielen CF-Karten für Industrie- und OEM-Anwendungen) oder "removable drive" (üblicher Standard bei Karten für normale Endverbraucher) konfiguriert sein. Bei sehr alten Karten fehlt manchmal die Unterstützung für LBA-Zugriffe, und moderne Karten unterstützen oft nur LBA-28, noch nicht LBA-48, bei manchen modernen Karten fehlt dafür manchmal die Unterstützung für CHS-Zugriffe, was Probleme in Verbindung mit älteren Systemen bereiten kann, auch wenn diese schon LBA-28 unterstützen. Manche Karten unterstützen nur PIO-Modi (und von den möglichen Modi PIO 0-6 auch nur bestimmte), andere inzwischen nur noch DMA-Modi (und von den möglichen Modi UDMA 0-6 nur bestimmte). Selbst wenn eine Karte angibt, einen bestimmten Modus zu unterstützen, gibt es in der Praxis immer wieder Modelle, die mit vom Standard leicht abweichendem Timing arbeiten, was zwar in der Regel gutgeht, im Einzelfall aber zu zu Problemen führen kann. Manchmal funktionieren CF-Karten, die DMA-Modi unterstützen, in Verbindung mit bestimmten alten Kartenlesern/Verkabelungen nur, wenn man ausschließlich in PIO-Modui mit ihnen zu kommunizieren versucht.
Das sind alles Kriterien, die über die Kompatibilität mit dem jeweiligen Endgerät entscheiden. Eine gute Karte eines Markenherstellers deckt möglichst viele bzw. fast alle dieser Modi ab, die jeweils in der CF-Spezifikation definiert werden, und da Endgerät und Karte das Übertragungsprotokoll in gewissen Grenzen aushandeln können, sind solche Karten maximal kompatibel mit beliebigen Endgeräten, egal ob es mehr als 15 Jahre alt ist oder brandneu.
Auch die vorgewählte Partitionierung und Formatierung der Karte hat natürlich einen Einfluß auf die Kompatibilität mit bestimmten Geräten.
Normalerweise sind entsprechend der Nomenklatur auf BIOS- und Betriebssystemebene als "fixed disk" deklarierte Medien partitioniert (auch wenn es sich um sog. Wechselfestplatten handelt) und als "removable drive" deklarierte Medien arbeiten ohne Partitionierng als sog. Superfloppies. Allerdings kann ein sich auf Hardware-Ebene als "removable drive" ausweisendes Speichergerät von der BIOS- und Treibersoftware auch als Wechselfestplatte, also als partitioniertes Medium angesprochen werden. Compact Flash-Karten geben sich, wie oben schon angesprochen, meist als "removable drive" aus, werden aber trotzdem in der Regel partitioniert ausgeliefert. Wenn die Software damit klarkommt, ist das kein Problem und im Grunde die flexibelste Lösung, aber in Einzelfällen schafft es auch Probleme. Dann schaffen Karten im "fixed disk"-Modus Abhilfe, aber die sollten per definitionem während des Betriebs nicht gewechselt werden, und es ist auch nicht gesagt, daß jede Kamera damit klarkommt.
Wichtig zu wissen kann auch sein, welcher Partitionstyp voreingestellt ist. Impliziert der Partitionstyp LBA- oder CHS-Zugriffe auf das Medium, und entspricht das auch dem, was die Kartenfirmware und Gerätefirmware kann? (Wie gesagt, nicht jede Karte und auch nicht jedes Betriebssystem unterstützt beides.) Welche physikalische Geometrie wurde bei der Einrichtung der Partition verwendet? Welches Dateisystem wurde verwendet? (Verbreitet auf CF-Karten sind - je nach Größe - FAT12, FAT16 oder FAT32, aber der Standard schreibt kein Dateisystem vor und in der Anfangszeit von PCMCIA und CF wurden auch verschiedene spezielle Flash-Dateisysteme (FFS) verwendet, und selbst innerhalb der drei FAT-Systeme gibt es Varianten, die nicht jedes Betriebssystem und auch nicht jede Kamerasoftware verarbeiten kann.) Welche logische Geometrie wurde innerhalb des Dateisystems verwendet und wie läßt sich diese Geometrie auf die physikalische Geometrie, mit der sich die Karte meldet und die bei der Partitionierung verwendet wurde, abbilden? usw.
Die Partitionierung und Formatierung kann zwar jeder Endanwender mit entsprechenden Partitionierungs- und Formatierungswerkzeugen nachträglich ändern, aber leider gibt es ein paar Parameter, die zumindest die gängigen Tools, die bei Desktop-Betriebssystemen beiliegen, nicht antasten und die dann u.U. in bestimmten Situationen Probleme bereiten können. Auch nicht jede Kamerasoftware kommt mit jeder existierenden Formatierung zurecht und verweigert mitunter die Arbeit mit einer Karte in spezifischer Formatierung, obwohl sie doch eigentlich sowieso gerade die Formatierung aufheben und erneuern soll, sich also überhaupt nicht darum kümmern müßte, was bisher auf die Karte geschrieben wurde.
Aber auch elektrisch gibt es mögliche Unterschiede.
So gibt es (ganz alte) CF-Karten, die nur für 5,0V-Betrieb geeignet sind und (wenige) solche, die nur an 3,3V-Systeme angeschlossen werden dürfen. Die meisten Karten unterstützen, wie im Standard gefordert, beide Spannungen, wobei es dann im Detail Unterschiede gibt, wie solche Karten sich im 5V-Betrieb verhalten; manchmal arbeitet das Handshake dann auf 5V-Pegeln und die Daten werden auf 3,3V-Pegel übertragen, was mitunter obskure Probleme bereiten kann.
Als Flash-Speichertopologie kommen grundsätzlich NOR-Flashes und NAND-Flashes in Frage. NOR-Flashes gelten als wesentlich zuverlässiger und sind auch schneller im Zugriff, brauchen dafür aber ein Vielfaches der Chipfläche und sind damit auch teurer, weshalb sie meines Wissens nur noch bei sehr kleinen Speicherkartengrößen zum Einsatz kommen. Die überwiegende Zahl CF-Karten kommt heute mit NAND-Flashes daher.
Eine weitere Unterscheidung betrifft die Zahl der Bits, die in einer Speicherzelle gespeichert werden können. Hier muß man zwischen single level cells (SLC) und multi level cells (MLC) unterscheiden. In einer SLC wird genau ein Bit gespeichert, die gesamte Potentialdifferenz steht also für die Unterscheidung zwischen den Zuständen "1" und "0" zur Verfügung. In einer MLC werden hingegen mehrere (je nach Hersteller unterschiedlich viele) Bits gespeichert. Das erlaubt höhere Speicherdichten, birgt aber auch ein größeres Risiko für Bitfehler, da der Störbandabstand sich mit jedem zusätzlichen Bit halbiert. Meist dauert das Schreiben von MLCs auch länger, weshalb die extrem schnellen Karten meist mit SLCs aufgebaut sind. Dafür sind SLCs wesentlich teurer als MLCs und gerade bei Extremkapazitäten von Noname-Herstellern handelt es sich oft um MLCs. Wer aber auf maximale Datensicherheit Wert legt, sollte nach Möglichkeit nur Karten mit SLCs kaufen.
Ein Kriterium sind auch die erlaubten Arbeits- (und Lagerungs-)temperaturbereiche. Normale "consumer grade"-CF-Karten sind nur für Arbeitstemperaturbereiche von z.B. 0°C bis +40°C, 0°C bis +70°C oder -25°C bis +85°C (-40°C bis +85°C) spezifiziert. Daneben gibt es noch verschiedene Abstufungen von "industrial grade"-Karten mit erweiterten Temperaturbereichen von -40°C bis +85°C (-55°C bis +100°C), -45° bis +90°C und mehr. Solche Karten sind aber durchaus auch für Digitalkameras empfehlenswert, wenn diese im Hochsommer unter Vollast betrieben werden sollen oder im Auto gelagert werden.
Der verbaute Speicher kann von unterschiedlich hoher Güte sein, was sich dann für den Kartenhersteller auch im Einkaufspreis bemerkbar macht. Ein Kriterium ist die Anzahl der erlaubten Schreibzyklen pro Zelle, die von einigen 10.000 bis hin zu mehr als eine Million Zyklen reichen kann. Da im Rahmen des Zugriffs über ein Dateisystem unterschiedliche Bereiche des Mediums unterschiedlich stark beansprucht werden (bei FAT-Dateisystemen ist z.B. der Bereich, in dem die FAT gespeichert ist, häufigen Schreibzugriffen ausgesetzt), versucht hier die Kartenfirmware mittels wear leveling im Hintergrund einen für den Anwender unsichtbaren Ausgleich zu schaffen, so daß alle physikalischen Bereiche nahezu gleichmäßig abgenutzt werden. Dazu führt sie intern Buch über die Anzahl der Zugriffe für jeden Block und remappt die adressierten Bereiche geeignet um, bevor überhaupt Fehler auftreten. Darüberhinaus gibt es auch noch eine unterschiedlich hohe Zahl von Parity-Prüf- und Fehlerkorrekturbits (ECC), über die Ein- und Mehrbitfehler beim Lesen erkannt und bis zu einem gewissen Grad auch noch korrigiert werden können. Je aufwendiger die Fehlerkorrektur, desto sicherer sind die gespeicherten Daten, aber natürlich gehen die zusätzlich benötigten Bits von der Gesamtkapazität der Karte ab. Meist läuft die Fehlerkorrektur auf Hardwareebene, zum Teil aber auch auf Firmwareebene in der Karte ab.
Um besonders hohe Geschwindigkeiten zu unterstützen, verfügen manche Karten intern (und nach außen völlig transparent) über mehrere unabhängige Controller, durch die parallel auf verschiedene Speicherbereiche gleichzeitig zugegriffen werden kann. Eine CF-Karte kann auch unterschiedlich viel SRAM als Cache-Speicher beinhalten, um sich wiederholende Zugriffe direkt aus dem RAM bedienen zu können. Da gibt es sehr große Unterschiede zwischen den unterschiedlich ausgefeilten Architekturen und Algorithmen, die sich zum Teil adaptiv an die Zugriffsmuster der Software anpassen oder für bestimmte Dateisysteme (in der Regel FAT12, FAT16, FAT32) optimiert sind. Letztlich muß eine Karte nach außen hin immer die Daten liefern, die adressiert wurden, aber wie schnell die Karte solche Anfragen bedienen kann und welche Geschwindigkeit sie bei unterschiedlichen Zugriffsmustern auch dauerhaft aufrecht erhalten kann, hängt sehr stark von der Größe des Caches und der "Intelligenz" der jeweiligen Implementierung in der Karte ab - deshalb gibt es auch so große Praxisunterschiede selbst bei Karten, die die gleichen Transfermodi benutzen und von daher in der Theorie eigentlich gleichschnell sein sollten. Das sind sie aber nur, solange immer wieder auf den gleichen Sektor (oder Sektoren in einer ganz bestimmten Reihenfolge) zugegriffen wird, was so in der Praxis natürlich eher selten vorkommt.
In mobilen Geräten ist die Stromaufnahme ein nicht zu unterschätzendes Kriterium, bei dem es sehr große Unterschiede zwischen verschiedenen Karten gibt.
Weitere Kriterien für den Betrieb in rauhen Umgebungen sind die Anzahl der erlaubten Steckzyklen, die Platierung der Kontakte sowie die mechanische Schockfestigkeit.
Viele Grüße,
Matthias