Вы можете попробовать обойти кэш системы использую флаг WriteThrough:
MSDN
НО! SSD дает огромную производительность в random read, но не очень дружит с random write.
Да, по сравнению с HDD он будет быстрее, но Вы заплатите продолжительностью его жизни. И вот почему (не гарантирую 100% точности):
- SSD хранит данные блоками по N байт
- если нужно изменить один байт в блоке: вычитывается весь блок в память, изменяется байт, очищается блок на SSD, из памяти блок записывается на SSD
- для повышении производительности и равномерного изнашивания при стирании и записи блока SSD записывает его по новому местоположению
- есть специальная команда TRIM которая дает SSD знать какие блоки уже не используются (были стерты) и могут быть переиспользованы
Соответственно когда Вы принуждаете диск к работе в random write - фактически он оперирует большими блоками, даже если вы пишете по байту.
На Вашем месте я бы положился на кэширование - вычитать все данные, модифицировать, записать на диск.