Data doesn't get transferred correctly to USB, why?

Solution 1:

It sounds like (given your description of fast transfers) that it's copying through a buffer but that hasn't been flushed to disk before you unplug it. This is fairly common.

You can force all your system disks to sync with their buffers by running sync. This is a blocking command so you won't be able to type while it's working.

"Safely Eject Device" (or however that's worded) should be running a sync (that's what it means) but if you are using that, it sounds like that isn't working and you should report a bug.

Solution 2:

open your terminal and type as

rsync -avviu /source/path /destination/path/of usb

at the end of transmission it will display the errors if any.

Solution 3:

Run the below command to copy the files via terminal

cp -Ri /path/to/source/folder1 /path/to/destination/folder2/

folder1 - folder consists of files which you are going to copy
folder2 - destination folder in which you are going to paste folder1