PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

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

Оптические технологии на основе компакт-дисков

Обработка ошибок чтения

При разработке стандарта компакт-дисков Red Book основное внимание было уделено обработке ошибок. Для уменьшения влияния возможных ошибок в компакт-дисках используются методы контроля четности и чередования, получившие название перемежающего кода Рида–Соломона (CIRC). Эта технология работает на уровне блоков (кадров). При сохранении информации 24 байт данных каждого блока сначала обрабатываются шифратором Рида– Соломона, создающим 4-байтовый код контроля четности (так называемый Q-контроль четности), который добавляется к исходным 24 байт данных. Полученные в результате этой операции 28 байт передаются второму шифратору, использующему другую схему, который, в свою очередь, создает дополнительный 4-байтовый код контроля четности (Р-контроль четности). Этот код добавляется к 28 байт, полученным при предыдущем кодировании, что составляет 32 байт (24 исходных байта данных плюс байты Q- и P-контроля четности). Затем вводится дополнительный подкодовый байт данных (информация о дорожке), в результате чего получается 33 байт для каждого блока. Следует отметить, что байты P- и Q-контроля четности не имеют никакого отношения к ранее упомянутым подкодам P и Q.

Для того чтобы минимизировать влияние царапин или физических дефектов, которые могут привести к повреждению смежных блоков, непосредственно перед записью блоков проводится несколько операций чередования. С помощью линий задержки осуществляется перекрестное чередование 109 блоков, т.е. эти блоки располагаются в различных кадрах и секторах. Такой подход снижает вероятность воздействия царапин и дефектов на смежные данные, так как запись данных осуществляется, по сути, непоследовательно.

Схема CIRC, используемая в музыкальных компакт-дисках и дисках данных CD-ROM, позволяет исправлять ошибки длиной до 3874 бит, что составляет 2,6 мм длины дорожки. Кроме того, с помощью метода интерполяции можно исправлять ошибки длиной до 13282 бит (или 8,9 мм по длине дорожки). Интерполяция представляет собой процесс приблизительного вычисления или усреднения данных, позволяющий восстановить отсутствующие данные. Этот метод, конечно, не годится для компьютерных дисков CD-ROM, поэтому он применяется только в музыкальных компакт-дисках. Стандарт компакт-дисков Red Book определяет частоту блоков с ошибками (BLER) как отношение количества блоков с какими-либо ошибками (98 блоков в каждом секторе) ко времени их считывания, выраженному в секундах. Необходимо, чтобы полученное значение не превышало 220. Если это условие соблюдается, то компакт-диск, содержащий до 3% блоков с ошибками, все еще будет работоспособен.

Для музыкальных проигрывателей компакт-дисков и накопителей CD-ROM характерно наличие дополнительного уровня обнаружения ошибок и схемы коррекции. Музыкальные проигрыватели преобразуют цифровые данные, хранящиеся на компакт-диске, в аналоговые сигналы, обрабатываемые стереофоническим усилителем. При использовании этой схемы некоторая неточность воспроизведения данных вполне допустима, так как человеческое ухо просто не в состоянии это услышать. В свою очередь, накопители CD-ROM не могут допустить какую-либо ошибку, так как каждый бит данных должен считываться предельно точно. Поэтому CD-ROM, наряду с основными данными, содержат большой объем дополнительной информации ЕСС. Код коррекции ошибок (ЕСС) позволяет выявлять и исправлять большинство мелких ошибок, повышая тем самым надежность и точность обработки данных до приемлемого уровня.

При воспроизведении музыкального компакт-диска отсутствующие данные могут быть интерполированы, т.е. существует определенный шаблон данных, позволяющий “угадать” отсутствующие значения. Например, если три значения данных музыкального компактдиска выражены серией последовательных чисел 10, 13 и 20, а среднее значение из-за повреждения или загрязнения поверхности диска пропущено, то его можно с достаточной степенью точности определить как 15, т.е. среднее арифметическое чисел 10 и 20. Хотя значение восстановлено неточно, слушатель может не заметить этой погрешности при воспроизведении звуковой записи. Если же аналогичные значения будут на CD-ROM в исполняемой программе, то определить правильное значение средней выборки просто невозможно. Метод интерполяции здесь не применим, так как команды или данные исполняемой программы должны быть безошибочными; в противном случае произойдет повреждение приложения или неверное считывание данных, необходимых для выполнения вычислений. Использовать ранее описанный метод при считывании исполняемой программы с CD-ROM практически невозможно.

Наряду с основными данными, CD-ROM содержит дополнительную информацию, введенную в каждый сектор и применяемую для выявления и исправления ошибок, а также для более точного определения секторов данных. Для этого из 2352 байт каждого сектора, используемых первоначально для хранения звуковых данных, 304 байт применяются для синхронизации (синхронизирующие биты), идентификации (биты идентификации), кода коррекции ошибок (ЕСС), обнаружения и исправления ошибок (EDC). Фактически в каждом секторе остается 2048 байт пользовательских данных. За одну секунду на стандартном устройстве (1х) считывается 75 секторов, поэтому базовая скорость считывания данных с CD-ROM достигает 2048 × 75 = 153600 байт/с, что составляет 153,6 Кбайт/с, или 150 Кибайт/с.


Примечание!

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

Емкость компакт-диска

Максимальный объем данных, содержащихся на стандартном компакт-диске, считывается в течение 74 мин., причем за каждую секунду обрабатывается 75 блоков по 2048 байт. Это позволяет вычислить абсолютную максимальную емкость CD-ROM, которая составляет 681984000 байт — 682 Мбайт, или 650 мебибайт. Структура и расположение секторов CD-ROM, используемых для хранения данных, представлены в таблице ниже.

Приведенная в таблице информация представлена в соответствии с условием, что данные сохранены в формате Mode 1, который используется фактически во всех дисках данных. Более подробно о форматах Mode 1/Mode 2 можно узнать далее.

Итак, из 3234 байт, существующих в каждом секторе, только 2048 байт фактически являются пользовательскими данными CD-ROM. Большая часть из оставшихся 1186 байт используется при обнаружении и исправлении ошибок, что гарантирует безотказную работу системы.

Кодирование данных на диске

Теперь разберемся в завершающей части процесса записи данных на компакт-диск. После того как все 98 блоков скомпонованы в один сектор (звуковой или сектор данных), начинается заключительный процесс кодирования информации, получивший название EFMмодуляция, т.е. процесс преобразования каждого байта (8 бит) в 14-разрядное значение. Эти 14-разрядные коды преобразования разработаны таким образом, что не могут содержать менее двух и более 10 смежных битов, имеющих нулевое значение (0). Эта форма кодирования с ограничением длины поля записи (Run Length Limited — RLL) получила название RLL 2,10 (в общем виде — RLL x,y, где x — минимальное, а y — максимальное значение поля нулевых битов). Такая схема позволяет избежать появления длинных строк нулевых битов (нулей), которые могут быть считаны неправильно, а также ограничить минимальную и максимальную частоты переходов, существующих на носителе. С учетом того, что единичные биты (1) в записи должны быть отделены друг от друга не менее чем двумя и не более чем десятью нулями (нулевыми битами), минимальным расстоянием между единицами являются три временных интервала (обозначаемые обычно как 3Т), а максимальным — 11 временных интервалов (11T).

Некоторые коды EFM начинаются и заканчиваются единицей (1) или более чем пятью нулями (0), поэтому после каждого 14-разрядного значения EFM, записанного на диске, добавлены три дополнительных бита, называемые объединяющими битами (merge bits). Обычно объединяющие биты являются нулями (0), но могут в случае необходимости содержать и единицы (1), используемые для разбиения длинной строки смежных нулей (0), образованной соседними 14-разрядными значениями EFM. В дополнение к образованному 17-разрядному значению (EFM плюс объединяющие биты) к началу каждого блока добавляется 24-разрядное число синхронизации (плюс еще три объединяющих бита). В общей сложности в каждом блоке диска содержится 588 бит (73,5 байт). С учетом того, что в каждом секторе расположено 98 блоков, получаем, что в нем содержится 7203 байт. Таким образом, 80-минутный диск содержит примерно 2,6 Гбайт фактически записываемых данных. После декодирования и удаления кодов коррекции ошибок и другой информации остается примерно 737 Мбайт (703 мебибайт) реально используемого пространства диска.

Основные параметры EFM-кодированных блоков и секторов приведены в таблице нижн.

Чтобы лучше во всем этом разобраться, обратите внимание на следующую таблицу, в которой приведены способы представления данных после их записи на компакт-диск. В качестве примера взяты символы “N” и “O”.

На рисунке ниже представлены эти символы после записи на компакт-диск.

Границы впадин преобразуются в двоичные биты, значение которых представлено единицей (1). Первичный 8-разрядный код каждого символа преобразован в 14-разрядный, и каждый 14-разрядный код EFM отделен от последующего тремя объединяющими битами (в этом примере — все нули). Длины впадин, показанных на рисунке, равны соответственно 4T (четыре перехода), 8T и 4T. Строка нулей (0) и единиц (1) в верхней части рисунка указывает, как будет выполняться чтение данных. При этом обратите внимание, что единица (1) считывается при переходе “впадина–площадка”. Следует заметить, что приведенный рисунок выполнен в относительном масштабе, т.е. длина и ширина впадин пропорциональны друг другу. Если на поверхность компакт-диска посмотреть через микроскоп, то слово “NO”, записанное на диске, будет выглядеть примерно так, как на предыдущем рисунке.

Уход за оптическими носителями

Некоторые пользователи считают, что диски и приводы CD-ROM так же устойчивы к повреждениям, как магнитные накопители. На самом деле современный компакт-диск гораздо менее надежен, чем современный жесткий диск. Этот недостаток присущ всем переносным накопителям, и CD-ROM/DVD-ROM не является исключением.

Чаще всего проблемы, связанные с дисками и приводами CD-ROM, бывают вызваны царапинами и загрязнением. Небольшие царапины и отпечатки пальцев на нижней стороне компакт-диска, возможно, не принесут серьезного вреда, поскольку лазер фокусируется на точке внутри диска, но грязь и глубокие царапины могут вызвать проблемы (диск может просто не читаться).

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

Рекомендую использовать очистители для пластика, которые продаются в магазинах автозапчастей и предназначены для очистки наборов пластиковых инструментов и линз задних фар. Этот тип очистителей, или полировщиков, имеет очень мягкий абразив и хорошо полирует пластиковую поверхность. Обычные очистители рассчитаны на устранение более глубоких царапин, а полировщики применяются после очистителя и могут устранить только совсем неглубокие царапины. Поэтому обычные очистители и полировщики не подходят для очистки компакт-дисков.

Большинство пользователей достаточно осторожно относятся к нижней части диска, поскольку лазер считывает данные именно оттуда. Но не забывайте о том, что верхняя часть более уязвима! Это связано с тем, что она покрыта слоем лака, толщина которого достигает всего 6–7 микрон (0,24–0,28 тысячных дюйма). Шариковая ручка, например, может продавить лаковое покрытие и повредить нижележащий отражающий слой, что приведет к повреждению диска. Не забывайте также о том, что некоторые маркеры содержат растворитель, который может проесть лаковый слой. Поэтому используйте только фломастеры, имеющие специальные чернила, или маркеры Sharpie и Staedtler Lumocolor, которые предназначены непосредственно для выполнения записей на компакт-дисках. В любом случае не забывайте о том, что царапины или вдавливания на верхней части диска более опасны, чем на нижней.

Ошибки чтения также могут возникать, если засорилась линза накопителя CD-ROM. Можно попробовать очистить накопитель потоком воздуха или использовать специальное средство для очистки, которое можно купить в специализированных магазинах.

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

Если возникают проблемы при считывании данных с носителя на старом устройстве, а программные обновления для него уже не выпускаются, подумайте о модернизации привода. В наше время, когда высокоскоростные приводы CD/DVD с возможностью записи по стоимости не превышают полусотни долларов, не имеет смысла тратить время на поиск решения проблем совместимости со старым устройством. В любом случае замена устройства новым обойдется дешевле, чем ремонт.

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

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