Jump to content

    

Передача данных по SATA от хоста к хосту

Recommended Posts

FlashPlayer13

Коллеги, доброго времени суток.

Есть задача - передать данные между двумя хостами по sata проводу. Один хост только пишет, другой только читает. NAS не подходит из-за отсутствия интерфейса нужного.
С одной стороны вот такая вот плата: Marvell 88SE9230. Это - sata адаптер, с подключением к PCIe шине. На нем прошивка, которая позволяет считать нужные данные с шины и записать их в sata порт.
С другого конца - ПК, на котором хочется эти данные получить.
Работает следующая схема: с платы пишем на диск, подключенный по sata, отключаем диск от платы, подключаем к ПК, читаем данные.
Хочется, чтобы передача данных работала автоматически, без физических действий от пользователя.
Очень похоже, что надо лепить какую-то самоделку для такой задачи, которая работает как диск для двух хостов сразу с дополнительным портом для получения сигнала извне - когда переключиться с одного хоста на другой (с записывающего на читающий).
Может уже существует что-то готовое? А если нет - кто поможет такое слепить?

Share this post


Link to post
Share on other sites

rkit
8 hours ago, FlashPlayer13 said:

Очень похоже, что надо лепить какую-то самоделку для такой задачи, которая работает как диск для двух хостов сразу с дополнительным портом для получения сигнала извне - когда переключиться с одного хоста на другой (с записывающего на читающий).

Кошмар какой. Поставь на плату etherneт и не усложняй себе жизнь. Или usb слейв.

Edited by rkit

Share this post


Link to post
Share on other sites

makc
8 часов назад, FlashPlayer13 сказал:

Может уже существует что-то готовое? А если нет - кто поможет такое слепить?

Посмотрите в направлении плат-мультиплексоров SATA - https://www.dns-shop.ru/product/6bab4fe86ff730b1/kontroller-espada-sata-1-port-to-5-port-multipier-card/

 

Share this post


Link to post
Share on other sites

rkit
4 minutes ago, makc said:

Посмотрите в направлении плат-мультиплексоров SATA - https://www.dns-shop.ru/product/6bab4fe86ff730b1/kontroller-espada-sata-1-port-to-5-port-multipier-card/

 

Это мультиплексоры один ведущий — несколько ведомых, а не наоборот.

Share this post


Link to post
Share on other sites

makc
27 минут назад, rkit сказал:

Это мультиплексоры один ведущий — несколько ведомых, а не наоборот.

Я думал, что там используется высокоскоростной коммутатор сигналов SATA, которому все равно, кто ведущий, а кто ведомый. Что-то типа https://www.ti.com/product/HD3SS3412

Дополнение: да, вы на 100% правы, в этой плате используется SATA PM - https://sata-io.org/developers/sata-ecosystem/port-multipliers 

Значит ТС нужно делать аппаратный самый простой мультиплексор.

Share this post


Link to post
Share on other sites

rkit
1 hour ago, makc said:

Значит ТС нужно делать аппаратный самый простой мультиплексор.

И останется всего-то найти компьютер и ос, умеющие горячее подключение сата.

Share this post


Link to post
Share on other sites

makc
8 часов назад, rkit сказал:

И останется всего-то найти компьютер и ос, умеющие горячее подключение сата.

Под линуксом это прекрасно работает. Наверное и под виндой тоже можно это обеспечить.

Share this post


Link to post
Share on other sites

rkit

В линуксе всё зависит от драйверов на конкретный контроллер. И количества времени, которое пользователь должен убить на то, чтобы заставить их работать.

Share this post


Link to post
Share on other sites

makc
9 минут назад, rkit сказал:

В линуксе всё зависит от драйверов на конкретный контроллер. И количества времени, которое пользователь должен убить на то, чтобы заставить их работать.

Можете привести примеры контроллеров, с которыми это не работает? По имеющемуся у меня опыту на совершенно разных интеловских чипсетах в режиме AHCI никогда проблем с горячим переподключением не было. В режиме совместимости (IDE) это вроде и не должно работать.

Share this post


Link to post
Share on other sites

FlashPlayer13
13 часов назад, rkit сказал:

Кошмар какой. Поставь на плату etherneт и не усложняй себе жизнь. Или usb слейв.

 

Я согласен, кошмар. Но имеем, что имеем)
Вы предлагаете на плату распаять ethertnet разъем?
Вообще основная изначальная идея взята отсюда: https://habr.com/ru/post/532672/
Там автор предлагает припаять UART для передачи сигналов на контроллер, а на самом контроллере производить операции с памятью.
И это работает, но я ищу решение без доп. пайки и такое, которое позволяет в короткие сроки сдампить всю память и уже на своей стороне разбираться, что с ней делать.

13 часов назад, makc сказал:

Значит ТС нужно делать аппаратный самый простой мультиплексор.

Спасибо за совет. По названию мне кажется это то, о чем я и думал с самого начала, но не знал как называется)
Я на том уровне понимания, что мне нужен либо пример реального устройства, который работает, как нужно, либо описание, как это должно работать, чтобы я смог составить объявление с заказом такой железки)
Можете тыкнуть носом, где прочитать подробнее - что это и как работает? Гугл не дал результатов почему-то.

Share this post


Link to post
Share on other sites

makc
17 минут назад, FlashPlayer13 сказал:

Спасибо за совет. По названию мне кажется это то, о чем я и думал с самого начала, но не знал как называется)
Я на том уровне понимания, что мне нужен либо пример реального устройства, который работает, как нужно, либо описание, как это должно работать, чтобы я смог составить объявление с заказом такой железки)
Можете тыкнуть носом, где прочитать подробнее - что это и как работает? Гугл не дал результатов почему-то.

Я использовал для мультиплексирования микросхему https://www.ti.com/product/HD3SS3212

Посмотрите её описание и логику работы, это по сути своей простой коммутатор высокоскоростных сигналов 1-к-2. Вам нужна плата на основе такого мультиплексора с управлением, которое бы вам позволяло выбирать активный канал из операционной системы, например, через простой выход типа GPIO или же через команду по какому-либо интерфейсу типа I2C/SPI/UART и т.п. Если рассматривать вариант интеграции в обыкновенный настольный компьютер, то я бы наверное остановился на варианте https://www.ti.com/product/HD3SS3212 + https://www.ti.com/product/PCA9536 и подключении к шине SMBUS, которая есть в разъемах PCI Express на материнской плате. Поскольку вы не описали детально вашу систему, то посоветовать что-то более детальное сложно.

Share this post


Link to post
Share on other sites

_pv

вроде бывают двухпортовые SAS диски, возможно для удвоения скорости.

но вот что будет если эти порты в разные ПК воткнуть, а не в спец контроллер, и в какую сторону там с SATA совместимость - большой вопрос.

 

и ещё немного полуоффтопа: что это такое, и каким вообще образом???

HTB1uOgwXynrK1Rjy1Xcq6yeDVXaz.jpg

Share this post


Link to post
Share on other sites

FlashPlayer13

Прикольная штуковина)
Я кстати, на правах рекламы, создал тему-заказ в другом разделе, где описал общие требования к проекту. Вдруг удастся найти заказчика..

 

Share this post


Link to post
Share on other sites

RobFPGA
2 hours ago, _pv said:

и ещё немного полуоффтопа: что это такое, и каким вообще образом???

Позволяет закрепить дополнительный SATA SSD в свободном слоте RAM ну и питание от туда взять. И всего то. :yes3:

Share this post


Link to post
Share on other sites

FlashPlayer13
5 минут назад, RobFPGA сказал:

Позволяет закрепить дополнительный SATA SSD в свободном слоте RAM ну и питание от туда взять. И всего то. :yes3:

Судя по всему даже питание не нужно брать, так как есть отдельный для этого коннектор.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.