You also have to take into account the nature of the data you are writing. Writes to a flash-based disk have (at least) two steps: 1) Receiving the data to the drive's buffer RAM (limited by bus speed) and 2) Writing the data from RAM to FLASH (limited by write cycle time).
Usually receiving the data is very fast unless your machine or USB bus is very busy with other things -- MB/Sec is typically very large. However, actually writing each transfer inside the chip takes a fixed amount of time, so if you are writing thousands of small files vs one large file, the large file transfer is largely bound by bus speed and drive RAM buffer size, but the small files will be largely bound by flash cycle time.
As a test, try writing, say, 1GB of a large file (say, a zip of some large folder) vs the same amount of data in small files. You will likely see a huge difference.
I also understand that some USB flash drives would automatically run a driver installation, would that show?
Not really. What happens is that because they comply to a standard specification, Windows can, and does load generic storage and volume drivers for them. It does this whenever you plug in a new drive where “new” means a combination of drive and USB port (i.e., plugging a drive into two different ports causes Windows to detect it as new and (re)-load the drivers twice).
Is there any method by which I can track down a list of flash drives that my laptop has accessed - namely their brand name, capacity and/or the name of the USB flash drive itself?
Does my Windows 7 computer create history logs of the flash drives that have been plugged in? If so, what other information would this log contain?
Not as such. There is no log of drives, mostly because there is no actual data about the drives. The drive does contain firmware which usually contains some metadata about it, but there is nothing stopping a manufacturer from putting very little, generic, or even incorrect data in the drive’s firmware.
That said, the Windows registry does retain some pseudo-unique information about peripherals for the purposes of detecting new devices so that it knows whether or not it has drivers for it. The most useful data would be located in the key HKLM\SYSTEM\CurrentControlSet\Enum\STORAGE\Volume
. It will contain the device-IDs of each known storage device that has been attached to the system.
You can review the data manually, but a better way would be to use a program that interprets the data and displays them in a more human-readable way such as DevManView or USBDeview.
However, as I said, there is no reason that someone who wants to sneak data couldn’t just use a drive that has generic, blank, or fraudulent data embedded (or just wipe the data from the registry afterwards). In addition, the data may not be completely unique. For example, if you plug a new flash-drive into the system and wait for Windows to install the drivers, then eject it and plug in a different, but identical drive, you may very well notice that Windows does not load new drivers because its “fingerprint” matches.
In the future, you can use USBLogView. It won’t help with past USB-drive activity, but it will log future activity.
Best Answer
I'd recommend running test disk over it to see if you can recover the partition table I linked to some instructions for it in this question Partition table corrupted (USB flash drive)