KR20190104878A - Fpga+ssd의 50g 또는 100g 이더넷 속도를 지원하는 모듈러 시스템(스위치 보드들 및 미드 플레인) - Google Patents

Fpga+ssd의 50g 또는 100g 이더넷 속도를 지원하는 모듈러 시스템(스위치 보드들 및 미드 플레인) Download PDF

Info

Publication number
KR20190104878A
KR20190104878A KR1020190012285A KR20190012285A KR20190104878A KR 20190104878 A KR20190104878 A KR 20190104878A KR 1020190012285 A KR1020190012285 A KR 1020190012285A KR 20190012285 A KR20190012285 A KR 20190012285A KR 20190104878 A KR20190104878 A KR 20190104878A
Authority
KR
South Korea
Prior art keywords
ethernet
chassis
speed
ssd
storage
Prior art date
Application number
KR1020190012285A
Other languages
English (en)
Inventor
솜퐁 폴 올라이그
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/202,079 external-priority patent/US20190109720A1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20190104878A publication Critical patent/KR20190104878A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)

Abstract

섀시 프론트 엔드가 개시된다. 섀시 프론트 엔드는 이더넷 스위치, 프로세서, BMC(Baseboard Management Controller) 및 미드 플레인 커넥터를 포함하는 스위치 보드를 포함할 수 있다. 또한, 섀시 프론트 엔드는 적어도 하나의 저장 장치를 포함하는 미드 플레인 및 섀시 프론트 엔드의 이더넷 속도를 적어도 하나의 저장 장치에게 통지하기 위한 속도 로직을 포함할 수 있다. 이더넷 속도들은 다를 수 있다.

Description

FPGA+SSD의 50G 또는 100G 이더넷 속도를 지원하는 모듈러 시스템(스위치 보드들 및 미드 플레인){MODULAR SYSTEM(SWITCH BOARDS AND MID-PLANE) FOR SUPPORTING 50G OR 100G ETHERNET SPEEDS OF FPGA+SSD}
본 발명은 컴퓨터 시스템들에 관한 것으로, 좀 더 상세하게는 통신 속도를 지원할 수 있는 컴퓨터 시스템 및 저장 장치에 관한 것이다.
SSD들(Solid State Drives)의 현재 기본 연결 인터페이스는 U.2 커넥터이다. U.2 커넥터는 호스트 컴퓨터와 연결되는 PCIe(Peripheral Component Interconnect Express) 및 SAS(Serial Attached Small Computer Systems Interface) 연결을 모두 지원하는 인터페이스다. PCIe 3세대 표준을 사용하는 PCIe 통신은 PCIe 레인당 초당 8 기가 비트 전송을 지원하고, U.2 커넥터는 4개의 PCIe 레인들을 지원한다. 이것은 이론적으로 SSD가 장치의 이더넷 포트 및 마더 보드 상의 이더넷 스위치의 대역폭보다 큰 25GB/초 이상을 전송할 수 있다는 것을 의미한다. PCIe 4세대에서는 이러한 속도 불일치가 더욱 악화된다. SSD는 장치의 이더넷 포트보다 훨씬 빠르게 데이터를 전송할 수 있고, 이더넷 스위치는 이를 수신하고 처리 할 수 있다. 따라서, 마더 보드 상의 이더넷 스위치가 데이터 전송의 병목 지역이 될 수 있다.
본 발명은 상술된 기술적 과제를 해결하기 위한 것으로써, 본 발명의 목적은 다수의 통신 속도를 지원할 수 있는 컴퓨터 시스템 및 저장 장치를 제공하는 데 있다.
본 발명의 일 실시 예에 따른 섀시 프론트 엔드는 스위치 보드 및 미드 플레인을 포함할 수 있다. 스위치 보드는 미드 플레인으로 연결하기 위한 이더넷 스위치, 프로세서, BMC 및 미드 플레인 커넥터를 포함할 수 있다. 미드 플레인은 적어도 하나의 저장 장치로 연결하기 위한 적어도 하나의 저장 장치 커넥터 및 섀시의 이더넷 속도의 적어도 하나의 저장 장치를 통지하기 위한 속도 로직을 포함할 수 있다. 섀시는 제 1 이더넷 속도 및 제 2 이더넷 속도를 지원할 수 있다.
본 발명의 다른 실시 예에 따른 방법은 섀시로부터 스위치 보드 상의 BMC(Baseboard Management Controller)에서 섀시의 이더넷 속도를 수신하는 단계, 및 BMC에 의해, 섀시의 이더넷 속도의 섀시 프론트 엔드로 연결된 섀시 내의 저장 장치를 통지하는 단계를 포함하고, 섀시 프론트 엔드는 미드 플레인 및 스위치 보드를 포함하고, 섀시는 제 1 이더넷 속도 및 제 2 이더넷 속도를 지원할 수 있다.
본 발명의 또 다른 실시 예에 따른 저장 장치는 데이터 저장소, 컨트롤러, 저장 장치 커넥터, 비트 파일 저장소 및 매핑 로직을 포함할 수 있다. 데이터 저장소는 데이터를 저장할 수 있다. 컨트롤러는 데이터 저장소에 데이터를 기록하는 것과 데이터를 판독하는 것을 관리할 수 있다. 저장 장치 커넥터는 저장 장치를 섀시의 미드 플레인으로 연결하고, 복수의 핀을 포함할 수 있다. 비트 파일 저장소는 적어도 2개의 이더넷 속도 비트 파일들을 저장할 수 있다. 매핑 로직은 데이터를 데이터 저장소로부터 적어도 2개의 이더넷 속도 비트 파일들 중 하나에 응답하는 저장 장치 커넥터상의 복수의 핀으로 매핑할 수 있다.
여기에서 개시되는 실시 예들은 이더넷 스위치가 병목 지역이 되지 않으면서 높은 데이터 전송 속도를 지원하는 패브릭 연결 저장 장치를 제공할 수 있다. 섀시 프론트 엔드는 특정 이더넷 속도를 가정해야하는 구성들 없이, 섀시 프론트 엔드의 이더넷 속도를 저장 장치에게 통지할 수 있다. 섀시 프론트 엔드는 상이한 이더넷 속도들에서 동작할 수 있고, 섀시 프론트 엔드는 이더넷 속도를 기초로 하여 그것 자체를 구성할 수 있다. 따라서, 공급 업체는 단일 버전의 섀시 프론트 엔드만 제공할 수 있다.
도 1은 본 발명의 실시 예에 따라 다양한 속도들을 지원할 수 있는 프론트 엔드 및 저장 장치를 포함하는 기계를 도시한다.
도 2는 도 1의 기계의 추가적인 세부 사항들을 도시한다.
도 3은 도 1의 기계 내의 저장 장치들로 연결되는 2개의 스위치 보드들 및 공유되는 미드 플레인을 포함하는 프론트 엔드를 도시한다.
도 4는 도 1의 기계 내의 저장 장치들로 연결되는 2개의 스위치 보드들 및 공유되는 미드 플레인을 포함하는 프론트 엔드를 도시한다.
도 5는 도 3 및 도 4의 저장 장치의 세부 사항들을 도시한다.
도 6은 도 1의 저장 장치 내의 매핑 로직의 세부 사항을 도시한다.
도 7은 본 발명의 개념의 일 실시 예에 따라, 도 1의 기계의 이더넷 속도를 도 1의 저장 장치에게 통지하기 위해 도 1의 기계의 프론트 엔드에 대한 예시적인 절차의 흐름도를 도시한다.
도 8은 본 발명의 개념의 일 실시 예에 따라, 도 1의 기계의 이더넷 속도를 도 1의 저장 장치에게 통지하기 위해 도 1의 기계의 프론트 엔드에 대한 예시적인 절차의 보다 상세한 흐름도를 도시한다.
도 9는 본 발명의 개념의 일 실시 예에 따라, 커넥터들 상의 핀들을 사용하여 도 1의 기계의 이더넷 속도의 도 1의 저장 장치를 도 1의 저장 장치로 통지하기 위한 도 1의 기계의 프론트 엔드에 대한 예시적인 절차를 도시한다.
도 10은 본 발명의 개념의 일 실시 예에 따라, 도 1의 기계의 이더넷 속도에 적응하기 위한 도 1의 저장 장치에 대한 예시적인 절차의 흐름도를 도시한다.
도 11은 본 발명의 개념의 일 실시 예에 따라, 도 1의 기계의 이더넷 속도를 학습하기 위해 도 1의 저장 장치에 대한 예시적인 절차의 흐름도를 도시한다.
본 발명의 기술적 사상의 실시 예들이 참조되며, 이들의 예들이 첨부된 도면들에 도시된다. 후술되는 상세한 설명에서, 다양한 특정한 상세들이 본 발명의 기술적 사상의 충분한 이해를 돕기 위하여 제공된다. 그러나 이 분야에 통상적인 기술을 가진 자들은 이러한 특정한 상세들 없이도 본 발명의 기술적 사상을 구현할 수 있다. 다른 예들로서, 잘 알려진 방법들, 절차들, 구성 요소들, 회로들, 그리고 네트워크들은 실시 예들의 측면들을 불필요하게 모호하게 하지 않기 위해 상세하게 설명되지 않는다.
여기에서 제1, 제2 등과 같은 용어들이 다양한 원소들을 설명하기 위하여 사용되지만, 이러한 원소들은 이러한 용어들에 의해 한정되지 않는다. 이러한 용어들은 하나의 원소를 다른 하나의 원소와 구별하기 위해서만 사용된다. 예를 들어, 본 발명의 기술적 사상의 범위로부터 멀어지지 않으면서 제1 모듈은 제2 모듈로 명명될 수 있다. 마찬가지로, 제2 모듈은 제1 모듈로 명명될 수 있다.
본 발명의 기술적 사상의 설명에서 사용되는 용어들은 특정한 실시 예들을 설명하기 위한 목적으로만 사용되며, 본 발명의 기술적 사상을 한정하는 것으로 의도되지 않는다. 본 발명의 기술적 사상의 설명 및 첨부된 청구항들에서 사용되는 바와 같이, 맥락에서 명확하게 명시되지 않으면 단수 표현들은 복수 표현들 또한 포함하는 것으로 의도된다. '그리고/또는'의 용어는 하나 또는 그보다 많은 연관된 항목들의 임의의 그리고 가능한 모든 조합들을 포함하는 것으로 참조된다. '포함한다' 그리고/또는 '포함하는'의 용어들은 상세한 설명에서 사용된 때에 언급된 특성들, 정수들, 단계들, 동작들, 원소들, 그리고/또는 구성 요소들의 존재를 명시하며, 하나 또는 그보다 많은 다른 특성들, 정수들, 단계들, 동작들, 원소들, 구성 요소들, 그리고/또는 그것들의 그룹들의 존재 또는 추가를 배제하지 않는다. 도면들의 구성 요소들 및 특성들은 실제 비율에 필수적으로 비례하지 않는다.
이더넷 SSD들(Solid State Drives)은 미드 플레인을 통해 시스템과 접속하기 위해 U.2 커넥터를 사용할 수 있다. U.2 커넥터는 최대 25Gbps의 속도로 이더넷을 지원할 수 있다.
멀티 모드 NVMeoF(Non-Volatile Memory Express over Fabric) 장치는 알려진 위치로부터 정보를 검출함으로써 NVMe 또는 NVMeoF를 지원할 수 있다(예를 들어, 2016/09/02에 출원된 미국 특허 출원 15/256,495에서 설명된 것처럼, 모든 목적을 위해 본 명세서에 참조로써 포함됨). 멀티 모드 NVMeoF 장치가 NVMe 섀시 내에 존재하는 경우 U.2 커넥터의 X4 PCIe(Peripheral Component Interconnect Express) 레인들은 PCIe 엔진에 의해 구동될 수 있다. 이 경우, 장치는 이더넷 엔진(들)을 비활성화할 수 있고 모든 NVMe 프로토콜들과 기능들이 지원되거나 활성화될 수 있다. 멀티 모드 NVMeoF 장치가 NVMeoF 섀시 내에 존재하는 경우 이더넷 포트들은 사용되지 않는 SAS 핀들만 사용할 수 있다. 이 파일링(filing) 시점에서 NVMe.org에 의해 명시되는 표준 구현은 없을 수 있다는 것에 유의하라.
PCIe 세대 3에서도, 멀티 모드 NVMeoF 장치는 25Gbps 이더넷 스위치가 처리 할 수 있는 것보다 빠르게 데이터를 전송할 수 있다. PCIe 세대 4의 출현으로 대역폭 불일치가 훨씬 커졌다. 단일 25 Gbps 이더넷 포트/스위치는 SSD로부터 X4 PCIe 세대 4 레인들(최대 8 GB/초까지)에 의해 백 엔드를 따라 잡을 수 있는 충분한 최대 대역폭을 가지고 있지 않을 수 있다.
한 가지 해결책은 멀티 모드 NVMe 장치의 처리량을 처리 할 수 있는 50Gbps 또는 100Gbps 이더넷 스위치와 같은 더 빠른 이더넷 스위치를 설치하는 것일 수 있다. 그러나, 25Gbps 이더넷 스위치들이 있는 기존 시스템들이 이미 존재하며, 멀티 모드 NVMeoF 장치가 이러한 시스템들에 설치 될 것이다. 호스트 시스템의 이더넷 스위치를 업그레이드하는 것은 사소한 작업이 아닐 수 있고, 다른 이유들(예를 들어, 시스템은 다운 타임 동안 사용할 수 없을 수 있다)로 바람직하지 않은 업그레이드를 수행하기 위해 호스트 시스템을 오프라인으로 만드는 것을 요구할 수 있다.
또 다른 해결책은 다양한 이더넷 속도들의 시스템들에 대해 적합한 장치들의 상이한 모델들을 갖추는 것일 수 있다. 그러나, 이 해결책은 적절한 장치의 선택을 더욱 복잡하게 하도록 제공되는 장치들(device offerings)의 다양성으로 이어질 수 있다. 제공되는 장치들의 수를 단순화시키기 위한 바람으로(멀티 모드 NVMeoF 장치가 도입됨에 따라, NVMe와 NVMeoF 장치들 사이에서 선택할 필요가 제거됨), 상이한 이더넷 속도들에서 동작하는 상이한 장치들을 갖는 것 또한 바람직하지 않을 수 있다. 이 문제는 다수의 NVMeoF 장치 공급 업체들의 존재로 인해 확대될 수 있다.
그러므로, 바람직한 해결책은 10Gbps부터 최대 100Gbps까지의 상이한 이더넷 속도들을 지원할 수 있는 스위치 보드 및 미드 플레인으로 구성된 유연한 NVMeoF 시스템일 수 있고, M.3 및 SFF-TA-1008와 같은 미래의 커넥터들 및 U.2 모두를 지원하는 것일 수 있다. 이 아키텍처는 PCIe 세대 4 이상뿐만 아니라 50Gbps 및 100Gbps 이더넷 과 같은 기술들 발전을 따라 잡을 수 있어야 한다.
본 발명의 개념의 실시 예는 위의 목적을 지원할 수 있다:
* 바람직하게는 BMC(Baseboard Management Controller) 또는 로컬 CPU로 제어되는 미드 플레인/ CPLD(Complex Programmable Logic Device)에 위치하는 2 개의 추가적인 GPIO(General Purpose Input/Output) 핀들을 장착함으로써. 이 핀들은 CPLD 내부의 I2C(Inter-Integrated Circuit) 버스 핀들과 혼합될 수 있고 리셋이 보장된 후 잠길 수 있다. 대신에, 멀티 모드 NVMeoF 장치는 I2C 버스를 통해 액세스될 수 있는 FPGA(Field Programmable Gate Array) 내부에 있는 내부 레지스터를 가질 수 있다.
* 제어 플레인으로써 2 개의 X2 PCIe 레인들을 사용하는 대신, 단지 2 개의 X1 PCIe 레인들을 사용함으로써. 이 옵션을 사용하면 추가적인 이더넷 포트들에 대해 사용할 수 있는 2 개의 PCIe 레인들을 추가로 확보 할 수 있다.
* 적절한 이더넷 속도를 구성하고 선택하기 위해 BMC 또는 로컬 CPU와 같은 외부 장치를 활성화함으로써.
* 장치와 스위치 간의 단일 100 Gbps 이더넷 연결을 지원하기 위해 표준 U.2 커넥터를 사용함으로써.
* 50Gbps (HA 시스템(High Availability System) 또는 비 HA 시스템) 및 100Gbps (비 HA 구성에서) 모두에 대해 동일한 미드 플레인을 사용함으로써. 스위치 보드의 두 가지 버전들이 있을 수 있다: 50 Gbps 및 100 Gbps
본 발명의 개념의 실시 예에서:
* 두 개의 별개의 모드들이 있는 일반적인 NVMeoF: NVMe 또는 NVMeoF (섀시 타입과 같은 U.2 핀 E6 공급 업체-정의된 핀은 적절한 모드를 결정하기 위해 사용될 수 있다)
* NVMe 모드에서, 장치는 NVMe 장치로써 동작할 수 있다. 모든 이더넷 포트들은 사용할 수 없을 수 있다.
* NVMeoF 모드인 경우, 장치는 이더넷 포트들에 대한 SAS 핀들 및 PCIe 레인들을 사용할 수 있다(선택한 모드에 따라).
NVMeoF 모드에서:
* 비 HA 모드에서, 장치는 제어 플레인으로써 모든 표준 기능들에 대해 X1 (X2 대신) PCIe 레인들을 사용할 수 있다.
* HA(듀얼 포트) 모드에서, 포트 A 및 포트 B에 대해 각각 2 개의 X1 PCIe가 사용될 수 있다.
* 기존 PCIe 소프트웨어 드라이버는 NVMeoF 제품들에 대해 그대로 사용될 수 있다.
이 장치는 차세대 SFF(M.3) SSD들 및 U.2 기반 SSD들을 지원할 수 있다.
* 스위치 보드는 1U 및 2U 섀시 플랫폼들 모두에서 사용될 수 있다.
* 미드 플레인은 PM1725a, M.2 및 NF1 기반 SSD들과 같은 U.2 기반 NVMe SSD들 지원하기 위해 사용될 수 있다.
본 발명의 개념의 실시 예들의 이점은 다음을 포함할 수 있다:
* 규모의 경제로 인해 NVMeoF 장치당 저비용(즉, 동일한 장치가 NVMe 또는 NVMeoF로써 사용될 수 있다).
* 많은 제품들/ 섀시들에서 사용될 수 있는 다양한 NVMeoF 장치들.
* 모든 표준 기능들에 대해 X1 PCIe 레인들을 제어 플레인으로써 사용
* CPU, BMC 및 기타 장치들은 X1 PCIe 레인을 제어 플레인으로써 사용하여 추가적인 비용 없이 섀시 내부의 각 NVMeoF 장치와 통신 할 수 있다.
* 동일한 미드 플레인이 NVMe 또는 NVMeoF 기반 섀시 모두를 위해 사용될 수 있다.
* 제품 출시 소요 시간 단축 및 개발 위험 감소.
* 성능은 선형적으로 조정될 수 있다.
* SFF/슬롯당 더 많은 SSD들.
* 이더넷 속도들은 SSD들의 PCIe 대역폭과 일치하도록 확장될 수 있다.
* 표준 U.2 커넥터 및 SFF.
표 1은 섀시의 상이한 이더넷 속도들을 특정하기 위해 속도 핀들이 어떻게 사용되는지에 대해 보여줄 수 있다. 표 2는 데이터를 미드 플레인 및 스위치와 통신하기 위해 U.2와 같은 커넥터의 다양한 핀들이 어떻게 사용되는지에 대해 보여줄 수 있다.
Figure pat00001
Figure pat00002
도 1은 본 발명의 실시 예에 따라 다양한 속도들을 지원할 수 있는 프론트 엔드 및 저장 장치를 포함하는 기계를 도시한다. 도 1에서, 기계(105)가 도시될 수 있다. 기계(105)는 프로세서(110)를 포함 할 수 있다. 프로세서(110)는 임의의 다양한 프로세서 일 수 있다: 예를 들어, Intel Xeon, Celeron, Itanium 또는 Atom 프로세서, AMD Opteron 프로세서, ARM 프로세서 등. 도 1은 기계(105) 내의 단일 프로세서 (110)를 도시하고 있지만 기계(105)는 각각 단일 코어 프로세서 또는 멀티 코어 프로세서일 수 있고 임의의 수의 프로세서들을 포함 할 수 있고, 임의의 원하는 조합으로 혼합될 수 있다.
기계(105)는 또한 메모리 컨트롤러(도시되지 않음)에 의해 관리 될 수 있는 메모리(115)를 포함 할 수 있다. 메모리(115)는 플래시 메모리, DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PRAM(Persistent Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 MRAM(Magnetoresistive Random Access Memory) 등과 같은 NVRAM(Non-Volatile Random Access Memory)와 같은 임의의 다양한 메모리 일 수 있다. 메모리(115)는 또한 상이한 메모리 타입들의 임의의 원하는 조합일 수 있다.
기계(105)는 또한 스위치 보드(120) 및 미드 플레인(mid-plane, 125)을 포함 할 수 있는 프론트 엔드를 포함 할 수 있다. 프론트 엔드는 SSD(130)와 같은 저장 장치들에 대한 인터페이스로서 작용할 수 있다. 본 발명의 개념의 실시 예에 따라, 프론트 엔드는 하나의 스위치 보드(120) 또는 두 개의 스위치 보드들을 포함 할 수 있다.
도 1은 서버(독립형 서버 또는 랙 서버 일 수 있는)로써 기계(105)를 도시하지만, 본 발명의 개념의 실시 예들은 임의의 원하는 타입의 기계(105)를 제한 없이 포함 할 수 있다. 예를 들어, 기계(105)는 데스크탑 또는 랩탑 컴퓨터 또는 본 발명의 개념의 실시 예들로부터 이익을 얻을 수 있는 임의의 다른 기계로 대체 될 수 있다. 기계(105)는 또한 특수화된 휴대용 컴퓨팅 기계들, 태블릿 컴퓨터들, 스마트 폰들 및 다른 컴퓨팅 기계들을 포함 할 수 있다.
도 2는 도 1의 기계의 추가적인 세부 사항들을 도시한다. 전형적으로, 도 2에서, 기계(105)는 장치(105)의 구성 요소들의 동작들을 조정하는데 사용될 수 있는 메모리 컨트롤러(205) 및 클럭(210)을 포함 할 수 있는 프로세서(110)를 포함할 수 있다. 다만, 본 발명은 이에 한정되지 않고, 기계(105)는 하나 이상의 프로세서(100), 메모리 컨트롤러(205) 및 클럭(210)을 포함할 수 있다. 또한, 프로세서(110)는 예를 들어, RAM(random access memory), ROM(read-only memory) 또는 다른 상태를 보존하는 매체를 포함 할 수 있는 메모리(115)에 연결될 수 있다. 프로세서(110)는 또한 저장 장치(130)에 연결되거나, 이더넷 커넥터 또는 무선 커넥터일 수 있는 네트워크 커넥터(215)에 연결될 수 있다. 프로세서(110)는 사용자 인터페이스(225) 및 다른 구성들 사이에서 입출력 엔진(230)을 사용하여 관리 될 수 있는 입출력 인터페이스 포트들이 부착될 수 있는 버스(220)로 연결될 수 있다.
본 발명의 개념의 일 실시 예에 따르면, 도 3은 도 1의 기계(105) 내의 저장 장치들로 연결되는 2개의 스위치 보드들 및 공유되는 미드 플레인(125)을 포함하는 프론트 엔드를 도시한다. 2개의 스위치 보드들(120, 305)가 있는 도 3에 도시 된 실시 예는 듀얼 포트 또는 HA(High Availability) 구현으로 생각될 수 있다. HA 구현에서, 임의의 주어진 저장 장치는 어느 스위치 보드와도 통신 할 수 있다. 이러한 방식으로, 하나의 스위치 보드가 실패하거나 잘못 동작하기 시작하면, 저장 장치는 다른 스위치 보드를 사용하여 통신을 수신 할 수 있다.
도 3에서, 미드 플레인(125)은 2개의 스위치 보드들(120, 305)로 연결될 수 있다. 스위치 보드들(120, 305)는 도 3에 표시된 바와 같이 '1 차' 및 '2 차' 스위치 보드로 간주 될 수 있다. 그러나, 이름을 붙힌 것은 1 차 스위치 보드(120)가 올바르게 동작하지 않는 한, 저장 장치와의 모든 통신이 1 차 스위치 보드(120)를 통과하는 것을 의미하는 것으로 해석되어서는 안 된다. 스위치 보드들(120, 305) 각각은 임의의 수의 저장 장치들을 그 저장 장치에 대한 '1 차' 스위치 보드로써 관리 할 수 있다. 예를 들어, 도 3은 스위치 보드들(120, 305)이 총 24개의 저장 장치들(그 중 6개의 저장 장치들(130-1, 130-2, 130-3, 130-4, 130-5 및 130-6)이 도시 됨)을 지원할 수 있음을 도시한다. 스위치 보드들(120, 305) 각각은 24개의 저장 장치들을 지원할 수 있다. 24개의 저장 장치들(130-1 내지 130-6)의 이더넷 포트 A 및 제어 포트 A는 스위치 보드(120)와 통신 할 수 있고, 24개의 저장 장치들(130-1 내지 130-6)의 이더넷 포트 B 및 제어 포트 B는 스위치 보드 (305)와 통신 할 수 있다. 상기 논의는 저장 장치들(130-1 내지 130-6)의 2개의 이더넷 포트들을 중심으로 하지만, 더 많은 이더넷 포드들이 필요하다면, 저장 장치들(130-1 내지 130-6)은 다수의 이더넷 포트들을 사용하여 스위치 포트들(120, 305)과 통신할 수 있다. 도 3에 도시 된 본 발명의 개념의 예시적인 실시 예에서, 도 3에 도시 된 바와 같이, 장치들(130-1 내지 130-6)은 이더넷을 데이터 플레인 및 PCIe(Peripheral Component Interconnect Express)를 제어 플레인으로써 사용할 수 있지만, 본 발명의 개념의 다른 실시 예들은 데이터 플레인 또는 제어 플레인 중 어느 하나를 위한 다른 통신 모드들을 지원할 수 있다.
저장 장치들(130-1 내지 130-6)은 멀티 모드 장치들일 수 있다: 예를 들어, 저장 장치들(130-1 내지 130-6)은 각각 저장 장치들(130-1 내지 130-6)이 설치된 섀시에 따라 각각 NVMe 또는 NVMeoF 중 어느 하나를 사용하여 인터페이스들을 지원할 수 있다. 멀티 모드 장치들에 대한 더 자세한 정보는 본 명세서에 참조로써 포함된 2016년 11월 25일자로 출원 된 미국 가출원 제 62/426,422 호에 대해 우선권을 주장하는 2017년 1월 20일자로 출원 된 미국 특허 출원 제 15/411,962 호; 2016년 7월 26일자로 출원 된 미국 가출원 제 62/366,622 호에 대해 우선권을 주장하는 2016년 9월 2일자로 출원 된 미국 특허 출원 제 15/256,495 호; 2016년 9월 14일자로 출원 된 미국 가출원 제 62/394,726 호에 대해 우선권을 주장하는 2016년 11월 7일자로 출원 된 미국 특허 출원 제 15/345,507 호; 2016년 9월 14일 출원 된 미국 가출원 제 62/394,727 호에 대해 우선권을 주장하는 2016년 11월 7일자로 출원 된 미국 특허 출원 제 15/345,509 호; 및 2016년 11월 10일자로 출원 된 미국 가출원 제 62/420,355 호에 대해 우선권을 주장하는, 2017년 1월 10일자로 출원 된 미국 특허 출원 제 15/403,008이 검토될 수 있다.
스위치 보드들(120, 305) 각각은 BMC들일 수 있는 관리 컨트롤러들(330, 335), 이더넷 스위치들(310, 315) 및 PCI 스위치들(320 및 325)을 포함 할 수 있다. 전술한 바와 같이, 이더넷 스위치들(310, 315) 및 PCI 스위치들(320, 325)은 저장 장치들(130-1 내지 130-6)과의 통신을 관리하기 위해 사용될 수 있다; 관리 컨트롤러들(330, 335)은 도 1의 기계(105) 내의 구성 요소들의 동작을 모니터링 할 수 있다(전형적으로 관리 컨트롤러들(330, 335) 중 하나만이 한 번에 저장 장치들(130-1 내지 130-6)을 모니터할 수 있다). 현재, 대부분의 이더넷 스위치들(310, 315)은 최대 25Gbps의 속도를 지원하지만, 향후 이더넷 스위치들은 50Gbps 또는 100Gbps(또는 잠재적으로 더 큰)속도를 지원할 수 있다.
본 발명의 개념의 실시 예를 가능하게 하기 위해, 관리 컨트롤러들(330 및 335)는 도 1의 기계(105) 내의 임의의 장치들과 통신 할 수 있다. 특히, 관리 컨트롤러들(330, 335)은 아래에서 설명되듯이 미드 플레인(125)상의 구성요소들에게 이더넷 스위치들(310, 315)에 의해 지원되는 이더넷 속도를 통지할 수 있고, 따라서 미드 플레인(125)은 저장 장치들(130-1 내지 130-6)에게 이더넷 속도를 통지할 수 있다.
미드 플레인 (mid-plane) (125)은 교류(AC) 전력 공급 유닛들을 포함하는 전력 입력(340)을 포함 할 수 있다. 전원 B to B(Power Board to Board) 유닛들(345, 350)을 사용하여, 미드 플레인(125)은 스위치 보드들(120, 305)로 전력을 제공할 수 있다. 미드 플레인(125) 및 스위치 보드들(120, 305)은 또한 커넥터들(355, 360, 예로서, Molex 커넥터들)과 같은 다른 커넥터들을 사용하여 연결될 수 있으며, 다른 커넥터들은 스위치 보드들(120, 305)(및 그 위의 구성들) 및 저장 장치들(130-1 내지 130-6) 간의 통신을 제어할 수 있다.
미드 플레인 (125)은 또한 각각 저장 장치들(130-1 내지 1306)과 같은 저장 장치로의 연결을 지원하는 저장 장치 커넥터들(365-1, 365-2, 365-3, 365-4, 365-5 및 365-6)를 포함할 수 있다. 저장 장치 커넥터들(365-1 내지 365-6)는 예를 들어 U.2 및 SFF-TA-1008 커넥터들 포함하는 임의의 원하는 저장 장치 커넥터일 수 있다. 미드 플레인(125)에 의해 지원되는 저장 장치 커넥터(365-1 내지 365-6)는 모두 동일한 유형의 커넥터일 수 있거나 상이한 타입의 커넥터들일 수 있다. 따라서, 도 1의 호스트 프로세서 (110)로부터 오는 요청들에 대한 통신 경로는 스위치 보드(120) 또는 스위치 보드(305)를 통하고(어떤 스위치 보드가 해당 저장 장치에 대해 '1차'인지에 따라), 그 다음 커넥터를 지나 미드 플레인(125)으로, 그 다음 적절한 저장 장치 커넥터들(365-1 내지 365-6)을 지나는 것일 수 있다.
미드 플레인(125)는 CPLD(Complex Programmable Logic Device, 370), EEPROM(375) 및 무선 송신기(380, 예로서 무선 엑스미터) 중 어떤 것(또는, 모두)이라도 포함할 수 있다. CPLD(370), EEPROM(375) 및 무선 송신기(380)는 도 1의 기계(105)의 이더넷 속도를 통지 받기 위해 저장 장치들(130-1 내지 130-6)에게 다양한 매커니즘들을 제공한다.
일 변형에서, CPLD(370)는 저장 장치들(130-1 내지 130-6)에게 프론트 엔드의 이더넷 속도를 통지하기 위해 사용될 수 있다. CPLD(370)는 이 정보를 제공하기 위해 저장 장치 커넥터들(365-1 내지 365-6)에 하나 이상의 핀을 사용할 수 있다. 예를 들어, CPLD(370)는 프론트 엔드의 이더넷 속도를 전달하기 위해 저장 장치 커넥터들(365-1 내지 365-6)상의 하나 이상의 예약 된 핀을 사용할 수 있다. 대신에, CPLD(370)는 저장 장치 커넥터(365-1 내지 365-6)상의 하나 이상의 GPIO 핀을 사용하여 이더넷 속도 핀들을 I2C(Inter-Integrated Circuit) 핀과 같은 CPLD(370) 내의 다른 핀들과 다중 사용함으로써 프론트 엔드의 이더넷 속도를 전달 할 수 있다. 이더넷 속도를 전송 한 후, 이더넷 속도 핀들은 리셋 후에 잠겨질 수 있다.
본 발명의 개념의 일 실시 예에서, 표 1 및 2에 도시 된 바와 같이, 네 가지 가능한 이더넷 속도들이 있다: 10Gbps, 25Gbps, 50Gbps 및 100Gbps. 네 개의 가능한 값들을 나타내기 위해 두 개의 핀들을 네 개의 모든 가능한 값을 나타내기 위해 병렬로 사용할 수 있다. 이더넷 속도들의 수가 4 이상으로 증가하면 가능한 모든 값들을 전송하기 위해 추가적인 이더넷 속도 핀들이 필요할 수 있다. 일반적으로, n개의 가능한 이더넷 속도들이 주어지면, 한 번에 모든 가능한 값들을 전송하기 위해 필요한 핀들의 수는 [log2 n]으로 계산될 수 있다.
대신에, 몇몇 핀들이 비트들을 직렬로 전송하기 위해 사용되는 경우, [log2 n]개 미만의 핀들이 사용될 수 있다. 예를 들어, 위의 4 가지 이더넷 속도들의 예시에서, 하나의 비트는 상이한 시간에 동일한 핀을 통해 두 비트들을 전송함으로써 네 가지 가능한 모든 값들을 전송하는데 사용될 수 있다.
본 발명의 개념의 다른 실시 예에서, 저장 장치들(130-1 내지 130-6)은 각각 FPGA들(Field Programmable Gate Arrays, 350-1, 350-2, 350-3, 350-4, 350-5 및 350-6)을 포함 할 수 있다. FPGA들(350-1 내지 350-6)은 적절하게 기능적으로 동등한 구조들로 대체 될 수 있다. FPGA들(350-1 내지 350-6)는 예를 들어 표 2에 나타난 바와 같이, 저장 장치 커넥터들(365-1 내지 365-6) 상의 어느 핀이 어떤 데이터를 처리하는데 사용되는지를 관리 할 수 있다. FPGA들(350-1 내지 350-6)은 또한 I2C 버스를 통해 CPLD(370)에 의해 액세스 가능한 레지스터들을 포함할 수 있고, CPLD(370)는 이들 레지스터들에 값을 기록할 수 있고, 값은 프론트 엔드의 이더넷 속도를 나타낼 수 있다. 예를 들어, 레지스터의 최하위 비트는 이더넷 속도 핀 0(표 2에 나타난 바와 같이)을 통해 전송 될 수 있는 값을 저장할 수 있으며, 다음 비트는 이더넷 속도 핀 1(표 2에 나타난 바와 같이)을 통해 전송 될 수 있는 값을 저장할 수 있다.
본 발명의 또 다른 실시 예에서, 프론트 엔드의 이더넷 속도를 나타내는 값은 모든 저장 장치들(130-1 내지 130-6)에 의해 공통적으로 액세스 가능한 어떤 저장 영역에 기록될 수 있다: 예를 들어, EEPROM (375)에서. 공통 액세스 가능한 저장 영역은 예를 들어 VPD(Vital Product Data)일 수 있다. 그 다음, 부팅 동작들 각각의 일부로써, 저장 장치들(130-1 내지 130-6) 각각은 공통 액세스 가능한 저장 영역(예를 들어, I2C 버스를 통해)을 액세스할 수 있고, 그 저장 영역으로부터 이더넷 속도를 판독할 수 있다.
본 발명의 개념의 또 다른 실시 예에서, 미드 플레인(125)은 프론트 엔드의 이더넷 속도를 무선 송신기(380)를 사용하여 저장 장치들(130-1 내지 130-6)로 무선으로 전송할 수 있다. 본 발명의 개념의 실시 예는 저장 장치들(130-1 내지 130-6)이 무선 송신기(380)로부터 송신을 수신하기 위해 필요한 하드웨어를 포함한다는 것을 전제로 할 수 있다.
도 3에 도시 된 본 발명의 개념의 실시 예들에서, 저장 장치들(130-1 내지 130-6)은 예를 들어 4개의 이더넷 포트들을 사용할 수 있다. 2개의 이더넷 포트들(즉, 총 이더넷 포트들의 수의 절반)은 스위치 보드(120)의 이더넷 스위치(310)와 통신 할 수 있고, 2개의 이더넷 포트들(총 이더넷 포트들의 수의 나머지 절반)은 스위치 보드(305)의 이더넷 스위치(315)와 통신 할 수 있다. 미드 플레인(125)은 저장 장치들(130-1 내지 130-6) 상의 어느 이더넷 포트들이 어떤 이더넷 스위치와 통신하는지를 관리할 수 있다.
이더넷 스위치들(310, 315)이 스위치 보드들(120, 305)에 설치된 것으로 가정하면, 프론트 엔드에 의해 지원되는 최대 이더넷 속도는 달라질 수 있다: 상이한 이더넷 스위치들은 상이한 대역폭들을 제공 할 수 있다. 예를 들어, 일부 스위치 보드들은 10Gbps 이더넷만 지원할 수 있는 반면, 다른 스위치 보드들은 최대 100Gbps 이더넷을 지원할 수 있다. 표 1 및 표 2에 나타난 본 발명의 개념의 일 실시 예에서, 최대 이더넷 속도는 10Gbps, 25Gbps, 50Gbps 및 100Gbps일 수 있다. 따라서, 스위치 보드들(120, 305)의 이더넷 스위치들(310, 315)로부터 정보를 얻음으로써, BMC들(330, 335)은 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 결정할 수 있다(물론, 프론트 엔드의 이더넷 속도를 결정하는 다른 방법들도 있을 수 있다. 예를 들어, 도 1의 기계(105)의 BIOS(Basic Input/Output System)에서 발견 될 수 있는 바와 같이, 그 정보는 EEPROM(375) 또는 이와 동등한 저장소에서와 같이 BMC들(330, 335)을 액세스 할 수 있는 어딘가에 저장 될 수 있다. BMC들(330, 335)이 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 통지하게 되면, BMC들(330, 335)은 이러한 정보를 저장 장치들(130-1 내지 130-6)로의 최종 공급을 위해 미드 플레인(125)의 구성들에게 제공 할 수 있다. BMC들(330, 335)은 또한 이더넷 스위치들(310, 315), PCIe 스위치들(320, 325)을 구성 할 수 있으며, 경로 데이터를 적절하게 저장 장치 커넥터들(365-1 내지 365-6)로부터 가져올 수 있다. 이더넷 스위치들(310, 315)을 구성하기 위해 BMC들(330, 335)을 사용하는 것에 관한 더 많은 정보는 2017년 4월 3일자로 출원된 미국 가출원 제 62/480,670 호에 대해 우선권을 주장하는 2017년 4월 17일자로 출원 된 미국 특허 출원 제 15 / 489,416호에서 발견할 수 있고, 두 개의 출원 모두 본 명세서에서 참조로 포함된다.
상기 설명에서, BMC들(330, 335)은 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 미드 플레인(125)에 제공하는 역할을 하는 것으로 설명될 수 있다. 그러나, 본 발명의 개념의 다른 실시 예들에서, 도 1의 프로세서(110)와 같은 로컬 프로세서는 BMC들(330, 335) 대신 유사하게 동작 할 수 있다.
전술한 바와 같이, 본 발명의 개념의 일 실시 예에서, 도 1의 기계(105)의 프론트 엔드의 이더넷 속도는 10Gbps와 100Gbps사이에서 달라질 수 있다. 향후 이더넷 스위치들은 더 높은 처리량을 지원할 수 있다. SSD, SSD 와 스위치들 사이의 연결, 및 스위치들 자체가 각각 특정 구성(HA 또는 비 HA)을 지원하기에 충분한 처리량을 제공하는 경우, 시스템을 해당 구성에서 사용할 수 있다. 예를 들어, U.2 커넥터의 현재 버전은 4개의 PCIe 레인들 및 2개의 SAS 레인들만 포함할 수 있다. 각 레인이 최대 대역폭 25Gbps를 지원할 수 있는 경우, 커넥터는 100Gbps HA 시스템에서 사용할 최소 8개의 레인들을 지원할 필요가 있을 수 있다. U.2 커넥터의 현재 버전은 6개의 레인들만 포함되어 있기 때문에 U.2 커넥터의 현재 버전은 100Gbps HA 시스템을 지원하는데 충분한 처리량을 제공하지 않지만 100Gbps 시스템의 비 HA 버전에서 사용될 수 있다(물론, U.2 커넥터나 다른 커넥터들의 향후 버전이 더 높은 처리량을 지원하거나 더 많은 레인들을 제공한다면, 이러한 커넥터들은 100Gbps 이상의 속도로도 HA 또는 비 HA 시스템에서 사용될 수 있다.
전술한 바와 같이, 도 3은 2개의 스위치 보드들을 갖는 HA 시스템을 도시한다. 도 4는 비교 가능한 비 HA 구현을 도시한다. 도 4에서, 도 3의 스위치 보드(305)는 없을 수 있다; 저장 장치 경로로부터 모든 이더넷 포트들이 스위치 보드(120) 상의 이더넷 스위치(310)로 전송된다. 따라서, 스위치 장치들(130-1∼130-6)이 4개의 이더넷 포트들을 지원하는 경우, 4개의 이더넷 포트 모두가 이더넷 스위치(310)로 전송될 수 있다. 도 3의 스위치 보드(310)의 존재 또는 부재 이외에(도 3의 스위치 보드(310)에 의해 제공되는 부수적인 중복), 도 3과 도 4 사이에는 동작상의 차이가 거의 없을 수 있다.
도 5는 도 3 및 도 4의 저장 장치(130-1)의 세부 사항을 도시한다. 도 5에서, SSD(130-1)가 도시된다. SSD(130-1)는 SSD(130-1)와 호스트 컴퓨터(도 1의 기계(105)와 같은)사이의 인터페이스를 제공 할 수 있는 호스트 인터페이스 로직(505)을 포함할 수 있다. 호스트 인터페이스 로직(505)은 도 3 및 도 4의 저장 장치 커넥터들(365-1 내지 365-6)와 구별될 수 있다: 전자는 도 3 및 도 4의 미드 플레인(125)과 통신하기 위한 프로토콜을 처리할 수 있는 반면, 후자는 도 3 및 도 4의 미드 플레인(125)과 저장 장치(130-1) 사이의 물리적 연결을 나타낼 수 있다. SSD(130-1)는 SSD 컨트롤러(510), 및 다양한 플래시 메모리 칩들(520-1, 520-2, 520-3, 520- 4, 520-5, 520-6, 520-7 및 520-8)이 따라 배열되는 다양한 채널들(515-5, 515-2, 515-3, 및 515-4)을 포함할 수 있다. 또한, 도 5는 4개의 채널들 및 8개의 플래시 메모리 칩들을 도시하지만, 통상의 기술자는 임의의 수의 플래시 메모리 칩들을 포함하는 임의의 수의 채널들이 있음을 인식할 수 있다.
SSD 컨트롤러(510)는 (도 1의 프로세서(110)에 의해 사용된 바와 같은)논리 블록 어드레스들의 변환을 처리 할 수 있는 플래시 변환 계층(525) 및 플래시 칩들(520-1 내지 520-8)에 데이터가 저장된 물리 블록 주소들을 포함할 수 있다. SSD 컨트롤러(510)는 또한 도 6을 참조하여 이하에서 더 설명되는 바와 같이 비트 파일들을 저장할 수 있는 비트 파일 저장소(530)를 포함 할 수 있다.
도 3 및 도 4의 호스트 인터페이스 로직(505)과 저장 장치 커넥터들(365-1 내지 365-6) 사이에 위치하는 것은 FPGA(350-1)일 수 있다. 도 6을 참조하여 후술되는 바와 같이, FPGA(350-1)는 저장 장치 커넥터들(365-1 내지 365-6) 상의 핀들에 대한 데이터의 특정 매핑을 처리할 수 있거나, 저장 장치 커넥터들(365-1 내지 365-6)상의 핀들에 대한 데이터의 매핑을 처리하는 매핑 로직의 일부일 수 있다.
마지막으로, 저장 장치(130-1)가 이더넷 속도 정보를 무선으로 수신하는 본 발명의 개념의 실시 예에서, 저장 장치는(130-1)는 무선 수신기(535)를 포함 할 수 있다.
도 5는 저장 장치(130-1)의 일부로서 FPGA(350-1)를 도시한다. 그러나, 본 발명의 개념의 일부 실시 예에서, FPGA(350-1)의 기능은 저장 장치(130-1)의 다른 구성들의 일부일 수 있다: 예를 들어, FPGA(350-1)의 기능은 SSD 컨트롤러(510)의 일부일 수 있다. 아래의 도 6에서처럼, FPGA(350-1)를 묘사하는 본 발명의 개념의 실시 예들에서, 문제의 기능은 저장 장치(130-1)의 다른 구성들의 일부가 될 수 있다.
도 6은 도 1의 저장 장치에서의 매핑 로직의 세부 사항을 도시한다. 전술 한 바와 같이, 매핑 로직은 도 1의 기계(105)의 프론트 엔드에 의해 지원되는 이더넷 속도에 기초하여 저장 장치 커넥터(365-1)상의 다양한 핀들에 데이터를 매핑 할 수있다. 도 6에서, 매핑 로직(605)은 저장 장치 커넥터(365-1), 내부 커넥터(610), 멀티플렉서(615), 디멀티플렉서(620), FPGA(350-1) 및 노어 플래시 메모리(625)를 포함하는 것으로 도시된다. 도 3을 참조하여 설명된 것처럼, 저장 장치 커넥터(365-1)는 도 3의 미드 플레인(125)으로 연결 지점을 제공할 수 있다. 저장 장치 커넥터(365-1)는 또한 매핑 로직(605)이 실제 저장 칩과 구별되는 전체 저장 장치의 일부일 수 있다는 점에서 외부 커넥터로 지칭 될 수 있으며, 따라서 맵핑 로직(605)을 (도 5에 도시된)저장 장치의 다른 구성 요소들로 연결하는 내부 커넥터(610)를 포함할 수 있다.
멀티플렉서(615) 및 디멀티플렉서(620)는 이더넷 속도에 기초하여 핀들에 대한 데이터의 실제적인 연결을 제공한다. 예를 들어, 위의 표 2를 다시 고려할 수 있다. 저장 장치가 NVMe 모드에서 동작하면 4개의 PCIe 핀들이 데이터 전송에 사용될 수 있고 SAS 핀들은 사용되지 않을 수 있다. 반면에 저장 장치가 10Gbps 또는 25Gbps 처리량에서 NVMeoF 모드로 동작하면 일부 데이터는 SAS 핀 0 및 PCIe 핀 0, 1 및 3을 통해 전송될 수 있다; 그리고 저장 장치가 50B 또는 100B 처리량에서 NVMeoF 모드로 동작하는 경우, 추가적인 데이터가 SAS 핀 1 및 PCIe 핀 2를 통해 전송될 수도 있다. 그러나 저장 장치 자체는 어떤 데이터가 어떤 핀들을 통해 전송되는지에 대해 상관하지 않을 수 있고, 따라서 멀티플렉서(615) 및 디멀티플렉서(620)는 외부 커넥터(365-1)와 FPGA(350-1) 사이에서 데이터의 조정을 처리할 수 있다. FPGA(350-1)는 2개의 엔드 포인트들(630-1, 630-2) 및 2 개의 루트 포트들(635-1, 635-2)을 포함하는 것으로 도시될 수 있고, 이는 데이터 흐름을 조직화하는 것을 더 도울 수 있지만(외부 커넥터(365-1)와 통신하기 위한 엔드 포인트들(630-1, 630-2) 및 내부 커넥터(620)와 통신하기 위한 루트 포트들(635-1, 635-2)), 본 발명의 개념의 실시 예들은 임의의 수의 엔드 포인트들 및 루트 포트들을 지원할 수 있다.
노어 플래시 메모리(625)는 비트 파일들(640, 645-1, 645-2, 645-3, 및 645-4)과 같은 비트 파일들을 저장할 수 있다. 비트 파일들(640 및 645-1 내지 645-4)은 다양한 상황들 아래에서 매핑 로직(605)의 동작을 정의할 수 있다. 예를 들어, 모든 상황들에서 로딩 될 수 있는 공통 비트 파일(640)은 엔드 포인트들(630-1, 630-2) 및 루트 포트들(635-1, 635-2)의 동작을 정의할 수 있는 반면, 비트 파일들(645-1 내지 645-4)은 도 1의 기계(105)의 프론트 엔드의 적절한 이더넷 속도가 주어지면 멀티플렉서(615) 및 디멀티플렉서(620)의 동작을 정의할 수 있다. 따라서, 예를 들어, 도 1의 기계(105)의 프론트 엔드의 이더넷 속도가 10Gbps이면, 10Gbps 비트 파일(645-1)이 로드될 수 있고, 도 1의 기계(105)의 프론트 엔드의 이더넷 속도가 25Gbps라면, 25Gbps 비트 파일(645-2)이 로드될 수 있고, 도 1의 기계(105)의 프론트 엔드의 이더넷 속도가 50Gbps이면, 50Gbps 비트 파일(645-3)이 로딩 될 수 있고, 도 1의 기계(105)의 프론트 엔드의 이더넷 속도가 100 Gbps이면, 100 Gbps 비트 파일(645-4)이 로드될 수 있다. 비트 파일들의 수는 기계(105)의 프론트 엔드가 지원할 수 있는 상이한 이더넷 속도들의 수에 관련하여 변할 수 있다. 모든 이더넷 속도가 분리된 비트 파일을 필요로 하지 않을 수 있는 것에 유의하라. 예를 들어, 멀티플렉서(615)와 디멀티플렉서(620)가 2개(또는 그 이상의)의 이더넷 속도들에 대해 동일하게 동작하는 경우, 단일 비트 파일이 이더넷 속도들 모두에 사용될 수 있다.
기계(105)의 프론트 엔드의 이더넷 속도에 대한 적절한 비트 파일의 로딩은 임의의 원하는 방식으로 처리될 수 있다. 이더넷 속도 비트 패턴들(650)은 표 1에서 이더넷 속도 핀들에 대해 나타나는 것들에 대응하는 4개의 상이한 비트 패턴들을 보여줄 수 있다: 결과로써, 대응하는 이더넷 속도 비트 파일이 로드 될 수 있다. 예를 들어, 이더넷 속도 비트 패턴들(650)은 비트 파일들이 판독될 수 있는 노어 플래시 메모리(625)의 상이한 파티션들에 대한 포인터들로써 사용(또는 맵핑)될 수 있다. 이더넷 속도가 주어지면 적절한 비트 파일을 로딩하기 위한 그 밖의 다른 원하는 접근법도 사용될 수 있다.
도 6은 데이터에 대한 고속 판독 시간을 제공하는 노어 플래시 메모리(625)를 도시한다. 그러나, 다른 저장 형태가 노어 플래시 메모리(625) 대신에 사용될 수 도 있다: 예를 들어, NAND 플래시 메모리 또는 EEPROM.
상기 설명은 공통 비트 파일(640)이 먼저 판독되고 그 다음 비트 파일들(645-1 내지 645-4) 중 하나가 판독되는 것을 제시하지만, 본 발명의 개념의 실시 예들은 임의의 원하는 순서로 비트 파일들을 판독 것을 포함할 수 있다. 추가로, 단일 비트 파일을 읽을 수 있다. 예를 들어, 공통 비트 파일(640)의 정보가 비트 파일들(645-1 내지 645-4) 각각에 포함되면, 맵핑 로직(605)에 대해 모든 필요한 정보를 로드하기 위해 오직 하나의 비트 파일만이 판독될 필요가 있을 수 있다.
도 3 내지 도 6을 참조하여 전술된 본 발명의 개념의 실시 예들에서, PCIe 스위치들은 추가적인 통신 채널들을 제공하는 것으로 설명된다. 그러나, 본 발명의 개념의 실시 예들은 PCIe 스위치들에 한정되지 않을 수 있다: 적절한 경우에, 다른 스위치들은 PCIe 스위치 대신 사용될 수 있다. 유사하게, 상기 예들은 10 Gbps와 100 Gbps 사이의 특정 이더넷 속도들에 대해 논의하고 있지만, 본 발명의 개념의 실시 예들은 이러한 값들을 초과하는 다른 이더넷 속도들로 확장될 수 있다.
본 발명의 개념의 일 실시 예에 따라, 도 7은 도 1의 기계(105)의 이더넷 속도를 도 1의 저장 장치(130)에게 통지하기 위한 도 1의 기계(105)의 프론트 엔드에 대한 예시적인 절차의 흐름도를 도시한다. 도 7의 블록 705에서, 도 3 및 도 4의 BMC들(330, 335)(또는, 도 1의 로컬 프로세서(110))은 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 수신할 수 있다. 블록(710)에서, 도 3 및 도 4의 BMC들(330 및 335)(또는, 도 1의 로컬 프로세서(110))은 도 3 및 도 4의 이더넷 스위치들(310 및 315)을 구성할 수 있다. 블록(715)에서, 도 3 및 도 4의 BMC들(330, 335)(또는, 도 1의 로컬 프로세서(110))은 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 도 3내지 도 4의 저장 장치들(130-1 내지 130-6)에게 통지할 수 있다.
본 발명의 개념의 실시 예에 따라, 도 8은 도 1의 기계(105)의 이더넷 속도를 도 1의 저장 장치(130)에게 통지하기 위한 도 1의 기계(105)의 프론트 엔드에 대한 예시적인 절차의 보다 상세한 흐름도를 도시한다. 도 8의 블록(805)에서, 도 3 및 도 4의 BMC들(330, 335)(또는, 도 1의 로컬 프로세서(110))은 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 도 3 및 도 4의 CPLD(370)에게 통지 할 수 있고, 블록(810)에서, 도 3 및 도 4의 CPLD(370)는 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 도 3 및 도 4의 저장 장치들(130-1 내지 130-6)에게 통지 할 수 있다. 도 3 및 도 4의 CPLD(370)는 도 3 및 도 4의 저장 커넥터들(365-1 내지 365-6)을 통해 이더넷 속도 핀(들) 또는 GPIO 핀(들) 중 하나를 사용하여 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 도 3 및 도 4의 저장 장치들(130-1 내지 130-6)에게 통지할 수 있다. 대신에, 블록(815)에서, 도 3 및 도 4의 BMC들(330, 335)(또는, 도 1의 로컬 프로세서(110))은 저장 장치들(130-1 내지 130-6)이 판독할 수 있는 저장소에 이더넷 속도를 기록할 수 있다: 예를 들어, 도 3 및 도 4의 EEPROM(375)에 저장될 수 있는 VPD. 대신에, 블록(820)에서, 도 3 및 도 4의 BMC들(330, 335)(또는, 도 1의 로컬 프로세서(110))은 도 3 및 도 4의 저장 장치들(130-1 내지 130-6)로 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 무선으로 전송하기 위해 도 3 및 도 4의 무선 송신기(380)를 사용할 수 있다. 대신에, 블록(825)에서, 도 3 및 도 4의 BMC들(330, 335)(또는 도 1의 로컬 프로세서(110), 또는 도 3 및 도 4의 CPLD(370))은 도 3 및 도 4의 FPGA들(350-1 내지 350-6) 내의 레지스터에 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 기록할 수 있다.
본 발명의 실시 예에 따라, 도 9는 도 3 및 도 4의 저장 커넥터들(365-1 내지 365-6) 상의 핀들을 사용하여 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 도 1의 저장 장치(130)로 통지하기 위한 도 1의 기계(105)의 프론트 엔드에 대한 예시적인 절차를 도시한다. 도 9의 블록(905)에서, 도 3 및 도 4의 CPLD(370)는 기계(105)의 프론트 엔드의 이더넷 속도를 도 1의 저장 장치(130)에게 통지하기 위해 하나 이상의 이더넷 속도 핀을 사용할 수 있다. 대신에, 블록(910)에서, 도 3 내지 도 4의 CPLD(370)는 GPIO 핀들을 통해 다른 정보를 송신하기 위해 도 3 내지 도 4의 CPLD(370)가 GPIO 핀(들)을 잠근 후에, 기계(105)의 프론트 엔드의 이더넷 속도를 도 1의 저장 장치(130)에게 통지하기 위해 하나 이상의 이더넷 속도 핀을 사용할 수 있다.
본 발명의 실시 예에 따르면, 도 10은 도 1의 기계(105)의 이더넷 속도에 적응하기 위한 도 1의 저장 장치(130)에 대한 예시적인 절차의 흐름도를 도시한다. 블록(1005)에서, 도 6의 맵핑 로직(605)은 이더넷 섀시 타입을 결정할 수 있다: 예를 들어, 도 3 및 도 4의 저장 장치 커넥터들(365-1 내지 365-6) 상의 이더넷 섀시 타입 핀들을 사용하여. 블록(1010)에서, 도 6의 맵핑 로직(605)은 도 6의 공통 비트 파일(640)을 액세스 할 수 있다. 블록(1015)에서, 도 6의 맵핑 로직(605)은 도 6의 엔드 포인트들(630-1, 630-2) 및 루트 포트들(635-1, 635-2)을 구성할 수 있다.
블록(1020)에서, 도 6의 맵핑 로직(605)은 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 결정할 수 있다. 블록(1025)에서, 도 6의 맵핑 로직(605)은 이더넷 속도 비트 패턴에 기초하여 도 6의 이더넷 속도 비트 파일들(645-1 내지 645-4)을 액세스 할 수 있다. 마지막으로, 블록(1030)에서, 도 6의 맵핑 로직(605)은 도 6의 이더넷 속도 비트 파일들(645-1 내지 645-4)에 기초하여, 도 3 및 도 4의 저장 장치 커넥터들(365-1 내지 365-6) 상의 핀들에 데이터를 매핑할 수 있다.
본 발명의 실시 예에 따라, 도 11은 도 1의 기계(105)의 이더넷 속도를 학습하기 위해 도 1의 저장 장치(130)에 대한 예시적인 절차의 흐름도를 도시한다. 도 11의 블록(1105)에서, 매핑 로직(605)은 도 3 및 도 4의 저장 장치 커넥터들(365-1 내지 365-6)상의 하나 이상의 핀들(GPIO 핀들 또는 특수 핀들)로 이더넷 속도를 수신할 수 있다. 대신에, 블록(1110)에서, 도 6의 맵핑 로직(605)은 도 3 및 도 4의 EEPROM(375) 내의 VPD와 같은 저장 장치로부터 이더넷 속도를 판독할 수 있다. 대신에, 블록(1115)에서, 도 6의 맵핑 로직(605)은 도 3 및 도 4의 FPGA들(350-1 내지 350-6) 내의 레지스터로부터 이더넷 속도를 판독할 수 있다. 마지막으로, 도 6의 매핑 로직(605)이 어떻게 도 1의 기계(105)의 프론트 엔드의 이더넷 속도를 결정하는지와 상관없이, 블록 1에서, 도 6의 맵핑 로직(605)은 도 6의 어떤 이더넷 속도 비트 파일들(645-1 내지 645-4)을 로드할지 결정하기 위해 이더넷 속도를 사용할 수 있다.
도 7 내지 도 11을 참조하면, 본 발명의 개념의 일부 실시 예들이 도시된다. 그러나 통상의 기술자는 블록들의 순서를 변경하거나, 블록들을 생략하거나, 또는 도면에 도시되지 않은 연결선들 포함함으로써 본 발명의 개념의 다른 실시 예들도 가능하다는 것을 인식할 수 있다. 흐름도의 이러한 모든 변형은 명시적으로 기술되었든 아니든간에 본 발명의 개념의 실시 예들 것으로 간주될 수 있다.
본 발명의 개념의 실시 예들은 종래 기술에 비해 기술적 이점들을 제공한다. 섀시 프론트 엔드가 섀시 프론트 엔드의 이더넷 속도를 저장 장치에게 통지하는 것을 가능하게 함으로써, 공급 업체는 다수의 섀시 프론트 엔드 버전들을 제공 할 필요가 없다. 섀시 프론트 엔드는 특정 이더넷 속도를 가정해야 하는 구성들 없이, 섀시 프론트 엔드의 이더넷 속도를 저장 장치에게 통지할 수 있다. 예를 들어, 섀시 프론트 엔드들은 단일 이더넷 속도로만 동작 할 수도 있으며, 이더넷 속도에 의존하는 핀들을 따라 저장 장치로부터 데이터가 도착할 수 있는 다수의 이더넷 속도들을 지원하지 않을 수 있다. 예를 들어, 공급 업체는 10Gbps에서 동작하는 섀시 프론트 엔드 버전, 25Gbps에서 동작하는 섀시 프론트 엔드 버전, 50Gbps에서 동작하는 섀시 프론트 엔드 버전 및 100Gbps에서 동작하는 섀시 프론트 엔드 버전을 판매해야 할 수 있다. 섀시 프론트 엔드가 잠재적으로 상이한 이더넷 속도들에서 동작하는 것을 가능하게 하고 섀시 프론트 엔드를 이더넷 속도를 기초로 하여 그것 자체를 구성 할 수 있도록 함으로써, 공급 업체는 단일 버전의 섀시 프론트 엔드만 제공하면 된다. 섀시 프론트 엔드는 사용자가 현장에서 이더넷 스위치들 또는 섀시 프론트 엔드의 스위치 보드들의 교체와 같은 변경을 수행해야하는 경우, 최종 사용자 수정을 지원할 수도 있다.
마찬가지로, 섀시 프론트 엔드의 이더넷 속도를 기초로 하여 저장 장치들이 자체 구성을 가능하게 함으로써, 저장 장치들에 대한 공급 업체를 제공하는 것들도 간단해질 수 있다. 저장 장치들은 저장 장치가 연결될 섀시의 이더넷 속도에 따라 다수의 버전들로 판매될 수도 있다. 이더넷 속도에 따라 저장 장치들이 자체 구성이 가능하게 함으로써, 상이한 이더넷 속도들을 지원하는 저장 장치들의 라인 대신 단일 저장 장치가 제공 될 수 있다.
아래의 설명은 본 발명의 기술적 사상의 일부 측면들이 구현되는 적절한 기계 또는 기계들의 짧고 일반적인 설명을 제공하고자 한다. 기계 또는 기계들은 적어도 부분적으로 다른 기계로부터 수신되는 지시들, 가상현실(VR) 환경과의 상호 작용, 생체 피드백, 또는 다른 입력 신호뿐 아니라 키보드, 마우스 등과 같은 통상적인 입력 장치들로부터의 입력에 의해 제어될 수 있다. 여기에서 사용되는 바와 같이, "기계"의 용어는 단일 기계, 가상 기계, 또는 기계들, 가상 기계들 또는 함께 동작하는 장치들과 통신하도록 결합된 시스템을 넓게 포함하는 것으로 의도된다. 예시적인 기계들은 예를 들어 자동차, 기차, 택시 등과 같은 개인용 또는 공공 수송과 같은 수송 장치들뿐 아니라 개인용 컴퓨터들, 워크스테이션들, 서버들, 포터블 컴퓨터들, 핸드헬드 장치들, 전화들, 태블릿들 등과 같은 컴퓨팅 장치들을 포함할 수 있다.
기계 또는 기계들은 프로그램 가능한 또는 프로그램 불가능한 논리 장치들 또는 어레이들, ASIC (Application Specific Integrated Circuit), 임베디드 컴퓨터들, 스마트 카드들 등과 같은 임베디드 컨트롤러들을 포함할 수 있다. 기계 또는 기계들은 네트워크 인터페이스, 모뎀, 또는 다른 통신 결합들을 통해서와 같이 하나 또는 그보다 많은 원격 기계들에 대한 하나 또는 그보다 많은 연결들을 활용할 수 있다. 기계들은 인트라넷, 인터넷, LAN (local area networks), WAN (wide area networks) 등과 같은 물리적 그리고/또는 논리적 네트워크의 수단으로 서로 연결될 수 있다. 이 분야에 숙력된 자는 네트워크 통신이 다양한 유선 그리고/또는 무선 근거리 또는 원거리 캐리어들 및 무선 주파수(RF), 위성, 마이크로파, IEEE 802.11, 블루투스, 광학, 적외선, 케이블, 레이저 등을 포함하는 프로토콜을 활용함을 이해할 것이다.
본 발명의 기술적 사상의 실시 예들은, 기계에 의해 액세스되는 때에 기계가 작업들을 수행하거나 또는 추상적인 데이터 타입들 또는 저레벨 하드웨어 콘텍스트들을 정의하는 것을 유발하는 함수들, 절차들, 데이터 구조들, 응용 프로그램들 등을 포함하는 연관된 데이터를 참조하여 또는 협력하여 설명될 수 있다. 연관된 데이터는, 예를 들어 RAM, ROM 등과 같은 휘발성 그리고/또는 불휘발성 메모리, 또는 다른 스토리지 장치들, 그리고 하드 드라이브, 플로피 디스크, 광학 스토리지, 테이프들, 플래시 메모리, 메모리 스틱들, 디지털 비디오 디스크들, 생체 스토리지 등을 포함하는 연관된 스토리지 매체에 저장될 수 있다. 연관된 데이터는 물리적 그리고/또는 논리적 네트워크를 포함하는 전송 환경들을 거쳐 패킷들, 직렬 데이터, 병렬 데이터, 전송신호들 등의 형태로 전달되고, 압축된 또는 암호화된 포맷으로 이용될 수 있다. 연관된 데이터는 분산 환경에서 사용될 수 있으며, 기계 액세스에 대해 지역적 그리고/또는 원격으로 저장될 수 있다.
본 발명의 기술적 사상의 실시 예들은 하나 또는 그보다 많은 프로세서들에 의해 실행 가능하며 여기에 설명된 바와 같이 본 발명의 기술적 사상의 원소들을 수행하게 하는 명령들을 포함하는 실재하는 비임시 기계 독출 매체를 포함할 수 있다.
위에서 설명된 방법들의 다양한 동작들은 다양한 하드웨어 및/또는 소프트웨어 구성(들), 회로들, 및/또는 모듈(들)과 같이 동작들을 수행할 수 있는 임의의 적합한 수단들에 의해 수행될 수 있다. 소프트웨어는 논리적 기능들을 구현하기 위한 실행 가능 명령들의 순서화된 목록을 포함할 수 있고, 단일 또는 멀티-코어 프로세서 또는 시스템을 포함하는 프로세서와 같은 명령 실행 시스템, 기구들 또는 장치를 사용하여 또는 이들과 관련하여 임의의 "프로세서 판독 가능 매체"에서 구현 될 수 있다.
여기에서 개시된 실시 예들과 관련하여 방법 또는 알고리즘의 블록들 또는 단계들 및 기능들은 하드웨어 및 프로세서에서 실행되는 소프트웨어 모듈 또는 이들의 조합으로 직접적으로 구현될 수 있다. 소프트웨어로 구현된다면, 기능들은 비 일시적 컴퓨터 판독 가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 전송 될 수 있다. 소프트웨어 모듈은 RAM(random access memory), 플래시 메모리, ROM, EPROM, EEPROM, 레지스터, 하드 디스크, 이동식 디스크, CD ROM, 또는 이 분야에 공지된 임의의 다른 형태의 저장 매체 일 수 있다.
도시된 실시 예들을 참조하여 설명된 본 발명의 기술적 사상의 원칙들을 가지면, 도시된 실시 예들이 이러한 원칙들로부터 멀어지지 않으면서 배열 및 상세에서 수정될 수 있고 필요한 임의의 방법으로 조합될 수 있음이 이해될 것이다. 앞선 설명이 구체적인 실시 예들에 집중하였지만, 다른 구성들 또한 고려된다. 구체적으로, "본 발명의 기술적 사상의 실시 예에 따른"과 같은 설명들 또는 여기에 사용된 유사한 것들에 불구하고, 이러한 문구들은 일반적으로 실시 예의 가능성들을 참조하며, 본 발명의 기술적 사상을 구체적인 실시 예의 구성들로 한정하는 것을 의도하지 않는다. 여기에 사용되는 바와 같이, 이러한 용어들은 다른 실시 예들로 조합 가능한 동일한 또는 상이한 실시 예들을 참조할 수 있다.
앞서 설명된 실시 예들은 본 발명의 기술적 사상을 그것들로 한정하는 것으로 해석되지 않는다. 적은 실시 예들만이 설명되었지만, 이 분야에 숙련된 자들은 본 기재의 신규한 설명들 및 장점들로부터 실질적으로 멀어지지 않으면서 이러한 실시 예들에 많은 수정들이 가능함을 충분히 이해할 것이다. 따라서, 이러한 모든 수정들은 청구항들에서 정의되는 바와 같이 본 발명의 기술적 사상의 범위 내에 포함되는 것으로 의도된다.
설명 1. 본 발명의 개념의 실시 예는 섀시 프론트 엔드를 포함할 수 있고, 섀시 프론트 엔드는:
미드 플레인으로 연결하기 위한 이더넷 스위치, 프로세서, BMC(Baseboard Management Controller) 및 미드 플레인 커넥터를 포함하는 스위치 보드; 및
적어도 하나의 저장 장치에 접속하고 적어도 하나의 저장 장치 커넥터 및 섀시의 이더넷 속도를 상기 적어도 하나의 저장 장치에게 통지하기 위한 속도 로직을 포함하는 미드 플레인을 포함하되,
상기 섀시는 제 1 이더넷 속도 및 제 2 이더넷 속도를 지원할 수 있다.
설명 2. 본 발명의 개념의 실시 예는 설명 1에 따른 상기 섀시 프론트 엔드를 포함할 수 있고,
상기 제 1 이더넷 속도가 10 Gbps이고,
상기 제 2 이더넷 속도가 100 Gbps일 수 있다.
설명 3. 본 발명의 개념의 실시 예는 설명 1에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 적어도 하나의 저장 장치는 적어도 하나의 SSD를 포함할 수 있다.
설명 4. 본 발명의 개념의 실시 예는 설명 3에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 적어도 하나의 저장 장치 커넥터는 U.2 커넥터 및 SFF-TA-1008 커넥터를 포함하는 세트로부터 얻어질 수 있다.
설명 5. 본 발명의 개념의 실시 예는 설명 3에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 속도 로직은 상기 적어도 하나의 저장 장치 커넥터를 이용하여 상기 적어도 하나의 SSD와 통신하는 CPLD(Complex Programmable Logic Device)를 포함할 수 있다.
설명 6. 본 발명의 개념의 실시 예는 설명 5에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 CPLD는 상기 BMC 또는 상기 프로세서에 의해 상기 섀시의 상기 속도를 통지 받을 수 있다.
설명 7. 본 발명의 개념의 실시 예는 설명 6에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 CPLD는 I2C 버스를 사용하여, 상기 BMC 또는 상기 프로세서에 의해 섀시의 속도를 통지 받을 수 있다.
설명 8. 본 발명의 개념의 실시 예는 설명 5에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 CPLD는 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD에게 통지하기 위해 상기 적어도 하나의 저장 장치 커넥터상의 적어도 하나의 속도 핀을 사용할 수 있다.
설명 9. 본 발명의 개념의 실시 예는 설명 5에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 CPLD는 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD에게 통지하기 위해 상기 적어도 하나의 저장 장치 커넥터 상의 적어도 하나의 GPIO(General Purpose Input/Output) 핀을 사용하고,
상기 적어도 하나의 GPIO 핀은 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD에게 통지한 후 잠겨질 수 있다.
설명 10. 본 발명의 개념의 실시 예는 설명 3에 따른 상기 섀시 프론트 엔드를 포함할 수 있고,
상기 섀시의 상기 이더넷 속도는 EEPROM(Electrically Erasable Programmable Read-Only Memory)의 VPD(Vital Product Data)에 기록되고,
상기 적어도 하나의 SSD는 상기 EEPROM의 상기 VPD로부터 상기 섀시의 상기 이더넷 속도를 판독할 수 있다.
설명 11. 본 발명의 개념의 실시 예는 설명 3에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 미드 플레인은 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD로 전송하기 위해 무선 송신기를 더 포함할 수 있다.
설명 12. 본 발명의 개념의 실시 예는 설명 3에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 섀시의 상기 이더넷 속도는 상기 적어도 하나의 저장 장치 커넥터를 통해 상기 적어도 하나의 SSD의 FPGA(Field Programmable Gate Array) 내의 레지스터에 기록될 수 있다.
설명 13. 본 발명의 개념의 실시 예는 설명 3에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 이더넷 스위치는 상기 BMC 또는 상기 프로세서에 의해 구성될 수 있다.
설명 14. 본 발명의 개념의 실시 예는 설명 13에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 이더넷 스위치는 상기 BMC 또는 상기 프로세서에 의해 설정될 수 있다.
설명 15. 본 발명의 개념의 실시 예는 설명 13에 따른 상기 섀시 프론트 엔드를 포함할 수 있고, 상기 미드 플레인으로 연결하기 위한 제 2 이더넷 스위치, 제 2 프로세서, 제 2 BMC 및 제 2 미드 플레인 커넥터를 포함하는 제 2 스위치 보드를 더 포함하고,
상기 적어도 하나의 SSD는 듀얼 포트 SSD이고, 상기 적어도 하나의 저장 장치 커넥터 및 상기 미드 플레인을 통해 상기 스위치 보드 및 상기 제 2 스위치 보드 모두와 통신할 수 있다.
설명 16. 본 발명의 개념의 실시 예는 저장 장치를 포함할 수 있고, 저장 장치는:
데이터를 저장하는 데이터 저장소;
상기 데이터 저장소에 상기 데이터를 기록하는 것과 상기 데이터를 판독하는 것을 관리하는 컨트롤러;
저장 장치를 섀시의 미드 플레인으로 연결하고, 복수의 핀을 포함하는 저장 장치 커넥터;
적어도 2개의 이더넷 속도 비트 파일들을 저장하는 비트 파일 저장소; 및
상기 데이터를 상기 데이터 저장소로부터 상기 적어도 2개의 이더넷 속도 비트 파일들 중 하나에 응답하는 상기 저장 장치 커넥터상의 상기 복수의 핀으로 매핑하는 매핑 로직을 포함할 수 있다.
설명 17. 본 발명의 개념의 실시 예는 설명 16에 따른 상기 저장 장치를 포함할 수 있고, 상기 저장 장치는 SSD일 수 있다.
설명 18. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 컨트롤러는 상기 매핑 로직일 수 있다.
설명 19. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 저장 장치는 상기 매핑 로직 및 상기 컨트롤러 사이에 내부 커넥터를 더 포함할 수 있다.
설명 20. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 FPGA(Field Programmable Gate Array), ASIC(Application-Specific Integrated Circuit), GPU(Graphics Processing Unit) 및 마이크로프로세서 중 하나를 사용하여 구현될 수 있다.
설명 21. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 저장 장치 커넥터는 U.2 커넥터 및 SFF-TA-1008 커넥터를 포함하는 세트로부터 얻어질 수 있다.
설명 22. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 비트 파일 저장소는 공통 비트 파일을 더 포함할 수 있다.
설명 23. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 상기 새시로부터 수신되는 이더넷 속도 비트 패턴에 따라 상기 비트 파일 저장소에 적어도 2개의 이더넷 속도 비트 파일들 중 하나를 액세스하기 위해 동작할 수 있다.
설명 24. 본 발명의 개념의 실시 예는 설명 23에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 상기 저장 장치 커넥터 상의 적어도 하나의 핀을 사용하여 상기 섀시로부터 상기 이더넷 속도 비트 패턴을 수신하기 위해 동작할 수 있다.
설명 25. 본 발명의 개념의 실시 예는 설명 23에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 상기 저장 장치 커넥터를 통해 상기 섀시 내의 이더넷 속도 비트 패턴으로부터 상기 이더넷 속도 비트 패턴을 판독하기 위해 동작할 수 있다.
설명 26. 본 발명의 개념의 실시 예는 설명 23에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 상기 비트 파일 저장소 내의 상기 적어도 2개의 이더넷 속도 비트 파일들 중 하나에 위치하기 위해 상기 이더넷 속도 비트 패턴을 주소로써 사용하도록 동작할 수 있다.
설명 27. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 비트 파일 저장소는 노어 플래시 메모리를 포함할 수 있다.
설명 28. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 저장 장치 커넥터는 섀시 타입을 특정하는 핀을 포함할 수 있다.
설명 29. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 상기 스토리지 장치의 4개의 PCIe 레인들을 데이터 레인들로써 사용하도록 동작할 수 있고, NVMe 섀시 타입인 섀시 타입에 대해 기초하여 상기 저장 장치 커넥터의 SAS 핀들을 비활성화하도록 동작할 수 있다.
설명 30. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 상기 저장 장치 커넥터의 2개의 PCIe 레인들을 제어 레인들로써 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 3 PCIe 레인을 제 1 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 하나의 SAS 핀을 NVMeoF 섀시 타입인 섀시 유형 및 10Gbps 또는 25Gbps 이더넷 모드를 지정하는 섀시로부터 수신된 이더넷 속도 비트 패턴에 기초하는 제 2 이더넷 레인으로서 사용하도록 동작할 수 있다.
설명 31. 본 발명의 개념의 실시 예는 설명 17에 따른 상기 저장 장치를 포함할 수 있고, 상기 매핑 로직은 상기 저장 장치 커넥터의 2개의 PCIe 레인들을 제어 레인들로써 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 3 PCIe 레인을 제 1 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 4 PCIe 레인을 제 2 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 1 SAS 핀을 제 3 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 4 SAS 핀을 NVMeoF 섀시 타입인 섀시 유형 및 50Gbps 또는 100Gbps 이더넷 모드를 지정하는 섀시로부터 수신된 이더넷 속도 비트 패턴에 기초하는 제 4 이더넷 레인으로서 사용하도록 동작할 수 있다.
설명 32. 본 발명의 개념의 실시 예는 방법을 포함할 수 있고, 방법은:
섀시로부터 스위치 보드 상의 BMC(Baseboard Management Controller)에서 상기 섀시의 이더넷 속도를 수신하는 단계; 및
상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 섀시 프론트 엔드로 연결된 상기 섀시 내의 저장 장치에게 통지하는 단계를 포함하고,
상기 섀시 프론트 엔드는 미드 플레인 및 상기 스위치 보드를 포함하고,
상기 섀시는 제 1 이더넷 속도 및 제 2 이더넷 속도를 지원할 수 있다.
설명 33. 본 발명의 개념의 실시 예는 설명 32에 따른 상기 방법을 포함할 수 있고,
상기 제 1 이더넷 속도가 10 Gbps이고,
상기 제 2 이더넷 속도가 100 Gbps일 수 있다.
설명 34. 본 발명의 개념의 실시 예는 설명 32에 따른 상기 방법을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 섀시 프론트 엔드로 연결된 상기 섀시 내의 저장 장치에게 통지하는 단계는 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 단계를 포함할 수 있다.
설명 35. 본 발명의 개념의 실시 예는 설명 34에 따른 상기 방법을 포함할 수 있고, 상기 섀시 프론트 엔드는 U.2 커넥터 및 SFF-TA-1008 커넥터를 포함하는 세트로부터 얻어지는 저장 장치 커넥터를 사용하여 상기 SSD로 연결할 수 있다.
설명 36. 본 발명의 개념의 실시 예는 설명 34에 따른 상기 방법을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 단계는:
상기 섀시의 상기 이더넷 속도를 상기 BMC에 의해 CPLD(Complex Programmable Logic Device)에게 통지하는 단계; 및
상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지하는 단계를 포함할 수 있다.
설명 37. 본 발명의 개념의 실시 예는 설명 36에 따른 상기 방법을 포함할 수 있고, 상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지하는 단계는 I2C 버스를 사용하여 상기 섀시의 상기 이더넷 속도를 상기 BMC에 의해 상기 CPLD에게 통지하는 단계를 포함할 수 있다.
설명 38. 본 발명의 개념의 실시 예는 설명 36에 따른 상기 방법을 포함할 수 있고, 상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지하는 단계는 상기 SSD를 상기 섀시 프론트 엔드로 연결하는 저장 장치 커넥터 상의 적어도 하나의 속도 핀을 사용하는 단계를 포함할 수 있다.
설명 39. 본 발명의 개념의 실시 예는 설명 36에 따른 상기 방법을 포함할 수 있고, 상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지하는 단계는:
상기 SSD를 상기 섀시 프론트 엔드로 연결하는 저장 장치 커넥터 상의 적어도 하나의 GPIO(General Purpose Input / Output) 핀을 사용하는 단계; 및
상기 섀시의 상기 속도를 상기 SSD에게 통지한 후 잠겨진 상기 적어도 하나의 GPIO 핀을 잠그는 단계를 포함할 수 있다.
설명 40. 본 발명의 개념의 실시 예는 설명 34에 따른 상기 방법을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 단계는 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 EEPROM(Electrically Erasable Programmable Read-Only Memory)의 VPD(Vital Product Data)에 기록하는 단계를 포함하고,
상기 SSD는 상기 EEPROM의 상기 VPD로부터 상기 섀시의 상기 이더넷 속도를 판독할 수 있다.
설명 41. 본 발명의 개념의 실시 예는 설명 34에 따른 상기 방법을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 단계는 무선으로 상기 섀시의 상기 이더넷 속도를 상기 BMC로부터 상기 SSD로 전송하는 단계를 포함할 수 있다.
설명 42. 본 발명의 개념의 실시 예는 설명 34에 따른 상기 방법을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 단계는 상기 BMC에 의해, 저장 장치 커넥터를 사용하여 상기 섀시의 상기 이더넷 속도를 상기 SSD의 FPGA(Field Programmable Gate Array) 내의 레지스터에 기록하는 단계를 포함할 수 있다.
설명 43. 본 발명의 개념의 실시 예는 설명 34에 따른 상기 방법을 포함할 수 있고, 상기 BMC에 의해 스위치 보드의 이더넷 스위치를 구성하는 단계를 더 포함할 수 있다.
설명 44. 본 발명의 개념의 실시 예는 설명 34에 따른 상기 방법을 포함할 수 있고, 상기 섀시 프론트 엔드는 상기 미드 플레인으로 연결된 제 2 스위치 보드를 포함하고,
상기 SSD는 듀얼 포트 SSD이고, 저장 장치 커넥터 및 상기 미드 플레인을 통해 상기 스위치 보드 및 상기 제 2 스위치 보드 모두와 통신할 수 있다.
설명 45. 본 발명의 개념의 실시 예는 방법을 포함할 수 있고, 방법은:
저장 장치에서 이더넷 속도 비트 패턴을 결정하는 단계;
상기 이더넷 속도 비트 패턴에 응답하여 상기 저장 장치 상의 비트 파일 저장소로부터 제 1 이더넷 속도 비트 파일을 액세스 하는 단계;
상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 단계를 포함하되,
상기 비트 파일 저장소는 적어도 2개의 이더넷 속도 비트 파일들을 저장할 수 있다.
설명 46. 본 발명의 개념의 실시 예는 설명 45에 따른 상기 방법을 포함할 수 있고,
저장 장치에서 이더넷 속도 비트 패턴을 결정하는 단계는 SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 단계를 포함하고;
상기 이더넷 속도 비트 패턴에 응답하여 상기 저장 장치 상의 비트 파일 저장소로부터 제 1 이더넷 속도 비트 파일을 액세스 하는 단계는 상기 이더넷 속도 비트 패턴에 응답하여 상기 SSD상의 상기 비트 파일 저장소로부터 상기 제 1 이더넷 속도 비트 파일을 액세스 하는 단계를 포함하고; 및
상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 단계는 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 SSD 내의 상기 데이터 저장소로부터 상기 SSD의 상기 저장 장치 커넥터상의 상기 복수의 핀들로 데이터를 매핑하는 단계를 포함할 수 있다.
설명 47. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, 상기 SSD는 상기 이더넷 속도 비트 패턴을 결정하고, 상기 제 1 이더넷 속도 비트 파일을 액세스 하고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 데이터를 매핑하는 컨트롤러를 포함할 수 있다.
설명 48. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, 상기 SSD는 상기 이더넷 속도 비트 패턴을 결정하고, 상기 제 1 이더넷 속도 비트 파일을 액세스 하고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 데이터를 매핑하는 컨트롤러로부터 분리된 매핑 로직을 포함할 수 있다.
설명 49. 본 발명의 개념의 실시 예는 설명 48에 따른 상기 방법을 포함할 수 있고, 상기 매핑 로직 및 상기 컨트롤러는 내부 커넥터를 통해 통신할 수 있다.
설명 50. 본 발명의 개념의 실시 예는 설명 48에 따른 상기 방법을 포함할 수 있고, 상기 매핑 로직은 FPGA(Field Programmable Gate Array), ASIC(Application-Specific Integrated Circuit), GPU(Graphics Processing Unit) 및 마이크로프로세서 중 하나를 사용하여 구현될 수 있다.
설명 51. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, 상기 저장 장치 커넥터는 U.2 커넥터 및 SFF-TA-1008 커넥터를 포함하는 세트로부터 얻어질 수 있다.
설명 52. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, 상기 비트 파일 저장소로부터 공통 비트 파일을 액세스 하는 단계; 및
상기 공통 비트 파일에 따라 상기 SSD의 엔드 포인트 및 루트 포인트를 구성하는 단계를 더 포함할 수 있다.
설명 53. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 단계는 상기 저장 장치 커넥터 상의 적어도 하나의 핀을 통해 상기 섀시로부터 상기 이더넷 속도 비트 패턴을 수신하는 단계를 포함할 수 있다.
설명 54. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 단계는 상기 저장 장치 커넥터를 사용하여 상기 섀시 상의 이더넷 속도 비트 패턴 저장소로부터 상기 이더넷 속도 비트 패턴을 판독하는 단계를 포함할 수 있다.
설명 55. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 단계는 FPGA로부터 상기 이더넷 속도 비트 패턴을 판독하는 단계를 포함할 수 있다.
설명 56. 본 발명의 개념의 실시 예는 설명 46에 따른 상기 방법을 포함할 수 있고, 상기 이더넷 속도 비트 패턴에 응답하여 상기 SSD상의 상기 비트 파일 저장소로부터 상기 제 1 이더넷 속도 비트 파일을 액세스 하는 단계는 상기 비트 파일 저장소 내의 상기 제 1 이더넷 속도 비트 파일에 위치하기 위해 상기 이더넷 속도 비트 패턴을 주소로써 사용하는 단계를 포함할 수 있다.
설명 57. 본 발명의 개념의 실시 예는 설명 56에 따른 상기 방법을 포함할 수 있고, 상기 비트 파일 저장소는 노어 플래시 메모리를 포함할 수 있다.
설명 58. 본 발명의 개념의 실시 예는 설명 45에 따른 상기 방법을 포함할 수 있고, 상기 저장 장치 커넥터 내의 핀으로부터 섀시 타입을 특정하는 단계를 더 포함할 수 있다.
설명 59. 본 발명의 개념의 실시 예는 설명 45에 따른 상기 방법을 포함할 수 있고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 단계는 상기 스토리지 장치의 4개의 PCIe 레인들을 데이터 레인들로써 사용하도록 동작할 수 있고, NVMe 섀시 타입인 섀시 타입에 대해 기초하여 상기 저장 장치 커넥터의 SAS 핀들을 비활성화하는 단계를 포함할 수 있다.
설명 60. 본 발명의 개념의 실시 예는 설명 45에 따른 상기 방법을 포함할 수 있고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 단계는 상기 저장 장치 커넥터의 2개의 PCIe 레인들을 제어 레인들로써 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 3 PCIe 레인을 제 1 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 하나의 SAS 핀을 NVMeoF 섀시 타입인 섀시 유형 및 10Gbps 또는 25Gbps 이더넷 모드를 지정하는 섀시로부터 수신된 이더넷 속도 비트 패턴에 기초하는 제 2 이더넷 레인으로서 사용하는 단계를 포함할 수 있다.
설명 61. 본 발명의 개념의 실시 예는 설명 45에 따른 상기 방법을 포함할 수 있고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 단계는 상기 저장 장치 커넥터의 2개의 PCIe 레인들을 제어 레인들로써 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 3 PCIe 레인을 제 1 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 4 PCIe 레인을 제 2 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 1 SAS 핀을 제 3 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 4 SAS 핀을 NVMeoF 섀시 타입인 섀시 유형 및 50Gbps 또는 100Gbps 이더넷 모드를 지정하는 섀시로부터 수신된 이더넷 속도 비트 패턴에 기초하는 제 4 이더넷 레인으로서 사용하는 단계를 포함할 수 있다.
설명 62. 본 발명의 개념의 일 실시 예는 비 일시적인 저장 매체를 포함하는 물품을 포함하며, 상기 비 일시적 저장 매체 명령들을 저장하고 있으며, 상기 명령어들이 기계에 의해 실행될 때 그 결과로:
섀시로부터 스위치 보드 상의 BMC(Baseboard Management Controller)에서 상기 섀시의 이더넷 속도를 수신하고; 및
상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 섀시 프론트 엔드로 연결된 상기 섀시 내의 저장 장치에게 통지하고,
상기 섀시 프론트 엔드는 미드 플레인 및 상기 스위치 보드를 포함하고,
상기 섀시는 제 1 이더넷 속도 및 제 2 이더넷 속도를 지원할 수 있다.
설명 63. 본 발명의 개념의 실시 예는 설명 62에 따른 상기 물품을 포함할 수 있고,
상기 제 1 이더넷 속도가 10 Gbps이고,
상기 제 2 이더넷 속도가 100 Gbps일 수 있다.
설명 64. 본 발명의 개념의 실시 예는 설명 62에 따른 상기 물품을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 저장 장치에게 통지하는 것은 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 것을 포함할 수 있다.
설명 65. 본 발명의 개념의 실시 예는 설명 64에 따른 상기 물품을 포함할 수 있고, 상기 섀시 프론트 엔드는 U.2 커넥터 및 SFF-TA-1008 커넥터를 포함하는 세트로부터 얻어지는 저장 장치 커넥터를 사용하여 상기 SSD로 연결될 수 있다.
설명 66. 본 발명의 개념의 실시 예는 설명 64에 따른 상기 물품을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 것은:
상기 섀시의 상기 이더넷 속도를 상기 BMC에 의해 CPLD(Complex Programmable Logic Device)에게 통지하고; 및
상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지할 수 있다.
설명 67. 본 발명의 개념의 실시 예는 설명 66에 따른 상기 물품을 포함할 수 있고, 상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지하는 것은 I2C 버스를 사용하여 상기 섀시의 상기 이더넷 속도를 상기 BMC에 의해 상기 CPLD에게 통지하는 것을 포함할 수 있다.
설명 68. 본 발명의 개념의 실시 예는 설명 66에 따른 상기 물품을 포함할 수 있고, 상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지하는 것은 상기 SSD를 상기 섀시 프론트 엔드로 연결하는 저장 장치 커넥터 상의 적어도 하나의 속도 핀을 사용하는 것을 포함할 수 있다.
설명 69. 본 발명의 개념의 실시 예는 설명 66에 따른 상기 물품을 포함할 수 있고, 상기 CPLD에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 상기 SSD에게 통지하는 것은:
상기 SSD를 상기 섀시 프론트 엔드로 연결하는 저장 장치 커넥터 상의 적어도 하나의 GPIO(General Purpose Input / Output) 핀을 사용하는 것은; 및
상기 섀시의 상기 속도를 상기 SSD에게 통지한 후 잠겨진 상기 적어도 하나의 GPIO 핀을 잠그는 것을 포함할 수 있다.
설명 70. 본 발명의 개념의 실시 예는 설명 64에 따른 상기 물품을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 것은 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 EEPROM(Electrically Erasable Programmable Read-Only Memory)의 VPD(Vital Product Data)에 기록하는 것을 포함하고,
상기 SSD는 상기 EEPROM의 상기 VPD로부터 상기 섀시의 상기 이더넷 속도를 판독할 수 있다.
설명 71. 본 발명의 개념의 실시 예는 설명 64에 따른 상기 물품을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 것은 무선으로 상기 섀시의 상기 이더넷 속도를 상기 BMC로부터 상기 SSD로 전송하는 것을 포함할 수 있다.
설명 72. 본 발명의 개념의 실시 예는 설명 64에 따른 상기 물품을 포함할 수 있고, 상기 BMC에 의해, 상기 섀시의 상기 이더넷 속도를 상기 섀시 프론트 엔드로 연결된 상기 섀시 내의 SSD에게 통지하는 것은 상기 BMC에 의해, 저장 장치 커넥터를 사용하여 상기 섀시의 상기 이더넷 속도를 상기 SSD의 FPGA(Field Programmable Gate Array) 내의 레지스터에 기록하는 것을 포함할 수 있다.
설명 73. 본 발명의 개념의 실시 예는 설명 64에 따른 상기 물품을 포함할 수 있고, 상기 비 일시적 저장 매체 명령들을 저장하고 있으며, 상기 명령어들이 기계에 의해 실행될 때 그 결과로 상기 BMC에 의해 스위치 보드의 이더넷 스위치를 구성할 수 있다.
설명 74. 본 발명의 개념의 실시 예는 설명 64에 따른 상기 물품을 포함할 수 있고,
상기 섀시 프론트 엔드는 상기 미드 플레인으로 연결된 제 2 스위치 보드를 포함하고,
상기 SSD는 듀얼 포트 SSD이고, 저장 장치 커넥터 및 상기 미드 플레인을 통해 상기 스위치 보드 및 상기 제 2 스위치 보드 모두와 통신할 수 있다.
설명 75. 본 발명의 개념의 일 실시 예는 비 일시적인 저장 매체를 포함하는 물품을 포함하며, 상기 비 일시적 저장 매체 명령들을 저장하고 있으며, 상기 명령어들이 기계에 의해 실행될 때 그 결과로:
저장 장치에서 이더넷 속도 비트 패턴을 결정하고;
상기 이더넷 속도 비트 패턴에 응답하여 상기 저장 장치 상의 비트 파일 저장소로부터 제 1 이더넷 속도 비트 파일을 액세스 하고;
상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하되,
상기 비트 파일 저장소는 적어도 2개의 이더넷 속도 비트 파일들을 저장할 수 있다.
설명 76. 본 발명의 개념의 실시 예는 설명 75에 따른 상기 물품을 포함할 수 있고,
저장 장치에서 이더넷 속도 비트 패턴을 결정하는 것은 SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 것을 포함하고;
상기 이더넷 속도 비트 패턴에 응답하여 상기 저장 장치 상의 비트 파일 저장소로부터 제 1 이더넷 속도 비트 파일을 액세스 하는 것은 상기 이더넷 속도 비트 패턴에 응답하여 상기 SSD상의 상기 비트 파일 저장소로부터 상기 제 1 이더넷 속도 비트 파일을 액세스 하는 것을 포함하고; 및
상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 것은 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 SSD 내의 상기 데이터 저장소로부터 상기 SSD의 상기 저장 장치 커넥터상의 상기 복수의 핀들로 데이터를 매핑하는 것을 포함할 수 있다.
설명 77. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, 상기 SSD는 상기 이더넷 속도 비트 패턴을 결정하고, 상기 제 1 이더넷 속도 비트 파일을 액세스 하고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 데이터를 매핑하는 컨트롤러를 포함할 수 있다.
설명 78. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, 상기 SSD는 상기 이더넷 속도 비트 패턴을 결정하고, 상기 제 1 이더넷 속도 비트 파일을 액세스 하고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 데이터를 매핑하는 컨트롤러로부터 분리된 매핑 로직을 포함할 수 있다.
설명 79. 본 발명의 개념의 실시 예는 설명 78에 따른 상기 물품을 포함할 수 있고, 상기 매핑 로직 및 상기 컨트롤러는 내부 커넥터를 통해 통신할 수 있다.
설명 80. 본 발명의 개념의 실시 예는 설명 78에 따른 상기 물품을 포함할 수 있고, 상기 매핑 로직은 FPGA(Field Programmable Gate Array), ASIC(Application-Specific Integrated Circuit), GPU(Graphics Processing Unit) 및 마이크로프로세서 중 하나를 사용하여 구현될 수 있다.
설명 81. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, 상기 저장 장치 커넥터는 U.2 커넥터 및 SFF-TA-1008 커넥터를 포함하는 세트로부터 얻어질 수 있다.
설명 82. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, 상기 비 일시적 저장 매체 명령들을 저장하고 있으며, 상기 명령어들이 기계에 의해 실행될 때 그 결과로:
상기 비트 파일 저장소로부터 공통 비트 파일을 액세스 하고; 및
상기 공통 비트 파일에 따라 상기 SSD의 엔드 포인트 및 루트 포인트를 구성할 수 있다.
설명 83. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 것은 상기 저장 장치 커넥터 상의 적어도 하나의 핀을 통해 상기 섀시로부터 상기 이더넷 속도 비트 패턴을 수신하는 것을 포함할 수 있다.
설명 84. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 것은 상기 저장 장치 커넥터를 사용하여 상기 섀시 상의 이더넷 속도 비트 패턴 저장소로부터 상기 이더넷 속도 비트 패턴을 판독하는 것을 포함할 수 있다.
설명 85. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, SSD에서 상기 이더넷 속도 비트 패턴을 결정하는 것은 FPGA로부터 상기 이더넷 속도 비트 패턴을 판독하는 것을 포함할 수 있다.
설명 86. 본 발명의 개념의 실시 예는 설명 76에 따른 상기 물품을 포함할 수 있고, 상기 이더넷 속도 비트 패턴에 응답하여 상기 SSD상의 상기 비트 파일 저장소로부터 상기 제 1 이더넷 속도 비트 파일을 액세스 하는 것은 상기 비트 파일 저장소 내의 상기 제 1 이더넷 속도 비트 파일에 위치하기 위해 상기 이더넷 속도 비트 패턴을 주소로써 사용하는 것을 포함할 수 있다.
설명 87. 본 발명의 개념의 실시 예는 설명 86에 따른 상기 물품을 포함할 수 있고, 상기 비트 파일 저장소는 노어 플래시 메모리를 포함할 수 있다.
설명 88. 본 발명의 개념의 실시 예는 설명 75에 따른 상기 물품을 포함할 수 있고, 상기 저장 장치 커넥터 내의 핀으로부터 섀시 타입을 특정하는 것을 더 포함할 수 있다.
설명 89. 본 발명의 개념의 실시 예는 설명 75에 따른 상기 물품을 포함할 수 있고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 것은 상기 스토리지 장치의 4개의 PCIe 레인들을 데이터 레인들로써 사용하도록 동작할 수 있고, NVMe 섀시 타입인 섀시 타입에 대해 기초하여 상기 저장 장치 커넥터의 SAS 핀들을 비활성화하는 것을 포함할 수 있다.
설명 90. 본 발명의 개념의 실시 예는 설명 75에 따른 상기 물품을 포함할 수 있고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 것은 상기 저장 장치 커넥터의 2개의 PCIe 레인들을 제어 레인들로써 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 3 PCIe 레인을 제 1 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 하나의 SAS 핀을 NVMeoF 섀시 타입인 섀시 유형 및 10Gbps 또는 25Gbps 이더넷 모드를 지정하는 섀시로부터 수신된 이더넷 속도 비트 패턴에 기초하는 제 2 이더넷 레인으로서 사용하는 것을 포함할 수 있다.
설명 91. 본 발명의 개념의 실시 예는 설명 75에 따른 상기 물품을 포함할 수 있고, 상기 제 1 이더넷 속도 비트 파일에 응답하여 상기 저장 장치 내의 데이터 저장소로부터 상기 저장 장치의 저장 장치 커넥터상의 복수의 핀들로 데이터를 매핑하는 것은 상기 저장 장치 커넥터의 2개의 PCIe 레인들을 제어 레인들로써 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 3 PCIe 레인을 제 1 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 4 PCIe 레인을 제 2 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 1 SAS 핀을 제 3 이더넷 레인으로서 사용하도록 동작하고, 상기 저장 장치 커넥터의 제 4 SAS 핀을 NVMeoF 섀시 타입인 섀시 유형 및 50Gbps 또는 100Gbps 이더넷 모드를 지정하는 섀시로부터 수신된 이더넷 속도 비트 패턴에 기초하는 제 4 이더넷 레인으로서 사용하는 것을 포함할 수 있다.
결론적으로, 본 명세서에 기술된 실시 예에 대한 다양한 변경의 관점에서, 이 상세한 설명 및 첨부 된 자료는 단지 예시적인 것으로 의도되며, 본 발명의 범위를 제한하는 것으로 간주되어서는 안 된다. 그러므로, 본 발명으로써 청구되는 것은 후술하는 청구범위 및 그 균등물의 범위 및 사상 내에 있을 수 있는 모든 변형이다.

Claims (10)

  1. 미드 플레인으로 연결하기 위한 이더넷 스위치, 프로세서, BMC(Baseboard Management Controller) 및 미드 플레인 커넥터를 포함하는 스위치 보드; 및
    적어도 하나의 저장 장치로 연결하기 위한 적어도 하나의 저장 장치 커넥터 및 섀시의 이더넷 속도를 상기 적어도 하나의 저장 장치에게 통지하기 위한 속도 로직을 포함하는 미드 플레인을 포함하되,
    상기 섀시는 제 1 이더넷 속도 및 제 2 이더넷 속도를 지원하는 섀시 프론트 엔드.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 저장 장치는 적어도 하나의 SSD(Solid State Drive)를 포함하는 섀시 프론트 엔드.
  3. 제 2 항에 있어서,
    상기 속도 로직은 상기 적어도 하나의 저장 장치 커넥터를 이용하여 상기 적어도 하나의 SSD와 통신하는 CPLD(Complex Programmable Logic Device)를 포함하는 섀시 프론트 엔드.
  4. 제 3 항에 있어서,
    상기 CPLD는 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD에게 통지하기 위해 상기 적어도 하나의 저장 장치 커넥터상의 적어도 하나의 속도 핀을 사용하는 섀시 프론트 엔드.
  5. 제 3 항에 있어서,
    상기 CPLD는 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD에게 통지하기 위해 상기 적어도 하나의 저장 장치 커넥터 상의 적어도 하나의 GPIO(General Purpose Input/Output) 핀을 사용하고,
    상기 적어도 하나의 GPIO 핀은 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD에게 통지한 후 잠겨지는 섀시 프론트 엔드.
  6. 제 2 항에 있어서,
    상기 섀시의 상기 이더넷 속도는 EEPROM(Electrically Erasable Programmable Read-Only Memory)의 VPD(Vital Product Data)에 기록되고,
    상기 적어도 하나의 SSD는 상기 EEPROM의 상기 VPD로부터 상기 섀시의 상기 이더넷 속도를 판독하는 섀시 프론트 엔드.
  7. 제 2 항에 있어서,
    상기 미드 플레인은 상기 섀시의 상기 이더넷 속도를 상기 적어도 하나의 SSD로 전송하기 위해 무선 송신기를 더 포함하는 섀시 프론트 엔드.
  8. 제 2 항에 있어서,
    상기 섀시의 상기 이더넷 속도는 상기 적어도 하나의 저장 장치 커넥터를 통해 상기 적어도 하나의 SSD의 FPGA(Field Programmable Gate Array) 내의 레지스터에 기록되는 섀시 프론트 엔드.
  9. 제 2 항에 있어서,
    상기 미드 플레인으로 연결하기 위한 제 2 이더넷 스위치, 제 2 프로세서, 제 2 BMC 및 제 2 미드 플레인 커넥터를 포함하는 제 2 스위치 보드를 더 포함하고,
    상기 적어도 하나의 SSD는 듀얼 포트 SSD이고, 상기 적어도 하나의 저장 장치 커넥터 및 상기 미드 플레인을 통해 상기 스위치 보드 및 상기 제 2 스위치 보드 모두와 통신하는 섀시 프론트 엔드.
  10. 데이터를 저장하는 데이터 저장소;
    상기 데이터 저장소에 상기 데이터를 기록하는 것과 상기 데이터를 판독하는 것을 관리하는 컨트롤러;
    저장 장치를 섀시의 미드 플레인으로 연결하고, 복수의 핀을 포함하는 저장 장치 커넥터;
    적어도 2개의 이더넷 속도 비트 파일들을 저장하는 비트 파일 저장소; 및
    상기 데이터를 상기 데이터 저장소로부터 상기 적어도 2개의 이더넷 속도 비트 파일들 중 하나에 응답하는 상기 저장 장치 커넥터상의 상기 복수의 핀으로 매핑하는 매핑 로직을 포함하는 저장 장치.
KR1020190012285A 2018-03-02 2019-01-30 Fpga+ssd의 50g 또는 100g 이더넷 속도를 지원하는 모듈러 시스템(스위치 보드들 및 미드 플레인) KR20190104878A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862638040P 2018-03-02 2018-03-02
US62/638,040 2018-03-02
US201862745967P 2018-10-15 2018-10-15
US62/745,967 2018-10-15
US16/202,079 2018-11-27
US16/202,079 US20190109720A1 (en) 2016-07-26 2018-11-27 Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd

Publications (1)

Publication Number Publication Date
KR20190104878A true KR20190104878A (ko) 2019-09-11

Family

ID=67822330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190012285A KR20190104878A (ko) 2018-03-02 2019-01-30 Fpga+ssd의 50g 또는 100g 이더넷 속도를 지원하는 모듈러 시스템(스위치 보드들 및 미드 플레인)

Country Status (2)

Country Link
KR (1) KR20190104878A (ko)
CN (1) CN110221993B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220109497A (ko) * 2020-11-25 2022-08-05 (주)케이티엔에프 엣지 컴퓨팅을 위한 엣지 서버 고속 백플레인 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912840B (zh) * 2019-11-24 2021-06-29 苏州浪潮智能科技有限公司 基于交换机端口的统一接口装置及底层设备信息获取方法
CN112199310B (zh) * 2020-09-24 2022-05-24 深圳市中视典数字科技有限公司 转换器、vr控制系统及vr控制系统稳定性检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295567B1 (en) * 1998-01-26 2001-09-25 Dell Usa, L.P. Chassis type determination in an electronic system
US9280504B2 (en) * 2012-08-24 2016-03-08 Intel Corporation Methods and apparatus for sharing a network interface controller
US10210123B2 (en) * 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220109497A (ko) * 2020-11-25 2022-08-05 (주)케이티엔에프 엣지 컴퓨팅을 위한 엣지 서버 고속 백플레인 장치

Also Published As

Publication number Publication date
CN110221993B (zh) 2023-12-12
CN110221993A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
US11983406B2 (en) Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
KR102223545B1 (ko) 멀티 모드에서 동작하는 장치 및 그것을 포함하는 시스템
US11126583B2 (en) Multi-mode NMVe over fabrics devices
US11983129B2 (en) Self-configuring baseboard management controller (BMC)
KR102392204B1 (ko) 멀티-모드 및/또는 멀티-속도 NVMe-oF 장치들을 지원하는 시스템 및 방법
KR100708565B1 (ko) 복수의 처리 노드를 시리얼 버스에 의해 상호 접속하는장치
US11923992B2 (en) Modular system (switch boards and mid-plane) for supporting 50G or 100G Ethernet speeds of FPGA+SSD
US10498645B2 (en) Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
US20180032471A1 (en) Self-configuring ssd multi-protocol support in host-less environment
US9720864B2 (en) Flexible server system
KR20160105294A (ko) 모듈화된 불휘발성 플래시 메모리 블레이드
KR20190104878A (ko) Fpga+ssd의 50g 또는 100g 이더넷 속도를 지원하는 모듈러 시스템(스위치 보드들 및 미드 플레인)
US10606784B1 (en) Software filtering of redundant sideband device management bus communications
US7376761B2 (en) Configuration data management
US20230085624A1 (en) Modular system (switchboards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
KR102155659B1 (ko) 멀티-모드 장치 및 그것의 동작 방법
CN110908715A (zh) 多装置的配对系统及配对方法
US11144496B2 (en) Self-configuring SSD multi-protocol support in host-less environment
US11983138B2 (en) Self-configuring SSD multi-protocol support in host-less environment
KR102407210B1 (ko) 멀티-모드 장치 및 그것의 동작 방법
JP7497146B2 (ja) 多数の装置環境でペアリングするfpgaとssdを識別するためのストレージ装置及びコプロセッサを含むシステム及び方法
US20230325343A1 (en) Self-configuring ssd multi-protocol support in host-less environment
TWI835837B (zh) 多裝置的配對系統及配對方法

Legal Events

Date Code Title Description
A201 Request for examination