Diese Informationen werden manchmal in SSD-Herstellerspezifikationen veröffentlicht, aber manchmal sind sie nicht vorhanden, insbesondere für CF- oder SD-Speicherkarten. Wenn Sie Google nicht verwenden, um nach einer anderen Person zu suchen, die die Recherche durchgeführt hat, können Sie versuchen, sie mithilfe von FlashBench selbst zu schätzen. Laden Sie es hier herunter: https://github.com/bradfa/flashbench
Dieses Tool führt zufällige Lesevorgänge auf einer SSD durch und zeichnet eine Tabelle mit den Lesezeiten. (Sie sollten bereits einige Schreibvorgänge auf der SSD durchgeführt haben, da das Lesen vollständig gelöschter Seiten häufig vom Controller-Chip simuliert wird.) Wenn Sie nach Zeitunterbrechungen nach Blockgröße suchen, können Sie auf die Größe des Löschblocks schließen. Hier ist ein Beispiel aus dem README:
== Erraten Sie das Löschen von Block- und Seitengrößen ==
''flashbench -a <device>''
Dies ist ein einfacher schreibgeschützter Test, bei dem kleine Lesevorgänge über Grenzen unterschiedlicher Größe hinweg durchgeführt werden. Beispiel:
$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=1024
align 134217728 pre 735µs on 1.08ms post 780µs diff 324µs
align 67108864 pre 736µs on 1.05ms post 763µs diff 300µs
align 33554432 pre 722µs on 1.04ms post 763µs diff 294µs
align 16777216 pre 727µs on 1.05ms post 772µs diff 302µs
align 8388608 pre 724µs on 1.04ms post 768µs diff 299µs
align 4194304 pre 741µs on 1.08ms post 788µs diff 317µs
align 2097152 pre 745µs on 950µs post 811µs diff 171µs
align 1048576 pre 745µs on 945µs post 807µs diff 169µs
align 524288 pre 743µs on 936µs post 799µs diff 165µs
align 262144 pre 746µs on 948µs post 809µs diff 171µs
align 131072 pre 737µs on 935µs post 804µs diff 165µs
align 65536 pre 735µs on 925µs post 796µs diff 159µs
align 32768 pre 735µs on 925µs post 800µs diff 157µs
align 16384 pre 745µs on 911µs post 781µs diff 148µs
align 8192 pre 785µs on 808µs post 725µs diff 53.3µs
align 4096 pre 784µs on 788µs post 779µs diff 5.85µs
align 2048 pre 787µs on 793µs post 789µs diff 4.65µs
Dies zeigt die Zugriffszeiten für zwei 1024-Byte-Lesevorgänge um die Grenzen von Zweierpotenzblöcken. Das Lesen am Ende einer 128-MB-Einheit dauert ungefähr 735 Mikrosekunden, das Lesen des letzten Blocks dieser Einheit zusammen mit dem ersten Block der nächsten dauert ungefähr 1080 Mikrosekunden und das Lesen der ersten beiden Blöcke in einer 128-MB-Einheit dauert ungefähr 780 Mikrosekunden.
Die interessanteste Zahl ist hier die letzte, die Differenz zwischen der zweiten Zahl und dem Durchschnitt der ersten und dritten beträgt 324 Mikrosekunden. Diese Zahlen bleiben für alle Einheiten zwischen 4 MB und 128 MB ungefähr gleich.
Von 2 MB bis 16 KB hat die letzte Spalte jedoch einen viel niedrigeren Wert. Dies zeigt an, dass alles, was die Speicherkarte an einer 4-MB-Grenze tut, nicht an anderen Grenzen geschieht. Die fundierte Vermutung hier ist, dass 4 MB die Löschblockgröße ist, die auch als Segment- oder Zuordnungseinheitsgröße bezeichnet wird. Diese Löschblockgröße muss in anderen Tests verwendet werden, die diesem folgen.
Ebenso sind sowohl 16-KB- als auch 8-KB-Grenzen speziell. Die logische Erklärung hierfür ist, dass die Karte 8 KB-Seiten hat, jedoch mehrere Ebenen verwenden kann, um zwei 8 KB-Seiten gleichzeitig zu lesen.
Einige Karten zeigen nur bei Zugriffen mit bestimmten Blockgrößen ein klares Muster, andere Karten zeigen kein Muster, was bedeutet, dass die Zahlen anders bestimmt werden müssen.
Außerdem zeigen Karten, die nie vollständig geschrieben wurden, möglicherweise ein anderes Verhalten, da sich die Zugriffszeiten auf vorgelöschten Segmenten von den geschriebenen unterscheiden.