Informacje te są czasami publikowane w specyfikacjach producenta dysków SSD, ale innym razem ich nie ma, szczególnie w przypadku kart pamięci CF lub SD. Zamiast używać Google do szukania kogoś, kto przeprowadził badanie, możesz spróbować oszacować go samodzielnie, używając FlashBench. Pobierz tutaj: https://github.com/bradfa/flashbench
To narzędzie wykonuje losowe odczyty na dysku SSD i wykreśla tabelę pokazującą czasy odczytu. (Powinieneś już był zrobić kilka zapisów na dysku SSD, ponieważ odczyt całkowicie wymazanych stron jest często symulowany przez układ kontrolera). Szukając przerw w czasie według rozmiaru bloku, możesz wywnioskować, jaki jest rozmiar bloku usuwania. Oto próbka z README
:
== Zgadnij, skasuj rozmiary bloków i stron ==
''flashbench -a <device>''
Jest to prosty test tylko do odczytu, przeprowadzający małe odczyty ponad granicami różnych rozmiarów. Przykład:
$ 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
Pokazuje to czas dostępu do wykonania dwóch odczytów 1024-bajtowych wokół granic potęgi dwóch wyrównanych bloków. Odczyt na końcu jednostki 128 MB zajmuje około 735 mikrosekund, odczyt ostatniego bloku tego urządzenia wraz z pierwszym blokiem następnego zajmuje około 1080 mikrosekund, a odczyt dwóch pierwszych bloków w jednostce 128 MB zajmuje około 780 mikrosekund.
Najciekawsza jest tutaj ostatnia, różnica między drugą liczbą a średnią pierwszej i trzeciej wynosi 324 mikrosekundy. Wszystkie te liczby są w przybliżeniu takie same dla wszystkich jednostek od 4 MB do 128 MB.
Jednak od 2 MB do 16 KB ostatnia kolumna ma znacznie niższą wartość. Oznacza to, że cokolwiek robi karta pamięci na granicy 4 MB, nie dzieje się na innych granicach. Zgaduje się, że 4 MB to rozmiar bloku kasowania, zwany także rozmiarem segmentu lub jednostki alokacji. To wymazanie rozmiaru bloku będzie musiało zostać użyte w innych testach następujących po tym.
Podobnie, granice 16 KB i 8 KB są wyjątkowe. Logicznym wyjaśnieniem tego jest to, że karta ma strony o wielkości 8 KB, ale może korzystać z dostępu wielopłaszczyznowego do odczytu dwóch stron o wielkości 8 KB jednocześnie.
Niektóre karty pokazują tylko wyraźny wzór przy użyciu dostępu o określonych rozmiarach bloków, inne karty nie wykazują żadnego wzoru, co oznacza, że liczby muszą być określone inaczej.
Ponadto karty, które nigdy nie zostały w pełni zapisane, mogą wykazywać inne zachowanie, ponieważ czasy dostępu do wstępnie usuniętych segmentów różnią się od tych, które zostały zapisane.