View Single Post
Old 05-24-2016, 07:18 PM   #296
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Speed tests. Timing microSDHC on the K1. Running in a script on the K1. And speed-testing the shared drives of the K1 (both shared internal /mnt/us and shared SD /mnt/mmc) using a drive speed tester app running on the host PC.

Whoa! This 16GB class-10 card measured 19MB/s read and 16MB/s write using a USB SD card adapter. But the shared-by-K1 SD card read speed is only 2.5MB/s and write speed TOO SLOW TO MEASURE using this app. Time to measure it differently...

And for comparison, the shared internal K1 flash (/mnt/us) was faster, showing 2.6MB/s reads and about 1.0MB/s writes.

Now, time to measure using that "time dd" script, results posted earlier in this thread (for a class 4 SD card). For this test, the USB MS driver is not loaded (script running in UYK "update install" mode). Much faster SD card, but we shall see if that even matters...

-- Kindle internal storage @ /mnt/us --
Write 100MB/3m42.76s (0.45MB/s)
Read 100MB/1m43.02s (0.97MB/s)


-- 4GB Class 4 SDHC @ /mnt/mmc --
Write 100MB/6m48.61s (0.24MB/s)
Read 100MB/2m48.71s (0.59MB/s)


-- 16GB Class 10 microSDHC @ /mnt/mmc --
Write 100MB/4m43.23s (0.35MB/s)
Read 100MB/2m4.87s (0.80MB/s)


Conclusions? Well... All I can say is that even a fast Class-10 SD card runs slower than the K1 internal flash, and THAT is way slower than USB 2.0 (and in fact even slower than USB 1.0 can support). For that matter, is the K1 a USB 2.0 device?

The Class-10 microSD card is slightly faster than the Class-4 SD card, but not by much.

Perhaps the K1 SD card slot is running internally over USB (and perhaps USB 1.0 at that). The only way to get data on and off the card faster is to highly compress that data. Rather than vfat, jffs2 seems like a much better choice (unless the required jffs2 RAM buffers are too much overhead). Or we could put a really big squashfs partition full of "useful read-only content on the SD card...

Now that I noticed CPU governor logic (available from /proc files) in the kernel source code, I wonder if we can make SD card writes faster by futzing with the CPU governor? The default appears to be half-speed, but it can go MUCH slower (by a factor of 1000). Flipping it to full-speed (if it does not do that automagically as-needed already) might make this test internal SD card run faster (but still not much faster than the internal storage speed, probably).

EDIT: One thing interesting is that when the K1 copies a 100mb file from its internal /mnt/us drive to /dev/null, it runs at only about one-third the speed that the USB mass storage driver shares a file to a host PC. Is /dev/null really THAT SLOW? I suspect a "CPU governor" thing in play here, where USB mass storage pumps up the speed so as not to annoy kindle owners who side-load stuff onto their kindles... If so, we might be able to increase internal speed as well, by making our own adjustments to the CPU governor (as mentioned above).

Last edited by geekmaster; 05-24-2016 at 07:39 PM.
geekmaster is offline   Reply With Quote