защита от повреждения данных с использованием зеркалирования данных - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу реализовать зеркалирование данных, чтобы избежать повреждения данных в оперативной памяти.

Я нашел полезную статью на эту тему: https://betterembsw.blogspot.com/2014/05/mitigating-data-corruption.html

Теперь я начинаю реализовывать ту же стратегию, которая описана в ссылке выше:

Для глобальных данныхМне понятно, как действовать, создав 2 структуры: первая содержит все глобальные данные, а другая содержит те же данные, но инвертированные.Эти структуры должны быть объявлены в 2 разных разделах.

Но для локальных данных и статических локальных данных у меня нет четкого представления, как действовать дальше.Если я создаю 2 структуры внутри функции, так же, как глобальные данные, то как я могу выбрать их секции внутри стека?

Есть ли у вас какие-либо идеи, как реализовать зеркальное отображение данных для локальных данных и статических локальных данных?

1 Ответ

0 голосов
/ 24 декабря 2018

Зачем вам это нужно?

Если вам это нужно, вам понадобится аппаратная поддержка или компилятор, который реализует стратегию, или и то, и другое, потому что каждая запись требует действия зеркалирования, а каждое чтение требует действия проверки.

Зеркальное отражение, описанное в статье, на которую вы ссылаетесь, не способно обнаруживать «переворачивание битов», или, если быть более точным, оно не может найти , у которого копия немного перевернута, если толькоВы также используете механизм обнаружения ошибок на оригинале и зеркале.Например, небольшой переворот из-за жары или космического луча может поразить любую вашу копию.Это снова приводит к аппаратному обеспечению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...