Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shp.doc
Скачиваний:
22
Добавлен:
18.09.2019
Размер:
5 Мб
Скачать
☆

2.Структура дискового сектора. Коды исправления ошибок ecc.

1 сектор = 512 байт.

Сектор состоит из идентификатора и сегмента, в котором содержатся данные.

Идентификатор (заголовок) состоит из:

- номера головки или поверхности;

- номера дорожки или цилиндра;

- позиции сектора на дорожке.

Здесь же содержится метка, указывающая дефектен ли сектор; указатель, куда перейти, если сектор дефектен.

Заголовок сектора заканчивается значением кодов избыточного циклического контроля (CRC), которое проверяет правильность считывания информации.

Сегмент состоит из:

- данных;

- кодов исправления ошибок (ЕСС).

Для нумерации секторов используется способ нумерации называемый чередованием секторов – применяется для ускорения считывания записей на винчестере. Название объясняется тем, что группа секторов с соседними номерами чередуется с другой группой секторов, имеющие соседние номера и при чередовании, как бы перепрыгивается через заданное количество секторов при назначении следующего номера. Величина коэффициента чередования определяется двумя цифрами, разность которых показывает число пропускаемых секторов (например, 1:3, 1:2). Сам коэффициент показывает, за сколько оборотов будет считана информация.

Операционная система DOS при записи информации на жесткий диск сначала заполняет цилиндр. При записи контроллер вычисляет ЕСС и записывает его одновременно с данными, при считывании контроллер читает данные, вычисляя для них коды ЕСС, и сравнивает их с кодами ЕСС, записанных в заголовке сектора.

При определении идеального коэффициента чередования необходимо учитывать факторы:

- быстродействие контроллера;

- скорость работы шины ввода-вывода.

У современных накопителей используется считывание за счет буфера дорожек, он позволяет считывать дорожку, а не сектор. При переходе с дорожки на дорожку проблема времени решается за счет второго буфера. В одном хранятся считанные данные, в другом – записываемые. В результате чего коэффициент считывания работает 1:1. Современные программы установки коэффициента чередования не портят информацию на диске.

Некоторые диски имеют 23, 27, 34, 56 секторов, со SCSI интерфейсом 75 секторов. Возможно разное количество секторов в разных зонах диска.

Коэффициент чередования и перекоса головки определяется при записи информации в заголовках сектора. Оптимальный коэффициент чередования при работе шины на двух частотах устанавливается с учетом меньшей частоты.

«Садовая» модель – самая простая модель кодов ЕСС. Используется матрица, несущая нечетный паритет. Для защиты 16 бит информации понадобится 9 бит дополнительно. Эффективность защиты возрастает, если взять большее число защищаемых бит. Для защиты одного сектора (512 байт=4096 бит) используется матрица 64x64 и для нее потребуется 129 бит, обеспечивая защиту от 1-битных ошибок.

На практике «Садовая» модель не применяется, но хорошо демонстрирует работу.

Недостатки такой модели: не исправляет многобитные ошибки; не смотря на высокую эффективность, не дает максимальной уверенности.

Обычно коды ЕСС обнаруживают и исправляют любое количество ошибок в одном секторе, если они находятся в одном пакете, длина которого определяется контроллером. Ошибки длиной более 11 бит теоретически возможны, но практически не возникают. Большинство ошибок возникают из-за дефектного пятна (где рушится слой). Если в одном секторе несколько дефектных пятен, то коды ЕСС бессильны.

Коды ЕСС предоставляют контроллеру такие сообщения:

1) Вот данные, считанные без ошибок;

2) Вот данные. Считать их не смог, но определил, какими они должны быть;

3) Вот то, что считал, но уверен, что это неправильно.

Дефектные пятна прогрессируют, и маленькие ошибки становятся неисправимыми. Не смотря на утверждение некоторых программистов, что они могут отключить коды ЕСС – это невозможно, так как нельзя заставить контроллер не применять ЕСС. В лучшем случае они фиксируют работу кодов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]