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

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

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

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 смотрите на http://www.quantum.com/src/whitepapers/ultraata/

Замечу, что длина кабеля 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 под Linux дает скорость передачи:   +/- 7.2MB/s

UDMA в режиме 2 под Linux дает скорость передачи:  +/- 9.8MB/s

Как вы можете видеть, UDMA все еще в два раза быстрей обычного EIDE, и все еще значительно быстрей Bus Master DMA. Большинство современных UDMA-дисков дают от 10 до 15 МБ/сек с использованием UDMA в режиме 2 (33 MB/s) или 4 (66 МБ/сек).

Кроме того, использование DMA, в отличии от PIO, значительно сокращает использование процессора во время обмена с диском.



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости