Raspberry Pi 4b mSata-SSD vs MicroSD

Written by bmatusiak | Published 2020/02/11
Tech Story Tags: raspberry-pi | storage | linux | ssd | hardware | latest-tech-stories | single-board-computer | microcomputer

TLDR Raspberry Pi 4b mSata-SSD vs MicroSD is a Samsung Evo Select 256gb. Using same mSATA 480GB by TOROSUS, the same time is same but boot time is the same. The test was run with the Raspberry Pi using the same device as the MicroSD. The results were compared to a written test written by the micro-SD using a modified version of the Pi 4. The Raspberry Pi boot time was 70.6863/0.00.via the TL;DR App

I just wanted to see if it was faster... And.... It is.
I order the cheepist mSATA 5030MM 480GB by TOROSUS and the Geekworm Raspberry Pi 4 mSATA SSD Adapter. The Micro-SD is a Samsung Evo Select 256gb. All from amazon.com
I started with the normal flashing to the 256gb Micro-SD. Pretty Simple. It Booted right up. I did the setup and stuff like that (wifi, blah, ect).
I just cloned Micro-SD ext4 partition to the SSD and expanded it, cloned the FAT32 partition to a spare 2gb micro-sd card i had, with gParted. I had to fiddle with the
/etc/fstab
on the SSD and the
cmdline.txt
file in the Micro-SD. And did a search to find out how to get PARTUUID (as UUID is not the same) for the new clones as gParted changes them.
And YAY I got it to boot using the SSD. So lets get to the results!
Results with the Micro-SD, Samsung Evo Select 256gb
pi@raspberrypi:~/workspace/testFS $ sysbench --test=fileio --file-test-mode=seqrewr run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential rewrite test
Threads started!
Done.

Operations performed:  0 Read, 131072 Write, 128 Other = 131200 Total
Read 0b  Written 2Gb  Total transferred 2Gb  (27.696Mb/sec)
 1772.57 Requests/sec executed

Test execution summary:
    total time:                          73.9446s
    total number of events:              131072
    total time taken by event execution: 70.6863
    per-request statistics:
         min:                                  0.02ms
         avg:                                  0.54ms
         max:                               2990.25ms
         approx.  95 percentile:               0.06ms

Threads fairness:
    events (avg/stddev):           131072.0000/0.00
    execution time (avg/stddev):   70.6863/0.00

pi@raspberrypi:~/workspace/testFS $ 
Results With the SSD, mSATA 5030MM 480GB by TOROSUS
pi@raspberrypi:~/workspace/testFS $ sysbench --test=fileio --file-test-mode=seqrewr run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential rewrite test
Threads started!
Done.

Operations performed:  0 Read, 131072 Write, 128 Other = 131200 Total
Read 0b  Written 2Gb  Total transferred 2Gb  (96.355Mb/sec)
 6166.70 Requests/sec executed

Test execution summary:
    total time:                          21.2548s
    total number of events:              131072
    total time taken by event execution: 20.7933
    per-request statistics:
         min:                                  0.03ms
         avg:                                  0.16ms
         max:                               2067.69ms
         approx.  95 percentile:               0.07ms

Threads fairness:
    events (avg/stddev):           131072.0000/0.00
    execution time (avg/stddev):   20.7933/0.00

pi@raspberrypi:~/workspace/testFS $ 
Well in Conclusion, the boot-up time is the same but In all reality its time to find another use for this 256gb Micro-SD.
Thanks for the Read!
UPDATE: August 2020
Well its time for a update, So today I decided to update my Pi setup.
I recently seen there was eeprom updates for USB Boot Support for the Raspberry Pi 4b @ github.com~rpi-eeprom-firmware/release-notes.md , So I decided to give it a shot!.
I found a guide Here, Using same mSATA 5030MM 480GB by TOROSUS
I changed out my USB/MSATA adapter, to a 10$ one i found on amazon. @ https://www.amazon.com/~/dp/B075FR3ZD4
So here is the new Results!
pi@raspberrypi:~/workspace/benchmark $ sysbench --test=fileio --file-test-mode=seqrewr run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential rewrite test
Threads started!
Done.

Operations performed:  0 Read, 131072 Write, 128 Other = 131200 Total
Read 0b  Written 2Gb  Total transferred 2Gb  (279.41Mb/sec)
17882.03 Requests/sec executed

Test execution summary:
    total time:                          7.3298s
    total number of events:              131072
    total time taken by event execution: 6.8980
    per-request statistics:
         min:                                  0.03ms
         avg:                                  0.05ms
         max:                                 32.38ms
         approx.  95 percentile:               0.04ms

Threads fairness:
    events (avg/stddev):           131072.0000/0.00
    execution time (avg/stddev):   6.8980/0.00

pi@raspberrypi:~/workspace/benchmark $ 

Written by bmatusiak | Living the Life
Published by HackerNoon on 2020/02/11