Вы используете Windows XP, в которой предполагается, что диски имеют 512 байт секторов, а файлы передаются кусками по 512 байт.
Однако это не относится к современным дискам. Многие современные жесткие диски используют внутренние сектора размером 4 КБ. Если вы записываете только 512 байт в сектор размером 4096 байт (4 КБ), накопителю потребуется прочитать все 4 КБ, изменить 512 байт и переписать его.
Это много накладных расходов. (как вы можете видеть ниже)
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
С твердотельными накопителями это еще хуже.
SSD не могут записывать в уже используемый сектор. У них есть только три варианта:
- Найдите пустую, полностью неиспользованную часть и запишите в нее большой (в основном пустой) блок.
- Прочитайте некоторые данные и напишите более полный блок, помечая старые данные как неиспользуемые.
- Протрите часть SSD. Обычно кусками по крайней мере 1 МБ. (Привет накладные расходы)
Графически объяснил:
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
Скорость все равно будет высокой, но в итоге у вас кончатся пустые сектора. Когда это произойдет:
Первый сектор меняется:
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
Поскольку диск не мог записать в первый сектор, он считал все данные.
Затем он пометил старые сектора как не соответствующие (но не пустые) и записал их в новую чистую ячейку.
Старая ячейка остается с неиспользованными данными. Его можно удалить (вернуться к [пустому]), но обычно это можно сделать только с группами ячеек по 1 МБ или 2 МБ, что занимает много времени.
Это означает, что:
- Либо диск делает это, когда он простаивает (верно для некоторых дисков)
- Или через некоторое время пишет очень медленно.
Современная ОС знает о природе SSD и делает несколько вещей, чтобы помочь ей (посмотрите TRIM), а Windows XP - нет.
Это была первая причина, по которой дела шли медленнее с SSD и XP.
Есть второй пункт, который также замедляет ход событий. NTFS (используется по умолчанию в Windows XP) имеет размер сектора 4 КБ для своей файловой системы.
Если это совпадает с ячейками на диске, то все не в порядке. Если это не так, вы получаете двойные проблемы.
Unaligned example
4KB of data in a NTFS part: [DATA] [DATA] [DATA] [DATA]
Cells on the drive: [empty][empty][empty][empty] [empty][empty][empty][empty]
Заметили перекрытие записи NTFS и двух ячеек SSD? Нехорошо.
Интеллектуальное разбиение может помочь с этим, но вы делаете это во время установки XP, и вы должны вручную выбрать правильные значения.