Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Фрагмент лекций.docx
Скачиваний:
3
Добавлен:
26.11.2019
Размер:
259.37 Кб
Скачать

Общие концепции работы кеша жесткого диска

Самый простой принцип работы кеша — это хранение данных не только запрошенного сектора, но и нескольких секторов после него. Как правило, чтение с жесткого диска происходит не блоками по 512 байт, а блоками по 4096 байт (кластер, хотя размер кластера может и варьироваться). Кеш разбит на сегменты, каждый из которых может хранить один блок данных. Когда происходит запрос к жесткому диску, контроллер накопителя в первую очередь проверяет, находятся ли запрашиваемые данные в кеше, и, если это так, то мгновенно выдает их компьютеру, не производя физический доступ к поверхности. В случае если данных в кеше не было, они сначала считываются и попадают в кеш, и только после этого передаются в компьютер. Т.к. размер кеша ограничен, происходит постоянное обновление кусочков кеша. Типично, что самый старый кусок заменяется новым. Это называется цикличным буфером, или круговым кешем.

Для повышения быстродействия накопителя производители придумали несколько методов повышения скорости работы за счет кеша:

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

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

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

Не смотря на то, что кеш увеличивает скорость работы накопителя в системе, он также имеет и свои минусы. Для начала, кеш нисколько не ускоряет работу накопителя при случайных запросах информации, расположенной в разных концах пластины, поскольку при таких запросах нет смысла в превыборке. Также, кеш нисколько не помогает при чтении больших объемов данных, т.к. он обычно достаточно маленький, например при копировании 10 мегабайтного файла, при обычном в наше время буфере объемом 2 мегабайта, в кеш влезет только чуть меньше 20% копируемого файла.

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

Кеширование операций чтения-записи

Не смотря на то, что кеш увеличивает скорость работы накопителя в системе, он также имеет и свои недостатки. Для начала, кеш нисколько не ускоряет работу накопителя при случайных запросах информации, расположенной в разных концах пластины, поскольку при таких запросах нет смысла в превыборке. Также, он нисколько не помогает при чтении больших объемов данных, т.к. он обычно достаточно маленький. Например, при копировании 10 мегабайтного файла, при обычном в наше время буфере объемом 2 мегабайта, в кеш поместится только чуть меньше чем 20% копируемого файла.

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

В последние годы, производители жестких дисков значительно увеличили емкость кеша в своих продуктах. Даже в конце 90-х годов, 256 килобайт было стандартом для всех накопителей и только высокоуровневые устройства имели кеш объемом 512 килобайт. В настоящее время, кеш размером 2 мегабайта стал уже стандартом де-факто для всех накопителей, в то время как наиболее производительные модели имеют емкости 8, а то и 16 мегабайт. Как правило, 16 мегабайт встречается только на SCSI накопителях. Есть две причины, по которым наблюдался столь быстрый рост буфера накопителя. Одна из них — резкое снижение цен на микросхемы синхронной памяти. Вторая причина — это вера пользователей в то, что удвоение или даже учетверение размера кеша очень сильно скажется на скорости работы накопителя.

Размер кеша жесткого диска, конечно, влияет на скорость работы накопителя в операционной системе, но не настолько, как представляют себе пользователи. Производители пользуются верой пользователя в размер кеша, и в рекламных проспектах делают громкие заявления об учетверенном по сравнению со стандартной моделью размере кеша. Тем не менее, сравнивая один и тот же жесткий диск с размерами буферов в 2 и 8 мегабайт, выясняется, что ускорение работы выливается в несколько процентов. К чему это приводит? К тому, что только очень большая разница в размерах кеша (например между 512 килобайтами и 8 мегабайтами) будет ощутимо сказываться на скорость работы накопителя. Так же надо помнить, что размер буфера винчестера по сравнению с памятью компьютера довольно мал, и зачастую больший вклад в работу накопителя имеет "софтовый" кеш, то есть промежуточный буфер, организованный средствами операционной системы под кэширование операций с файловой системой и находящийся в памяти компьютера.

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

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

К счастью, есть более быстрый вариант работы кеша: компьютер записывает данные в накопитель, они попадают в кеш, и накопитель сразу же отвечает системе, что запись произведена; компьютер продолжает дальше работать, веря в то, что накопитель смог очень быстро записать данные, в то время как накопитель "обманул" компьютер и только записал нужные данные в кеш, и только потом начал записывать их на диск. Эта технология называется write-back caching (кэш с обратной записью).

Конечно, технология write-back кеширования увеличивает быстродействие, но, тем не менее, и у этой технологии тоже есть свой минус. Жесткий диск сообщает компьютеру, что запись уже произведена, в то время как данные находятся лишь в кеше, и только потом начинает записывать данные на поверхность. Это занимает какое-то время. Это не проблема до тех пор, пока есть питание компьютера. Т.к. память кеша — это энергозависимая память, в момент выключения питания все содержимое кеша безвозвратно теряется. Если в кеше были данные, ожидающие записи на поверхность, и в этот момент было выключено питание, данные будут потеряны навсегда. И, что также плохо, система не знает, были ли данные точно записаны на диск, т.к. винчестер уже отрапортовал, что сделал это. Таким образом, мы не только теряем сами данные, но и не знаем, какие именно данные не успели записаться, и даже не знаем, что произошел сбой. В результате может произойти потеря части файла, что приведет к нарушению его целостности, потери работоспособности операционной системы и т.д. Конечно, эта проблема не затрагивает кеширование данных при чтении.

Вследствие такого риска, на некоторых рабочих станциях не производится кеширования вообще. Современные накопители позволяют отключать режим кеширования записи. Это особо важно в приложениях, где правильность данных очень критична. Т.к. данный вид кеширования сильно увеличивает скорость работы накопителя, все-таки обычно прибегают к другим методам, которые позволяют снизить риск потери данных вследствие отключения электричества. Самый распространенный метод — это подключение компьютера к блоку бесперебойного питания. Кроме этого, все современные накопители имеют функцию "flush write cache", которая принудительно заставляет накопитель записать данные из кеша на поверхность, но, системе приходится выполнять эту команду вслепую, т.к. она все равно не знает, есть ли в кеше данные или нет. Каждый раз, когда происходит выключение питания, современные операционные системы посылают эту команду винчестеру, потом происходит посылка команды запарковать головки (хотя эту команду можно было бы и не посылать, т.к. каждый современный накопитель автоматически паркует головки при понижении напряжения ниже предельно допустимого уровня) и только после этого компьютер выключается. Это гарантирует сохранность данных пользователя и правильное выключение винчестера.

Технология SMART

ведущими производителями жестких дисков была разработана технология, позволяющая объективно оценить состояние всех систем винчестера и достаточно точно спрогнозировать время его гибели. Эта технология получила название S.M.A.R.T. (Self Monitoring Analysis and Reporting Technology) и присутствует во всех современных винчестерах. Несмотря на кажущуюся сложность названия, принцип ее действия довольно прост.

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

Все данные автоматически, без участия пользователя, заносятся в специальную таблицу на диске и периодически обновляются. Еще они постоянно сравниваются с предельно допустимыми значениями, превышение (или наоборот) которых указывает на серьезные неполадки накопителя. Эта таблица называется таблицей SMART-параметров и может быть просмотрена пользователем в любое время, для чего существует специальная утилита.

Проблемы с винчестером

Что делать, когда винчестер не работает? Прежде всего – не паниковать, ведь проблема может быть и не в нем, а, например, в неисправном шлейфе. Вынув винчестер из корпуса, внимательно осмотрите его при ярком свете, обратив особое внимание на плату электроники.

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

Если накопитель исправен, он должен вести себя примерно так: сначала будет слышен шум раскрутки электродвигателя, затем звук распарковки и позиционирования головок, который вскоре затихнет. Двигатель останавливаться не должен. Если это так, подключите винчестер к материнской плате (не забыв во время этой процедуры выключить питание), зайдите в BIOS и попытайтесь его определить. Если он определяется, но операционная система его не видит, придется воспользоваться одной из утилит диагностики, например, от производителя винчестера или универсальными, типа HDD Speed. При удачном прохождении всех тестов можете вздохнуть свободно, физических проблем нет.

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

В любом случае можно попробовать переставить плату электроники с точно такого же винчестера и прочитать информацию.

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

Не волнуйтесь, пыль, попавшая внутрь при разборке, вреда не принесет, она будет сброшена с дисков центробежными силами при первом же запуске и задержана внутренним фильтром (главное: не прикасайтесь к поверхностям дисков и не оставляйте разобранный гермоблок открытым на длительное время).

Конечно, возможны и другие причины отказов, устранение которых требует индивидуального и квалифицированного подхода.

Поэтому, если у вас начались проблемы с винчестером и вы не можете точно установить их причину, лучше доверить ремонт специалистам. Автор желает вам удачи и чтобы ни одна из вышеперечисленных проблем никогда не коснулась вашего железного друга.

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

Минимальная единица хранения информации это сектор (Sector) который имеет определенный размер. Это уровень, на котором производятся операции ввода вывода на диск. Записать меньше информации, чем сектор нельзя. Отсюда есть много выводов. Например, что если размер сектора 512 а файл будет 513 то занимать на диске этот файла будет 512+512=1024. По факту. Сектора собираются в дорожки (Track), а набор дорожек это цилиндр (Cylinder) он соответствует фактической пластине диска. Информация с пластин на диске считывается головками (Head). Цилиндры в наборе составляют весь диск.

Когда мы говорили о форматировании диска на низком уровне, мы имели в виду разметку его поверхности на секторы, дорожки и цилиндры. Именно так происходит при изготовлении винчестера. Следует отметить тот факт, что у всех современных винчестеров внутренний формат не стандартизирован.

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

На самом деле форматирование производит не сама утилита, как многие привыкли думать, а контроллер винчестера и только он, потому что внутренняя микропрограмма скрывает его истинный формат. Поэтому нельзя с помощью внешних команд испортить сервометки, стереть микропрограммы и записать неправильный формат дорожек. Худшее, что может случиться при низкоуровневом форматировании накопителя, – он потребует переформатирования "фирменной" утилитой.

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

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

Говоря о секторах со стороны программирования нужно иметь в виду что существует так называемый физический сектор который имеет адрес:

Сектор - Цилиндр

И логический сектор. Логический сектор это нумерация от 0 до последнего.

Современные интерфейсы жёстких дисков

SCSI

Первоначальный вариант интерфейса SCSI (Small Computer System Interface) был предложен в конце 70-х годов Shugart Associates под названием SASI (Shugart Associates System Interface) взамен разработанной компанией IBM системной шины IPI (интеллектуальный периферийный интерфейс). После неудачи в конкурентной борьбе с фирмой IBM этот интерфейс был предложен комитету ANSI X3T9.2 как интерфейс нижнего уровня под названием SCSI. В 1984 году этот комитет закончил разработку спецификации SCSI-1 и в 1986 году она была опубликована в окончательном виде. Этот интерфейс обеспечивал подключение широкого класса периферийных устройств, таких как винчестеры, принтеры, сканеры, стриммеры, приводы CD-ROM и др. SCSI является интерфейсом системного, а не приборного уровня. В отличие от ST506/412 и других приборных интерфейсов с последовательной передачей информации, SCSI передает биты данных параллельно, что обеспечивает существенное повышение скорости обмена данными между устройством и хост-адаптером.

Интерфейс SCSI используется не только в IBM-совместимых компьютерах, но и семействах Macintosh, SPARC, VAX и др. Одна из причин такого широкого распространения интерфейса SCSI заключается в том, что он не накладывает никаких ограничений на связь между контроллером и периферийным устройством. Шину SCSI можно использовать для связи компьютера с несколькими периферийными устройствами (как внешними, так и внутренними). Более того, допускается совместное использование одного периферийного устройства несколькими компьютерами, подключенными к общей шине SCSI (правда это значительно сложнее сделать, чем написать, но об этом разговор особый). Подключаемые к шине SCSI устройства могут играть роль ведущих (Initiator) или ведомых (Target), при этом одно и то же устройство может быть ведомым в одних случаях и ведущим - в других. Такое разделение функций устройств позволяет организовать передачу данных с одного периферийного устройства на другое (например, резервное копирование данных с винчестера на стриммерную кассету). Обмен между устройствами по магистрали SCSI происходит в соответствии с протоколом высокого уровня и адресация осуществляется на уровне логических, а не физических (как в ESDI) блоков. Программы для работы со SCSI-устройствами не используют физические характеристики конкретного устройства (число головок, цилиндров и т.п.), а имеют дело с логическими блоками, что дает возможность работы фактически со всеми блочными устройствами.

Для подключения устройств SCSI используется кабель (как правило плоский) с 50-контактными разъемами (Приложение 3). Возможны как синфазная, так и дифференциальная (с помощью "токовой петли") передача данных по кабелю; при синфазной передаче длина кабеля может достигать 6м, при дифференциальной - 25м. Для гарантированной передачи сигналов по магистрали SCSI линию требуется согласовывать с помощью терминаторов (набора резисторов), устанавливаемых по обоим концам шины SCSI.

Спецификация SCSI предусматривает подключение к шине до восьми устройств, однако с учетом того, что каждое устройство может содержать 8 логических блоков, а каждый блок - 256 подблоков, возможности расширения являются фактически неограниченными. Каждое подключаемое к шине SCSI устройство имеет свой идентификатор, устанавливаемый с помощью перемычек или переключателей непосредственно в устройстве. Идентификаторы позволяют адресовать устройства и задают их приоритет (чем больше значение идентификатора, тем выше приоритет устройства).

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

ATA

Спецификация IDE/ATA была предложена в качестве недорогой альтернативы интерфейсам ESDI и SCSI для персональных компьютеров семейств IBM PC XT/AT. В результате сотрудничества компании Western Digital с Compaq Computer Corporation был разработан интерфейс IDE (Integrated Drive Electronics), называемый также АТА (AT attachment). Первые промышленные устройства на базе IDE/ATA были выпущены в 1986 году. Интерфейс был стандартизован (ANSI X3T9.2/90-143) в 1990г. как ATA (AT Attachment). Основным отличием нового интерфейса была реализация большинства функций контроллера непосредственно на плате дискового накопителя. Такой подход упростил и удешевил хост-адаптеры, используемые для подключения винчестеров к компьютеру, и позволил обеспечить высокий уровень совместимости устройств разных фирм.

Используемые устройствами IDE адреса ввода/вывода совпадают с адресами ST506/412, но функции контроллера перенесены на плату управления приводом диска и головок винчестера. Информация о геометрии диска (число головок, цилиндров и секторов) хранится в самом устройстве. Зачастую в BIOS передаются логические параметры диска, не совпадающие с его физическими параметрами, т.е. используется трансляция, что позволяет устанавливать винчестеры в компьютеры со старыми BIOS, не обеспечивающими возможность произвольной установки параметров устройства (в большинстве современных реализаций BIOS такая возможность поддерживается как тип 47 - User Defined).

Базовый набор команд интерфейса IDE полностью соответствовал набору команд контроллера WD1002/1003 компании Western Digital, который был использован в компьютере IBM PC AT. При стандартизации интерфейса IDE к 12 базовым командам было добавлено еще столько же. Перенос большинства функций контроллера на плату управления позволяет несколько повысить скорость обмена данными с диском. Как правило диски IDE имеют небольшую встроенную кэш-память (до 256Кб) и позволяют работать с фактором чередования 1:1 (дорожка может быть прочитана целиком за один оборот диска).

Хост-адаптер для подключения дисков IDE зачастую устанавливается на системной плате (Mother board) или совмещается с контроллером дисководов и портами ввода-вывода (последовательными и параллельным) на специальной, вставляемой в гнездо расширения, плате (мультикарте, как ее зачастую называют). Подключение устройств к хост-адаптеру осуществляется с помощью 40-проводного плоского кабеля (см. Приложение 3), к которому можно присоединить два винчестера. Для корректной адресации устройств один из винчестеров должен быть установлен в режим Master (ведущий), другой - в режим Slave (ведомый). Режим работы диска задается с помощью перемычек, расположенных как правило около сигнального разъема винчестера.

Предложенный в конце 80-х годов интерфейс ATA (AT Attachment), известный также под названием IDE (Integrated Drive Electronics) очень быстро завоевал широкую популярность среди производителей и пользователей персональных компьютеров. Основными причинами быстрого и широкого распространения нового интерфейса послужили невысокая цена устройств, простота их установки и эксплуатации, а также высокий уровень совместимости устройств IDE. Спецификация АТА уступает по скорости обмена с дисками и ряду других параметров интерфейсу SCSI, однако для большинства пользователей производительность играет меньшую роль, по сравнению с совместимостью, простотой и стоимостью устройств.

Ограниченность АТА

Первоначальная версия стандарта IDE обеспечивала возможность подключения к компьютеру четырех винчестеров и позволяла обмениваться данными с диском на скорости до 10Мбайт/сек, однако реальная скорость ограничивалась прежде всего возможностями самого винчестера. Подключение четырех устройств, предусмотренное спецификацией IDE, в компьютерах семейства IBM PC AT, в спецификации ATA/IDE реализовано не было. Кроме того, совместное использование стандарта ATA и программного интерфейса Int 13 BIOS ограничивало размер дисковых устройств 528Мб. Другим существенным ограничением стандарта IDE/ATA является невозможность подключения к контроллеру IDE каких-либо устройств, за исключением винчестеров.

Присущие интерфейсу IDE/ATA ограничения тормозили развитие недорогих компьютерных систем, рассчитанных на массового пользователя, в связи с чем целый ряд фирм предпринял попытки расширения возможностей классического IDE. Наибольших успехов на этом пути добилась компания Western Digital, разработавшая спецификацию Enhanced IDE (EIDE), позволяющую использовать диски, размер которых превышает 528 Мб, и обеспечившую реальную возможность подключения к компьютеру до четырех устройств IDE (не только винчестеров, но и приводов CD-ROM или стриммеров).

Другим интересным вариантом развития интерфейса IDE является технология Fast ATA, разработанная компанией Seagate Technology при поддержке фирмы Quantum. Эта технология направлена в первую очередь на повышение скорости обмена данными с дисковыми устройствами и не поддерживает возможность подключения CD-ROM или стриммеров, но обеспечивает более высокий уровень совместимости за счет соответствия широко распространенным промышленным стандартам.

Enhanced IDE

Технология Enhanced IDE компании Western Digital была разработана в результате анализа потребностей современного рынка ПК. В 1984 году компания Western Digital создала контроллеры дисководов (WD1002) и винчестеров (ST506), которые были использованы фирмой IBM при разработке компьютера IBM PC AT. Успех архитектуры АТ привел к значительному расширению рынка IBM-совместимых ПК и сделал контроллеры Western Digital стандартом de facto.

В процессе становления рынка персональных компьютеров фирма Western Digital пришла к выводу о необходимости интеграции электроники контроллера АТ и дискового устройства. В результате сотрудничества с Compaq Computer Corporation был разработан интерфейс IDE (Integrated Drive Electronics), называемый также АТА (AT Bus attachment). Первые промышленные устройства на базе IDE/ATA были выпущены в 1986 году.

Продолжая лидировать в сфере IDE-устройств, компания Western Digital предложила расширение интерфейса IDE. Новая спецификация - Enhanced IDE - повышает скорость обмена с диском, допускает применение более скоростных дисков и обеспечивает возможность установки в компьютере до четырех устройств IDE. Кроме того, Enhanced IDE позволяет подключать к контроллеру не только винчестеры, но и другие устройства (приводы CD-ROM, стриммеры), поддерживающие спецификацию ATAPI (AT Attachment Packet Interface). Эта спецификация определяет интерфейс с приводами CD-ROM и другими недисковыми устройствами, позволяющий использовать стандартные контроллеры и кабели. Стандарт ATAPI получил широкую поддержку среди производителей CD-ROM-устройств и разработчиков операционных систем, что еще более расширило сферу распространения интерфейса IDE/ATA. Текст спецификации ATAPI можно найти на сервере ftp://fission.dt.wdc.com/pub/standarts/atapi/atapi25.zip

Спецификация EIDE позволяет избавиться от целого ряда ограничений, присущих интерфейсу IDE/ATA. Такое расширение обеспечивает существенный рост возможностей устройств долговременного хранения информации без роста цен, усложнения использования и потери совместимости. Ограничения, присущие IDE, по сравнению с другими интерфейсами (такими, как SCSI) не угрожают доминированию IDE на современном рынке недорогих систем. Однако повышение производительности процессоров, разработка новых ОС и высокие запросы современных приложений к дисковому пространству привели к тому, что стандарт IDE уже не может удовлетворять всем современным требованиям. Существенно и то, что стандартный интерфейс IDE менее гибок и более ограничен по сравнению со SCSI:

  • IDE поддерживает только два винчестера, а SCSI обеспечивает возможность подключения большого количества блочных устройств различных типов (принтеры, CD-ROM, стриммеры и др.);

  • размер дисков IDE не может превышать 528Мб, поскольку для доступа к диску используется интерфейс Int 13 BIOS, тогда как SCSI не ограничивает размер диска;

  • IDE обеспечивает скорость обмена с диском 2-3 Мб/сек, а SCSI - 10 или 20Мб/сек (Fast/Wide).

Технология Enhanced IDE позволяет избавиться от основных ограничений стандарта IDE/ATA:

предельный размер диска 528Мб;

малая скорость обмена с диском;

поддержка только двух устройств;

невозможность подключения приводов CD-ROM и стриммеров.

Технология Enhanced IDE включает в себя четыре основных компоненты, реализуемые совместно в периферийных устройствах, контроллерах EIDE, BIOS и операционной системе:

1. Использование винчестеров размером более 528Мб.

Эта возможность обусловлена внесенными в BIOS изменениями, позволяющими адресовать большие диски. Для работы с дисками более 528Мб требуется поддержка со стороны винчестера, BIOS и операционной системы.

Винчестер должен поддерживать спецификацию ATA (этому требованию удовлетворяет большинство современных винчестеров).

BIOS также должна поддерживать спецификацию ATA; большинство производителей системных плат и разработчиков BIOS уже поддерживают этот режим.

Может потребоваться поддержка работы с большими дисками и со стороны операционной системы. Windows 3.1 не полностью соответствует ATA, поэтому приходится использовать специальные драйверы (Windows "32-bit disk access"), обычно поставляемые вместе с контроллерами EIDE. Большинство 32-разрядных операционных систем (таких, как OS/2) изначально поддерживают работу с большими дисками.