KR102147629B1 - 플렉시블 서버 시스템 - Google Patents

플렉시블 서버 시스템 Download PDF

Info

Publication number
KR102147629B1
KR102147629B1 KR1020130139855A KR20130139855A KR102147629B1 KR 102147629 B1 KR102147629 B1 KR 102147629B1 KR 1020130139855 A KR1020130139855 A KR 1020130139855A KR 20130139855 A KR20130139855 A KR 20130139855A KR 102147629 B1 KR102147629 B1 KR 102147629B1
Authority
KR
South Korea
Prior art keywords
processor
board
storage
boards
server system
Prior art date
Application number
KR1020130139855A
Other languages
English (en)
Other versions
KR20150058600A (ko
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
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020130139855A priority Critical patent/KR102147629B1/ko
Priority to US14/456,138 priority patent/US9720864B2/en
Publication of KR20150058600A publication Critical patent/KR20150058600A/ko
Application granted granted Critical
Publication of KR102147629B1 publication Critical patent/KR102147629B1/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

Abstract

플렉시블 서버 시스템이 제공된다. 상기 플렉시블 서버 시스템은 임베디드(embedded) 프로세서, 적어도 하나의 프로세서 보드(board), 적어도 하나의 스토리지 보드, 및 복수의 포트를 포함하고, 상기 복수의 포트에는 상기 임베디드 프로세서, 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결되는 스위치를 포함하되, 상기 임베디드 프로세서, 상기 적어도 하나의 프로세서 보드, 상기 적어도 하나의 스토리지 보드 및 상기 스위치는 PCIe(Peripheral Component Interconnect express) 인터페이스를 갖고, 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드는 동일한 규격의 커넥터를 통해 상기 스위치와 연결되고, 상기 임베디드 프로세서는 상기 스위치를 제어하여, 상기 복수의 포트 중 하나의 포트로부터 상기 복수의 포트 중 다른 포트로 패킷을 라우팅하도록 한다.

Description

플렉시블 서버 시스템{Flexible server system}
본 발명은 플렉시블 서버 시스템에 관한 것이다.
서버(server) 시스템은 네트워크 내의 다른 컴퓨터 시스템에게 정보 서비스를 제공하는 컴퓨터 시스템을 말한다. 그리고, 정보 서비스를 제공받는 다른 컴퓨터 시스템, 즉 서버 시스템에 정보를 요청하고 서버 시스템으로부터 정보를 수신하는 컴퓨터 시스템을 클라이언트(client) 시스템이라고 한다.
서버 시스템은 사용 목적에 따라 웹 서버(web server), 스토리지 서버(storage server) 등으로 구별될 수 있다.
종래의 서버 시스템은, 프로세서(processor), 스토리지(storage) 및 주변 장치 등의 인터페이스가 서로 다르므르, 설계 시부터 사용 목적에 적합한 구성으로 개발되었다. 따라서, 스토리지 서버를 웹 서버로 변형하거나, 웹 서버를 스토리지 서버로 변형해야 하는 경우, 현재의 서버 시스템을 다른 서버 시스템으로 교체해야만 했다.
본 발명이 해결하려는 과제는 워크로드(workload)에 따라 프로세서 보드의 개수 및 스토리지 보드의 개수를 플렉시블(flexible)하게 변경할 수 있는 플렉시블 서버 시스템을 제공하는 것이다.
본 발명이 해결하려는 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 플렉시블 서버 시스템의 일 면(aspect)은 임베디드(embedded) 프로세서, 적어도 하나의 프로세서 보드(board), 적어도 하나의 스토리지 보드, 및 복수의 포트를 포함하고, 상기 복수의 포트에는 상기 임베디드 프로세서, 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결되는 스위치를 포함하되, 상기 임베디드 프로세서, 상기 적어도 하나의 프로세서 보드, 상기 적어도 하나의 스토리지 보드 및 상기 스위치는 PCIe(Peripheral Component Interconnect express) 인터페이스를 갖고, 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드는 동일한 규격의 커넥터를 통해 상기 스위치와 연결되고, 상기 임베디드 프로세서는 상기 스위치를 제어하여, 상기 복수의 포트 중 하나의 포트로부터 상기 복수의 포트 중 다른 포트로 패킷을 라우팅하도록 한다.
본 발명의 몇몇 실시예에서, 상기 적어도 하나의 프로세서 보드의 개수 및 상기 적어도 하나의 스토리지 보드의 개수는 플렉시블하게 변경가능할 수 있다.
본 발명의 몇몇 실시예에서, 상기 스위치의 상기 복수의 포트는 하나의 업스트림(upstream) 포트 및 복수의 다운스트림(downstream) 포트를 포함하고, 상기 업스트림 포트에는 상기 임베디드 프로세서가 연결되고, 상기 다운스트림 포트에는 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결될 수 있다.
본 발명의 몇몇 실시예에서, 상기 적어도 하나의 프로세서 보드는 호스트(host)로 동작하고, 상기 적어도 하나의 스토리지 보드는 엔드 포인트(end point)로 동작할 수 있다.
본 발명의 몇몇 실시예에서, 상기 임베디드 프로세서 및 상기 적어도 하나의 프로세서 보드는 루트 콤플렉스(root complex)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 임베디드 프로세서는 상기 커넥터의 검출 핀을 이용하여 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드의 코드를 독출하고, 상기 독출된 코드에 따라 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드를 구분할 수 있다.
본 발명의 몇몇 실시예에서, 상기 적어도 하나의 프로세서 보드의 코드는 브리지(bridge) 장치로 기설정되고, 상기 적어도 하나의 스토리지 보드의 코드는 스토리지 장치로 기설정될 수 있다.
본 발명의 몇몇 실시예에서, 상기 적어도 하나의 스토리지 보드는 SR-IOV(Single Root IO Virtulization)를 제공할 수 있다.
본 발명의 몇몇 실시예에서, 상기 커넥터는 PCIe 인터페이스, SAS(Serial Attached SCSI) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스를 지원할 수 있다.
본 발명의 몇몇 실시예에서, 상기 플렉시블 서버 시스템은, 상기 PCIe 인터페이스를 갖는 적어도 하나의 네트워크 카드를 더 포함하고, 상기 복수의 포트에는 상기 적어도 하나의 네트워크 카드가 연결될 수 있다.
본 발명의 몇몇 실시예에서, 상기 적어도 하나의 네트워크 카드는 SR-IOV를 제공할 수 있다.
본 발명의 몇몇 실시예에서, 상기 적어도 하나의 스토리지 보드는 NVMe (Non-Volatile Memory express) 인터페이스를 지원하는 솔리드 스테이트 드라이브(solid state drive)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 임베디드 프로세서, 상기 스위치 및 상기 커넥터는 하나의 시스템 보드 상에 형성될 수 있다.
상기 과제를 해결하기 위한 본 발명의 플렉시블 서버 시스템의 다른 면은 둘 이상의 프로세서 보드, 적어도 하나의 스토리지 보드, 및 복수의 포트를 포함하고, 상기 복수의 포트에는 상기 둘 이상의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결되는 스위치를 포함하되, 상기 적어도 하나의 프로세서 보드, 상기 적어도 하나의 스토리지 보드 및 상기 스위치는 PCIe(Peripheral Component Interconnect express) 인터페이스를 갖고, 상기 둘 이상의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드는 동일한 규격의 커넥터를 통해 상기 스위치와 연결되고, 상기 둘 이상의 프로세서 보드 중 어느 하나의 프로세서 보드는 상기 스위치를 제어하여, 상기 복수의 포트 중 하나의 포트로부터 상기 복수의 포트 중 다른 포트로 패킷을 라우팅하도록 한다.
본 발명의 몇몇 실시예에서, 상기 둘 이상의 프로세서 보드의 개수 및 상기 적어도 하나의 스토리지 보드의 개수는 플렉시블하게 변경가능할 수 있다.
본 발명의 몇몇 실시예에서, 상기 스위치의 상기 복수의 포트는 하나의 업스트림(upstream) 포트 및 복수의 다운스트림(downstream) 포트를 포함하고, 상기 업스트림 포트에는 상기 둘 이상의 프로세서 보드 중 상기 어느 하나의 프로세서 보드가 연결되고, 상기 다운스트림 포트에는 상기 둘 이상의 프로세서 보드 중 나머지 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결될 수 있다.
본 발명의 몇몇 실시예에서, 상기 둘 이상의 프로세서 보드는 호스트(host)로 동작하고, 상기 적어도 하나의 스토리지 보드는 엔드 포인트(end point)로 동작할 수 있다.
본 발명의 몇몇 실시예에서, 상기 둘 이상의 프로세서 보드는 루트 콤플렉스(root complex)를 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 블록도이다.
도 2는 도 1의 플렉시블 서버 시스템에서 프로세서 보드 및 스토리지 보드가 장착되는 커넥터를 설명하기 위한 도면이다.
도 3a 및 도 3b는 도 1의 플렉시블 서버 시스템에서 워크로드에 따라 프로세서 보드의 개수 및 스토리지 보드의 개수를 플렉시블하게 변경하는 것을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 블록도이다.
도 5는 본 발명의 또 다른 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 블록도이다.
도 7은 본 발명의 몇몇 실시예에 따른 플렉시블 서버 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 8 내지 도 9는 본 발명의 몇몇 실시예에 따른 플렉시블 서버 시스템이 적용될 수 있는 서버 섀시(shassis)를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예에 따른 플렉시블 시스템을 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 블록도이고, 도 2는 도 1의 플렉시블 서버 시스템에서 프로세서 보드 및 스토리지 보드가 장착되는 커넥터를 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 플렉시블 서버 시스템(100)은 PCIe 스위치(110; PCIe SWITCH), 임베디드 프로세서(120; EMBEDDED PROCESSOR), 복수의 프로세서 보드(130; PROCESSOR BOARD), 복수의 스토리지 보드(140; STORAGE BOARD), 복수의 네트워크 카드(150; NETWORK CARD)를 포함한다.
PCIe 스위치(110)는 복수의 포트(111, 112)를 포함할 수 있다. 복수의 포트는 하나의 업스트림(upstream) 포트(111; UP) 및 복수의 다운스트림(downstream) 포트(112; DP)를 포함할 수 있다. PCIe 스위치(110)는 복수의 포트(111, 112) 중 하나의 포트로부터 복수의 포트(111, 112) 중 다른 포트로 패킷(packet)을 라우팅할 수 있다. 여기서, 패킷은 데이터가 전달되는 기초 단위를 나타낼 수 있다.
PCIe 스위치(110)는 시스템 보드(또는, 마더 보드, 메인 보드) 상에 형성될 수 있다. 여기서, 시스템 보드란 서버 시스템(100)의 메인 인쇄 회로 기판을 나타낼 수 있다. 시스템 보드는 서버 시스템의 주요 컴포넌트(component)를 포함할 수 있다.
PCIe 스위치(110)는 PCIe(Peripheral Component Interconnect Express) 인터페이스를 가질 수 있다.
PCIe 인터페이스의 기본 링크(link)는 하나의 레인(lane)을 포함하고, 하나의 레인은 서로 다른 신호 쌍(pair)으로 구성될 수 있다. 예를 들어, 하나의 레인은 데이터 전송을 위한 신호 쌍과 데이터 수신을 위한 신호 쌍을 포함할 수 있다. 실시예에 따라, x1, x2, x4, x8, x16 링크(단, xN 링크는 N개의 레인을 포함함)의 PCIe 인터페이스가 사용될 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
임베디드 프로세서(120)는 데이터를 처리하도록 구성될 수 있다. 임베디드 프로세서(120)는 시스템 보드 상에 형성되어 내장된 프로세서를 나타낼 수 있다.
임베디드 프로세서(120)는 PCIe 스위치(110)를 제어하도록 프로그램될 수 있다. 임베디드 프로세서(120)는 PCIe 스위치(110)를 제어하는 매니지먼트(management) 프로세서로서 기능할 수 있다.
복수의 프로세서 보드(130)는 데이터를 처리하도록 구성될 수 있다. 복수의 프로세서 보드(130)는 서버 시스템(100)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
임베디드 프로세서(120) 및 복수의 프로세서 보드(130)는 서로 독립된 운영 체제를 구동할 수 있다. 실시예에 따라, 복수의 프로세서 보드(130) 및 임베디드 프로세서(120)는 동일한 운영 체제를 구동하거나, 서로 다른 운영 체제를 구동할 수 있다. 임베디드 프로세서(120) 및 복수의 프로세서 보드(130)는 서로 독립적으로 동작할 수 있다.
복수의 스토리지 보드(140)는 데이터를 저장하도록 구성될 수 있다. 복수의 스토리지 보드(140)는 서버 시스템(100)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
예를 들어, 스토리지 보드(140)는 솔리드 스테이트 드라이브(solid state drive)를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 솔리드 스테이트 드라이브는 반도체 메모리를 포함하여 데이터를 저장할 수 있다. 예를 들어, 솔리드 스테이트 드라이브는 플래시(flash) 메모리 등과 같은 비휘발성 메모리를 포함할 수 있다. 솔리드 스테이트 드라이브는 NVMe(Non-Volatile Memory express) 인터페이스를 지원하여 고속 통신을 수행할 수 있다.
복수의 스토리지 보드(140)는 SR-IOV(Single Root IO Virtulization)를 제공할 수 있다. SR-IOV는 가상화 환경에서 복수의 가상화 머신이 하나의 장치를 사용하는 것을 나타내며, 이에 대한 상세한 설명은 본 발명의 요지를 해칠 수 있으므로 이하 생략하기로 한다.
도 2를 참조하면, 복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)는 시스템 보드의 커넥터(10) 등에 장착되어 시스템 보드와 연결될 수 있다. 복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)는 동일한 규격의 커넥터(10)에 장착될 수 있다. 따라서, 복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)는 동일한 커넥터 사양을 가져야 할 것이다.
커넥터(10)는 상술한 PCIe 인터페이스 외에도, SAS(Serial Attached SCSI) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스 등을 지원할 수 있다. 예를 들어, 커넥터(10)로 SFF-8639(Multifunction 12 Gb/s 6X Unshielded Connector)가 제공될 수 있다.
커넥터(10)는 복수의 핀(또는 콘택트)을 포함하고, 복수의 핀은 검출 핀(11)을 포함할 수 있다. 검출 핀(11)은 커넥터(10)에 연결된 디바이스(프로세서 보드(130) 또는 스토리지 보드(140))의 연결을 검출하고, 디바이스의 코드를 독출하기 위해 사용될 수 있다.
다시 도 1을 참조하면, 복수의 네트워크 카드(150)는 외부의 네트워크와 통신할 수 있다. 예를 들어, 네트워크 카드(150)는 이더넷(ethernet) 카드일 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
복수의 네트워크 카드(150)는 SR-IOV를 제공할 수 있다.
임베디드 프로세서(120), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)는 상술한 PCIe 인터페이스를 가질 수 있다.
PCIe 스위치(110)의 복수의 포트(111, 112)에는 임베디드 프로세서(120), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)가 연결될 수 있다. PCIe 스위치(110)의 하나의 업스트림 포트(111)에는 임베디드 프로세서(120)가 연결되고, PCIe 스위치(110)의 복수의 다운스트림 포트(112)에는 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 보드(150)가 연결될 수 있다.
이에 따라, PCIe 클러스터(cluster) 또는 PCIe 네트워크가 구성될 수 있다. PCIe 스위치(110)를 통해서, 임베디드 프로세서(120)는 복수의 프로세서 보드(130), 복수의 스토리지 보드(140) 및 복수의 네트워크 카드(150)와 통신할 수 있다. 또한, PCIe 스위치(110)를 통해서, 각각의 프로세서 보드(130)는 다른 프로세서 보드(130), 복수의 스토리지 보드(140) 및 복수의 네트워크 카드(150)와 통신할 수 있다.
임베디드 프로세서(120) 및 복수의 프로세서 보드(130)는 루트 컴플렉스(root complex)를 포함하여, PCIe 클러스터 내에서 호스트(host)로 동작할 수 있다. 루트 컴플렉스는 프로세서를 PCIe 클러스터에 연결할 수 있다. 루트 컴플렉스는 복수의 트랜잭션(transaction) 요청을 생성할 수 있다. 복수의 트랜잭션 요청은 서로 다른 타입의 요청을 포함할 수 있다. 예를 들어, 복수의 트랜잭션 요청은 설정(configuration) 요청, 메모리(memory) 요청, 입출력(I/O) 요청, 메시지(message) 요청 등을 포함할 수 있다.
복수의 스토리지 보드(140)는 PCIe 클러스터 내에서 엔드 포인트(end point)로 동작할 수 있다.
도 3a 및 도 3b는 도 1의 플렉시블 서버 시스템에서 워크로드에 따라 프로세서 보드의 개수 및 스토리지 보드의 개수를 플렉시블하게 변경하는 것을 설명하기 위한 도면이다.
설명의 편의를 위하여, 도 3a 및 도 3b에서는 PCIe 스위치(110), 프로세서 보드(130) 및 스토리지 보드(140)만을 도시하였다.
도 3a 및 도 3b를 참조하면, 도 1의 플렉시블 서버 시스템(100)은 M개의 프로세서 보드(130) 및 N개의 스토리지 보드(140)를 포함할 수 있다. 플렉시블 서버 시스템(100)의 총 노드(node)의 개수는 T개(단, T = M + N)로 일정하게 유지될 수 있다. 여기서, 노드는 트리 구조를 갖는 PCIe 클러스터에서 각 링크의 교환점을 나타내며, 프로세서 보드(130) 및 스토리지 보드(140)가 노드로서 기능할 수 있다.
도 1의 플렉시블 서버 시스템(100)에서는, 복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)는 동일한 규격의 커넥터(10)에 장착되므로, 프로세서 보드(130)와 스토리지 보드(140) 간에 교체가 가능하다.
이에 따라, 도 1의 플렉시블 서버 시스템(100)에서는, 워크로드에 따라 프로세서 보드(130)의 개수 및 스토리지 보드(140)의 개수가 플렉시블하게 변경될 수 있다.
일 예로, 도 3a에 도시된 바와 같이, 웹 서버(web server)가 필요한 경우, 사용자는 스토리지 보드(140)를 프로세서 보드(130)로 교체하여 커넥터(10)에 장착함으로써, 상대적으로 많은 개수의 프로세서 보드(130)를 포함하는 웹 서버 시스템을 구성할 수 있다.
다른 예로, 도 3b에 도시된 바와 같이, 스토리지 서버(storage server)가 필요한 경우, 사용자는 프로세서 보드(130)를 스토리지 보드(140)로 교체하여 커넥터(10)에 장착함으로써, 상대적으로 많은 개수의 스토리지 보드(140)를 포함하는 스토리지 서버 시스템을 구성할 수 있다.
도 1의 플렉시블 서버 시스템(100)에 따르면, 프로세서 보드(130)의 개수 및 스토리지 보드(140)의 개수가 플렉시블하게 변경할 수 있으므로, 다양한 사용 목적에 따라 서버 시스템(100)을 쉽게 변형하여 구성할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명의 다른 실시예에 따른 플렉시블 서버 시스템(200)은 PCIe 스위치(110), 복수의 프로세서 보드(130, 135), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)를 포함한다.
PCIe 스위치(110)는 복수의 포트(111, 112)를 포함할 수 있다. 복수의 포트는 하나의 업스트림 포트(111) 및 복수의 다운스트림 포트(112)를 포함할 수 있다. PCIe 스위치(110)는 복수의 포트(111, 112) 중 하나의 포트로부터 복수의 포트(111, 112) 중 다른 포트로 패킷을 라우팅할 수 있다.
PCIe 스위치(110)는 시스템 보드 상에 형성될 수 있다.
PCIe 스위치(110)는 PCIe 인터페이스를 가질 수 있다.
복수의 프로세서 보드(130, 135)는 데이터를 처리하도록 구성될 수 있다. 복수의 프로세서 보드(130, 135)는 서버 시스템(200)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
복수의 프로세서 보드(130, 135) 중 어느 하나의 프로세서 보드(135)가 PCIe 스위치(110)를 제어하도록 프로그램될 수 있다. 상기 프로세서 보드(135)는 PCIe 스위치(110)를 제어하는 매니지먼트 프로세서로서 기능할 수 있다.
복수의 프로세서 보드(130, 135)는 서로 독립된 운영 체제를 구동할 수 있다. 실시예에 따라, 복수의 프로세서 보드(130, 135)는 동일한 운영 체제를 구동하거나, 서로 다른 운영 체제를 구동할 수 있다. 복수의 프로세서 보드(130, 135)는 서로 독립적으로 동작할 수 있다.
복수의 스토리지 보드(140)는 데이터를 저장하도록 구성될 수 있다. 복수의 스토리지 보드(140)는 서버 시스템(200)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
예를 들어, 스토리지 보드(140)는 NVMe 인터페이스를 지원하는 솔리드 스테이트 드라이브를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
복수의 스토리지 보드(140)는 SR-IOV를 제공할 수 있다.
복수의 프로세서 보드(130, 135) 및 복수의 스토리지 보드(140)는 시스템 보드의 도 2를 참조하여 설명한 커넥터(10) 등에 장착되어 시스템 보드와 연결될 수 있다. 예를 들어, 커넥터(10)로 SFF-8639가 제공될 수 있다.
복수의 네트워크 카드(150)는 외부의 네트워크와 통신할 수 있다.
복수의 네트워크 카드(150)는 SR-IOV를 제공할 수 있다.
복수의 프로세서 보드(130, 135), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)는 상술한 PCIe 인터페이스를 가질 수 있다.
PCIe 스위치(110)의 복수의 포트(111, 112)에는 복수의 프로세서 보드(130, 135), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)가 연결될 수 있다. PCIe 스위치(110)의 하나의 업스트림 포트(111)에는 복수의 프로세서 보드(130, 135) 중 상기 프로세서 보드(135)가 연결되고, PCIe 스위치(110)의 복수의 다운스트림 포트(112)에는 복수의 프로세서 보드(130, 135) 중 나머지 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 보드(150)가 연결될 수 있다.
이에 따라, PCIe 클러스터 또는 PCIe 네트워크가 구성될 수 있다.
복수의 프로세서 보드(130, 135)는 루트 컴플렉스를 포함하여, PCIe 클러스터 내에서 호스트로 동작할 수 있다. 루트 컴플렉스는 프로세서를 PCIe 클러스터에 연결할 수 있다. 루트 컴플렉스는 복수의 트랜잭션 요청을 생성할 수 있다.
복수의 스토리지 보드(140)는 PCIe 클러스터 내에서 엔드 포인트로 동작할 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명의 또 다른 실시예에 따른 플렉시블 서버 시스템(300)은 PCIe 스위치(110), 복수의 임베디드 프로세서(120, 125), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)을 포함한다.
PCIe 스위치(110)는 복수의 포트(111, 112)를 포함할 수 있다. 복수의 포트는 하나의 업스트림 포트(111) 및 복수의 다운스트림 포트(112)를 포함할 수 있다. PCIe 스위치(110)는 복수의 포트(111, 112) 중 하나의 포트로부터 복수의 포트(111, 112) 중 다른 포트로 패킷을 라우팅할 수 있다.
PCIe 스위치(110)는 시스템 보드 상에 형성될 수 있다.
PCIe 스위치(110)는 PCIe 인터페이스를 가질 수 있다.
복수의 임베디드 프로세서(120, 125)는 데이터를 처리하도록 구성될 수 있다. 복수의 임베디드 프로세서(120, 125)는 시스템 보드 상에 형성되어 내장된 프로세서를 나타낼 수 있다.
복수의 임베디드 프로세서(120, 125) 중 어느 하나의 임베디드 프로세서(120)는 PCIe 스위치를 제어하도록 프로그램될 수 있다. 상기 임베디드 프로세서(120)는 PCIe 스위치(110)를 제어하는 매니지먼트 프로세서로서 기능할 수 있다.
복수의 프로세서 보드(130)는 데이터를 처리하도록 구성될 수 있다. 복수의 프로세서 보드(130)는 서버 시스템(300)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
복수의 임베디드 프로세서(120, 125)는 서로 독립된 운영 체제를 구동할 수 있다. 복수의 프로세서 보드(130)도 복수의 임베디드 프로세서(120, 125)와 서로 독립된 운영 체제를 구동할 수 있다. 실시예에 따라, 복수의 임베디드 프로세서(120, 125) 및 복수의 프로세서 보드(130)는 동일한 운영 체제를 구동하거나, 서로 다른 운영 체제를 구동할 수 있다. 복수의 임베디드 프로세서(120, 125) 및 복수의 프로세서 보드(130)는 서로 독립적으로 동작할 수 있다.
복수의 스토리지 보드(140)는 데이터를 저장하도록 구성될 수 있다. 복수의 스토리지 보드(140)는 서버 시스템(300)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
예를 들어, 스토리지 보드(140)는 NVMe 인터페이스를 지원하는 솔리드 스테이트 드라이브를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
복수의 스토리지 보드(140)는 SR-IOV를 제공할 수 있다.
복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)는 시스템 보드의 도 2를 참조하여 설명한 커넥터(10) 등에 장착되어 시스템 보드와 연결될 수 있다. 예를 들어, 커넥터(10)로 SFF-8639가 제공될 수 있다.
복수의 네트워크 카드(150)는 외부의 네트워크와 통신할 수 있다.
복수의 네트워크 카드(150)는 SR-IOV를 제공할 수 있다.
복수의 임베디드 프로세서(120, 125), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)는 상술한 PCIe 인터페이스를 가질 수 있다.
PCIe 스위치(110)의 복수의 포트(111, 112)에는 복수의 임베디드 프로세서(120, 125), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 카드(150)가 연결될 수 있다. PCIe 스위치(110)의 하나의 업스트림 포트(111)에는 복수의 임베디드 프로세서(120, 125) 중 상기 임베디드 프로세서(120)가 연결되고, PCIe 스위치(110)의 복수의 다운스트림 포트(112)에는 복수의 임베디드 프로세서(120, 125) 중 나머지 임베디드 프로세서(125), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 복수의 네트워크 보드(150)가 연결될 수 있다.
이에 따라, PCIe 클러스터 또는 PCIe 네트워크가 구성될 수 있다.
복수의 임베디드 프로세서(120, 125) 및 복수의 프로세서 보드(130)는 루트 컴플렉스를 포함하여, PCIe 클러스터 내에서 호스트로 동작할 수 있다. 루트 컴플렉스는 프로세서를 PCIe 클러스터에 연결할 수 있다. 루트 컴플렉스는 복수의 트랜잭션 요청을 생성할 수 있다.
복수의 스토리지 보드(140)는 PCIe 클러스터 내에서 엔드 포인트로 동작할 수 있다.
명확하게 도시하지 않았으나, 도 5의 플렉시블 서버 시스템(300)은, 도 4의 플렉시블 서버 시스템(200)과 유사하게, 복수의 프로세서 보드(130) 중 어느 하나의 프로세서 보드가 PCIe 스위치(110)를 제어하도록 프로그램되도록 변형될 수 있다. 이 경우, PCIe 스위치(110)의 하나의 업스트림 포트(111)에는 복수의 프로세서 보드(130) 중 상기 프로세서 보드가 연결될 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른 플렉시블 서버 시스템을 설명하기 위한 블록도이다.
도 6을 참조하면, 본 발명의 또 다른 실시예에 따른 플렉시블 서버 시스템(400)은 PCIe 스위치(110), 임베디드 프로세서(120), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 임베디드 스토리지(145), 복수의 네트워크 카드(150)를 포함한다.
PCIe 스위치(110)는 복수의 포트(111, 112)를 포함할 수 있다. 복수의 포트는 하나의 업스트림 포트(111) 및 복수의 다운스트림 포트(112)를 포함할 수 있다. PCIe 스위치(110)는 복수의 포트(111, 112) 중 하나의 포트로부터 복수의 포트(111, 112) 중 다른 포트로 패킷을 라우팅할 수 있다.
PCIe 스위치(110)는 시스템 보드 상에 형성될 수 있다.
PCIe 스위치(110)는 PCIe 인터페이스를 가질 수 있다.
임베디드 프로세서(120)는 데이터를 처리하도록 구성될 수 있다. 임베디드 프로세서(120)는 시스템 보드 상에 형성되어 내장된 프로세서를 나타낼 수 있다.
임베디드 프로세서(120)는 PCIe 스위치를 제어하도록 프로그램될 수 있다. 임베디드 프로세서(120)는 PCIe 스위치(110)를 제어하는 매니지먼트 프로세서로서 기능할 수 있다.
복수의 프로세서 보드(130)는 데이터를 처리하도록 구성될 수 있다. 복수의 프로세서 보드(130)는 서버 시스템(400)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
임베디드 프로세서(120) 및 복수의 프로세서 보드(130)는 서로 독립된 운영 체제를 구동할 수 있다. 실시예에 따라, 임베디드 프로세서(120) 및 복수의 프로세서 보드(130)는 동일한 운영 체제를 구동하거나, 서로 다른 운영 체제를 구동할 수 있다. 임베디드 프로세서(120) 및 복수의 프로세서 보드(130)는 서로 독립적으로 동작할 수 있다.
복수의 스토리지 보드(140)는 데이터를 저장하도록 구성될 수 있다. 복수의 스토리지 보드(140)는 서버 시스템(400)의 서브 시스템으로서, 시스템 보드와 별개의 보드로 구성될 수 있다.
예를 들어, 스토리지 보드(140)는 NVMe 인터페이스를 지원하는 솔리드 스테이트 드라이브를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
복수의 스토리지 보드(140)는 SR-IOV를 제공할 수 있다.
복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)는 시스템 보드의 도 2를 참조하여 설명한 커넥터(10) 등에 장착되어 시스템 보드와 연결될 수 있다. 예를 들어, 커넥터(10)로 SFF-8639가 제공될 수 있다.
임베디드 스토리지(145)는 데이터를 저장하도록 구성될 수 있다. 임베디드 스토리지(145)는 시스템 보드 상에 형성되어 내장된 스토리지를 나타낼 수 있다.
임베디드 스토리지(145)는 SR-IOV를 제공할 수 있다.
복수의 네트워크 카드(150)는 외부의 네트워크와 통신할 수 있다.
복수의 네트워크 카드(150)는 SR-IOV를 제공할 수 있다.
임베디드 프로세서(120), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 임베디드 스토리지(145), 복수의 네트워크 카드(150)는 상술한 PCIe 인터페이스를 가질 수 있다.
PCIe 스위치(110)의 복수의 포트(111, 112)에는 임베디드 프로세서(120), 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 임베디드 스토리지(145), 복수의 네트워크 카드(150)가 연결될 수 있다. PCIe 스위치(110)의 하나의 업스트림 포트(111)에는 임베디드 프로세서(120)가 연결되고, PCIe 스위치(110)의 복수의 다운스트림 포트(112)에는 복수의 프로세서 보드(130), 복수의 스토리지 보드(140), 임베디드 스토리지(145), 복수의 네트워크 보드(150)가 연결될 수 있다.
이에 따라, PCIe 클러스터 또는 PCIe 네트워크가 구성될 수 있다.
임베디드 프로세서(120) 및 복수의 프로세서 보드(130)는 루트 컴플렉스를 포함하여, PCIe 클러스터 내에서 호스트로 동작할 수 있다. 루트 컴플렉스는 프로세서를 PCIe 클러스터에 연결할 수 있다. 루트 컴플렉스는 복수의 트랜잭션 요청을 생성할 수 있다.
복수의 스토리지 보드(140) 및 임베디드 스토리지(145)는 PCIe 클러스터 내에서 엔드 포인트로 동작할 수 있다.
명확하게 도시하지 않았으나, 도 6의 플렉시블 서버 시스템(400)은, 도 4의 플렉시블 서버 시스템(200)과 유사하게, 복수의 프로세서 보드(130) 중 어느 하나의 프로세서 보드가 PCIe 스위치(110)를 제어하도록 프로그램되도록 변형될 수 있다. 이 경우, PCIe 스위치(110)의 하나의 업스트림 포트(111)에는 복수의 프로세서 보드(130) 중 상기 프로세서 보드가 연결될 수 있다.
이하에서는 도 1, 도 4 내지 도 6을 참조하여 설명한 본 발명의 몇몇 실시예에 따른 플렉시블 서버 시스템의 동작 방법을 상세하게 설명하기로 한다.
도 7은 본 발명의 몇몇 실시예에 따른 플렉시블 서버 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 본 발명의 몇몇 실시예에 따른 플렉시블 서버 시스템(100, 200, 300, 400)의 동작 방법에서는, 먼저 매니지먼트 프로세서가 부팅을 시작한다(S510). 상술한 바와 같이, 임베디드 프로세서(120) 또는 프로세서 보드(135)가 매니지먼트 프로세서로서 기능할 수 있다.
이어서, 매니저먼트 프로세서는 커넥터(10)의 검출 핀(11)을 이용하여 디바이스의 연결을 검출한다(S520).
상술한 바와 같이, 디바이스는 PCIe 스위치(110)에 연결되는 복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)를 포함할 수 있다.
임베디드 프로세서(120)가 매니저먼트 프로세서로서 기능하는 때에는, PCIe 스위치(110)에 연결되는 복수의 프로세서 보드(130) 및 복수의 스토리지 보드(140)의 연결을 검출할 수 있다.
또는, 프로세서 보드(135)가 매니지먼트 프로세서로서 기능하는 때에는, PCIe 스위치(110)에 연결되는 다른 프로세서 보드(130) 및 복수의 스토리지 보드(140)의 연결을 검출할 수 있다.
이어서, 매니지먼트 프로세서는 커넥터(10)의 검출 핀(11)을 이용하여 디바이스의 코드(code)를 독출한다(S530).
PCIe 스위치(110)에 연결되는 디바이스는 설정 공간(configuration space)을 포함할 수 있다. 설정 공간에는 각각의 디바이스의 코드가 기설정되어 있을 수 있다.
예를 들어, 프로세서 보드(130)의 코드는 “브리지(bridge) 장치”로 기설정되고, 스토리지 보드(140)의 코드는 “스토리지 장치”로 기설정되고, 네트워크 카드(150)의 코드는 “네트워크 장치”로 기설정될 수 있다. “브리지 장치”란 복수의 PCIe 클러스터를 서로 연결하는 장치를 나타낼 수 있다. 각각의 프로세서 보드(130)는 PCIe 클러스터를 다른 PCI 클러스터 또는 PCI-X 클러스터에 연결할 수도 있다.
이어서, 매니지먼트 프로세서는 독출된 코드에 따라, 디바이스를 프로세서 보드(130) 또는 스토리지 보드(140)로 구분한다(S540).
도 8 내지 도 9는 본 발명의 몇몇 실시예에 따른 플렉시블 서버 시스템이 적용될 수 있는 서버 섀시(shassis)를 설명하기 위한 도면이다.
도 8은 슬레드형(sled type) 서버 섀시를 도시한 것이고, 도 9는 블레이드형(blade type) 서버 섀시를 도시한 것이다.
도 8을 참조하면, 슬레드형 서버 섀시(1000)는 본체(1100), 본체(1100) 내에 설치되는 복수의 슬레드 서버(1200)를 포함할 수 있다.
본체(1100)는 전원 장치, 입출력 장치 및 주변 장치 등의 자원을 포함하도록 구성될 수 있다.
복수의 슬레드 서버(1200)는 본체(1100)로부터 각종 자원을 지원받아 서버로서 기능할 수 있다.
이러한 슬레드 서버(1200)는 도 1, 도 4 내지 도 6을 참조하여 설명한 플렉시블 서버 시스템(100, 200, 300, 400)을 포함할 수 있다. 슬레드 서버(1200)는 도 2를 참조하여 설명한 커넥터(10)가 형성된 시스템 보드를 포함하고, 커넥터(10)에는 복수의 프로세서 보드(1210) 및/또는 복수의 스토리지 보드(1220)가 장착될 수 있다. 시스템 보드는 내장된 임베디드 프로세서를 포함하거나 포함하지 않을 수 있다. 시스템 보드는 내장된 임베디드 스토리지를 포함하거나 포함하지 않을 수 있다.
슬레드 서버(1200)에서 프로세서 보드(1210)의 개수 및 스토리지 보드(1220)의 개수는 워크로드에 따라 플렉시블하게 변경될 수 있다.
사용자는 스토리지 보드(1220)의 개수와 비교하여 상대적으로 많은 개수의 프로세서 보드(1210)를 슬레드 서버(1200)에 장착하여 웹 서버 시스템을 구성할 수 있다.
또는, 사용자는 프로세서 보드(1210)의 개수와 비교하여 상대적으로 많은 개수의 스토리지 보드(1220)를 슬레드 서버(1200)에 장착하여 스토리지 서버 시스템을 구성할 수 있다.
도 9를 참조하면, 블레이드형 서버 섀시(2000)는 본체(2100), 본체(2100) 내에 설치되는 복수의 블레이드 서버(2200)를 포함할 수 있다.
본체(2100)는 전원 장치, 입출력 장치 및 주변 장치 등의 자원을 포함하도록 구성될 수 있다.
복수의 블레이드 서버(2200)는 본체(2100)로부터 각종 자원을 지원받아 서버로서 기능할 수 있다.
이러한 블레이드 서버(2200)는 도 1, 도 4 내지 도 6을 참조하여 설명한 플렉시블 서버 시스템(100, 200, 300, 400)을 포함할 수 있다. 블레이드 서버(2200)는 도 2를 참조하여 설명한 커넥터(10)가 형성된 시스템 보드를 포함하고, 커넥터(10)에는 복수의 프로세서 보드(2210) 및/또는 복수의 스토리지 보드(2220)가 장착될 수 있다. 시스템 보드는 내장된 임베디드 프로세서를 포함하거나 포함하지 않을 수 있다. 시스템 보드는 내장된 임베디드 스토리지를 포함하거나 포함하지 않을 수 있다.
블레이드 서버(2200)에서 프로세서 보드(2210)의 개수 및 스토리지 보드(2220)의 개수는 워크로드에 따라 플렉시블하게 변경될 수 있다.
사용자는 스토리지 보드(2220)의 개수와 비교하여 상대적으로 많은 개수의 프로세서 보드(2210)를 블레이드 서버(2200)에 장착하여 웹 서버 시스템을 구성할 수 있다.
또는, 사용자는 프로세서 보드(2210)의 개수와 비교하여 상대적으로 많은 개수의 스토리지 보드(2220)를 블레이드 서버(2200)에 장착하여 스토리지 서버 시스템을 구성할 수 있다.
한편, 본 발명의 몇몇 실시예에 따른 플렉시블 서버 시스템(100, 200, 300, 400)이 예시되지 않은 다른 형태의 서버 섀시에도 실질적으로 동일하게 적용될 수 있음은 통상의 기술자에게 자명하다.
본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는, 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명의 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 연결되며, 그 프로세서는 기록 매체로부터 정보를 독출할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 기록 매체는 사용자 단말기 내에 개별 구성 요소로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 플렉시블 서버 시스템
110: PCIe 스위치
120: 임베디드 프로세서
130: 프로세서 보드
140: 스토리지 보드
150: 네트워크 카드

Claims (10)

  1. 플렉시블 서버 시스템으로서,
    임베디드(embedded) 프로세서;
    적어도 하나의 프로세서 보드(board);
    적어도 하나의 스토리지 보드; 및
    복수의 포트를 포함하고, 상기 복수의 포트에는 상기 임베디드 프로세서, 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결되는 스위치를 포함하되,
    상기 임베디드 프로세서, 상기 적어도 하나의 프로세서 보드, 상기 적어도 하나의 스토리지 보드 및 상기 스위치는 PCIe(Peripheral Component Interconnect express) 인터페이스를 갖고,
    상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드는 동일한 규격의 커넥터를 통해 상기 스위치와 연결되고,
    상기 임베디드 프로세서는 상기 스위치를 제어하여, 상기 복수의 포트 중 하나의 포트로부터 상기 복수의 포트 중 다른 포트로 패킷을 라우팅하도록 하고,
    상기 플렉시블 서버 시스템은 상기 적어도 하나의 프로세서 보드의 숫자와 상기 적어도 하나의 스토리지 보드의 숫자를 기초로 웹 서버 시스템과 스토리지 서버 시스템 중 어느 하나로 선택적으로 운영되는, 플렉시블 서버 시스템.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서 보드의 개수 및 상기 적어도 하나의 스토리지 보드의 개수는 플렉시블하게 변경가능한, 플렉시블 서버 시스템.
  3. 제1항에 있어서,
    상기 스위치의 상기 복수의 포트는 하나의 업스트림(upstream) 포트 및 복수의 다운스트림(downstream) 포트를 포함하고,
    상기 업스트림 포트에는 상기 임베디드 프로세서가 연결되고, 상기 다운스트림 포트에는 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결되는, 플렉시블 서버 시스템.
  4. 제1항에 있어서,
    상기 적어도 하나의 프로세서 보드는 호스트(host)로 동작하고, 상기 적어도 하나의 스토리지 보드는 엔드 포인트(end point)로 동작하는, 플렉시블 서버 시스템.
  5. 제1항에 있어서,
    상기 임베디드 프로세서 및 상기 적어도 하나의 프로세서 보드는 루트 콤플렉스(root complex)를 포함하는, 플렉시블 서버 시스템.
  6. 제1항에 있어서,
    상기 임베디드 프로세서는 상기 커넥터의 검출 핀을 이용하여 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드의 코드를 독출하고, 상기 독출된 코드에 따라 상기 적어도 하나의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드를 구분하는, 플렉시블 서버 시스템.
  7. 제6항에 있어서,
    상기 적어도 하나의 프로세서 보드의 코드는 브리지(bridge) 장치로 기설정되고, 상기 적어도 하나의 스토리지 보드의 코드는 스토리지 장치로 기설정되는, 플렉시블 서버 시스템.
  8. 제1항에 있어서,
    상기 적어도 하나의 스토리지 보드는 SR-IOV(Single Root IO Virtulization)를 제공하는, 플렉시블 서버 시스템.
  9. 제1항에 있어서,
    상기 커넥터는 PCIe 인터페이스, SAS(Serial Attached SCSI) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스를 지원하는, 플렉시블 서버 시스템.
  10. 플렉시블 서버 시스템으로서,
    둘 이상의 프로세서 보드;
    적어도 하나의 스토리지 보드; 및
    복수의 포트를 포함하고, 상기 복수의 포트에는 상기 둘 이상의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드가 연결되는 스위치를 포함하되,
    상기 적어도 하나의 프로세서 보드, 상기 적어도 하나의 스토리지 보드 및 상기 스위치는 PCIe(Peripheral Component Interconnect express) 인터페이스를 갖고,
    상기 둘 이상의 프로세서 보드 및 상기 적어도 하나의 스토리지 보드는 동일한 규격의 커넥터를 통해 상기 스위치와 연결되고,
    상기 둘 이상의 프로세서 보드 중 어느 하나의 프로세서 보드는 상기 스위치를 제어하여, 상기 복수의 포트 중 하나의 포트로부터 상기 복수의 포트 중 다른 포트로 패킷을 라우팅하도록 하고,
    상기 플렉시블 서버 시스템은 상기 둘 이상의 프로세서 보드의 숫자와 상기 적어도 하나의 스토리지 보드의 숫자를 기초로 웹 서버 시스템과 스토리지 서버 시스템 중 어느 하나로 선택적으로 운영되는, 플렉시블 서버 시스템.
KR1020130139855A 2013-11-18 2013-11-18 플렉시블 서버 시스템 KR102147629B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130139855A KR102147629B1 (ko) 2013-11-18 2013-11-18 플렉시블 서버 시스템
US14/456,138 US9720864B2 (en) 2013-11-18 2014-08-11 Flexible server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130139855A KR102147629B1 (ko) 2013-11-18 2013-11-18 플렉시블 서버 시스템

Publications (2)

Publication Number Publication Date
KR20150058600A KR20150058600A (ko) 2015-05-29
KR102147629B1 true KR102147629B1 (ko) 2020-08-27

Family

ID=53174467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130139855A KR102147629B1 (ko) 2013-11-18 2013-11-18 플렉시블 서버 시스템

Country Status (2)

Country Link
US (1) US9720864B2 (ko)
KR (1) KR102147629B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157200B2 (en) * 2014-10-29 2021-10-26 Hewlett-Packard Development Company, L.P. Communicating over portions of a communication medium
US9886410B1 (en) * 2015-02-04 2018-02-06 Amazon Technologies, Inc. Dynamic function assignment to I/O device interface port
US9910813B1 (en) * 2015-02-04 2018-03-06 Amazon Technologies, Inc. Single function using multiple ports
KR102336663B1 (ko) 2015-05-13 2021-12-07 삼성전자 주식회사 서버 시스템 및 이의 관리 방법
US10146720B2 (en) * 2016-05-03 2018-12-04 Quanta Computer Inc. Flexible configuration server system
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
US11042496B1 (en) * 2016-08-17 2021-06-22 Amazon Technologies, Inc. Peer-to-peer PCI topology
CN108280036B (zh) * 2018-01-02 2021-04-27 郑州云海信息技术有限公司 一种支持nvme的存储硬盘背板
JP6635209B2 (ja) * 2018-04-18 2020-01-22 富士通クライアントコンピューティング株式会社 情報処理システム
CN112148663A (zh) * 2019-06-28 2020-12-29 华为技术有限公司 一种数据交换芯片及服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100180062A1 (en) * 2006-08-09 2010-07-15 Youichi Hidaka Internet connection switch and internet connection system
US20120110233A1 (en) * 2009-07-06 2012-05-03 Junichi Higuchi I/o system, downstream pci express bridge, interface sharing method, and program
US20130060987A1 (en) * 2011-09-01 2013-03-07 Dell Products, Lp System and Method to Correlate Errors to a Specific Downstream Device in a PCIe Switching Network

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3459056B2 (ja) * 1996-11-08 2003-10-20 株式会社日立製作所 データ転送システム
US7802049B2 (en) * 2002-10-30 2010-09-21 Intel Corporation Links having flexible lane allocation
US7032052B2 (en) * 2004-01-15 2006-04-18 Dell Products L.P. Information handling system capable of operating with multiple types of expansion cards in a common industry standard connector
US7096310B2 (en) * 2004-03-16 2006-08-22 Hewlett-Packard Development, L.P. Switch configurable for a plurality of communication protocols
US7058738B2 (en) * 2004-04-28 2006-06-06 Microsoft Corporation Configurable PCI express switch which allows multiple CPUs to be connected to multiple I/O devices
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US7640383B2 (en) * 2004-11-05 2009-12-29 Via Technologies Inc. Method and related apparatus for configuring lanes to access ports
US7613864B2 (en) * 2005-04-22 2009-11-03 Sun Microsystems, Inc. Device sharing
US9118698B1 (en) * 2005-12-02 2015-08-25 Branislav Radovanovic Scalable data storage architecture and methods of eliminating I/O traffic bottlenecks
US7707465B2 (en) * 2006-01-26 2010-04-27 International Business Machines Corporation Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
JP4670676B2 (ja) * 2006-02-17 2011-04-13 日本電気株式会社 スイッチ及びネットワークブリッジ装置
US7676625B2 (en) * 2006-08-23 2010-03-09 Sun Microsystems, Inc. Cross-coupled peripheral component interconnect express switch
US7594060B2 (en) * 2006-08-23 2009-09-22 Sun Microsystems, Inc. Data buffer allocation in a non-blocking data services platform using input/output switching fabric
JP4501916B2 (ja) * 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7991839B2 (en) 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US8990468B2 (en) * 2008-05-28 2015-03-24 Nec Corporation I/O connection system, method and program
US8144582B2 (en) 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
US8270405B2 (en) 2009-06-30 2012-09-18 Intel Corporation Multicast support on a switch for PCIe endpoint devices
GB2473675B (en) 2009-09-22 2011-12-28 Virtensys Ltd Switching method
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8463934B2 (en) 2009-11-05 2013-06-11 Rj Intellectual Properties, Llc Unified system area network and switch
WO2011102488A1 (ja) 2010-02-22 2011-08-25 日本電気株式会社 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム
US8327042B2 (en) * 2010-09-03 2012-12-04 Plx Technology, Inc. Automatic port accumulation
US9135044B2 (en) 2010-10-26 2015-09-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Virtual function boot in multi-root I/O virtualization environments to enable multiple servers to share virtual functions of a storage adapter through a MR-IOV switch
US8832489B2 (en) 2011-04-26 2014-09-09 Dell Products, Lp System and method for providing failover between controllers in a storage array
CN102388357B (zh) 2011-09-23 2013-08-28 华为技术有限公司 访问存储设备的方法及系统
US9092594B2 (en) 2011-10-31 2015-07-28 Iii Holdings 2, Llc Node card management in a modular and large scalable server system
US20130346667A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Serial port access system and method in a computing system
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
US10684973B2 (en) * 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100180062A1 (en) * 2006-08-09 2010-07-15 Youichi Hidaka Internet connection switch and internet connection system
US20120110233A1 (en) * 2009-07-06 2012-05-03 Junichi Higuchi I/o system, downstream pci express bridge, interface sharing method, and program
US20130060987A1 (en) * 2011-09-01 2013-03-07 Dell Products, Lp System and Method to Correlate Errors to a Specific Downstream Device in a PCIe Switching Network

Also Published As

Publication number Publication date
KR20150058600A (ko) 2015-05-29
US20150143018A1 (en) 2015-05-21
US9720864B2 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
KR102147629B1 (ko) 플렉시블 서버 시스템
JP7105710B2 (ja) マルチモード及び/又はマルチ速度NVMe-oFデバイスを支援するシステム及び方法
US9684618B2 (en) Peripheral component interconnect express (PCIe) ping in a switch-based environment
US9965367B2 (en) Automatic hardware recovery system
US10467163B1 (en) Solid state drive multiplexer
US9859974B2 (en) Rerouting bus data signals from faulty signal carriers to existing healthy signal carriers
WO2016037503A1 (zh) PCIe拓扑的配置方法和装置
TWI621022B (zh) 於多重電纜pci快捷io互連中實施電纜故障切換
US10127170B2 (en) High density serial over LAN management system
US20140344431A1 (en) Baseboard management system architecture
US8103993B2 (en) Structure for dynamically allocating lanes to a plurality of PCI express connectors
GB2492620A (en) Midplane for blade server management
JP2005141739A (ja) Pciエクスプレスリンクのダイナミック再構成
US9606950B2 (en) Verifying runtime switch-over between multiple I/O protocols on shared I/O connection
US10210128B2 (en) Redirection of lane resources
US20190243797A1 (en) Dynamic re-allocation of signal lanes
US10248605B2 (en) Bidirectional lane routing
WO2023121775A1 (en) System, method, apparatus and architecture for dynamically configuring device fabrics
US20150186317A1 (en) Method and apparatus for detecting the initiator/target orientation of a smart bridge
CN104933001A (zh) 一种基于RapidIO技术的双控制器数据通信方法
TWI579762B (zh) 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
WO2016078322A1 (zh) 一种io通道分配方法及装置
US10031876B2 (en) Server system and management method thereof
JP2017531871A (ja) Usbストリームを通したサイドチャネルアクセス
WO2016175837A1 (en) Configuration of a peripheral component interconnect express link

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant