How many times can data be read from a USB flash drive?

Solution 1:

There is, for practical purposes, no read limit. There really isn't a write limit either, it's an erase limit. (And, if you've previously written to a block, you need to erase it to write new data to it.)

Solution 2:

It isn't so simple to answer. When you write a file, new blocks are being written. The used blocks are marked as "dirty". So, if you wrote a 10KB file on a 1MB device, it is likely that the 10 KB file will be written all across the blocks in the 1MB device. Only when there are no more "clean" blocks, the flash controller will likely then erase "dirty" blocks.

Your flash drive will last significantly longer than 100,000 writes of the 10K file on a 1MB device.

Solution 3:

Gaging the life of a flash drive (SSD or USB) is not as simple as stating a number or Mean time between failure (MTBF). As the issue with failure is not liner.

Hard Drives (Magnetic media) experience failures related to the (1)controller circuit board (2)the read write heads of the drive (3) Bearing Fatigue, but rarely the media its self.

Random Access Memory Drives, often called flash drives, expire because blocks of memory can only be erased/written X many times before the block will completely fail. Engineers of "flash ram" drives improve this loss by "Leveling" the use of blocks. Basically they spread the eventual loss across all of the blocks available, reducing the over use on any one block.

Here is an article on what researchers testing various flash-ram drive assemblies discovered. And as I stated earlier ... It depends on some key data and manufacturing approach.

The final word, just have an end date in mind for either your Magnetic Media drive or your RAM drive, as both are eventually going to fail. Conduct more frequent backups as the days, months, and years start to pile up.

http://www.zdnet.com/article/usb-drive-life-fact-or-fiction/

Solution 4:

David Schwartz's answer covers all "practical purposes". This answer will focus on the "impractical purposes". There is a theoretical exception to the rule of unlimited reads, but it has a simple solution.

There is a lifetime limit on writing to flash memory, but reading also affects it. One of its weaknesses is what is called "read disturb errors" 1 Reading flash memory slightly degrades surrounding stored values, which can eventually lead to errors.

The errors are avoided by the controller keeping track of the number of reads, and copying blocks before the degradation becomes a problem. Simply copying the block to somewhere else and then erasing the original block resets everything, and the original block can be used again. Source

The rule of thumb for MLC is 100,000 reads; for SLC it's 1,000,000 reads 2 (Multi-Level Cell, or MLC, and Single-Level Cell, or SLC, are two type of flash memory). So under "normal" usage, these thresholds might not even be a problem that the controller needs to handle.

Which brings us to the impractical scenario. Suppose you were using flash memory for a purpose like in this question (write once and then read massively over a long time). As long as there is at least one free block, the controller can play musical chairs with the data. However, if you were to fill every last block with data, you could eventually reach a point where the controller has no way to avoid read disturb errors.

In this far-fetched case, the controller would likely avoid corruption by freezing the card or flash drive, so there would be no cost-effective way to read it. At the usage levels described in this question, that could happen within a few months or years, depending on the type of flash memory.

Of course, that could be handled by just having a backup drive, given how cheap they are and the fact that you haven't written any new data. Or, you could ensure that you leave at least a small amount of free space.


Note: Both of the following sources are direct download links; a PDF file will download as soon as you click on it.
1http://users.ece.cmu.edu/~omutlu/pub/flash-read-disturb-errors_dsn15.pdf
2http://www.dslreports.com/r0/download/1507743~59e7b9dda2c0e0a0f7ff119a7611c641/flash_mem_summit_jcooke_inconvenient_truths_nand.pdf