PCIE bifurcation 에 관해서 질문드려요..

isaiah   
   조회 11468   추천 0    

 이게 CPU에서 나오는 PCIE 레인을 CPU 내부에서 나누어서 인식하는 기술인것 같은데

 관련 글이 별로 없어서 질문을 드려 봅니다.


 이게 스위칭칩이 안보이는 일반적인 매인스트림 보드에서 CPU에서 나오는 16x를 보드에 실장된 슬롯 2개에 8x 8x 로 나누어서 재공하는 기능들도

 내부적으로는 이 기능을 쓰는건가요??


 만약에 그렇다면 구형 매인스트림 보드들도 16배율을 4x4x4x4 nvme로 나눠 주는 스플릿터 보드 같은걸 사용할 수 있을 수 있는게 아닐까 해서요.

 검색해 보니 보드에서 설정하는 매뉴가 없더라도 모딩을 통해서 x16을 x8 x8로 나누어 쓰는 아저씨도 있더라고요..

https://www.win-raid.com/t3323f16-Guide-How-to-Bifurcate-a-PCI-E-slot.html 


16 슬롯 하나만 있는 q87보드에 스플리터 젠더를 만들어서 물려보고 싶은데 어떨까요?

짧은글 일수록 신중하게.
술이 2019-11
저건 슈퍼IO슬롯으로 인해 분리가 되는 보드 같은데요?
옛날 구형보드 서버 보드들은 16배속 슬롯을 8844 4444 이런식으로 사용이 가능했는데 데스크탑 구형보드는 아마 힘들지 않을까 싶네요.
     
isaiah 2019-11
이해가 잘 안 돼는데요..
 매인스트림 보드에서 x8 x8 을 쪼개는건 슈퍼 IO 칩셋중 cpu에서 나오는 PCIE에 대한 스위칭 기능을 겸하는 물건이 존재하고 그걸 탑재 한 보드들이라서 가능했다는 뜻인가요??

 그러기엔 링크의 스레드에 매인스트림 CPU로 성공한 예가 나와서요......
간장게장 2019-11
CPU에 PCIe 레인을 나누는 기능이 있는데, bios에서 그 기능을 사용하지 않으면 bifurcation 지원이 안됩니다.
메인보드에 따라서 X16을 X8 X8 혹은 X8 X4 X4 혹은 X4 X4 X4 X4로 나누는 기능이 있는 것도 있고 없는 것도 있고, 있는 것이라도 특정 슬롯에서만 되는 것도 있습니다.
메인보드 업체에서 마음만 먹으면 그리 어렵지 않게 그 기능을 넣을 수 있는 것으로 알고 있습니다. 어떤 경우에는 같은 버전 AMI(Aptio) bios에서 bifurcation을 지원하는데 메인보드 업체에서 포팅하면서 일부러 막아버린 경우도 있다고 합니다. 또 완전히 막아버린 것이 아니라 bios setup 메뉴에서 보이지만 않게 해 놓은 것도 있다는군요.

그래서 이런저런 경우에 따라 약간 조작을 하면 지원하도록 만들 수 있다는 얘기들이 여기저기 보이는데, 잘 아는 분야가 아니라서 제대로 이해하지는 못하고 있습니다.

PCIe 스위치는 레인을 나누는 것이 아니라 network 스위치라든지 SAS expander와 비슷한 개념입니다. PCIe x8 슬롯 하나에 꼽아 NVMe 4개 혹은 8개를 사용할 수 있도록 해 주는 것들이 있습니다. 물론 PCIe x16 슬롯 하나에 꼽아 NVMe 4개 혹은 8개를 사용할 수 있도록 해 주는 것들도 있습니다. 이런 것들은 bifurcation을 지원하지 않는 메인보드에서도 사용할 수 있습니다.

스위치 칩(PLX 혹은 Microsemi 등에서 나오는 칩)이 달린 카드 외에 redriver나 retimer 카드도 있는데, 이런 것들이 메인보드에서 bifurcation을 지원해야 쓸 수 있는 것들입니다.(retimer 보드가 redriver보다 호환성이 좋음) 이런 것들은 나눠주는 것이므로 PCIe x8에서는 x4 NVMe 2개까지만 사용할 수 있고, x16에서는 4개까지만 사용할 수 있죠.

스위치 장점은 PCIe 레인을 효율적으로 사용할 수 있다는 것과 거의 대부분의 메인보드에서 사용할 수 있다는 호환성. 단점은 latency 증가
     
isaiah 2019-11
스위칭 칩셋이 들어간 스플리터들은 비싸기도 하고 잘 안팔기도 해서요.

바이오스 모딩으로 뚫고 간단한 스플리터 젠더 같은걸 사서 해결할 수 있다면 해볼까 하는 느낌으로 접근하는거라...
이게 SW로 다 되는 것이 아니고.. 원래 BIOS는 부팅 초기에 어떤 슬롯들에 카드가 꽂혀있는지 스캔하고.. CPU가 지원하는 PCIe lane 분할 구성 중에서 장착된 모든 카드를 다 사용할 수 있는 분할 구성으로 CPU에 입력값을 (아마도 GPIO로) 설정합니다. PCIe bifurcation은 예를 들어 x16 슬롯 하나밖에 없는 보드에서 x4 슬롯이 4개가 있다고 CPU를 속이는(?) 설정입니다. 그래서.. CPU가 해당 16 레인을 x4 슬롯 4개로 사용하는 구성을 지원해야 가능합니다.
Q87이면 CPU가 하즈웰인데, 하즈웰 코어 프로세서들은 아무리 잘게 나눠도 x8x4x4 입니다. 그래서 BIOS를 잘 수정해서 x8x4x4로 나눈다고 해도 M.2 NVMe 4개를 장착하는 16배속 카드를 사용해야 하고.. (2개 장착하는 8배속 카드는 1개 장치로 인식) 그렇게 해도 3개만 장착 가능하다는 이야기가 됩니다.
위의 제약 말고도 잘 안될 수도 있다고 생각되는 부분이 있는데.. 슬롯이 1개 밖에 없다는 거네요. 슬롯이 1개 밖에 없기 때문에 해당 보드의 BIOS는 그냥 남은 PCIe 레인들을 모두 하나 뿐인 슬롯에 할당하는 것 말고는 생각할 옵션이 없습니다. 그래서 GPIO로 설정을 변경하는 부분이 삭제되고 그냥 pull-up / pull-down 시켜놨을 가능성도 있습니다. 이 경우엔 BIOS를 아무리 고쳐도 소용이 없습니다.
예전에 저도 비슷하지만 좀 더 무모한 시도를 해본 적이 있습니다. 저는 TX1310 M1에서 해보려고 했는데.. 그냥 값을 바꾸고 싶은 CPU의 해당 핀을 바로 옆에 있는 GND 핀과 쇼트시켰습니다. 결과적으로 되지 않았어요. 지금 생각해보니 TX1310 M1도 16 lane을 단순하게 x8 슬롯 두개로 분할하는 옵션 밖에 생각할 것이 없는 보드였습니다.
     
isaiah 2019-11
아... 온보드에 물리적으로 구성된 CPU로 들어가는 신호 핀이 있는거군요?
 음 UEFI에 설정이 있는걸 보면설정이 가능한 보드들은  보드칩셋이나  superIO에 있는 GPIO로 제어하도록 되어 있는 모양이고요.

 까다롭네요 여러가지로...
 일단 UEFI나 보드레이아웃 부분에서 성공했다고 치면
 스플리터 쪽은 그냥 길이만 맞춰서 분리를 해 주면 될까요?
 노치 안쪽 핀들은 smbus나 전원성등 병렬로 연결하면 될것 같고..
 뒤쪽의 신호선들은 4배속 시작하는 위치에 레인 인식핀이 있던데..
 PCIE bifurcation으로 쪼개면 이 인식핀으로 인식을 하게 되는걸까요?
          
노치 뒤로는 아주 착실하게 한 레인씩 반복되는 것으로 알고 있습니다. 하지만 확실한 건 아니니.. 구글링을 통해 확인하셔야 할 것 같아요.
지금 다시 보니까.. 카드를 제작하려고 하시는 거네요. 관련된 카드 설계 경험이 있는게 아니라면 여러번 시행착오가 있을 것 같고요.. 그냥 구입하시는게 더 싸게 먹힐지도 모르겠습니다. SuperMicro에서 나온 M.2 2개 들어가는 카드를 가지고 있는데.. PCIe 커넥터에서 M.2 소켓으로만 이어지는 게 아니라 부품들이 꽤 있습니다. 단순하게 연결만 해서 될 일이 아니라는 거겠죠.
               
isaiah 2019-12
M.2 여러개로 나뉘는 카드는 수요가 꽤 있어서 인지 구하기가 만만해 보이는데..
 그.. PCIE 슬롯 여러게로 나뉘는 보드는 의외로 잘 안보이더라고요.

 보드 꺼네서 먼지털고 UEFI 들어가 봤더니 관련 옵션이 잘 안보이네요 이 건은 일단 보류해야 할듯 싶습니다.. 쩝..


QnA
제목Page 1199/5729
2014-05   5260510   정은준1
2015-12   1785275   백메가
2014-01   16541   병맛폰
2018-09   5146   sffbig
2019-11   2759   짱시미
2011-09   6210   범범이
2024-05   1983   Sakura24
2019-11   2359   이지포토
2011-09   6551   경박한시민
2022-10   6627   찬이
2018-10   7211   None
2015-06   3916   전설속의미…
2019-12   2428   김상일
2022-10   1794   류류류
2014-02   16528   마녀
2016-07   3921   Won낙연
2024-06   2062   ocm10gr2
2015-06   8571   witbox
2021-03   3568   까아
2019-12   7918   김훈1
2011-12   7144   서버공부
2024-06   2110   삐돌이슬픔이