@Jan axelson :
I already had a look into the post you linked there, and indeed, the problem is that the device NAKs transfers....but for like 450ms. This seems pretty long to me, and I'm not sure this is due to the USB stick itself. I'd like to confirm this is a valid scenario, and not a problem inside the stack that makes the device NAKing for wierd reasons.
@Barry Twycross :
If I use a windows host, and make a simple copy/paste of a 1MB file, the total copy time is like 400ms. If I create the file using my own host, the copy lasts for the time it lasts, (it can't be the same, since my interface is full speed, it is necessary longer. Moreover, windows is making a better use of the bandwidth, using 64k per bulk write, while I'm using 4k), but I can see that the USB stick is NAKing for 450ms something like 3 times. I wrote the same amount on data, probably in the same adresses (I format the USB stick every time I want to make some measurements, to be in the same environment, and the FAT data seem to be the same, so the sectors I'm writing in are the same).
So for the exact same data, windows is writing the file in LESS time than the USB stick is sending NAKs when using my host.