Dlaczego serwer domowy nie obsługuje dysków NVMe bez bifurkacji PCIe?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

A home server can detect only one SSD on a multi-NVMe adapter when the card passively wires several M.2 sockets to one PCIe slot but the platform exposes that slot as a single link. The first drive may establish a link, while the other drives have no independent downstream connection for the firmware and operating system to enumerate.

PCIe bifurcation solves this for compatible passive adapters by dividing one wide root-port connection into several narrower links, such as x16 becoming x4/x4/x4/x4. It is not required by every multi-NVMe card: an adapter with an onboard PCIe switch can create its own downstream ports, although every drive then shares the card's upstream link.

One Unsplit PCIe Link Cannot Expose Every Drive on a Passive Adapter

A passive multi-NVMe adapter does not behave like a storage controller that combines several SSDs behind one device interface. It mainly routes lane groups, reference clocks, reset signals, and power between the edge connector and separate M.2 sockets. Each NVMe SSD remains its own PCIe endpoint and needs a usable link into the host topology.

If the root port remains configured as one wide link, the host has not created separate logical links for every socket on that passive card. One SSD can appear while the others remain absent before an NVMe driver or filesystem becomes relevant. This is why the symptom is usually “only one drive detected,” not four drives appearing with reduced capacity.

PCIe Bifurcation Creates Several Links From One Physical Slot

Bifurkacja zmienia konfigurację portu po stronie CPU lub chipsetu. Fizyczne połączenie x16 może zostać podzielone na dwa linki x8, jeden x8 plus dwa x4 lub cztery linki x4, jeśli platforma obsługuje te tryby. Każdy powstały link może nawiązać połączenie z innym urządzeniem końcowym na adapterze.

Podział nie jest wykonywany przez system operacyjny po uruchomieniu. Zależy od kontrolera PCIe procesora, trasowania płyty głównej oraz oprogramowania platformy. Oficjalne wskazówki ASUS dotyczące kompatybilności PCIe bifurcation pokazują, że liczba dysków M.2, które karta może udostępnić, różni się w zależności od płyty głównej, CPU, slotu i przydziału linii.

Pasywne i oparte na przełączniku adaptery NVMe budują różne topologie PCIe

Dwie karty mogą mieć taką samą liczbę gniazd M.2, ale stawiać bardzo różne wymagania hostowi. Pasywna karta zależy od root complex, aby dostarczyć wiele łączy. Karta z przełącznikiem prezentuje hostowi port upstream i tworzy wiele portów downstream dla SSD.

Topologia adaptera Wymaganie po stronie hosta Jak SSD stają się widoczne Granica przepustowości
Pasywna karta bez bifurkacji Jedno niepodzielone łącze hosta Tylko gniazdo okablowane do aktywnej grupy linii może się enumerować Nieaktywne gniazda nie zyskują przepustowości z pozostałych fizycznych linii
Pasywna karta z kompatybilną bifurkacją Obsługiwany tryb podziału i dopasowane okablowanie linii Każde SSD trenuje na własnym łączu utworzonym przez hosta Każdy dysk jest ograniczony przez przypisaną szerokość i generację łącza
Adapter z przełącznikiem PCIe Jedno użyteczne połączenie upstream; zwykle nie jest wymagana bifurkacja hosta Przełącznik udostępnia oddzielne porty downstream za jednym połączeniem upstream Równoczesny ruch SSD dzieli przepustowość upstream przełącznika

Dokumentacja PEX 8612 firmy Broadcom przedstawia konkretny przykład przełącznika z jednym połączeniem upstream i wieloma portami downstream. Dokładny chip i szerokość portów różnią się w zależności od karty, ale architektoniczna różnica pozostaje: przełącznik tworzy rozgałęzienie; pasywna płytka łączy tylko linie, które host już podzielił.

Pełnowymiarowe gniazdo nie gwarantuje szesnastu użytecznych linii

Długość mechanicznego gniazda i liczba linii elektrycznych to różne właściwości. Złącze, które fizycznie mieści kartę x16, może być okablowane jako x8, x4, a nawet x1. W kompaktowych systemach drugie pełnowymiarowe gniazdo może pobierać linie z chipsetu zamiast bezpośrednio z CPU lub dzielić je z innym gniazdem M.2, kontrolerem sieciowym lub gniazdem rozszerzeń.

To zmienia zarówno dostępne tryby bifurkacji, jak i liczbę dysków, które można podłączyć. Gniazdo elektryczne x4 nie może dostarczyć czterech niezależnych łączy x4 tylko dlatego, że adapter ma cztery gniazda. Organizacja NVM Express zauważa, że M.2 może obsługiwać łącze PCIe do x4; x4 to powszechne połączenie o pełnej wydajności, a nie obietnica, że każde gniazdo hosta zapewnia cztery linie dla każdego zainstalowanego dysku SSD.

Oprogramowanie układowe decyduje, które tryby bifurkacji platforma może używać

Ustawienia bifurkacji mogą pojawiać się pod nazwami takimi jak konfiguracja linii PCIe, konfiguracja gniazda lub wyraźna opcja x8/x8 lub x4/x4/x4/x4. Dostępne menu jest specyficzne dla platformy. Procesor może mieć wystarczającą liczbę linii, podczas gdy płyta główna nie kieruje wymaganych grup do tego gniazda, lub sprzęt może obsługiwać topologię, której oprogramowanie układowe nie ujawnia.

Aktualizacja oprogramowania układowego może dodać lub poprawić wsparcie na niektórych platformach, ale nie może stworzyć okablowania linii ani możliwości kontrolera, których sprzęt nie posiada. Autorytatywnym źródłem jest instrukcja płyty głównej lub serwera domowego dla konkretnego procesora, gniazda i wersji BIOS-u. Ogólne stwierdzenie, że „PCIe Gen3 obsługuje bifurkację” jest niewystarczające, ponieważ generacja PCIe nie określa, jak dany port root jest trasowany lub konfigurowany.

Zaginione dyski znikają podczas enumeracji PCI

Podczas uruchamiania oprogramowanie układowe platformy i system operacyjny wykrywają urządzenia PCI, przeglądając topologię i odczytując przestrzeń konfiguracyjną. Dokumentacja jądra Linux wyjaśnia, że urządzenia poniżej mostka hosta można znaleźć za pomocą standardowej enumeracji PCI. Sterownik NVMe może się podłączyć dopiero po wykryciu odpowiedniego punktu końcowego PCI i przydzieleniu zasobów.

To lokalizuje granicę usterki. Jeśli dodatkowe dyski SSD nie pojawiają się w drzewie urządzeń PCI, zmiana partycji, ustawień RAID, systemów plików lub oprogramowania puli pamięci NAS nie ujawni ich obecności. Jeśli każdy dysk SSD jest widoczny jako punkt końcowy PCI, ale jeden z nich nie pojawia się w interfejsie pamięci masowej, dochodzenie przechodzi poza bifurkację do sterownika NVMe, stanu urządzenia lub konfiguracji pamięci masowej.

Szerokość łącza zmienia wydajność nawet po pojawieniu się wszystkich dysków SSD.

Pomyślna enumeracja nie gwarantuje pełnej przepustowości na dysk. Karta czterodyskowa działająca jako x4/x4/x4/x4 daje każdemu SSD szersze, niezależne łącze niż topologia przypisująca mniej linii na dysk. Generacja PCIe również zmienia dostępne pasmo na linię, więc szerokość łącza i generacja muszą być odczytywane razem.

Adapter oparty na przełączniku wprowadza inny limit. Kilka dysków SSD downstream może być widocznych i działać szybko podczas lekkiego użycia, ale jednoczesne transfery zbiegają się na łączu upstream. Dyskusja NVM Express o NVMe RAID i wąskich gardłach uplinku wyjaśnia, dlaczego wiele dysków x4 SSD może nasycić węższe współdzielone połączenie.

Inne błędy wykrywania NVMe mogą przypominać brak bifurkacji.

Widok jednego dysku zamiast kilku silnie sugeruje niezgodność topologii na adapterze pasywnym, ale nie jest to rozstrzygające. Zasada współdzielenia linii może wyłączyć slot, gdy inny konektor jest zajęty, dany slot może być nieaktywny z zainstalowanym CPU lub mapowanie gniazda do linii w adapterze może wymagać instalacji dysków w określonej kolejności.

Wielkość formatu również ma znaczenie. M.2 opisuje fizyczny moduł i rodzinę złączy; nie oznacza to, że każdy dysk M.2 używa NVMe. Dysk SATA M.2 nie może działać w gnieździe, które przenosi tylko sygnały PCIe. Nieprawidłowe osadzenie, wymuszona w firmware nieobsługiwana generacja PCIe, niewystarczające chłodzenie lub uszkodzony dysk SSD mogą powodować dodatkowe problemy z wykrywaniem lub stabilnością.

Przeczytaj mapę linii PCIe przed interpretacją konfiguracji Multi-NVMe.

Zacznij od topologii, a nie od liczby wydrukowanej na slocie. Zidentyfikuj elektryczną szerokość slotu, jego źródło CPU lub chipsetu, obsługiwane tryby bifurkacji, zasady współdzielenia linii oraz architekturę adaptera. Następnie porównaj zamierzoną liczbę punktów końcowych SSD z faktycznie dostępnymi niezależnymi łączami lub portami przełącznika downstream.

  • Potwierdź, czy adapter jest pasywny, czy zawiera przełącznik PCIe.
  • Sprawdź liczbę linii elektrycznych slotu, a nie jego fizyczną długość.
  • Zweryfikuj dokładny tryb podziału obsługiwany dla tego slotu i CPU.
  • Przejrzyj zasady współdzielenia linii dla wbudowanych urządzeń M.2, SATA, sieciowych i innych PCIe.
  • Oddziel wyliczanie punktów końcowych PCI od późniejszego wykrywania NVMe i puli pamięci.
  • Sprawdź negocjowaną szerokość i generację łącza po pojawieniu się każdego dysku SSD.

To podejście wyjaśnia zarówno pojemność, jak i wydajność, bez założenia, że każdy adapter działa tak samo. Czytelnicy oceniający inne ścieżki rozbudowy serwera domowego mogą skorzystać z tego porównania rozbudowy PCIe i USB jako dodatkowego kontekstu; decyzja o bifurkacji nadal zależy od platformy i topologii adaptera.

FAQ

Czy każdy adapter Multi-NVMe wymaga PCIe Bifurcation?

Nie. Adaptery pasywne zazwyczaj wymagają kompatybilnej bifurkacji hosta, ponieważ same nie tworzą portów downstream. Karta z wbudowanym przełącznikiem PCIe może udostępnić wiele punktów końcowych SSD przez jedno łącze upstream bez bifurkacji płyty głównej, chociaż jej dyski współdzielą to łącze.

Czy aktualizacja BIOS może dodać PCIe Bifurcation?

Może ujawnić lub naprawić opcję bifurkacji, gdy kontroler CPU i trasy płyty głównej już ją obsługują. Aktualizacja oprogramowania układowego nie może dodać fizycznych linii, zmienić okablowania płyty ani umożliwić nieobsługiwanego podziału portu root.

Dlaczego na adapterze z czterema slotami pojawia się tylko jeden dysk NVMe?

Powszechne wyjaśnienie jest takie, że pasywny adapter jest zainstalowany w slocie nadal skonfigurowanym jako jedno łącze PCIe, więc tylko gniazdo podłączone do aktywnej grupy linii działa poprawnie. Należy wykluczyć okablowanie slotu, kolejność instalacji, współdzielone linie, niekompatybilny typ dysku M.2 lub awarię urządzenia, zanim uzna się bifurkację za potwierdzoną.

Czy PCIe Bifurcation łączy dyski NVMe w RAID?

Nie. Bifurkacja tworzy niezależne łącza PCIe, dzięki czemu host może wyliczyć osobne punkty końcowe. RAID lub inna warstwa łączenia pamięci masowej jest konfigurowana później w oprogramowaniu układowym, systemie operacyjnym lub oprogramowaniu do zarządzania pamięcią. Wykrywanie czterech dysków i łączenie czterech dysków to oddzielne operacje.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.