Assuming the SoC is OMAP5432, there are the following bus limits on the transfer speeds (approximately):About internal storage: This is another interesting task.
Basically, there are three possibilities:
Each possibility has advantages and disadvantages, and we need to find out which would be best.
- eMMC (non-replaceable)
- Micro-SD Card (user-replaceable)
- Micro-SSD via SATA (non-replaceable)
If we use a Micro-SSD via SATA, we should be able to include an internal Micro-SD Card slot as well.
Using Micro-SD Card is a neat solution, as the user can replace it with a bigger card if he wants.
eMMC is the standard in most devices (and there probably is a reason for it).
How do all these compare in terms of speed, power consumption, reliability and availability (also in the future)?
That's something we need to find out.
Next week is the Embedded World in Nuremburg, and we'll be there and visit various manufacturers and distributors and try to find out the one that suits the Pyra best.
- SD: 100MB/s (SDR104)
- eMMC: 200MB/s
- SATA: 300MB/s (SATA 2.0)
For all three types of storage, the top-range cards/chips can reach those speeds for sequential reading. They tend to be slower at writing and of course at random access read/writes. In terms of capacities, all of them can be up to 128GB. The highest capacity usually has a slower speed though.
Good SD cards tend to be relatively fast at writing (write speeds close to read speeds) since they are aimed at high-res video cameras that need good write speeds.
eMMCs tend to be a bit slower at writing, but faster at reading and good at random access -- at least if you get a good one, cheap ones suck at writing.
SATA SSDs are usually good at everything, but they consume more power.
SD and eMMC are roughly the same price, SSD is more expensive. SD is obviously easily replaceable, eMMC and SSD are soldered to the PCB although the Hardkernel ODROID uses some kind of modular eMMC.
Here are some interesting data points, please add more if you find them:
- MicroSD:
SanDisk Extreme Pro:
$35 for 16GB, $23 for 8GB (on a quick Amazon search)
claims: "Up to 95 MB/s (633X) read speed; write speed up to 90 MB/s (600X)"
benchmark: 90.9MB/s sequential read, 74.7MB/s sequential write, 87.6MB/s random read, 13.4MB/s random write
(source: http://www.storagereview.com/sandisk_extreme_pro_microsdhc_review)
Toshiba EXCERIA type HD:
$31.80 for 32GB, $17.85 for 16GB, $11.35 for 8GB
claims: 95MB/s read speed, 30MB/s write speed
Of course there are plenty of cheap and slower cards too. E.g. for $9.45 (shipping not included) you can get a 32GB class 10 microSD card. If you don't care much about boot speed, that may well be good enough.
- eMMC:
ODROID eMMC module:
$79 for 64GB, $39 for 16GB, $25 for 8GB
claims: "Read speed is up to 160MB/sec in the real world."
benchmark: 128MB/s sequential read, 30MB/s sequential write, 12.7MB/s random read, 4.5MB/s random write
(source: https://www.linux.com/learn/tutorials/752860-benchmarking-the-odroid-xu-a-fast-clocked-quad-a15-arm-machine)
SanDisk iNAND Extreme:
claims: 300MB/s sequential read [capped: 200MB/s?], 70MB/s sequential write, 24MB/s random read, 12MB/s random write
benchmark: ?
Kingston eMMC prices as given by ED:
$100 for 64GB, $41 for 32GB, $19 for 16GB, $18 for 8GB, $8 for 4GB
specs and benchmark results unknown
[The Google Nexus 7 has a Kingston eMMC (an older one by now I guess), according to http://www.anandtech.com/show/6073/the-google-nexus-7-review/6 this are its benchmark results: 23.1MB/s sequential read, 8.43MB/s sequential write, 4.77MB/s random read, 0.32MB/s random write]
- tiny SSD:
SanDisk iSSD i110:
claims: 450MB/s sequential read, 350MB/s sequential write [capped: 230MB/s, 180MB/s?]
max power: 2.7W
benchmark: ?
Innodisk nanoSSD 3SE:
$140.4 for 8GB (4ch), $254.6 for 16GB (4ch)
(source: http://www.jampel.it/Modules/ListFiles/Files/2013-03-12-02-55-59_IT.pdf)
claims: 480MB/s sequential read, 175MB/s sequential write [capped: 240MB/s, 175MB/s?]
max power: 0.99W
benchmark: ?
Innodisk nanoSSD 3ME:
$33.8 for 8GB (1ch), $47.8 for 16GB (2ch), $69.8 for 32GB (4ch), $133.8 for 64GB (4ch)
claims: 480MB/s sequential read, 90MB/s sequential write [capped: 240MB/s, 90MB/s?]
max power: 0.99W
benchmark: ?
My conclusions so far (but I'm willing to adjust them if I see more data points):
- SSD is overkill and too expensive for us (unless we can find a cheaper, slower one; anything above 300MB/s cannot be used anyway; it's not easy to find a cheap one that is also small and low-power enough)
- microSD can be better than eMMC both in speed and in price, even taking the bus limit advantage of eMMC into account
- it makes most sense to use microSD only for internal storage.