answered
2014-02-07 19:22:04 +0200
It seems that they're using separate data buses.
First test, both internal flash and SD-card.
dd if=/dev/zero of=/home/nemo/Documents/zero.iso bs=512k count=20 oflag=dsync & dd if=/dev/zero of=/run/user/100000/media/sdcard/zero.iso bs=512k count=20 oflag=dsync
10 round average = ~14,48 MB/s for the internal flash
and simultaneously run test
10 round average = ~3,72 MB/s for the SD-card
Second test, internal flash only.
dd if=/dev/zero of=/home/nemo/Documents/zero.iso bs=512k count=20 oflag=dsync
10 round average = ~12,28 MB/s for the internal flash
Third test, SD-card only.
dd if=/dev/zero of=/run/user/100000/media/sdcard/zero.iso bs=512k count=20 oflag=dsync
10 round average = ~3,68 MB/s for the SD-card
All tests were run in turns so that first I ran test one, two and three, then again 1-2-3 until I had ten test results for each test. I even verified that both dd's ran simultaneously on test one by running them with time(testsline) and time reported almost exactly the same time as the longer dd reported, so the faster dd was run simultaneously.
I apologize for the small test size but I believe this gives answer to the question.
Have not tried it, but a simple "dd" test should be able to tell. If you can get i higher combined rate dd:ing from both devices than from either one by itself it should mean that you can improve performance by using both simultaneously.
sunkan ( 2014-02-06 23:04:55 +0200 )editIts hard to tell by a dd, there are so many software-side things, locks, caches and buffers that could make a test like that go wrong (either faster or slower). What I am hoping for is a clear answer from someone that knows how the hardware is actually built. Then we would at least know what is theoretically possible.
00prometheus ( 2014-02-07 01:47:31 +0200 )edit