Есть ли плохой способ чтения и записи на жесткий диск?
Я пишу дисковую утилиту для Windows, которая просто использует CreateFile для открытия физических дисков и чтения и записи на них. В настоящее время я пытаюсь реализовать функцию тестирования, которая будет тщательно проверять диск на согласованность. Я написал функцию, которая открывала бы диск для чтения и записи, записи 10 мг данных (в одном вызове WriteFile), поиска в начале, где был записан этот 10 мг (используя SetFilePointer), а затем считал его обратно (также в одном вызове ReadFile) проверить, что чтение соответствует записанному, затем перейти к следующим 10 мегабайтам и т. Д. Проблема заключается в том, что на двух (старых) жестких дисках, на которых я это пробовал, процесс в конечном итоге завершается сбоем примерно через 5 минут (все идет нормально, тогда диск будет просто отключитесь от системы или вообще удалите ее, требуя перезагрузки) Оба этих диска проходят тесты WD Diag.
Мне интересно, можно ли просто "напрячь" диск за пределы проектных пределов.
Поэтому мой вопрос заключается в следующем: сможете ли вы выполнить любую комбинацию операций чтения, записи, поиска на диске в хорошем состоянии, без сбоев? (Я знаю, что вы должны читать / писать кратно 512, и, очевидно, все накопители имеют ограниченный срок службы и в конечном итоге выйдут из строя, но, безусловно, должны работать не менее нескольких часов)