SSD Copy gets slower and slower with large files
I have a OCZ SSD drive, and I was duplicating a 16GB VM on the drive and noticed when I started the copy it was working at approximately 180MB/s, by then end of the copy this had dropped to approximately 80MB/s.
I'm aware that multiple files can cause a slowdown, so I then tested with duplicating a single 14GB file, again, the copy rate started at approximately 180MB/S and gradually dropped to approximately 80MB/s by the end of the copy.
I was wondering why this is, and if anything can be done about it?
Many thanks
If you use windows and you have some unused memory then this is normal.
Files will be read at the maximum speed possible, filling buffers.
Simultaneous these buffers will be written to their destination.
Since writing is usually slower then reading speed indicator in windows starts out very high, then slowly settles down to the speed at which the data can be written.
Try this:
- Add an external drive.
- Start taskmanager and select a pane to see how much RAM is used.
- Select a large amount of data in the main drive and copy this to the external drive (you will see the LEDs light up indicating it it busy. Windows speed indicating will very very hight).
- Read speed will start high. Free RAM will drop rapidly as buffers are filled.
- After a while the main disk finished reading all the data it needs. (see LEDs), the external drive it still writing. Buffers will get flushed (see RAM monitoring).
I assume this caused by the way your SSD works.
There are three possibilities:
Your SSD writes most of the data into an internal RAM buffer so that writing starts fast but after a time the buffer is full and you see the true write speed.
Your SSD uses a SandForce controller that compresses data internally. If the compressability (maximum reduction by compression) of the data changes the write speed changes accordingly.
SSDs internally perform wear-leveling redirecting every block to different chips and blocks on that chip. The more data you have on your SSD the more complex this algorithm gets and therefore more time it needs for computing the next block.