dvdisaster Версия 0.72 | К интернет-версии

Содержание

Новости
Обзор
Howto's
· | Общая картина
| - | исправление ошибок
| - | правильное использование
| - | неправильное использование
· | Поиск ошибок на носителях
· | Размещение данных для исправления ошибок в отдельном файле
· | Размещение данных для исправления ошибок на носителе
· | Восстановление образов носителей
· | Получение информации об образах и данных для исправления ошибок
· | Проверка совместимости образов
· | Диалоги и кнопки
Скачать
Вопросы и ответы
Сообщения об ошибках

### Идея, лежащая в основе исправления ошибок

Из примера на предыдущей странице мы знаем, как dvdisaster воссоздает данные, используя всё еще читаемые части носителя в совокупности с данными для исправления ошибок.

Чтобы получить максимум отдачи от dvdisaster, полезно понимать основы метода исправления ошибок. Пользуясь случаем, мы можем опровергнуть неправильное предположение, которое можно то и дело услышать - данные для исправления ошибок не являются просто копией последних 20% секторов носителя. Это был бы и в самом деле дешевый трюк ;-)

80% |  | 20% |

Пример: Пин-код для ящика письменного стола Анны

У Анны есть стол, в котором ящики открываются, только если ввести в кодовый замок числа "8 6 2 3". Поскольку в этих ящиках нет какой-либо деликатной информации, она решает записать числа прямо на поверхности стола:

Анна предусмотрительна и предполагает, что одно из чисел станет нечитаемым, если на него случайно капнут чернила. Поэтому она записывает также и сумму этих четырех чисел ("+" и "=" - добавлены только для ясности):

Через какое-то время на числа, действительно, попало чернильное пятно:

Но это не проблема, раз Анна может вновь вычислить недостающее число x, переписав все еще читаемые части уравнения:

8 + x + 2 + 3 = 19, отсюда

x = 19 - 8 - 2 - 3, и, следовательно, x = 6.

Легко видеть, что любое из первоначальных пяти чисел может быть восстановлено по оставшимся четырем. Этот пример также демонстрирует некоторые важные свойства исправления ошибок:

|  | Для данного набора данных (например, числа "8 6 2 3") дополнительные данные для исправления ошибок (например, сумма "19") могут быть созданы таким образом, что потерянное данное может быть вновь рассчитано по оставшимся данным. Такой же принцип используется в dvdisaster; защищаемая последовательность чисел есть ничто иное, как ISO-образ CD, DVD или BD.

Концепция избыточности может быть объяснена следующим образом:

- Одно "число для исправления ошибок" рассчитывается для четырех входных чисел. 1 из 4 (или 1/4) соответствует избыточности в 25%.
- По одному числу для исправления ошибок мы можем вновь рассчитать точно одно недостающее число, или самое большее 25% данных. Избыточность эквивалентна максимальной возможности исправления ошибок.
- Дополнительное место, требуемое для размещения данных для исправления ошибок, также определяется избыточностью (25% в примере).

В dvdisaster понятие избыточности используется соответствующим образом. Кроме того, обратите внимание, что

- никакие данные не могут быть восстановлены, когда потеря данных превышает избыточность (уравнение в примере нельзя решить для двух и более неизвестных).
- данные для исправления ошибок должны быть рассчитаны тогда, когда все данные еще присутствуют / читаются.

Приведенный выше пример не обобщается на схему исправления ошибок для восстановления более одного недостающего значения данных. Чтобы сделать это, требуется более мощная система уравнений, которая может быть решена для более чем одного недостающего значения. dvdisaster использует код Рида-Соломона, у которого есть такие качества; однако необходимая для этого математика не преподается в школе. Поэтому заинтересованные читатели отсылаются к соответствующим книгам по теории кодирования.

Старая документация (V0.70)

Copyright 2007-2009 Igor Gorbounov. Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется.