You use windows XP which assumed drives have 512 bytes sectors and which transfers files in chunks of 512 bytes.
However this is no longer the case with modern drives. Many modern harddrives use internal sector sizes of 4KB. If you only write 512 bytes to a 4096 bytes (4KB) sector the drive will need to read all 4K, change the 512 bytes, and rewrite it.
That is a lot of overhead. (as you can see below)
OLD DATA - OLD DATA-OLD DATA-OLD DATA-OLD DATA-OLD DATA-OLD DATA-OLD DATA
NEW DATA - OLD DATA-OLD DATA-OLD DATA-OLD DATA-OLD DATA-OLD DATA-OLD DATA
With SSDs it is even worse.
SSDs can not write to an already used sector. They only have three options:
- Find an empty, completely unused part and write a large (mostly empty) block to that.
- Read some data and write a fuller block, marking old data as unused.
- Wipe a part of the SSD. Usually in chunks of at least 1MB. (Hello overhead)
Graphically explained:
State before: [empty][empty][empty][empty] [empty][empty][empty][empty]
Single write: [data] [empty][empty][empty] [empty][empty][empty][empty]
\ / \ /
------------------------- --------------------------
Flash 'sector' on disk Next cell
Speed would still be high, but you will eventually run out of empty sectors. When that happens:
First sector gets changed:
State before: [used][used][used][used][used] [empty][empty][empty][empty]
State after: [old] [old] [old ][old ][old] [DATA] [used] [used] [used]
\ / \ /
------------------------- --------------------------
Flash 'sector' on disk Next cell
Because the drive could not write to the first sector it read all of the data.
It then marked the old sectors as no longer being relevant (but not empty) and wrote to a new clean cell.
The old cell is left with unused data. It can be erased (back to [empty]), but that typically can only be done with groups of 1MB or 2MB worth of cells and takes a long time.
That means that:
- Either the drive does this when it is idle (true for some drives)
- Or after a while writes get real slow.
A modern OS is aware of the nature of SSDs and does a few things to help it (look up TRIM), Windows XP is not.
That was the first reason things would get slow with SSDs and XP.
There is a second item which also slows things down. NTFS (used as default by windows XP) has a 4KB sector size for its filesystem.
If that is aligned with the cells on the drive then things are not fine. If it is not then you get double the problems.
Unaligned example
4KB of data in a NTFS part: [DATA] [DATA] [DATA] [DATA]
Cells on the dribe : [empty][empty][empty][empty] [empty][empty][empty][empty]
Notice the overlap of the NTFS write and two of the SSDs cells? Not good.
Smart partitioning can help with this, but you do that during installation of XP, and you must manually select good values.