Hallo32 schrieb:
Wie die Map implementiert ist, spielt in den aktuellen Fall doch keine Rolle.
Wieso das plötzlich nicht?
Hallo32 schrieb:
Die Frage ist nur, wie lange das Suchen in der FTL braucht. Wenn die Anzahl der Einträge in der FTL konstant ist, dann ist die benötigte Zeit zum Suchen ebenfalls konstant.
..
Die Frage ist nun, mappt die Crucial die leeren Sektoren in der FTL
LBAs ohne gültige Daten zu mappen (dann auf den Hinweis das es dafür keine Daten gibt) würde nur bei flachen Tabelle Sinn machen, da werden ja dann die Daten aller LBAs an einer festen Position stehen und man greift da einfach rein (bzw. es nicht einzelne LBAs gemappt, sondern wohl jeder achte wegen der Optimierung auf 4k Zugriffe) und damit macht es keinen Sinn die nicht belegten raus zu nehmen, jeder hat ja eine feste Position.
Bei einer Baumstruktur werden die gelöschten dann wieder entfernt, das macht ja keinen Sinn diese länger zu halten. Das müsste man aber messen können, indem man statt eines Secure Erease (dabei wird ja wohl der ganze Baum gelöscht) einfach alle LBAs trimmt und dann die Zugriffszeit erneut bencht. Man müsste mal eine neue SSD benchen, z.B. mit h2testw fast komplett füllen, erneut benchen und dann die h2testw Dateien löschen (TRIM muss funktionieren), etwas warten und erneut benchen. Beim zeiten Bench wäre die Zugriffszeit lesend sicher höher und wenn sie beim dritten Bench auch noch so hoch ist, dann werden wohl auch die Baumeinträge wohl gelöscht. Bei einer Intel DC S3x00 oder 730 sollten die Zeiten dagegen etwa gleich bleiben.
Eine andere Ursache könnte aber auch bei AS-SSD liegen, denn das ist ja ein Filesystembasierter Benchmark und nur beim Messen der Zugriffszeit lesend wird auf das Physikalische Laufwerk zugegriffen, also Low-Level gebencht. Was wenn dabei beliebige LBAs gelesen werden in denen gar nichts steht? Um das zu vermeiden müsste ja eine Datei angelegt und ermittelt werden welche LBAs diese belegt und nur diese könnten dann gelesen werden oder schaut sich die gesamte Belegung an, aber das dauert bei vollen SSDs länger als AS-SSD braucht um den Test zu starten, wird also wohl sicher nicht gemacht.
Deshalb dürfte AS-SSD bei der Ermittlung der Zugriffszeit vermutlich am Ende den gleichen Fehler machen den auch Low-Level Bechmarks die ja beim Lesen nicht gemappter LBAs sehr hohe Leseraten anzeigen, wie bei
diesem Test einer Intel X-25V bei awardfabrik.de schön zu sehen ist:
bzw.
Die getestete SSD kann gar keine 200MB/s oder gar mehr lesen, die Kurven zeigen nur da die reale Geschwindigkeit halbwegs richtig an, wo der Speicher auch wirklich belegt ist. So schnell kann die lesen, wenn man auch wirklich Daten zum Lesen hineingeschrieben hat, die hat ja nur 5 Kanäle des Controllers mit NAND belegt:
Wegen der in der Standardeinstellung nur 64k kurzen Zugriffe bei HD Tune zeigt das nur so 150MB/s wo etwas belegt ist, man sieht schon daran wie ungeeignet HD Tune für SSDs ist.
Zwischen den beiden Benches von HD Tune und HD Tach wurde auch zwischen 20GB und 24GB noch etwas geschrieben, da ist dieLesengeschwindigkeit nun geringer, da muss ja nun wirklich etwas aus den NAND gelesen werden. Hätte man nun vorher und nachher einfach beliebe LBAs gelesen, so wäre der Mittelwert schon deshalb schlechter, weil beim zweiten mal in 10% der Fälle nun reale Daten ausgelesen werden müssen (eben in Bereich zwischen 20 und 24GB) wo das vorher weder nötig und noch möglich war.
Von daher kann man ohne den Quellcode oder wenigstens die Funktionsweise von AS-SSD beim Ermitteln der Zugriffszeit lesend zu kennen, nicht ausschliessen das der ganze Test schlicht falsch funktioniert und die Unterschiede in der Zugriffszeit nur daher kommen, dass bei leeren SSDs dabei fast nur LBAs gelesen werden, die nicht belegt sind und bei vollen dann eben fast nur wirklich belegte LBAs und der Unterschied alleine daher stammt.