Moin moin, üblicherweise werden Speicher mit PCIe Interface mit vier Lanes angeschlossen. Beispiele sind M.2 und U.2. Im Internet gibt es aber diverse Beiträge, in denen es darum geht, dass der Fragesteller seine M.2 nur mit einer oder zwei Lanes betreiben kann. Gründe dafür sind u. A., dass die Lanes irgendwie shared sind und schon anderweitig genutzt werden, dass bifurcation aktiviert ist, möglicherweise gibt's auch noch andere Gründe. Jedenfalls scheinen M.2 SSDs auch mit nur einer oder zwei Lanes zu laufen und müssen nicht immer vier aktive Lanes Anliegen haben. Ich kann nun nicht sagen ob es nur mit bestimmten Speichercontrollern funktioniert oder ob es vielleicht sogar Teil der NVMe Spezifikation ist. Fakt scheint aber zu sein, dass es unter gewissen Umständen geht. Mir fehlt die Produktübersicht, aber ich könnte mir auch gut vorstellen, dass gerade bei Einplatinenrechnern auch öfter mal aufgrund minimalistische Platinendesigns oder wegen geringer Anzahl der Lanes in den SoCs nicht immer vier Lanes möglich sind. Ich würde mir diese Eigenschaft daher gerne zu Nutze machen und gezielt eine größere Anzahl M.2-Speicher mit nur einer oder zwei Lanes an PCIe4.0/5.0 Slots, egal ob x2, x4, x8 oder x16 Lanes anbinden. Natürlich geht das nur wenn die Slots Bifurcation x2x2... oder x1x1... unterstützen, aber dank AMD können das ja heutzutage nicht nur Profiboards, sondern auch viele Consumerboards. Warum ich das machen will ist schnell erklärt. Ich würde gern ein x64 basierte Speichersystem (ZFS) bauen, welches 1. möglichst stromsparend ist, 2. wenig Platz braucht, 3. viel Speicheranschlüsse bietet, 4. möglichst wenig kostet, 5. für Dauerbetrieb geeignet ist, 6. ausreichend Rechenleistung für 10G 7. bei Vollverschlüsselung bietet. Ich dachte da an ein Ryzen basiertes System mit Micro ATX oder kleinerem Board, was dann entsprechend maximal drei PCIe Slots hat. Um genau zu sein hab ich bereits ein potentes Ryzen System für so einen Zweck am laufen. Ich würde dieses aber gerne von HDD Betrieb mit dem üblichen auf IT Mode geflahten HBA auf All Flash ohne HBA umstellen. Die Platten und der HBA brauchen im Dauerbetrieb zu viel Strom, sind zu laut und produzieren viel Abwärme. Das alles wäre mit M.2 Speichern die ja immer billiger werden problemlos machbar. Auf ein so kleines Board bekommt man aber maximal ein oder zwei M.2 Karten drauf, die dann sowieso eher fürs Betriebssystem als für die Datenhaltung genutzt werden. Was Erweiterungskarten angeht gibt es da aber folgende Aspekte die mir da in die Suppe spucken: Aktuell gibt es die Möglichkeit Erweiterungskarten zu kaufen, um mehr M.2 Slots in ein PC-System zu bekommen. Diese Karten binden die M.2-Speicher aber immer mit vier Lanes an. Solche Karten gibt's als a) passive Variante ohne aktiven Controller Chip oder b) mit aktivem Controller Chip. a) Die passiven Karten benötigen dann in jedem Fall x16 Slots mit aktiven x4x4x4x4 Bifurcation. Außerdem wird je vier M.2 Speicher ein x16 Slot benötigt. Bei acht angedachten SSD brauchts dann also schon zwei x16 Slots, bei bis zu 12 M.2 drei x16 Slots usw. Das bedeutet, dass dieser Ansatz automatisch zu einem großen Gehäuse und großem Mainboard führt, denn in der Regel nutzen diese Karten auch die volle Steckplatzhöhe aus und die Skalierung ein Slot pro vier M.2 ist auch ungünstig. b) Bei den aktiven Karten ist dann ein PCIe Switch verbaut, der gleichzeitig auch Raidcontroller und/oder HBA ist. Diese Karten haben bis zu 16 Kanäle und können somit 16 SATA oder SAS Laufwerke anbinden oder wiederum vier M.2 bzw U.2 Laufwerke. SATA/SAS haben aber folgende Nachteile: Diese Laufwerke sind als Flashvariante in der Regel 2,5" groß* und SATA und SAS ist nicht so schnell pro Kanal wie NVMe über PCIe4.0/5.0. Außerdem hat SATA/SAS höhere Latenzen als M.2 weil es nicht direkt an der CPU hängen kann. Außerdem beißt sich so eine Karte mit dem Ziel, Strom und Geld zu sparen und in der Regel handelt es sich auch bei so einer Karte um größere Exemplare in voller Höhe, die zudem gut gekühlt werden sollten. *Es gibt natürlich auch M.2 die SATA können, aber dann braucht man eben auch wieder zwingend einen aktiven Controller um genug Laufwerke anzubinden. Ich würde also gerne irgendwie jeden M.2 Speicher gerne mit maximal eine oder zwei PCIe Lanes über die vorhandenen PCIe Slots anbinden. Einfach deshalb, weil darüber günstig viele Speicher angebunden werden könnten. Über PCIe 4.0 wären das netto bis zu 2GB/s pro Lane und bei PCIe 5.0 4GB/s. Dass das technisch funktionieren sollte hab ich ja ganz zu Anfang bereits erläutert. Ich stelle mir aber noch die Frage, wie man das zielgerichtet und strukturiert angeschlossen bekommt? Weiß jemand, ob es entsprechende Riser, Boards, Kabelbäume, Steckeradapter oder sonstwas gibt, um diese Ziel zu erreichen? Gibt's im Elektronikfachhandel entsprechende Einzelteile um sich sowas selbst zusammen zu bauen, auch wenn man keine Kenntnisse über Elektrotechnik und Boarddesignd hat? Ich hab zwar schon ein bisschen auf Alibaba und anderen Elektronikshops gestöbert, bin aber noch nicht fündig geworden. Was meinen die Elektronikexperten zur grundsätzlich Überlegung. Kann das funktionieren, mal abgesehen davon, dass es entsprechendes Equipment zum Anschließen evtl. noch nicht gibt? Vielen Dank für eure Antworten und die Diskussion.
Hab nen Lösungsansatz. Ist noch ein bissel viel gestecke und adaptiererei, könnte aber zumindest technisch funktionieren. 1x 4 Port M.2 NVMe SSD to PCIE X16M Key Hard Drive Converter Reader Expansion Card, 4 x 32Gbps Transfer Speed (PH44) https://s.lazada.co.th/s.87DCX 4x M.2 M KEY PCI-E Riser Pcie Splitter 1 To 4 PCI Riser Card PCIe Multiplier Risers 1X To External 4 PCI-e Adapter Graphics Card https://s.lazada.co.th/s.87DZc 16x PCI-E Riser Mini PCIE PCI-E X1 https://s.lazada.co.th/s.87xyH 16x Adapter M.2 NVMe TO PCIE 3.0 X1 https://s.lazada.co.th/s.87DkI Cool wäre es natürlich, wenn es eine Platine mit M.2 Sockel geben würde, was gleich so nen USB Anschluss dran hat. Bitte beachten, dass es sich hier um USB Steckertechnik handelt aber PCIe X1 als Protokoll drüber geht. Bin gerade noch in Thailand, daher spuckt mir die Suche eher Lazada und nicht alibaba aus. Bin nur leider nicht mehr lang genug da um es zur Unterkunft liefern zu lassen und dann gleich für nen Test mitzunehmen.
:
Bearbeitet durch User
Du willst dir also sowas in der Art selberbauen? - https://www.supermicro.com/en/products/nvme 1.) Schau dir erstmal an was dein bevorzugter Chipsatz im Zusammenspiel mit der ausgewählten CPU überhaupt als bifurcation unterstützt. Ich kenne da üblicherweise nur x4x4x4x4, x4x4x8, x8x4x4, x8x8 und x16. 16 mal x1 habe ich noch nicht gesehen (heißt aber nicht das es nicht irgendwo sowas als sonderlocke gibt). Wenn du in eine x4 eine x1 Karte reinsteckst funktioniert diese zwar aufgrund der Abwärtskompatibilität, die anderen drei lanes bleiben dann halt unbenutzt. Bei dem ganzen Spiel musst du dann auch noch darauf achten ob die Lanes direkt von der CPU kommen oder von Chipsatz. Je nachdem kann es auch nochmal unterschiedlich sein was du dort für Möglichkeiten hast. Wenn der Chipsat kein passendes Konfigurationsregister für das was du willst hat, hilft dir auch ein eigenes BIOS nicht weiter. Es gibt auch Karten mit aktiven PCIe switch die ohne Bifurkation-Unterstützung des Mainbord auskommen (eine Architektur die von hause aus mehr Lanes hat dürfte da aber recht schnell günstiger kommen). z.B.: - https://www.aplicata.com/quattro-400/ - https://www.tomshardware.com/reviews/aplicata-m.2-nvme-ssd-adapter,5201-3.html Nackte "PCIe switch" gibt es von einigen Hersteller. Sowas eventuell mit einem FPGA kombiniert und selbst angepasster Software könnte schon funktionieren. Ob man davon allerdings genug verkauft bekommt um die Entwicklungskosten wieder rein zubekommen? - https://www.hardwareluxx.de/index.php/news/hardware/mainboards/53282-pcie-switch-von-microchip-bietet-bis-zu-100-pcie-4-0-lanes.html - https://www.broadcom.com/products/pcie-switches-bridges/pcie-switches - https://www.microchip.com/en-us/products/interface-and-connectivity/pcie-switches - https://www.diodes.com/design/support/technical-articles/top-3-uses-for-pci-express-switches/ Wenn du dir da selbst was Zusammenbauen willst was von dem handelsüblichen abweichst, darfst du in Schlechtesten fall dir ein eigenes BIOS/UFEI schreiben/anpassen, das Betriebssystem modifizieren und dir passende Treiber dafür schreiben und dazu noch eine passende Hardware designen. Wie so oft, wenn man das was man sucht fast garnicht findet, besser die Finger davon lassen weil das dann ganz schnell sehr aufwendig und extrem teuer wird.
Aus eigener Erfahrung bei NVME: x1 geht als fallback immer x2 geht nur mit ausgewählten SSD-ControllerICs x4 geht bei neuen NVME immer Auf Mainboardseite müßtest du die PCIe-Linkbündelung anpassen. Allerdings geht sowas selten bei Consumerboards. Bei einem x4 Slot hast du einen x4-Link gebündelt. Ohne den auf x1x1x1x1 aufzuspleißen wirds nicht funktionieren.
:
Bearbeitet durch User
Im Grunde will ich so viel NVMe wie möglich an einen PCIe Slot ran bekommen, da mir das Verhältnis 4:1 egal ob passive oder aktive Erweiterungskarte zu verschwenderisch ist. Wie gesagt, reicht die Geschwindigkeit einer oder zwei Lanes aus. Im Rahmen meiner Möglichkeiten klappt das nur, wenn es die Komponenten schon irgendwie fertig zu kaufen gibt und einfach etwas unkonventionell zusammen gesteckt werden muss. Eine Eigenentwicklung in dem Umfang den du skizziert hast kann ich nicht leisten. Aktive Karten machen halt absolut keinen Sinn wenn man nen X16 Slot zur Verfügung hat. Denn sie bieten keinen Vorteil gegenüber passiven Karten, die auf einem Board mit x4x4x4x4 Slot stecken. Der einzige Vorteil ist, dass man aktive Karten mittlerweile auch in nem x8 Slot betreiben kann und trotzdem vier NVMe dran bekommt. Der Einwand, ob es x1 Bifurcation für x16 Slots überhaupt gibt ist berechtigt. In meinem Tatendrang hab ich an sowas triviales gar nicht gedacht. Werde ich gleich mal checken wenn ich aus dem Urlaub zurück bin und parallel den Boardhersteller anschreiben und fragen, ob das überhaupt technisch möglich wäre. Wenn der Aufwand keine Geige spielen würde, wäre natürlich ein Board mit kaskadierten PCIe Switches eine Feine Sache. Dann könnte man auch schön mit mini SAS Steckern arbeiten und übliche Backplanes für diese Idee missbrauchen und pro 2,5" Slot zwei bis vier M.2 oder U.2 unterbekommen. Und da fällt mir auch gerade der nächste low Budget Lösungsansatz ein: Ich könnte mal versuchen in Erfahrung zu bringen, ob die üblichen HBAs die U.2/3 umgehen können x1 unterstützen und theoretisch 16 Devices über je eine Lane adressieren können . Dann könnte man vielleicht mit selbst gebauten Kabelbäumen mit nem mini SAS-Anschluss vier mal so viel NVMe dran bekommen. Denn Kabelbaum modifizieren liegt durchaus im Bereich der Möglichkeiten. Backplanes müsste man dann mal dann auf der Resterampe zusammen suchen.
:
Bearbeitet durch User
Im letzten System: 8 x 4 TB NVMe SSD = 64 TB auf 2 Karten verteilt. Alle SSD laufen mit voller Geschwindigkeit. Willst du ernsthaft z.B. 64 x 1 TB verbauen? Das ist doch Quatsch.
64 NVME will ich sicher nicht verbauen. Aber 8 mindestens, mit je 2 oder 4 TB. Auf diesem Speicher müssen nur ein paar VMs und heiße Daten liegen, die ständig verfügbar sein sollen. Für kalte Daten hab ich noch Spindeln die sich dann bei Nichtgebrauch deaktivieren und außerdem noch ein extra Backup System. Und weil sowieso ein ZFS zum Einsatz kommt, wird die Last auch gut verteilt. Und für 8 NVME brauchts aktuell nun mal mindestens zwei Slots, was mein Setup nicht zwingend her gibt oder nur dann, wenn ich an anderer Stelle Abstriche mache. Wie gesagt, ich will was kleines kompaktes bauen. der-michl: Danke für die Infos. Hast du zufällig auch Erfahrung welchen Impact die Reduzierung der Lanes auf die Leistung (RW-Rate, IOPS, etc) hat? Müssen keine harten Fakten sein, aber ein Bauchgefühl oder ne grobe Hausnummer wären schon mal hilfreich.
:
Bearbeitet durch User
Also, ich hab mir das gerade mal angeschaut. Bei meinem Board mit dem ich das vorhabe ( https://www.asrockrack.com/general/productdetail.asp?Model=X570D4U-2L2T ) hängen der x16 und x8 an der CPU, siehe Blockdiagramm Handbuch Seite 15. Warum der x8 im Blockdiagramm noch nen MUX zwischen Slot und CPU hat und was dieser MUX macht weiß ich nicht, aber mindestens der x16 sollte direkt an der CPU dran sein. Ich hab mir dann auch mal den Markt angeschaut. Es gibt einige AM4-Bretter, bei denen drei mechanische x1 Slots drauf sind, plus zusätzlich nochmal drei Slots zwischen x4 und x16, die natürlich auch alle x1-kompatibel sind, wenn man deren darüber hinausgehenden Lanes für sowas verschwenden will. Außerdem scheint es so zu sein, dass oft Onboard-Chips wie Grafikkarte, NIC, etc. über eine Lane am Chipsatz oder der CPU dran hängen. Das heißt auch für solche Anwendungsfälle muss es möglich sein, x1 anzubieten. Ich schlussfolgere daraus, dass die AMD-Plattformen (und wahrscheinlich auch Intel) zumindest hardwaretechnisch in der Lage zu sind, jede (oder zumindest die meisten Lanes in der CPU) als einzelne Lane zu adressieren und dass es dem Boardhersteller überlassen bleibt, wie er die Lanes aufteilt. Dementsprechend sollte es möglich sein, auch 16x1 oder 8x2 auf einen PCIe 16x Slot zu legen. Das hat bisher wahrscheinlich kaum ein Hersteller gemacht, weil es dafür bisher keinen oder kaum Anwendungsfälle für PCIe-Slots gibt. Bisher hab ich mit dem ASRock Rack Support nicht die schlechteste Erfahrungen gemacht. Ich hab denen jetzt mal geschrieben was ich vorhabe und gefragt, ob es möglich wäre, das vielleicht mal einzubauen.
Manu F. schrieb: > Dementsprechend sollte es möglich sein, auch 16x1 oder 8x2 auf einen > PCIe 16x Slot zu legen. Das hat bisher wahrscheinlich kaum ein > Hersteller gemacht, weil es dafür bisher keinen oder kaum > Anwendungsfälle für PCIe-Slots gibt. Mag sein. Hast Du denn das Know-How, Dir eine entsprechende PCIe-Karte selber zu designen? Zu kaufen gibts sowas nicht, also musst Du selber ran. Denke daran, dass Du für den PCIe RefClock entsprechende Clock Buffer brauchst. Du kannst natürlich auch sowas hier nehmen https://www.asrockrack.com/general/productdetail.asp?Model=ROMED4ID-2T#Specifications und an jeden der 6 SlimSAS Ports zwei SSDs hängen. Das Board kann das. 12 SSDs sollten eigentlich vorerst reichen, und jede SSD hätte 4 Lanes. fchk
Das Board und die Methode über SlimSAS klingt auch nicht schlecht. Wäre eine überlegenswerte Alternative. Boards kann ich nicht designen. Aber für genau diesen Fall hab ich das Equipment im ersten Beitrag zusammengestellt. Damit wäre es zumindest theoretisch möglich, plug and play jede einzelne Lane an jeweils eine SSD zu führen. Ob das funktioniert kann nur ein Versuch klären. Das macht aber auch nur Sinn, wenn Asrock 16x1 Bifurcation liefert.
:
Bearbeitet durch User
Ha, ich bin da gerade auf was schönes gestoßen. Texas Instruments hat sich bereits die Mühe gemacht, und da ein feines Entwicklerboard gebaut. :-) Produktwebsite: https://www.ti.com/tool/DS320-SLIMSAS-EVM Datenblatt: https://www.ti.com/lit/ug/snlu299/snlu299.pdf?ts=1681120395353&ref_url=https%253A%252F%252Fwww.google.com%252F Zitat aus dem Handbuch: DS320-SLIMSAS-EVM is a PCI-Express 5.0 x16 to two x8 SlimSAS (SFF-8654) adapter, which enables DS320PR810-RSC-EVM and other Texas Instruments PCI-Express 5.0 redriver riser card evaluation modules to interface with up to four U.2 solid state drives (SSDs) using commercially available SlimSAS (SFF-8654) to U.2 (SFF-8639) cable assemblies (not included). Interface to M.2 SSDs is also possible using commercially available U.2 to M.2 adapter cards (not included). DS320-SLIMSAS-EVM features Texas instruments LMK00334 PCI-Express clock buffer for distributing the PCI- Express 100 MHz reference clock to downstream SSDs. It also allows flexible assignment of the PCI-Express side band signals using jumpers. Davon ausgehend, hab ich das gleiche auch noch von DeLock gefunden: https://www.reichelt.de/pcie-x16-2x-sff-8654-4x-sff-8639-bifurication-delock-90077-p319190.html Ist etwas günstiger und hat auch bereits Kabel dabei. Dazu brauchts dann "nur" noch ein Kabelbaum, der einen SFF-8654 Stecker einerseits und acht U.2 Stecker mit je einer Lane andererseits hat. Da kommt dann ein U.2 zu M.2 Adapter dran. Sofern 16x1 Bifurcation machbar ist, ist der Hardwareentwicklungsaufwand auf ein bisschen Kabelbaumstrickerei zusammengeschrumpft.
:
Bearbeitet durch User
Manu F. schrieb: > Dazu brauchts dann "nur" noch ein Kabelbaum, der einen SFF-8654 Stecker > einerseits und acht U.2 Stecker mit je einer Lane andererseits hat. Da > kommt dann ein U.2 zu M.2 Adapter dran. Falsch. Ein reiner Kabelbaum reicht nicht. Du brauchst passende PCIe RefClk Buffer. Sowas wie das hier: https://www.skyworksinc.com/-/media/SkyWorks/SL/documents/public/data-sheets/si532xx-datasheet.pdf Und das natürlich auf einer impedanzkontrollierten Leiterplatte. > Sofern 16x1 Bifurcation machbar ist, ist der Hardwareentwicklungsaufwand > auf ein bisschen Kabelbaumstrickerei zusammengeschrumpft. Das habe ich noch nirgendwo gesehen. 4x4x4x4 ist üblich, nach allem anderen wirst Du lange und vergeblich suchen können. fchk
Ja das hab ich oben schon verstanden. Aber hast du den Text von mir überhaupt durchgelesen? Aus dem verlinkten Datenblatt und dem zitierten Text zu der TI-Karte geht hervor, dass da ein PCIe clock buffer auf den Karten verbaut ist und das Signal an beiden SlimSAS-Buchsen anliegt. "Texas instruments LMK00334 PCI-Express clock buffer for distributing the PCI-Express 100 MHz reference clock to downstream SSDs. It also allows flexible assignment of the PCI-Express side band signals using jumpers." Hier die Produktwebsite zum Clockbuffer: https://www.ti.com/product/de-de/LMK00334 Oder fehlt trotzdem noch was? Falls ja, erklärs bitte.
:
Bearbeitet durch User
Manu F. schrieb: > Aus dem verlinkten Datenblatt und dem zitierten Text zu der TI-Karte > geht hervor, dass da ein PCIe clock buffer auf den Karten verbaut ist > und das Signal an beiden SlimSAS-Buchsen anliegt. Ja. Du kannst aber so einen RefClk Ausgang nur an EIN Gerät weiterreichen. Das Aufspalten in mehrere Geräte funktioniert nicht. Abzweigungen zerstören die Signalintegrität. Das Taktsignal ist wie jedes Signalpaar bei PCIe eine reine Punkt-zu-Punkt Verbindung. Zum Aufspalten brauchst Du wieder einen Clock Buffers mit entsprechend vielen Ausgängen. fchk
Verstanden, danke. Ja, das spuckt ziemlich mies in die Suppe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.