KR102462166B1 - 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템 - Google Patents

펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템 Download PDF

Info

Publication number
KR102462166B1
KR102462166B1 KR1020200181784A KR20200181784A KR102462166B1 KR 102462166 B1 KR102462166 B1 KR 102462166B1 KR 1020200181784 A KR1020200181784 A KR 1020200181784A KR 20200181784 A KR20200181784 A KR 20200181784A KR 102462166 B1 KR102462166 B1 KR 102462166B1
Authority
KR
South Korea
Prior art keywords
memory
firmware
server
server device
controller
Prior art date
Application number
KR1020200181784A
Other languages
English (en)
Other versions
KR20220090851A (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 KR1020200181784A priority Critical patent/KR102462166B1/ko
Publication of KR20220090851A publication Critical patent/KR20220090851A/ko
Application granted granted Critical
Publication of KR102462166B1 publication Critical patent/KR102462166B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 서버 장치는 데이터 송수신을 위한 통신 채널을 형성하는 통신 회로, 데이터 처리를 수행하는 프로세서, 상기 프로세서에 작동적으로 연결되고 장치 운용과 관련한 데이터를 수집하는 장치 요소, 상기 장치 요소 운용과 관련한 데이터를 저장하는 메모리, 상기 장치 요소와 상기 메모리 사이에 배치되는 메모리 제어기를 포함할 수 있다. 상기 메모리 제어기는 상기 장치 요소의 펌웨어 갱신과 관련한 갱신 펌웨어를 외부로부터 수신하면, 상기 갱신 펌웨어를 상기 메모리에 저장하고, 상기 장치 요소 운용과 관련한 데이터 처리 시 바이패싱을 통하여 상기 메모리와 상기 장치 요소 간의 데이터 전달을 지원할 수 있다.

Description

펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템{Method for updating firmware, server device and server system supporting system}
본 발명은 펌웨어 갱신에 관한 것으로, 더욱 상세하게는 적어도 하나의 서버 장치에서의 펌웨어 갱신에 관한 것이다.
컴퓨팅 장치는 다양한 구성을 포함하고 있다. 예컨대, 컴퓨팅 장치는 바이오스(BIOS, Basic Input Output System) 및 BMC(Baseboard Management Controller) 등을 포함하고 있다. 상기 바이오스는 컴퓨터 시스템이 동작하기 위해 기본적인 입출력을 처리하는 소프트웨어로, 사용자가 컴퓨터를 켜면 처음으로 시작되는 프로그램이다. 바이오스는 펌웨어(Firmware)의 일종으로 컴퓨터 시스템의 하드웨어에 종속되어 있다. 바이오스는 시스템에 전원이 인가되면 실행되어 하드웨어 초기화 작업을 수행하고, 운영체제(Operating System)가 실행될 수 있도록 서비스를 제공한다. 바이오스를 저장하는 매체로 초기에는 ROM(Read Only Memory)가 사용되었으나, 최근에는 플래시 메모리가 주된 저장 매체로 사용되고 있다.
한편, BMC 펌웨어는 서버의 BMC에서 동작하는 소프트웨어로 하드웨어에 의존적인 펌웨어이다. BMC는 임베디드 컨트롤러이며 서버, 스토리지 시스템, 네트워크 스위치 등과 같이 복잡한 시스템 장비에 내장되어 시스템이 물리적으로 잘 동작할 수 있도록 돕는 역할을 담당한다. 또한, BMC는 시스템 내부의 각종 센서(온도, 습도, 전압, 팬 속도 등)들과 통신하며 OS나 원격 클라이언트를 통해 시스템의 상태정보를 제공하거나 제어할 수 있는 수단을 제공한다. BMC 펌웨어 또한 플래시 메모리에 저장되어 있으며 BMC에 전원이 인가될 때 플래시 메모리를 통해 펌웨어가 BMC에 로딩된다.
상술한 바이오스 및 BMC 펌웨어 등은 관련 데이터의 변경에 따라 갱신이 필요하다. 서버 장치의 BIOS 펌웨어를 갱신하기 위해서는, 서버 장치 제조사에서 제공하는 도구를 이용하여 OS나 기존의 BIOS에서 작업을 해 주어야 하는 불편함이 있다. 또한, BMC 펌웨어를 업데이트 하기 위해서는, 인쇄회로기판에 실장된 플래시 메모리를 물리적으로 분리하고, 분리된 플래시 메모리에 새로운 버전의 이미지를 덮어 쓰거나, BMC 펌웨어에서 자체적으로 제공하는 업데이트 도구를 이용하여야 한다. 또한, 상술한 펌웨어 업데이트는 각각의 서버 장치 종류에 따라 달라지기 때문에, 서버 장치별 제조사에서 제공하는 다양한 도구들을 사용해야 하는 불편함이 있다. 예컨대, 종래, 개인 컴퓨팅 장치에서 바이오스를 업데이트 하려면, 개인 컴퓨팅 장치의 바이오스 UI에서 제공하는 플래시 업데이트 도구를 사용하여 USB 메모리 장치에 업데이트할 파일을 담아 작업해야 하는 불편함이 있다.
본 발명은 상술한 문제를 해결하기 위한 것으로, 서버 장치의 펌웨어 갱신을 위하여 별도의 플래시 제어기를 마련하고, 이를 기반으로 필요한 구성의 펌웨어를 손쉽게 갱신할 수 있도록 지원하는 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템을 제공한다.
또한, 본 발명은 복수개의 서버 장치들의 펌웨어 갱신을 일괄적으로 수행함으로써, 복수개의 서버 장치 펌웨어 갱신 속도 및 번거로움을 개선할 수 있도록 지원하는 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템을 제공한다.
본 발명의 실시 예에 따른 서버 장치는 데이터 송수신을 위한 통신 채널을 형성하는 통신 회로, 데이터 처리를 수행하는 프로세서, 상기 프로세서에 작동적으로 연결되고 장치 운용과 관련한 데이터를 수집하는 장치 요소, 상기 장치 요소 운용과 관련한 데이터를 저장하는 메모리, 상기 장치 요소와 상기 메모리 사이에 배치되는 메모리 제어기를 포함하고, 상기 메모리 제어기는 상기 장치 요소의 펌웨어 갱신과 관련한 갱신 펌웨어를 외부로부터 수신하면, 상기 갱신 펌웨어를 상기 메모리에 저장하고, 상기 장치 요소 운용과 관련한 데이터 처리 시 바이패싱을 통하여 상기 메모리와 상기 장치 요소 간의 데이터 전달을 지원하는 것을 특징으로 한다.
상술한 설명에서, 상기 장치 요소는 플랫폼 컨트롤러 허브를 포함하고, 상기 메모리는 상기 플랫폼 컨트롤러 허브를 지원하는 제1 메모리를 포함할 수 있다.
또는, 상기 장치 요소는 베이스보드 관리 컨트롤러를 포함하고, 상기 메모리는 상기 베이스보드 관리 컨트롤러와 관련한 제2 메모리를 포함할 수 있다.
한편, 상기 메모리는 플래시 메모리를 포함하고, 상기 메모리 제어기는 상기 플래시 메모리의 읽기 및 쓰기를 제어하는 플래시 제어기를 포함할 수 있다.
여기서, 상기 메모리 제어기는 상기 통신 회로 중 다운링크 채널을 지원하는 제1 통신 회로를 통하여 외부 장치로부터 상기 갱신 펌웨어를 수신하고, 상기 수신된 갱신 펌웨어를 상기 메모리에 저장하도록 제어할 수 있다.
또한, 상기 메모리 제어기는 상기 제1 통신 회로를 통해 수신된 상기 갱신 펌웨어를 상기 통신 회로 중 업링크 채널을 지원하는 제2 통신 회로를 통하여 다른 서버 장치로 전달할 수 있다.
본 발명의 실시 예에 따른 서버 시스템은 데이지 체인 모드로 연결된 복수개의 서버 장치들, 상기 복수개의 서버 장치들 중 제1 서버 장치와 연결된 마스터 장치를 포함하고, 상기 마스터 장치는 상기 복수개의 서버 장치들에 포함된 장치 요소의 펌웨어 갱신을 위한 갱신 펌웨어를 저장하는 플래시 메모리, 상기 플래시 메모리에 저장된 상기 갱신 펌웨어를 상기 제1 서버 장치의 다운링크 채널을 통하여 상기 제 서버 장치에 전송하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 펌웨어 갱신 방법은 마스터 장치가, 데이지 체인 모드로 연결된 복수개의 서버 장치들에 포함된 장치 요소의 펌웨어 갱신이 필요한지 확인하는 단계, 상기 펌웨어 갱신이 필요한 경우, 마스터 장치가 상기 갱신 펌웨어를 수집하는 단계, 상기 수집된 갱신 펌웨어를 상기 복수개의 서버 장치들 제1 서버 장치의 다운링크 채널을 통해 상기 제1 서버 장치에 전송하는 단계를 포함할 수 있다.
본 발명의 방법 및 장치와 시스템에 따르면, 본 발명은 펌웨어 갱신을 보다 쉽고 신속하게 처리할 수 있으며, 펌웨어 갱신에 있어서의 불편함을 최소화할 수 있다.
기타, 본 발명의 다양한 효과는 이하에서 설명하는 실시 예들을 통하여 부가하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 서버 장치 구성의 한 예를 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 서버 시스템 구성의 한 예를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 서버 시스템 구성의 다른 예를 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 펌웨어 갱신 방법의 한 예를 나타낸 도면이다.
하기의 설명에서는 본 발명의 실시 예를 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않는 범위에서 생략될 것이라는 것을 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 바람직한 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 보다 상세하게 설명하고자 한다.
도 1은 본 발명의 실시 예에 따른 서버 장치 구성의 한 예를 나타낸 도면이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 서버 장치(100)는 프로세서(110), 장치 요소(예: PCH(120)(platform controller hub) 및 BMC(130)), 메모리(예: 바이오스 메모리(150) 및 BMC 메모리(160))(예: 플래시 메모리), 메모리 제어기(140)(예: 플래시 컨트롤러), 제1 통신 회로(141)(예: 다운링크) 및 제2 통신 회로(142)(예: 업링크), 복수의 SPI(Serial Peripheral Interface, 직렬 주변기기 인터페이스)를 포함하며, 추가적으로 상기 서버 장치(100)의 구성들을 감싸는 케이스 또는 하우징을 포함할 수 있다. 상기 SPI 버스는 동기화된 직렬 통신 기법의 하나이며, 한 개의 마스터(Master)와 여러 개의 슬레이브(Slave) 장치간의 full duplex 통신이 가능한 규격이다. 상기 SPI 버스는 Clock (SPI CLK, SCLK), Chip select (CS), Master out, slave in (MOSI), Master in, slave out (MISO) 포트를 포함할 수 있다. 마스터에 배치되는 SPI 버스는 클럭(CLK)신호를 생성하고 모든 데이터 전송을 CLK에 동기화 하여 전송한다. 슬레이브 장치가 여러 개 존재할 경우, SPI 버스의 마스터는 CS#에 따라 통신 대상이 되는 슬레이브를 선택할 수 있으며, 슬레이브의 개수가 늘어남에 따라 Master의 Chip Select 신호의 개수를 늘려서 데이터를 전달할 수 있다.
상기 프로세서(110)(예: 중앙 처리 장치, CPU)는 서버 장치(100)의 운용과 관련한 데이터의 전달과 처리 및 저장 등을 처리할 수 있다. 상기 프로세서(110)는 데이터 입력 또는 출력과 관련한 PCH(120)과 통신 인터페이스를 통해 연결되고, 서버 장치(100) 운용에 따라 요구되는 데이터의 입력과 출력을 처리할 수 있다. 상기 프로세서(110)는 PCH(120)의 바이오스 펌웨어 갱신이 완료되면, 새로운 바이오스를 기반으로 PCH(120)의 운용을 제어할 수 있다.
상기 PCH(120)은 프로세서(110)의 데이터 입출력 명령을 처리하는 구성일 수 있다. 상기 PCH(120)은 프로세서(110)와 BMC(130) 사이에 배치되고, 프로세서(110)의 명령어를 BMC(130)에 전달하거나, BMC(130)이 수집한 다양한 데이터를 프로세서(110)에 전달할 수 있다. 상기 PCH(120)은 메모리 제어기(140)를 통하여 바이오스 메모리(150)와 연결될 수 있다. PCH(120)은 바이오스 메모리(150)에 저장된 정보를 기반으로 바이오스 펌웨어 갱신을 수행할 수 있다. 이와 관련하여, 상기 PCH(120)은 SPI를 통해 메모리 제어기(140)와 연결될 수 있다.
상기 바이오스 메모리(150)는 PCH(120)의 바이오스 펌웨어를 저장할 수 있다. 상기 바이오스 메모리(150)는 예컨대, 플래시 메모리를 포함할 수 있다. 상기 바이오스 메모리(150)는 메모리 제어기(140)의 제어에 따라 외부로부터 바이오스 갱신 펌웨어를 수신하여 저장할 수 있다. 상기 바이오스 메모리(150)는 저장된 바이오스 갱신 펌웨어를 PCH(120) 갱신을 위해 제공할 수 있다. 이와 관련하여, 상기 바이오스 메모리(150)는 SPI를 통하여 상기 메모리 제어기(140)와 연결될 수 있다.
상기 BMC(130)은 앞서 설명한 바와 같이, 서버 장치(100)에 장착된 다양한 장치 요소들의 운용과 제어를 수행할 수 있다. 예컨대, BMC(130)은 서버 장치(100) 내에 장착된 다양한 센서(온도, 습도, 전압, 팬 속도 등)들과 통신하며 OS(operating system)나 원격 클라이언트를 통해 시스템의 상태정보를 제공하거나 제어할 수 있는 수단을 제공할 수 있다. 상기 BMC(130)은 PCH(120)을 통해 프로세서(110)에 연결되고, 프로세서(110) 명령에 따라 지정된 명령을 처리하거나, 요청된 명령에 따른 데이터를 수집하여 프로세서(110)에 전달할 수 있다. 상기 BMC(130)은 메모리 제어기(140)를 통하여 BMC 메모리(160)에 연결될 수 있다. 이와 관련하여, 상기 BMC(130)은 SPI를 통하여 메모리 제어기(140)와 연결될 수 있다.
상기 BMC 메모리(160)는 BMC(130) 갱신에 필요한 펌웨어를 저장할 수 있다. 이와 관련하여, BMC 메모리(160)는 SPI를 통하여 메모리 제어기(140)에 연결될 수 있다. 상기 BMC 메모리(160)는 바이오스 메모리(150)와 유사하게 플래시 메모리를 포함할 수 있다. 이러한 BMC 메모리(160)는 SPI를 통하여 메모리 제어기(140)에 연결될 수 있다.
상기 메모리 제어기(140)는 PCH(120)과 바이오스 메모리(150) 사이, BMC(130)과 BMC 메모리(160) 사이에 배치될 수 있다. 상기 메모리 제어기(140)는 서버 장치(100)의 일반 동작 수행 시, PCH(120)과 바이오스 메모리(150) 사이의 SPI 통신을 바이 패스할 수 있다. 또한, 메모리 제어기(140)는 서버 장치(100) 일반 동작 수행 시, BMC(130) 및 BMC 메모리(160) 사이의 SPI 통신을 바이 패스할 수 있다. 상기 메모리 제어기(140)는 PCH(120) 및 BMC(130) 중 적어도 하나의 갱신이 요구되는 상황에서, 시스템 외부로 연결된 통신 회로들(141, 412)을 통해서 갱신을 위한 펌웨어 데이터를 수신 및 저장, 갱신을 수행할 수 있다. 예컨대, 메모리 제어기(140)는 바이오스 갱신 펌웨어를 제1 통신 회로(141)를 통하여 수신하고, 수신된 바이오스 갱신 펌웨어를 바이오스 메모리(150)에 저장하고, 상기 바이오스 메모리(150)에 저장된 바이오스 갱신 펌웨어를 이용하여 PCH(120) 갱신을 수행할 수 있다. 이와 유사하게, 메모리 제어기(140)는 BMC 갱신 펌웨어를 제1 통신 회로(141)를 통하여 수신하고, 수신된 BMC 갱신 펌웨어를 BMC 메모리(160)에 저장하고, 상기 BMC 메모리(160)에 저장된 BMC 갱신 펌웨어를 이용하여 BMC(130) 갱신을 수행할 수 있다. 상술한 메모리 제어기(140)는 물리적으로 상기 바이오스 메모리(150) 및 상기 BMC 메모리(160) 앞단에 설치될 수 있다.
상기 제1 통신 회로(141)는 상기 서버 장치(100)의 통신 채널 형성을 지원할 수 있다. 예컨대, 상기 제1 통신 회로(141)는 외부로부터 데이터를 수신할 수 있는 다운링크 채널을 형성할 수 있다. 상기 제1 통신 회로(141)는 유선 또는 무선 통신 회로 중 적어도 하나를 포함할 수 있다. 상기 제1 통신 회로(141)는 다른 서버 장치 또는 갱신을 위한 펌웨어를 저장하는 메모리 장치(예: 플래시 마스터 장치)와 통신 채널을 형성할 수 있다. 상기 제1 통신 회로(141)는 상기 메모리 제어기(140)와 연결되고, 메모리 제어기(140) 제어에 따라, 외부 장치(예: 펌웨어 저장 메모리 장치 또는 플래시 마스터, 또는 다른 서버 장치)와 통신 채널을 형성하고, 갱신에 필요한 펌웨어를 수신할 수 있다.
상기 제2 통신 회로(142)는 상기 서버 장치(100)의 업링크 통신 채널 형성을 지원할 수 있다. 상기 제2 통신 회로(142)는 상기 메모리 제어기(140)와 연결되고, 메모리 제어기(140)의 제어에 따라, 메모리(예: 바이오스 메모리(150), BMC 메모리(160))에 저장된 데이터를 다른 서버 장치에 전달할 수 있다. 또는, 상기 제2 통신 회로(142)는 제1 통신 회로(141)를 통해 수신된 데이터를 다른 서버 장치에 전달하는 통신 채널을 형성할 수도 있다.
상술한 구조를 가지는 본 발명은 서버 장치를 구성하는데 있어서, 펌웨어 갱신을 위한 메모리 제어기(140)를 배치함으로써, PCH(120) 및 BMC(130) 중 적어도 하나의 펌웨어 갱신을 메모리 제어기(140)를 통해 수행할 수 있어, 별도의 메모리(예: 바이오스 메모리(150) 또는 BMC 메모리(160))의 분리 및 펌웨어 갱신과 같은 작업 없이도, 관련 펌웨어 갱신을 용이하게 수행할 수 있다. 더불어, 본 발명은 상술한 서버 장치들을 복수개로 마련하고, 각 서버 장치들에 포함된 플래시 메모리(예: 바이오스 메모리(150) 및 BMC 메모리(160))에 각각 저장되는 BMC와 BIOS 펌웨어를 일괄적으로 업데이트할 수 있도록 지원한다. 이 과정에서, 본 발명은 시스템 제조사 또는 펌웨어 제조사가 제공하는 업데이트 도구를 이용하지 않고도 플래시 메모리에 직접 갱신 펌웨어를 write 함으로써 새로운 펌웨어 설치를 용이하게 할 수 있다.
도 2는 본 발명의 실시 예에 따른 서버 시스템 구성의 한 예를 나타낸 도면이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 서버 시스템(11)은 복수개의 서버 장치들(101, 102, ..., 10N)과 마스터 장치(200)를 포함할 수 있다.
상기 복수개의 서버 장치들(101, 102, ..., 10N) 각각은 플래시 메모리들(155_1, 155_2,..., 155_N)(예: 도 1의 바이오스 메모리(150) 및 BMC 메모리(160))을 포함할 수 있다. 예컨대, 제1 서버 장치(101)는 제1 플래시 메모리(155_1)(예: 도 1의 바이오스 메모리 및 BMC 메모리)를 포함하고, 제2 서버 장치(102)는 제2 플래시 메모리(155_2)를 포함하며, 제N 서버 장치(10N)는 제N 플래시 메모리(155_N)를 포함할 수 있다. 상기 플래시 메모리들(155_1, 155_2,..., 155_N)은 상기 각 서버 장치들(101, 102, ..., 10N)의 펌웨어 갱신을 위한 메모리를 포함할 수 있다. 상기 복수개의 서버 장치들(101, 102, ..., 10N) 각각은 앞서 도 1에서 설명한 구성과 동일한 구성을 포함할 수 있다. 예컨대, 상기 플래시 메모리들(155_1, 155_2,..., 155_N)은 앞서 도 1에서 설명한 서버 장치(100)의 바이오스 메모리(150) 및 BMC 메모리(160) 중 적어도 하나를 포함할 수 있다. 또한, 상기 복수개의 서버 장치들(101, 102, ..., 10N)은 메모리 제어기들(140_1, 140_2,..., 140_N)을 포함할 수 있다. 상기 메모리 제어기들(140_1, 140_2,..., 140_N)은 예컨대, 플래시 컨트롤러일 수 있다.
상기 마스터 장치(200)는 서버 장치와 유사하게, 메모리 제어기(240) 및 플래시 메모리(255)를 포함할 수 있다. 상기 마스터 장치(200)는 복수개의 서버 장치들(101, 102, ..., 10N)과 통신 채널이 형성되는 장치일 수 있다. 상기 마스터 장치(200)는 상기 복수개의 서버 장치들(101, 102, ..., 10N)의 펌웨어 갱신을 위한 갱신 펌웨어 데이터를 저장할 수 있다. 상기 마스터 장치(200)는 앞서 도 1에서 설명한 서버 장치(100)와 동일한 장치를 포함한 장치일 수 있다. 한편, 상기 마스터 장치(200)는 자신의 메모리에 저장된 갱신 펌웨어를 업링크 채널을 지원하는 제2 통신 회로를 기반으로 제1 서버 장치(101), 제2 서버 장치(102), ... 제N 서버 장치(10N)들 각각에 일괄적으로 전송할 수 있다. 이와 관련하여, 상기 마스터 장치(200)는 상기 복수개의 서버 장치들(101, 102, ..., 10N) 중 어느 하나의 서버 장치를 선택할 수 있는 CS 포트를 상기 서버 장치들(101, 102, ..., 10N) 개수만큼 포함할 수 있다. 상기 마스터 장치(200)는 CS 포트들 및 업링크 채널을 지원하는 제2 통신 회로를 이용하여 각 서버 장치들(101, 102, ..., 10N)에 갱신 펌웨어를 전송할 수 있다.
도 3은 본 발명의 실시 예에 따른 서버 시스템 구성의 다른 예를 나타낸 도면이다.
도 3을 참조하면, 본 발명의 다른 실시 예에 따른 서버 시스템(12)은 복수개의 서버 장치들(101, 102,..., 10N)과 마스터 장치(200)를 포함할 수 있다.
상기 복수개의 서버 장치들(101, 102,..., 10N) 각각은 앞서 도 2에서 설명한 바와 같이, 메모리 제어기 및 플래시 메모리를 포함할 수 있다. 예컨대, 제1 서버 장치(101)는 제1 메모리 제어기(140_1) 및 제1 플래시 메모리(155_1)를 포함하고, 제2 서버 장치(102)는 제2 메모리 제어기(140_2) 및 제2 플래시 메모리(155_2)를 포함하며, 제N 서버 장치(10N)는 제N 메모리 제어기(140_N) 및 제N 플래시 메모리(155_N)를 포함할 수 있다. 상기 플래시 메모리들(155_1, 155_2,..., 155_N)은 상기 각 서버 장치들(101, 102,..., 10N)의 펌웨어 갱신을 위한 메모리를 포함할 수 있다. 상기 복수개의 서버 장치들(101, 102,..., 10N) 각각은 앞서 도 1에서 설명한 서버 장치(100) 구성과 동일한 구성을 포함할 수 있다. 상기 복수개의 서버 장치들(101, 102,..., 10N)은 데이지 체인 모드로 연결될 수 있다. 이를 보다 상세히 설명하면, 상기 제1 서버 장치(101)의 업링크 채널은 제2 서버 장치(102)의 다운링크 채널과 연결될 수 있다. 상기 제2 서버 장치(102)의 업링크 채널은 상기 제N 서버 장치(10N)의 다운링크 채널과 연결될 수 있다. 상술한 구조를 가지는 서버 시스템(12)은 제1 서버 장치(101)가 마스터 장치(200)로부터 수신한 갱신 펌웨어를 제2 서버 장치(102)에 전달하고, 상기 제2 서버 장치(102)는 제1 서버 장치(101)로부터 수신한 갱신 펌웨어를 제N 서버 장치(10N)로 전달할 수 있다. 상술한 동작을 수행하는 과정에서, 각각의 서버 장치들(101, 102,..., 10N)은 이전 장치로부터 수신한 갱신 펌웨어를 플래시 메모리에 저장하고, 저장된 갱신 펌웨어의 갱신 작업을 수행할 수 있다.
상기 마스터 장치(200)는 복수개의 서버 장치들(101, 102,..., 10N)과 통신 채널을 형성할 수 있다. 상기 마스터 장치(200)는 상기 복수개의 서버 장치들(101, 102,..., 10N)의 펌웨어 갱신을 위한 갱신 펌웨어 데이터를 저장할 수 있다. 이와 관련하여, 상기 마스터 장치(200)는 복수개의 서버 장치들(101, 102,..., 10N)과 데이지 채널 체인을 형성할 수 있다. 이를 보다 상세히 설명하면, 상기 마스터 장치(200)는 자신의 메모리에 저장된 갱신 펌웨어를 업링크 채널을 지원하는 제2 통신 회로를 기반으로 제1 서버 장치(101)의 다운링크 채널을 통해 전달할 수 있다. 제1 서버 장치(101)로 전달된 갱신 펌웨어를 앞서 설명한 바와 같이 제2 서버 장치(102)를 거쳐 제N 서버 장치(10N)로 전달될 수 있다.
도 4는 본 발명의 실시 예에 따른 펌웨어 갱신 방법의 한 예를 나타낸 도면이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 펌웨어 갱신 방법과 관련하여, 마스터 장치(200)의 메모리 제어기(예: 플래시 마스터, 또는 도 1의 메모리 제어기(140))는 401 단계에서 펌웨어 갱신이 요구되는지 확인할 수 있다. 상기 펌웨어 갱신은 예컨대, 서버 장치(100) 갱신을 위한 알람을 해당 서버 장치(100) 제조사로부터 수신하는 이벤트를 포함할 수 있다. 또는, 마스터 장치(200) 관리자가 서버 장치(100) 펌웨어 갱신과 관련한 입력을 수행함에 따른 이벤트 발생을 포함할 수 있다.
펌웨어 갱신이 요구되는 경우, 403 단계에서, 마스터 장치(200)의 메모리 제어기는 갱신 펌웨어를 수집할 수 있다. 예컨대, 마스터 장치(200)는 갱신 펌웨어를 제공하는 서버 장치 제조사로부터 상기 갱신 펌웨어를 수집할 수 있다. 이와 관련하여, 마스터 장치(200)는 서버 장치 제조사가 운용하는 웹 페이지에 접속하여 상기 갱신 펌웨어를 수신하거나, 또는 서버 장치 제조사가 제공하는 이메일 또는 보안 채널을 통해 상기 갱신 펌웨어를 수신할 수 있다. 또는, 갱신 펌웨어가 저장된 별도의 메모리 장치가 마스터 장치(200)에 연결될 수도 있다.
다음으로, 405 단계에서, 마스터 장치(200)의 메모리 제어기는 데이지 체인 모드를 기반으로 갱신 펌웨어를 전달할 수 있다. 이와 관련하여, 서버 시스템(11, 12)에 속한 현재 서버 장치의 다운 링크 채널은 이전 서버 장치의 업링크 채널과 연결될 상태를 가질 수 있다. 한 실시 예에 따르면, 마스터 장치(200)가 제1 서버 장치(101)에 갱신 펌웨어를 전달하면, 제1 서버 장치(101)는 데이지 체인을 통하여 제2 서버 장치(102)에 갱신 펌웨어를 전달할 수 있다. 이 과정에서, 제1 서버 장치(101)는 수신한 갱신 펌웨어를 플래시 메모리(155_1)(예: 바이오스 메모리(150), BMC 메모리(160))에 저장하고, 저장된 갱신 펌웨어를 이용하여 관련 서버 장치 구성(component)의 펌웨어 갱신을 수행할 수 있다.
한편, 401 단계에서, 펌웨어 갱신과 관련한 별도의 이벤트가 발생하지 않으면, 마스터 장치(200)(또는 복수개의 서버 장치들(101, 102,..., 10N))의 메모리 제어기는 407 단계에서, 데이터 바이패싱을 수행할 수 있다. 예컨대, PCH(120)와 바이오스 메모리(150)는 SPI 버스를 통하여 서버 장치(100) 운용에 필요한 데이터 송수신을 수행할 수 있으며, BMC(130) 및 BMC 메모리(160)는 SPI 버스를 통하여 서버 장치(100) 운용에 필요한 데이터 송수신을 수행할 수 있다.
한편, 상술한 펌웨어 갱신 방법과 관련하여, 복수개의 서버 장치들(101, 102,..., 10N)의 펌웨어 갱신이 필요한지 확인하는 401 단계가, 갱신 펌웨어를 수집하는 403 단계 이전에 수행되는 것으로 설명하였으나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 마스터 장치(200)는 서버 제조사 등으로부터 복수개의 서버 장치들(101, 102,..., 10N)에 대한 펌웨어 갱신 요청에 따른 갱신 펌웨어를 수신하면, 수신된 갱신 펌웨어를 데이지 체인 모드로 연결된 복수개의 서버 장치들(101, 102,..., 10N) 중 제1 서버 장치에 전달하는 방식으로, 펌웨어 갱신을 수행할 수도 있다.
한편, 본 명세서와 도면에 개시된 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다.
11, 12: 서버 시스템
100, 101, 102, 10N: 서버 장치
110: 프로세서
120: PCH
130: BMC
140: 메모리 제어기
141: 제1 통신 회로
142: 제2 통신 회로
150: 바이오스 메모리
160: BMC 메모리

Claims (8)

  1. 데이터 송수신을 위한 통신 채널을 형성하는 통신 회로;
    데이터 처리를 수행하는 프로세서;
    상기 프로세서에 작동적으로 연결되고 장치 운용과 관련한 데이터를 수집하는 장치 요소;
    상기 장치 요소 운용과 관련한 데이터를 저장하는 메모리;
    상기 장치 요소와 상기 메모리 사이에 배치되는 메모리 제어기;를 포함하고,
    상기 메모리 제어기는
    상기 장치 요소의 펌웨어 갱신과 관련한 갱신 펌웨어를 외부로부터 수신하면, 상기 갱신 펌웨어를 상기 메모리에 저장하고,
    상기 장치 요소 운용과 관련한 데이터 처리 시 바이패싱을 통하여 상기 메모리와 상기 장치 요소 간의 데이터 전달을 지원하고,
    상기 메모리 제어기는
    상기 통신 회로 중 다운링크 채널을 지원하는 제1 통신 회로를 통하여 외부 장치로부터 상기 갱신 펌웨어를 수신하여 상기 메모리에 저장하도록 제어하고,
    상기 제1 통신 회로를 통해 수신된 상기 갱신 펌웨어를 상기 통신 회로 중 업링크 채널을 지원하는 제2 통신 회로를 통하여 다른 서버 장치로 전달하는 것을 특징으로 하는 서버 장치.
  2. 제1항에 있어서,
    상기 장치 요소는
    플랫폼 컨트롤러 허브를 포함하고,
    상기 메모리는
    상기 플랫폼 컨트롤러 허브를 지원하는 제1 메모리를 포함하는 것을 특징으로 하는 서버 장치.
  3. 제1항에 있어서,
    상기 장치 요소는
    베이스보드 관리 컨트롤러를 포함하고,
    상기 메모리는
    상기 베이스보드 관리 컨트롤러와 관련한 제2 메모리를 포함하는 것을 특징으로 하는 서버 장치.
  4. 제1항에 있어서,
    상기 메모리는 플래시 메모리를 포함하고,
    상기 메모리 제어기는 상기 플래시 메모리의 읽기 및 쓰기를 제어하는 플래시 제어기를 포함하는 것을 특징으로 하는 서버 장치.
  5. 삭제
  6. 삭제
  7. 데이지 체인 모드로 연결된 복수개의 서버 장치들;
    상기 복수개의 서버 장치들 중 제1 서버 장치와 연결되되, 전단의 업링크 채널이 후단의 다운링크 채널과 연결된 마스터 장치를 포함하고,
    상기 마스터 장치는
    상기 복수개의 서버 장치들에 포함된 장치 요소의 펌웨어 갱신을 위한 갱신 펌웨어를 저장하는 플래시 메모리;
    상기 플래시 메모리에 저장된 상기 갱신 펌웨어를 상기 제1 서버 장치의 다운링크 채널을 통하여 상기 서버 장치들에 전송하는 메모리 제어기;를 포함하는 것을 특징으로 하는 서버 시스템.
  8. 삭제
KR1020200181784A 2020-12-23 2020-12-23 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템 KR102462166B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200181784A KR102462166B1 (ko) 2020-12-23 2020-12-23 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200181784A KR102462166B1 (ko) 2020-12-23 2020-12-23 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템

Publications (2)

Publication Number Publication Date
KR20220090851A KR20220090851A (ko) 2022-06-30
KR102462166B1 true KR102462166B1 (ko) 2022-11-03

Family

ID=82215532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200181784A KR102462166B1 (ko) 2020-12-23 2020-12-23 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템

Country Status (1)

Country Link
KR (1) KR102462166B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140066357A (ko) * 2012-11-23 2014-06-02 현대모비스 주식회사 다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치
KR101564144B1 (ko) * 2013-10-30 2015-10-28 삼성에스디에스 주식회사 펌웨어 관리 장치 및 방법
KR20160094124A (ko) * 2015-01-30 2016-08-09 에스케이하이닉스 주식회사 보드 관리 컨트롤러를 이용한 메모리 실장 테스트 시스템의 자동화 방법
KR102456490B1 (ko) * 2016-01-12 2022-10-20 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR20180090528A (ko) * 2017-02-03 2018-08-13 삼성전기주식회사 저전력 장거리 통신 모듈의 펌웨어 업데이트 방법

Also Published As

Publication number Publication date
KR20220090851A (ko) 2022-06-30

Similar Documents

Publication Publication Date Title
US11983406B2 (en) Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11983129B2 (en) Self-configuring baseboard management controller (BMC)
US11438229B2 (en) Systems and methods for operating system deployment and lifecycle management of a smart network interface card
CN109558157B (zh) 用以保存固件设置的计算机实施方法及系统
US20140129819A1 (en) Cloud cluster system and boot deployment method for the same
US20140122860A1 (en) Cloud system and boot deployment method for the cloud system
TW201447767A (zh) 處理器模組,微伺服器和控制處理器模組的方法
US10372639B2 (en) System and method to avoid SMBus address conflicts via a baseboard management controller
KR101887632B1 (ko) Bmc 기반의 서버 랙 시스템
KR20180012181A (ko) 호스트 없는 환경에서 멀티 프로토콜을 지원하는 셀프-구성 에스에스디
US11416233B1 (en) Software upgrade system and method for a baseboard management controller configured in an information handling system
KR102462166B1 (ko) 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템
KR101849709B1 (ko) 모듈형 bmc 시스템
US10579486B2 (en) Integrated platform, server and failover method
CN109643295B (zh) 从发起者节点访问耦合到目标节点的存储器
US20240184447A1 (en) Method for using bmc as proxy nvmeof discovery controller to provide nvm subsystems to host
CN117687703B (zh) 服务器的启动方法、装置、系统、存储介质和电子设备
CN110955629B (zh) 计算装置
JP2014146216A (ja) F/wアップデート方法
KR20200107908A (ko) 멀티-모드 장치 및 그것의 동작 방법
CN117421055A (zh) 启动控制装置、方法和计算机系统

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right