Не уверен, если вы спрашиваете о PCI или PCIe. Вы использовали оба термина, и ответ у каждого разный.
Если вы говорите о устаревшей шине PCI: Ответ - «да». Board to board DMA выполнимо. Например, платы видеозахвата могут записывать видеокадры DMA непосредственно в память вашей видеокарты.
В вашем примере видеокарта может напрямую подключаться к запоминающему устройству. Однако данные будут довольно «необработанными». Например, ваша сетевая карта не имеет понятия о файловой системе. Вам также необходимо убедиться, что вы можете запрограммировать механизм DMA сетевого адаптера, чтобы он находился в пределах регистров контроллера SATA. Вы не хотите уходить с конца бара!
Если вы говорите о современной шине PCIe: Ответ "обычно нет, но это зависит". Транзакции между одноранговыми шинами - забавная вещь в спецификации PCI Express. Корневые сложные устройства не обязаны поддерживать его.
В моем тестировании одноранговый DMA будет работать, если ваши устройства находятся за PCIe-коммутатором (напрямую не подключенным к материнской плате). Однако если ваши устройства подключены напрямую к чипсету (Root Complex), одноранговый DMA не будет работать, за исключением некоторых особых случаев . Наиболее заметным частным случаем будет пример захвата видео, который я упоминал ранее. Особые случаи упомянуты в спецификациях чипсета.
Мы проверили одноранговый PCIe DMA с несколькими различными чипсетами Intel и AMD и обнаружили согласованное поведение. Хотя не тестировал последние поколения чипсетов. (Мы обсуждали отсутствие одноранговой поддержки PCIe DMA с Intel, не будучи уверенными в том, что наши отзывы повлияли на их технический отдел.)