KR102115934B1 - 프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법 - Google Patents

프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법 Download PDF

Info

Publication number
KR102115934B1
KR102115934B1 KR1020130148406A KR20130148406A KR102115934B1 KR 102115934 B1 KR102115934 B1 KR 102115934B1 KR 1020130148406 A KR1020130148406 A KR 1020130148406A KR 20130148406 A KR20130148406 A KR 20130148406A KR 102115934 B1 KR102115934 B1 KR 102115934B1
Authority
KR
South Korea
Prior art keywords
cpu
processor module
interface bus
module
common interface
Prior art date
Application number
KR1020130148406A
Other languages
English (en)
Other versions
KR20140090073A (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 PCT/KR2013/011776 priority Critical patent/WO2014106997A1/en
Priority to CN201410003211.0A priority patent/CN103914418B/zh
Priority to US14/148,962 priority patent/US9652427B2/en
Publication of KR20140090073A publication Critical patent/KR20140090073A/ko
Application granted granted Critical
Publication of KR102115934B1 publication Critical patent/KR102115934B1/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

프로세서 모듈 및 마이크로 서버가 개시된다. 본 발명에 따른 마이크로 서버의 베이스 보드에 장착 가능한 프로세서 모듈은, 적어도 하나의 저장부, 기 설정된 인터페이스를 사용하는 적어도 하나의 CPU 및 베이스 보드에 형성된 공통 인터페이스 버스와 CPU가 사용하는 인터페이스 사이의 연결을 중계하는 모듈 컨트롤러를 포함한다.

Description

프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법{PROCESSOR MODULE, SERVER SYSTEM AND METHOD FOR USING PROCESSOR MODULE}
본 발명은 프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법에 대한 것으로, 보다 상세하게는 서로 다른 타입의 복수의 프로세서 모듈을 한 마이크로 서버에서 혼용할 수 있게 하는 프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법에 관한 것이다.
인터넷 및 인트라넷 기술의 발달에 따라 대량의 데이터를 고속으로 처리할 수 있는 서버 기술이 요구되어 왔다. 이에 따라, 랙 마운트형 클러스터 서버 기술이 등장하였지만, 부피가 크고, 전력 소비량도 크게 증가하는 문제점을 갖고 있으며, 각 프로세서 모듈들을 케이블로 연결 함으로써 시스템 확장에 제한이 있었다.
프로세서 모듈은 이러한 문제점을 해결하기 위하여 개발한 서버로, 랙 마운트형 서버처럼 가로로 랙 서버를 쌓아 올리지 않고 마이크로 서버 시스템의 본체에 끼워 동작시키는 얇고 모듈화된 증설품 서버를 의미한다. 좁은 공간에 많은 수의 서버를 삽입, 설치할 수 있다는 의미에서 고밀도 서버라고도 불리며, 하나 이상의 CPU(Central Processing unit), 기억장치, 운영 체계 등 서버의 핵심 요소를 내장하고 본체로부터 전원, 입출력, 부수 장치 및 각종 제어 기능을 지원받아 서버로서의 기능을 수행한다.
그러나, 하나의 마이크로 서버에는 동일 타입의 프로세서 모듈, 즉 동종의 CPU가 장착된 프로세서 모듈만을 사용하도록 인터페이스가 설계되어 이기종의 CPU가 장착된 프로세서 모듈을 사용하기 위해서는 별도의 마이크로 서버를 구비해야하는 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 하나의 마이크로 서버에 다양한 타입의 프로세서 모듈을 사용 가능하게 하는 프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법을 제공하는 데에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 마이크로 서버의 베이스 보드에 장착 가능한 프로세서 모듈은, 적어도 하나의 저장부, 기 설정된 인터페이스를 사용하는 적어도 하나의 CPU 및 상기 베이스 보드에 형성된 공통 인터페이스 버스와 상기 CPU가 사용하는 인터페이스 사이의 연결을 중계하는 모듈 컨트롤러를 포함한다.
여기서, 상기 모듈 컨트롤러는, 상기 공통 인터페이스 버스를 통해 수신되는 신호를 상기 인터페이스에 대응되도록 변환하고, 상기 CPU로부터 수신되는 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하며, 상기 공통 인터페이스 버스는 상기 베이스 보드에 형성된 메인 컨트롤러와 서로 다른 타입의 복수의 타 프로세서 모듈을 공통적으로 연결하는 인터페이스 버스일 수 있다.
한편, 상기 모듈 컨트롤러는, 상기 공통 인터페이스 버스와 연결되어 제어 명령 및 데이터 중 적어도 하나를 포함하는 신호를 송수신하는 공통 컨트롤 인터페이스(Common Control Interface), 상기 공통 인터페이스 버스를 통해 수신되는 신호를 상기 기 설정된 인터페이스에 대응되도록 변환하고, 상기 CPU로부터 수신되는 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하는 변환부 및 상기 CPU 및 상기 저장부와 연결되어 상기 기 정의된 인터페이스에 대응되는 신호를 송수신하는 GPIO(General Purpose Input/Output)를 포함할 수 있다.
한편, 상기 공통 인터페이스 버스는, i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원하는 인터페이스 버스일 수 있다.
한편, 본 프로세서 모듈은, 상기 CPU의 제어에 따라 기정의된 연산을 수행하고, 상기 연산 결과를 상기 CPU에 제공하는 DSP 및 또는 GPU를 더 포함할 수 있다.
한편, 본 실시 예에 따른 마이크로 서버는, 메인 컨트롤러, 상기 메인 컨트롤러가 탑재된 베이스 보드, 상기 베이스 보드 상에 형성된 공통 인터페이스 버스 ALC 상기 베이스 보드에 장착되어 상기 공통 인터페이스 버스를 통해 상기 메인 컨트롤러와 연결되는 서로 다른 타입의 복수의 프로세서 모듈을 포함하며, 상기 복수의 프로세서 모듈 각각은 상기 공통 인터페이스 버스와 각 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스 사이의 연결을 중계하는 모듈 컨트롤러를 포함한다.
여기서, 상기 모듈 컨트롤러는, 상기 공통 인터페이스 버스를 통해 수신되는 신호를 상기 인터페이스에 대응되도록 변환하고, 상기 CPU로부터 수신되는 신호를 상기 공통 인터페이스 버스에 대응되도록 변환할 수 있다.
한편, 상기 공통 인터페이스 버스는, i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원하는 인터페이스 버스일 수 있다.
한편, 상기 복수의 프로세서 모듈은, 슬롯(slot) 및 연결 핀(pin)의 형태가 동일하게 설계될 수 있다.
한편, 상기 메인 컨트롤러는, 상기 복수의 프로세서 모듈 각각으로부터 상태정보를 수신할 수 있다.
여기서, 상기 상태정보는, 상기 프로세서 모듈의 CPU 타입, CPU 갯수 및 부트로더(bootloader) 정보 중 적어도 하나를 포함하고, 상기 메인 컨트롤러는, 상기 상태정보를 관리 서버에 전송할 수 있다.
이 경우, 마이크로 서버의 각 구성에 전원을 선택적으로 공급하는 SMPS(Switched Mode Power Supply)부;를 더 포함하고, 상기 메인 컨트롤러는, 상기 상태정보를 이용하여 각각의 프로세서 모듈의 사용 전압 및 소비 전력을 산출하고, 상기 산출된 프로세서 모듈의 사용 전압 및 소비 전력에 따라 전원을 공급하도록 상기 SMPS부를 제어할 수 있다.
한편, 마이크로 서버는, 외부로부터 데이터를 송수신하는 적어도 하나의 I/O 카드를 포함하는 I/O 디바이스(Input/Output Device)부 및 상기 I/O 디바이스부와 상기 복수의 프로세서 모듈을 선택적으로 연결하는 스위치부를 더 포함할 수 있다.
여기서, 상기 스위치부는, PCI Express 스위치 회로로 구성되어, 상기 복수의 프로세서 모듈과 상기 적어도 하나의 I/O 카드의 연결관계를 선택적으로 조정할 수 있다.
한편, 상기 메인 컨트롤러는, 관리 서버로부터 제어 명령을 수신받아 상기 복수의 프로세서 모듈을 제어할 수 있다.
여기서, 상기 메인 컨트롤러는, 상기 관리 서버로부터 절전모드 명령을 수신받은 경우, 상기 복수의 프로세서 모듈 중 사용하지 않는 프로세스 모듈의 전원을 차단하고, 사용 중인 프로세스 모듈의 CPU 클럭 스피드를 줄이도록 제어할 수 있다.
한편, 상기 복수의 프로세서 모듈 중 적어도 하나는, 상기 CPU의 제어에 따라 기정의된 연산을 수행하고, 상기 연산 결과를 상기 CPU에 제공하는 DSP 및 또는 GPU를 더 포함할 수 있다.
한편, 상기 공통 인터페이스 버스는, 적어도 하나의 저장부를 포함하는 스토리지 시스템에 연결되어, 상기 복수의 프로세서 모듈 각각과 상기 스토리지 시스템 사이의 연결을 중계할 수 있다.
한편, 본 실시 예에 따른 메인 컨트롤러가 탑재된 베이스 보드, 상기 베이스 보드에 형성된 공통 인터페이스 버스 및 상기 베이스 보드에 장착되어 상기 공통 인터페이스 버스에 연결된 프로세서 모듈을 포함하는 마이크로 서버의 프로세서 모듈 이용 방법은, 상기 프로세서 모듈에 탑재된 모듈 컨트롤러가 상기 베이스 보드에 형성된 공통 인터페이스 버스를 통해 제1 신호를 수신하면, 상기 제1 신호를 상기 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스에 대응되도록 변환하여 상기 CPU로 전송하는 단계 및 상기 CPU가 제2 신호를 출력하면 상기 모듈 컨트롤러가 상기 제2 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하여 상기 공통 인터페이스 버스를 통해 상기 메인 컨트롤러로 전송하는 단계를 포함한다.
여기서, 상기 공통 인터페이스 버스는, i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원하는 인터페이스 버스일 수 있다.
한편, 본 실시 예에 따른 메인 컨트롤러가 탑재된 베이스 보드, 상기 베이스 보드에 형성된 공통 인터페이스 버스 및 상기 베이스 보드에 장착되어 상기 공통 인터페이스 버스에 연결된 프로세서 모듈을 포함하는 마이크로 서버의 프로세서 모듈 이용 방법을 실행하는 비일시적 판독가능 기록매체는 상기 프로세서 모듈에 탑재된 모듈 컨트롤러가 상기 베이스 보드에 형성된 공통 인터페이스 버스를 통해 제1 신호를 수신하면, 상기 제1 신호를 상기 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스에 대응되도록 변환하여 상기 CPU로 전송하는 단계 및 상기 CPU가 제2 신호를 출력하면 상기 모듈 컨트롤러가 상기 제2 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하여 상기 공통 인터페이스 버스를 통해 상기 메인 컨트롤러로 전송하는 단계를 포함하는 프로세서 모듈 이용방법을 포함한다.
도 1은 본 발명의 일 실시 예에 따른 마이크로 서버의 구성을 나타내는 블럭도,
도 2 내지 도 7은 본 발명의 일 실시 예에 따른 프로세서 모듈의 구성을 나타내는 블럭도,
도 8은 본 발명의 일 실시 예를 따른 I/O 가상화 동작을 설명하기 위한 블럭도,
도 9는 본 발명의 일 실시 예에 따른 프로세서 모듈의 모듈 컨트롤러의 자세한 구성을 설명하기 위한 블럭도,
도 10은 다른 실시 예에 따른 마이크로 서버의 구성을 나타내는 블럭도,
도 11은 본 발명의 일 실시 예에 따른 프로세서 모듈의 외형을 설명하기 위한 도면,
도 12는 본 발명의 일 실시 예에 따른 마이크로 서버와 관리 서버와의 관계를 설명하기 위한 블럭도,
도 13은 본 발명의 일 실시 예에 따른 관리 서버에서 마이크로 서버를 제어하는 동작을 설명하기 위한 도면,
도 14는 본 발명의 다양한 실시 예에 따른 SMPS(Switched Mode Power Supply)부를 포함하는 마이크로 서버의 구성을 나타내는 블럭도,
도 15는 본 발명의 일 실시 예에 따른 마이크로 서버의 프로세서 모듈의 제어 동작을 설명하기 위한 흐름도,
도 16은 본 발명의 일 실시 예에 따른 마이크로 서버의 절전모드 동작을 설명하기 위한 흐름도, 그리고,
도 17은 본 발명의 일 실시 예에 따른 프로세서 모듈 이용 방법을 설명하는 흐름도이다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 마이크로 서버(100)의 구성을 나타내는 블럭도이다.
도 1을 참고하면, 마이크로 서버(100)는 I/O(Input/Output) 디바이스부(110), 메인 컨트롤러(120), 공통 인터페이스 버스(130), 스위치부(140) 및 프로세서 모듈(Processor Module)(200)을 포함한다.
I/O 디바이스부(110)는 적어도 하나의 I/O 카드를 포함하고, 마이크로 서버(100) 외부와 데이터를 송수신한다. 여기서 I/O 카드는 Ethernet Card(110-1), Fiber Channel Card(110-2) 등으로 구현될 수 있다.
한편, I/O 디바이스부(110)는 외부의 장치 또는 외부의 네트워크 등으로 데이터를 수신하거나, 송신할 수 있다.
여기서 데이터는 PCI Express 인터페이스를 통하여 프로세서 모듈(200)에 송수신될 수 있으며, 프로세서 모듈(200)과의 연결은 스위치부(140)에서 제어할 수 있다. 스위치부(140)에 대한 구체적인 설명은 후술하도록 한다.
메인 컨트롤러(120)는 마이크로 서버(100)의 각 구성을 제어한다.
구체적으로, I/O 디바이스부(110)를 통하여 전송된 데이터를 공통 인터페이스 버스(130)를 이용하여 각각의 프로세서 모듈(200)에 전송할 수 있도록 스위치부(140)를 제어할 수 있다. 또한, 관리 서버(300)로부터 전송된 제어 명령을 공통 인터페이스 버스(130)를 이용하여 각각의 프로세서 모듈(200)에 전송할 수 있도록 제어할 수 있다.
메인 컨트롤러(120)는 마이크로 서버(100)에 장착된 각각 프로세서 모듈(200)을 제어하여, 웹 서버, FTP 서버, 메일 서버, 데이터베이스 서버 등 특화된 시스템을 구성할 수 있게 한다. 일 예로, 동시에 많은 사용자가 액세스하는 웹 서버로 이용되는 경우, 메인 컨트롤러(120)는 액세스되는 웹페이지에 더 많은 프로세서 모듈을 이용할 수 있도록 제어하거나, 고속의 인터넷 연결망으로 연결된 웹 캐싱용 프로세서 모듈을 이용하도록 제어하여 보다 빠른 사용자 액세스를 처리할 수 있게 한다.
한편, 메인 컨트롤러(120)는 장착된 프로세서 모듈(200)로부터 각각의 상태정보를 수신할 수 있다.
여기서 프로세서 모듈(200)의 상태정보란, 프로세서 모듈(200)의 CPU 타입, CPU 갯수 및 부트로더(bootloader) 정보 중 적어도 하나를 포함할 수 있다.
한편, 메인 컨트롤러(120)는 수신받은 상태정보를 관리 서버(300)에 전송할 수 있다. 이 경우, 관리 서버(300)는 프로세서 모듈(200)의 상태정보를 이용하여 관리자 또는 사용자에게 마이크로 서버(100)의 상태를 표시할 수 있으며, 다양한 타입의 프로세서 모듈 중 적절한 프로세서 모듈을 선택하여 리소스 할당을 할 수 있게 된다.
공통 인터페이스 버스(130)는 마이크로 서버(100)의 각 구성을 연결하는 접속 장치이다. 마이크로 서버(100)의 각 구성이 병렬로 접속되어 메인 컨트롤러(120)의 제어에 따라 쌍방향통신 혹은 반이중 통신을 수행할 수 있다. 구체적으로, 공통 인터페이스 버스(130)는 제어 명령 신호를 연결하는 인터페이스 버스(130-1)와 데이터 신호를 연결하는 인터페이스 버스(130-2)를 포함할 수 있다.
한편, 공통 인터페이스 버스(130)는 i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원할 수 있다. 본 발명의 일 실시 예에 따르면, 제어 명령 신호를 연결하는 인터페이스 버스(130-1)는 i2c 인터페이스 버스를, 데이터 신호를 연결하는 인터페이스 버스(130-2)는 PCI Express 인터페이스 버스로 구현될 수 있다.
여기서, i2c (Inter-Intergrated Circuit)인터페이스 버스란, 중앙처리장치와 저속의 주변 장치 사이의 통신을 위한 용도로 개발된 버스 규격으로, 두가닥의 선을 사용하므로 TWI(Two Wire Interface)라고도 불리운다. i2c 인터페이스 버스는 동기식 통신 방식으로, 클럭 신호와 데이터 신호로 이루어져 슬레이브 장치의 수에 관계없이 마스터 장치와 양방향 통신이 가능하다. 또한 버스 하나에 두개 이상의 마스터 장치를 둘 수도 있으며, 슬레이브 장치들은 i2c 인터페이스 버스가 동작중일 경우에도 추가/제거될 수 있다.
본 발명의 일 실시 예에 따른 마이크로 서버(100)는 메인 컨트롤러(120)의 제어에 따라 공통 인터페이스 버스(130)의 i2c 인터페이스 버스를 통하여 각 프로세서 모듈(200)에 제어 명령을 전달할 수 있다.
한편, PCI express(Peripheral Component Interconnect Express) 인터페이스 버스란, 종래의 PCI(Peripheral Component Interconnect) 병렬 인터페이스 버스와 소프트웨어적인 호환성을 유지하며, 장치간의 고속 입출력을 위한 개량된 직렬 구조의 로컬 버스 규격이다. PCI express 인터페이스 버스는 대용량의 데이터 처리에 적합하다. 따라서, 본 발명의 일 실시 예에 따른 마이크로 서버(100)는 메인 컨트롤러(120)의 제어에 따라 공통 인터페이스 버스(130)의 PCI express 인터페이스 버스를 통하여 각 프로세서 모듈(200)에 데이터를 전달할 수 있다.
구체적으로, I/O 디바이스부(110)로부터 수신된 데이터는 PCI express 인터페이스를 통하여 스위치부(140)에서 선택된 프로세서 모듈(200)에 전송될 수 있다. 여기서 스위치부(140)는 메인 컨트롤러(120)의 제어를 받아 데이터를 전송할 프로세서 모듈(200)을 선택할 수 있다.
한편, 상술한 바와 같이 본 발명의 마이크로 서버(100)는 장착되는 프로세서 모듈(200)의 타입과 무관하게 기설정된 공통 인터페이스 버스로 설계된다는 특징이 있다. 프로세서 모듈(200)의 타입에 대해서는 아래 프로세서 모듈(200)의 설명과 함께 구체적으로 설명하도록 한다.
스위치부(140)는 I/O 디바이스부(110)와 복수의 프로세서 모듈(200)을 선택적으로 연결할 수 있다. 구체적으로, 스위치부(140)는 메인 컨트롤러(120)의 제어에 따라 I/O 디바이스부(110)로부터 수신된 데이터를 복수의 프로세서 모듈(200) 중 어느 하나를 선택하여 연결함으로써 데이터를 전송할 있게 한다.
한편, 스위치부(140)는 PCI Express 스위치 회로(또는 MRA PCIe switch)로 구성될 수 있으며, 복수의 프로세서 모듈(200)과 적어도 하나의 I/O 카드의 연결관계를 선택적으로 조정할 수 있다.
이러한 스위치부(140)는 I/O 가상화 기술을 구현할 수 있다. I/O 가상화 기술이란, 한개의 I/O 카드를 여러 대의 프로세서 모듈(또는 CPU보드)에서 동시에 사용하는 기술을 의미한다.
스위치부(140)는 프로세서 모듈(200)과 I/O 디바이스부(110) 사이의 연결 구조를 조정할 수 있으며, I/O 디바이스부(110)와 프로세서 모듈(200)의 물리적 위치를 변경하지 않고도 프로세서 모듈(200)과 I/O 디바이스부(110)의 연결 구조를 조정할 수 있다.
프로세서 모듈(200)은 공통 인터페이스 버스(130)를 통해 메인 컨트롤러(120)와 연결된다. 구체적으로 프로세서 모듈(200)은 공통 인터페이스 버스(130)와 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스 사이의 연결을 중계하는 모듈 컨트롤러를 포함한다. 프로세서 모듈(200)에 대한 구체적인 설명은 이하 도 2를 참고하여 설명하도록 한다.
상술한 바와 같이 프로세서 모듈(200)은 마이크로 서버(100)에 장착시킬 수 있는 모듈화된 고밀도 서버를 의미한다. 좁은 공간에 많은 수의 프로세서 모듈을 마이크로 서버(100)에 삽입, 설치할 수 있으며, 하나 이상의 CPU, 저장부 및 운영 체계 등 서버의 핵심 요소를 구비할 수 있다. 프로세서 모듈(200)은 마이크로 서버(100)로부터 전원, 입출력, 각종 제어 기능을 지원받아 서버로서의 기능을 수행할 수 있다.
한편, 본 발명의 마이크로 서버(100)는 공통 인터페이스 버스(130)를 통하여 서로 다른 타입의 프로세서 모듈(200)을 지원한다. 1대의 마이크로 서버(100)에 서로 다른 타입의 프로세서 모듈(200)을 장착하여, 서버의 용도에 따른 활용도를 향상시킬 수 있다.
일 예로, 고성능의 마이크로 서버(100)가 필요한 경우, 고성능의 CPU를 탑재한 프로세서 모듈(200)을 더 많이 장착할 수 있고, 저전력의 마이크로 서버(100)가 필요한 경우, 저전력의 CPU를 탑재한 프로세서 모듈(200)을 더 많이 장착하여 서버의 용도에 따른 활용도를 극대화시킬 수 있다.
여기서 프로세서 모듈(200)의 타입이란, 프로세서 모듈(200)에 장착된 CPU의 기종에 따라 정의된 타입이다.
일 예로, intel(R) 계열의 CPU를 장착한 프로세서 모듈을 intel 타입 프로세서 모듈로, ARM(R) 계열의 CPU를 장착한 프로세서 모듈을 ARM 타입 프로세서 모듈로 정의할 수 있다. 일반적으로 ARM 타입 프로세서 모듈은 저전력으로, intel 타입 프로세서 모듈은 고성능으로 특화되어 있다. 따라서, 사용자는 고성능의 마이크로 서버(100)로 활용하고 싶은 경우, intel 타입의 프로세서 모듈을 더 많이 장착시켜 사용할 수 있으며, 저전력의 마이크로 서버(100)로 활용하고 싶은 경우, ARM 타입의 프로세서 모듈을 더 많이 장착시켜 사용 가능하다.
이에 따라, 하나의 마이크로 서버(100)에 고성능의 CPU를 장착한 프로세서 모듈과 저전력의 CPU를 장착한 프로세서 모듈을 사용자의 선택에 따라 혼용하여 장착할 수 있다.
프로세서 모듈(200)의 구체적인 구성에 대해서는 이하 도 2 내지 도 7을 참고하여, 상세히 설명하도록 한다.
도 2 내지 도 7은 본 발명의 일 실시 예에 따른 프로세서 모듈의 구성을 나타내는 블럭도이다.
도 2를 참고하면, 프로세서 모듈(200)은 모듈 컨트롤러(Module Controller)(210), CPU(220) 및 저장부(230)를 포함한다. 프로세서 모듈(200)는 마이크로 서버(100)의 베이스 보드에 장착할 수 있다.
모듈 컨트롤러(210)는 공통 인터페이스 버스(130)와 연결되어 프로세서 모듈(200)의 CPU(220)가 사용하는 인터페이스 사이의 연결을 중계한다. 구체적으로, 프로세서 모듈(200)는 장착하고 있는 CPU(220)에 대응되는 인터페이스로 설계된다. 따라서, 마이크로 서버(100)의 공통 인터페이스 버스와 통신을 하기 위하여 모듈 컨트롤러(210)는 장착하고 있는 CPU(220)에 대응되는 인터페이스 프로토콜로 제어 명령 및 데이터를 변환할 수 있다.
한편, 모듈 컨트롤러(210)는 CPU(220)의 BIU(Bus Interface Unit)에 연결되어 제어명령 및 데이터를 송수신할 수 있다.
일 예로, 프로세서 모듈(200)에 장착되어 있는 CPU의 타입이 Intel(R)인 경우, 모듈 컨트롤러(210)는 마이크로 서버(100)의 메인 컨트롤러(120)에서 전송된 제어 명령을 i2c 인터페이스 버스(130-1)를 통하여 전달받고, 전달받은 제어 명령을 Intel(R) 타입의 CPU에 대응되는 규격의 인터페이스로 변환하여 CPU(220) 및 저장부(230)에 제공할 수 있다. 그리고 I/O 디바이스부(110)에서 전송된 데이터를 PCI Express 인터페이스 버스(130-2)를 통하여 전달받고, 제어 명령과 동일한 방식으로 변환하여 CPU(220) 및 저장부(230)에 제공할 수 있다.
한편, 모듈 컨트롤러(210)에는 프로세서 모듈(200)에 장착되어 있는 CPU의 제어에 사용되는 펌웨어를 구비하여, 프로세서 모듈(200)의 각 구성을 제어할 수 있다.
CPU(220)는 프로세서 모듈(200)의 중앙처리장치로서, 제어 명령을 해독하고 산술논리연산이나 데이터 처리를 실행하는 장치이다. CPU(220)는 BIU(BUS INTERFACE UNIT)를 구비하여, 외부 장치와 통신을 수행할 수 있다.
CPU(220)는 제조사에 따라 아키텍처(Architecture)가 상이할 수 있다. 아키텍처란 CPU(220)의 기본 구조, 설계 방식 및 제조 공정까지 포함하는 개념으로서, 클록 속도나 코어의 수, 캐시의 용량, BIU(Bus Interface Unit)등이 결정된다. 따라서, 각각의 제조사마다의 CPU(220)의 아키텍처에 따라 인터페이스 규격이 정의되어 사용되므로, 다른 제조사의 CPU(220)를 혼용하여 사용할 수 없었다.
일 예로, 도 3에서 도시된 바와 같이, 하나의 프로세서 모듈(200')에 복수의 CPU(220-1. 220-2)가 장착될 수 있다. 그러나 프로세서 모듈(200') 내의 인터페이스가 통일되도록 설계되어야 하기 때문에, 복수의 CPU(220-1, 220-2)는 각 동일한 제조사에서 설계된 동일한 타입의 CPU일 필요가 있다.
이 경우, 하나의 모듈 컨트롤러(210)의 제어에 의하여 복수의 CPU(220-1, 220-2) 각각은 독립된 운영체제를 실행할 수 있다.
한편, 본 발명과 같이 모듈 컨트롤러(210)를 구비하는 경우, 마이크로 서버(100)는 설계된 공통 인터페이스 버스(130)를 사용하여 통일화된 인터페이스 규격으로 각각의 다른 타입의 CPU을 장착한 프로세서 모듈(200')과 연결될 수 있다.
일 예로, 도 4를 참고하면, 마이크로 서버(100)의 공통 인터페이스 버스(130)에 제1 프로세서 모듈(200-1) 및 제1 프로세서 모듈(200-1)과 다른 타입의 제2 프로세서 모듈(200-2)이 연결되어 있다. 구체적으로, 제1 프로세서 모듈(200-1)에는 제1 CPU(220-1)가 장착되어 있고, 제2 프로세서 모듈(200-2)에는 제1 CPU(220-1)과 다른 타입의 제2 CPU(220-2)가 장착되어 있다. 이에 따라, 제1 모듈 컨트롤러(210-1)는 공통 인터페이스 버스(130)에서 전달되는 제어 명령 및 데이터를 제1 CPU(220-1)에 대응되는 인터페이스 규격에 맞게 전환하여 제1 CPU(220-1) 및 제1 저장부에 제공할 수 있다. 반면, 제2 모듈 컨트롤러(220-1)는 공통 인터페이스 버스(130)에서 전달되는 제어 명령 및 데이터를 제2 CPU(220-2)에 대응되는 인터페이스 규격에 맞게 전환하여 제2 CPU(220-1) 및 제2 저장부에 제공할 수 있다.
이상과 같은 각각 다른 타입의 프로세서 모듈(200-1, 200-2)은 공통 인터페이스 버스(130)를 갖는 마이크로 서버(100)에 장착되어 서버로서의 기능을 수행할 수 있다.
한편, 이상에서는 프로세서 모듈(200)이 모듈 컨트롤러(210), CPU(220) 및 저장부(230)가 기본적으로 포함되는 것으로 설명하였으나, 구현시에 저장부(230)는 외부 장치에 구비되어 있을 수 있으며, 다양한 종류의 디바이스를 추가 구비하여 특정한 용도에 최적화되도록 설계할 수 있다. 예를 들어, DSP나 GPU가 특정한 용도의 자료 처리에 적합한 디바이스로, 일반적으로 DSP나 GPU는 그 자체만으로는 동작할 수 없고 CPU에 연결되어 CPU가 작업을 지시하는 방식으로 동작한다. 따라서, 본 실시 예에서는 프로세서 모듈(200)이 특정의 작업에 특화될 필요가 있는 경우, 그 용도에 적합하도록 CPU, DSP, GPU를 조합하여 프로세서 모듈을 구현할 수 있다. 그 예에 대해서는 도 5 및 도 6을 참조하여 설명한다.
일 예로, 도 5를 참조하면, 프로세서 모듈(200")은 모듈 컨트롤러(210), CPU(220) 및 복수의 DSP(240-1, 240-2, 240-3)가 장착되어 있다. 구체적으로, 복수의 DSP(240-1, 240-2, 240-3)는 CPU(220)의 제어에 따라 기정의된 연산을 수행하고, 연산 결과를 CPU(220)에 제공할 수 있다. 한편, 도시된 예에서는 3개의 DSP가 도시되어 있으나, 구현시에 하나의 DSP, 두개의 DSP가 구비될 수 있으며, 4개 이상의 DSP가 구비될 수 있음은 자명하다.
그리고 도 6을 참조하면, 프로세서 모듈(200"')은 모듈 컨트롤러(210), CPU(220) 및 복수의 GPU(250-1, 250-2)가 장착되어 있다. 구체적으로, 복수의 GPU(250-1, 250-2)는 CPU(220)의 제어에 따라 기정의된 연산을 수행하고, 연산 결과를 CPU(220)에 제공할 수 있다. 한편, 도시된 예에서는 3개의 GPU가 도시되어 있으나, 구현시에 하나의 GPU가 구비될 수 있으며, 3개 이상의 GPU가 구비될 수 있음은 자명하다.
한편, 도 5 및 도 6을 도시함에 있어서, 프로세서 모듈이 DSP나 GPU만을 추가적으로 구비하는 것으로 도시하였으나, 구현시에는 하나의 프로세서 모듈에 DSP나 GPU가 혼합될 수도 있다.
한편, 이상에서의 프로세서 모듈은 모두 저장부를 프로세서 모듈에 내장하는 형태로 CPU(220)는 자신의 프로세서 모듈에 내장된 저장부(230)에만 접근할 수 있으며, 다른 프로세서 모듈에 내장된 저장부에 접근하기 위해서는 해당 프로세서 모듈에서 실행되는 운영체제의 지원이 필요하다. 이를 개선하기 위하여 여러 가지 프로세서 모듈과 연결 가능한 I/O 보드에 저장부를 연결하여, 한개의 저장부를 복수의 프로세서 모듈이 공유하여 이용하도록 사용할 수 있다.
이에 따라, 도 7을 참조하면, 프로세서 모듈(200"")은 모듈 컨트롤러(210), CPU(220) 및 메모리(260)가 장착되어 있다. 구체적으로, 도 7을 참조하면, 앞서 실시 예와 달리 프로세서 모듈(200"')은 저장부가 구비되어 있지 않다. 즉, 본 실시 예에 따른 프로세서 모듈(200"')은 프로세서 모듈의 외부에 구비된 저장부를 이용하여 동작한다. 한편, 이상에서는 저장부가 마이크로 서버(100) 내에 배치되는 것으로 설명하였지만, 구현시에 저장부는 마이크로 서버 외부에 별도의 장치에 구비될 수도 있다 이러한 예에 대해서는 도 10을 참조하여 후술한다.
한편, 도시된 예에서는 메모리(260) 구성이 구비되고 다른 프로세서 모듈(200"')에는 도시되어 있지 않지만, CPU 동작에 메모리 소자가 구비되는 것이 일반적이라는 점에서, 앞선 도면에서는 도면을 간략화하기 위하여 메모리부(260)의 도시를 생략하였다.
한편, 본 발명과 같이 모듈 컨트롤러(210)를 구비하는 경우, 마이크로 서버(100)는 설계된 공통 인터페이스 버스(130)를 사용하여 통일화된 인터페이스 규격으로 각각의 다른 타입의 CPU을 장착한 프로세서 모듈(200)과 연결될 수 있다.
도 8은 본 발명의 일 실시 예를 따른 I/O 가상화 동작을 설명하기 위한 블럭도이다. 상술한 바와 같이, I/O 가상화란 한개의 I/O 카드를 여러 대의 프로세서 모듈(또는 CPU보드)에서 동시에 사용하는 기술을 의미한다.
스위치부(140)는 I/O 디바이스부(110)와 복수의 프로세서 모듈(200)을 선택적으로 연결할 수 있다. 구체적으로, 스위치부(140)는 메인 컨트롤러(120)의 제어에 따라 I/O 디바이스부(110)로부터 수신된 데이터를 복수의 프로세서 모듈(200) 중 어느 하나를 선택하여 연결함으로써 데이터를 전송할 있게 한다.
한편, 스위치부(140)는 PCI Express 스위치 회로(또는 MRA PCIe switch)로 구성될 수 있으며, SWITCH CORE 구성을 통하여 복수의 프로세서 모듈(200)과 적어도 하나의 I/O 카드(110-1. 110-2, 110-3)의 연결관계를 선택적으로 조정할 수 있다. 이러한 스위치부(140)를 이용하여 복수의 프로세서 모듈(200)이 I/O 카드를 공유할 수 있는 I/O 가상화 기술을 구현할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 프로세서 모듈(200)의 모듈 컨트롤러(210)의 자세한 구성을 설명하기 위한 블럭도이다.
도 9를 참고하면, 모듈 컨트롤러(210)는 공통 컨트롤 인터페이스(Common control interface)(211), 컨트롤러(Controller)(212), 모듈 인터페이스(Module Interface)(213)를 포함한다.
공통 컨트롤 인터페이스(211)는 공통 인터페이스 버스(130)와 연결되어 제어 명령 및 데이터 중 적어도 하나를 포함하는 신호를 송수신할 수 있다. 공통 컨트롤 인터페이스(211)에서 수신받은 신호는 컨트롤러(212)에 전송된다.
컨트롤러(212)는 공통 컨트롤 인터페이스(211)를 통하여 수신된 신호를 프로세서 모듈(210)의 기 설정된 인터페이스에 대응되도록 변환할 수 있다. 또한, CPU(220)로부터 수신되는 신호를 공통 인터페이스 버스에 대응되는 신호로 변환할 수 있다.
여기서, 기 정의된 인터페이스란 프로세서 모듈(200)의 BIU(Bus Interface Unit)에 대응되는 인터페이스로 CPU(220)의 타입에 따라 결정될 수 있다.
한편, 컨트롤러(212)는 프로세서 모듈(200)에 장착되어 있는 CPU의 제어에 사용되는 펌웨어를 구동하며, 프로세서 모듈(200)의 각 구성을 제어하는 기능을 수행할 수 있다.
모듈 인터페이스(213)는 CPU(220) 및 저장부(230)과 연결되어 기 정의된 인터페이스에 대응되는 신호를 송수신하는 구성이다. 즉, 모듈 인터페이스(213)는 프로세서 모듈(200)의 BIU와 연결되어 CPU(220) 및 저장부(230)에 신호를 전달할 수 있다.
도 10은 다른 실시 예에 따른 마이크로 서버의 구성을 나타내는 블럭도이다.
도 10을 참조하면, 마이크로 서버(100)는 복수의 프로세서 모듈(200-1, 200-2)을 이용하여 다른 컴퓨터에 서비스를 제공하는 컴퓨터 시스템으로, 복수의 프로세서 모듈과 외부의 I/O 디바이스를 연결하기 위한 공통 인터페이스 버스(140)를 포함한다. 그리고 마이크로 서버(100)는 상술한 공통 인터페이스 버스(140)를 이용하여 스토리지 시스템(200)과 데이터를 송수신한다.
스토리지 시스템(200)은 복수의 저장 매체를 포함하며, 복수의 저장 매체에 저장된 데이터를 마이크로 서버(100)에 제공하거나, 마이크로 서버(100)에서 제공된 데이터를 저장 매체에 저장할 수 있다.
구체적으로, 스토리지 시스템(200)은 복수의 저장부(410-1, 410-2, 410-3)를 구비하면, 마이크로 서버(100)와 통신을 위한 I/O 제어부(미도시)가 구비된다. 이러한 I/O 제어부는 마이크로 서버(100)의 공통 인터페이스 방식(예를 들어, PCI express)으로 연결될 수 있다.
한편, 도 10을 설명함에 있어서, 스토리지 시스템(200)이 마이크로 서버(100)와 분리된 장치로 설명하였지만, 구현시에 스토리지 시스템(200)은 마이크로 서버(100) 내의 저장부로 구현될 수 있다.
도 11은 본 발명의 일 실시 예에 따른 프로세서 모듈(200)의 외형을 설명하기 위한 도면이다.
도 11에는 각각 다른 타입의 프로세서 모듈(200-1, 200-2)을 도시하고 있다.
도 11을 참고하면, 제1 타입의 프로세서 모듈(200-1)은 전면에 저장부(230)와 CPU(220)가 배치되어 있으며, 후면에는 복수의 저장부(230)와 모듈 컨트롤러(210)가 배치되어 있다.
여기서, 저장부(230)의 일 구성인 HDD(Hard Disc Drive)와 같은 Storage는 프로세서 모듈(200-1) 전면에 장착될 수 있으며, RAM/ROM(Random Access Memory/Read Only Memory)과 같은 Memory는 프로세서 모듈(200-1) 후면에 장착될 수 있도록 설계될 수 있다.
한편, 제2 타입의 프로세서 모듈(200-2)은 전면에 모듈 컨트롤러(210), CPU(220), 저장부(230)가 배치되어 있으며, 후면에는 저장부(230)가 배치되어 있다.
여기서, 저장부(230)의 일 구성인 RAM/ROM과 같은 Memory는 프로세서 모듈(200-2)의 전면에 장착될 수 있으며, HDD(Hard Disc Drive)와 같은 Stroage는 프로세서 모듈(200-2) 후면에 장착될 수 있다.
각 타입의 프로세서 모듈(200-1, 200-2)은 장착되어있는 CPU의 타입에 따라 아키텍쳐가 상이할 수 있으나, 마이크로 서버(100)에 연결되는 부분인 슬롯(slot) 및 연결 핀(pin)의 형태(700)가 동일하게 설계되어 하나의 마이크로 서버(100)에 연결될 수 있다.
이는, 마이크로 서버(100)의 공통 인터페이스 버스(130)에 따라 결정된 것으로 하나의 마이크로 서버(100)에 다양한 타입의 프로세서 모듈(200-1, 200-2)을 물리적으로 연결 가능케 할 수 있다.
도 12는 본 발명의 일 실시 예에 따른 마이크로 서버(100)와 관리 서버(300)와의 관계를 설명하기 위한 블럭도이다.
관리 서버(300)는 복수개의 프로세서 모듈(200)을 포함하는 마이크로 서버(100)를 모니터링, 제어하기 위한 장치를 의미한다.
사용자 또는 관리자는 관리 서버(300)를 이용하여 마이크로 서버(100)에 포함되어 있는 복수개의 프로세서 모듈(200)의 상태를 모니터링 할 수 있다. 또한, 사용자 또는 관리자는 관리 서버(300)를 이용하여 마이크로 서버의 제어 명령을 입력받는다.
구체적으로, 관리 서버(300)는 마이크로 서버(100)의 메인 컨트롤러(120)와 통신을 수행하여 마이크로 서버(100)에서 지원하는 각종 기능을 사용자가 설정 또는 선택할 수 있게 하며, 마이크로 서버(100)에서 제공되는 각종 정보를 표시할 수 있다. 이런 경우, 관리 서버(300)는 모니터 및 마우스를 결합하여 구현할 수 있으며, 터치스크린 등과 같이 입력과 출력이 동시에 구현되는 장치로도 구현할 수도 있다.
한편, 관리 서버(300)와 마이크로 서버(100)는 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트를 통하여 접속되는 형태도 가능하다.
한편, 관리 서버(300)는 Global Resource 저장부를 포함하여 마이크로 서버(100)가 포함하는 복수개의 프로세서 모듈(200)의 상태정보를 저장할 수 있다.
이하, 도 13을 참고하여 Global Resource 저장부에 대해 구체적으로 설명하도록 한다.
도 13은 본 발명의 일 실시 예에 따른 관리 서버(300)에서 마이크로 서버(100)를 제어하는 동작을 설명하기 위한 도면이다.
도 13을 참고하면, 관리 서버(300)는 Global Resource 저장부를 구비하고 있다. Global Resource 저장부는 마이크로 서버(100)의 복수개의 프로세서 모듈(200)에 매칭되어 복수개의 프로세서 모듈(200) 각각의 상태 정보를 저장하고 있다.
구체적으로, Global Resource 저장부에는 프로세서 모듈(200)의 Core Architecture 종류, 보유 Resource, 사용 유무 등의 정보를 포함할 수 있다. 이러한 상태 정보는 관리자 또는 사용자에 의해 미리 입력된 정보일 수 있으며, 또는 마이크로 서버(100)로부터 자동으로 취합된 정보일 수 있다.
관리자 또는 사용자는 관리 서버(300)를 이용하여 마이크로 서버(100)를 제어할 수 있으며, 새로운 작업을 입력하는 경우, 마이크로 서버(100)의 복수의 프로세서 모듈(200) 중 가장 적절한 프로세서 모듈을 선택하여 새로운 작업을 수행하도록 제어할 수 있다.
위와 같이, 관리 서버(300)를 통하여 사용자는 마이크로 서버(100)를 제어할 수 있게 된다.
도 14는 본 발명의 다양한 실시 예에 따른 SMPS(Switched Mode Power Supply)부를 포함하는 마이크로 서버(100)의 구성을 나타내는 블럭도이다.
도 14를 참고하면, 도 1의 마이크로 서버(100)의 구성에 SMPS부(150)가 더 추가된 블럭도이다.
SMPS(Swithced mode Power Supply)부(150)는 스위칭 회로를 이용한 전원공급장치로서, 마이크로 서버(100)의 각 구성에 전원을 선택적으로 공급하는 기능을 수행한다.
SMPS부(150)는 각각의 프로세서 모듈(200)에 메인 컨트롤러(120)에서 산출된 사용 전압 및 소비 전력에 따라 전원을 공급할 수 있다.
구체적으로 메인 컨트롤러(120)는 복수의 프로세서 모듈(200) 각각으로부터 상태정보를 수신하여, 프로세서 모듈(200) 각각의 사용 전압 및 소비 전력을 산출할 수 있다. 이와 같이 산출된 프로세서 모듈(200) 각각의 사용 전압 및 소비 전력에 따라 SMPS부(150)는 프로세서 모듈(200)에 선택적으로 전원을 공급할 수 있게 된다.
일 예로, Intel 계열의 CPU를 장착한 제1 타입 프로세서 모듈의 경우 5v의 전압이 사용되며, ARM 계열의 CPU를 장착한 제2 타입 프로세서 모듈의 경우 4.5v의 전압이 사용된다고 가정하면, 메인 컨트롤러(120)는 프로세서 모듈(200)로부터 사용 전압 정보를 포함하는 상태 정보를 수신하여 SMPS부(150)가 제1 타입 프로세서 모듈에는 5v, 제2 타입 프로세서 모듈에는 4.5v의 전압을 공급할 수 있도록 제어할 수 있다.
도 15는 본 발명의 일 실시 예에 따른 마이크로 서버(100)의 프로세서 모듈(200)의 제어 동작을 설명하기 위한 흐름도이다.
도 15를 참고하면, 마이크로 서버(100)는 각각의 프로세서 모듈(200)로부터 상태정보를 수신할 수 있다(S1510). 여기서, 프로세서 모듈(200)의 상태정보는 프로세서 모듈(200)에 장착되어 있는 CPU의 타입, CPU의 갯수 및 부트로더(bootloader) 정보 중 적어도 하나를 포함할 수 있다.
그리고 마이크로 서버(100)는 수신받은 상태정보에 포함된 CPU 타입, CPU 갯수에 따라 프로세서 모듈(200) 각각의 사용 전압 및 소비 전력을 산출할 수 있다(S1520).
그리고 마이크로 서버(100)는 산출된 각각의 프로세서 모듈(200)의 사용 전압 및 소비 전력에 따라 각각의 프로세서 모듈(200)에 전원을 공급할 수 있다(S1530).
위와 같은 제어 동작에 의하여, 각각 상이한 타입의 프로세서 모듈(200)에 적절한 전원을 공급할 수 있게 된다.
도 16은 본 발명의 일 실시 예에 따른 마이크로 서버(100)의 절전모드 동작을 설명하기 위한 흐름도이다.
도 16을 참고하면, 마이크로 서버(100)에 절전모드 제어 명령이 입력되면(S1610), 마이크로 서버(100)는 제1 프로세서 모듈부터 사용중인지 판단할 수 있다(S1620). 여기서 절전모드 제어 명령은 관리 서버(300)를 통하여 입력되거나, 마이크로 서버(100) 자체의 기설정된 조건을 만족할 경우 입력될 수 있다.
사용중인 프로세서 모듈인 경우(S1620: YES), 마이크로 서버(100)는 해당 프로세서 모듈의 CPU의 클럭 속도를 줄이도록 제어할 수 있다(S1630).
반대로, 사용중이지 않은 프로세서 모듈인 경우(S1620: NO), 마이크로 서버(100)는 해당 프로세서 모듈의 전원을 차단하거나, 최소한으로 공급될 수 있도록 제어할 수 있다(S1640).
그리고 해당 프로세서 모듈이 마지막 프로세서 모듈인지 판단하여 아닌 경우(S1250: NO), 다음 프로세서 모듈로 위의 프로세스를 반복할 수 있다(S1660).
위와 같은 프로세스에 의해 마이크로 서버(100)는 절전모드 기능을 수행할 수 있게 된다.
도 17은 본 발명의 일 실시 예에 따른 프로세서 모듈 이용 방법을 설명하는 흐름도이다.
도 17을 참고하면, 프로세서 모듈에 탑재된 모듈 컨트롤러가 베이스 보드에 형성된 공통 인터페이스 버스를 통해 제1 신호를 수신하면(S1710: YES), 제1 신호를 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스에 대응되도록 변환하여 CPU로 전송할 수 있다(S1720).
한편, CPU가 제2 신호를 출력하면(S1730: YES), 모듈 컨트롤러가 제2 신호를 공통 인터페이스 버스에 대응되도록 변환하여 공통 인터페이스 버스를 통해 메인 컨트롤러로 전송할 수 있다(S1740).
여기서, 공통 인터페이스 버스는, i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원하는 인터페이스 버스일 수 있다.
한편, 도 17과 같은 프로세서 모듈 이용 방법은, 도 1의 구성을 가지는 마이크로 서버(100) 및 도 2의 구성을 가지는 프로세서 모듈(200)에서 실시될 수 있으며, 그 밖의 구성을 가지는 마이크로 서버 및 프로세서 모듈에서도 실행될 수 있다.
상술한 바와 같은 본 발명의 일 실시 예에 따른 프로세서 모듈을 포함하는 마이크로 서버의 프로세서 모듈 이용 방법은 하나의 마이크로 서버에 다양한 타입의 프로세서 모듈을 사용 가능하게 한다.
한편, 이러한 다양한 실시 예에 따른 방법들은 프로그래밍되어 각종 저장 매체에 저장될 수 있다. 이에 따라, 저장 매체를 실행하는 다양한 유형의 마이크로 서버 및 프로세서 모듈에서 상술한 다양한 실시 예에 따른 방법들이 구현될 수 있다.
또한, 상술한 바와 같은 프로세서 모듈 이용 방법은 모듈 컨트롤러에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비 일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어 져서는 안 될 것이다.
100 : 마이크로 서버 110 : I/O 디바이스부
120 : 메인 컨트롤러 130 : 공통 인터페이스 버스
140 : 스위치부 200 : 프로세서 모듈

Claims (21)

  1. 마이크로 서버의 베이스 보드에 장착 가능한 프로세서 모듈에 있어서,
    적어도 하나의 저장부;
    기 설정된 인터페이스를 사용하는 적어도 하나의 CPU; 및
    상기 베이스 보드에 형성된 공통 인터페이스 버스와 상기 CPU가 사용하는 인터페이스 사이의 연결을 중계하는 모듈 컨트롤러;를 포함하고,
    상기 공통 인터페이스 버스는 상기 베이스 보드에 형성된 메인 컨트롤러와 서로 다른 타입의 프로세서 모듈을 공통적으로 연결하는 인터페이스 버스인 프로세서 모듈.
  2. 제1항에 있어서,
    상기 모듈 컨트롤러는,
    상기 공통 인터페이스 버스를 통해 수신되는 신호를 상기 기 설정된 인터페이스에 대응되도록 변환하고, 상기 CPU로부터 수신되는 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하는 프로세서 모듈.
  3. 제1항에 있어서,
    상기 모듈 컨트롤러는,
    상기 공통 인터페이스 버스와 연결되어 제어 명령 및 데이터 중 적어도 하나를 포함하는 신호를 송수신하는 공통 컨트롤 인터페이스(Common Control Interface);
    상기 공통 인터페이스 버스를 통해 수신되는 신호를 상기 기 설정된 인터페이스에 대응되도록 변환하고, 상기 CPU로부터 수신되는 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하는 컨트롤러(Controller); 및
    상기 CPU 및 상기 저장부와 연결되어 상기 기 정의된 인터페이스에 대응되는 신호를 송수신하는 모듈 인터페이스(Module Interface);를 포함하는 것을 특징으로 하는 프로세서 모듈.
  4. 제1항에 있어서,
    상기 공통 인터페이스 버스는,
    i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원하는 인터페이스 버스인 것을 특징으로 하는 프로세서 모듈.
  5. 제1항에 있어서,
    상기 CPU의 제어에 따라 기정의된 연산을 수행하고, 상기 연산 결과를 상기 CPU에 제공하는 DSP 및 또는 GPU;를 더 포함하는 것을 특징으로 하는 프로세서 모듈.
  6. 마이크로 서버에 있어서,
    메인 컨트롤러;
    상기 메인 컨트롤러가 탑재된 베이스 보드;
    상기 베이스 보드 상에 형성된 공통 인터페이스 버스; 및
    상기 베이스 보드에 장착되어 상기 공통 인터페이스 버스를 통해 상기 메인 컨트롤러와 연결되며 서로 다른 타입의 CPU가 설치된 복수의 프로세서 모듈;을 포함하며,
    상기 복수의 프로세서 모듈 각각은 상기 공통 인터페이스 버스와 각 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스 사이의 연결을 중계하는 모듈 컨트롤러를 포함하는 마이크로 서버.
  7. 제6항에 있어서,
    상기 모듈 컨트롤러는,
    상기 공통 인터페이스 버스를 통해 수신되는 신호를 상기 인터페이스에 대응되도록 변환하고, 상기 CPU로부터 수신되는 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하는 것을 특징으로 하는 마이크로 서버.
  8. 제6항에 있어서,
    상기 공통 인터페이스 버스는,
    i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원하는 인터페이스 버스인 것을 특징으로 하는 마이크로 서버.
  9. 제6항에 있어서,
    상기 복수의 프로세서 모듈은,
    슬롯(slot) 및 연결 핀(pin)의 형태가 동일하게 설계되는 것을 특징으로 하는 마이크로 서버.
  10. 제6항에 있어서,
    상기 메인 컨트롤러는,
    상기 복수의 프로세서 모듈 각각으로부터 상태정보를 수신하는 것을 특징으로 하는 마이크로 서버.
  11. 제10항에 있어서,
    상기 상태정보는,
    상기 프로세서 모듈의 CPU 타입, CPU 갯수 및 부트로더(bootloader) 정보 중 적어도 하나를 포함하고,
    상기 메인 컨트롤러는,
    상기 상태정보를 관리 서버에 전송하는 것을 특징으로 하는 마이크로 서버.
  12. 제10항에 있어서,
    마이크로 서버의 각 구성에 전원을 선택적으로 공급하는 SMPS(Switched Mode Power Supply)부;를 더 포함하고,
    상기 메인 컨트롤러는,
    상기 상태정보를 이용하여 각각의 프로세서 모듈의 사용 전압 및 소비 전력을 산출하고, 상기 산출된 프로세서 모듈의 사용 전압 및 소비 전력에 따라 전원을 공급하도록 상기 SMPS부를 제어하는 것을 특징으로 하는 마이크로 서버.
  13. 제6항에 있어서,
    외부로부터 데이터를 송수신하는 적어도 하나의 I/O 카드를 포함하는 I/O 디바이스(Input/Output Device)부; 및
    상기 I/O 디바이스부와 상기 복수의 프로세서 모듈을 선택적으로 연결하는 스위치부;를 더 포함하는 것을 특징으로 하는 마이크로 서버.
  14. 제13항에 있어서,
    상기 스위치부는,
    PCI Express 스위치 회로로 구성되어, 상기 복수의 프로세서 모듈과 상기 적어도 하나의 I/O 카드의 연결관계를 선택적으로 조정할 수 있는 것을 특징으로 하는 마이크로 서버.
  15. 제6항에 있어서,
    상기 메인 컨트롤러는,
    관리 서버로부터 제어 명령을 수신받아 상기 복수의 프로세서 모듈을 제어하는 것을 특징으로 하는 마이크로 서버.
  16. 제15항에 있어서,
    상기 메인 컨트롤러는,
    상기 관리 서버로부터 절전모드 명령을 수신받은 경우, 상기 복수의 프로세서 모듈 중 사용하지 않는 프로세스 모듈의 전원을 차단하고, 사용 중인 프로세스 모듈의 CPU 클럭 스피드를 줄이도록 제어하는 것을 특징으로 하는 마이크로 서버.
  17. 제6항에 있어서,
    상기 복수의 프로세서 모듈 중 적어도 하나는,
    상기 CPU의 제어에 따라 기정의된 연산을 수행하고, 상기 연산 결과를 상기 CPU에 제공하는 DSP 및 또는 GPU를 더 포함하는 것을 특징으로 하는 마이크로 서버.
  18. 제6항에 있어서,
    상기 공통 인터페이스 버스는,
    적어도 하나의 저장부를 포함하는 스토리지 시스템에 연결되어, 상기 복수의 프로세서 모듈 각각과 상기 스토리지 시스템 사이의 연결을 중계하는 것을 특징으로 하는 마이크로 서버.
  19. 메인 컨트롤러가 탑재된 베이스 보드, 상기 베이스 보드에 형성된 공통 인터페이스 버스 및 상기 베이스 보드에 장착되어 상기 공통 인터페이스 버스에 연결된 프로세서 모듈을 포함하는 마이크로 서버의 프로세서 모듈 이용 방법에 있어서,
    상기 프로세서 모듈에 탑재된 모듈 컨트롤러가 상기 베이스 보드에 형성되고 서로 다른 타입의 CPU가 장착된 복수의 타 프로세서 모듈을 공통적으로 연결하는 공통 인터페이스 버스를 통해 제1 신호를 수신하면, 상기 제1 신호를 상기 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스에 대응되도록 변환하여 상기 CPU로 전송하는 단계; 및
    상기 CPU가 제2 신호를 출력하면 상기 모듈 컨트롤러가 상기 제2 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하여 상기 공통 인터페이스 버스를 통해 상기 메인 컨트롤러로 전송하는 단계;를 포함하는 프로세서 모듈 이용 방법.
  20. 제19항에 있어서,
    상기 공통 인터페이스 버스는,
    i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원하는 인터페이스 버스인 것을 특징으로 하는 프로세서 모듈 이용 방법.
  21. 메인 컨트롤러가 탑재된 베이스 보드, 상기 베이스 보드에 형성된 공통 인터페이스 버스 및 상기 베이스 보드에 장착되어 상기 공통 인터페이스 버스에 연결된 프로세서 모듈을 포함하는 마이크로 서버의 프로세서 모듈 이용 방법을 실행하는 비일시적 판독가능 기록매체에 있어서,
    상기 프로세서 모듈 이용 방법은,
    상기 프로세서 모듈에 탑재된 모듈 컨트롤러가 상기 베이스 보드에 형성되고 서로 다른 타입의 CPU가 장착된 복수의 타 프로세서 모듈을 공통적으로 연결하는 공통 인터페이스 버스를 통해 제1 신호를 수신하면, 상기 제1 신호를 상기 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스에 대응되도록 변환하여 상기 CPU로 전송하는 단계; 및
    상기 CPU가 제2 신호를 출력하면 상기 모듈 컨트롤러가 상기 제2 신호를 상기 공통 인터페이스 버스에 대응되도록 변환하여 상기 공통 인터페이스 버스를 통해 상기 메인 컨트롤러로 전송하는 단계;를 포함하는 비일시적 판독가능 기록매체.
KR1020130148406A 2013-01-07 2013-12-02 프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법 KR102115934B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2013/011776 WO2014106997A1 (en) 2013-01-07 2013-12-18 Processor module, micro-server, and method of using processor module
CN201410003211.0A CN103914418B (zh) 2013-01-07 2014-01-03 处理器模块、微型服务器以及使用处理器模块的方法
US14/148,962 US9652427B2 (en) 2013-01-07 2014-01-07 Processor module, micro-server, and method of using processor module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130001768 2013-01-07
KR1020130001768 2013-01-07

Publications (2)

Publication Number Publication Date
KR20140090073A KR20140090073A (ko) 2014-07-16
KR102115934B1 true KR102115934B1 (ko) 2020-05-27

Family

ID=51737919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130148406A KR102115934B1 (ko) 2013-01-07 2013-12-02 프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법

Country Status (1)

Country Link
KR (1) KR102115934B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101694375B1 (ko) * 2015-12-23 2017-01-09 한국과학기술정보연구원 다중 기능 pcb 기반 클러스터 서버 및 클러스터 서버 네트워크 구축 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144252A1 (en) * 2010-12-01 2012-06-07 Hitachi, Ltd. Storage control apparatus and storage control method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101403935B1 (ko) * 2011-06-24 2014-06-09 김성한 마이크로-서버 클러스터 기반의 적응형 동영상 스트리밍 서버

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144252A1 (en) * 2010-12-01 2012-06-07 Hitachi, Ltd. Storage control apparatus and storage control method

Also Published As

Publication number Publication date
KR20140090073A (ko) 2014-07-16

Similar Documents

Publication Publication Date Title
US9652427B2 (en) Processor module, micro-server, and method of using processor module
US9465771B2 (en) Server on a chip and node cards comprising one or more of same
EP2843557A1 (en) Processor module, server system and method of controlling processor module
KR102209525B1 (ko) 마이크로 서버, mac 주소 할당 방법 및 컴퓨터 판독가능 기록매체
US11775464B2 (en) Computer system and a computer device
US10223161B2 (en) Hardware-based inter-device resource sharing
US20140280960A1 (en) Methods and apparatus for dynamically allocating devices between multiple controllers
CN108664440A (zh) 接口服务器和机箱
CN114356725B (zh) 机箱管理系统
KR102115934B1 (ko) 프로세서 모듈, 마이크로 서버 및 프로세서 모듈 이용 방법
US20170142190A1 (en) Blade server
CN104951268A (zh) 一种基于cpci扩展高性能显卡的实现方法
US20180341614A1 (en) System and Method for I/O Aware Processor Configuration
CN105446654A (zh) 服务器控制方法及机架控制器
CN101859307A (zh) 键盘-屏幕-鼠标切换器、计算机系统与文件搜寻方法
KR20200080538A (ko) 비휘발성메모리 테스트 장치
US9423863B2 (en) Server system with power distribution board and storage control method thereof
TW201723882A (zh) 微型伺服器
CN116841949A (zh) 基于国产处理器的四路服务器主板和服务器
CN116301223A (zh) 一种高性能服务器主板、计算机管理系统及方法
Follows et al. Early experience with Blue Gene/P
JP2014095997A (ja) 情報処理装置、制御装置及び情報処理装置の制御方法
CN105100179A (zh) 服务器集群系统
TW201403332A (zh) 支援雙主控裝置存取介面裝置之系統及其電源管理方法

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