Одноранговая связь между устройствами PCIe?

Для того чтобы включить p2p-связь между твердотельными накопителями NVMe и другими устройствами PCIe, мне интересно, нужно ли мне внести некоторые изменения в ядро ​​Linux и драйвер NVMe, и что-то еще? И какие модификации я должен сделать? Я искал несколько дней, но информации об этом мало, мне нужны ссылки. Большое спасибо!

0 ответов

Есть спецификация NVMe. функция под названием "Запись данных буфера памяти контроллера". В свою очередь, CMB Write Data поддерживает P2P-транзакции между устройством NVMe и чем-то еще на шине PCIe. Хотя большая часть спецификации CMB была реализована в последнем восходящем ядре, CMB Write Data не реализована. Проблема с CMB в том, что он предлагает очень мало памяти для этих P2P-транзакций. Это одна из причин, по которой никто еще не реализовал эту функцию вверх по течению. Однако вы можете поиграть с ним через драйвер / фреймворк NVMe пользовательского пространства, SPDK.

Также обратите внимание, что есть новая спецификация NVMe. функция под названием постоянная область памяти. У него гораздо больше памяти, с которой можно поиграть, и я подозреваю, что кто-то внесет ее в апстрим в не столь отдаленном будущем.

https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2018/20180808_SOFT-201-1_Bates.pdf - полезный справочный материал.

Другие вопросы по тегам