Xilinx xilfatfs and systemACE speed issue

Hi

I am trying to squeeze some read speed out from CF using systemACE and xilinx standard libraries, but the performance is really really bad

read using xilfats 400KB/s read using systemace low level (direct sector reads) 1MB/s

I have found NO information in any Xilinx documentation what speeds can be excpected to be achived with systemACE

the 400KB/s looks like really miserable :(

i am using the CF card supplied by Xilinx, that is have not yet done testbenching with other better CF cards, but i would like to know if such testing has been done, and if there is hope of BIG speed improvment when using some high-speed CF cards.

if i look at the spec of the CF card supplied by Xilinx it has 2ms controller overhead (command to data ready delay) this would limit access to maximum 500 sector reads commands sent to the CF, but we need to add time for data transfer too, but this could explain the 1MB/ s measured speed

Antti

Reply to
Antti
Loading thread data ...

We've noticed the same thing working with the sysace fs. The problem is the overhead from it is QUITE slow since its missing some essential features like a real seek(). My guess is that we're also seeing slowdown on the SystemACE controller in the FPGA. We're using the OPB- based one from EDK 9.1. IIRC, the sysace_*() use extra locking, etc for each operation that adds overhead to the bus. It probably also depends on what you're doing with the sysace files. We're reading ELF's from CF, and b/c there was no seek() there were tons of extra read()'s just to get to the intended part of the ELF, for loading.

Currently, we're looking at using the dosfs, which I think you pointed a link to a few years back.

-- Mike

Reply to
morphiend

hm dont think there is any help, i just did buy "EXTREME III" CF card with advertised min speed of 20MB/s, to my surprise it did not make any speed improvement at all ! :(

the RAW sector read (no filesystem) is about 1MB/s, and i need 3MB/s as bare minimum.

so using dosfs or any other library will not help as plain raw reads are way too slow.

Antti

Reply to
Antti

Hi Mike

I tried my luck on Xilinx forums and there an Xilinx employee suggested enableing burst mode in xps_sysace! In EDK 9.2 and 10.1 the burst mode is hardcoded to 0 (disabled) and explained as being 0 in the datasheet on page 9.

So while the Xilinx employee answer looked promising... HAA I invented a new word !

XILOTEN

everyone is free to guess the meaning

Antti PS Xilinx sorry, I have been saying that Xilinx systemACE is NOT RECOMMENDED for new designs for years, now I just got another reason why this is so.

Reply to
Antti

Hi: I found your queries every where about SystemAce so I decided to seek your help. I am also stuck in SystemAce and want to simply read and write files from it. The code was working on EDK 8.1 reference design but when I make a separate project no file is created in SystemAce. I also added XILFATFS library in .mss and there were no errors. I will be thankful to any help in this regard. Thanks again

Reply to
UETIAN

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.