KR102569484B1 - 패브릭들 기반 시스템들 상의 불휘발성 메모리 익스프레스의 인터-섀시 관리성을 지원하기 위한 시스템들 및 방법들 - Google Patents

패브릭들 기반 시스템들 상의 불휘발성 메모리 익스프레스의 인터-섀시 관리성을 지원하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR102569484B1
KR102569484B1 KR1020180118542A KR20180118542A KR102569484B1 KR 102569484 B1 KR102569484 B1 KR 102569484B1 KR 1020180118542 A KR1020180118542 A KR 1020180118542A KR 20180118542 A KR20180118542 A KR 20180118542A KR 102569484 B1 KR102569484 B1 KR 102569484B1
Authority
KR
South Korea
Prior art keywords
ethernet
bmc
chassis
switchless
management
Prior art date
Application number
KR1020180118542A
Other languages
English (en)
Other versions
KR20190066544A (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 삼성전자주식회사
Publication of KR20190066544A publication Critical patent/KR20190066544A/ko
Application granted granted Critical
Publication of KR102569484B1 publication Critical patent/KR102569484B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • 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/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

데이터 스토리지 시스템은 적어도 하나의 스위칭 이더넷 SSD 섀시 및 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들을 포함하는 복수의 이더넷 솔리드-스테이트 드라이브(SSD) 섀시들을 포함한다. 적어도 하나의 스위칭 이더넷 SSD 섀시는 이더넷 스위치, 제1 베이스보드 관리 제어기(BMC), 그리고 제1 관리 국부 지역 네트워크(LAN) 포트를 포함한다. 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나는 이더넷 리피터, 제2 BMC, 그리고 제2 관리 LAN 포트를 포함한다. 적어도 하나의 스위칭 이더넷 SSD 섀시의 제1 관리 LAN 포트 및 제2 관리 LAN 포트는 연결된다. 제1 BMC는 제1 관리 LAN 포트 및 제2 관리 LAN 포트 사이의 연결을 통해 제2 BMC로부터 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나의 상태를 수집하고, 그리고 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나 및 적어도 하나의 스위칭 이더넷 SSD 섀시의 장치 정보를 시스템 관리자에게 제공한다.

Description

패브릭들 기반 시스템들 상의 불휘발성 메모리 익스프레스의 인터-섀시 관리성을 지원하기 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR SUPPORTING INTER-CHASSIS MANAGEABILITY OF NVME OVER FABRICS BASED SYSTEMS}
본 기재는 일반적으로 데이터 스토리지 시스템 및 데이터 스토리지 시스템의 관리에 관한 것으로, 더 상세하게는 패브릭들 상의 불휘발성 메모리 익스프레스(Non-Volatile Memory express over Fabrics)(NVMe-oF)에 기반한 데이터 스토리지 시스템의 인터-섀시(inter-chassis) 관리성(manageability)을 지원하기 위한 시스템 및 방법에 관한 것이다.
패브릭들 상의 불휘발성 메모리 익스프레스(Non-Volatile Memory express over Fabrics)(NVMe-oF)에 기반한 데이터 스토리지 시스템들은 NVMe-oF 섀시 내의 다수의 NVMe-oF 장치들을 연결하는 이더넷(Ethernet) 스위치를 가질 수 있다. NVMe-oF 섀시에 포함된 이더넷 스위치는 충분한 수의 이더넷 포트들을 구비하여 이더넷 스위치가 없는 추가적인 NVMe-OF 섀시를 지원할 수 있다. 이더넷 스위치가 없는 이러한 NVMe-OF 섀시는 통상적으로 플래시에 불과한(Just a Bunch of Flash)(JBoF) 것으로 불린다.
각 NVMe-oF 섀시는 적어도 하나의 마더보드(motherboard)를 가질 수 있고, 각 마더보드는 베이스보드 관리 제어기(Baseboard Management Controller)(BMC)를 가질 수 있다. BMC는 NVMe-oF 섀시의 마더보드에 실장되는 저전력 제어기일 수 있다. BMC에 더하여, NVMe-oF 섀시의 마더보드는 이더넷 스위치, 국부(local) 중앙 처리부(CPU), 메모리 그리고 PCIe(Peripheral Component Interconnect express) 스위치를 포함한다. BMC는 NVMe-oF 섀시 및 NVMe-oF 섀시에 부착된 이더넷 SSD들에 실장된 다양한 센서들을 이용하여 대응하는 NVMe-oF 섀시의 환경 및 동작 상태들을 읽고, 그리고 시스템 관리자로부터의 명령들 또는 센서들의 상태에 기반하여 NVMe-oF 섀시 및 이더넷 SSD들을 제어할 수 있다. BMC는 시스템 관리 버스(SMBus) 및 PCIe 버스와 같은 국부 시스템 버스를 통해 NVMe-oF 섀시의 다양한 구성 요소들을 액세스 및 제어할 수 있다.
NVMe-oF에 기반한 데이터 스토리지 시스템에 대해, 다수의 NVMe-oF 섀시를 이더넷 스위치 또는 이더넷 스위치 없는 섀시와 함께 연결하기 위한 요구가 있다. 이더넷 스위치 없는 섀시는 플래시에 불과한(Just-a-Bunch-of Flash)(JBoF) 섀시로 불릴 수 있다. 일부 예들에서, JBoF 섀시는 이더넷 스위치 대신에 이더넷 리피터 또는 리타이머를 구비하여 데이터 스토리지 시스템의 비용을 줄일 수 있다. 현재, 다수의 NVMe-oF 섀시의 연결을 가능하게 하고 그리고 인터-섀시 통신을 이용한 구성, 제어 및 관리를 가능하게 하는 표준 프로토콜을 구할 수 없다.
본 발명의 목적은 감소된 비용을 갖는 NVMe-oF 그룹/도메인의 시스템 및 방법을 제공하는 데에 있다.
일 실시 예에 따르면, 데이터 스토리지 시스템은 적어도 하나의 스위칭 이더넷 SSD 섀시 및 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들을 포함하는 복수의 이더넷 솔리드-스테이트 드라이브(SSD) 섀시들을 포함한다. 적어도 하나의 스위칭 이더넷 SSD 섀시는 이더넷 스위치, 제1 베이스보드 관리 제어기(BMC), 그리고 제1 관리 국부 지역 네트워크(LAN) 포트를 포함한다. 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나는 이더넷 리피터, 제2 BMC, 그리고 제2 관리 LAN 포트를 포함한다. 적어도 하나의 스위칭 이더넷 SSD 섀시의 제1 관리 LAN 포트 및 제2 관리 LAN 포트는 연결된다. 제1 BMC는 제1 관리 LAN 포트 및 제2 관리 LAN 포트 사이의 연결을 통해 제2 BMC로부터 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나의 상태를 수집하고, 그리고 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나 및 적어도 하나의 스위칭 이더넷 SSD 섀시의 장치 정보를 시스템 관리자에게 제공한다.
다른 실시 예에 따르면, 데이터 스토리지 시스템은 이더넷 스위치, 베이스보드 관리 제어기(BMC), 그리고 관리 LAN 포트를 포함하는 스위칭 이더넷 SSD 섀시, 그리고 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시를 포함한다. 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시의 각각은 이더넷 리피터, BMC, 그리고 서로 연결되고 스위칭 이더넷 SSD의 관리 LAN 포트에 연결되는 관리 LAN 포트를 포함한다. 제2 스위치 없는 이더넷 SSD 섀시의 BMC는 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 관리 LAN 포트를 통해 제1 스위치 없는 이더넷 SSD 섀시의 BMC에 제공한다. 제1 스위치 없는 이더넷 SSD 섀시의 BMC는 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 관리 LAN 포트를 통해 스위칭 이더넷 SSD 섀시의 BMC에 제공한다. 스위칭 이더넷 SSD 섀시의 BMC는 스위칭 이더넷 SSD 섀시, 제1 스위치 없는 이더넷 SSD 섀시, 그리고 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 패브릭(fabric) 네트워크 거쳐 연결된 시스템 관리자에 제공한다.
다른 실시 예에 따르면, 방법은 도메인 내의 복수의 BMC들 중에서 후보 BMC를 선택하는 단계, 도메인은 적어도 하나의 스위칭 이더넷 SSD 및 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들을 포함하는 복수의 이더넷 솔리드-스테이트 드라이브(SSD) 섀시들을 포함하고, 도메인 내의 복수의 BMC들에 방송하여 도메인의 대표직을 청구하는 단계, 복수의 BMC들로부터 수신된 응답들에 기반하여 후보 BMC의 자격을 체크하는 단계, 그리고 자격에 기반하여 후보 BCM를 도메인의 대표 BMC로 선출하는 단계를 포함한다. 대표 BMC는 제1 이더넷 스위치를 포함하는 제1 스위칭 이더넷 SSD 섀시에 포함된다. 대표 BMC는 도메인 내의 복수의 이더넷 SSD 섀시들의 장치 정보를 수집하여 패브릭(fabric) 네트워크를 거쳐 시스템 관리자에게 제공한다.
구현 및 사건들의 조합의 다양한 신규한 상세들을 포함하는 위의 그리고 다른 선호되는 특성들이 첨부된 도면들을 참조하여 더 상세히 설명되고 그리고 청구항들에서 지목될 것이다. 여기에서 설명되는 구체적인 시스템들 및 방법들은 설명을 위해서만 보여지며 한정으로 보여지지 않음이 이해될 것이다. 이 분야에 숙련된 자들에게 이해되는 바와 같이, 여기에서 기술되는 원리들 및 특성들은 본 기재의 범위로부터 멀어지지 않으면서 다양한 그리고 수많은 실시 예들로 채용될 수 있다.
본 발명에 따르면, NVMe-oF 그룹/도메인은 이더넷 스위칭 보드 및 스위치 없는 보드를 포함한다. 스위치 없는 보드는 이더넷 스위칭 보드의 스위치를 공유한다. 따라서, 감소된 비용의 NVMe-oF 그룹/도메인의 시스템 및 방법이 제공된다.
본 명세서의 일부로 포함되는 첨부된 도면들은 현재 선호되는 실시 예를 보여주며, 위에 주어진 일반적인 설명 및 아래에 주어진 선호되는 실시 예의 상세한 설명과 함께 여기에 기술된 원리들을 설명하고 가르치는 것을 제공한다.
도 1은 일 실시 예에 따른, 이더넷 프레임 내의 IPMI 메시지의 예시적인 데이터 구조를 보여준다.
도 2a는 다른 실시 예에 따른, 다수의 보드들을 포함하는 예시적인 NVMe-oF 도메인의 구조를 보여준다.
도 2B는 다른 실시 예에 따른, 다수의 보드들을 포함하는 예시적인 NVMe-oF 도메인의 구조를 보여준다.
도 3은 일 실시 예에 따른, 도메인 내의 대표 BMC를 선출하기 위한 예시적인 순서도이다.
도 4는 일 실시 예에 따른, 도메인 내에서 대표 BMC를 교체하는 예시적인 순서도이다.
도 5는 일 실시 예에 따른, 도메인 이더넷 스위치 없는 예시적인 NVMe-oF 도메인의 도메인을 보여준다.
도 6은 일 실시 예에 따른, 예시적인 NVMe-oF 도메인의 도메인 내의 예시적인 데이터 흐름을 보여준다.
도 7은 일 실시 예에 따른, 장치 정보 요청을 처리하기 위한 순서도를 보여준다.
도면들은 반드시 일정한 비율로 그려진 것은 아니며, 도면들에 걸쳐 설명의 목적을 위해, 유사한 구조들 또는 기능들의 요소들은 일반적으로 유사한 번호들에 의해 표시된다. 도면들은 여기에 기술된 다양한 실시 예들의 설명을 가능하게 하는 것으로만 의도된다. 도면들은 여기에 기술된 가르침들의 모든 측면을 기술하지 않으며, 청구항들의 범위를 제한하지 않는다.
여기에 기술된 특성들 및 가르침들의 각각은 개별적으로 또는 다른 특성들 및 가르침들과 함께 활용되어 NVMe-oF 기반 데이터 스토리지 시스템의 인터-섀시 관리성을 지원하기 위한 시스템 및 방법을 제공할 수 있다. 이러한 추가적인 특성들 및 가르침들의 많은 것들을 활용하는(개별적으로 그리고 함께) 대표적인 예들이 첨부된 도면들을 참조하여 더 상세히 설명된다. 이러한 상세한 설명은 이 분야에 숙련된 자에게 본 가르침의 측면들을 실시하기 위한 추가적인 상세들을 가르치는 것으로만 의도되며, 청구항들의 범위를 한정하는 것으로 의도되지 않는다. 따라서, 상세한 설명에서 아래에서 기술되는 특성들의 조합들은 가장 넓은 의미에서 가르침들을 실시하는 데에 필수적이지는 않으며, 대신 본 가르침들의 특별히 대표적인 예들을 기술하기 위해서만 제공된다.
아래의 설명에서, 설명의 목적만을 위하여, 특정한 명명법이 설정되어 본 기재의 철저한 이해를 제공한다. 그러나 이러한 특정한 상세들은 본 기재의 가르침들을 실시하는 데에 필수적이지는 않음이 이 분야에 숙련된 자에게 명백할 것이다.
여기의 상세한 설명들의 일부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 기호적 표현들의 형태로 존재한다. 이러한 알고리즘적 설명들 및 표현들은 데이터 처리 분야들에 숙련된 자들에 의해 사용되어 그들의 작업의 본질들을 이 분야에 숙련된 다른 자들에게 효과적으로 전달할 수 있다. 알고리즘은 여기에서(그리고 일반적으로) 필요한 결과로 이끄는 자기-일관된(self-consistent) 일련의 단계들로 여겨진다. 단계들은 물리적 수량들의 물리적 조작들을 필요로 하는 것들이다. 보통, 필수적이지는 않지만, 이러한 수량들은 저장되고, 전송되고, 조합되고, 비교되고, 그렇지 않으면 조작되는 것이 가능한 전기적 또는 자기적 신호들의 형태를 갖는다. 때때로, 주로 통상 사용의 이유로, 이러한 신호들을 비트들, 값들, 요소들, 심볼들, 문자들, 기간들, 숫자들 등으로 표시하는 것이 편리함이 입증되어 왔다.
그러나 이러한 모든 그리고 유사한 용어들은 적절한 물리적 수량들과 연관되고 그리고 이러한 수량들에 적용되는 편리한 표지들에 불과함에 유념하여야 한다. 아래의 논의로부터 명백하듯이 특별히 다르게 언급되지 않으면, 설명의 전체에 걸쳐, "처리하는(processing)", "연산하는(computing)", "계산하는(calculating)", "판단하는(determining)", "표시하는(displaying)" 등의 용어들을 활용하는 논의들은 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전기적) 수량들로 표시되는 데이터를 컴퓨터 시스템의 메모리들 또는 레지스터들 또는 다른 정보 저장, 전송 또는 표시 장치들 내의 물리적 수량들로 유사하게 표시되는 다른 데이터로 조작 및 변환하는 컴퓨터 시스템 또는 유사한 전자 연산 장치의 활동 및 프로세스들을 가리킴이 이해될 것이다.
또한, 대표적인 예들 및 종속적인 청구항들의 다양한 특성들은 본 가르침들의 추가적인 유용한 실시 예들을 제공하기 위해 특별히 그리고 명시적으로 열거되지 않은 방식으로 조합될 수 있다. 모든 값 범위들 또는 엔티티들의 그룹들의 표시들은 청구된 주제를 한정하는 목적뿐 아니라 원 기재의 목적을 위해서도 모든 가능한 중간 값 또는 중간 엔티티를 기재함 또한 특별히 주의되어야 한다. 도면들에 보여지는 구성 요소들의 차원들 및 형태들은 본 기재가 어떻게 실시되는지 이해하는 것을 돕기 위해 설계되었으며, 예들에서 보여지는 차원들 및 형태들을 한정하는 것으로 의도되지 않음이 특별히 주의되어야 한다.
본 기재는 NVMe-oF 기반 시스템의 인터-섀시 관리성을 지원하기 위한 시스템 및 방법에 관한 것이다. NVMe-oF 프로토콜은 메시지-기반 모델을 사용하여 이더넷, 파이버 채널(Fibre Channel), 그리고 인피니밴드(InfiniBand)같은 패브릭 네트워크를 통해 호스트 컴퓨터 및 목표 스토리지 장치 사이의 명령들 및 응답들을 교환하기 위한 전송-매핑 메커니즘을 제공한다. 본 시스템은 시스템 관리자가 각 개별 NVMe-oF 도메인의 BMC들을 직접 관리하지 않고 BMC들의 그룹 또는 도메인을 관리하는 것을 가능하게 한다. 각 그룹/도메인에서, 그룹/도메인의 BMC들의 하나는 그룹/도메인의 "대표(president)"로 기능하도록 지정된다. 대표는 그룹/도메인 내의 다른 BMC들의 발견 정보를 제공할 수 있다. 대표는 또한 그룹/도메인의 모든 BMC들의 상태를 관리하고 그리고 시스템 관리자에게 보고할 수 있다. 시스템 관리자는 대표에 접촉하여 모든 구성원 BMC들의 상태를 획득하고 그리고 대표 BMC를 프록시로 사용하여 그룹/도메인의 특정한 구성원 BMC 또는 모든 구성원 BMC들에 특정한 활동들을 수행할 수 있다.
도메인/그룹의 관리성(manageability)을 달성하기 위하여, 대표 시스템은 다수의 BMC들을 연결하는 연결성 토폴로지(connectivity topology)를 필요로 한다. 일 실시 예에 따르면, 본 시스템 및 방법은 그룹/도메인 내의 BMC들 사이에 연결성을 제공하는 외부의 관리 스위치를 제공한다. 각 NVMe-oF 섀시의 관리 LAN 포트는 관리 스위치(예를 들어, 1Gb 스위치)에 연결될 수 있다. 일부 실시 예들에서, NVMe-oF 섀시의 관리 LAN 포트들의 일부분은 데이지 체인으로 연결될 수 있다.
일 실시 예에 따르면, 본 시스템 및 방법은 인터-BMC(inter-BMC) 통신 프로토콜들을 제공한다. 예를 들어, 새로운 IPMI 명령들이 추가되어 표준 LAN 상의 IPMI(IPMI-over-LAN) 프로토콜을 확장하여 인터-섀시 관리성을 가능하게 할 수 있다. UDP/IP의 최상단의 확장된 IPMI 프로토콜은 표준 LAN 상의 IPMI 프로토콜이 적합하지 않은 도메인 통신, 발견 등과 같은 특성들을 제공할 수 있다. 현존하는 시스템 정보에 더하여, 본 시스템 및 방법은 도메인 내의 이더넷 SSD 보드들의 구성, 도메인 내의 스위칭 보드들의 네트워크 구성, 정적 IP들을 보드들에 부착된 이더넷 SSD들(eSSD들)에 할당, 그리고 동적 호스트 구성 프로토콜(DHCP) 클라이언트를 재시작을 포함하지만 이에 한정되지 않는 새로운 시스템 정보의 교환을 지원할 수 있다.
올라오는 첫 번째 BMC는 도메인 대표로 선택될 수 있고, 또는 도메인/그룹 내의 특정한 BMC가 대표로 지정될 수 있다. 일부 실시 예들에서, 시스템 관리자는 대표로 선출될 수 있는 BMC들의 목록 및 랭크를 유지한다. 일부 실시 예들에서, 대표의 선출은 중재(arbitration)를 통해 행해질 수 있다. 대표 BMC가 사용 불능일 때, 다음 대표가 나머지 능동 구성원 BMC들로부터 선택될 수 있다.
일반적으로, NVMe-oF 섀시의 BMC는 관리 국부 지역 네트워크(LAN)를 거쳐 관리자에 연결될 수 있다. 시스템 관리자는 관리 LAN을 거쳐 지능형 플랫폼 관리 인터페이스(Intelligent Platform Management Interface)(IPMI)를 통해 다수의 NVMe-oF 섀시들을 관찰할 수 있다. IPMI 프로토콜은 IPMI 메시지들을 이용하여 관리 LAN을 통해 시스템 관리자 및 BMC 사이의 통신을 허용한다. IPMI 메시지는 분산 관리 태스크 포스(Distributed Management Task Force)(DMTF)에 의해 정의된 대로 원격 관리 제어 프로토콜(Remote Management Control Protocol)(RMCP/RMCP+) 패킷에 캡슐화된다.
도 1은 이더넷 프레임 내의 IPMI 메시지의 예시적인 데이터 구조를 보여준다. IPMI 메시지(105)는 네트워크 함수(NetFn), 논리 유닛 번호(LUN), 시퀀스 번호(Seq#), 명령(CMD), 그리고 데이터를 포함한다. IPMI 메시지(105)는 이더넷 프레임(101)에 감싸질 수 있다. 이더넷 프레임(101)은 MAC 주소를 포함하고, 그리고 IP/UDP 패킷(102)을 감싼다. IP/UDP 패킷(102)은 IP 주소 및 RMCP 포트 번호를 포함하고, 그리고 RMCP 메시지(103)를 감싼다. RMCP 메시지(103)는 메시지의 클래스(예를 들어, IPMI) 및 RMCP 시퀀스 번호를 포함하고, 그리고 IPMI 패킷(104)을 감싼다. IPMI 패킷(104)은 세션 래퍼를 포함하고, 그리고 IPMI 메시지(105)를 포함한다.
일 실시 예에 따르면, 본 시스템 및 방법은 서로 다른 NVMe-oF 섀시들 사이에 인터-섀시 통신을 가능하게 하여 시스템 비용을 최소화한다. 비용 절감을 달성하기 위해, 도메인/그룹 내의 하나의 NVMe-oF 섀시는 이더넷 스위치를 포함하고 다른 섀시는 그렇지 않을 수 있다. 이러한 경우에, 이더넷 스위치가 결핍된 섀시는 비싼 이더넷 스위치를 포함하지 않는 것을 제외하면 이더넷 스위치 보드를 포함하는 섀시와 유사한 스위치 없는 보드를 포함할 수 있다. 다음의 설명은 다수의 BMC들 사이의 이더넷 연결에 기반한다. 그러나 본 시스템 및 방법은 다른 타입의 네트워크-기반 연결 및 프로토콜들을 사용할 수 있음이 이해될 것이다. 본 시스템 및 방법은 인터-섀시 통신의 구현을 위한 네트워크 케이블이 아닌 다른 추가적인 케이블(들)을 필요로 하지 않는다.
일 실시 예에 따르면, 본 기재는 다수의 BMC들 사이에 외부의 이더넷 스위치를 통한 인터-섀시 통신을 제공하고, 그리고 다중-섀시 NVMe-oF 도메인의 비용 효율적인 관리성을 제공한다. 인터-섀시 통신은 확장된 IPMI 프로토콜을 갖는 표준 인터페이스를 이용하여 구현될 수 있다.
도 2a는 일 실시 예에 따른 다수의 보드들을 포함하는 예시적인 NVMe-oF 도메인의 구조를 보여준다. NVMe-oF 도메인(200A)은 두 개의 NVMe-oF 섀시들(250A, 250B)을 포함하고, NVMe-oF 섀시들(250A, 250B)의 각각은 동일한 종류의 두 개의 NVMe-oF 보드들(201)(즉, 이더넷 스위칭 보드들 또는 스위치 없는 보드들)을 포함한다. 본 예에서, 제1 NVMe-oF 섀시(250A)는 두 개의 스위칭 보드들(201A, 201B)을 포함하고, 제2 NVMe-oF 섀시(250B)는 두 개의 스위치 없는 보드들(201C, 201D)을 포함한다. NVMe-oF 도메인(200A)은 여기에서 또한 NVMe-oF 클러스터 또는 eSSD 클러스터로 지칭될 수 있다. 일부 실시 예들에서, 하나 또는 그보다 많은 이더넷 스위칭 보드들을 포함하는 NVMe-oF 섀시는 이더넷 스위칭 섀시 또는 이더넷 스위칭 SSD 섀시로 지칭될 수 있다.
스위칭 보드들(201A, 201B) 모두는 이더넷 스위치(205)를 포함하고, 스위치 없는 보드들(201C, 201D)은 이더넷 스위치(205) 대신에 리피터(207)(또는 리타이머)를 포함한다. NVMe-oF 도메인(200A)은 일 예로서 두 개의 스위칭 보드들 및 두 개의 스위치 없는 보드들로 구성됨에 주의하여야 하며, NVMe-oF 도메인(200A)은 본 기재의 범위로부터 벗어나지 않으면서 복수의 NVMe-oF 섀시들 내에 이보다 많은 또는 적은 수의 상이한 종류의 보드들을 포함하는 다른 구성을 가질 수 있음이 이해될 것이다.
NVMe-oF 보드들(201)의 각각은 다른 구성 요소들 및 모듈들, 예를 들어 국부 CPU(202), BMC(203), PCIe 스위치(206), 업링크 이더넷 포트들(211), 다운링크 이더넷 포트들(212), 그리고 관리 LAN 포트(215)를 포함할 수 있다. 몇몇 이더넷 솔리드 스테이트 드라이브들(eSSD들)은 미드플레인(261)을 통해 NVMe-oF 보드(201)의 장치 포트들에 삽입될 수 있다. 예를 들어, eSSD들의 각각은 미드플레인(261)의 U.2 커넥터(미도시)에 연결된다. 드라이브 베이에 삽입되고 미드플레인(261)과 접합된 eSSD는 여기에서 또한 NVMe-oF 장치 또는 이더넷 SSD(eSSD)로 지칭될 수 있다. 자신의 내부 이더넷 스위치가 결핍된 NVMe-oF 섀시 보드들(201C, 201D)은 여기에서 또한 NVMe-oF JBoF(Just a Bunch of Flash)로 지칭된다.
관리 LAN(미도시)은 NVMe-oF 도메인(200A) 내의 모든 NVMe-oF 보드들(201)의 관리 LAN 포트들(215)에 연결되는 관리 이더넷 스위치(260)를 포함한다. 관리 LAN 포트(215)는 이더넷 포트일 수 있다. 스위칭 또는 스위치 없는 보드들(201)의 BMC들(203)은 관리 LAN 포트(215)를 통해 관리 이더넷 스위치(260)에 연결된다. 관리 이더넷 스위치(260)는 다수의 NVMe-oF 섀시들(250) 및 시스템 관리자 사이에 연결성을 제공하여 시스템 관리자가 지능형 플랫폼 관리 인터페이스(IPMI) 프로토콜을 이용하여 관리 LAN 포트들(215)을 거쳐 NVMe-oF 섀시를 관찰할 수 있게 한다. 또한, BMC(203)는 NVMe-oF 섀시들(250)의 에러들을 IPMI 프로토콜을 통해 시스템 관리자에게 보고할 수 있다. 일 실시 예에서, 관리 이더넷 스위치(260)는 NVMe-oF 섀시(250A 또는 250B)와 분리된 섀시에, 그러나 동일한 랙(rack) 내에 포함될 수 있다. 스위치 없는 보드(201C 또는 201D)의 업링크 이더넷 포트들(211)은 결합된 스위칭 보드(201A 또는 201B)의 내부 이더넷 스위치(205)와 연결되어, 호스트 컴퓨터(또는 개시자(initiator)) 및 스위치 없는 보드(201C 또는 201D)에 부착된 목표 eSSD들 사이의 이더넷 트래픽을 라우팅할 수 있다.
NVMe-oF 도메인(200A)은 적어도 하나의 대표 BMC(203)를 가질 수 있다. NVMe-oF 도메인(200A)의 대표 BMC는 여러 방법들로 선출될 수 있다. 이더넷 스위치를 포함하는 단 하나의 스위칭 보드를 갖는 도메인에서, 스위칭 NVMe-oF 보드의 BMC는 기본적으로 대표 BMC로 선출된다. 나머지 스위치 없는 보드들은 실장된 이더넷 스위치가 없는 JBoF이다. 이 경우에, 스위치 없는 보드들의 JBoF들은 스위칭 보드의 이더넷 스위치(205)에 연결되고, 이들은 이더넷 스위치(205)가 장착된 스위칭 보드를 통해 기능한다.
다수의 BMC들을 포함하는 다수의 스위칭 보드들을 갖는 그룹/도메인에서, BMC의 업타임(즉, 파워 다운 또는 페일 없는 BMC들의 연속적인 실행 시간 구간)이 사용되어, 도메인 내의 모든 자격 있는 후보 BMC들의 업타임을 비교함으로써 대표 BMC를 결정할 수 있다. 그룹/도메인 내의 일부 BMC들이 대표 BMC로서 자격을 갖거나 갖지 않는 것이 가능하다. 예를 들어, 가장 긴 업타임을 갖는 BMC가 대표 BMC로 선출된다. 다른 예에서, 후보 BMC들 중에서 가장 낮은 또는 가장 높은 IP 주소를 갖는 BMC가 대표 BMC로 선출될 수 있다.
도 2b는 다른 실시 예에 따른 다수의 보드들을 포함하는 예시적인 NVMe-oF 도메인의 구조를 보여준다. 관리 이더넷 스위치가 없는 것을 제외하면, NVMe-oF 도메인(200B)은 도 2a의 NVMe-oF 도메인(200A)과 실질적으로 유사하다. 이 경우에, BMC들(203C 및 203D)은 대표 BMC, 예를 들어 스위칭 보드(201A)의 BMC(203A)에 각각의 관리 LAN 포트들(215)을 통해 보고한다. 고 가용성(HA)(High Availability) 모드를 지원하기 위해 NVMe-oF 섀시(예를 들어, NVMe-oF 섀시(250A))에 두 개의 스위칭 보드들이 존재할 때, BMC들 중 하나(예를 들어, BMC(203A))는 활성이고 다른 BMC(예를 들어, BMC(203B))는 비활성이다. 대표가 아닌 BMC들(예를 들어, BMC들(203C, 203D))의 어느 것도 도메인 내의 다른 BMC들의 정보를 수집하고, 그리고 수집된 정보를 데이지 체인에서 대표 BMC(203A)에 보고할 수 있다. 예를 들어, BMC(203C)는 하나 또는 그보다 많은 다른 NVMe-oF 섀시들(미도시)의 상태를 BMC들 사이의 통신을 통해 보고할 수 있다. 대표 BMC(203A)가 페일되거나 파워 다운되는 경우에, 스위칭 보드(201B)의 BMC(203B)는 대표 BMC로 선출되고, 그리고 도메인 내의 NVMe-oF 섀시들의 상태를 시스템 관리자에게 보고할 수 있다.
도 3은 일 실시 예에 따른 도메인 내에서 대표 BMC를 선출하기 위한 예시적인 순서도이다. 초기화 프로세스가 시작한 후에(301), 도메인 내의 BMC들은 부팅을 성공적으로 완료하고 대기한다(302). 예를 들어, 도메인은 도 2에 도시된 바와 같이 스위칭 또는 스위치 없는 이더넷 SSD 섀시를 포함하는 하나 또는 그보다 많은 섀시들을 포함할 수 있다. 다른 예에서, 도메인은 동일 랙(rack)의 내에 또는 데이터 센터 내의 다수의 랙들에 걸쳐 하나보다 많은 NVMe-oF 섀시들을 포함할 수 있다. 후보 BMC는 기본 선택 기준에 기반하여 선택되고(303), 그리고 다른 동료 BMC들에 방송하여 대표직을 청구한다(304). 예를 들어, 후보 BMC는 가장 긴 업타임을 갖는 스위칭 보드의 BMC일 수 있다. 단 하나의 후보 BMC만 갖는 도메인에서, 유일한 후보 BMC는 다른 동료 BMC들로의 방송 없이 대표직을 청구할 수 있다. 다른 예에서, 후보 BMC는 업타임이 아닌 다른 선택 기준, 예를 들어 IP 주소, 서비스 세트 식별자(SSID)(Service Set IDentifier), MAC 주소, 또는 다른 고유한 식별자들에 기반하여 선택될 수 있다. 동료 BMC들에 의해 반대가 발생하지 않으면(305), 후보 BMC는 대표 BMC로 선출된 것으로 확정되고(311), 그리고 선출 프로세스가 완료된다(312). 동료 BMC들에 의해 반대가 발생하면(305), 스위칭 보드의 다음 후보 BMC가 선택된다(306). 예를 들어, 두 번째로 긴 업타임을 갖는 스위칭 보드의 BMC가 선택된다. 선택된 후보 BMC가 거절된 이전 후보 BMC와 동일한 자격을 가지면(307), 후보 BMC는 대표 BMC로 선출될 수 있다(311). 후보 BMC의 자격이 이전에 거절된 후보 BMC와 다르면, 후보 BMC는 다른 동료 BMC들에 방송하여 대표직을 주장한다(304). 프로세스는 대표 BMC가 선출될 때까지 반복한다. 대표 BMC가 선출되지 않으면, 에러가 시스템 관리자에게 보고된다.
도 4는 일 실시 예에 따른 도메인에서 대표 BMC를 교체하는 것의 예시적인 순서도이다. 현재 대표 BMC가 실패하고 그리고 시스템 관리자가 대표 BMC에 대한 문제의 보고를 수신한 때에 페일오버 프로세스가 시작한다. 우선, 페일된 대표 BMC가 둘 또는 그보다 많은 스위칭 보드들을 포함하는 HA 섀시 내에 위치하는지 체크된다(402). 그렇다면, 동일한 HA 섀시 내의 대기 중인 BMC가 대표직을 넘겨받고(405), 프로세스가 완료된다(405). 페일된 대표 BMC로부터 다른 동료 BMC들로 더 이상 심박동이 전송되지 않음이 확정되면(403), 대표 선출 프로세스가 도 3에 도시된 바와 같이 다시 시작된다(404).
도 5는 일 실시 예에 따른 도메인 이더넷 스위치가 없는 예시적인 NVMe-oF의 도메인을 보여준다. 도메인(520)은 스위칭 보드(501) 및 복수의 스위치 없는 보드들(JBoF들)을 포함한다. 스위칭 보드(501) 및 스위치 없는 보드들(502)의 각각은 데이지 체인으로 서로 연결되는 두 개의 이더넷 포트들(eth[0], eth[1])을 갖는다. 이더넷 포트들(eth[0], eth[1])은 도 2a 및 도 2b의 관리 LAN 포트들(215)을 나타낸다. 예를 들어, JBoF(520A)의 제1 이더넷 포트(eth[0])는 스위칭 보드(501)의 제1 이더넷 포트(eth[0])와 연결되고, 그리고 JBoF(502A)의 제2 이더넷 포트(eth[1])는 다음 JBoF(502B)의 제2 이더넷 포트(eth[1])에 연결된다. 이더넷 포트들의 데이지 체인 연결은 스위칭 보드(501)의 대표 BMC가 JBoF들(502)의 동료 BMC들과 통신하게 한다. 대표 BMC는 도메인(520)의 내의 JBoF들(502)의 장치 정보를 관리하고 네트워크(560)(예를 들어, 이더넷)를 통해 관리 서버(550)에 보고할 수 있다. 본 예는 도메인(520) 내에 하나의 스위칭 보드 및 세 개의 스위치 없는 보드들을 보여주지만, 적어도 하나의 스위칭 보드 및 임의의 개수의 스위치 없는 보드들이 본 기재의 범위로부터 벗어나지 않으면서 도메인(520) 내에 포함될 수 있음이 이해될 것이다.
도 6은 일 실시 예에 따른 예시적인 NVMe-oF 도메인의 도메인 내의 예시적인 데이터 흐름을 보여준다. 스위칭 보드 또는 스위치 없는 보드의 장치 정보(601a)는 BMC ID, 장치-특화 정보, 그리고 다음 BMC ID를 포함한다. 다음 BMC ID는 다른 하나의 장치 정보(601b) 등을 가리킨다. 대표 BMC는 도메인 내의 이더넷 SSD 보드들의 장치 정보를 수집 및 종합하고, 시스템 관리자에게 보고할 수 있다. 대표 BMC는 또한 시스템 관리자로부터 명령들을 수신하여 도메인 내의 BMC들 사이의 피어-투-피어 통신을 통해 특정한 보드에 대해 활동(예를 들어, 구성 또는 파라미터들을 변경)할 수 있다.
도 5를 참조하면, 본 NVMe-oF 도메인은 도메인 이더넷 스위치를 포함하지 않음으로써 시스템의 비용을 줄이고 구성을 단순화할 수 있다. 본 NVMe-oF 도메인은 피어-투-피어 통신 및 관리를 제공한다. 대표 BMC가 선출되면, 대표 BMC는 요청을 전송할 수 있고, 요청은 직접 연결 또는 하나 또는 그보다 많은 중간 보드들을 통한 데이지 체인 연결을 통해 목표 BMC로 전달될 수 있다. 대표 BMC는 도메인 내의 각 BMC로부터 장치 정보를 수집 및 종합하고 네트워크를 통해 시스템 관리자에게 보고할 수 있다.
일 실시 예에 따르면, 본 시스템 및 방법은 순환 요청 프로세스 메커니즘을 제공하여 동일한 도메인 내의 모든 BMC 장치 정보를 수집한다. 각 BMC는 자신의 BMC 식별자 및 업스트림 포트 및 다운스트림 포트를 포함하는 두 개의 관리 LAN 포트들을 갖는다. 업스트림 포트 및 다운스트림 포트의 각각은 고유한 IP 주소 및 MAC 주소를 가질 수 있다. 각 BMC는 자신의 장치 정보를 관리할 책임이 있다. BMC는 다운스트림 BMC ID를 발견하고, 다운스트림 포트를 통해 수신된 다운스트림 BMC로부터의 장치 정보를 업스트림 포트를 통해 업스트림 BMC로 전달할 책임이 있다. 대표 BMC는 보고할 업스트림 포트를 갖지 않을 수 있다. 대신, 대표 BMC는 BMC 발견을 동료 BMC들에 촉발시키고, 동료 BMC들로부터의 장치 정보를 처리하여 도메인 내에서 새로이 추가된 BMC의 추가 또는 기존 BMC의 제거를 식별하고, 그리고 필요한 관리 작업들을 수행할 수 있다. 데이지 체인의 말단의 말단 BMC는 다운스트림 BMC를 갖지 않을 수 있다. 이 경우에, 말단 BMC는 업스트림 BMC가 문의할 때에 자신의 장치 정보를 업스트림 BMC에 보고한다.
도 7은 일 실시 예에 따른 장치 정보 요청을 처리하기 위한 순서도를 보여준다. 도메인 내의 BMC는 도메인 내의 업스트림 BMC 또는 대표 BMC로부터 요청을 시작/수신한다(701). 요청에 응답하여, BMC는 자신의 국부 장치 정보를 처리하고(702), 그리고 요청하는 BMC에 보고하기 위한 장치 정보를 갱신한다(703). 다음 BMC ID가 유효이면(704), 다시 말하면 BMC가 데이지 체인 내에서 다운스트림 BMC를 가지면, BMC는 요청을 다음 BMC에 전송하여 자신의 장치 정보를 전송하게 하고(707), 요청된 장치 정보를 다음 BMC로부터 수신하고(708), 그리고 다운스트림 BMC로부터의 장치 정보를 첨부하여 장치 정보를 갱신한다(703). 유효한 다음 BMC가 없으면, BMC는 수집된 장치 정보를 요청한 BMC에 전송하고(705), 프로세스를 종료한다(706).
일 실시 예에 따르면, 데이터 스토리지 시스템은 적어도 하나의 스위칭 이더넷 SSD 섀시 및 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들을 포함하는 복수의 이더넷 솔리드-스테이트 드라이브(SSD) 섀시들을 포함한다. 적어도 하나의 스위칭 이더넷 SSD 섀시는 이더넷 스위치, 제1 베이스보드 관리 제어기(BMC), 그리고 제1 관리 국부 지역 네트워크(LAN) 포트를 포함한다. 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나는 이더넷 리피터, 제2 BMC, 그리고 제2 관리 LAN 포트를 포함한다. 적어도 하나의 스위칭 이더넷 SSD 섀시의 제1 관리 LAN 포트 및 제2 관리 LAN 포트는 연결된다. 제1 BMC는 제1 관리 LAN 포트 및 제2 관리 LAN 포트 사이의 연결을 통해 제2 BMC로부터 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나의 상태를 수집하고, 그리고 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나 및 적어도 하나의 스위칭 이더넷 SSD 섀시의 장치 정보를 시스템 관리자에게 제공한다.
데이터 스토리지 시스템은 관리 이더넷 스위치를 더 포함한다. 제1 BMC는 제1 관리 LAN 포트를 통해 관리 이더넷 스위치에 연결되고, 제2 BMC는 제2 관리 LAN 포트를 통해 관리 이더넷 스위치에 연결된다. 제1 BMC는 하나 또는 그보다 많은 스위치 없는 이더넷 섀시들의 적어도 하나 및 적어도 하나의 스위칭 이더넷 SSD 섀시의 장치 정보를 관리 이더넷 스위치를 통해 시스템 관리자에게 제공한다.
적어도 하나의 스위칭 이더넷 섀시는 패브릭(fabric) 네트워크를 통해 호스트 컴퓨터 및 데이터 스토리지 시스템 사이의 메시지들의 전송을 지원한다.
시스템 관리자는 지능형 플랫폼 관리 인터페이스(IPMI) 메시지를 이용하여 데이터 스토리지 시스템 내의 제1 BMC 및 제2 BMC 중 하나에 요청 또는 명령을 전송한다.
요청 또는 명령은 도메인 내의 새로이 추가된 이더넷 SSD의 발견, 그리고 정적 IP들을 이용 또는 동적 호스트 구성 프로토콜(DHCP)을 통해 복수의 이더넷 SSD 섀시들 중 하나에 부착된 하나 또는 그보다 많은 이더넷 SSD들의 재시작 및 구성을 지원한다.
하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나는 이더넷 SSD들(eSSD들)을 더 포함한다.
다른 실시 예에 따르면, 데이터 스토리지 시스템은 이더넷 스위치, 베이스보드 관리 제어기(BMC), 그리고 관리 LAN 포트를 포함하는 스위칭 이더넷 SSD 섀시, 그리고 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시를 포함한다. 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시의 각각은 이더넷 리피터, BMC, 그리고 서로 연결되고 스위칭 이더넷 SSD의 관리 LAN 포트에 연결되는 관리 LAN 포트를 포함한다. 제2 스위치 없는 이더넷 SSD 섀시의 BMC는 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 관리 LAN 포트를 통해 제1 스위치 없는 이더넷 SSD 섀시의 BMC에 제공한다. 제1 스위치 없는 이더넷 SSD 섀시의 BMC는 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 관리 LAN 포트를 통해 스위칭 이더넷 SSD 섀시의 BMC에 제공한다. 스위칭 이더넷 SSD 섀시의 BMC는 스위칭 이더넷 SSD 섀시, 제1 스위치 없는 이더넷 SSD 섀시, 그리고 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 패브릭(fabric) 네트워크 거쳐 연결된 시스템 관리자에 제공한다.
패브릭 네트워크는 이더넷, 파이버(Fibre) 채널 인피니밴드(InfiniBand)의 하나이다.
스위칭 이더넷 SSD 섀시는 패브릭 네트워크를 통해 호스트 컴퓨터 및 데이터 스토리지 시스템 사이의 메시지들의 전송을 지원한다.
시스템 관리자는 지능형 플랫폼 관리 인터페이스(IPMI) 메시지를 이용하여 스위칭 이더넷 SSD 섀시의 BMC에 요청 또는 명령을 전송한다.
요청 또는 명령은 도메인 내의 새로이 추가된 이더넷 SSD의 발견, 그리고 정적 IP들을 이용 또는 동적 호스트 구성 프로토콜(DHCP)을 통해 복수의 이더넷 SSD 섀시들 중 하나에 부착된 하나 또는 그보다 많은 이더넷 SSD들의 재시작 및 구성을 지원한다.
제1 및 제2 스위치 없는 이더넷 SSD 섀시들은 하나 또는 그보다 많은 이더넷 SSD들(eSSD들)을 더 포함한다.
다른 실시 예에 따르면, 방법은 도메인 내의 복수의 BMC들 중에서 후보 BMC를 선택하는 단계, 도메인은 적어도 하나의 스위칭 이더넷 SSD 및 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들을 포함하는 복수의 이더넷 솔리드-스테이트 드라이브(SSD) 섀시들을 포함하고, 도메인 내의 복수의 BMC들에 방송하여 도메인의 대표직을 청구하는 단계, 복수의 BMC들로부터 수신된 응답들에 기반하여 후보 BMC의 자격을 체크하는 단계, 그리고 자격에 기반하여 후보 BCM를 도메인의 대표 BMC로 선출하는 단계를 포함한다. 대표 BMC는 제1 이더넷 스위치를 포함하는 제1 스위칭 이더넷 SSD 섀시에 포함된다. 대표 BMC는 도메인 내의 복수의 이더넷 SSD 섀시들의 장치 정보를 수집하여 패브릭(fabric) 네트워크를 거쳐 시스템 관리자에게 제공한다.
복수의 이더넷 SSD 섀시들의 장치 정보는 데이지 체인을 통해 도메인 내의 복수의 BMC들 사이의 피어-투-피어 통신에 의해 수집된다.
하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들은 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시를 포함한다. 제2 스위치 없는 이더넷 SSD 섀시는 제1 스위치 없는 이더넷 SSD 섀시의 관리 LAN 포트에 연결되는 관리 LAN 포트를 갖는다. 제2 스위치 없는 이더넷 SSD 섀시의 BMC는 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 제1 스위치 없는 이더넷 SSD 섀시의 BMC에 전송한다.
제1 스위치 없는 이더넷 SSD 섀시들의 BMC는 제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 대표 BMC에 전송한다.
제1 및 제2 스위치 없는 이더넷 SSD 섀시는 하나 또는 그보다 많은 이더넷 솔리드-스테이트 드라이브들(eSSDs)을 더 포함한다.
제1 이더넷 스위치는 도메인에서 가장 긴 업타임을 갖는다.
방법은 대표 BMC가 다운되거나 사용 불능임을 판단하는 단계, 도메인에서 복수의 BMC들 중에서 제2 후보 BMC를 선택하는 단계, 제2 후보 BMC는 제2 이더넷 스위치를 갖는 제2 스위칭 이더넷 SSD 섀시에 포함되고, 그리고 새로운 대표 BMC를 선출하는 단계를 더 포함한다.
위의 예시적인 실시 예들은 NVMe-oF 기반 데이터 스토리지 시스템의 인터-섀시 관리성을 지원하기 위한 시스템 및 방법을 구현하는 것의 다양한 실시 예들을 보여주기 위해 여기의 위에서 설명되었다. 기술된 예시적인 실시 예들로부터의 다양한 수정들 및 변형들이 이 분야에 통상의 기술을 가진 자들에게 일어날 수 있다. 발명의 범위에 속하도록 의도되는 주제는 다음의 청구항들에서 정해진다.
200: NVMe-oF 그룹/도메인
201: 보드
202: 중앙 처리부
203: 베이스보드 관리 제어기(BMC)
205: 이더넷 스위치
206: PCIe 스위치
207: 리피터
211: 업링크 이더넷 포트들
212: 다운링크 이더넷 포트들
215: 관리 LAN 포트들
260: 관리 이더넷 스위치
261: 미드플레인

Claims (10)

  1. 데이터 스토리지 시스템에 있어서:
    적어도 하나의 스위칭 이더넷 SSD 섀시 및 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들을 포함하는 복수의 이더넷 솔리드-스테이트 드라이브(SSD) 섀시들을 포함하고,
    상기 적어도 하나의 스위칭 이더넷 SSD 섀시는 이더넷 스위치, 제1 베이스보드 관리 제어기(BMC), 그리고 제1 관리 국부 지역 네트워크(LAN) 포트를 포함하고,
    상기 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 적어도 하나는 이더넷 리피터, 제2 BMC, 그리고 제2 관리 LAN 포트를 포함하고,
    상기 적어도 하나의 스위칭 이더넷 SSD 섀시의 상기 제1 관리 LAN 포트 및 상기 제2 관리 LAN 포트는 연결되고, 그리고
    상기 제1 BMC는 상기 제1 관리 LAN 포트 및 상기 제2 관리 LAN 포트 사이의 연결을 통해 상기 제2 BMC로부터 상기 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 상기 적어도 하나의 상태를 수집하고, 그리고 상기 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 상기 적어도 하나 및 상기 적어도 하나의 스위칭 이더넷 SSD 섀시의 장치 정보를 시스템 관리자에게 제공하는 데이터 스토리지 시스템.
  2. 제1항에 있어서,
    상기 데이터 스토리지 시스템은 관리 이더넷 스위치를 더 포함하고,
    상기 제1 BMC는 상기 제1 관리 LAN 포트를 통해 상기 관리 이더넷 스위치에 연결되고, 상기 제2 BMC는 상기 제2 관리 LAN 포트를 통해 상기 관리 이더넷 스위치에 연결되고, 그리고
    상기 제1 BMC는 상기 하나 또는 그보다 많은 스위치 없는 이더넷 섀시들의 상기 적어도 하나 및 상기 적어도 하나의 스위칭 이더넷 SSD 섀시의 상기 장치 정보를 상기 관리 이더넷 스위치를 통해 상기 시스템 관리자에게 제공하는 데이터 스토리지 시스템.
  3. 제1항에 있어서,
    상기 적어도 하나의 스위칭 이더넷 SSD 섀시는 패브릭(fabric) 네트워크를 통해 호스트 컴퓨터 및 상기 데이터 스토리지 시스템 사이의 메시지들의 전송을 지원하는 데이터 스토리지 시스템.
  4. 제3항에 있어서,
    상기 시스템 관리자는 지능형 플랫폼 관리 인터페이스(IPMI) 메시지를 이용하여 상기 데이터 스토리지 시스템 내의 상기 제1 BMC 및 상기 제2 BMC 중 하나에 요청 또는 명령을 전송하는 데이터 스토리지 시스템.
  5. 제4항에 있어서,
    상기 요청 또는 명령은 도메인 내의 새로이 추가된 이더넷 SSD의 발견, 그리고 정적 IP들을 이용한 또는 동적 호스트 구성 프로토콜(DHCP)을 통해 상기 복수의 이더넷 SSD 섀시들 중 하나에 부착된 하나 또는 그보다 많은 이더넷 SSD들의 재시작 및 구성을 지원하는 데이터 스토리지 시스템.
  6. 제1항에 있어서,
    상기 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들의 상기 적어도 하나는 이더넷 SSD들(eSSD들)을 더 포함하는 데이터 스토리지 시스템.
  7. 데이터 스토리지 시스템에 있어서:
    이더넷 스위치, 베이스보드 관리 제어기(BMC), 그리고 관리 LAN 포트를 포함하는 스위칭 이더넷 SSD 섀시; 그리고
    제1 스위치 없는 이더넷 SSD 섀시 및 제2 스위치 없는 이더넷 SSD 섀시를 포함하고,
    상기 제1 스위치 없는 이더넷 SSD 섀시 및 상기 제2 스위치 없는 이더넷 SSD 섀시의 각각은 이더넷 리피터, BMC, 그리고 서로 연결되고 상기 스위칭 이더넷 SSD의 상기 관리 LAN 포트에 연결되는 관리 LAN 포트를 포함하고,
    상기 제2 스위치 없는 이더넷 SSD 섀시의 상기 BMC는 상기 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 상기 관리 LAN 포트를 통해 상기 제1 스위치 없는 이더넷 SSD 섀시의 상기 BMC에 제공하고,
    상기 제1 스위치 없는 이더넷 SSD 섀시의 상기 BMC는 상기 제1 스위치 없는 이더넷 SSD 섀시 및 상기 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 상기 관리 LAN 포트를 통해 상기 스위칭 이더넷 SSD 섀시의 상기 BMC에 제공하고, 그리고
    상기 스위칭 이더넷 SSD 섀시의 상기 BMC는 상기 스위칭 이더넷 SSD 섀시, 상기 제1 스위치 없는 이더넷 SSD 섀시, 그리고 상기 제2 스위치 없는 이더넷 SSD 섀시의 장치 정보를 패브릭(fabric) 네트워크 거쳐 연결된 시스템 관리자에 제공하는 데이터 스토리지 시스템.
  8. 제7항에 있어서,
    상기 패브릭 네트워크는 이더넷, 파이버(Fibre) 채널 인피니밴드(InfiniBand) 중의 하나인 데이터 스토리지 시스템.
  9. 데이터 스토리지 시스템의 동작 방법에 있어서:
    상기 데이터 스토리지 시스템이 상기 데이터 스토리지 시스템의 도메인 내의 복수의 BMC들 중에서 후보 BMC를 선택하는 단계;
    상기 도메인은 적어도 하나의 스위칭 이더넷 SSD 및 하나 또는 그보다 많은 스위치 없는 이더넷 SSD 섀시들을 포함하는 복수의 이더넷 솔리드-스테이트 드라이브(SSD) 섀시들을 포함하고;
    상기 데이터 스토리지 시스템이 도메인 내의 상기 복수의 BMC들에 방송하여 상기 도메인의 대표직을 청구하는 단계;
    상기 데이터 스토리지 시스템이 상기 복수의 BMC들로부터 수신된 응답들에 기반하여 상기 후보 BMC의 자격을 체크하는 단계; 그리고
    상기 데이터 스토리지 시스템이 상기 자격에 기반하여 상기 후보 BMC를 상기 도메인의 대표 BMC로 선출하는 단계를 포함하고,
    상기 대표 BMC는 제1 이더넷 스위치를 포함하는 제1 스위칭 이더넷 SSD 섀시에 포함되고,
    상기 대표 BMC는 상기 도메인 내의 상기 복수의 이더넷 SSD 섀시들의 장치 정보를 수집하여 패브릭(fabric) 네트워크를 거쳐 시스템 관리자에게 제공하는 동작 방법.
  10. 제9항에 있어서,
    상기 복수의 이더넷 SSD 섀시들의 상기 장치 정보는 데이지 체인을 통해 상기 도메인 내의 상기 복수의 BMC들 사이의 피어-투-피어 통신에 의해 수집되는 동작 방법.
KR1020180118542A 2017-12-05 2018-10-04 패브릭들 기반 시스템들 상의 불휘발성 메모리 익스프레스의 인터-섀시 관리성을 지원하기 위한 시스템들 및 방법들 KR102569484B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762595036P 2017-12-05 2017-12-05
US62/595,036 2017-12-05
US201862633964P 2018-02-22 2018-02-22
US62/633,964 2018-02-22
US15/969,642 2018-05-02
US15/969,642 US20190171602A1 (en) 2017-12-05 2018-05-02 Systems and methods for supporting inter-chassis manageability of nvme over fabrics based systems

Publications (2)

Publication Number Publication Date
KR20190066544A KR20190066544A (ko) 2019-06-13
KR102569484B1 true KR102569484B1 (ko) 2023-08-22

Family

ID=66657656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180118542A KR102569484B1 (ko) 2017-12-05 2018-10-04 패브릭들 기반 시스템들 상의 불휘발성 메모리 익스프레스의 인터-섀시 관리성을 지원하기 위한 시스템들 및 방법들

Country Status (3)

Country Link
US (2) US20190171602A1 (ko)
KR (1) KR102569484B1 (ko)
CN (1) CN110032334A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10979497B2 (en) * 2018-07-19 2021-04-13 Cisco Technology, Inc. Multi-node discovery and master election process for chassis management
US11500593B2 (en) 2019-03-20 2022-11-15 Samsung Electronics Co., Ltd. High-speed data transfers through storage device connectors
US10795846B1 (en) * 2019-07-15 2020-10-06 Cisco Technology, Inc. Scalable NVMe storage management over system management bus
US20210279004A1 (en) * 2020-03-03 2021-09-09 Silicon Motion, Inc. Ssd system and ssd control system
US11836100B1 (en) * 2022-06-16 2023-12-05 Dell Products L.P. Redundant baseboard management controller (BMC) system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080043769A1 (en) 2006-08-16 2008-02-21 Tyan Computer Corporation Clustering system and system management architecture thereof
JP2017531856A (ja) 2014-10-03 2017-10-26 エイジェンシー・フォー・サイエンス,テクノロジー・アンド・リサーチ アクティブストレージユニットおよびアレイ

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539154B1 (en) * 2000-10-17 2009-05-26 Cisco Technology, Inc. Method and apparatus to detect and break loop configuration
US7162560B2 (en) * 2003-12-31 2007-01-09 Intel Corporation Partitionable multiprocessor system having programmable interrupt controllers
US7944812B2 (en) * 2008-10-20 2011-05-17 International Business Machines Corporation Redundant intermediary switch solution for detecting and managing fibre channel over ethernet FCoE switch failures
US8938569B1 (en) * 2011-03-31 2015-01-20 Emc Corporation BMC-based communication system
JP5977431B2 (ja) * 2012-07-17 2016-08-24 株式会社日立製作所 ディスクアレイシステム及び接続方法
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US10089028B2 (en) * 2016-05-27 2018-10-02 Dell Products L.P. Remote secure drive discovery and access
US9692784B1 (en) * 2016-10-25 2017-06-27 Fortress Cyber Security, LLC Security appliance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080043769A1 (en) 2006-08-16 2008-02-21 Tyan Computer Corporation Clustering system and system management architecture thereof
JP2017531856A (ja) 2014-10-03 2017-10-26 エイジェンシー・フォー・サイエンス,テクノロジー・アンド・リサーチ アクティブストレージユニットおよびアレイ

Also Published As

Publication number Publication date
US20190171602A1 (en) 2019-06-06
US20210286747A1 (en) 2021-09-16
CN110032334A (zh) 2019-07-19
KR20190066544A (ko) 2019-06-13

Similar Documents

Publication Publication Date Title
KR102569484B1 (ko) 패브릭들 기반 시스템들 상의 불휘발성 메모리 익스프레스의 인터-섀시 관리성을 지원하기 위한 시스템들 및 방법들
Mudigonda et al. Spain: Cots data-center ethernet for multipathing over arbitrary topologies.
US7783788B1 (en) Virtual input/output server
US9985820B2 (en) Differentiating among multiple management control instances using addresses
US6728780B1 (en) High availability networking with warm standby interface failover
US9729440B2 (en) Differentiating among multiple management control instances using IP addresses
US7724677B2 (en) Storage system and method for connectivity checking
US9384102B2 (en) Redundant, fault-tolerant management fabric for multipartition servers
US10530669B2 (en) Network service aware routers, and applications thereof
CN113839862B (zh) Mclag邻居之间同步arp信息的方法、系统、终端及存储介质
US7676623B2 (en) Management of proprietary devices connected to infiniband ports
US7809810B2 (en) Network and method for the configuration thereof
US9729470B2 (en) Method, apparatus, and system for implementing node port virtualization on fibre channel
US8964596B1 (en) Network service aware routers, and applications thereof
JP6118464B2 (ja) ポートステータス同期化方法、関連のデバイス、及びシステム
US8929251B2 (en) Selecting a master processor from an ambiguous peer group
CN113805788B (zh) 一种分布式存储系统及其异常处理方法和相关装置
WO2015106506A1 (zh) 设置控制信息、建立通信的方法及管理控制器及控制器
KR100468291B1 (ko) 에이티엠 망에서 인밴드 데이터 통신망 이중화 시스템 및방법
WO2016153511A1 (en) Ring network uplink designation
CN116599840A (zh) 网络设备双上联管理配置方法、装置及存储介质
CN114079584A (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