There is a buffer that contains very fast memory that the drive can write on to. The buffer is made of volatile memory that’s very fast to read and write from, but is cleared when power is removed; once that buffer is filled you can only write to it as fast as the persistent memory on the drive allows you to.
It depends on the type of file(s) and what else your computer is doing while the file is being transferred. A single large file will transfer faster than several smaller files that total the same amount of storage for example just due to the processes that take place between each file transfer. The first parts of the transfer may also be just copying metadata or pointers, which are practically nothing thus move quickly while the actual data takes significantly longer.
Additionally, if your computer is doing anything else, it may intermittently slow down a file transfer while those other tasks run.
First the OS is filling the buffer by reading the data as fast as possible – and makes it look like it’s the speed of data transfer. But if the writes to the target drive can’t be performed as fast, the OS will also slow down the reads accordingly – and you’ll see the actual speed of the transfer. On SSDs and thumb drives writes are often slower than reads, while SSDs are usually faster than HDDs.
Oversimplified:
Imagine you’re transcribing a recorded speech by hand. You would not write each letter (err sound) as you hear it – you would write (most likely) each sentence/paragraph at a time. The transcription process consists of hearing and writing – in that order.
The progress on completing a sentence would be largely consumed by the writing – but the progress ‘bar’ (metaphorically) would begin at the moment you began listening to the sentence, and end once you finished writing the sentence. The speed with which the progress bar would move would be incredibly fast at the beginning (hearing) but then would slow down when you began writing the sentence.
So, in this analogy –
You: Computer
Speech: Data for copy job (USB)
Listening: speedy initial progress on copy job
Writing: slowdown on progress
Transcription: copy job
Imagine a large pipe with water flowing into a bucket, then a smaller tube from the bucket into your bathtub.
The water flowing into the bucket is the data from your computer, the bucket is the buffer, a small amount of high speed memory, and the water flowing from the bucket to the bathtub is the data moving from the buffer to long term storage.
Once the bucket fills up the first pipe has to slow the flow of water or else your buffer will overflow and you loose data
A standard USB drive has a small buffer, usually only a few megabits to a couple gigs on high end drives. This speeds up small quick transfers. Then the controller moves them to the slower long term storage
Why not have all the memory be the high speed buffer? High speed memory is more likely to have errors, often times is volatile( loses data when is loses power) and or expensive. Once the data is committed to long term memory windows will check the data to ensure it matches.
This is why you should eject your removable drives before you disconnect so that windows can make sure everything is in long term memory and nothing will be lost
Latest Answers