Flash does lose charge over time.
In order to recharge the transistors, do I need to actually read the data like on HDDs, or does the storage just need electrical power supply?
Nope, you would need to read all the data and rewrite it to refresh the charge inside the gates of the flash transistors. Bits are stored as electrons (ie, charge) injected inside a microscopic insulated bit of metal. The bits stay there because the electrons are trapped inside a tiny piece of metal which is insulated from everything, so the electrons can't escape. You suggest twiddling with the power supply voltage, but this has no influence on the bits, by design.
Flash storage data retention time is determined by stored electrons leaking out, which depends on heat and radiation. It also depends on how many electrons were in there to begin with (ie, storage density) and flash architecture (multi level cell vs single level, NOR vs NAND, etc).
Where data retention is crucial (ie, in a microcontroller for example, if it forgets its code it is dead) you get low density NOR flash. TI provides some data retention info on page 5 of this appnote which is informative. NOR flash allows random access, so it can't use nifty cheats like block error correction codes.
As for USB keys, SD cards, etc, there is an arms race towards more density at cheaper price, and the fact these are accessed per block and not in a random fashion enables useful things like error correction codes, bad block remapping, etc. This is handled by a microcontroller inside the SD card or USB key.
I've found some data retention info online, it should be between 1 and 10 years for a SD card depending on the number of writes. Writing a flash cell is a bit of a traumatic process for the oxide layer, so a high number of writes makes the cell more leaky.
So, there is actually no reason (besides power saving) why the microcontroller wouldn't be able to periodically read the data and rewrite the sectors that begin to rot. There does seem to be a SD card which refreshes itself and rewrites the data to increase data retention when needed. A bit expensive though.
You can do it manually, but I'm not sure it would be a good idea. Perhaps copy the data from one storage media onto another... like... you know... a backup!
The most probable cause of data loss for a USB key isn't flash death anyway, rather:
- misplaced or lost somewhere
- FAT32 filesystem issues
- ripped connectors and the like
So... RAID array + backups!