реклама на сайте
подробности

 
 
> ПЛИС -> PCIe -> NVMe -> M.2 без SoC, Реализуемо?
syoma
сообщение May 18 2018, 16:32
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Собственно вопрос - в системе есть Virtex-7 с PCIe и хотим стримить огромное количество данных на SSD по возможности напрямую через PCIe без участия центрального процессора. Потом эти данные нужно будет из SSD прочитать, возможно с помощью той же самой ПЛИС. Кто-нибудь такое уже делал? Реализуемо без всяких Petalinux, чисто на логике?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RobFPGA
сообщение May 18 2018, 16:54
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(syoma @ May 18 2018, 19:32) *
Собственно вопрос - в системе есть Virtex-7 с PCIe и хотим стримить огромное количество данных на SSD по возможности напрямую через PCIe без участия центрального процессора. Потом эти данные нужно будет из SSD прочитать, возможно с помощью той же самой ПЛИС. Кто-нибудь такое уже делал? Реализуемо без всяких Petalinux, чисто на логике?
Вы хотите чтобы FPGA была как root-complex на PCIe? или просто master - слать данные из FPGA на диск через PCIe напрямую.
И то и другое в принципе реализуемо но не думаю что совсем без поддержки софта можно будет обойтись.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
syoma
сообщение May 22 2018, 07:34
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата(RobFPGA @ May 18 2018, 18:54) *
Вы хотите чтобы FPGA была как root-complex на PCIe? или просто master - слать данные из FPGA на диск через PCIe напрямую.

Root Complex в системе есть. Хотим просто, чтобы FPGA выступала как мастер для этих данных. Фактически, сейчас мастер в FPGA периодически шлет по PCIe данные в DDR память процессорного модуля (ее там много), а процессор затем по триггеру сливает эту память в свою флеш. Медленно и затратно. Хотим сделать напрямую без задействования процессора.

Цитата
Мне кажется, пересылка между двумя PCIe EP должна поддерживаться чуть ли не с пол пинка, чуть ли не штатно. Я ошибаюсь? Только знать адрес второго устройства на шине и всё - дальше как обычно. Поправьте.

В принципе так и есть. У нас FPGA мастерит весь трафик на PCIe.

Цитата
Другое дело что доступ к SSD завернут в такой хитрючий протокол, что я не знаю как можно это чисто на логике сделать, или даже с soft-CPU без Linux. Ну можно наверное, но будет на уровне персонального героизма.

В том-то и дело, что c NVMe все должно стать гораздо проще. Никаких SATA, AHCI и прочей белиберды. И даже вроде как корки готовые существуют - https://www.xilinx.com/products/intellectua...y/1-f2v39l.html Вопрос именно в том, что это за фигня и насколько сложно забебехать такое самому. Ну и скорость тоже интересует.

Цитата
собственно, ремарка номер раз - хватит ли одного ссд диска по пропускной способности?

Должно хватить. В принципе ориентируемся на перформанс одного диска, если не будет хватать - будем снижать количество данных. По любому должно быть быстрее, чем через процессор.

Собственно вопрос с софтом упирается в такое: можно ли писать на SSD данные без файловой системы или можно сделать какую-либо примитивную ФС только с помощью логики? Тот же Microblaze убьет всю скорость очень быстро. Zyncа в наличии нет.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 22 2018, 08:57
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(syoma @ May 22 2018, 10:34) *
В том-то и дело, что c NVMe все должно стать гораздо проще. Никаких SATA, AHCI и прочей белиберды. И даже вроде как корки готовые существуют - https://www.xilinx.com/products/intellectua...y/1-f2v39l.html Вопрос именно в том, что это за фигня и насколько сложно забебехать такое самому. Ну и скорость тоже интересует.
Думаю сделать такое не особо сложно - так как тут только логический уровень а физ. интерфейс стандартный - в основном геморой будет со вниканием в спецификацию и нюансы работы с NVM. Ну и отсутствие BFM для моделирования NVM добавить работы c железом.
Плюс в том что все можно сначала чисто на софте попробовать а потом уже перенести в FPGA.

Цитата(syoma @ May 22 2018, 10:34) *
Должно хватить. В принципе ориентируемся на перформанс одного диска, если не будет хватать - будем снижать количество данных. По любому должно быть быстрее, чем через процессор.
Ну это смотря какой проц. Да и буферизация в большой системной памяти играет свою роль. Так как у SSD всегда есть провалы скорости (иногда непредсказуемые и ну очень печальные).

Цитата(syoma @ May 22 2018, 10:34) *
Собственно вопрос с софтом упирается в такое: можно ли писать на SSD данные без файловой системы или можно сделать какую-либо примитивную ФС только с помощью логики? Тот же Microblaze убьет всю скорость очень быстро. Zyncа в наличии нет.
Писать и читать можно и без FS - тупым автоматом. Но совсем без файловой системы будет неудобно на мой взгляд. Но всегда можно подобрать что то или сваять свой велосипед упростив и оптимизировать для конкретных задач - например пишем линейно, крупными блоками. Для подобного и MB сгодится так как через него будет идти совсем немного для управления блоками.
Естественно нужно оценить что будет выгоднее - свой велик или адаптация чего то готового.

Удачи! Rob.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 02:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016