На рынке карт контроллеров жестких дисков - карты более высокого уровня (LSI, 3Ware) имеют собственный встроенный ЦП и ОЗУ и заботятся о взаимодействии с жестким диском, уведомляя ЦП системы только после того, как данные были полностью переданы. .
Есть ли карта, обеспечивающая аналогичные функции для периферийных устройств USB? (Таким образом, передача многогигабайтных данных на устройство, подключенное к USB, будет иметь незначительную нагрузку на ЦП, как в случае с вышеупомянутыми картами SAS / SATA?
Я знаю, что дешевая карта может поддерживать DMA. И эти 1394 карты могут поддерживать DMA. Я спрашиваю о существовании карты, которая полностью реализует протокол, управляет шиной и передает сами данные, передавая блоки данных в ОС хоста только тогда, когда они полностью отключены от сети.
По сути, любой USB-контроллер с DMA будет разгружать массовые передачи данных на встроенный контроллер DMA вместо выполнения CPU PIO. Из того, что я видел, делают большинство контроллеров не есть DMA, найти сложно.