Ultra DMA

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

?ередивший другие популярные модели с интерфейсом ATA-2. Однако этот отрыв был обусловлен не новым интерфейсом, а повышенной плотностью записи на дисках и увеличением эффективности внутреннего контроллера. В этом смысле ситуация с UDMA повторяет ситуацию со SCSI: многие пользователи выбирают винчестеры SCSI за их высокую скорость работы, ошибочно приписывая ее преимуществам SCSI перед EIDE. На самом же деле многие модели винчестеров, выпускаемые в вариантах и EIDE, и SCSI, имеют один и тот же гермоблок, те же технические характеристики, однако скоростные, а значит, и дорогие, модели винчестеров не являются массовыми, и их гораздо более выгодно выпускать только в SCSI-варианте. Поэтому по-настоящему чистым будет эксперимент с заменой системной платы с обычным EIDE-контроллером на плату с поддержкой Ultra DMA при одном и том же скоростном винчестере с Ultra DMA. А такие эксперименты показывают, что на обычной пользовательской системе с Windows 95 прироста эффективности либо нет вообще, либо он составляет единицы процентов. Более заметный прирост могут дать только системы со сбалансированной ОС и высокой загрузкой.

Другая полезная особенность Ultra ATA - наличие контроля передаваемых данных при помощи CRC (Cyclic Redundancy Check - избыточный циклический контроль) - кода, вычисляемого для каждого передаваемого блока на передающем конце и проверяемого на приемном. Эта функция интерфейса позволяет вовремя обнаружить "плавающие" ошибки, порожденные чрезмерно длинными кабелями, плохими контактами в разъемах, несоответствием скоростей передачи, которые в ATA-2 и более ранних интерфейсах приводили к считыванию или записи неверных данных, что через некоторое время неизбежно вызывает порчу структуры диска и полный выход из строя файловой системы. CRC-контроль в Ultra ATA служит для обнаружения ошибок передачи уже в момент передачи ошибочного блока, что предотвращает скрытое распространение ошибок. Однако оказалось, что на самом деле не все новые винчестеры с Ultra ATA поддерживают CRC-контроль - например, винчестеры Fujitsu ATU этого не делают, и ошибки передачи по-прежнему могут оставаться незамеченными долгое время.

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

 

Что такое Ultra-DMA, и зачем мне это надо?

 

Вот краткий обзор технологий IDE дисков:

IDE, EIDE и ATAPI

Это старые технологии. Большинство жестких дисков и не-SCSI интерфейсов, которые вы можете купить сегодня или уже используете - EIDE, хотя множество винчестеров большой емкости - UDMA.

Bus Master DMA

Bus Master DMA - это технология, повышающая скорость обмена с жестким диском, требующая поддержки материнской платы, BIOS и, по крайней мере, какой-то поддержки от самого жесткого диска.

Ultra-DMA он же Ultra-ATA он же Ultra33 он же...

Ultra-DMA может называться по-разному, но мы его будем называть просто UDMA.

UDMA - это более продвинутая технология, обеспечивающая передачу данных жесткого диска со скоростью до 33.3 Мб/сек в UDMA режиме 2 и 66.7 Мб/сек в режиме 4, что от двух до четырех раз быстрее, чем EIDE, и дешевле, чем SCSI. Много новых компьютеров уже поставляется с UDMA-дисками большого размера и UDMA-интерфейсами, однако возможна установка дополнительной карты UDMA-интерфейса (такой как Promise Ultra33 или Ultra66), чтобы увеличить скорость даже на старых не-UDMA дисках.

Замечу, что длина кабеля UDMA, по сравнению с простым DMA, желательно должна быть менее 30см, и не более 18 дюймов. Для скорости 66Мб/сек требуется специальный 80-жильный кабель не большей длины. Если у вас появляется большое количество CRC-ошибок, то попробуйте использовать кабель покороче.

 

По крайней мере "Ultra"?

 

Прежде, чем пойдем дальше, давайте проясним заблуждение. Эти 33 и 66 MB/сек - максимальная скорость передачи (burst transfer rate), а это встречается не очень часто. Вот кусок из UDMA.txt:

 

Быстрый (burst) (немедленный) режим передачи предполагает от 16.6МБ/сек (PIO режим 4) до 16.6МБ/сек (DMA режим 2) и до 33МБ/сек (UDMA). Kim-Hoe Pang в своем патче ядра 2.1.55 логически проверил скорость передачи в максимальном режиме UDMA: 60 нс/слово, что означает 33МБ/сек. Замечу, что скоростной (burst) режим передачи влияет только на данные, передаваемые из кэша EIDE винчестера (476Кб на IBM 6.4Гб), а это IMHO не особенно актуально для большинства пользователей Linux. Ядро Linux использует для кэширования доступа к винчестеру столько оперативной памяти, насколько это возможно, и если данные не находятся в кэше ядра, то мало шансов, что они будут в меньшем по размеру кэше винчестера.

Намного большее значение имеет устойчивая скорость передачи (sustained transfer rate) - скорость, на которой данные передаются с винчестера в память. Проще всего использовать hdparm, чтобы измерить устойчивую скорость передачи, например "hdparm -t /dev/hda", для измерения скорости первого IDE диска.

 

Вот некоторые данные, собранные после большого количества испытаний, с использованием утилиты hdparm (Mark Lord): PIO в режиме 4 под Linux дает скорость передачи: +/- 5.2MB/s DMA в режиме 2 под Li