KR20150047785A - 서버 시스템 및 스토리지 시스템 - Google Patents

서버 시스템 및 스토리지 시스템 Download PDF

Info

Publication number
KR20150047785A
KR20150047785A KR1020130127673A KR20130127673A KR20150047785A KR 20150047785 A KR20150047785 A KR 20150047785A KR 1020130127673 A KR1020130127673 A KR 1020130127673A KR 20130127673 A KR20130127673 A KR 20130127673A KR 20150047785 A KR20150047785 A KR 20150047785A
Authority
KR
South Korea
Prior art keywords
server
unit
storage
storage system
controller
Prior art date
Application number
KR1020130127673A
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130127673A priority Critical patent/KR20150047785A/ko
Priority to US14/247,448 priority patent/US20150120874A1/en
Publication of KR20150047785A publication Critical patent/KR20150047785A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

스토리지 시스템이 개시된다. 본 스토리지 시스템은, 복수의 서버와 통신을 수행하는 통신부, 기설정된 통신 인터페이스를 사용하는 복수의 저장매체를 갖는 저장부, '복수의 저장 매체를 복수의 영역으로 구분하고, 복수의 영역별 대응되는 서버의 정보를 저장하는 매핑 테이블'에 따라, 복수의 저장 매체와 복수의 서버 간의 데이터를 송수신하는 I/O 제어부를 포함한다.

Description

서버 시스템 및 스토리지 시스템{SERVER SYSTEM AND STORAGE SYSTEM}
본 발명은 서버 시스템 및 스토리지 시스템에 관한 것으로, 보다 상세하게는PCI Express 인터페이스를 이용하여, 스토리지 시스템과 마이크로 서버를 직접 연결할 수 있는 서버 시스템 및 스토리지 시스템에 관한 것이다.
최근 고속 인터넷 및 인트라넷 기술의 발달에 따라 대량의 데이터를 고속으로 처리할 수 있는 서버 기술이 요구되어 왔다. 이에 따라, 랙 마운트형 클러스터 서버 기술이 등장하였지만, 부피가 크고, 전력 소비량도 크게 증가하는 문제점이 있으며, 각 서버 모듈들을 케이블로 연결하여야 하였다는 점에서 시스템 확장에 제한이 있었다.
이에 따라 최근에는 프로세서 모듈을 이용하는 마이크로 서버가 이용되고 있다. 프로세서 모듈이란 랙 마운트형 서버처럼 가로로 랙 서버를 쌓아올리지 않고 마이크로 서버 시스템의 본체에 끼워 동작시키는 얇고 모듈화된 증설품 서버를 의미한다. 좁은 공간에 많은 수의 서버를 삽입, 설치할 수 있다는 의미에서 고밀도 서버라고도 불리며, 하나 이상의 CPU(Central Processing unit), 기억 장치, 운영 체제 등 서버의 핵심 요소를 내장하고, 본체로부터 전원, 입출력, 부수 장치 및 각종 제어 기능을 지원받아 서버로서의 기능을 수행한다.
한편, 최근의 서버는 자체적인 저장 공간을 이용하기보다는 외부의 스토리지 시스템의 저장공간을 이용하는 추세이다. 이러한 점에서, 고밀도로 데이터를 저장할 수 있는 스토리지 시스템이 요구되었다.
그런데 종래에는 NAS(Network Attach storage), DAS(Direct Attached Storage), SAN(Storage Area Network) 기술을 이용하여 스토리지 시스템을 구현하였는데, 각 기술은 다음과 같은 단점이 있었다.
먼저, NAS는 별도의 운영체제를 가지고 이더넷 방식으로 연결되는 스토리지 시스템으로, 이더넷을 인터페이스를 이용한다는 점에서, 이더넷의 트래픽이 발생할 소지가 있으며, 블록 방식의 공유가 불가능하며, 서버는 각각의 개별 저장공간을 별도로 구성해 주어야 하는 문제점이 있었다.
그리고 DAS는 서버가 대용량 저장 매체의 스토리지 인터페이스로 연결하여 사용하는 시스템으로, 다수의 서버가 접속하는 것에 한계가 있어, 소규모의 독립적인 구성으로밖에 사용될 수밖에 없는 한계점이 있었다.
그리고 SAN은 스토리지 전용의 네트워크 스위치를 통해 연결하는 시스템으로, 별도의 스토리지용 채널을 두어 확장성 및 유연성은 좋으나, 광 채널, 광 스위치 등 추가 비용(장비/전력/공간)이 발생하는 문제점이 있었다.
이상과 같이 종래에는 다수의 서브들이 스토리지를 액세스하기 위해서는 이더넷, FC(Fiber Channel), 스위치 등이 필요하여, 구조적인 문제로 인해 비용 증가, 저전력/고집적 제약 사항 등이 발생할 뿐만 아니라, 여러 단계를 거치면서 스토리지의 응답 속도 등의 성능 저하도 있었다.
따라서, 본 발명의 목적은, PCI Express 인터페이스를 이용하여, 스토리지 시스템과 마이크로 서버를 직접 연결할 수 있는 서버 시스템 및 스토리지 시스템을 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 스토리지 시스템은,상기 복수의 서버와 통신을 수행하는 통신부, 기설정된 통신 인터페이스를 사용하는 복수의 저장매체를 갖는 저장부, '상기 복수의 저장 매체를 복수의 영역으로 구분하고, 상기 복수의 영역별 대응되는 서버의 정보를 저장하는 매핑 테이블'에 따라, 상기 복수의 저장 매체와 복수의 서버 간의 데이터를 송수신하는 I/O 제어부를 포함한다.
이 경우, 상기 복수의 저장 매체는, 특정 서버의 운영체제가 저장되는 prvite 영역 및 복수의 서버가 공용으로 사용되는 virtual 영역으로 구분될 수 있다.
한편, 상기 I/O 제어부는, 상기 서버와 상기 공통 인터페이스 버스 방식으로 데이터를 송수신하며, 상기 송수신된 데이터를 상기 저장부와 상기 저장 매체가 사용하는 통신 인터페이스 방식으로 송수신할 수 있다.
이 경우, 상기 I/O 제어부는, 상기 공통 인터페이스 버스를 통하여 수신되는 신호를 상기 기설정된 통신 인터페이스에 대응되도록 변환하고, 상기 저장 매체를 통하여 수신되는 신호를 상기 공통 인터페이스 버스에 대응되게 변환할 수 있다.
한편, 상기 공통 인터페이스 버스는, PCI Express 인터페이스 버스일 수 있다.
한편, 상기 기설정된 인터페이스 버스는, SAS(Serial Attached SCSI), SATA(Serial ATA) 및 NVMe(Non Volatile Memory express) 중 적어도 하나의 인터페이스 버스일 수 있다.
한편, 상기 I/O 제어부는, 상기 서버와의 채널 수에 따라 상기 서버와의 대역폭을 조정할 수 있다.
한편, 본 스토리지 시스템은, 상기 I/O 컨트롤러와 상기 복수의 서버를 선택적으로 연결하는 스위치부를 더 포함할 수 있다.
이 경우, 상기 스위치부는, 상기 PCI express 스위치 회로로 구성되어, 상기 복수의 프로세서 모듈과 상기 적어도 하나의 I/O 카드의 연결 관계를 선택적으로 조정할 수 있다.
한편, 상기 I/O 제어부는, 상기 복수의 서버 각각 간의 대역폭을 조정할 수 있다.
한편, 상기 I/O 제어부는, 상기 복수의 저장 매체에 대한 핫스와프(hot swap)를 지원할 수 있다.
한편, 상기 I/O 제어부는, 상기 데이터를 이중화하고, 상기 이중화된 데이터를 복수의 저장 매체에 저장할 수 있다.
한편, 상기 I/O 제어부는, 상기 저장 매체 또는 상기 서버로 전송되는 신호에 대해서 디-엠파시스 처리를 수행하고, 상기 저장 매체 또는 상기 서버로부터 수신되는 신호에 대해서는 이퀄라이저 처리를 수행할 수 있다.
한편, 상기 저장 매체는, HDD(hard disk drive) 또는 SSD(Solid State Disk)일 수 있다.
이 경우, 상기 I/O 제어부는, 상기 스토리지 시스템의 초기 구동시에 상기 복수의 저장 매체가 순차적으로 구동되도록 할 수 있다.
한편, 상기 I/O 제어부는, 상기 서버와 상기 저장 매체 간의 데이터를 일시 저장하는 메모리를 포함할 수 있다.
한편, 본 스토리지 시스템은, 상기 스토리지 시스템의 상태 정보를 센싱하고 외부 관리 서버에서 상기 스토리지 시스템의 원격제어가 가능하도록 IPMI(Intelligent Platform Management Interface) 서비스를 제공하는 BMC(Baseboard management Controller)부를 더 포함할 수 있다.
이 경우, 상기 BMC부는, 외부 관리 서버로부터 상기 서버에 대한 디스크 할당 요청을 수신하면, 상기 서버에 디스크가 할당되도록 상기 I/O 제어부를 제어할 수 있다.
한편, 상기 BMC부는, 상기 저장 매체로부터 관리 정보를 수신하고, 수신된 관리 정보에 기초하여 디스크 할당이 수행되도록 상기 I/O 제어부를 제어할 수 있다.
한편, 본 실시 예에 따른 서버 시스템은, 공통 인터페이스 버스 및 복수의 프로세서 모듈을 구비하는 서버, 및, 복수의 저장 매체 및 상기 복수의 저장 매체에 저장된 데이터를 상기 서버에 제공하는 I/O 제어부를 구비하는 스토리지 시스템을 포함하며, 상기 스토리지 시스템은, 상기 공통 인터페이스 버스 방식으로 상기 서버와 데이터를 송수신할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 서버 시스템의 구성을 도시한 블록도,
도 2는 제1 실시 예에 따른 서버 시스템의 연결 구성을 도시한 블록도,
도 3은 제2 실시 예에 따른 서버 시스템의 연결 구성을 도시한 블록도,
도 4는 도 2 또는 도 3의 저장부(160)와 I/O 제어부(170) 간의 연결 상태를 설명하기 위한 도면,
도 5는 도 1의 스토리지 시스템의 구성을 도시한 블록도,
도 6은 도 1의 스토리지 시스템의 형상을 도시한 블록도,
도 7 및 도 8은 도 5의 보드부의 형상을 도시한 도면,
도 9는 I/O 제어부와 보드부의 연결 방식을 구체적으로 도시한 도면,
도 10은 도 1의 I/O 제어부의 형상을 도시한 도면,
도 11은 저장 매체의 배치 형태를 도시한 도면,
도 12는 본 실시 예에 따른 저장 모듈을 도시한 도면,
도 13 및 도 14는 BMC부의 전원 관리 동작을 설명하기 위한 도면,
도 15는 도 1의 마이크로 서버의 구체적인 구성을 도시한 블록도,
도 16은 도 15의 프로세스 모듈의 구성을 도시한 블록도, 그리고,
도 17은 본 실시 예에 따른 데이터 송수신 방법을 도시한 흐름도,
도 18은 매칭 테이블의 전달 동작을 설명하기 위한 도면이다.
이하 도면을 참조하여 본 발명에 대하여 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 서버 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 실시 예에 따른 서버 시스템(1000)은 스토리지 시스템(100) 및 마이크로 서버(200)로 구성된다.
스토리지 시스템(100)은 저장 매체를 포함하며, 저장 매체에 저장된 데이터를 마이크로 서버(200)에 제공하거나, 마이크로 서버(200)에서 제공된 데이터를 저장 매체에 저장할 수 있다. 스토리지 시스템(100)의 구체적인 구성 및 동작에 대해서는 도 5를 참조하여 설명한다.
마이크로 서버(200)는 복수의 프로세서 모듈을 이용하여 다른 컴퓨터에 서비스를 제공하는 컴퓨터 시스템으로, 복수의 프로세서 모듈과 외부의 I/O 디바이스를 연결하기 위한 공통 인터페이스 버스를 포함한다. 그리고 마이크로 서버(200)는 상술한 공통 인터페이스 버스를 이용하여 스토리지 시스템(100)과 데이터를 송수신한다. 마이크로 서버(200)의 구체적인 구성 및 동작에 대해서는 도 15를 참조하여 후술한다.
이상과 같이 본 실시 예에 따른 서버 시스템(1000)은 공통 인터페이스 버스를 이용하여 마이크로 서버(200)와 스토리지 시스템(100)이 통신을 수행하는바, 부가적인 컨트롤러(예를 들어, FC, 이더넷) 없이 통신을 수행할 수 있다. 또한, 스토리지 시스템(100)이 마이크로 서버(200) 내의 버스에 직접 연결되는바, 빠른 응답이 가능하다.
한편, 도 1을 설명함에 있어서, 스토리지 시스템(100)이 하나의 서버(200)와 연결되는 것으로 도시하였지만, 구현시에 스토리지 시스템(100)은 복수의 서버와 연결될 수 있다. 이와 같이 구현되는 경우, 스토리지 시스템과 복수의 서버는 I/O 가상화를 통하여 구현될 수 있다. 그리고 I/O 가상화를 수행하기 위한 스위치는 서버 측에 구비될 수도 있으며, 스토리지 시스템에 구비될 수 있다. 이하에서는 스위치가 서버 측에 배치되는 경우에 대해서 도 2를 참조하여 설명하고, 스위치가 스토리지 시스템에 배치되는 경우에 대해서는 도 3을 참조하여 설명한다.
도 2는 제1 실시 예에 따른 서버 시스템의 연결 구성을 도시한 블록도이다. 구체적으로, 제1 실시 예에 따른 서버 시스템은 I/O 가상화를 위한 스위치 구성이 마이크로 서버(200) 측에 배치되는 실시 예이다. 여기서 I/O 가상화란 한 개의 I/O 카드를 여러 대의 서버(또는 복수의 마이크로 서버)가 동시에 사용하는 기술을 의미한다.
도 2를 참조하면, 스토리지 시스템(100)은 저장부(160), I/O 제어부(170) 및 BMC부(190)로 구성된다.
저장부(160)는 I/O 제어부(170)의 제어에 따라 전달되는 데이터를 저장하거나, 저장된 데이터를 I/O 제어부(170)에 제공할 수 있다. 구체적으로, 저장부(160)는 복수의 저장 매체로 구성되며, 저장 매체는 HDD(hard disk drive) 또는 SSD(Solid State Disk)일 수 있다. 한편, 구현시에 저장부(160)는 복수의 HDD만으로 구성되거나, 복수의 SSD로 구성될 수 있을 뿐만 아니라, HDD와 SSD의 혼합으로도 구현될 수도 있다.
I/O 제어부(170 또는 I/O adapter)는 마이크로 서버(200)와 데이터를 송수신하며, 송수신된 데이터를 저장부(160)에 송수신한다. 구체적으로, I/O 제어부(170)는 마이크로 서버(200)의 스위치(300)에 공통 인터페이스 방식(예를 들어, PCI express)으로 연결되고, 저장부(160)와 기설정된 인터페이스 방식으로 연결된다. 저장부(160)와 I/O 제어부(170) 간의 연결 상태에 대해서는 도 4를 참조하여 후술한다.
마이크로 서버(200)는 복수의 프로세서 모듈(Processor Module)(210, 220, 230), 스위치(300) 및 I/O 디바이스부(240)로 구성될 수 있다.
프로세서 모듈(Processor Module)(210, 220, 230)은 하나 이상의 CPU(Cetral Processing Unit), 기억장치, 운영 체계 등 서버의 핵심 요소를 내장하는 장치로, 도 15와 같이 본체로부터 전원 등을 지원받아 서버로서의 기능을 수행한다. 프로세서 모듈의 구체적인 구성 및 기능에 대해서는 도 16을 참조하여 후술한다.
I/O 디바이스부(240)는 적어도 하나의 I/O 카드를 포함하고, 마이크로 서버(200) 외부와 데이터를 송수신한다. 여기서 I/O 카드는 Ethernet Card, Fiber Channel Card 등으로 구현될 수 있다.
그리고 I/O 디바이스부(240)는 외부의 장치 또는 외부의 네트워크 등으로 데이터를 수신하거나, 송신할 수 있다.
여기서 데이터는 PCI Express 인터페이스를 통하여 복수의 프로세서 모듈(210, 220, 230)에 송수신될 수 있으며, 프로세서 모듈(400)과의 연결은 스위치부(240)에서 제어할 수 있다.
스위치부(300)는 I/O 디바이스부(240)와 복수의 프로세서 모듈(210, 220, 230)을 선택적으로 연결할 수 있다. 구체적으로, 스위치부(300)는 메인 컨트롤러(201)의 제어에 따라 I/O 디바이스부(240)로부터 수신된 데이터를 복수의 프로세서 모듈(210, 220, 230) 중 어느 하나를 선택하여 연결함으로써 데이터를 전송할 있게 한다. 여기서 스위치부(300)는 SR-IOV(Single Root - Input output virtualization) 또는 MR-IOV(Multi Root - Input output virtualization)를 지원하는 로직일 수 있다.
그리고 스위치부(300)는 스토리지 시스템(100)과 복수의 프로세서 모듈(210, 220, 230)을 선택적으로 연결할 수 있다. 구체적으로, 스위치부(300)는 메인 컨트롤러(201)의 제어에 따라 스토리지 시스템(100)의 I/O 제어부(170)로부터 수신된 데이터를 복수의 프로세서 모듈(210, 220, 230) 중 어느 하나를 선택하여 연결함으로써 데이터를 전송할 있게 한다.
한편, 스위치부(300)는 PCI Express 스위치 회로(또는 MRA PCIe switch)로 구성될 수 있으며, 복수의 프로세서 모듈(210, 220, 230)과 적어도 하나의 I/O 카드(End point device)의 연결관계를 선택적으로 조정할 수 있다.
이러한 스위치부(300)는 I/O 가상화 기술을 구현할 수 있다. 여기서, I/O 가상화 기술이란, 한 개의 I/O 카드를 여러 대의 프로세서 모듈(또는 CPU보드), Root Complex가 PCie 버스를 통해 연결되어 동시에 사용하는 기술을 의미한다.
한편, 도 2를 도시함에 있어서, 스토리지 시스템(100)이 저장부(160) 및 I/O 제어부만이 포함되는 것으로 도시하였지만, 구현시에는 다양한 다른 구성이 포함될 수 있다. 이에 대해서는 도 5를 참조하여 후술한다. 또한, 마이크로 서버(200)가 마이크로 모듈, 스위치 및 I/O 디바이스부만이 포함되는 것으로 도시하였지만, 구현시에는 다양한 다른 구성이 포함될 수 있다.
도 3은 제2 실시 예에 따른 서버 시스템의 연결 구성을 도시한 블록도이다. 구체적으로, 제2 실시 예에 따른 서버 시스템은 I/O 가상화를 위한 스위치 구성이 스토리지 시스템(100) 측에 배치되는 실시 예이다.
도 3을 참조하면, 스토리지 시스템(100')은 스위치(300), 저장부(160), I/O 제어부(170)로 구성된다. 제2 실시 예에 따른 스토리지 시스템(100')은 스위치(300) 구성이 더 포함된다는 점을 제외하고는 제1 실시 예와 동일한바, 저장부(160), I/O 제어부(170)에 대한 설명은 생략한다.
스위치부(300')는 PCI Express 방식으로 복수의 서버(210, 200, 230)와 연결된다. 그리고 PCI Express 방식으로 I/O 제어부(170)와 연결된다.
그리고 스위치부(300')는 I/O 제어부(170)와 복수의 서버(210, 220, 230)를 선택적으로 연결할 수 있다. 구체적으로, 스위치부(300')는 스토리지 시스템(100')의 I/O 제어부(170)로부터 수신된 데이터를 복수의 서버(210, 220, 230) 중 어느 하나를 선택하여 연결함으로써 데이터를 전송할 있게 한다.
한편, 스위치부(300')는 PCI Express 스위치 회로(또는 MRA PCIe switch)로 구성될 수 있으며, 복수의 서버(210, 220, 230)와 적어도 하나의 I/O 제어부(170)의 연결 관계를 선택적으로 조정할 수 있다. 이러한 스위치부(300')는 I/O 가상화 기술을 구현할 수 있다.
도 4는 도 3의 저장부(160)와 I/O 제어부(170) 간의 연결 상태를 설명하기 위한 도면이다.
도 4를 참조하면, 저장부(160)는 복수의 저장 매체로 구성된다. 그리고 복수의 저장 매체 각각은 복수의 그룹으로 그루핑될 수있다. 구체적으로, 복수개의 저장매체로 구성되는 저장부를 가상화하여 공유하기 위하여, 복수의 저장 매체를 복수의 영역으로 구분할 수 있다. 구분된 영역은 각각 private block과 Virtual block일 수 있다. 여기서 Private block는 운영체제가 저장되는 영역으로 특정 서버에 할당되어 있는 영역이며, virtual 영역은 각 서버가 공유할 수 영역이다. 이와 같은 각 영역의 정보는 매핑 테이블로 관리되며, 매핑 테이블(또는 매칭 테이블)은 외부의 관리 서버가 수정할 수 있다.
따라서, I/O 제어부(170)는 각 서버가 할당된 저장매체의 블록을 매칭하는 매핑 테이블을 사용하여 저장 매체 영역을 서버에 할당해 준다.
여기서, 매칭 테이블 정보는 BMC부를 통해 외부 관리 서버에서 제어 가능하며, BMC부의 IPMI에서는 외부 관리 서버에 저장매체의 포맷 정보, 파티션 정보, 블록 사용정보, 설치된 OS 정보 등을 제공하면, HDD의 파티션 설정, 블록 변경, 매칭 블록의 크기 및 재설정 등의 서비스를 제공할 수 있다.
그리고 외부 관리 서버에서 설정된 매칭 테이블은 S-BMC와 TMC(CPU System Management Controller)를 통해 I/O 제어부(170)와 서버 노드에 저장되어 사용될 수 있다. 구체적으로, 도 17에 도시된 바와 같이 외부 관리 서버에서 설정된 매칭 테이블은 S-BMC를 통하여 스토리지 시스템(100)에 직접 전달될 수 있으며, 서버에 전달되고, 서버에서 TMC를 통해 I/O 제어부(170)에 전달될 수도 있다.
도 5는 제1 실시 예에 따른 스토리지 시스템의 구성을 도시한 블록도이다.
도 5를 참조하면, 본 실시 예에 따른 스토리지 시스템(100)은 보드부(110), 기타부(102), 전원부(120), 통신부(130), 센서부(140), 팬부(150), 저장부(160), I/O 제어부(170), 마이컴부(180) 및 BMC부(190)로 구성된다. 이러한 스토리지 시스템(100)은 19인지 표준 랙에 설치 가능한 크기(19" x 39")를 가질 수 있다. 한편, 도시된 예에서는 스토리지 시스템(100)이 도 3과 같은 스위치를 포함하지 않지만, 구현시에는 도 3과 같이 스위치 구성을 더 포함할 수 있다.
보드부(110)는 스토리지 시스템(100)의 각종 구성이 배치되는 PCB(Printed Circuit Board)이다. 여기서, 보드부(110)는 양면에 도전성 층을 갖는 양면 PCB 기판일 수 있으며, 패턴용 레이어가 내부에 매립되어 있는 다층 PCB 기판일 수 있다. 보드부(110)는 표준 서버 사이즈(2U)에 장착 가능한 사이즈(예를 들어, 16.3" x 32.6")를 가질 수 있다.
그리고 보드부(110)는 스토리지 시스템(100) 내의 각 구성과 물리적/전기적으로 연결되기 위한 슬롯을 포함한다. 구체적으로, 보드부(110)는 전원 슬롯(111), 통신 커넥터(112), 환풍 커넥터(113), 스토리지 슬롯(114), 보조 커넥터(115), I/O 슬롯(116) 등을 포함할 수 있다. 각 슬롯의 기능 및 동작에 대해서는 도 7 및 도 8을 참조하여 후술한다.
그리고 보드부(110)는 스토리지 시스템(100) 내의 각 구성 간의 신호를 전달하기 위한 회로 기판 상(즉, PCB) 상의 패턴을 포함한다. 구체적으로, 보드부(110)는 저장부(160)와 I/O 제어부(170) 간의 신호를 전달하는 제1 패턴 및 I/O 제어부(170)와 통신부(130) 간의 신호를 전달하는 제2 패턴을 포함할 수 있다. 이상에서는 제1 패턴 및 제2 패턴만을 설명하였지만, 마이콤과 BMC 간의 신호 전달을 위한 패턴, BMC와 I/O 제어부 간의 신호 전달을 위한 패턴, 마이콤과 센서부 간의 신호 전달을 패턴 등이 더 배치될 수 있다. 이러한 패턴들은 기판의 상면 및/또는 하면에 배치될 수 있으며, 경우에 따라서는 PCB 기판의 내부 레이어에 배치될 수도 있다.
그리고 보드부(110)는 전원부(120)를 통하여 전원을 입력받으며, 입력받은 전원을 스토리지 시스템(100) 내의 각 구성에 회로 기판상의 패턴을 통하여 제공한다.
전원부(120)는 스토리지 시스템(100) 내의 각 구성에 전원을 공급한다. 구체적으로, 전원부(120)는 스토리지 시스템(100)에서 요구되는 최대 전력용량보다 과잉된 전력 용량을 갖도록, 복수의 파워서플라이를 구비할 수 있다. 그리고 전원부(120)는 복수의 파워서플라이를 전류 공유 방식으로 구동하여, 스토리지 시스템(100) 내의 각 구성에 전원을 공급할 수 있다. 그리고 전원부(120)는 스토리지 시스템(100)에서 부하 크기에 따라 복수의 파워서플라이 중 일부만을 이용하여 스토리지 시스템(100)에 전원을 공급할 수 있다.
그리고 전원부(120)는 보드부(110)에 형성된 슬롯을 통하여 장착 및 탈착이 가능하다. 이 슬롯을 통하여, 전원부(120)는 AC 연결 여부, PSU의 장착 여부, 에러 여부, 입/출력 전류/전압, 온도 정보를 BMC부(190)에 제공할 수 있다.
통신부(130)는 마이크로 서버(200)와 통신을 수행한다. 구체적으로, 통신부(130)는 PCI Express 인터페이스 방식으로 마이크로 서버(200)와 통신을 수행할 수 있다. 한편, 본 실시 예에서는 PCI Express 인터페이스 방식으로 마이크로 서버(200)와 통신하는 것으로 설명하였지만, 공통 인터페이스 방식이 PCI Express 이외의 인터페이스 방식 이외인 경우, 다른 인터페이스 방식으로 통신을 수행할 수 있다.
그리고 통신부(130)는 관리 서버(10)와 통신을 수행한다. 구체적으로, 통신부(130)는 네트워크 컨트롤러 및 LAN 포트를 포함하며, BMC부(190)가 관리 서버(10)와 통신을 수행할 수 있도록 한다. 여기서 통신부(130)는 마이크로 서버(200)의 서비스를 수행하는 네트워크 채널과 분리된 서버 관리용 네트워크 채널(OOB(Out of band)을 통하여 관리 서버(10)와 통신을 수행할 수 있다.
한편, 본 실시 예에서는 유선의 LAN 포트를 통하여 관리 서버(10)와 통신을 수행하는 것으로 설명하였지만, LAN 방식 이외의 다른 유선 통신 방식뿐만 아니라, 무선 통신 방식으로 관리 서버(10)와 통신을 수행하는 형태로도 구현될 수 있다. 또한, 본 실시예에서는 스토리지 시스템(100)이 직접 네트워크 컨트롤러 등을 구비하여, 관리 서버(10)와 통신을 수행하는 것으로 설명하였지만, 구현시에는 마이크로 서버(200)에 구비된 I/O 디바이스를 통하여 외부 장치와 통신하는 형태로도 구현될 수 있다. 한편, 본 실시 예에서는 마이크로 서버(200)와 관리 서버(10)가 다른 구성인 것으로 설명하였지만, 구현시에 마이크로 서버(200)가 관리 서버(10)의 기능을 함께 수행할 수도 있다.
센서부(140)는 스토리지 시스템 내부에 배치되는 복수의 센서를 포함하고, 센서에서 감지된 센싱 값을 마이콤부(180)에 제공할 수 있다. 여기서 센서는 온도 센서일 수 있으나, 이에 한정되는 것은 아니다. 한편, 마이콤부(180)가 복수의 마이콤으로 구성되는 경우, 복수의 센서는 마이콤 수에 대응되는 그룹으로 구분되고, 구분된 각 그룹은 대응되는 마이콤에 센싱 값을 전달할 수 있다.
팬부(150)는 스토리지 시스템(100) 내부에 공기를 유입시킨다. 구체적으로, 팬부(150)는 스토리지 시스템(100)의 전면에 배치되며, 외부의 공기를 스토리지 시스템(100) 내부로 유입하여 스토리지 시스템(100)을 쿨링할 수 있다. 이러한 팬부(150)의 동작은 후술할 마이콤부(180)에 의해서 제어될 수 있다.
저장부(160)는 I/O 제어부(170)의 제어에 따라 전달되는 데이터를 저장하거나, 저장된 데이터를 I/O 제어부(170)에 제공할 수 있다. 구체적으로, 저장부(160)는 복수의 저장 매체로 구성되며, 저장 매체는 HDD(hard disk drive) 또는 SSD(Solid State Disk)일 수 있다. 한편, 구현시에 저장부(160)는 복수의 HDD만으로 구성되거나, 복수의 SSD로 구성될 수 있을 뿐만 아니라, HDD와 SSD의 혼합으로도 구현될 수도 있다.
한편, I/O 제어부(170)가 복수의 구성으로 구성되는 경우, 복수의 저장 매체는 I/O 제어부의 수에 대응되는 그룹으로 구분되고, 구분된 각 그룹은 대응되는 I/O 제어부와 데이터를 송수신할 수 있다. 예를 들어, 본 실시 예에서는 96개의 저장 매체가 스토리지 시스템(100)에 배치될 수 있으며, 2개의 I/O 제어부가 각각 48개의 저장 매체와 통신을 송수신할 수 있다.
저장부(160)를 구성하는 복수의 저장 매체 각각은 보드부(110)에 형성된 슬롯을 통하여 장착 및 탈착이 가능하다. 저장 매체와 보드부(110) 간의 연결 방식에 대해서는 도 12를 참조하여 후술한다.
그리고 저장부(160)는 I/O 제어부(170)로 전송되는 신호에 대해서 디-엠파시스 처리를 수행하고, I/O 제어부(170)로부터 수신된 신호에 대해서는 이퀄라이저 처리를 수행할 수 있다.
I/O 제어부(170 또는 I/O adapter)는 통신부(130)를 통하여 마이크로 서버(200)와 데이터를 송수신하며, 송수신된 데이터를 저장부(160)에 송수신한다. 구체적으로, I/O 제어부(170)는 마이크로 서버(200)가 복수의 저장 매체의 저장 공간을 공유하여 이용하도록 할 수 있다. 구현시에는 복수의 마이크로 서버(200)가 복수의 저장 매체의 저장 공간을 이용하도록 할 수도 있다.
I/O 제어부(170)는 서버와 공통 인터페이스 버스 방식으로 데이터를 송수신하며, 송수신된 데이터를 저장부와 상기 저장 매체가 사용하는 통신 인터페이스 방식으로 송수신한다. 구체적으로, I/O 제어부(170)는 공통 인터페이스 버스를 통하여 수신되는 신호를 기설정된 통신 인터페이스에 대응되도록 변환하고, 저장 매체를 통하여 수신되는 신호를 공통 인터페이스 버스에 대응되게 변환한다. 이러한 공통 인터페이스 버스는 PCI Express 버스이고, 기설정된 인터페이스 버스는 SAS(Serial Attached SCSI), SATA(Serial ATA) 및 NVMe(Non Volatile Memory express) 중 적어도 하나의 인터페이스 버스일 수 있다.
I/O 제어부(170)는 기설정된 매핑 테이블에 따라 복수의 저장 매체와 서버 간의 데이터를 송수신한다. 예를 들어, 특정 서버 A로부터 데이터의 전송이 수신되면, I/O 제어부(170)는 특정 서버 A에 할당된 저장 영역을 매핑 테이블을 이용하여 검색하고, 검색된 저장 영역에 해당하는 저장 매체에 데이터의 송수신을 수행할 수 있다. 이러한 매핑 테이블은 외부 관리 서버로부터 BMC부를 통하여 수신될 수 있으며, 서버로부터 직접 수신될 수도 있다.
그리고 I/O 제어부(170)는 보드부(110)에 형성된 슬롯을 통하여 장착 및 탈착이 가능하다. 구체적으로, I/O 제어부(170)와 보드부(110) 간의 연결 방식에 대해서는 도 9 및 도 10을 참조하여 후술한다.
I/O 제어부(170)는 공통 인터페이스 버스의 대역폭을 조정한다. 구체적으로, I/O 제어부(170)는 마이크로 서버(200)와의 채널 수에 따라 마이크로 서버(200)와의 공통 인터페이스 버스의 대역폭을 조정할 수 있다. 한편, 스토리지 시스템(100)이 복수의 서버와 연결되는 경우, I/O 제어부(170)는 복수의 서버 간의 대역폭을 조정할 수 있다.
I/O 제어부(170)는 데이터를 이중화하고, 이중화된 데이터를 복수의 저장 매체에 저장할 수 있다. 구체적으로, I/O 제어부(170)는 RAID(Redundant Array of Independent Disks)의 기능을 지원할 수 있다. 여기서 RAID란 여러 개의 저장 매체를 하나의 저장 매체처럼 사용하여 일부 중복된 데이터를 나눠서 저장하는 기술이다.
그리고 I/O 제어부(170)는 저장 매체 또는 서버로 전송되는 신호에 대해서 디-엠파시스 처리를 수행하고, 저장 매체 또는 서버로부터 수신되는 신호에 대해서는 이퀄라이저 처리를 수행할 수 있다.
구체적으로, 시리얼 버스는 한번에 하나의 비트 단위로 데이터를 전송하는 인터페이스를 의미하며, 최근의 시리얼 버스는 고속으로 동작한다는 점에서, ISI(Inter-symbol-Interference, 또는 부호 간 간섭), 표피 효과(Skin-Effect, 또는 전파 효과), 유전 손실(electric loss) 등이 발생한다. 여기서 표피 효과는 전도성이 강한 물질에서 유동검층이 수행될 때 관찰되는 전도도의 감소 또는 전기비저항의 증가 현상을 의미하고, 유전 손실은 유전체에 교류 전계를 가했을 때 생기는 손실이다. 그리고 ISI는 전송로나 증폭기에 의한 대역 제한이나 전송로의 위상 특성의 비직선성에 의해 어느 타임 슬롯의 심벌 파형이 다른 타임 슬롯의 심벌 파형에 영향을 미치는 간섭을 의미한다.
이와 같은 ISI는 디-엠파시스(De-emphasis) 기술 또는 이퀄라이저(equalizer) 기술을 이용하여 보정을 수행할 수 있다. 구체적으로, 시리얼 버스의 송신 단(예를 들어, 저장 매체의 출력단(Tx), I/O 제어부의 출력단)에서는 디-엠파시스 기술을 이용하여 ISI의 영향을 고려하여 신호를 전송하고, 시리얼 버스의 수신 단(예를 들어, 저장 매체의 수신단(Rx), I/O 제어부의 수신단)에서는 이퀄라이저 기술을 이용하여 수신된 파형을 개선할 수 있다.
그리고 I/O 제어부(170)는 저장 매체에 대한 핫스와프를 지원한다. 여기서 핫스와프는 운용 중인 시스템 전체의 동작에는 영향을 미치지 않으면서 장치나 부품을 교체할 수 있는 기능이다. 이와 같은 기능이 지원되기 때문에, 스토리지 시스템(100)이 동작 중인 경우에도 저장매체에 대한 교체/복구를 수행할 수 있다.
그리고 I/O 제어부(170)는 HDD가 저장 매체로 이용되는 경우, 스토리지 시스템의 전체 전력 부하를 줄이기 위해 각 HDD를 순차적으로 구동하도록 저장부(160)를 제어할 수 있다. 구체적으로, 초기 하드의 스핀 업 과정 중의 전력 소비로 인한 시스템 불안정성을 방지하기 위하여, I/O 제어부(170)는 복수개의 HDD를 순차적으로 구동시킨다(Staggered drive spin-up).
I/O 제어부(170)는 마이크로 서버(200)와의 저장 매체 간의 데이터를 일시적으로 저장하는 메모리를 포함할 수 있다. 여기서 메모리는 1G 이상의 램(RAM) 또는 플래쉬(flash) 메모리일 수 있다.
마이콤부(180)는 복수의 저장 매체의 상태 정보 및 스토리지 시스템 내부의 상태 정보를 수집하여 BMC부(190)에 제공한다. 여기서 저장 매체의 상태 정보는, HDD의 S.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology) 정보이고, 스토리지 내부의 상태 정보는 센서부(140)에서 감지된 온도, 전원부(120)의 전원 공급 상태 등이다. 그리고 S.M.A.R.T 정보는 헤드의 높이, 데이터 전송속도, 디스크 RPM 속도, 섹터 수, 접근에러율, 접근 속도, 하드 정지 횟수 등 기본적인 기계적인 이상을 파악하여, 고장에 대한 가능성을 미리 알려주는 HDD의 자가진단 정보이다.
그리고 마이콤부(180)는 BMC부(190)에서 제공되는 명령에 따라 스토리지 시스템 내부의 동작을 제어한다. 구체적으로, 스토리지 시스템(100) 내의 높은 온도 값이 센서부(140)를 통하여 입력되어 BMC부(190)에 제공되면, BMC부(190)은 팬부(150)의 동작 제어 명령을 송신하고, 이를 수신한 마이콤부(180)는 팬부(150)를 제어할 수 있다. 한편, 구현시에 마이콤부(180)는 복수의 마이콤으로 구분될 수 있다.
BMC부(190)는 스토리지 시스템에 대한 IPMI 서비스를 제공한다. BMC부(190)는 BMC(Baseboard management controller)를 포함한다. 여기서 BMC란 IPMI를 지원하는 서버 또는 스토리지 시스템에 장착되는 마이크로프로세서로, 마이콤부(180)에서 수집된 정보 및 복수의 저장 매체로부터 수집된 매체 관리정보를 관리 서버(10)에 제공하고, 관리 서버(10)에서 제공받은 제어 명령을 마이콤부(180)에 제공하여, 시스템 내의 온도 및 전력을 관리할 수 있다. 이때, BMC부(190)는 복수의 저장 매체를 복수의 그룹으로 구분하고, 그룹별로 다른 전원 관리 및 동작 관리를 수행할 수 있다. 여기서, 매체 관리 정보는 저장 매체의 제조사, 용량, 속도, 에러 내역, 온도, 헬스(Health) 등의 정보이다.
여기서 IPMI는 임베디드 관리 하위 시스템이 통신할 수 있는 특정 방법을 정의하는 개방형 표준 하드웨어 관리 인터페이스 규격으로, 프로세서 모듈에 대한 모니터링(monitoring), 로깅(logging), 리커버리(recovery), 인벤토리(inventory) 및 하드웨어 제어를 수행하는 것이다. 한편, 본 실시 예에서는 하나의 BMC부가 복수의 마이콤의 상태 정보를 취합하여 관리 서버(10)에 전송하는 것으로 설명하였지만, 복수의 BMC부를 이용하는 형태도 가능하다.
그리고 BMC부(190)는 관리 서버(10)로부터 디스크 할당 요청을 수신하면, I/O 제어부(170)에게 디스크 자원의 할당을 요청할 수 있다. 이때, BMC부(190)와 I/O 제어부(170)는 SMBus 인터페이스를 통하여 연결될 수 있다.
여기서 SMBus(System management Bus) 인터페이스란 마더보드에 있는 저속도 장치들과 통신하는데 사용하는 간단한 2선 버스로, 클럭, 데이터, 명령을 전달하며 I2C직렬 버스 프로토콜에 기반한 인터페이스이다.
그리고 BMC부(190)는 저장 매체로부터 수신된 매체 관리 정보를 기초로 각각의 저장 매체의 부하에 따른 디스크 재설정 또는 디스크 변경을 통합관리 솔루션에 요청할 수 있다. 예를 들어, 랜덤 액세스 빈도가 높은 호스트(서버)에 액세스 속도가 빠른 SSD 자원을 할당하고, 쓰기 빈도가 높은 호스트(서버)에 HDD 자원을 할당할 수 있다.
이상과 같이 본 실시 예에 따른 스토리지 시스템(100)은 공통 인터페이스 방식으로 마이크로 서버와 통신을 수행하는바, 스토리지 시스템(100)이 통신을 수행하는바, 부가적인 컨트롤러(예를 들어, FC, 이더넷) 없이 통신을 수행할 수 있다. 또한, 스토리지 시스템(100)이 마이크로 서버(200) 내의 버스에 직접 연결되는바, 빠른 응답이 가능하다.
그리고 본 실시 예에 따른 스토리지 시스템(100)은 케이블의 이용 없이 저장 매체와 I/O 제어부를 연결하는바, 스토리지 시스템 내의 연결 구조를 단순화할 수 있다. 이에 따라 많은 수의 저장 매체를 배치하는 것이 가능하다. 또한, I/O 제어부가 슬롯을 통하여 장착 또는 탈착이 가능한바, 시스템의 업그레이드 시에 I/O 제어부의 교체만으로 손쉽게 업그레이드를 수행할 수 있게 된다. 또한, 케이블 없이 연결 구조가 단순화되어 시스템의 쿨링 효과가 개선할 수 있게 된다.
도 6은 도 1의 스토리지 시스템의 형상을 도시한 블록도이다.
도 6을 참조하면, 새시(101)는 스토리지 시스템(100)을 감싼다. 이러한 새시(101)는 19인치 표준 랙에 설치 가능한 가로 및 세로 크기(19" x 3.5", 39"(WxHxD))를 가질 수 있다.
새시(101)의 앞 단에는 외부 공기를 스토리지 시스템(100) 내부에 공급하는 팬부(150)가 배치된다. 도시된 예에서는 새시(101)의 앞 단에만 팬부가 배치되는 것으로 도시하였지만, 구현시에는 새시(101)의 후단 및 측면에도 배치될 수도 있다.
그리고 서버와 통신을 수행하는 통신부(130), 전원을 공급하는 전원부(120)는 새시(101)의 후단에 배치된다. 여기서 통신부(130)는 마이크로 서버(200)와 PCI express 케이블 규격에 따른 케이블을 통하여 연결될 수 있다.
한편, 도 6을 설명함에 있어서, 본 실시 예에 따른 스토리지 시스템(100)이 19인치 표준 랙에 설치되는 크기를 갖는 것으로 설명하였지만, 구현시에는 19인치 표준 랙 이외의 크기로도 구현될 수도 있다.
도 7 및 도 8은 도 5의 보드부의 형상을 도시한 도면이다.
도 7 및 도 8을 참조하면, 보드부(110)는 표준 서버 랙에 장착 가능한 직사각형의 형태를 가지며, 후단에 전원부(120)가 배치될 수 있도록 홈이 구비된다.
보드부(110)의 상부면 및/또는 하부 면에는 스토리지 시스템(100) 내의 각 구성 간의 신호 전달을 위한 패턴이 배치될 수 있다. 이러한 패턴은 회로 기판 내의 레이어에 있을 수 있다.
그리고 보드부(110)는 스토리지 시스템(100) 내의 각 구성과 전기적/물리적으로 연결하기 위한 커넥터/슬롯이 배치된다. 구체적으로, 보드부(110)는 전원 슬롯(111), 통신 커넥터(112), 팬 커넥터(113), 스토리지 슬롯(114), 보조 커넥터(115), I/O 슬롯(116)을 포함할 수 있다.
전원 슬롯(111)은 전원부(120)의 각종 단자를 보드부(110)에 물리적/전기적으로 연결하기 위한 슬롯으로, 전원 슬롯(111)을 통하여 전원부(120)의 전원이 스토리지 시스템(100) 내의 각 구성에 전달된다. 그리고 전원 슬롯(111)의 통하여, 마이콤부(180)가 전원부(120)의 동작 상태를 감지하고, 전원부(120)의 동작을 제어할 수 있다.
통신 커넥터(112)는 스토리지 시스템(100)을 마이크로 서버(200)와 물리적/전기적으로 연결하기 위한 커넥터로, 서버와 용이한 연결을 위하여 보드부(110)의 후단 쪽에 배치된다. 이러한 통신 커넥터는 PCI Express 케이블 규격에 따른 케이블과 연결 가능한 커넥터일 수 있다. 한편, 본 실시 예에서는 마이크로 서버(200)와의 연결을 위한 통신 커넥터(112)만을 도시하고 설명하였지만, 구현시에는 이더넷 또는 관리 서버(10)와 연결되기 위한 추가적인 커넥터가 배치될 수도 있다.
팬 커넥터(113)는 팬부(150)의 각종 단자를 보드부(110)에 물리적/전기적으로 연결하기 위한 커넥터로, 팬부(150)와 용이한 연결을 위하여 보드부(110)의 앞 단 족에 배치된다. 그리고 팬 커넥터(113)는 전원부(120)의 전원을 팬부(150)에 전달한다. 그리고 팬 커넥터(113)를 통하여 마이콤부(180)가 팬부(150)의 동작 상태를 감지하고, 팬부(150)의 동작을 제어할 수 있다.
스토리지 슬롯(114)은 저장 매체를 보드부(110)에 물리적/전기적으로 연결하기 위한 커넥터로, SATA 커넥터일 수 있다. 그리고 스토리지 슬롯(114)은 전원부(120)의 전원을 저장 매체로 전달하고, 저장 매체와 I/O 제어부(170) 간의 입/출력 포트를 연결한다.
한편, 슬롯(114)은 보드부(110) 상에 배치되는바, 저장 매체는 길이 방향(저장 매체의 가장 긴 길이를 갖는 면이 보드부에 대해서 수직되는 방향)으로 배치된다. 이러한 경우, 스토리지 시스템(100)의 높이가 저장 매체의 길이 방향보다 높아질 수 있는바, 스토리지 시스템(100)의 높이를 줄이기 위하여, 보조 기판을 이용하여, 저장 매체를 가로 방향(저장 매체의 두 번째 긴 길이)으로 배치할 수 있다. 보조 기판을 이용하는 예에 대해서는 도 12를 참조하여 후술한다.
한편, 본 실시 예에 따른 스토리지 시스템(100)은 도 8에 도시된 바와 같이 19인치 표준 랙의 너비에 48 개의 스토리지 슬롯을 구비할 수 있으며, 각 슬롯은 두 개의 저장 매체와 연결이 가능하다. 따라서, 본 실시 예에 따른 스토리지 시스템(100)은 96개의 저장 매체를 이용할 수 있다.
한편, 96개의 저장 매체를 하나의 I/O 보드를 이용하는 경우, 연결에 어려움이 있을 수 있는, 본 실시 예에 따른 스토리지 시스템(100)은 두 개의 I/O 제어부(170-1, 170-2) 및 두 개의 마이컴을 이용한다. 한편, 본 실시 예에서는 복수의 저장 매체를 두 개의 그룹으로 구분하였지만, 구현시에는 그룹 구분없이 하나로 구현할 수도 있으며, 세 개 이상의 그룹으로 구분하여 이용할 수도 있다. 한편, 구분된 그룹별로는 BMC을 이용하여, 그룹별 다른 전원 제어/동작 제어를 수행할 수 있다.
보조 커넥터(115)는 종래의 I/O 제어부와의 호환성을 위한 커넥터이다. 구체적으로, 종래 기술 영역에서 설명한 바와 같이 종래에는 케이블을 통하여 I/O 제어부와 저장 매체를 연결하였다. 따라서, 본 실시 예에서는 종래의 I/O 제어부와의 호환을 위하여, 즉, 종래의 I/O 제어부는 케이블만을 이용하여 저장 매체와 연결할 수 있는바, 보드부(110)의 일 측에 저장 매체와 I/O 제어부 간의 패턴과 접속하는 보조 커넥터(115)를 배치하였다.
그리고 보조 커넥터(115)는 스토리지 시스템(100) 내의 공기 흐름을 방해하지 않기 위하여, 보드부(110)의 양끝단에 배치된다. 이러한 보조 커넥터는 4port SATA/SAS 커넥터일 수 있다. 한편, 이러한 보조 커넥터는 호환성을 위한 것일 뿐 필수 구성은 아닌바, 구현시에 생략될 수 있다.
I/O 슬롯(116)은 I/O 제어부(170)를 보드부(110)에 물리적/전기적으로 연결하기 위한 슬롯으로, 제1 슬롯 및 제2 슬롯으로 구성될 수 있다. 이에 대해서는 도 9 및 도 10을 참조하여 이하에 설명한다.
도 9는 I/O 제어부(170)와 보드부(110)의 연결 방식을 구체적으로 도시한 도면이고, 도 10은 도 1의 I/O 제어부(170)의 형상을 도시한 도면이다.
도 9 및 도 10을 참조하면, I/O 제어부(170)는 서브 보드(161) 및 칩(162)으로 구성된다.
서브 보드(161)는 일 측에 상호 이격되어 배치된 제1 슬롯(163) 및 제2 슬롯(164)을 포함한다. 여기서 제1 슬롯(163)은 통신부(130)와 칩(162) 간의 신호(165)를 송수신하며, PCI Express 인터페이스의 핀 배치 규격을 가질 수 있다. d이러한 제1 슬롯(163)은 제1 인터페이스 버스 방식으로 서버와 I/O 제어부 간의 데이터 및 제어 명령을 송수신할 수 있다. 여기서 제1 인터페이스 버스 방식은 PCI Express 인터페이스 버스 방식일 수 있다.
여기서, PCI Express(Peripheral Component Interconnect Express) 인터페이스란 종래의 PCI(Peripheral Component Interconnect) 병렬 인터페이스 버스와 소프트웨어적인 호환성을 유지하며, 장치 간의 고속 입출력을 위한 개량된 직렬 구조의 로컬 버스 규격이다. PCI express 인터페이스는 대용량의 데이터 처리에 적합하다.
제2 슬롯(164)은 복수의 저장 매체와 칩(162) 간의 신호(166)를 송수신하며, 아래의 표 1과 같은 핀 배치를 가질 수 있다. 이러한 제2 슬롯(164)은 제2 인터페이스 버스 방식으로 복수의 저장 매체와 I/O 제어부 간의 데이터 및 제어 명령을 송수신할 수 있다. 여기서 제2 인터페이스 버스 방식은 SAS(Serial Attached SCSI) , SATA(Serial ATA) 및 NVMe(Non Volatile Memory express) 방식 중 적어도 하나의 인터페이스 버스 방식일 수 있다.
여기서 SAS 방식은, 직렬 SCSI(Serial SCSI)의 하나의 규격으로, 1비트씩 순차대로 데이터를 전송함으로써 데이터의 동기가 쉽게 이루어져 고속화가 가능한 인터페이스 방식이다.
그리고 SATA 방식은 하드 디스크 혹은 광학 드라이브와의 데이터 전송을 주요 목적으로 만든 컴퓨터 버스의 한 가지로, 4가닥의 신호선(TX-, TX+, RX-, RX+)을 이용하여 데이터를 송수신한다. 이러한 점에서, 12개의 SATA 디스크를 연결하기 위해서는 그라운드를 포함해서 총 84개의 핀이 필요 한다. 각 핀 매핑은 아래의 표 1과 같으며, 84 개의 핀은 PCI Express x4용 커넥터 1개로 구현이 가능하다.
그리고 NVMe(Non Volatile Memory express) 방식은 SSD와 같은 비휘발성 메모리를 이용하는 저장 매체를 위한 인터페이스 방식이다.
Figure pat00001
이상과 같이 본 실시 에에 따른 I/O 제어부(170)는 슬롯을 통하여 보드부(110)와 연결되는바, 시스템 상에서 I/O 제어부(170)의 장착 및 탈착이 가능하다. 따라서, 기존의 I/O 제어부를 개선된 I/O 제어부로 교체하는 것만으로 시스템을 업그레이드할 수 있는 효과가 있다.
도 9 및 도 10을 도시하고 설명함에 있어서, 제1 슬롯과 제2 슬롯이 상호 이격된 것으로 도시하였지만, 구현시에는 이격하지 않는 형태로도 구현될 수 있다. 즉, 물리적으로 하나의 슬롯을 통하여 구현될 수 있다.
도 11은 저장 매체의 배치 형태를 도시한 도면이고, 도 12는 본 실시 예에 따른 저장 모듈을 도시한 도면이다.
도 11을 참조하면, 본 실시 예에 따른 저장부(160)는 복수개의 저장모듈(160-1)로 구성된다. 이러한 저장 모듈(160-1)은 상호 기설정된 간격을 가지고 보드부(110) 상에 배치된다. 저장 모듈이 상호 기설정된 간격을 가지고 배치되는바, 팬부(150)를 통하여 유입된 공기는 스토리지 시스템(100)의 반대편까지 도달될 수 있다.
도 12를 참조하면, 하나의 저장 모듈(160-1)은 하나의 서브 보드(163) 및 브리캣(164)를 통하여 보드부(110)와 연결된다.
서브 보드(163)는 보드부(110)의 스토리지 슬롯에 탈착 및 장착이 가능하며, 저장 매체의 커넥터와 탈착 또는 장착이 가능한 두 개의 슬롯을 구비한다. 한편, 본 실시 예에서는 서브 보드(163)에 두 개의 슬롯이 구비되는 것으로 설명하였지만, 구현시에는 하나의 슬롯만이 구비될 수도 있다.
그리고 서브 보드(163)는 연결된 저장 매체의 동작 여부를 표시하는 LED(102)와 같은 표시소자가 구비될 수 있다. 이와 같은 표시소자는 저장 매체의 동작 여부 및 에러 여부 등을 표시함으로써, 관리자가 수많은 저장 매체 중 고장난 저장 매체를 손쉽게 찾을 수 있게 한다.
브래킷(164)은 두 개의 저장 매체와 서브 보드(163)를 보드부에 고정한다.
이상과 같이 저장 매체가 슬롯을 통하여 보드부와 연결될 수 있는바, 저장 매체에 대한 핫스와프(hot swap)를 지원할 수 있다. 여기서 핫스와프는 운용 중인 시스템 전체의 동작에는 영향을 미치지 않으면서 장치나 부품을 교체할 수 있는 기능이다.
한편, 본 실시 예에서는 서브 보드를 통하여 저장 매체가 보드부(110)와 연결되는 것으로 도시하였지만, 스토리지 시스템(100)의 높이가 HDD의 길이(가로, 세로 및 높이 중 가장 긴 길이)보다 높은 경우에는, 서브 보드의 이용 없이 저장 매체를 세워서 수직으로 보드부(110)에 장착할 수 있다. 이때, 저장 매체의 동작 여부를 표시하는 LED와 같은 표시소자는 보드부(110) 상에 배치될 수 있다.
한편, 도시된 예와 같이 서브 보드를 이용하는 경우, 2U 시스템에서 2.5인치 HDD를 저장 매체로 이용할 수 있다.
도 13 및 도 14는 BMC부의 전원 관리 동작을 설명하기 위한 도면이다.
도 13 및 도 14를 참조하면, BMC부(190)는 마이크로 서버(200)로부터 스토리지 시스템(100)의 제어를 위한 각종 신호(예를 들어, present/ power on / reset) 등을 수신하고, 수신된 정보에 따라 스토리지 시스템(100) 내의 복수의 저장 매체의 동작을 제어할 수 있다.
구체적으로, 복수의 저장 매체(161)는 상술한 바와 같이 복수의 그룹으로 구별될 수 있으며, 전원부(120)는 복수의 그룹별로 전원을 개별적으로 공급할 수 있다. 구체적으로, 보드부(110)는 복수의 스위치가 구비되어 있으며, BMC부(190)가 복수의 스위치의 동작을 제어함으로써, 그룹별로 전원 공급 상태를 가변할 수 있게 된다.
도 15는 도 1의 마이크로 서버의 구체적인 구성을 도시한 블록도이다.
도 15를 참고하면, 마이크로 서버(200)는 I/O(Input/Output) 디바이스부(240), 메인 컨트롤러(201), 공통 인터페이스 버스(203), 스위치부(300) 및 프로세서 모듈(Processor Module)(400)을 포함한다.
I/O 디바이스부(240)는 적어도 하나의 I/O 카드를 포함하고, 마이크로 서버(200) 외부와 데이터를 송수신한다. 여기서 I/O 카드는 Ethernet Card(240-1), Fiber Channel Card(240-2) 등으로 구현될 수 있다.
한편, I/O 디바이스부(240)는 외부의 장치(예를 들어, 관리 서버) 또는 외부의 네트워크 등으로 데이터를 수신하거나, 송신할 수 있다.
여기서 데이터는 PCI Express 인터페이스를 통하여 프로세서 모듈(400)에 송수신될 수 있으며, 프로세서 모듈(400)과의 연결은 스위치부(300)에서 제어할 수 있다. 스위치부(300)에 대한 구체적인 설명은 후술하도록 한다.
메인 컨트롤러(201)는 마이크로 서버(200)의 각 구성을 제어한다. 구체적으로, 메인 컨트롤러(201)는 I/O 디바이스부(240)를 통하여 전송된 데이터를 공통 인터페이스 버스(203)를 이용하여 각각의 프로세서 모듈(400)에 전송할 수 있도록 스위치부(300)를 제어할 수 있다.
그리고 메인 컨트롤러(201)는 공통 인터페이스 버스(203)를 통하여 스토리지 시스템(100)에서 전송된 데이터를 각각의 프로세서 모듈(400)에 전송할 수 있도록 스위치부(300)를 제어할 수 있다.
또한, 메인 컨트롤러(201)는 관리 서버(10)로부터 전송된 제어 명령을 공통 인터페이스 버스(203)를 이용하여 각각의 프로세서 모듈(400)에 전송할 수 있도록 제어할 수 있다.
그리고 메인 컨트롤러(201)는 마이크로 서버(200)에 장착된 각각 프로세서 모듈(400)을 제어하여, 웹 서버, FTP 서버, 메일 서버, 데이터베이스 서버 등 특화된 시스템을 구성할 수 있게 한다. 일 예로, 동시에 많은 사용자가 액세스하는 웹 서버로 이용되는 경우, 메인 컨트롤러(201)는 액세스되는 웹페이지에 더 많은 프로세서 모듈을 이용할 수 있도록 제어하거나, 고속의 인터넷 연결망으로 연결된 웹 캐싱용 프로세서 모듈을 이용하도록 제어하여 더욱 빠른 사용자 액세스를 처리할 수 있게 한다.
한편, 메인 컨트롤러(201)는 장착된 프로세서 모듈(400)로부터 각각의 상태정보를 수신할 수 있다. 여기서 프로세서 모듈(400)의 상태정보란, 프로세서 모듈(400)의 CPU 타입, CPU 개수 및 부트로더(boot loader) 정보 중 적어도 하나를 포함할 수 있다.
한편, 메인 컨트롤러(201)는 수신받은 상태정보를 관리 서버(10)에 전송할 수 있다. 이 경우, 관리 서버(10)는 프로세서 모듈(400)의 상태정보를 이용하여 관리자 또는 사용자에게 마이크로 서버(200)의 상태를 표시할 수 있으며, 다양한 타입의 프로세서 모듈 중 적절한 프로세서 모듈을 선택하여 리소스 할당을 할 수 있게 된다.
공통 인터페이스 버스(203)는 마이크로 서버(200)의 각 구성을 연결하는 접속 장치이다. 마이크로 서버(200)의 각 구성이 병렬로 접속되어 메인 컨트롤러(201)의 제어에 따라 쌍방향통신 혹은 반이중 통신을 수행할 수 있다. 여기서, 공통 인터페이스 버스는 PCI Express 인터페이스일 수 있다. 한편, 본 실시 예에서는 PCI Express 인터페이스만을 공통 인터페이스 버스로 이용하였지만, 다른 인터페이스가 이용될 수 있을 뿐 아니라, 다른 인터페이스 방식이 추가로 이용될 수도 있다.
여기서, PCI express(Peripheral Component Interconnect Express) 인터페이스 버스란, 종래의 PCI(Peripheral Component Interconnect) 병렬 인터페이스 버스와 소프트웨어적인 호환성을 유지하며, 장치 간의 고속 입출력을 위한 개량된 직렬 구조의 로컬 버스 규격이다. PCI express 인터페이스 버스는 대용량의 데이터 처리에 적합하다. 따라서, 본 발명의 일 실시 예에 따른 마이크로 서버(200)는 메인 컨트롤러(201)의 제어에 따라 공통 인터페이스 버스(203)의 PCI express 인터페이스 버스를 통하여 각 프로세서 모듈(400)에 데이터를 전달할 수 있다.
구체적으로, I/O 디바이스부(240)로부터 수신된 데이터는 PCI express 인터페이스를 통하여 스위치부(300)에서 선택된 프로세서 모듈(400)에 전송될 수 있다. 여기서 스위치부(300)는 메인 컨트롤러(201)의 제어를 받아 데이터를 전송할 프로세서 모듈(400)을 선택할 수 있다.
스위치부(300)는 I/O 디바이스부(240)와 복수의 프로세서 모듈(400)을 선택적으로 연결할 수 있다. 구체적으로, 스위치부(300)는 메인 컨트롤러(201)의 제어에 따라 I/O 디바이스부(240)로부터 수신된 데이터를 복수의 프로세서 모듈(400) 중 어느 하나를 선택하여 연결함으로써 데이터를 전송할 있게 한다.
그리고 스위치부(300) 스토리지 시스템(100)과 복수의 프로세서 모듈(400)을 선택적으로 연결할 수 있다.
한편, 스위치부(300)는 PCI Express 스위치 회로(또는 MRA PCIe switch)로 구성될 수 있으며, 복수의 프로세서 모듈(400)과 적어도 하나의 I/O 카드의 연결관계를 선택적으로 조정할 수 있다. 이러한 스위치부(300)는 I/O 가상화 기술을 구현할 수 있다.
스위치부(300)는 프로세서 모듈(400)과 I/O 디바이스부(240) 사이의 연결 구조를 조정할 수 있으며, I/O 디바이스부(240)와 프로세서 모듈(400)의 물리적 위치를 변경하지 않고도 프로세서 모듈(400)과 I/O 디바이스부(240)의 연결 구조를 조정할 수 있다.
그리고 스위치부(300)는 프로세서 모듈(400)과 스토리지 시스템(100)의 I/O 제어부(170) 사이의 연결 구조를 조정할 수 있으며, I/O 제어부(170)와 프로세서 모듈(400)의 물리적 위치를 변경하지 않고도 프로세서 모듈(400)과 I/O 제어부(170)의 연결 구조를 조정할 수 있다.
프로세서 모듈(400)은 공통 인터페이스 버스(203)를 통해 메인 컨트롤러(201)와 연결된다. 구체적으로 프로세서 모듈(400)은 공통 인터페이스 버스(203)와 프로세서 모듈에 탑재된 CPU가 사용하는 인터페이스 사이의 연결을 중계하는 모듈 컨트롤러를 포함한다.
상술한 바와 같이 프로세서 모듈(400)은 마이크로 서버(200)에 장착시킬 수 있는 모듈화된 고밀도 서버를 의미한다. 좁은 공간에 많은 수의 프로세서 모듈을 마이크로 서버(200)에 삽입, 설치할 수 있으며, 하나 이상의 CPU, 저장부 및 운영 체계 등 서버의 핵심 요소를 구비할 수 있다. 프로세서 모듈(400)은 마이크로 서버(200)로부터 전원, 입출력, 각종 제어 기능을 지원받아 서버로서의 기능을 수행할 수 있다.
한편, 본 발명의 마이크로 서버(200)는 공통 인터페이스 버스(203)를 통하여 서로 다른 타입의 프로세서 모듈(400)을 지원한다. 1대의 마이크로 서버(200)에 서로 다른 타입의 프로세서 모듈(400)을 장착하여, 서버의 용도에 따른 활용도를 향상시킬 수 있다.
일 예로, 고성능의 마이크로 서버(200)가 필요한 경우, 고성능의 CPU를 탑재한 프로세서 모듈(400)을 더 많이 장착할 수 있고, 저전력의 마이크로 서버(200)가 필요한 경우, 저전력의 CPU를 탑재한 프로세서 모듈(400)을 더 많이 장착하여 서버의 용도에 따른 활용도를 극대화시킬 수 있다.
여기서 프로세서 모듈(400)의 타입이란, 프로세서 모듈(400)에 장착된 CPU의 기종에 따라 정의된 타입이다.
일 예로, intel(R) 계열의 CPU를 장착한 프로세서 모듈을 intel 타입 프로세서 모듈로, ARM(R) 계열의 CPU를 장착한 프로세서 모듈을 ARM 타입 프로세서 모듈로 정의할 수 있다. 일반적으로 ARM 타입 프로세서 모듈은 저전력으로, intel 타입 프로세서 모듈은 고성능으로 특화되어 있다. 따라서, 사용자는 고성능의 마이크로 서버(200)로 활용하고 싶은 경우, intel 타입의 프로세서 모듈을 더 많이 장착시켜 사용할 수 있으며, 저전력의 마이크로 서버(200)로 활용하고 싶은 경우, ARM 타입의 프로세서 모듈을 더 많이 장착시켜 사용 가능하다.
이에 따라, 하나의 마이크로 서버(200)에 고성능의 CPU를 장착한 프로세서 모듈과 저전력의 CPU를 장착한 프로세서 모듈을 사용자의 선택에 따라 혼용하여 장착할 수 있다.
도 16은 본 발명의 일 실시 예에 따른 프로세서 모듈의 구성을 나타내는 블럭도이다.
도 16을 참고하면, 프로세서 모듈(400)은 모듈 컨트롤러(Module Controller)(410) 및 CPU(420)를 포함한다. 프로세서 모듈(400)은 마이크로 서버(200)의 베이스 보드에 장착할 수 있다.
모듈 컨트롤러(410)는 공통 인터페이스 버스(203)와 연결되어 프로세서 모듈(400)의 CPU(420)가 사용하는 인터페이스 사이의 연결을 중계한다. 구체적으로, 프로세서 모듈(400)은 장착하고 있는 CPU(420)에 대응되는 인터페이스로 설계된다. 따라서, 마이크로 서버(200)의 공통 인터페이스 버스와 통신을 하기 위하여 모듈 컨트롤러(410)는 장착하고 있는 CPU(420)에 대응되는 인터페이스 프로토콜로 제어 명령 및 데이터를 변환할 수 있다.
한편, 모듈 컨트롤러(410)는 CPU(420)의 BIU(Bus Interface Unit)에 연결되어 제어명령 및 데이터를 송수신할 수 있다.
일 예로, 프로세서 모듈(400)에 장착되어 있는 CPU의 타입이 Intel(R)인 경우, 모듈 컨트롤러(410)는 마이크로 서버(200)의 메인 컨트롤러(201)에서 전송된 제어 명령을 공통 인터페이스 버스(203)를 통하여 전달받고, 전달받은 제어 명령을 Intel(R) 타입의 CPU에 대응되는 규격의 인터페이스로 변환하여 CPU(420) 및 저장부(230)에 제공할 수 있다. 그리고 I/O 디바이스부(240)에서 전송된 데이터를 공통 인터페이스 버스(203)를 통하여 전달받고, 제어 명령과 동일한 방식으로 변환하여 CPU(420)에 제공할 수 있다.
CPU(420)는 프로세서 모듈(400)의 중앙처리장치로서, 제어 명령을 해독하고 산술논리연산이나 데이터 처리를 실행하는 장치이다. CPU(420)는 BIU(BUS INTERFACE UNIT)를 구비하여, 외부 장치와 통신을 수행할 수 있다.
CPU(420)는 제조사에 따라 아키텍처(Architecture)가 상이할 수 있다. 아키텍처란 CPU(420)의 기본 구조, 설계 방식 및 제조 공정까지 포함하는 개념으로서, 클록 속도나 코어의 수, 캐시의 용량, BIU(Bus Interface Unit)등이 결정된다. 따라서, 각각의 제조사마다의 CPU(420)의 아키텍처에 따라 인터페이스 규격이 정의되어 사용되므로, 다른 제조사의 CPU(420)를 혼용하여 사용할 수 없었다. 일 예로, 하나의 프로세서 모듈(400)에 복수의 CPU가 장착될 수 있다. 그러나 프로세서 모듈(400) 내의 인터페이스가 통일되도록 설계되어야 하기 때문에, 복수의 CPU는 각 동일한 제조사에서 설계된 동일한 타입의 CPU일 필요가 있다. 이 경우, 하나의 모듈 컨트롤러(410)의 제어에 의하여 복수의 CPU) 각각은 독립된 운영체제를 실행할 수 있다.
한편, 본 발명과 같이 모듈 컨트롤러(410)를 구비하는 경우, 마이크로 서버(200)는 설계된 공통 인터페이스 버스(203)를 사용하여 통일화된 인터페이스 규격으로 각각의 다른 타입의 CPU을 장착한 프로세서 모듈(400)과 연결될 수 있다.
도 17은 본 실시 예에 따른 스토리지 시스템의 데이터 처리 방법을 도시한 흐름도이다.
도 17을 참조하면, 먼저, 마이크로 서버로부터 데이터의 요청을 수신한다(S1710). 구체적으로, 마이크로 서버로부터 공통 인터페이스 방식으로 저장 매체에 저장된 데이터의 전송을 요청받을 수 있다.
그리고 요청된 데이터를 저장하는 저장 매체 및 해당 저장 매체의 인터페이스 방식을 판단한다(S1720).
그리고 판단된 저장 매체 및 인터페이스 방식으로 데이터를 요청하여 수신한다(S1730). 이때, 수신된 데이터는 램과 같은 버퍼에 임시 저장될 수 있다.
그리고 저장 매체로부터 수신된 데이터를 마이크로 서버에 전송한다(S1740). 구체적으로, 저장 매체로부터 수신된 데이터를 공통 인터페이스 방식을 통하여 해당 마이크로 서버에 전송할 수 있다.
이상과 같이 본 실시 예에 따른 데이터 처리 방법은 공통 인터페이스 방식으로 마이크로 서버와 통신을 수행하는바, 부가적인 컨트롤러(예를 들어, FC, 이더넷) 없이 통신을 수행할 수 있다. 또한, 스토리지 시스템(100)이 마이크로 서버(200) 내의 버스에 직접 연결되는바, 빠른 응답이 가능하다. 도 17과 같은 데이터 처리 방법은 도 5의 구성을 가지는 스토리지 시스템 상에서 실행될 수 있으며, 그 밖의 구성을 가지는 스토리지 시스템상에서도 실행될 수 있다.
또한, 상술한 바와 같은 데이터 처리 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 애플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 누구든지 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범주 내에서 본 발명의 바람직한 실시 예를 다양하게 변경할 수 있음은 물론이다. 따라서 본 발명은 특허청구범위에서 청구하는 본 발명의 요지를 벗어나지 않는다면 다양한 변형 실시가 가능할 것이며, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
1000: 서버 시스템 200: 마이크로 서버
100: 스토리지 시스템 110: 보드부
120: 전원부 130: 통신부
140: 센서부 150: 팬부
160: 저장부 170: I/O 제어부
180: 마이콤부 190: BMC부

Claims (20)

  1. 공통 인터페이스 버스를 포함하는 복수의 서버와 연결 가능한 스토리지 시스템에 있어서,
    상기 복수의 서버와 통신을 수행하는 통신부;
    기설정된 통신 인터페이스를 사용하는 복수의 저장매체를 갖는 저장부;
    '상기 복수의 저장 매체를 복수의 영역으로 구분하고, 상기 복수의 영역별 대응되는 서버의 정보를 저장하는 매핑 테이블'에 따라, 상기 복수의 저장 매체와 복수의 서버 간의 데이터를 송수신하는 I/O 제어부;를 포함하는 스토리지 시스템.
  2. 제1항에 있어서,
    상기 복수의 저장 매체는,
    특정 서버의 운영체제가 저장되는 prvite 영역 및 복수의 서버가 공용으로 사용되는 virtual 영역으로 구분된 것을 특징으로 하는 스토리지 시스템.
  3. 제1항에 있어서,
    상기 I/O 제어부는,
    상기 서버와 상기 공통 인터페이스 버스 방식으로 데이터를 송수신하며, 상기 송수신된 데이터를 상기 저장부와 상기 저장 매체가 사용하는 통신 인터페이스 방식으로 송수신하는 것을 특징으로 하는 스토리지 시스템.
  4. 제3항에 있어서,
    상기 I/O 제어부는,
    상기 공통 인터페이스 버스를 통하여 수신되는 신호를 상기 기설정된 통신 인터페이스에 대응되도록 변환하고, 상기 저장 매체를 통하여 수신되는 신호를 상기 공통 인터페이스 버스에 대응되게 변환하는 것을 특징으로 하는 스토리지 시스템.
  5. 제3항에 있어서,
    상기 공통 인터페이스 버스는,
    PCI Express 인터페이스 버스인 것을 특징으로 하는 스토리지 시스템.
  6. 제3항에 있어서,
    상기 기설정된 인터페이스 버스는,
    SAS(Serial Attached SCSI), SATA(Serial ATA) 및 NVMe(Non Volatile Memory express) 중 적어도 하나의 인터페이스 버스인 것을 특징으로 하는 스토리지 시스템.
  7. 제1항에 있어서,
    상기 I/O 제어부는,
    상기 서버와의 채널 수에 따라 상기 서버와의 대역폭을 조정하는 것을 특징으로 하는 스토리지 시스템.
  8. 제1항에 있어서,
    상기 I/O 컨트롤러와 상기 복수의 서버를 선택적으로 연결하는 스위치부;를 더 포함하는 것을 특징으로 하는 스토리지 시스템.
  9. 제8항에 있어서,
    상기 스위치부는,
    상기 PCI express 스위치 회로로 구성되어, 상기 복수의 프로세서 모듈과 상기 적어도 하나의 I/O 카드의 연결 관계를 선택적으로 조정하는 것을 특징으로 하는 스토리지 시스템,
  10. 제8항에 있어서,
    상기 I/O 제어부는,
    상기 복수의 서버 각각 간의 대역폭을 조정하는 것을 특징으로 하는 스토리지 시스템.
  11. 제1항에 있어서,
    상기 I/O 제어부는,
    상기 복수의 저장 매체에 대한 핫스와프(hot swap)를 지원하는 것을 특징으로 하는 스토리지 시스템.
  12. 제1항에 있어서,
    상기 I/O 제어부는,
    상기 데이터를 이중화하고, 상기 이중화된 데이터를 복수의 저장 매체에 저장하는 것을 특징으로 하는 스토리지 시스템.
  13. 제1항에 있어서,
    상기 I/O 제어부는,
    상기 저장 매체 또는 상기 서버로 전송되는 신호에 대해서 디-엠파시스 처리를 수행하고, 상기 저장 매체 또는 상기 서버로부터 수신되는 신호에 대해서는 이퀄라이저 처리를 수행하는 것을 특징으로 하는 스토리지 시스템.
  14. 제1항에 있어서,
    상기 저장 매체는,
    HDD(hard disk drive) 또는 SSD(Solid State Disk)인 것을 특징으로 하는 스토리지 시스템.
  15. 제14항에 있어서,
    상기 I/O 제어부는,
    상기 스토리지 시스템의 초기 구동시에 상기 복수의 저장 매체가 순차적으로 구동되도록 하는 것을 특징으로 하는 스토리지 시스템.
  16. 제1항에 있어서,
    상기 I/O 제어부는,
    상기 서버와 상기 저장 매체 간의 데이터를 일시 저장하는 메모리를 포함하는 것을 특징으로 하는 스토리지 시스템.
  17. 제1항에 있어서,
    상기 스토리지 시스템의 상태 정보를 센싱하고 외부 관리 서버에서 상기 스토리지 시스템의 원격제어가 가능하도록 IPMI(Intelligent Platform Management Interface) 서비스를 제공하는 BMC(Baseboard management Controller)부;를 더 포함하는 것을 특징으로 하는 스토리지 시스템.
  18. 제17항에 있어서,
    상기 BMC부는,
    외부 관리 서버로부터 상기 서버에 대한 디스크 할당 요청을 수신하면, 상기 서버에 디스크가 할당되도록 상기 I/O 제어부를 제어하는 것을 특징으로 하는 스토리지 시스템.
  19. 제17항에 있어서,
    상기 BMC부는,
    상기 저장 매체로부터 관리 정보를 수신하고, 수신된 관리 정보에 기초하여 디스크 할당이 수행되도록 상기 I/O 제어부를 제어하는 것을 특징으로 하는 스토리지 시스템.
  20. 서버 시스템에 있어서,
    공통 인터페이스 버스 및 복수의 프로세서 모듈을 구비하는 서버; 및
    복수의 저장 매체 및 상기 복수의 저장 매체에 저장된 데이터를 상기 서버에 제공하는 I/O 제어부를 구비하는 스토리지 시스템;을 포함하며,
    상기 스토리지 시스템은,
    상기 공통 인터페이스 버스 방식으로 상기 서버와 데이터를 송수신하는 서버 시스템.
KR1020130127673A 2013-10-25 2013-10-25 서버 시스템 및 스토리지 시스템 KR20150047785A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130127673A KR20150047785A (ko) 2013-10-25 2013-10-25 서버 시스템 및 스토리지 시스템
US14/247,448 US20150120874A1 (en) 2013-10-25 2014-04-08 Server system and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130127673A KR20150047785A (ko) 2013-10-25 2013-10-25 서버 시스템 및 스토리지 시스템

Publications (1)

Publication Number Publication Date
KR20150047785A true KR20150047785A (ko) 2015-05-06

Family

ID=52996728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130127673A KR20150047785A (ko) 2013-10-25 2013-10-25 서버 시스템 및 스토리지 시스템

Country Status (2)

Country Link
US (1) US20150120874A1 (ko)
KR (1) KR20150047785A (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180071941A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 관리 컨트롤러 및 관리 컨트롤러를 포함하는 섀시의 동작 방법
KR20180097433A (ko) * 2017-02-23 2018-08-31 삼성전자주식회사 이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법
KR20180111483A (ko) * 2017-03-31 2018-10-11 삼성전자주식회사 Nvme-of 이더넷 ssd에서 데이터 복제를 제공하기 위한 시스템 및 방법
KR20200107909A (ko) * 2016-07-26 2020-09-16 삼성전자주식회사 멀티 모드에서 동작하는 장치 및 그것을 포함하는 시스템
US11126583B2 (en) 2016-07-26 2021-09-21 Samsung Electronics Co., Ltd. Multi-mode NMVe over fabrics devices
US11126352B2 (en) 2016-09-14 2021-09-21 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US20210342281A1 (en) 2016-09-14 2021-11-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (bmc)
US11487691B2 (en) 2016-07-26 2022-11-01 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices
US11923992B2 (en) 2016-07-26 2024-03-05 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50G or 100G Ethernet speeds of FPGA+SSD
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6273353B2 (ja) * 2014-04-21 2018-01-31 株式会社日立製作所 計算機システム
WO2015194005A1 (ja) 2014-06-19 2015-12-23 株式会社日立製作所 ストレージ装置およびインタフェース装置
CN105808407B (zh) * 2014-12-31 2019-09-13 华为技术有限公司 管理设备的方法、设备和设备管理控制器
US9958927B2 (en) * 2015-06-02 2018-05-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Selecting active power supplies based on power supply cable length
US20170102952A1 (en) * 2015-10-07 2017-04-13 Dell Products, L.P. Accessing data stored in a remote target using a baseboard management controler (bmc) independently of the status of the remote target's operating system (os)
US10073653B2 (en) * 2015-12-01 2018-09-11 Alson Technology Limited Solid state disk
US20170153961A1 (en) * 2015-12-01 2017-06-01 Avexir Technologies Corporation Solid state disk
US10387346B2 (en) * 2016-05-06 2019-08-20 Quanta Computer Inc. Dynamic PCIE switch reconfiguration mechanism
CN106502593A (zh) * 2016-11-04 2017-03-15 郑州云海信息技术有限公司 一种高速互联混合存储系统
US10417733B2 (en) * 2017-05-24 2019-09-17 Samsung Electronics Co., Ltd. System and method for machine learning with NVMe-of ethernet SSD chassis with embedded GPU in SSD form factor
US11481016B2 (en) 2018-03-02 2022-10-25 Samsung Electronics Co., Ltd. Method and apparatus for self-regulating power usage and power consumption in ethernet SSD storage systems
US11500439B2 (en) 2018-03-02 2022-11-15 Samsung Electronics Co., Ltd. Method and apparatus for performing power analytics of a storage system
US10649940B2 (en) 2018-03-05 2020-05-12 Samsung Electronics Co., Ltd. Modular system architecture for supporting multiple solid-state drives
US11157356B2 (en) 2018-03-05 2021-10-26 Samsung Electronics Co., Ltd. System and method for supporting data protection across FPGA SSDs
CN108399144A (zh) * 2018-03-19 2018-08-14 迈存信息科技(上海)有限公司 一种冷存储系统
US10664324B2 (en) * 2018-05-30 2020-05-26 Oracle International Corporation Intelligent workload migration to optimize power supply efficiencies in computer data centers
CN110007741B (zh) * 2019-03-06 2023-05-26 联想企业解决方案(新加坡)有限公司 计算设备、用于保持供电设备的装置,以及在计算设备中安装供电设备的方法
US11301413B2 (en) * 2020-02-06 2022-04-12 Dell Products L.P. Enhanced PCIe auto-bifurcation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126394A1 (en) * 2001-12-27 2003-07-03 Storage Technology Corporation System and method for remote configuration of data storage space
US7457906B2 (en) * 2003-01-21 2008-11-25 Nextio, Inc. Method and apparatus for shared I/O in a load/store fabric
US20070067366A1 (en) * 2003-10-08 2007-03-22 Landis John A Scalable partition memory mapping system
US7613876B2 (en) * 2006-06-08 2009-11-03 Bitmicro Networks, Inc. Hybrid multi-tiered caching storage system
US7661005B2 (en) * 2006-06-30 2010-02-09 Seagate Technology Llc Individual storage device power control in a multi-device array
US8099577B2 (en) * 2007-03-20 2012-01-17 Oracle International Corporation Managing memory in a system that includes a shared memory area and a private memory area
US7660925B2 (en) * 2007-04-17 2010-02-09 International Business Machines Corporation Balancing PCI-express bandwidth
GB2460841B (en) * 2008-06-10 2012-01-11 Virtensys Ltd Methods of providing access to I/O devices
US9479592B2 (en) * 2012-03-30 2016-10-25 Intel Corporation Remote management for a computing device
US9135124B2 (en) * 2012-04-30 2015-09-15 Hewlett-Packard Development Company, L.P. Sequence indicator for command communicated to a sequential access storage device

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US11860808B2 (en) 2016-07-26 2024-01-02 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NVMe over fabrics devices
KR20210025564A (ko) * 2016-07-26 2021-03-09 삼성전자주식회사 멀티 모드에서 동작하는 장치 및 그것을 포함하는 시스템
US11923992B2 (en) 2016-07-26 2024-03-05 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50G or 100G Ethernet speeds of FPGA+SSD
US11531634B2 (en) 2016-07-26 2022-12-20 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US11487691B2 (en) 2016-07-26 2022-11-01 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices
US11100024B2 (en) 2016-07-26 2021-08-24 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NVMe over fabrics devices
US11126583B2 (en) 2016-07-26 2021-09-21 Samsung Electronics Co., Ltd. Multi-mode NMVe over fabrics devices
US20210019273A1 (en) 2016-07-26 2021-01-21 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode nmve over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
KR20200107909A (ko) * 2016-07-26 2020-09-16 삼성전자주식회사 멀티 모드에서 동작하는 장치 및 그것을 포함하는 시스템
US20210342281A1 (en) 2016-09-14 2021-11-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (bmc)
US11126352B2 (en) 2016-09-14 2021-09-21 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US11983406B2 (en) 2016-09-14 2024-05-14 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11983405B2 (en) 2016-09-14 2024-05-14 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11983129B2 (en) 2016-09-14 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US11989413B2 (en) 2016-09-14 2024-05-21 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
KR20180071941A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 관리 컨트롤러 및 관리 컨트롤러를 포함하는 섀시의 동작 방법
US11543967B2 (en) 2017-02-23 2023-01-03 Samsung Electronics Co., Ltd. Method for controlling BW SLA in NVME-of ethernet SSD storage systems
KR20180097433A (ko) * 2017-02-23 2018-08-31 삼성전자주식회사 이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법
KR20180111483A (ko) * 2017-03-31 2018-10-11 삼성전자주식회사 Nvme-of 이더넷 ssd에서 데이터 복제를 제공하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
US20150120874A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
KR20150047785A (ko) 서버 시스템 및 스토리지 시스템
KR20150047784A (ko) 서버 시스템 및 스토리지 시스템
TWI683610B (zh) 用於計算平台的模組化托架形式因子
CN107077438B (zh) 通过通信介质的部分进行通信
US10394573B2 (en) Host bus adapter with built-in storage for local boot-up
KR101604962B1 (ko) 큰 확장성 프로세서 설치에 있어서 유연한 저장 및 네트워크 프로비저닝을 위한 시스템 및 방법
US10162786B2 (en) Storage node based on PCI express interface
CN104767838B (zh) 微服务器、分配mac地址的方法、以及计算机可读记录介质
US20160234962A1 (en) High Density Storage Device System
CN109324989B (zh) 包括多个单独可移除子载体的标准形状因子电子模块载体
CN108604456A (zh) 在存储器插槽中支持多个存储器类型
US10545901B2 (en) Memory card expansion
GB2527105A (en) A storage carrier and a storage system
JP2015507233A (ja) 動的電子ストレージユニットを設けるためのシステムおよび方法
US9940280B1 (en) Provisioning an enclosure with PCIe connectivity and storage devices
US9280174B2 (en) Data storage device enclosure and module
US10140235B2 (en) Server
KR20190055970A (ko) 설계자동화 프로그램을 위한 스토리지 시스템
KR101587452B1 (ko) 디바이스 확장 기능을 갖는 확장형 멀티 디바이스 베이 시스템
US11726660B1 (en) Techniques for flexible physical drive expansion using a loop back connection
US9423863B2 (en) Server system with power distribution board and storage control method thereof
US20130212302A1 (en) Disk array apparatus
CN115248656A (zh) 自动配置存储驱动器阵列以最小化过热的方法和设备
CN110941392A (zh) 将远程存储设备模拟为本地存储设备的方法和装置
GB2508178A (en) Module for data storage devices with means by which the data storage device can be accessed from outside the module.

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid