Value of SSD vs SD card for GoPiGo3 robots

This article seems to suggest that a mostly read-only robot might not benefit (or perhaps even be penalized) having a SSD on-board.

I tested Dave’s current SD card (using the CLI version of the PiOS desktop diagnostics):

NOTE:  Sequential write speed can vary by 7% from run to run,
       but Random r/w speeds will vary by less than 1%

RESULTS:

*** 32GB ROS2HH SD card (in micro SD extender)
Sequential write speed 21607 KB/sec (target 10000) - PASS
Random write speed 645 IOPS (target 500) - PASS
Random read speed 2497 IOPS (target 1500) - PASS

In my circumstance: Using the SSD was

  • 28% faster than SD card for random read, and
  • 10x faster for random write:

(The SSD test was on a Pi4 4GB processor that was not mounted to, nor powered by a GoPiGo3, with SSD powered through the same USB-A USB3.0 data connector)

2 Likes

There’s no such thing as a “read mostly” operating system, even with “atime” disabled.

You can, and should, consider any operating system a high write-pressure environment.

However, I have found by my own subjective tests that using a SSD on my 'bot made enough of a difference that it was noticable.

2 Likes

Also invalidates all my battery life studies and my power distribution design if this is true:

mSATA SSDs: These devices have a power consumption range of 0.21-1.20 watts when idle, 
2-5 watts when reading data, and 5-8 watts when writing. 

M2 SATA SSDs: These SSDs consume between 0.30-2 watts in idle mode, 
2-6 watts when reading, and 3-9 watts when writing data
2 Likes

SSD’s do consume more power.

USB SSD devices can consume considerable amounts of power.

However, the key word here is “can” not “will” or “must”.  It really depends on your use-case.

Should you re-profile your battery studies?  Absolutely!

Should you get all worked up over it?  I’d say “no!”, unless and until you have a sufficiently bad situation, and even then I would strongly recommend against it.

1 Like

Initial tests show no consistent difference in SD card i/o with and without the extender.

Without extender:

Sequential write speed 21586 KB/sec (target 10000) - PASS
Random write speed 704 IOPS (target 500) - PASS
Random read speed 2494 IOPS (target 1500) - PASS
3 Likes

You are really thorough! Awesome!

3 Likes

He is absolutely thorough, perhaps to a fault, but we still love him anyway. :wink:

2 Likes

Possibly, though it depends on the design of the interface, the kind of SSD being used and its architecture, along with a whole host of other factors like the way the USB or other interface drivers are implemented.

It has more aspects than a Siamese cat has attitude! :wink:  So a superficial study like that is only valid within the confines of a specific environment and Pi and I would hesitate to generalize it.

Your own study contradicted the premise of that article.

What that test IS good for is validating individual system performance using a specific set of hardware to see if it works for you in particular.

2 Likes

Note:
There is no such thing as a “mostly read-only robot”, especially if it’s using a Linux spin on a Pi.

I always assume that any modern operating system more complex than a micro:bit or an Arduino sketch is a high write-pressure environment.

Perhaps the Pi respins are optimized to reduce write pressure, but it’s still not trivial.

1 Like

You’re only just seeing the tip of the iceberg :slight_smile:
/K

2 Likes