Предотвращение повреждения памяти во время записи с отключением питания - PullRequest
0 голосов
/ 07 января 2019

У меня есть система, которая запускает Windows через USB-накопитель (это проприетарная машина). Этот тип машины обычно отключается от сети. Обойти это невозможно, вот как это работает.

Иногда на USB-накопителе происходит повреждение диска или, по крайней мере, повреждение каталога, в который мы записываем данные. Есть ли какое-нибудь программное решение для решения этой проблемы, кроме как «писать как можно меньше / реже»?

Это Windows-машина, и приложения, которые пишут, обычно пишутся на Java / C #, если это кому-нибудь пригодится. Повреждение обычно отображается как каталог записи или родительский элемент каталога записи, к которому больше нельзя получить доступ из-за повреждения. Единственный способ справиться с этим - удалить его из командной строки и начать заново.

Есть ли способ программно справиться с таким сценарием, возможно, чтобы восстановить предыдущее состояние памяти, а не удалять и запускать заново?

1 Ответ

0 голосов
/ 07 января 2019

Я не чувствую, что есть какой-то способ предотвратить подобные вещи, учитывая наш текущий дизайн. Если вы делаете достаточно писем и продолжаете тянуть штепсель, вы в конечном итоге получите коррупцию, и это только факты. Особенно в этом дизайне. Даже если резервные батареи заряжены, если программное обеспечение не завершает работу корректно в течение времени разряда батареи, все равно могут произойти повреждения. Не говоря уже о том, что гравитмикс сказал выше, что он в конечном итоге повредит аппаратное обеспечение, которое мы видели раньше.

Редизайн системы должен быть рассмотрен для этого проекта в целом. Сразу же возникает какое-то сетевое решение, когда данные отправляются с энергозависимой машины для регистрации на машине с более надежным источником питания по надежному сетевому соединению с записью на диск на реальной энергозависимой машине в качестве последней попытки, если сетевые соединения не являются надежными в данный момент времени (обратная засыпка). Я чувствую, что это также увеличит срок службы оборудования. Конечно, проблема надежности сети становится вашей проблемой.

...