KR102304678B1 - 베이스보드 관리 컨트롤러(BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법 - Google Patents

베이스보드 관리 컨트롤러(BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법 Download PDF

Info

Publication number
KR102304678B1
KR102304678B1 KR1020180015639A KR20180015639A KR102304678B1 KR 102304678 B1 KR102304678 B1 KR 102304678B1 KR 1020180015639 A KR1020180015639 A KR 1020180015639A KR 20180015639 A KR20180015639 A KR 20180015639A KR 102304678 B1 KR102304678 B1 KR 102304678B1
Authority
KR
South Korea
Prior art keywords
nvme
bmc
network
computer
setting
Prior art date
Application number
KR1020180015639A
Other languages
English (en)
Other versions
KR20180112668A (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 KR20180112668A publication Critical patent/KR20180112668A/ko
Application granted granted Critical
Publication of KR102304678B1 publication Critical patent/KR102304678B1/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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/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
    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers
    • 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
    • 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/357Fibre channel switches
    • 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/0026PCI express
    • 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]

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)

Abstract

하나 이상의 원격 이니시에이터(remote initiator)에게 스토리지 어레이에 연결된 하나 이상의 스토리지 디바이스들에 대한 NVMe 패브릭(NVMe-oF) 접근을 제공하는 컴퓨터 스토리지 어레이가 제공될 수 있다. 일 실시 예에 따른 컴퓨터 스토리지 어레이는, 네트워크 프로토콜을 관리하기 위한 운영 시스템을 실행시키기 위한 컴퓨터 프로세서, NVMe-oF 연결을 설정하고 이니시에이터들 및 스토리지 디바이스들 사이의 데이터를 라우팅하기 위한 네트워크 스위치, 스토리지 디바이스들의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하기 위한 베이스보드 관리 컨트롤러(baseboard management controller, BMC), BMC 를 PCIe 버스를 통해 스토리지 디바이스들 각각에 연결시키기 위한 PCIe 스위치, 및 PCIe 버스를 포함하고 컴퓨터 프로세서, 네트워크 스위치, BMC, 및 PCIe 스위치가 인스톨된 컴퓨터 마더보드를 포함할 수 있다.

Description

베이스보드 관리 컨트롤러(BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법{System and Method of Configuring NVMe-oF Devices Using a Baseboard Management Controller(BMC)}
컴퓨터 스토리지 어레이(computer storage array)에 연결된 하나 이상의 스토리지 디바이스(storage device)에 접근하기 위한 시스템 및 방법에 관한 것으로, 구체적으로는 베이스보드 관리 컨트롤러(Baseboard Management Controller, BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법에 관한 것이다.
디스크 어레이(disk array)라고도 하는 컴퓨터 스토리지 어레이(computer storage array)는 하드 디스크 드라이브(HDD) 및 SSD(solid-state disk drives)와 같은 여러 개의 데이터 스토리지 디바이스(storage device)들이 연결되는 데이터 스토리지 시스템이다. 컴퓨터 스토리지 어레이는 확장성이 뛰어나도록 설계될 수 있으며, 엔드 포인트 클라이언트(endpoint clients), 컴퓨터 서버, 및/또는 다른 데이터 소비자와 같은 다양한 이니시에이터(initiator)들에 대한공유 데이터 접근 권한을 제공할 수 있다.
Non-Volatile Memory Express over Fabrics(NVMe-oF) 규격을 지원하는 스토리지 디바이스(이하, 설명의 편의를 위해 "NVMe-oF 디바이스(NVMe-oF device)" 라고 한다)는 높은 성능과 확장성으로 인해 점점 널리 쓰이고 있다(특히, 컴퓨터 스토리지 어레이에서의 사용에서). NVMe-oF 는, NVMe 메시지 기반의 명령어들이 이더넷(Ethernet), 파이버(Fibre) 채널, 및 인피니밴드(InfiniBand)와 같은 네트워크를 통해 호스트 컴퓨터와 같은 이니시에이터와 NVMe-oF 디바이스 또는 시스템 사이에 데이터를 전송할 수 있도록 설계된 기술 규격이다. 따라서, NVMe-oF 디바이스는 일반적으로 네트워크 디바이스(예를 들어, 이더넷 컨트롤러를 갖는) 및 스토리지 디바이스(예를 들어, SSD를 갖는) 모두의 기능들을 포함할 수 있다.
네트워킹 디바이스로서, 이니시에이터가 NVMe-oF 디바이스와 NVMe-oF 연결(NVMe-oF connection)을 설정하기 전에, NVMe-oF 디바이스의 네트워킹 세팅이 구성될 필요가 있다. 가능한 솔루션 중 하나는 RAID 벤더(vendor)들과 같은 NIC(Network Interface Controller) 또는 호스트 버스 어댑터(host bus adapter)와 유사하게 리눅스(Linux) 및 윈도우(Windows) 용 NVMe-oF 디바이스 드라이버를 개발하는 것이다. 디바이스 드라이버를 제공하는 것의 이점은 기존의 네트워크 구성 툴들을 사용하여 네트워크 컨트롤러 카드(network controller card)를 구성하는 기존 방법들의 이점과 유사하다. 그러나, 이것은 일반적인 비즈니스 모델은 아니며, 스토리지 제조사들은 새로운 리눅스 및 윈도우용 디바이스 드라이버를 개발하고, 리눅스 오픈 소스 커뮤니티에 대한 배포와 지원을 위해 디바이스 드라이버를 유지할 수 있는 역량을 갖추고 있지 못할 수 있다.
또 다른 종래 기술의 방법은 각 NVMe-oF 디바이스에 할당된 호스트에 알려진 디폴트 스태틱 IP 주소(default static IP address)를 가지는 것이다. 이러한 경우에, 모든 NVMe-oF 디바이스들은 초기에 동일한 디폴트 스태틱 IP 주소를 갖는다. NVMe-oF 의 네트워크 인터페이스는 네트워크 디바이스 드라이버를 통해 구성되거나 제조업체로부터 하드 코딩(hard coding)될 수 있다. 그러나, 이러한 모델은 하나의 스토리지 프로토콜 드라이버(storage protocol driver)(디바이스 구성이 아님)만이 이러한 스토리지 디바이스들에 대해 제공되기 대문에, 현재 표준 스토리지 디바이스들에 적합하지 않을 수 있다. 호스트가 디폴트 IP 주소를 통해 타겟과 통신한 이후에 IP 주소가 변경될 수 있다. 그러나, 몇몇의 NVMe-oF 디바이스들은 다른 이니시에이터에 연결할 수 있기 때문에 이것은 느린 프로세스이다. 또한, 모든 NVMe-oF 디바이스가 하나의 이더넷 스위치에 연결되고 그것들이 모두 동일한 IP 주소를 가질 때, 이 방법은 동작하지 않을 수 있다. 더욱이, NVMe-oF 표준 규격은 공개되어 있지 않다. 더 나은 솔루션은, 사용자 또는 시스템 관리자로 하여금 현재 공개된 시스템과 방법에 따라 시스템 초기화가 수행되는 동안 제어 영역(control plane)을 통해 이러한 디바이스들을 동적으로 구성하도록 하는 것이다. NVMe-oF 가 올바르게 구성되도록 추가적인 요구사항이 있을 수 있다. 예를 들어, NVMe-oF 디바이스가 어떤 RDMA 프로토콜(RoCE2 vs iWARP)을 지원할 필요가 있는지에 따라 NVMe-oF 디바이스가 구성되는 것이 요구될 수 있다.
비록 컴퓨터 스토리지 어레이의 로컬 컴퓨터 처리 유닛(CPU)이 제어 영역을 통해 CPU에 연결된 NVMe-oF 디바이스의 네트워크 세팅(예를 들어, IP 주소)을 구성하기 위해 사용되더라도, 그렇게 하는 것은 동기적 및 비동기적 프로세스들 사이의 컨텍스트 스위칭(context switching)을 수행하도록 CPU 에 요구할 수 있고 그에 따라 스토리지 어레이의 크래쉬(crash)가 일어날 수 있는 가능성이 증가될 수 있다. 스토리지 어레이에 연결된 복수의 NVMe-oF 디바이스들이 구성되어야 할 필요가 있을때 크래시의 발생 가능성은 커질 수 있다. 더욱이, 현재의 NVMe-oF 규격은 제어 영역을 통해 NVMe-oF 디바이스의 이더넷 컨트롤러(Ethernet controllers)를 어떻게 구성하는지에 대해 구체화하고 있지 않다. 살펴본 바와 같이, NVMe-oF 디바이스를 구성하기 위해 스토리지 어레이의 CPU를 사용하는 것은 바람직하지 않다.
스토리지 디바이스로서, NVMe-oF 디바이스의 NVMe-oF 세팅은 데이터 트래픽을 실행하기 이전에 구성될 필요가 있다. 비록 스토리지 어레이의 로컬 CPU 가 NVMe-oF 디바이스의 NVMe-oF 세팅(예를 들어, NVMe 수식 명(NVMe Qualified name), 관리자 서브미션 큐(Admin Submission Queue)의 크기 등)을 구성하기 위해 사용될지라도, 상술한 바와 같은 이유들로 이것은 바람직하지 않을 수 있다. 만약 하나 이상의 이니시에이터들이NVMe-oF 디바이스와의 설정된 네트워크 연결을 가진다면, 이니시에이터들은 또한NVMe-oF 디바이스의 NVMe-oF 세팅을 구성할 수 있다. 그러나, 각 이니시에이터들은 그들 각각의 타겟 NVMe-oF 디바이스를 구성해야 하고, 그것은 구성프로세스를 더 복잡하게 만들 수 있다. 더욱이, 이니시에이터들이 제어 영역보다는 데이터 영역(data plane)을 통해 NVMe-oF 디바이스들과 연결되어 있기 때문에, 이니시에이터들에게 NVMe-oF 디바이스들을 구성하도록 하는 것은 더 오랜 시간이 걸리고 시스템이 데이터 전송을 위해 얼마나 빨리 준비되느냐에 대해 부정적인 영향을 줄 수 있다. 이러한 바와 같이, 이니시에이터들이 NVMe-oF 디바이스를 구성하는 것은 바람직하지 않을 수 있다
베이스보드 관리 컨트롤러(Baseboard Management Controller, BMC)를 사용하여 스토리지 어레이에 연결된 하나 이상의 스토리지 디바이스들의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하기 위한 시스템 및 방법이 제공될 수 있다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다. 본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
하나 이상의 원격 이니시에이터(remote initiator)에게 스토리지 어레이에 연결된 하나 이상의 스토리지 디바이스들에 대한 NVMe 패브릭(NVMe-oF) 접근을 제공하는 컴퓨터 스토리지 어레이에 있어서, 네트워크 프로토콜을 관리하기 위한 운영 시스템을 실행시키기 위한 컴퓨터 프로세서, NVMe-oF 연결을 설정하고 상기 이니시에이터들 및 상기 스토리지 디바이스들 사이의 데이터를 라우팅하기 위한 네트워크 스위치, 상기 스토리지 디바이스들의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하기 위한 베이스보드 관리 컨트롤러(baseboard management controller, BMC), 상기 BMC 를 PCIe 버스를 통해 상기 스토리지 디바이스들 각각에 연결시키기 위한 PCIe 스위치, 및 상기 PCIe 버스를 포함하고 상기 컴퓨터 프로세서, 상기 네트워크 스위치, 상기 BMC, 및 상기 PCIe 스위치가 인스톨된 컴퓨터 마더보드를 포함할 수 있다.
컴퓨터 스토리지 어레이에 연결된 하나 이상의 스토리지 디바이스들을 구성하는 컴퓨터로 구현되는 방법에 있어서, 상기 컴퓨터 스토리지 어레이는 네트워크 프로토콜을 관리하기 위한 운영 시스템을 실행시키기 위한 컴퓨터 프로세서 및 상기 스토리지 디바이스들의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하기 위한 베이스보드 관리 컨트롤러(baseboard management controller, BMC)를 포함하고, 상기 BMC 는 PCle bus 를 통해 상기 스토리지 디바이스들 각각에 PCle 스위치에 의해 연결되고, 상기 방법은, 상기 BMC 가 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하기 위해 관리 서버로부터 커맨드 및 파라미터 값을 수신하는 단계; 및
상기 관리 서버로부터 수신된 상기 커맨드들 및 파라미터 값들에 따라 상기 BMC 가 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하는 단계를 포함할 수 있다.
상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
본 명세서의 일부로서 포함되는 첨부된 도면은 다양한 실시 예를 도시하고, 상술한 일반적인 설명 및 이하에 기술되는 다양한 실시 예의 상세한 설명은 원리를 설명하고 교시(teaching)할 수 있다.
도1은 일 실시 예에 따라, NVMe-oF 스토리지 디바이스들의 네트워크 및/또는 NVMe-oF 세팅을 구성하기 위해 BMC 를 사용하는 컴퓨터 스토리지 어레이를 나타낸다.
도2는 일 실시 예에 따라, BMC 를 사용하여 하나 이상의 NVMe-oF 스토리지 디바이스들을 구성하기 위한 동작의 흐름도를 나타낸다.
도면은 반드시 비율대로 도시된 것은 아니며, 설명의 목적으로 유사한 구조 또는 기능의 요소는 일반적으로 도면 전체에 걸쳐 유사한 참조 번호로 표시 될 수 있다. 도면은 다양한 실시 예의 설명을 용이하게 하기 위한 것이며, 본 명세서에 개시된 모든 태양을 기술하지 않으며 청구 범위를 제한하지 않는다.
개시된 각 특징들 및 교시들은 독립적으로 또는 다른 특징 및 교시들과 함께 본 시스템 및 방법을 제공할 수 있다. 이러한 많은 특징들 및 교시들을, 독립적으로 및 조합하여, 사용하는 대표적인 예가 첨부된 도면을 참조하여 설명된다. 본 명세서의 상세한 설명은, 본 발명의 여러 태양을 실시하기 위해 당업자에게 더욱 상세히 설명하지만, 청구 범위를 제한하지 않는다. 따라서, 상세한 설명에 개시된 특징들의 조합은 본 교시의 대표적인 예이며. 넓은 의미에서 교시를 실행하기 위해 필수적인 것은 아니다.
일 실시 예에 따른 시스템 및 방법에 따라, 베이스보드 관리 컨트롤러(baseboard management controller, BMC)가 컴퓨터 스토리지 어레이(computer storage array)의 제어 영역(control plane)을 거쳐, NVMe-oF 스토리지 디바이스의 네트워크 및/또는 NVMe-oF 세팅을 구성하는데 사용될 수 있다. BMC는 컴퓨터 스토리지 어레이, 서버, 스위치 등에 임베디드(embedded)되는 저전력 컨트롤러로서, 환경 조건을 읽고 다양한 디바이스들을 제어하기 위해 샤시 센서(chassis sensors)(즉, 온도 센서, 전원 공급 볼티지 센서(power supply voltage sensor), 및 습도 센서)에 연결될 수 있다. BMC 는 PCIe(Peripheral Component Interconnect Express) 버스 및 SMBus(System Management Bus)와 같은 로컬 시스템 버스를 통해 NVMe-oF 디바이스에 접근(acess)하거나 NVMe-oF 디바이스를 제어할 수 있다. 따라서, BMC 는 NVMe-oF 디바이스의 네트워크 및/또는 NVMe-oF 세팅을 구성하기 위한 특별한 위치를 차지하고 있다.
도1은 본 시스템 및 방법의 실시 예에 따라, NVMe-oF 스토리지 디바이스의 네트워크 및/또는 NVMe-oF 세팅을 구성하기 위해 BMC 를 사용하는 컴퓨터 스토리지 어레이를 나타낸다.
컴퓨터 스토리지 어레이(100)는 컴퓨터 마더보드(motherboard)(101), 로컬 CPU(local CPU, 102), BMC(103), PCle 스위치(104), 네트워크 스위치(105), 및 복수의 스토리지 디바이스들(106)을 포함할 수 있다. 이러한 경우에, 스토리지 디바이스(106)는 이더넷(Ethernet) 포트, PCle 포트, 및 SMBus 포트를 포함하는 이더넷-이네이블드 SSDs(eSSDs)가 될 수 있으며, 네트워크 스위치(105)는 이더넷 스위치가 될 수 있다. 컴퓨터 스토리지 어레이(100)는 컴퓨터 스토리지 어레이(100)에 연결된 하나 이상의 스토리지 디바이스(106)에 대한 접근을 하나 이상의 원격 이니시에이터(remote initiators, 107)(즉, 107a, 107b)에 제공할 수 있다.
일 실시 예에 따라, 로컬 CPU(102), BMC(103), PCle 스위치(104), 및 네트워크 스위치(105)는 마더보드(101)로 통합 또는 내장될 수 있으며, 개별적인 구성 요소로서 마더보드(101)에 인스톨될 수도 있다. 컴퓨터 마더보드(101)는 이더넷 접속(Ethernet connectivity), PCle bus, SMBus 를 포함할 수 있다. 로컬 CPU(102)는 네트워크 프로토콜을 관리하기 위한 운영 시스템을 실행시키도록 구성될 수 있다. 네트워크 스위치(105)는 이니시에이터(107)와 스토리지 디바이스들(106) 사이에 NVMe-oF 연결을 설정하고 데이터를 전송(routing)하도록 구성될 수 있다. 예를 들어, 하나의 이니시에이터와 하나의 타겟 디바이스가 네트워크 스위치(105)에 의해, 주어진 세션에 대한 하나의 페어(pair)로서 연결될 수 있다. PCle 스위치(104)는 BMC(103)를 PCle bus 를 통해 각 스토리지 디바이스들(106)에 연결시킬 수 있다.
BMC(103)는 관리 서버(108)로부터 수신된 명령어(command) 및 파라미터(parameter) 값에 따라 스토리지 디바이스(106)의 네트워크 세팅 및/또는 NVMe-oF 세팅을 구성할 수 있다. BMC(103)은 이더넷 접속을 통해 설정된 NVMe-oF 연결로부터 분리된 아웃-오브-밴드(out-of-band) 연결을 통해 관리 서버(108)와 통신할 수 있다. BMC(103)은 지능형 플랫폼 관리 인터페이스(Intelligent Platform Management Interface, IPMI) 를 사용하여 관리 서버(108)로부터 명령어와 파라미터 값을 수신할 수 있다. IPMI 는, BMC(103) 과 같은 컴퓨터 서브시스템을 위한 컴퓨터 인터페이스 규격의 집합으로서, 시스템의 로컬 CPU, 펌웨어(firmware), 운영 시스템과는 독립적으로 관리와 모니터링 능력을 제공할 수 있다.
예를 들어, 스토리지 디바이스(106)의 네트워크 세팅을 설정하기 위해, 관리 서버(108)은 BMC(103) 에 새로운 "네트워크 컨피규레이션을 설정(Set Network Configuration)" 커맨드를 송신할 수 있다. "네트워크 컨피규레이션을 설정(Set Network Configuration)" 커맨드와 "네트워크 컨피규레이션을 획득(Get Network Configuration)" 커맨드는 현재는 표준 IPMP 커맨드 세트의 부분이 아니지만 벤더 특정 IPMI 커맨드(vendor specific IPMP commands)로서 구현될 수 있다. 따라서, 이러한 새로운 커맨드들은 기존의 시스템들과 방법들에 존재하지 않는 추가적인 기능들을 가능하게 할 수 있다. 관리 서버(108)는, 구성될 스토리지 디바이스의 IP 주소와 같은, 네트워크 세팅을 구성하기 위한 파라미터 값을 BMC(103) 에 송신할 수 있다.
세부적인 설명을 위해 하기의 [표1] 및 [표2]를 참조하라.
NVMe-oF 디바이스 네트워크 구성 - 커맨드 Dword XX
비트(Bit) 디스크립션(Description)
31:08 Reserved
07:00 Number of data bytes
"기능을 설정 - NVMe-oF 디바이스 네트워크 구성(Set Features - NVMe-oF Device Network Configuration)" 데이터
바이트
(Byte)
디스크립션(Description) 크기
(Size)
메모(Note)
01 Controller ID 1
02 Port ID 1
06:03 IPv4 Address 4 For RoCE v2
10:07 Netmask 4 For RoCE v2
14:11 Gateway 4 For RoCE v2
30:15 IPv6 Address 16 For RoCE v2
31 Address Origination (DHCP/Static) 1 For RoCE v2
37:32 eRNIC MAC Address 6
38 Interface Enable/Disable 1
40:39 MTU (Maximum Transmission Unit) 2 Path MTU size
44:41 Alias Address 4
45 Alias Enable/Disable 1
46 Promiscuous Mode (enable, disable) 1
47 ARP (enable, disable) 1 Enable the use of ARP protocol
48 Multicast (enable, disable) 1 Accept all multicast packets
50:49 Transmit Queue Length 2
51 Speed (10000 Mbps, 25000 Mbps) 1
52 Link Duplex (half, full) 1
53 Auto-negotiation (on, off) 1
54 Pause frame usage:
RX (yes, no)
TX (yes, no)
Auto negotiation (yes, no)
1
55 Port Type (fibre, twisted pair, etc.) 1
56 Link Detected (yes, no) 1
57 Wake on LAN (yes, no) 1
58 Supported Port Types
59 Supported Link Modes
60 Supported Pause Frame Use (yes, no) 1
61 Supported Auto-Negotiation (yes, no) 1
62 Supported Wake-on LAN (yes, no) 1
63 Advertised Link Modes
64 Advertised Pause Frame Use (yes, no) 1
65 Advertised Auto-Negotiation (yes, no) 1
71:66 Source MAC Address 6 Approved source MAC address (for RoCE v1 only)
73:72 Tx Max Retry 2 Max number of retries for transmission of a WQ entry
77:74 Tx Timer Max Count 4 Max count of Tx packet before a retry
이와 유사하게, 스토리지 디바이스(106)의 NVMe-oF 세팅을 설정하기 위해, 관리 서버(108)은 OEM-configurable IPMI 커맨드로서도 구현될 수 있는 새로운 "NVMe-oF 컨피규레이션을 설정(Set NVMe-oF Configuration)" 커맨드를 BMC(103)에 송신할 수 있다. 관리 서버(108)는 또한, 서브미션 큐 크기(submission queue size) 및/또는 구성될 스토리지 디바이스의 NVMe 수식 명(NVMe Qualified Name) 과 같은, NVMe-oF 세팅을 구성하기 위한 파라미터 값을 BMC(103)에 송신할 수 있다.
커맨드와 파라미터 값을 수신한 이후에는, BMC(103)는 시스템 관리자에 의해 제어될 수 있는 관리 서버(108)로부터의 명령에 따라 모든 스토리지 디바이스들(106) 또는 스토리지 디바이스들(106) 중 어느 하나에게 커맨드와 파라미터 값을 적용시킬 수 있다. 만약 BMC(103)이 커맨드와 파라미터 값을 모든 스토리지 디바이스들(106)로 적용시킬 것을 명령 받았다면, BMC(103) 은 커맨드와 파라미터 값에 따라 각 스토리지 디바이스들을 반복적으로(iteratively) 구성할 수 있다. 그렇지 않으면, BMC(103)는 목표(target)로 하는 스토리지 디바이스만을 구성할 것이다.
BMC(103)는 PCIe bus 및/또는 SMBus 를 통해, 관리 컴포넌트 전송 프로토콜(Management Component Transport Protocol, MCTP)를 통한 NVMe 관리 인터페이스(NVMe Management Interface, NVMe-MI) 프로토콜을 사용하여 스토리지 디바이스(106)의 네트워크 세팅 및/또는 NVMe-oF 세팅을 구성할 수 있다. 특히, BMC(103)는 관리 서버(108)로부터 수신된 IPMP 커맨드 및 파라미터 값을 NVMe-MI 메시지로 재변환 및/또는 압축할 수 있는데, NVMe-MI 메시지는 PCle bus 및/또는 SMBus 를 통해 MCTP 패킷으로서 스토리지 디바이스들(106)로 송신될 수 있다.
예를 들어, 스토리지 디바이스(106)의 네트워크 세팅을 구성하기 위해, BMC(103)는 PCle 또는 SMBus 를 통해 스토리지 디바이스(106)로 새로운 "컨피규레이션을 설정 - NVMe-oF 네트워크 세팅(Set Configuration - NVMe-oF Network Settings)" 커맨드를 송신할 수 있다. 커맨드의 "NVMe-oF 네트워크 세팅(NVMe-oF Network Settings)" 부분은 현재는 표준 NVMe-MI 커맨드 세트(command set)의 부분이 아니고, 벤더 특정화된 필드(vendor specific field)로서 구현될 수 있다. 유사하게, 스토리지 디바이스(106)의 NVMe-oF 세팅을 구성하기 위해, BMC(103)는 Pcle 또는 SMBus 를 통해 스토리지 디바이스(106)으로 새로운 "컨피규레이션을 설정 - NVMe-oF 세팅(Set Configuration - NVMe-oF Settings)" 커맨드를 송신할 수 있다. 커맨드의 "NVMe-oF 세팅(NVMe-oF Settings)" 부분은 현재는 표준 NVMe-MI 커맨드 세트의 부분이 아니고, 벤더 특정화된 필드로서 구현될 수 있다.
NVMe-oF 컨피규레이션은 NVMe-oF Discovery Log Page 필드의 한 부분이다. 하기 [표 3]은 NVMe-oF 컨피규레이션의 일 예이다.
바이트
(Byte)
디스크립션(Description)
00 NVMe Transport Type:
RDMA
Fibre Channel
01 Address Family:
AF_INET: IPv4
AF_INET: IPv6
AF_IB: InfiniBand
Port ID
Controller ID
Admin Max Submission Queue Size
Transport Service ID
NVMe Qualified Name
Transport Address (IP address)
RDMA Queue Pair Service Type:
Reliable Connected
Reliable Datagram
RDMA Provider Type:
InfiniBand
RoCE V1
RoCE V2
iWARP
도2는 일 실시 예에 따라, BMC 를 사용하여 하나 이상의 NVMe-oF 스토리지 디바이스들을 구성하기 위한 동작에 대한 흐름도를 나타낸다.
BMC 는 스토리지 디바이스의 네트워크 세팅 및/또는 NVMe-oF 세팅을 구성하기 위해 관리 서버로부터 커맨드와 파라미터 값을 수신할 수 있다(단계 201). BMC 는 모든 스토리지 디바이스들에 커맨드와 파라미터를 적용하도록 지정하는 커맨드 파라미터(command parameter)를 커맨드가 포함하는지를 판별할 수 있다(단계 202). 만일 BMC 가 커맨드가 커맨드 파라미터를 포함하는 것으로 판별한다면(단계 202), BMC 는 커맨드와 파라미터 값에 따라 반복적으로(iteratively) 각 스토리지 디바이스들을 구성할 수 있다(단계 205). BMC 가, 모든 스토리지 디바이스들이 구성된 것으로 판별하면(단계 204), 커맨드는 완료된다(단계 206). 만약, BMC가 커맨드가 커맨드 파라미터를 포함하지 않는 것으로 판별한다면(단계 202), BMC 는 커맨드와 파라미터 값(단계 203)에 따라 스토리지 디바이스를 구성하고 커맨드는 완료된다(단계 206).
전통적으로 구현되는 바와 같이, BMC 는 CPU가 BMC 에 대해 단일 방향성의 제어(unidirectional control)를 가지는 루트 콤플렉스 디바이스(root complex device)로서 동작할 수 있다. 즉, 전통적으로 구현된 BMC 는 CPU로부터 명령어를 수신하며 CPU와 독립하여 동작하지 않는다. 반면, 본 시스템 및 방법의 일 실시 예에 따라, BMC 가 컴퓨터 스토리지 어레이의 CPU로부터의 개입 또는 간섭 없이 독립적으로 동작하도록 구현될 수 있다. 즉, BMC 는 엔드 포인트 디바이스(endpoint device)로서 동작한다. BMC 에 의한 스토리지 디바이스들의 구성에 CPU의 개입을 요구하지 않음으로써, 데이터 영역과 제어 영역 사이의 더 명확한 설계가 가능하고, 동기식과 비동기식 프로세스들 간에 컨텍스트 스위칭이 덜 발생함으로 인해 컴퓨터 스토리지 어레이에서의 크래쉬가 덜 발생할 수 있다.
따라서, 상술한 바와 같이, 본 시스템 및 방법의 일 실시 예는 BMC 를 사용하여 컴퓨터 스토리지 어레이의 제어 영역을 통해 NVMe-oF 디바이스들의 네트워크 및/또는 NVMe-oF 디바이스 세팅을 구성하는 실시 예를 제공한다. 이것은 시스템 초기화 이후 더 빠른 구성을 가능하게 할 수 있다. 더욱이, 본 발명의 시스템 및 방법은 컴퓨터 스토리지 어레이의 데이터 영역을 수정할 것을 요구하지 않으므로, 이니시에이터는 여전히 NVMe-oF 디바이스들의 네트워크 및/또는 NVMe-oF 세팅을 구성할 수 있다.
본 발명의 시스템 및 방법의 다양한 실시 예는 하드웨어 요소, 소프트웨어 요소, 또는 이들의 조합에 의해 구현될 수 있다. 하드웨어 요소의 예들은 프로세서, 마이크로 프로세서, 회로, 회로 구성 요소(즉, 트랜지스터, 저항, 캐패시터, 인덕터, 및 등), 집적 회로, ASIC(application specific integrated circuits), PLD(programmable logic devices), 디지털 신호 프로세서(digital signal processors, DSP), FPGA(field programmable gate array), 로직 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로 칩, 칩셋 등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 구성 요소들, 프로그램, 어플리케이션, 컴퓨터 프로그램, 어플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, (routines), 서브루틴(subroutines), 함수, 방법, 프로시듀어(procedures), 소프트웨어 인터페이스, API(application program interfaces), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심볼, 또는 이들의 조합을 포함할 수 있다. 일 실시 예가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지 여부를 판별하는 것은, 계산 속도, 전력 레벨, 열 허용 오차, 프로세싱 사이클 비용, 입력 데이터 속도, 출력 데이터 속도, 메모리 리소스, 데이터 버스 속도 및 기타 설계 또는 성능 제약과 같은 다양한 인자에 따라 달라질 수 있다.
적어도 하나의 실시 예의 하나 이상의 태양은, 프로세서 내의 다양한 로직을 나타내는 컴퓨터 판독가능한 기록 매체에 저장된 대표적인 명령어에 따라 구현될 수 있으며, 그것이 컴퓨터에 의해 판독될 때 컴퓨터가 상술된 기술들을 수행하기 위한 로직을 만들어낼 수 있다. "IP 코어"로 알려진 이러한 표현은, 유형(tangible)의 컴퓨터 판독 가능한 기록 매체에 저장될 수 있으며, 다양한 고객이나 제조 시설에 공급되어 실제로 로직 또는 프로세서를 만드는 제조 기계에 로드(load)될 수 있다.
여기에 설명된 특정한 특징들이 다양한 구현 예를 참조하여 기술되었으나, 본 명세서는 제한적인 의미로 해석되지 않는다. 따라서, 본 명세서에 개시된 기술 분야의 당업자에게 명백한 명세서에 기술된 구현의 다양한 수정 및 다른 구현 예들 역시 본 개시의 사상 및 범위 내에 있는 것으로 간주된다.
상술한 설명은 설명의 목적을 위해 특정 실시 예를 참조하여 설명되었다. 그러나, 상술된 예시적인 개시는 완전한 것을 의도하거나, 청구항의 범위를 개시된 정확한 형태로 제한하려는 것은 아니다. 상술된 교시의 관점에서 많은 수정 및 변형이 가능할 수 있다. 본 실시 예들은 청구 범위 및 실용적인 적용의 기초가 되는 원리를 가장 잘 설명하고, 당업자가 예상된 특정 용도에 적합한 다양한 변형된 실시 예를 가장 잘 사용할 수 있도록 선택되었다.

Claims (10)

  1. 하나 이상의 원격 이니시에이터들(remote initiator)에게 스토리지 어레이에 연결된 하나 이상의 스토리지 디바이스들에 대한 NVMe 오버 패브릭(NVMe-oF) 접근을 제공하는 컴퓨터 스토리지 어레이에 있어서,
    네트워크 프로토콜들을 관리하기 위한 운영 시스템을 실행하기 위한 컴퓨터 프로세서;
    NVMe-oF 연결을 설정하고 상기 이니시에이터들 및 상기 하나 이상의 스토리지 디바이스들 사이의 데이터를 라우트(route)하기 위한 네트워크 스위치;
    상기 스토리지 디바이스들의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하기 위한 BMC(baseboard management controller);
    상기 BMC를 PCIe 버스를 통해 상기 스토리지 디바이스들 각각에 연결시키는 PCIe 스위치; 및
    상기 PCIe 버스를 포함하고, 상기 컴퓨터 프로세서, 상기 네트워크 스위치, 상기 BMC, 및 상기 PCIe 스위치가 인스톨된 컴퓨터 마더보드를 포함하되,
    상기 BMC는 관리 서버로부터 상기 스토리지 디바이스들 중 하나의 스토리지 디바이스의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하기 위한 컨피규레이션 커맨드(configuration command)를 수신하고 그리고 동적으로 상기 컨피규레이션 커맨드에 따라 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하는 컴퓨터 스토리지 어레이.
  2. 제1항에 있어서, 상기 BMC는,
    루트 콤플렉스(root complex) 디바이스 대신 엔드포인트(endpoint) 디바이스로서 동작하고, 상기 컴퓨터 프로세서로부터의 간섭 없이 독립적으로 상기 스토리지 디바이스들의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하는 컴퓨터 스토리지 어레이.
  3. 제1항에 있어서, 상기 BMC는,
    아웃-오브-밴드(out-of-band) 연결을 통해 상기 컨피규레이션 커맨드를 수신하고, 상기 컨피규레이션 커맨드를 상기 컴퓨터 스토리지 어레이의 제어 영역(control plane)에 호환되는 패킷으로 리포맷(reformat)하고, 그리고 상기 패킷을 상기 스토리지 디바이스로 상기 제어 영역을 통해 전송하고, 그리고 상기 아웃-오브-밴드 연결은 상기 NVMe-oF 연결로부터 분리된 컴퓨터 스토리지 어레이.
  4. 제3항에 있어서, 상기 BMC는,
    상기 컨피규레이션 커맨드는 상기 스토리지 디바이스를 구성하기 위한 파라미터 값을 포함하는 컴퓨터 스토리지 어레이.
  5. 제4항에 있어서, 상기 BMC는,
    상기 관리 서버로부터 수신된 상기 컨피규레이션 커맨드 및 상기 파라미터 값에 따라, 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하는 컴퓨터 스토리지 어레이.
  6. 제5항에 있어서, 상기 제어 영역은 상기 PCIe 버스를 포함하고, 그리고
    상기 BMC는 상기 PCle 버스를 통해, NVMe 관리 인터페이스(NVMe-MI) 프로토콜을 사용하여 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하는 컴퓨터 스토리지 어레이.
  7. 제6항에 있어서,
    상기 제어 영역은 SMBus(system management bus)를 포함하고,
    상기 BMC는, 상기 SMBus를 통해 상기 NVMe-MI 프로토콜을 사용하여 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하는 컴퓨터 스토리지 어레이.
  8. 컴퓨터 스토리지 어레이에 연결된 하나 이상의 스토리지 디바이스들을 구성하는 컴퓨터로 구현되는 방법에 있어서,
    상기 컴퓨터 스토리지 어레이는 네트워크 프로토콜을 관리하기 위한 운영 시스템을 실행하기 위한 컴퓨터 프로세서 및 상기 스토리지 디바이스들의 네트워크 세팅 또는 NVMe-oF 세팅을 구성하기 위한 BMC(baseboard management controller)를 포함하고, 상기 BMC는 PCle bus를 통해 상기 스토리지 디바이스들 각각에 PCle 스위치에 의해 연결되고,
    상기 방법은,
    상기 BMC에 의해 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하기 위한 컨피규레이션(configuration) 커맨드 및 파라미터 값을 관리 서버로부터 수신하는 단계; 및
    상기 관리 서버로부터 수신된 상기 컨피규레이션 커맨드 및 파라미터 값에 따라 상기 BMC에 의해 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 동적으로 구성하는 단계를 포함하는 방법.
  9. 제8항에 있어서, 상기 BMC는,
    아웃-오브-밴드(out-of-band) 연결을 통해 상기 컨피규레이션 커맨드를 수신하고, 상기 컨피규레이션 커맨드를 상기 컴퓨터 스토리지 어레이의 제어 영역(control plane)에 호환되는 패킷으로 리포맷(reformat)하고, 그리고 상기 패킷을 상기 스토리지 디바이스로 상기 제어 영역을 통해 전송하고, 그리고 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 상기 패킷을 사용하여 NVMe-MI(NVMe Management Interface) 프로토콜에 따라 구성하는 방법.
  10. 제9항에 있어서,
    상기 제어 영역은 SMBus(system management bus) 및 상기 PCIe 버스를 포함하고,
    상기 BMC는 NVMe-MI 프로토콜을 사용하여 상기 스토리지 디바이스의 상기 네트워크 세팅 또는 상기 NVMe-oF 세팅을 구성하는 방법.
KR1020180015639A 2017-04-03 2018-02-08 베이스보드 관리 컨트롤러(BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법 KR102304678B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762480670P 2017-04-03 2017-04-03
US62/480,670 2017-04-03
US15/489,416 2017-04-17
US15/489,416 US10459665B2 (en) 2017-04-03 2017-04-17 System and method of configuring NVMe-oF devices using a baseboard management controller (BMC)

Publications (2)

Publication Number Publication Date
KR20180112668A KR20180112668A (ko) 2018-10-12
KR102304678B1 true KR102304678B1 (ko) 2021-09-24

Family

ID=63672530

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180015639A KR102304678B1 (ko) 2017-04-03 2018-02-08 베이스보드 관리 컨트롤러(BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법

Country Status (3)

Country Link
US (2) US10459665B2 (ko)
KR (1) KR102304678B1 (ko)
CN (1) CN108694021B (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452279B1 (en) 2016-07-26 2019-10-22 Pavilion Data Systems, Inc. Architecture for flash storage server
CN107688434B (zh) * 2016-08-04 2020-03-06 新华三信息技术有限公司 磁盘阵列raid配置方法和装置
US10733137B2 (en) * 2017-04-25 2020-08-04 Samsung Electronics Co., Ltd. Low latency direct access block storage in NVME-of ethernet SSD
US11102294B2 (en) * 2017-06-09 2021-08-24 Samsung Electronics Co., Ltd. System and method for supporting energy and time efficient content distribution and delivery
US10521376B1 (en) * 2018-03-15 2019-12-31 Seagate Technology Llc Enclosure management over PCIE
US10324878B1 (en) * 2018-07-13 2019-06-18 Dell Products L.P. System and method of multiplexing communications
US11231764B2 (en) * 2018-10-17 2022-01-25 Samsung Electronics Co., Ltd. System and method for supporting chassis level keep alive in NVME-of based system
CN109542357B (zh) * 2018-12-03 2022-03-08 郑州云海信息技术有限公司 一种命令参数组装方法、系统、设备及计算机存储介质
US11366610B2 (en) 2018-12-20 2022-06-21 Marvell Asia Pte Ltd Solid-state drive with initiator mode
US11144488B2 (en) * 2019-02-04 2021-10-12 American Megatrends International, Llc Techniques of sending alerts from storage services running on server san target
WO2020183246A2 (en) 2019-03-14 2020-09-17 Marvell Asia Pte, Ltd. Termination of non-volatile memory networking messages at the drive level
WO2020186270A1 (en) 2019-03-14 2020-09-17 Marvell Asia Pte, Ltd. Ethernet enabled solid state drive (ssd)
US11200193B2 (en) * 2019-03-14 2021-12-14 Marvell Asia Pte, Ltd. Transferring data between solid state drives (SSDs) via a connection between the SSDs
US10795846B1 (en) * 2019-07-15 2020-10-06 Cisco Technology, Inc. Scalable NVMe storage management over system management bus
CN110471627B (zh) * 2019-08-19 2022-06-21 北京首都在线科技股份有限公司 一种共享存储的方法、系统及装置
US11113001B2 (en) * 2019-08-30 2021-09-07 Hewlett Packard Enterprise Development Lp Fabric driven non-volatile memory express subsystem zoning
US10901930B1 (en) * 2019-10-21 2021-01-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Shared virtual media in a composed system
US11055104B2 (en) * 2019-10-23 2021-07-06 Mellanox Technologies, Ltd. Network-adapter configuration using option-ROM in multi-CPU devices
EP4059208B1 (en) * 2019-11-12 2023-09-13 Marvell Asia Pte, Ltd. Automotive network with centralized storage
US11256448B2 (en) * 2019-12-16 2022-02-22 Samsung Electronics Co., Ltd. Network storage gateway
US12045478B1 (en) * 2020-01-22 2024-07-23 American Megatrends International, Llc Remote configuration of multi-mode DIMMs through firmware
CN111459863B (zh) * 2020-03-08 2021-09-28 苏州浪潮智能科技有限公司 一种基于nvme-mi的机箱管理系统及方法
CN111459417B (zh) * 2020-04-26 2023-08-18 中国人民解放军国防科技大学 一种面向NVMeoF存储网络的无锁传输方法及系统
CN114138169A (zh) * 2020-08-12 2022-03-04 中兴通讯股份有限公司 报文处理方法、网络设备和存储介质
US11770271B2 (en) 2020-08-21 2023-09-26 Samsung Electronics Co., Ltd. Data center
CN112596669A (zh) * 2020-11-25 2021-04-02 新华三云计算技术有限公司 一种基于分布式存储的数据处理方法及装置
CN112579507A (zh) * 2021-01-08 2021-03-30 中电科技(北京)有限公司 宿主机与bmc通信的方法、bios、操作系统、bmc和服务器
US11805171B2 (en) * 2021-03-04 2023-10-31 Dell Products L.P. Automated ethernet layer 3 (L3) connectivity between non-volatile memory express over fabric (NVMe-oF) hosts and NVM-oF subsystems using bind
US11818031B2 (en) 2021-03-04 2023-11-14 Dell Products L.P. Automated internet protocol (IP) route update service for ethernet layer 3 (L3) IP storage area networks (SANs)
US12007932B2 (en) * 2022-01-03 2024-06-11 Lenovo Global Technology (United States) Inc. Dual-access high-performance storage for BMC to host data sharing
CN116680066A (zh) * 2022-02-23 2023-09-01 戴尔产品有限公司 用基于dhcp的资源来管理超融合基础架构(hci)设备节点和集群
CN115080479B (zh) * 2022-06-14 2024-03-26 阿里巴巴(中国)有限公司 传输方法、服务器、设备、裸金属实例及基板管理控制器
CN116959549B (zh) * 2023-09-20 2023-11-28 四川华鲲振宇智能科技有限责任公司 一种自动化硬盘组阵列方法及设备、介质
CN117499347B (zh) * 2023-12-29 2024-04-12 苏州元脑智能科技有限公司 一种基板控制器接口处理方法及其应用设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140101653A1 (en) 2012-10-04 2014-04-10 Dell Products L.P. System and method for providing out-of-band software or firmware upgrades for a switching device
US20140195634A1 (en) 2013-01-10 2014-07-10 Broadcom Corporation System and Method for Multiservice Input/Output

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977733B1 (en) * 2011-07-01 2015-03-10 Cisco Technology, Inc. Configuring host network parameters without powering on a host server
US9280504B2 (en) * 2012-08-24 2016-03-08 Intel Corporation Methods and apparatus for sharing a network interface controller
CN104202197B (zh) * 2014-09-12 2019-03-01 华为技术有限公司 设备管理的方法和装置
CN105808407B (zh) 2014-12-31 2019-09-13 华为技术有限公司 管理设备的方法、设备和设备管理控制器
US10146527B2 (en) * 2016-10-12 2018-12-04 Samsung Electronics Co., Ltd. Method and apparatus for using BMC as proxy for NVME over fabrics device firmware upgrade
CN106649156B (zh) * 2016-12-07 2019-09-17 英业达科技有限公司 服务器
US11543967B2 (en) * 2017-02-23 2023-01-03 Samsung Electronics Co., Ltd. Method for controlling BW SLA in NVME-of ethernet SSD storage systems
US10866912B2 (en) * 2017-03-10 2020-12-15 Toshiba Memory Corporation Integrated heterogeneous solid state storage drive
US10310745B2 (en) * 2017-05-19 2019-06-04 Samsung Electronics Co., Ltd. Method and apparatus for fine tuning and optimizing NVMe-oF SSDs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140101653A1 (en) 2012-10-04 2014-04-10 Dell Products L.P. System and method for providing out-of-band software or firmware upgrades for a switching device
US20140195634A1 (en) 2013-01-10 2014-07-10 Broadcom Corporation System and Method for Multiservice Input/Output

Also Published As

Publication number Publication date
US10459665B2 (en) 2019-10-29
US20180285019A1 (en) 2018-10-04
US10996899B2 (en) 2021-05-04
CN108694021A (zh) 2018-10-23
US20190377496A1 (en) 2019-12-12
KR20180112668A (ko) 2018-10-12
CN108694021B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
KR102304678B1 (ko) 베이스보드 관리 컨트롤러(BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법
US9985820B2 (en) Differentiating among multiple management control instances using addresses
US11048569B1 (en) Adaptive timeout mechanism
US9729440B2 (en) Differentiating among multiple management control instances using IP addresses
EP3694165B1 (en) Managing congestion in a network
US10715411B1 (en) Altering networking switch priority responsive to compute node fitness
US7720064B1 (en) Method and system for processing network and storage data
US8977733B1 (en) Configuring host network parameters without powering on a host server
CN108983938B (zh) 当待机电源故障时可操作系统、计算机实现方法、及介质
US10346326B2 (en) Adaptive interrupt moderation
US20140195634A1 (en) System and Method for Multiservice Input/Output
US20100097941A1 (en) Redundant Intermediary Switch Solution for Detecting and Managing Fibre Channel over Ethernet FCoE Switch Failures
EP3828709A1 (en) Communication method and network card
US20110029659A1 (en) Method and System for Network Proxy Services for Energy Efficient Networking
KR20100136527A (ko) 데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법
US10657074B2 (en) Connecting an external PHY device to a MAC device using a management data input/output interface
US20050080903A1 (en) Method, system, and program for maintaining a link between two network entities
WO2019071800A1 (zh) 电子设备、网络共享方法及装置
JP6197195B2 (ja) 装置、プログラム、および方法
US20190109789A1 (en) Infrastructure and components to provide a reduced latency network with checkpoints
US8977784B2 (en) Port teaming
US8225004B1 (en) Method and system for processing network and storage data
US12034592B2 (en) Software-defined device tracking in network fabrics
US20100161814A1 (en) Auto-detection and selection of an optimal I/O system resource virtualization protocol

Legal Events

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