How do I determine what is the best block size for a 960 PRO M.2?
Solution 1:
Note: this community wiki is in fact the OP's answer originally posted as an edit to the question.
I just did a lot of research to get my answer, which has kept me from installing my OS until now. There is a lot going on with what is stored within different block sizes. Different hardware architectures handle the various quantities of transistors, for various block sizes, differently from each other.
I ran a series of tests. Here are the results, for the device I was inquirring about:
Median Speeds:
bs = write speed
512 = 552 MB/s
1024 = 783 MB/s
2048 = 1.4 GB/s
4096 = 2.0 GB/s
8192 = 2.3 GB/s
16384 = 1.7 GB/s
32768 = 2.5 GB/s
65536 = 2.6 GB/s // <=== Max Write Speed
131072 = 2.6 GB/s
262144 = 2.5 GB/s
524288 = 2.5 GB/s
1048576 = 1.7 GB/s
2097152 = 2.5 GB/s
4194304 = 2.2 GB/s
8388608 = 1.9 GB/s
16777216 = 1.9 GB/s
33554432 = 1.8 GB/s
67108864 = 1.7 GB/s
Median Speeds:
bs = read speed
512 = 682 MB/s
1024 = 1.2 GB/s
2048 = 1.8 GB/s
4096 = 2.9 GB/s
8192 = 2.9 GB/s
16384 = 3.3 GB/s
32768 = 3.4 GB/s
65536 = 3.6 GB/s // <=== Almost max read spead
131072 = 1.7 GB/s
262144 = 3.6 GB/s
524288 = 3.7 GB/s
1048576 = 3.6 GB/s
2097152 = 3.6 GB/s
4194304 = 3.3 GB/s
8388608 = 3.1 GB/s
16777216 = 1.8 GB/s
33554432 = 2.7 GB/s
67108864 = 2.5 GB/s
I used a calculator to get the medians. From Arch Linux, I ran eight tests per read, and eight tests per write. The tests were less accurate from Linux distros running on USB. The tests were less accurate from Linux distros running a GUI. The tests were also less accurate from Linux distros running on the same drive that is being tested, due to the increase I/O for the device circuitry.
The best results were gained from an external USB 3.0 connected SanDisk Extreme, with the Arch Linux installation ISO. This is because several of the block size speeds, of every other way that I tried, had a limit that was being reached, which made it impossible to determine what the most optimal speed would be to use for this device. Many of the block sizes kept testing out at the same speed, which was 1.7 GB/s with the OS running off a thumbdrive, and around 1.8 GB/s from the drive being tested.
The speed tells me how the device handles the information stored within the pages per block.
Four of the tests were ran with ext4 file system. The other four tests were ran with the drive containing zeros. The first two tests, for both of those sets, were of the drive using 512B block size. The second two tests for both of those sets, were with the device using 4096B block size.
So, the answer is 65536B.