Скорость работы с IDE дисками

Drive subsystem, filesystem drivers
  • Почитал разного, в том числе какую-то суровую документацию. Стала вырисовываться целостная картина. Sector count касается передачи данных между диском и внутренним буфером. Передача между буфером и оперативной памятью осуществляется по одному сектору с последующим ожиданием, поэтому команды READ SECTORS после каждого сектора генерируют прерывания. В своём драйвере я использовал команду READ MULTIPLE EXT (29h), она выдаёт данные блоками. Перед ней нужно слать SET MULTIPLE MODE, но по умолчанию выставляется максимальный размер блока (видимо равный размеру внутреннего буфера). У меня SATA в режиме IDE, буфер 16 мб - потому и работало.
    Чтобы сделать нормальную поддержку LBA28 (если она ещё кому-то нужна), надо будет сделать проверку так-же как и проверку DMA. Причём ATA поддерживает DMA с самого начала, тогда не совсем понял, в каких случаях будет использоваться PIO?
  • PIO будет использоваться для обратной совместимости с кучей доисторического хлама и для мат.плат не включающих поддержку DMA в силу своей допотопности, либо при объединении в soft-RAID, JBOD-RAID нового винта с допотопным т.е. никогда.
  • Тогда возникает ещё два вопроса. Совместим ли доисторический хлам с ATA драйвером? Будет ли использоваться PIO48?

    Нет, похоже максимальный размер блока для READ MULTIPLE - 16 секторов. Мой драйвер работал параллельно с виндовым, но всё равно не понимаю как.
  • Что-то теория не сходится с практикой. PIO mode 4 обещает скорость до 16 МВ/с. Вроде всё сделал правильно, а скорость не изменилась. Использовал READ SECTORS EXT с отгрузкой по одному сектору. Может это у меня что-то? Сравните скорость копирования ntfs -> ntfs и другие расклады. (Меня интересует IDE, но можно проверить и USB hard drive, там разница должна быть огромной)
  • Или вот READ MULTIPLE EXT с отгрузкой по 16 секторов. Скорость не изменилась, но индикатор жёсткого диска теперь почти не светится. В вашем караване точно больше нет верблюдов? Может маленькие? Или спрятались... верблюды ниндзя ?!
  • На всякий случай предупрежу, если на SATA НЖМД перемычка, лучше снять.
    Тебя интересует IDE режим или IDE - устоявшееся название класса дисков, по названию их кабеля?
    Для USB использовать эмуляцию SCSI или SATA диска?
    Для штатного SATA могу предопределенно выставить конкретный режим от самых первых PIO до более-менее современных DMA режимов. Соответственно, в каких режимах потестировать?
    Будет ли существенная разница от установки SATA в слот мастера или ведомого?
  • Вижу будут проблемы. Нужно тестировать в живую, как я, а это наверно никто делать не будет. Я пока ещё себе ничего не запорол, но у меня и терять нечего. Изначально я думал, что проблемы со скоростью только на уровне файловой системы; в ntfs.inc эта проблема устранена. Потом оказалось, что тоже самое и в драйверах; работаю над IDE драйвером hd_drv.inc, пока только PIO32 и то не оправдывает ожиданий... совсем. Боюсь, что могут быть ещё проблемы... может со скоростью PCI, на ней же всё сидит. Интересует реальный механический диск в IDE режиме, остальное не важно. Ну и, если верить CleverMouse, в USB драйвере должно быть всё кошерно, то-есть ntfs уже сейчас должен летать. Тоже можно проверить, но опять таки нужен реальный диск, подключённый по USB.
  • Могу подключить реальный диск через USB-SATA/IDE переходник. Надо проверить скорость чтения/записи, верно? Утилитой fspeed можно это сделать?
    to infinity and beyond
  • Только не fspeed. Мне лень разбираться, но наверняка что-то сферическое в вакууме. Писал тот же Марио, мог что-то нахимичить с учётом особенностей своих драйверов. Берёшь часы, засекаешь время копирования файла. Погрешность раза в два не критична - на кону гораздо больше. Меня интересует конечный результат, теорией сыт по горло. И с данными осторожно, я ничего гарантировать не могу.
  • Ограничение в USB 2.0 даст только скорость для разгона, но не для полета. :D
    Тестировать надо в FAT, EXT, NTFS по отдельности, а копировать с RAM-диска и на него...
  • USB 2.0 High-speed 25—480 Мбит/с (видеоустройства, устройства хранения информации) - гораздо больше чем 2 МБ/с
    Новые функции сейчас только в NTFS, остальное должно работать одинаково.
  • Время копирования файла зависит от того, как копировать. И от того, насколько фрагментированы файл-источник и файл-назначение. Копирование в KFar, например, не показатель.
    Сделаем мир лучше!
  • CleverMouse wrote:kfar копирует блоками по 64K
    Точно, kfar не пойдёт. К тому же, NTFS пока не умеет дописывать файлы.
  • Pathoswithin wrote:Тогда возникает ещё два вопроса. Совместим ли доисторический хлам с ATA драйвером? Будет ли...
    Тот, который IDE-диск, вроде, да, а на счет 48 сейчас не вспомню, но такой драйвер точно должен уметь работать без LBA :mrgreen:
  • Who is online

    Users browsing this forum: No registered users and 4 guests