Basicamente, qualquer controlador USB com DMA descarregará as transferências de dados em massa para o controlador DMA no chip, em vez de fazer o CPU PIO. Pelo que eu vi a maioria dos controladores não tem DMA, é difícil encontrar.
No mercado de placas controladoras de disco rígido - as placas de gama alta (LSI, 3Ware) possuem sua própria CPU e RAM on-board, e cuidam da interação com o disco rígido, notificando apenas a CPU do sistema após os dados terem sido foi transferido completamente.
Existe um cartão que fornece funcionalidade equivalente para periféricos USB? (Assim, as transferências de dados de vários gigabytes para um dispositivo conectado via USB teriam uma sobrecarga insignificante de CPU, como ocorre com os cartões SAS / SATA mencionados acima?
Estou ciente de que um cartão barato pode suportar DMA. E que 1394 cartões podem suportar DMA. Estou perguntando sobre a existência de uma placa que implementa totalmente o protocolo, gerencia o barramento e transfere os dados em si, apenas transferindo blocos de dados para o SO do host quando eles estão totalmente desligados.
Basicamente, qualquer controlador USB com DMA descarregará as transferências de dados em massa para o controlador DMA no chip, em vez de fazer o CPU PIO. Pelo que eu vi a maioria dos controladores não tem DMA, é difícil encontrar.
Tags hardware usb controller