SATA в режиме IDE - полная поддержка

Internal structure and you change requests/suggestions
  • Протестировал на своём железе, IDE в режиме SATA native. Всё читается, fat32 пишется. Отличная работа !
    Spoiler:K : kernel SVN r4797
    K : 4 CPU detected
    K : IDE controller programming interface 0001018F
    K : BAR0 IDE base addr FF00
    K : BAR1 IDE base addr FE00
    K : BAR2 IDE base addr FD00
    K : BAR3 IDE base addr FC00
    K : BAR4 IDE controller register base addr FB00
    K : IDE Interrupt 0B
    K : IDE controller programming interface 00010185
    K : BAR0 IDE base addr F800
    K : BAR1 IDE base addr F700
    K : BAR2 IDE base addr F600
    K : BAR3 IDE base addr F500
    K : BAR4 IDE controller register base addr F400
    K : IDE Interrupt 0B
    K : Channel 1 Disk 0
    K : Dev: ST2000DM001-1CH164
    K : PIO possible modes 03
    K : PIO set mode 01
    K : Multiword DMA possible modes 07
    K : Multiword DMA set mode 00
    K : Ultra DMA possible modes 7F
    K : Ultra DMA set mode 05
    K : Channel 1 Disk 1
    K : Dev: ST3320620AS
    K : PIO possible modes 03
    K : PIO set mode 01
    K : Multiword DMA possible modes 07
    K : Multiword DMA set mode 00
    K : Ultra DMA possible modes 7F
    K : Ultra DMA set mode 05
    K : Channel 2 Disk 0
    K : Device not found
    K : Channel 2 Disk 1
    K : Dev: Optiarc DVD RW AD-7203S
    K : PIO possible modes 03
    K : PIO set mode 01
    K : Multiword DMA possible modes 07
    K : Multiword DMA set mode 00
    K : Ultra DMA possible modes 3F
    K : Ultra DMA set mode 05
    K : Channel 1 Disk 0
    K : Device not found
    K : Channel 1 Disk 1
    K : Device not found
    K : Channel 2 Disk 0
    K : Device not found
    K : Channel 2 Disk 1
    K : Device not found
    K : Attach Interrupt 11 Handler 80031744
    K : Set IDE IRQ11 return code 8005BC10
    K : IDE CH1 DMA enabled
    K : IDE CH2 PIO, because ATAPI drive present
    K : Attach Interrupt 11 Handler 80031744
    K : Set IDE IRQ11 return code 8005BC24
    K : IDE CH1 PIO because no devices
    K : IDE CH2 PIO because no devices
    K : clear_pci_ide_interrupts: port[FB02] = 60 -> 60; port[FB0A] = 40 -> 40
    K : clear_pci_ide_interrupts: port[F402] = 00 -> 00; port[F40A] = 00 -> 00
  • Mario_r4 wrote:Результаты тестов не показательны, поскольку ограничены скоростью записи на USB (особенное если это SD карта, а не USB флеш), а PIO сам по себе, если CPU не занят другими задачами может достигать заметных значений для линейного чтения/записи.
    В твоем же случае это явно ограничение скорости работы с USB флеш: 2,95 МB/s для DMA и 1,28 МB/s для PIO. Для уменьшения эффекта нужно копировать на дополнительный рамдиск.
    Перепроверил те же файлы, но теперь копировал с /hdX на /tmp0/1.
    Результат намного лучше, с огромной разницей в пользу UDMA (диск hd0 работал с PIO, а диск hd2 - с UDMA):
    Копирование файла 177MB с /hd2/2 (UDMA) на /tmp0/1 заняло 10 секунд.
    Копирование файла 173MB с /hd0/2 (PIO) на /tmp0/1 заняло 1 минуту 12 секунд.
    Итого, скорость чтения: PIO - 2.4MB/s, UDMA - 17.7MB/s. Проверял специально несколько раз, и после каждого раза перезагружался, чтобы память обнулилась.
    Mario_r4 wrote:Еще можно физически отключить ATAPI привод и копировать с жесткого на жесткий, если там есть FAT32 раздел. Еще есть подозрение, что скорость NTFS драйвера не самая оптимальная.
    FAT32, к сожалению, нет и не будет - это мой рабочий компьютер, и нужно пользоваться тем, что дают на работе (во всяком случае, не будет в рабочее время - разве что принести из дому свой собственный диск с FAT32 и вставить в корпус, пока никто не видит). :-)
  • yogev_ezra wrote:Результат намного лучше, с огромной разницей в пользу UDMA (диск hd0 работал с PIO, а диск hd2 - с UDMA):
    Копирование файла 177MB с /hd2/2 (UDMA) на /tmp0/1 заняло 10 секунд.
    Копирование файла 173MB с /hd0/2 (PIO) на /tmp0/1 заняло 1 минуту 12 секунд.
    Итого, скорость чтения: PIO - 2.4MB/s, UDMA - 17.7MB/s. Проверял специально несколько раз, и после каждого раза перезагружался, чтобы память обнулилась.
    1) Это не скорость чтения - это скорость копирования. Скорость чтения несколько выше. Запись даже на рамдиск в FAT32 все же занимает некоторое время.
    2) Перезагружаться было не обязательно - можно считать или скопировать другой файл, размером более 1 Мб, поскольку в Колибри пока больше 1 Мб на устройство не выделяется в связи с особенностями реализации кэша.
    3) Если копировал с помощью KFAR, то у него есть ограничение на размер копируемого блока - ЕМНИП он копирует по 32 Кб за одно обращение. Так что рекомендую проверить копирование с помощью KFM - он использует намного большие размеры блоков для копирования, тем самым достигается заметно более высокая скорость. Хотя это в теории считается менее безопасным, если у компьютера нет резервного источника питания (UPS).
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • SVN #4822
    Процессор: Intel Atom D510
    Материнская плата: Intel D510MO. На плате есть 1 SATA controller, встроенный в южный мост NM10, поддерживающий до 2 SATA устройств в режиме IDE/AHCI.
    Был подключен 1 SSD диск 240GB SPK-SF12-M240 (отформатированный в NTFS).

    В режиме SATA IDE Колибри видит диск, выставляет UDMA-режим, и на чтение вроде всё работает нормально.
    Копирование файла 207MB с /hd2/1 на /tmp0/1 через KFAR заняло 36 секунд; через KFM - 10 секунд.
    Копирование файла 471MB с /hd2/1 на /tmp0/1 через KFAR заняло 2 минуты 36 секунд; через KFM - 22 секунды.
    Итого, скорость копирования через KFAR: 3 ~ 5.75 MB/s, через KFM: 20.7 ~ 21.4 MB/s.
    Логи PCIDEV + BOARD прилагаю.
    Mario_r4 wrote:3) Если копировал с помощью KFAR, то у него есть ограничение на размер копируемого блока - ЕМНИП он копирует по 32 Кб за одно обращение. Так что рекомендую проверить копирование с помощью KFM - он использует намного большие размеры блоков для копирования, тем самым достигается заметно более высокая скорость. Хотя это в теории считается менее безопасным, если у компьютера нет резервного источника питания (UPS).
    Ты прав, в предыдущем тесте копирование было произведено через KFAR. В этом тесте я исправил недочёт, и сравнил KFAR / KFM.
    Attachments
    Downloaded 378 times
    Downloaded 373 times
  • SVN #4797
    Dell Vostro 1540
    Процессор: Intel Core i3 M380
    На мат. плате контроллер дисков Intel P55/PM55 (так пишет программа бенчамарков, внутрь не глядел, скорее всего часть южного моста)
    НЖМД WD5000BPVT-75HXZT3 в режиме ATA не видит.
    Всего в БИОСе два SATA Mode: ATA/AHCI. Чесслово!
    Attachments
    Downloaded 366 times
    Downloaded 370 times
  • gtament wrote:SVN #4797
    Dell Vostro 1540
    Процессор: Intel Core i3 M380
    На мат. плате контроллер дисков Intel P55/PM55 (так пишет программа бенчамарков, внутрь не глядел, скорее всего часть южного моста)
    НЖМД WD5000BPVT-75HXZT3 в режиме ATA не видит. 9
    Всего в БИОСе два SATA Mode: ATA/AHCI. Чесслово!
    Просьба проверить ftp://ftp.kolibrios.org/users/Mario/tem ... evicesi.7z в режиме ATA. (Вообще можно проверить только в ATA режим любое железо, так как AHCI мне в этой теме не нужен). Лог от BOARD нужно выложить сюда, лог от PCIDEV не нужен, т.к. там ничего не меняется.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Done!
    Attachments
    BOARDLOG.TXT (10.6 KiB)
    Downloaded 378 times
  • gtament wrote:Done!
    Я увеличил время задержки при посылке команды, так что есть вероятность, что на черный экран будет висеть несколько дольше чем обычно.
    ftp://ftp.kolibrios.org/users/Mario/tem ... evices1.7z
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Tested. Not helped
    Attachments
    BOARDLOG.TXT (10.61 KiB)
    Downloaded 375 times
  • SVN r.4838 - Fix for IDE controller. Some weird controllers generate an interrupt even if IDE interrupts are disabled and no IDE devices. For example, notebook ASUS K72F - IDE controller 010185 generates false interrupt when we work with the IDE controller 01018f. For this reason, the interrupt handler does not need to be installed if both channel IDE controller running in PIO mode.

    Некоторые странные контролеры генерируют прерывания даже если прерывания IDE отключены и нет устройств. Например в ноутбуке ASUS K72F контроллер IDE 010185 генерирует ложные прерывания, когда мы работаем с IDE контролером 01018f. По этой причине обработчик прерывания не нужно устанавливать, если оба канала IDE контроллера работают в PIO режиме.

    gtament
    Ревизия 4838 твоей проблемы не затрагивает, так что можно не проверять. Я жду от тебя полный lspci
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • SVN r.4839 дополнение к ревизии 4838.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Dell Vostro 1540
    *Лог уже поправил на ATA
    Attachments
    lspci.txt (22.15 KiB)
    Downloaded 382 times
    Last edited by gtament on Tue Apr 15, 2014 8:56 pm, edited 1 time in total.
  • Dell Vostro 3300. В IDE-режиме не видно ни жёсткого диска, ни CD. В Linux в том же режиме и то, и другое видно. Лог от lspci -vvv:
    Attachments
    lspci-vvv.txt (29.61 KiB)
    Downloaded 394 times
    Сделаем мир лучше!
  • С r4841 у меня работает.
    Сделаем мир лучше!
  • Who is online

    Users browsing this forum: No registered users and 11 guests