We are using Cypress FX3S based USB 3.0 Dongle.
This board has two SD card sockets along with a USB 3.0 Interface to Host for Mass Storage Class for both SD cards.
I am using two 32GB Samsung MicroSD cards with SD Adaptor.
CardA: 32GB Samsung Class 10 MicroSD with SD Adaptor.
CardB: 32GB Samsung EVO plus Class 10 (U1) MicroSD with SD Adaptor. (Write upto 20MB/s and Read upto 80 MB/s specified in the product).
The Application will do copy files from Card A to Card B using FatFS APIs. (using http://elm-chan.org/fsw/ff/00index_e.html module)
When I run the Application in FX3S dongle, I am seeing Seq Read Throughput Not reaching maximum
as specified in the uSD card make.
I tested in both DDR50 and SDR50 modes, in both modes I am getting below results.
When I am using card B, but getting only 25MB/s Seq read throughput. I need upto 40MB/s
When I am using card A, but getting only 20MB/s Seq read throughput. I need upto 30MB/s
I tested the same in CrystalDiskMark 6.0.2 Tool. getting the same less throughput result.
I initialized the FX3S SD's, its GPIO and run FATFS copy application.
I formatted two uSD as FAT32 with 32KB Cluster Size.
I am using 32KB DMA buffer for FATFS read/write buffer in FX3S application.
"copy_file_simple()" function is adapted from http://elm-chan.org/fsw/ff/00index_e.html module application.
Application will do Coping FAT32 FS files from CardA to CardB.
Also I am doing Read Only Test in both uSD cards,
CardA : BENCHMARK READ SD0:(256MB BLEN=32KB): 14925 Ticks(ms) -> 18 MB/s , But (my uSD card supports)I need upto 30MB/s
CardB : BENCHMARK READ SD1:(256MB BLEN=32KB): 10811 Ticks(ms) -> 25 MB/s , But (my uSD card supports)I need upto 40MB/s
Also I need improved SD Write Maximum Speed/Throughput.
How can I get increased SD Read & Write Throughput using FATFS and USB3.0-MassStorageClass Applications.
Note : Please find the application output log attached with this.
Please find the application copy status like this below:
Copy from CardA to CardB:
393479623 Bytes written in 40041 Ticks(ms)
Copy Time: 38913 Ticks(ms)
Read Time(ms): 21793 Write Time(ms): 15834
Read Speed: 17631(KB/s) Write Speed: 24267(KB/s)
Copy Speed: 9595 KB/s
1 Files Matched
31 Files Written
Copy Files (proj) Completed!!!
Copy from CardB to CardA:
812910573 Bytes written in 84790 Ticks(ms)
Copy Time: 83366 Ticks(ms)
Read Time(ms): 35304 Write Time(ms): 46140
Read Speed: 22486(KB/s) Write Speed: 17205(KB/s)
Copy Speed: 9362 KB/s
1 Files Matched
42 Files Written
Copy Files Completed!!!