PCIe 포크를 사용하여 단일 슬롯에 여러 M.2 NVMe SSD: BIOS가 Linux에서 설정되지 않습니까?

PCIe 포크를 사용하여 단일 슬롯에 여러 M.2 NVMe SSD: BIOS가 Linux에서 설정되지 않습니까?

예를 들어 여러 M.2 NVMe PCIe 캐리어 카드를 사용하고 싶습니다.ASUS Hyper M.2 x16 카드 v2안에HP Z240 타워 워크스테이션. C236 PCH 및 Skylake E3-1200V5 CPU 지원PCIe 분기x16 PCIe 슬롯은 CPU로 구동됩니다. (인용하다:Intel 100 시리즈/C230 시리즈 칩셋 데이터시트 볼륨 1,피. 스물 둘;Intel Xeon E3-1200V5 데이터시트 볼륨 1,피. 24.) CPU PCIe를 분할 1x8 + 2x4 모드로 구성하면 x16 슬롯에서 3개의 M.2 NVMe 드라이브를 사용할 수 있습니다. (E3 CPU는 4x4 분기를 수행할 수 없으므로 위의 Asus와 같은 쿼드 캐리어 카드의 M.2 슬롯 중 하나는 비어 있어야 합니다.)

불행하게도 Z240의 BIOS 설정에는 PCIe 분할을 구성하는 옵션이 포함되어 있지 않습니다. 더 나쁜 것 같습니다HP의시작해도 좋아요듀얼 BIOSBIOS 수정 방지어느PCIe 분기가 가능합니다..

이것Intel 비디오에서 PCIe 분기를 소개합니다.지적하기 (02:34)

CPU PCI Express 버스의 구성은 초기화 전에 BIOS에 의해 정적으로 결정됩니다. BIOS는 CPU의 존재 감지 핀(CFG[5] 및 CFG[6]이라고 함)을 확인하여 구성을 결정합니다.

아마도 이는 BIOS 설정에 분기 구성 옵션이 포함되어 있지 않은 경우에도 작동할 것입니다. 하지만 이 접근 방식을 사용하려면 물리적 CPU 보드에 대한 연결에 액세스하고 수정해야 하는데, 저는 이를 피하고 싶습니다.

구성 분기 옵션을 포함하는 다른 BIOS는 확실히 CFG[5] 및 CFG[6]보다 우선합니다. 나는 그들이 이것을 어떻게 하는지에 대한 문서를 찾지 못했고 당신이 알고 있는 어떤 링크라도 알려주시면 감사하겠습니다.

이 시점에서 저는 궁금합니다: 머신이 Linux로 부팅된 후 CFG[5] 및 CFG[6]를 덮어쓸 수 있는 방법이 있습니까? (이 경우 M.2 드라이브 중 하나에서 부팅하지 못할 수도 있다는 것을 알고 있지만 이는 이 시스템의 요구 사항은 아닙니다.) 이러한 프로세스에는 다음 단계가 포함될 수 있기를 바랍니다.웜 리셋x16, x8 및 x4 PCIe 컨트롤러 및/또는 기능 수준 재설정 PEG 루트 포트 10, 11 및 12. (인용하다:Intel Xeon E3-1200V5 데이터시트 볼륨 2.) 어쩌면 뒤따를 수도 있습니다프로그램 실행?

제공할 수 있는 팁, 요령 또는 지침에 대해 정말 감사드립니다!

답변1

이것이 가능한지는 모르겠지만 추가 연구를 위한 몇 가지 방법을 제안할 수 있습니다.

연결한 동영상은 이전 세대 Intel 프로세서용인 것처럼 보이므로(동영상 날짜는 2010년이고 Skylake는 2015년에 출시됨) Skylake 프로세서의 구성이 다를 가능성이 높습니다. 즉, 이는 설정이 BIOS에 의해 수행되고 BIOS가 CFG 패드 값을 읽은 다음 이를 수행하도록 PCIe 컨트롤러 구성 레지스터를 설정한다는 의미입니다(선택하는 경우 CFG 패드 값을 완전히 무시할 수 있음을 의미).

일반적으로 이러한 유형의 구성 레지스터에 대한 세부 정보는 인텔 BIOS 작성자 가이드/UEFI 펌웨어 작성자 가이드에만 문서화되어 있으며 인텔은 대부분의 CPU에 대해 이러한 구성 레지스터를 공개적으로 공개하지 않습니다. 일부 CPU 구성 레지스터에는 BIOS에 대한 "잠금" 옵션도 포함되어 있어 CPU가 재설정될 때까지 해당 내용을 변경(또는 읽을 수도)할 수 없습니다. 그렇다면 HP 펌웨어는 추가 발생을 방지하기 위해 이 작업을 수행할 수 있습니다. 필요한 것이 무엇인지 확인하십시오. 레지스터는 CPU의 "시스템 관리 모드"에서만 액세스할 수 있습니다.

이 작업을 수행하려는 경우 SkyLake 펌웨어(예: 다른 제조업체의) 코드를 찾아 필요한 구성을 수행하려고 합니다. 펌웨어를 분해하고 분기를 활성화하도록 CPU를 구성하는 방법을 확인한 다음 동일한 레지스터에 쓰기를 시도해 볼 수 있습니다(Linux 커널 모드에서 또는 가능하면 GRUB를 사용하여).

Coreboot와 같은 오픈 소스 펌웨어 구현에서 유용한 코드를 찾을 수도 있습니다.

HTH, 행운을 빕니다!

관련 정보