Емкость компакт-диска
Максимальный объем данных, содержащихся на стандартном компакт-диске, считывается в течение 74 мин., причем за каждую секунду обрабатывается 75 блоков по 2048 байт. Это позволяет вычислить абсолютную максимальную емкость CD-ROM, которая составляет 681984000 байт — 682 Мбайт, или 650 мебибайт. Структура и расположение секторов CD-ROM, используемых для хранения данных, представлены в табл. 11.3.
Таблица 11.3. Емкость и параметры секторов CD-ROM
Сектор данных (формат Mode 1) |
74-минутный |
80-минутный |
Байты контроля четности Q и Р |
784 |
784 |
Байты подкода |
98 |
98 |
Байты синхронизации |
12 |
12 |
Байты заголовка |
8 |
8 |
Байты ECC/EDC |
284 |
284 |
Байты данных |
2084 |
2084 |
Количество байтов в секторе RAW (некодированных) |
3234 |
3234 |
Фактическая емкость диска данных CD-ROM: |
||
байтов |
681984000 |
737280000 |
кибибайтов |
666000 |
720000 |
килобайтов |
681984 |
737280 |
мебибайтов |
650,39 |
703,13 |
мегабайтов |
681,98 |
737,28 |
Кбайт. Килобайт (1000 байт). Мебибайт. 1048576 байт. Кибибайт. 1024 байт. ЕСС. Код коррекции ошибок. Мбайт. Мегабайт (1 000 000 байт). EDC. Код обнаружения ошибок.
Приведенная в таблице информация представлена в соответствии с условием, что данные сохранены в формате 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 х,у, где х — минимальное, а у — максимальное значение поля нулевых битов). Такая схема позволяет избежать появления длинных строк нулевых битов (нулей), которые могут быть считаны неправильно, а также ограничить минимальную и максимальную частоты переходов, существующих
на носителе. С учетом того, что единичные биты (1) в записи должны быть отделены друг от друга не менее чем двумя и не более чем десятью нулями (нулевыми битами), минимальным расстоянием между единицами являются три временных интервала (обозначаемые обычно как ЗТ), а максимальным — 11 временных интервалов (ИТ).
Некоторые коды 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 мебибайт) реально используемого пространства диска.