Реклама:

Преодоление ограничений емкости в 2,1 и 4,2 Гбайт

В некоторых базовых системах ввода-вывода для данных, обозначающих количество полей физических цилиндров CHS, отводилось только 12 бит, что ограничивало объем диска 4096 цилиндрами. В сочетании с существующими стандартными ограничениями (16 головок и 63 сектора) это не позволяло поддерживать накопители, емкость которых превышала 2,1 Гбайт. К счастью, описанный дефект существовал только в определенных системах, включающих в себя BIOS, созданную примерно до середины 1996 года.

Тем не менее все еще существовали определенные проблемы, связанные с трансляцией со сдвигом разряда. Технология организации операционных систем DOS и Windows 9х/Ме не позволяет правильно обрабатывать жесткие диски, содержащие 256 головок. Подобная ситуация стала проблемной для накопителей емкостью более 4,2 Гбайт, поскольку правила CHS-трансляции со сдвигом разряда обычно приводили к логическому значению 256 головок, как в следующем примере.

Физические Логические параметры CHS параметры CHS

со сдвигом разряда

Цилиндров 12000 750

Головок 16 256

Секторов на дорожке 63 63

Итого секторов 12096000 12096000

Итого Байтов 6193152000 6193152000

Мегабайтов (Мбайт) 6193 6193

Мебибайтов (МиБ) 5906 5906

Гигабайтов (Гбайт) 6,19 6,19

Гибибайтов (ГиБ) 5,77 5,77

При попытке инсталляции Windows 9х/Ме (или DOS) на жестком диске емкостью более 4,2 Гбайт оказалось, что подобная схема неудачна, поскольку значение "256 головок" является одним из параметров L-CHS. Ограничение емкости диска значением 4,2 Гбайт было свойственно практически каждой BIOS, реализующей эту схему, поэтому установка жесткого диска большей емкости и выбор CHS-трансляции со сдвигом разряда и приводили к сбоям накопителя. Следует заметить, что к операционным системам Windows NT/2000/XP это не относится.

Примечание

Интересно то, что причиной подобной проблемы является вовсе не BIOS, а код файловой системы DOS/Win9x/Me, в котором количество секторов, приходящихся на каждую дорожку, сохраняется в виде 8-разрядного числа. Проблемы возникают при считывании числа 256, представляющего собой в двоичной записи выражение 100000000b, для хранения которого требуется 9-разрядное поле. Число 255 (или 11111111 b в двоичной системе) является наибольшим значением, которое подходит 8-разрядному двоичному регистру и определяет максимальное число головок, поддерживаемое той или иной операционной системой.

Для решения этой проблемы CHS-трансляция со сдвигом разряда была переработана и дополнена правилом, согласно которому при наличии 16 физических головок и более чем 8192 цилиндров (что привело бы к трансляции 256 головок) принимается количество головок P-CHS, равное 15 (вместо 16). Во избежание ошибок при вычислении количество цилиндров P-CHS умножается на выражение 16/15. После этого выполняется трансляция скорректированного количества цилиндров и головок. Результаты вычислений приведены ниже.

Откорректированные Физические Логические логические


⇐ Предыдущая страница| |Следующая страница ⇒