ide support status in two words: it works

2 views
Skip to first unread message

matsi

unread,
May 29, 2009, 2:44:14 PM5/29/09
to ARM9&FPGA evolution board
Коротко о состоянии дел с поддержкой IDE: оно работает.
Теперь несколько подробнее.

В исходном варианте платы есть две проблемы с IDE разъемом:
* преобразователь D8 включен так, что сигнал CFRNW оказывается
инвертированым
* не разведен пин с сигналом INTRQ

Первую проблему Павел излечил, впаяв инвертор.
Прерывания пока что не включили, но работаем над этим.

Так что в нынешнем варианте драйвера работа с диском ведется в режиме
PIO без прерываний, то есть PIO polling. DMA не поддерживается и,
вероятно, не будет. Это связано с тем, что нет полноценной хардварной
поддержки для DMA: PDC (peripheral DMA controller) в процессоре не
дружит с шиной EBI, на которой висит IDE разъем.

Протестировали работу драйвера с различной IDE-периферией:
* HDD
* CD-ROM
* CompactFlash (через специальный переходник)
* HDD + CDROM (master/slave)
Все работает.

Про скорость работы.

* CD-ROM: скорость чтения около 1 Mb/sec

* HDD: тут скорость сильно зависела от используемого диска.

На относительно новых дисках получили скорость чтения/записи в
пределах 2-5 Mb/sec
как для файловой системы, так и в raw mode.

На старом диске (Seagate ST3850A, 850M) скорость была в пределах
400-800 Kb/sec.
Однако при записи на файловую систему скорость работы со старым
диском падала до
15-20 Kb/sec. Характерный юзкейс тут был такой:
-- делаем свежую файловую систему, пишем/читаем - получаем
400-800 Kb/sec.
-- делаем свежую файловую систему, перегружаемся, монтируем
диск,
пишем/читаем - получаем 15-30 Kb/sec.
-- делаем свежую файловую систему, перегружаемся, монтируем
диск,
прогоняем e2fsck, пишем/читаем - получаем 15-30 Kb/sec.
Вероятно, это связано с кэшированием метаинформации файловой
системы.
Но на новых дисках почему-то таких эффектов пока не было замечено.


Reply all
Reply to author
Forward
0 new messages