Устройства оптического хранения данных

Обработка ошибок DVD

DVD отличаются от обычных компакт-дисков более совершенными кодами коррекции ошибок. Как уже отмечалось, компакт-диски имеют различные уровни коррекции ошибок, которые зависят, в первую очередь, от характера записанных данных (аудио-, видео- или информационные данные). Цифровые универсальные диски, в свою очередь, обрабатывают всю информацию одинаково, применяя полный цикл коррекции ошибок ко всем секторам.

DVD обрабатывает ошибки главным образом в кадрах ЕСС. Для выявления и исправления ошибок в кадры данных были введены биты верхнего (столбец) и нижнего (строка) контроля четности. Несмотря на кажущуюся простоту такого решения оно достаточно эффективно. Информация, находящаяся в кадрах данных, вначале разбивается на 192 строки по 172 байт в каждой. После этого с помощью полиномиального уравнения вычисляются 10 байт контроля четности PI, которые добавляются к каждой строке, увеличивая тем самым их длину до 183 байт. С помощью второго полиномиального уравнения вычисляются 16 байт контроля четности PO, которые, в свою очередь, добавляются к каждому столбцу. Таким образом, при добавлении байтов контроля четности PI и PO объем кадров ЕСС, содержавших вначале 192 строки по 172 байт, увеличивается до 208 строк по 182 байт.

Для того чтобы объяснить функцию байтов верхнего (PO) и нижнего (PI) контроля четности, воспользуемся следующим примером. Рассмотрим два байта, в которых записаны символы “N” и “O” (N = 01001110, О = 01001111). Чтобы ввести код коррекции ошибок, указанные байты организованы в строки, как показано ниже.

Биты данных

Номер                               1    2    3    4    5    6    7    8

Байт 1                                0    1    0    0    1    1    1    0

Байт 2                                0    1    0    0    1    1    1    1

Теперь с помощью функции проверки на нечетность к каждой строке добавляется 1 бит PI. Это значит, что нужно подсчитать количество единичных битов, а затем прибавить бит, имеющий соответствующее значение. Количество единиц в первой строке равно 4, следовательно, для получения нечетной суммы значение бита контроля четности должно быть равно 1. Сумма битов второй строки является нечетными числом, поэтому значение бита контроля четности должно быть равно 0. Посмотрим, что получилось в результате.

Биты данных                                                                   |

Номер                              1    2    3    4    5    6    7    8  |  PI

Байт 1                               0    1    0    0    1    1    1    0  |  1

Байт 2                               0    1    0    0    1    1    1    1  |  0

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

Биты данных                                             |

Номер                              1    2    3    4    5    6    7    8  |  PI

Байт 1                               0    1    0    0    1    1    1    0  |  1

Байт 2                               0    1    0    0    1    1    1    1  |  0

PO                                      1    1    1    1    1    1    1    0  |  1

Теперь код завершен, и дополнительные биты сохранены вместе с данными. Таким образом, к 2 байт данных добавлены еще 11 бит, предназначенных для коррекции ошибок. Во время считывания данных происходят повторное вычисление битов коррекции ошибок и проверка соответствия условиям нечетности. Теперь в качестве примера изменим значение одного из битов данных (тем самым допустим, что произошла ошибка считывания) и повторим вычисление битов коррекции ошибок.

Биты данных                                                                    |

Номер                               1    2    3    4    5    6    7    8  |  PI

Байт 1                                0    1    0    0    1    0    1    0  |  0

Байт 2                                0    1    0    0    1    1    1    1  |  0

PO                                       1    1    1    1    1    0    1    0  |  1

Как видите, изменились значения битов PI и PO, вычисленные после считывания данных. В частности, это относится к значениям бита PI в строке 1 и бита PO в столбце 6. Это позволяет точно определить строку и столбец, в которых была совершена ошибка. В данном случае это байт 1 (строка 1), бит 6 (столбец 6). Теперь известно, что этот бит был по ошибке прочитан как 0, поэтому его необходимо изменить на 1. Перед тем как передать данные в систему, схема коррекции ошибок исправляет ошибочное значение. Таким образом, код коррекции ошибок благодаря некоторым дополнительным данным, введенным в каждую строку и столбец, может “на лету” выявлять и исправлять ошибки.

Помимо организации кадров ЕСС, в DVD также выполняется шифрование данных с помощью технологии сдвига разрядов и чередования частей кадров ЕСС во время их записи на диск. Эти схемы предназначены для непоследовательного сохранения данных на дисках, что позволяет избежать их повреждения при загрязнении или появлении царапин.

Яндекс.Метрика