News Samsung entwickelt neues Dateisystem für Flash-Speicher

mellow67 schrieb:
aber WO im Dateisystem hingeschrieben wird ist doch auch "von aussen" bestimmt?!
Du betrachtest das Filesystem zu sehr von der Seite der Datenstrukturen auf der Disk. Das ist aber nur die eine Seite, die andere sind die Algorithmen, die eben genau diese Strukturen erzeugen und verwalten und die natürlich auch Teil des Betriebssystems sind. Der User und auch die übergeordnete Schicht im Betriebssystem sagt aber nur, lese oder schreibe Datei abc im Verzeichnis xyz. Erst das Filesystem verwandelt das in Befehle zum Lesen oder Schreiben von bestimmten LBAs (logischen Adressen der Disk), wo diese Datei wirklich liegt.

Das Lesen ist dabei das Einfachste, beim Schreiben wird es kompliziert, denn dabei darf natürlich niemals auf einen LBA geschrieben werden, der einer anderen Datei zugeordnet ist. Das Filesystem muss also die ganze Belegung der Disk verwalten und genau das macht der Controller einer SSD ja auch, weil er den ganzen benutzen LBAs ja die richtigen Flashadressen zuordnen muss. Deshalb wäre es eigentlich am sinnvollsten, die ganze Verwaltung des Filesystems auf den SSD Controller zu übertragen und ihm nicht mehr zu sagen, lies x LBAs ab Adresse y sondern lies File abc im Verzeichnis xyz. Das geht aber natürlich nicht mit dem SATA oder SCSI Protokoll, da muss was neues her, denn diese Protokoll stammen noch aus einer Zeit, als der Controller einer Platte nur ganz wenig konnte und gerade erst die LBA Adressierung gelernt hat. Davor musst das Betriebssystem ihm sogar noch konkret sagen, welchen Kopf, Zylinder und Sektor er anfahren sollte. (Diese Adressierungsart geht heute noch, nur rechnet der Controller das intern auf LBAs um und diese wieder auf den richtigen Kopf, Zylinder und Sektor, weil man sonst nur schlecht unterschiedlich viele Sektoren auf den Zylindern unterbringen kann.)
 
Alles, was ihr gennant habt steckt meiner Meinung nach im dateisystemTREIBER und nicht im Dateisystem selbst. Was hindert jemanden daran, einen anderen Treiber für ein Dateisystem zu nutzen, der diese "Platzierungsüberlegungen" nicht macht sondern an die nächstbeste Stelle schreibt und den Rest dem Flashcontroller überlässt. Es wäre immernoch ein valides NTFS/EXT/FAT/....-Dateisystem. Ich sehe immer noch nichts, was STRUKTURELL dagegen spricht - zB OS-Treiber die je nach Datenträgertyp unterschiedlich arbeiten.
 
Software und Datenstrukturen gehören zusammen und natürlich könnte man einzelne Algorithmen auf die Technik der Platte optimieren. Allerdings hört es dann dort auf, wo die Definitionen der Datenstrukturen dem entgegen stehen. So ist das getrennte speichern von Metadaten wie bei NTFS im MFT für SSDs schon mal kontraproduktiv, weil man ja somit immer mindestens zwei Pages beschreiben muss, andererseits kann aber NTFS kleine Dateien auch direkt in der Verzeichnisstruktur ablegen, was für SSDs wieder sehr hilfreich ist.
 
Metadaten brauchst du doch immer gesondert, wie willst du sonst z.B. ein Verzeichnis auflisten?! Andernfalls müsst man doch auf der ganzen SSD suchen, welche Datei nun zu diesem Verzeichnis gehört....
 
Zurück
Oben