Одноранговая связь между устройствами 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 - полезный справочный материал.