Sherman123 schrieb:
Ich schreibe lediglich, dass einmal einer Partition zugeteilte Zellen auch in dieser fix verbleiben - das schreibst du doch auch.
Nein, das schreibe ich nicht, denn es ist klar zwischen logischen Adressen und Flashasdressen zu trennen. Die logischen Adressen sind die Adressen die von dem Rechner verwendet werden und die Flashadressen sind die Adressen, in die der Controller die Daten legt. Von logischen Adressen wird auf Flashadressen gemappt (über eine Tabelle umgewandelt) und dieses Mappung ändert sich eben ständig, da sonst schonmal kein Wear Leveling möglich wäre, die Write Amplification und die Random Schreibperformance wären fürchterlicht. Man dann beim Überschreiben einer Page den ganez Block vorher lesen, löschen und mit einer veränderten Page neu schreiben. Bei einem MB Blocksize und 4k Pagesize.....
Du schriebt es doch selbst:
Sherman123 schrieb:
Es weiß doch jeder hier, dass die Sektoren nicht der physikalischen Reihenfolge entsprechend beschrieben werden müssen (zusätzliche schieben die Controller die Daten von Zeit zu Zeit selbständig herum).
Bei HDDs ist das anders, da werden logischen Adressen fest in Kopf, Zylinder und Sektor umgerechnet.
Sherman123 schrieb:
Wenn es kein Dateisystem gibt, wie soll dann jemals wieder auf eine irgendwo abgespeicherte Datei zugegriffen werden? Irgendeine Art von Dateisystem gibt es immer; ich erkenne aber auch nicht, was das Beispiel eines eingebetteten Systems mit dem Thread hier zu tun hat.
Der Controller weiß eben durch das Partitionieren, dass nur die ersten xTausend Zellen zur Partition 1 gehören. Woher? Keine Ahnung.
Aber ich weiß es, denn die Filesystem ist eine Ebene höher und dient genau dazu, die Daten wiederzufinden. Das Laufwerk ist alleine eine Ansammlung von Speicheradressen hinter der sich gewöhnlich immer 512 Byte Daten verbirgen. Das Filesystem ist Teil des Betriebssystem und das legt eben die Daten an einer bestimmen Adresse ab, davon weiß das Laufwerk, egal ob SSD oder HDD aber nichts. Das Laufwerk erhält nur den Befehl, schreibt diese Daten ab dieser Adresse oder lese soviele Daten von der Adresse an. Ob die Daten jetzt eine Partitionstabelle oder eine Urlaubsfoto sind, davon weiß der Datenträger nichts.
Sherman123 schrieb:
Controller sind sehr komplexe Dinger und besitzen ein gewisses Maß an Intelligenz:
Da steht doch Deutlich "They implement
the equivalent of a log-structured filesystem", also
etwas ähnliches wie ein log strukturiertes Filesystem. Es wäre schon sinnvoll das Filesystem auf die SSD auszulagern, aber soweit sind wir leider noch nicht, denn das müsste dann auch für alle Betriebssystem funktionieren. Bisher werden SSDs nur als Ersatz für HDDs angesehen und eingesetzt, womit das Filesystem weiterhinSache des Betriebsystems bleibt.
Sherman123 schrieb:
EDIT: Achso: Du meinst, die logischen Adressen sind fix zugeteilt und ich meine, die physikalischen sind partitionsweise fix zugeteilt. Okay. Vielleicht mach ich Mal vor dem nächstne Neuaufsetzen Versuche: Platte Partitionieren, eine Partition anfüllen und parallel Benchmarks machen. Ich finde im Internet zumindest keine Infos diesbezüglich.
Stelle Dir die logischen Adressen wie den Domainnamen vor und die Flashadresse wie die IP, der Domain Name Server übersetzt den Namen in die IP. Die Partitionen sind sowas wie die Rootleveldomain und auch wenn Computerbase eine de Domain ist, so kann der Server trotzdem außerhalb Deutschlands stehen und es muß auch nicht immer der gleiche sein und es müssen auch nicht alle Webserver mit de Topleveldomain im gleichen Land stehen.
Da ein SSD Kontroller keine Partitionen kennt, werden die Daten aller Partitionen überall auf die Flashadresssen verteilt. Jedes Laufwerk stellt nur eine bestimmte Anzahl logischer Adressen zur Verfügung und durch die Partitionierung werden diese auf bestimmte Partitionen aufgeteilt und damit darf es zwischen den Partitionen keine Überschneidung der Adressen geben, sonst werden die Daten korrupt.