KR20190074962A - 스토리지 장치용 로컬 매니지먼트 콘솔 - Google Patents

스토리지 장치용 로컬 매니지먼트 콘솔 Download PDF

Info

Publication number
KR20190074962A
KR20190074962A KR1020180154008A KR20180154008A KR20190074962A KR 20190074962 A KR20190074962 A KR 20190074962A KR 1020180154008 A KR1020180154008 A KR 1020180154008A KR 20180154008 A KR20180154008 A KR 20180154008A KR 20190074962 A KR20190074962 A KR 20190074962A
Authority
KR
South Korea
Prior art keywords
data
chassis
data storage
bmc
storage devices
Prior art date
Application number
KR1020180154008A
Other languages
English (en)
Inventor
오스카 프렘 핀토
람다스 카차르
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20190074962A publication Critical patent/KR20190074962A/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching 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/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
    • 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]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1488Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based

Abstract

본 발명의 로컬 관리 콘솔은 데이터 스토리지 랙의 섀시의 베이스보드 관리 컨트롤러(BMC)에 연결하는 통신 인터페이스, 그리고 상기 섀시에 포함된 하나 이상의 데이터 스토리지 장치와 관련된 정보를 디스플레이하는 디스플레이를 포함한다. 상기 정보는 설정, 제어, 디버깅, 또는 하나 이상의 스토리지 장치들 중 적어도 하나와 관련된 상태 데이터 중 적어도 하나를 포함한다. 로컬 관리 콘솔은 통신 인터페이스를 통해 BMC에 접속하고, 디스플레이와 연관된 제 1 상호 작용을 수신하는 것에 응답하여, 하나 또는 그 이상의 데이터 스토리지 장치들 중 적어도 하나에 대해 설정, 제어, 디버깅 또는 상태 획득 동작 중 적어도 하나를 수행한다.

Description

스토리지 장치용 로컬 매니지먼트 콘솔{LOCAL MANAGEMENT CONSOLE FOR STORAGE DEVICES}
본 발명은 일반적으로 데이터 스토리지 장치를 포함하는 데이터 스토리지 시스템에 관한 것으로, 보다 상세하게는 데이터 스토리지 장치를 관리하기 위한 로컬 관리 콘솔을 제공하는 시스템 및 방법에 관한 것이다.
하이퍼스케일 컴퓨팅 및 차세대 클라우드 서비스 및 네트워킹 기술은 데이터 센터의 데이터 저장 및 관리 체계를 재정의하고 있다. 기본 기술이 발전함에 따라 데이터 센터의 기존 하드웨어 및 인프라를 재구성하거나 확장할 필요가 있고, 또는 컴퓨팅, 메모리, 네트워킹 및 스토리지에 대한 증가하는 요구를 수용하기 위해서는 새로운 인프라를 구축해야 한다.
솔리드 스테이트 드라이브(SSD)는 하드 디스크 드라이브(HDD)와 같은 종래의 저장 장치를 신속하게 대체하는 현대의 데이터 센터 인프라의 주요 스토리지 요소가 되고 있다. SSD는 낮은 레이턴시, 높은 데이터 읽기/쓰기 처리량 및 신뢰할 수 있는 사용자 데이터에 대한 영구 스토리지를 제공한다. NVMe 오버 패브릭(NVMe-over-fabric)은 이더넷, 파이버 채널 및 인피니밴드(Infiniband)와 같은 패브릭 네트워크를 통해 수백, 수천 개의 SSD를 연결할 수 있는 신기술이다.
NVMe-oF 프로토콜은 다수의 NVMe SSD가 확립된 패브릭 네트워크를 통해 원격 호스트에 연결될 수 있게 하는 원격 직접 접속 스토리지(rDAS)를 가능케 한다. NVMe-oF 프로토콜은 원격 직접 메모리 액세스(RDMA)를 사용하여 네트워크를 통해 NVMe 명령, 데이터 그리고 응답을 전달할 수 있는 안정적인 전송 서비스를 제공할 수 있다. iWARP, RoCE v1 및 RoCE v2는 RDMA 서비스를 제공하는 전송 프로토콜의 몇 가지 예이다. RDMA가 NVMe-oF를 가능하게하는 주요 동기였지만, FC-oE(Fibre Channel over Ethernet) 및 TCP(Transmission Control Protocol)도 같은 목적을 위한 새로운 전송 프로토콜로 사용할 수 있게 되었다.
종래의 스토리지 서버는 연결된 하드웨어 장치에 인터페이스를 제공하기 위해 운영 체제(OS)를 실행하는 x86 기반(또는 유사한)의 중앙 처리 장치(CPU)를 포함한다. 예를 들면, 표준화된 운영 체제(예컨대: LINUX)가 로드된 서버는 키보드 및 마우스와 같은 다양한 입력 장치에 인터페이스를 제공하기 위한 하나 이상의 입력 포트와 비디오 그래픽 어레이(VGA) 포트, 디스플레이 포트 또는 고화질 멀티미디어 인터페이스 (HDMI) 포트와 같은 로컬 디스플레이 장치를 연결하는 디스플레이 포트를 가지고 있다. 더불어, 서버는 원격 세션을 통해 원격 디스플레이 장치에 연결되어 연결된 하드웨어 장치를 유지/보수하도록 서비스 관리자에게 인터페이스를 제공할 수 있다. 로컬 사용자에게는, 이 인터페이스가 로컬 연결 하드웨어 장치들의 설정 가능성, 유용성, 디버그 및 상태 정보를 제공한다.
요약하면, NVMe-oF 표준인 eSSD(이더넷 SSD)와 호환되는 SSD는 네트워크와 스토리지를 융합시키고 네트워크 스토리지 프로토콜을 지원함으로써 비싼 CPU의 요구를 제거할 수 있다. 프로토콜 변환은 기존의 x86 기반 CPU가 많은 아키텍처에 내재된 병목 현상을 제거하면서 성능과 속도를 제공하는 FPGA (Field-Programmable Gate Array)와 같은 하드웨어 기반 메커니즘에서 많이 처리된다.
데이터 센터의 스토리지 랙은 섀시라고 불리는 복수의 인클로저(enclousre)를 포함하고, 각 섀시는 eSSD와 같은 복수의 스토리지 장치를 포함할 수 있다. eSSD 섀시 내에서 저가의 베이스보드 관리 컨트롤러(BMC)는 연결된 eSSD를 직접 관리하여 시스템 관리자에게 상태를 설정, 제어 및 보고하기 위해 원격 인터페이스를 시스템 관리자에게 제공한다. 일반적으로 eSSD 섀시에는 특정 eSSD 섀시에 eSSD의 디스플레이 인터페이스를 제공하기 위한 디스플레이 포트가 없다.
본 발명의 목적은 복수의 데이터 스토리지 장치를 포함하는 섀시에 대한 로컬 관리 콘솔(LMC)을 제공하기 위한 시스템 및 방법을 제공하는데 있다.
일 실시 예에 따르면, 로컬 관리 콘솔은: 데이터 스토리지 랙의 섀시의 베이스보드 관리 컨트롤러(BMC)에 연결하기 위한 통신 인터페이스와; 상기 섀시 내의 하나 이상의 데이터 스토리지 장치들과 관련된 정보를 디스플레이하는 디스플레이를 포함한다. 상기 정보는 설정, 제어, 디버깅, 또는 상기 하나 이상의 스토리지 장치들 중 적어도 하나와 관련된 상태 데이터 중 적어도 하나를 포함한다. 상기 로컬 관리 콘솔은 상기 통신 인터페이스를 통해 상기 베이스보드 관리 컨트롤러(BMC)에 접속하고, 상기 디스플레이와 관련된 제 1 상호 작용의 수신에 응답하여, 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나에 대해 구성, 제어, 디버깅 또는 상태 획득 동작 중 적어도 하나를 수행한다.
다른 실시 예에 따르면, 데이터 스토리지 시스템은: 애플리케이션을 포함하는 호스트 컴퓨터; 섀시들 각각이 이더넷 스위치, 베이스보드 관리 컨트롤러(BMC), 그리고 하나 이상의 데이터 스토리지 장치를 포함하는 하나 이상의 섀시를 포함하는 데이터 스토리지 랙; 그리고 하나 이상의 로컬 관리 콘솔을 포함한다. 상기 하나 이상의 로컬 관리 콘솔들 각각은, 데이터 스토리지 랙의 섀시의 베이스보드 관리 컨트롤러(BMC)에 연결하기 위한 통신 인터페이스; 그리고 상기 섀시의 하나 이상의 데이터 스토리지 장치들과 관련되며, 적어도 하나의 설정, 제어, 디버깅 또는 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나와 관련된 상태 데이터를 포함하는 정보를 표시하는 디스플레이를 포함한다. 각각의 상기 로컬 관리 콘솔은 상기 통신 인터페이스를 통해 상기 베이스보드 관리 컨트롤러(BMC)에 연결하고, 상기 디스플레이와 관련된 제 1 상호 작용의 수신에 응답하여, 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나에 대해 구성, 제어, 디버깅 또는 상태 획득 동작 중 적어도 하나를 수행한다.
구현 및 이벤트들의 조합의 다양한 신규한 세부 사항을 포함하는 상기 및 다른 바람직한 특징들은 첨부된 도면을 참조하여 보다 구체적으로 설명 될 것이며 청구 범위에서 지적될 것이다. 여기에 기술된 특정 시스템 및 방법은 단지 예시로서 도시되고 제한으로서 도시되지 않음을 이해할 것이다. 당업자가 이해할 수 있는 바와 같이, 본원에 설명된 원리 및 특징은 본 개시의 범위를 벗어나지 않고 다양하고 수많은 실시 예에서 사용될 수 있다.
상술한 특징에 따른 본 발명에 따르면, 분리된 NVMe-oF 이더넷 SSD 섀시(즉, eSSD 섀시 또는 간단히 섀시)에 대한 로컬 관리 기능을 제공하는 LMC, 그리고 원격 관리자와 연관하여 로컬 관리를 위해 포함되는 eSSD를 구현할 수 있다.
본 명세서의 일부로서 포함되는 첨부 도면은 현재 바람직한 실시 예를 도시하고, 위에서 주어진 일반적인 설명 및 이하에 주어진 바람직한 실시 예의 상세한 설명과 함께 본원에 설명된 원리를 설명하고 교시하는 역할을 한다.
도 1은 일 실시 예에 따른 예시적인 데이터 스토리지 시스템의 블록도를 보여준다.
도 2는 다른 실시 예에 따른 예시적인 데이터 스토리지 시스템의 블록도를 보여준다.
도 3은 일 실시 예에 따른 로컬 관리 콘솔(LMC)을 포함하는 데이터 센터 내의 예시적인 데이터 스토리지 시스템의 블록도를 보여준다.
도 4a 내지도 4d는 일 실시 예에 따른, LMC의 예시적인 디스플레이 이미지를 보여준다.
도 5a 내지도 5d는 다양한 실시 예에 따른 LMC의 예시적인 구성을 보여준다.
도면은 반드시 일정한 비율로 그려지는 것은 아니며, 유사한 구조 또는 기능의 요소는 도면 전체에 걸쳐 예시적인 목적으로 유사한 참조 번호로 일반적으로 표시된다. 도면들은 본 명세서에 기재된 다양한 실시 예들의 설명을 용이하게 하기 위한 것이다. 도면은 본원에 개시된 교시의 모든 양상을 기술하지 않으며 청구항의 범위를 제한하지 않는다.
본 명세서에서 개시된 특징들 및 교시들 각각은 표준 동기 프로토콜과 호환되는 비동기식 통신 프로토콜을 제공하기 위한 다른 특징들 및 교시들과 함께 또는 분리되어 사용될 수 있다. 이러한 추가적인 특징들 및 교시들이 분리되거나 결합되어 이용되는 대표적인 예들은 첨부된 도면들을 참조하여 상세히 설명된다. 이러한 상세한 설명은 단지 본 교시들의 측면들을 실시하기 위한 기술 분야에서 상세한 지식을 가진 자를 교시하기 위한 것이고, 청구항들의 범위를 제한하지 않는다. 그러므로, 상세한 설명에 상술된 특징들의 조합들은 넓은 의미에서 교시를 실시할 필요가 없을 수도 있고, 대신에 본 교시들 특히 대표적인 실시 예들을 설명하기 위해 단지 교시된다.
아래의 설명에서, 설명의 목적으로만 특정 명칭이 본 발명의 완전한 이해를 제공하기 위해 설명된다. 그러나, 이러한 특정 세부 사항들은 본 발명의 사상을 실시하기 위해 필요하지 않는 것은 당업자에게 명백할 것이다.
상세한 설명의 몇몇 부분들은 알고리즘 및 컴퓨터 메모리 내 데이터 비트들에 대한 동작들의 심볼 표현의 측면에서 제공된다. 이들 알고리즘 설명들 및 표현들은 다른 분야의 당업자들에게 작업의 실체를 효과적으로 전달하기 위해, 데이터 처리 분야의 당업자들에 의해 사용된다. 여기에서 알고리즘은 일반적으로 소망하는 결과에 이르는 단계들에 대한 일관성 있는 순서일 수 있다. 단계들은 물리적 양의 물리적 조작이 필요한 것들이다. 일반적으로, 필수적이진 않지만, 이러한 양들은 저장, 전달, 결합, 비교, 그리고 다르게 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 이러한 신호들을 비트들, 값들, 요소들, 심볼들, 특징들, 용어들, 숫자들 등으로 지칭하는 것이 주로 공통적인 사용의 이유로 때때로 편리하게 입증되었다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리량과 연관되며 단지 이러한 양에 적용되는 편리한 라벨이라는 것을 명심해야 한다. 구체적으로는 아래의 설명으로부터 명백한 바와 같이, 설명에서, 이러한 "처리", "컴퓨팅", "계산", "결정", "표시" 등과 같은 용어를 사용하는 논의는 컴퓨터 시스템 또는 컴퓨터 레지스터 및 메모리들 내에서 물리적(전기적) 양으로서 나타나는 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 정보 스토리지, 전송 또는 표시 장치들 내에서 물리적 양으로서 나타나는 유사한 다른 데이터로 조작 및 변형하는 유사한 전자 컴퓨팅 장치의 활동 및 과정을 나타내는 것으로 이해된다.
또한, 대표적인 예들에 대한 다양한 특징들 그리고 종속항들은 본 발명의 교시에 대한 유용한 추가적인 실시 예들을 제공하기 위해 명시적이지 않은 그리고 열거되지 않은 방식으로 결합될 수 있다. 또한 모든 값의 범위 또는 독립체들의 그룹들의 암시들은 모든 가능한 중간 값 또는 당해 발명을 제한하는 목적뿐만 아니라 본래의 개시 목적을 위한 중간 독립체들을 개시하는 것이 주목된다. 또한, 명시적 기준 및 도면에 도시된 구성 요소들의 형상은 본 명세서에서 실시되는 방식을 이해할 수 있도록 설계되지만, 치수 및 실시 예에 나타난 형상에 한정되지 않는 것을 유의한다.
본 발명은 복수의 데이터 스토리지 장치를 포함하는 섀시에 로컬 관리 콘솔(LMC)을 제공하기 위한 시스템 및 방법을 제공한다. 데이터 스토리지 장치의 일례는 본 명세서에서는 eSSD라 칭하는 NVMe-oF 호환 SSD(solid-state drive)이고, 복수의 eSSD를 포함하는 섀시를 여기서는 이더넷 섀시 또는 eSSD 섀시라고 칭하기로 한다. LMC는 기존의 eSSD 섀시에서는 현재 사용할 수 없는 다양한 용도를 제공할 수 있다.
LMC는 유선 및 무선으로 하나 이상의 eSSD 섀시에 연결할 수 있다. 로컬 관리자는 데이터 센터에서 물리적으로 LMC를 운반하거나 LMC를 데이터 센터 내의 전략적 위치에 배치할 수 있다. LMC는 연결된 각 eSSD 섀시에서 데이터를 수집하고 eSSD 섀시에서 수집한 데이터를 처리할 수 있다. 로컬 관리자는 LMC를 사용하여 상태를 모니터링 및 쿼리하고 eSSD 섀시에서 eSSD의 매개 변수를 설정할 수 있으며 필요한 경우 원격 시스템 관리자(여기서는 최고 관리자로서 지칭됨)가 구성한 eSSD 매개 변수를 무시할 수도 있다. LMC는 eSSD 섀시에서 eSSD를 관리하기 위한 입도(granularity)를 제공하거나, 수집된 데이터를 사용하여 eSSD 및 eSSD 섀시를 공동으로 설정 및 관리할 수 있다.
각 eSSD 섀시에는 베이스보드 관리 컨트롤러(BMC)가 포함될 수 있다. 일 실시 예에 따르면, LMC는 각 eSSD 섀시의 BMC와 통신하기 위해 NVMe 관리 인터페이스(NVMe-MI)를 사용할 수 있다. LMC는 오프라인 검토를 위해 eSSD의 성능 관련 데이터를 비롯하여 다양한 통계 데이터를 유지하고 벤더별 및 일반 데이터 센터 세부 정보를 진단할 수 있다. 수집된 데이터를 기반으로 LMC를 소유한 로컬 관리자는 eSSD 섀시의 BMC로 지침을 보내 eSSD 섀시 및 eSSD 섀시의 eSSD에 대한 다양한 설정 및 모니터링 작업을 수행할 수 있다.
일 실시 예에 따르면, LMC는 BMC와 안전하게 통신할 수 있다. LMC는 eSSD 섀시의 eSSD에서 수집된 데이터를 표시할 수 있을 뿐만 아니라 eSSD 섀시에서 eSSD의 통계 데이터를 안전하게 처리하고 제공할 수 있다. LMC는 여러 eSSD 섀시의 데이터를 결합하여 랙 또는 데이터 센터의 여러 랙에 대한 정보를 제공하여 랙 수준 또는 데이터 센터 수준의 통계 데이터를 eSSD 섀시 고유의 데이터로 표시할 수 있다. 원격 관리자는 특정 수준의 데이터 센터 관리 작업을 LMC를 통해 로컬 관리자에게 넘길(offload) 수 있다.
도 1은 본 발명의 일 실시 예에 따른 예시적인 데이터 스토리지 시스템의 블록도를 보여준다. 데이터 스토리지 시스템(100)은 호스트(110) 및 하나 이상의 NVMe-oF 호환 이더넷 SSD(eSSD)를 포함하는 섀시(160, 여기서는 eSSD 섀시로도 지칭됨)를 포함한다. 예를 들어, 섀시(160)는 24개 또는 48개의 eSSD를 포함한다. 섀시(160) 내의 eSSD는 각각 eSSD(170a-170n, 본 명세서에서 집합적으로 eSSD(170)로 지칭됨)로 표시된다. 호스트(110)는 어플리케이션(111), OS(operating system)및 파일 시스템(112), 그리고 NVMe-oF 드라이버(113)를 포함한다. 호스트(110)의 이니시에이터(예를 들어, 어플리케이션(111))는 NVMe-oF 드라이버(113)를 이용하여 이더넷(150)을 통해 eSSD들(170)과 NVMe-oF 접속을 설정할 수 있다. 섀시(160)는 이더넷 스위치(161), 베이스보드 관리 컨트롤러(162, Baseboard Management Controller: BMC) 및 PCIe(Peripheral Component Interconnect Express) 스위치(163)를 포함한다. 이더넷 스위치(161)는 미드 플레인(165)을 통해 eSSD(170)에 이더넷 접속을 제공하고, PCIe 스위치(163)는 미드 플레인(165)을 통해 eSSD(170)에 관리 인터페이스 (164)를 제공한다. BMC(162)는 시스템 관리자에 의해 주어진 지시에 따라 eSSD(170)를 프로그램할 수 있다.
이더넷 스위치(161)는 호스트(110)와 eSSD(170) 사이의 네트워크 접속을 제공한다. 이더넷 스위치(161)는 하나 이상의 호스트에 접속하기 위한 대용량(예컨대, 100 Gbps) 업링크를 가질 수 있다. 이더넷 스위치(161)는 또한 eSSD(170)에 접속하기 위한 다수의 더 낮은 용량(예를 들어, 25 Gbps)의 다운링크를 갖는다. 예를 들어, 이더넷 스위치(161)는 12개의 100 Gbps 업링크 및 24 또는 48개의 25 Gbps 다운링크를 포함한다. 이더넷 스위치(161)는 BMC(162)에 대한 특별한 설정/관리 포트를 가질 수 있다.
BMC(162)는 이더넷 스위치(161), PCIe 스위치(163) 및 eSSD(170)를 포함하는 섀시(160)의 내부 구성 요소를 관리한다. BMC(162)는 시스템 관리를 위한 PCIe 및/또는 SMBus 인터페이스를 지원할 수 있다. BMC(162)는 eSSD(170)를 설정하고 이더넷 스위치(161)를 프로그램할 수 있다.
서버 기반의 모든 플래시 어레이(AFA)와 유사하게, eSSD(170)는 다수의 Essd, 이들을 외부 세계의 호스트와 연결하는 네트워크 스위치[즉, 이더넷 스위치(161)], 및 이들을 관리하는 BMC(162)를 포함하는 서버리스 엔클로저[즉, 섀시(160)]에 함께 보관된다. BMC(162)는 eSSD 장치에 대한 부트(boot) 및 제어 경로를 처리한다. 완전한 x86 CPU와 달리, BMC(162)는 CPU가 처리할 수 있는 모든 작업을 수행하지 않을 수 있으므로 최소한의 인클로저 관리 기능을 수행할 수 있다. BMC(162)는 SMBus를 통해 연결, 상태, 온도, 로그 및 오류에 대해 연결된 eSSD(170) 및 관련 하드웨어에 대한 헬스 체크를 유지한다.
도 2는 다른 실시 예에 따른 예시적인 데이터 스토리지 시스템의 블록도를 보여준다. 데이터 스토리지 시스템(200)은 호스트(210) 및 이더넷(250)을 통해 호스트(210)에 연결된 복수의 eSSD 섀시(260a-260m, 집합 적으로 eSSD 섀시(260)라고 칭함)를 포함한다. 호스트(210)는 애플리케이션(211), OS(Operating System) 및 FS(File System, 212), 그리고 이더넷(250)을 통하여 랙(275) 내의 eSSD 섀시(260) 각각과 접속하기 위한 NVMe-oF 드라이버(213)를 포함한다. 랙(275)은 랙(275) 내의 다중 섀시(260) 사이에 연결성을 제공하는 탑-오브-랙(TOR) 스위치(271)를 포함한다. 유사하게, NVMe-oF 시스템(200)은 상이한 위치에 배치될수 있는 다수의 랙(275)을 포함할 수 있다. 랙(275)은 TOR 스위치(271)를 통해 서로 연결될 수 있다. 복수의 랙(275)의 TOR 스위치(271)들은 이더넷(250)을 통해 전용 회선 또는 외부 스위치를 통해 직접 서로 연결될 수 있다.
CPU 기반 호스트(210)는 eSSD 섀시 내의 eSSD에 서비스를 쿼리, 제어 및 적용하기 위해 호스트 드라이버 및 서비스를 사용하기 위해 OS/파일 시스템(212)을 실행한다. eSSD 섀시(260)의 BMC는 eSSD의 상태 및 다른 표시자를 제공하기 위해 로컬 관리자에게 인터페이스를 제공하는 운영 체제(OS)를 실행할 수 있는 능력을 구비하지 않을 수 있다.
일 실시 예에 따르면, 각 eSSD 섀시에 대한 BMC는 데이터 센터의 동작을 관리하는 수퍼 관리자 및 로컬 관리자에게 원격 인터페이스를 제공하는 서비스를 실행할 수 있다. BMC가 사용하는 서비스는 eSSD에 제어 경로를 제공하는 데 필요한 최소한의 요소로 구축될 수 있다. BMC에는 x86 CPU가 포함되어 있지 않을 수 있다. 대신에 BMC는 임베디드 애플리케이션을 실행할 수 있는 제한된 메모리 및 로직을 포함하는 통합 칩일 수 있으며, 섀시의 원격 서비스 및 기타 관리 기능을 제공하기 위한 펌웨어 코드일 수 있다.
도 1 및 도 2에 도시된 본 발명의 실시 예는, NVMe 기반 스토리지 장치(즉, eSSD)를 기술하지만, 여기에 기술된 예들은 다른 유형의 스토리지 장치들에 동등하게 적용될 수 있음을 알아야 한다. SATA(Serial AT Attachment) 드라이브및 SAS(Serial Attached Small Computer System Interface) 드라이브와 같은 다른 유형의 드라이브와 달리 eSSD에는 SFF-8489 규격을 통한 IBPI(International Blinking Pattern Interpretation)에 규정된 대로 드라이브 상태를 시각적으로 표시하는 메커니즘은 없다. 대신, eSSD 섀시의 BMC는 SFF-8489 규격을 준수 할 수 있는 인터페이스를 제공할 수 있다. BMC에서 사용하는 서비스는 SSD 위치, 장애, 재구성, 유형, 장애 모드 및 공급 업체(vendor)별 용도에 관한 상태 정보를 시각적 표시기를 사용하여 제공할 수 있다. eSSD 섀시는 CPU(예를 들면: x86 CPU)를 포함하지 않으며 유선 또는 무선으로 로컬 관리 콘솔(LMC)에 연결할 수 있다. LMC는 로컬 관리자에게 그래픽 사용자 인터페이스를 제공할 수 있다. LMC의 상세한 설명은 도 3, 도 4a-4d, 및 5a-5d를 참조하여 아래에 제공될 것이다.
본 발명의 시스템 및 방법은 분리된 NVMe-oF 이더넷 SSD 섀시(즉, eSSD 섀시 또는 간단히 섀시)에 대한 로컬 관리 기능을 제공하는 LMC, 그리고 원격 관리자와 함께 로컬 관리를 위해 포함되는 eSSD를 포함하는 NVMe-oF 시스템을 제공한다. eSSD 섀시는 원격 이니시에이터(예를 들어, 도 2의 애플리케이션(211))에 연결되는 다수의 SSD를 제공한다.
본 발명의 시스템 및 방법은 접속 설정, 데이터 보호/감소 및 다른 피처들, 그리고 eSSD의 배치 및 제거/교체를 위한 eSSD 및 섀시를 구성하기 위해 LMC를 제공한다. LMC는 서비스 가능성 메시지, 상태, 성능 등을 표시하기 위해 eSSD, 섀시, 랙 및 데이터 센터를 포함한 다양한 수준의 정보를 표시할 수 있다. CPU가 포함된 레거시 CPU 기반 서버는 운영 체제를 실행하여 데이터 센터 관리자와 상호 작용할 수 있다. 현재의 데이터 스토리지 시스템에는 이러한 CPU 기반 서버가 필요하지 않다. LMC는 각 섀시의 BMC에 연결하여 로컬 관리자에게 데이터를 표시할 수 있다. LMC는 원격 관리자와 함께 작업하여 로컬 관리자에 대한 서비스 메시지를 표시할 수 있다. LMC는 사용법 및 애플리케이션에 따라 작은 화면 또는 더 큰 화면을 가질 수 있다. LMC는 BMC에 직접(유선) 또는 무선으로 연결될 수 있다. LMC는 각 섀시마다 BMC 제공 데이터를 이해하여 섀시 수준, 랙 수준 또는 데이터 센터 수준의 정보를 수집하고 제공할 수 있다.
본 발명의 시스템 및 방법은 더 나은 레이턴시 및 입출력 포트(IOP) 성능을 갖는 원격 직접 접속 스토리지(rDAS) 모델을 지원한다. 각 섀시에 포함된 BMC는 원격 관리자가 섀시의 eSSD를 설정하고 관리할 수 있는 대리자(Agent) 역할을 수행한다. BMC는 PCIe 또는 SMBus 인터페이스를 통해 NVMe-MI 프로토콜을 사용하여 eSSD를 설정, 모니터링, 및 관리할 수 *?*있다. 원격 관리자는 SwordFish/RedFish 또는 기타 독점적인 통신 프로토콜을 사용하여 BMC와 통신할 수 있다.
원격 관리자가 원격으로 접속되기 때문에, eSSD 섀시 및 스토리지 랙에서 이용 가능한 다른 자산에 대한 로컬 관리가 필요하다. LMC는 물리적으로 저장 장치(예 : eSSD)가 상주하고 관리되는 동일한 데이터 센터에 물리적으로 존재할 수 있는 로컬 관리자를 지원하는 메커니즘을 제공한다. BMC와 원격 관리자 간의 통신을 허용하는 기존 모델이 확장되어, BMC와 로컬 관리자 간의 통신을 지원할 수 있다. BMC와 LMC 간의 로컬 통신은 eSSD의 상태 업데이트를 로컬 관리자에게 용이하게 한다. 이러한 특징은 또한 이전에 설정된 구성을 무시하는 로컬 관리자에 의해서 eSSD에게 변경을 용이하게 할 수 있다. 본 발명의 시스템 및 방법은 다양한 유형의 로컬 관리 콘솔을 사용하는 BMC 및 로컬 관리자 간의 용이한 통신을 가능케 하며, 로컬 관리자에게 노출된 eSSD의 속성 및 파라미터를 설정 및 변경할 수 있게 한다.
LMC는 NVMe-oF 이더넷 SSD 섀시 및 다수의 섀시를 포함하는 랙을 모니터링, 설정 및 관리하기 위해 로컬 관리자에 의해 사용될 수 있는 메커니즘을 제공한다. rDAS 모델에서, 로컬 관리자가 eSSD의 상태를 볼 수 있는 것이 바람직 할 수 있는 상황이 있을 수 있다. 이러한 상황에서는 로컬 관리자에게 설정 능력을 제공하는 것이 바람직하다.
NVMe-oF 이더넷 SSD, 간단히 말해 eSSD는 데이터의 고성능 분리 스토리지를 제공한다. NVMe-oF 표준은 수백, 수천 개의 SSD를 원격 이니시에이터에 연결할 수 있게 해주는 새로운 기술이다. 이러한 분리된 스토리지는 기존의 관리 기능 외에도 로컬 스토리지 모니터링 및 설정 기능을 필요로 한다. 섀시의 BMC와 함께 작동하는 LMC는 로컬 관리자를 지원할 수 있다. LMC는 BMC, 디스플레이 장치 및 터치 스크린이나 키패드와 같은 사용자 입력 장치에 대한 통신 링크를 가지고 있다.
로컬 관리자는 eSSD의 다양한 중요 통계, 현재 건강 상태, 로그 및 성능 수준을 볼 수 있다. 로컬 관리자는 또한 BMC를 통해 각 eSSD의 설정을 변경할 수 있다. LMC는 다른 LMC와 통신하여 LMC의 계층 구조를 형성하거나 전체 데이터 센터를 위한 중앙 LMC 시스템을 형성할 수 있다.
도 3은 일 실시 예에 따른, 로컬 관리 콘솔을 포함하는 데이터 센터에서의 예시적인 데이터 스토리지 시스템의 블록도를 보여준다. 랙(375)은 하나 이상의 섀시(360)를 포함할 수 있다. 각각의 섀시(360)는 이더넷 스위치(361), BMC(362), PCIe 스위치(363) 및 복수의 eSSD(370a-370n)를 포함한다. 각 섀시(360) 내의 이더넷 스위치(361)는 이더넷(350)을 통해 호스트 컴퓨터 상에서 실행되는 애플리케이션(311)에 접속한다. 본 발명의 예는 이더넷(350) 및 eSSD(370)를 보여준다. 하지만, 파이버 채널 및 인피니밴드와 같은 이더넷(350) 이외의 다른 유형의 패브릭 네트워크 및 eSSD(370) 이외의 다른 유형의 데이터 스토리지 장치가 본 개시의 범위를 벗어나지 않고 사용될 수 있음을 이해해야 한다.
원격 관리자(364)는 이더넷(350)을 통해 각 섀시(360)의 동작을 관리할 수 있다. 섀시(360)는 디스플레이 장치에 연결하기 위한 디스플레이 포트를 구비하지 않을 수 있다. 대신에, 섀시(360)는 유선 또는 무선으로 로컬 관리 콘솔 (LMC, 380)에 접속할 수 있다. LMC(380)는 섀시(360)에 접속하기 위한 통신 인터페이스 및 섀시(360)에 포함된 eSSD(370)의 상태를 디스플레이하기 위한 디스플레이를 제공할 수 있다. 예를 들어, LMC(380)의 디스플레이는 접속성과 크기, 바이트, I/O 카운트, 분포, 온도 및 스토리지 드라이브 및 네트워크 인터페이스에 관한 세부 정보와 같은 액세스 요청 정보를 갖는 입출력(I/O) 활동과 같은 섀시(360) 및/또는 eSSD(370)에 특정한 데이터 스펙을 표시할 수 있다. 본 발명의 일 실시 예에 따르면, LMC(380)는 메시지, 예를 들어, SFF-8489 타입 메시지의 형태로 eSSD(370)의 일반적인 활동을 제공한다.
본 발명의 일 실시 예에 따르면, LMC(380)는 연결된 eSSD(370)의 유지 보수에서 관리자(예를 들어, 로컬 관리자(365) 및 원격 관리자(364))를 돕기위한 인터페이스를 제공할 수 있다. 예를 들어, 로컬 관리자(365)는 LMC(380)에 의해 제공된 인터페이스를 사용하여 연결된 eSSD들(370)의 상태를 설정, 제어, 디버그 및 디스플레이할 수 있다. 일 실시 예에서, LMC(380)는 시각적 표시자를 로컬 관리자(365)에게 제공할 수 있다. 시각 표시자는 데이터, 메시지, 그래픽, 표시 등을 포함할 수 있다. 예를 들어, LMC(380)는 샤시 및 랙 또는 음성 호출 또는 텍스트 메시지를 포함하지만 여기에 제한되지 않는 다른 로컬 기반의 다른 지표를 식별하기 위한 서비스 표시등을 디스플레이할 수 있다.
LMC(380)는 다양한 방식으로 섀시(360)에 연결될 수 있다. 섀시(360)의 BMC(362)는 SMbus, PCIe 및 이더넷과 같은 직접 유선 연결 또는 WLAN (wireless local area network), Wi-Fi, 블루투스, 블루투스 로우 에너지(BLE)와 같은 무선 연결을 통해 LMC(380)로의 연결을 구동하여 섀시(360) 내의 eSSD(370)의 단일 및 상태 정보를 제공할 수 있다. LMC(380)가 랙 내의 모든 섀시에 연결되어 더 넓은 랙-레벨의 보기를 제공할 수 있다. 글로벌 데이터 센터 수준의 보기를 제공하기 위해 LMC(380)는 또한 데이터 센터 영역 내 또는 전체 데이터 센터에서 여러 랙에 연결될 수 있다.
LMC(380)는 섀시(360)의 BMC(362)로부터 수신된 데이터를 해석하고 처리하기 위한 인텔리전스를 가질 수 있다. BMC(362)는 eSSD(370)로부터 수집된 데이터를 단순히 수집하여 미처리된 데이터를 LMC(380)로 보낼 수 있다.
BMC(362)와 LMC(380) 사이의 통신은 신뢰성있고 안전하도록 설정된다. 일 실시 예에서, BMC(362)는 NVMe-MI 프로토콜을 사용하여 eSSD들 (370)과 통신한다. BMC(362)와 LMC(380) 사이의 통신을 위해 동일한 NVMe-MI 프로토콜이 사용될 수 있다. 각각의 LMC(380)는 BMC(362)에 대한 NVMe-MI 프로토콜에서 지원되는 Identify, Vital Product Data(VPD) 및 관리 데이터 구조를 통해 고유한 장치로서 자신을 식별할 수있다. VPD는 IPMI 플랫폼 관리(FRU) 정보 스토리지 정의에 정의된 포맷을 사용한다. LMC(380)는 Identify, VPD 및 관리 데이터 구조를 통해 특성, 피처, 기능 및 요구 사항을 알릴 수 있다. BMC(362)는 LMC(380)를 주기적으로 폴링하여 LMC(380)가 BMC(362)에 대한 LMC(380) 사이의 임의의 데이터 전송을 수행할 필요가 있는지의 여부를 체크할 수 있다.
LMC(380)에서 BMC(362)로 전송되는 데이터의 예는 LMC(380)가 섀시(360) 내의 eSSD(370) 또는 다른 구성 요소에 대해 수행하는 설정 명령을 포함하지만, 여기에만 한정되지는 않는다. LMC(380)가 BMC(362)를 통해 설정 또는 변경할 수 있는 설정 명령의 예는, 여기에 한정되지 않지만, 새로운 eSSD의 구성 또는 기존 eSSD의 제거, eSSD에 대한 기존 특성의 갱신, IP 주소와 같은 eSSD에 대한 액세스 가능성, 이더넷 주소 및 스위치 설정 등을 포함한다. LMC(380)는 특정 eSSD(370)에 대한 성능, 용량 또는 잔여 수명과 같은 특정 파라미터를 모니터하도록 BMC(362)에 명령할 수 있다. LMC(380)는 모니터링할 신호 및 파라미터, 모니터링 주파수 등에 관해 BMC(362)에 특정 세부 사항을 제공할 수 있다.
BMC(362)로부터 LMC(380)로 전송되는 데이터의 예는 다양한 통계 데이터, 상태 정보, 로그 또는 성능 데이터를 포함하지만, 이에 한정되는 것은 아니며, LMC(380)는 데이터를 디스플레이하고 이메일과 문자 메시지를 생성하거나, 로컬 관리자(365)에게 그 정보를 전달한다. BMC(362)는 그러한 데이터를 주기적으로 푸시하거나, 예를 들어, 로컬 관리자(365)가 LMC (380) 상에 디스플레이된 버튼을 클릭할 때와 같이 원하는 경우에 LMC(380)가 데이터를 풀링할 수 있다.
아래 표 1은 본 발명의 일 실시 예에 따라 BMC(362)의 로직에 구현된 예시적인 의사 코드(pseudo code)를 보여준다. BMC(362)의 논리는 병렬로 eSSD를 통한 데이터 루프, LMC(380)에 대한 데이터 푸시 루틴 및 접속 확인 루틴을 포함한다.
Data_loop:
for eSSD in num(slots):
'loop through all eSSDs in parallel'
if monitor(link_state):
get(link_status)
push(to_LMC)
if expired(health_time_filter):
get(SMART_log)
push(to_LMC)
if expired(perf_data_filter):
get(link_counters)
push(to_LMC)

to_LMC:
if count(data_lines) >= collate_threshold
if connected(LMC)
push(LMC, data_lines)

Verify_connect:
if Identity(VPD_packet) in list(eeprom.LMC):
accept(connect)
BMC(362)와 LMC(380) 사이 및 LMC(380)와 다른 LMC(380) 사이에 확립된 통신 채널은 보안 채널이다. 보안 통신 채널을 설정하기 위해, BMC(362)는 인증 체크를 수행할 수 있고, 일단 보안 통신 채널이 설정되면, BMC(362)는 실제 데이터 전송을 위해 LMC(380)와 통신한다. 원격 관리자(364)는 특정 LMC(380)로 허용되거나 오프로드(offload)되는 기능에 대한 허가 및 제한을 설정할 수 있다. 원격 관리자(364)와 로컬 관리자(365) 간의 이러한 동기화는 스토리지 장치 관리의 무결성을 위해 중요하다. 로컬 관리자가 따르는 잘 정의되고 합의된 관리 정책은 데이터 센터의 데이터 스토리지 장치를 효과적이고 안정적으로 관리하는 데 필수적이다.
일 실시 예에 따르면, eSSD(370) 및 eSSD(370)를 포함하는 섀시(360)의 다양한 파라미터가 로컬 스토리지 관리를 위해 모니터링된다. LMC(380)는 모니터링된 상태 및 로컬 관리자(365)에 의한 사용을 위한 다른 통계적 데이터를 렌더링할 수 있다. LMC(380)는 이메일 또는 텍스트 메시지를 전송하거나 수집된 데이터의 스냅 샷을 로컬 관리자(365)에게 제공할 수 있다. LMC(380)에 의해 디스플레이된 파라미터는 SSD 건강 상태, 잔여 수명, 경보, 입출력(I/O) 성능, 네트워크 통계, 로그, 벤더 정의 파라미터를 포함하지만 이에 한정되지 않는다. BMC(362)는 원시 데이터를 처리하여 eSSD(370)의 성능 데이터에 관한 데이터를 생성할 수 있다. LMC(380)는 단지 데이터를 렌더링 또는 전송할 수 있거나, BMC(362)가 제공하는 데이터를 추가로 처리할 수 있다.
일 실시 예에 따르면, 하나 이상의 LMC를 포함하는 본 발명의 데이터 스토리지 시스템은 원하는 입도(granularity)로 데이터 스토리지 장치(예를 들어, eSSD)의 파라미터를 모니터링 및 디스플레이할 수 있다. 입도(granularity)의 예로는: eSSD 당, 섀시 당, 랙 당, 섀시 또는 랙에서의 eSSD 집합, 섀시 집합, 전체 데이터 센터 등이 있다.
일 실시 예에 따르면, LMC(380)는 중앙 LMC(385)와 같은 다른 LMC에 보고하여 저장 모니터링 능력의 범위를 넓힐 수 있다. LMC(380) 및 중앙 LMC(385)는 섀시(360) 및 eSSD(370)를 관리하기 위해 상이한 레벨의 기능에 대한 허가 및 제한을 가질 수 있다. 이러한 LMC의 계층 구조는 데이터 센터 레벨의 뷰를 제공함으로써 중앙 집중식 로컬 스토리지 관리 체계를 제공할 수 있다. 로컬 관리자(365)는 랙당 뷰 또는 섀시당 뷰를 원하는 대로 보기 위해서 보다 정밀한 입도로 줌인(zoom in)할 수 있다. 본 발명의 실시 예가 단일 BMC 대 LMC 통신을 설명하고 있지만, 다수의 BMC가 무선 통신 채널을 통해 단일 LMC와 통신할 수 있는 가능성은 존재한다.
또한, 도 4a 내지 도 4d는 본 발명의 일 실시 예에 따라 LMC의 예시적인 디스플레이 이미지를 보여준다. 도 4a는 특정 eSSD 및 이더넷 스위치의 업링크 및 다운링크 입출력(I/O) 속도를 포함하는 eSSD 세부 상태의 그래프를 보여준다. 도 4b는 특정 섀시에 포함된 eSSD의 상태(온/오프)를 보여준다. 도 4c는 특정 랙에 포함된 섀시의 상태를 보여준다. 도 4d는 데이터 센터 레벨에서의 효율 및 성능 예측을 나타내는 플롯 및 그래프를 보여준다. 또한, 도 4a 내지 도 4d는 단지 예에 불과하며, 본 개시의 범위 또는 사상으로부터 벗어남이 없이 많은 상이한 가능성이 실현될 수 있음을 이해할 것이다. LMC는 다양한 폼팩터의 형태를 취할 수 있다. 의도된 사용법에 따라 LMC는 섀시나 랙에 물리적으로 부착될 수 있으며 또는 LMC는 로컬 관리자가 데이터 센터에서 운반할 수 있는 모바일 테이블일 수 있다.
또한, 도 5a 내지 도 5d는 다양한 실시 예에 따른 LMC의 예시적인 설정들을 보여준다. 도 5a는 섀시 측면에 있을 수 있는 LMC 유형을 보여준다. 도 5b는 섀시 상단에서 슬라이드될 수 있는 유형의 LMC를 보여준다. 도 5c는 FRU-U.2 슬롯에 삽입될 수 있는 LMC의 유형을 보여준다. 도 5d는 섀시에 연결할 수 있는 무선 태블릿을 보여준다.
일 실시 예에 따르면, 로컬 관리 콘솔은: 데이터 스토리지 랙의 섀시의 베이스보드 관리 컨트롤러(BMC)에 연결하기 위한 통신 인터페이스와; 상기 섀시 내의 하나 이상의 데이터 스토리지 장치들과 관련된 정보를 디스플레이하는 디스플레이를 포함한다. 상기 정보는 설정, 제어, 디버깅, 또는 상기 하나 이상의 스토리지 장치들 중 적어도 하나와 관련된 상태 데이터 중 적어도 하나를 포함한다. 상기 로컬 관리 콘솔은 상기 통신 인터페이스를 통해 상기 베이스보드 관리 컨트롤러(BMC)에 접속하고, 상기 디스플레이와 관련된 제 1 상호 작용의 수신에 응답하여, 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나에 대해 구성, 제어, 디버깅 또는 상태 획득 동작 중 적어도 하나를 수행한다.
상기 데이터 스토리지 장치는 비휘발성 메모리 익스프레스(NVMe) 오버 패브릭(NVMe-oF) 장치이다.
상기 통신 인터페이스는 시스템 관리 버스(SMbus), PCIe 및 이더넷(Ethernet) 중에서 선택된 유선 통신 인터페이스이다.
상기 통신 인터페이스는 무선 근거리 통신망(WLAN), Wi-Fi, 블루투스(Bluetooth), 저에너지 블루투스(Bluetooth Low Energy: BLE) 중에서 선택된 무선 통신 인터페이스이다.
상기 디스플레이는 데이터, 메시지, 그래프, 상기 데이터 스토리지 장치들의 상태를 로컬 관리자에게 알려주는 서비스 표시등을 보여준다.
원격 관리자는 상기 로컬 관리자에게 접속하고, 기능들에 대한 허가 및 제한을 상기 로컬 관리 콘솔에 설정한다.
상기 로컬 관리 콘솔이 상기 BMC로 전송하는 데이터는, 상기 데이터 스토리지 장치들의 설정 명령들을 포함한다.
상기 설정 명령들은 새로운 데이터 스토리지 장치를 설정하거나 기존의 데이터 스토리지 장치를 제거하고, 상기 데이터 스토리지 장치들의 기존 피쳐를 갱신하기 위한 명령들을 포함
상기 설정 명령들은 상기 섀시의 IP 어드레스, 이더넷 어드레스 및 스위치 설정을 포함하는 상기 데이터 스토리지 장치에 대한 액세스 가능성을 설정하기 위한 명령들이다.
상기 로컬 관리 콘솔은 상기 데이터 스토리지 장치들의 성능, 용량 또는 잔여 수명을 모니터하기 위한 명령을 상기 BMC에 전송한다.
상기 BMC가 상기 LMC로 전송하는 데이터는, 통계 데이터, 상태, 로그, 입출력(I/O) 성능, 헬스 상태, 잔여 수명, 경보, 네트워크 통계, 상기 데이터 스토리지 장치들 및 섀시들에 대한 공급 업체 정의(Vendor-defined)된 매개 변수를 포함한다.
상기 디스플레이는 데이터 스토리지 장치 당 데이터, 섀시 당 데이터, 랙 당 데이터, 상기 섀시 또는 데이터 스토리지 랙 전반의 데이터 저장 장치 세트에 대한 데이터, 섀시 세트에 대한 데이터, 그리고 데이터 센터 전체에 대한 데이터의 바람직한 입도(Granularity)에 대한 데이터를 표시한다.
다른 실시 예에 따르면, 데이터 스토리지 시스템은: 애플리케이션을 포함하는 호스트 컴퓨터; 섀시들 각각이 이더넷 스위치, 베이스보드 관리 컨트롤러(BMC), 그리고 하나 이상의 데이터 스토리지 장치를 포함하는 하나 이상의 섀시를 포함하는 데이터 스토리지 랙; 그리고 하나 이상의 로컬 관리 콘솔을 포함한다. 상기 하나 이상의 로컬 관리 콘솔들 각각은, 데이터 스토리지 랙의 섀시의 베이스보드 관리 컨트롤러(BMC)에 연결하기 위한 통신 인터페이스; 그리고 상기 섀시의 하나 이상의 데이터 스토리지 장치들과 관련되며, 적어도 하나의 설정, 제어, 디버깅 또는 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나와 관련된 상태 데이터중 적어도 하나를 포함하는 정보를 표시하는 디스플레이를 포함한다. 각각의 상기 로컬 관리 콘솔은 상기 통신 인터페이스를 통해 상기 베이스보드 관리 컨트롤러(BMC)에 연결하고, 상기 디스플레이와 관련된 제 1 상호 작용의 수신에 응답하여, 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나에 대해 구성, 제어, 디버깅 또는 상태 획득 동작 중 적어도 하나를 수행한다.
상기 호스트 컴퓨터 상에서 실행되는 상기 애플리케이션은, 이더넷을 통해 상기 데이터 스토리지 장치들 내의 데이터 스토리지에 액세스하고, 상기 데이터 스토리지 장치들은 비휘발성 메모리(NVMe) 오버 패브릭(NVMe-oF) 장치 들이다.
상기 하나 이상의 로컬 관리 콘솔들 각각의 디스플레이는 데이터, 메시지, 그래프, 상기 데이터 스토리지 장치들의 상태를 로컬 관리자에게 알려주는 서비스 표시등을 디스플레이한다.
원격 관리자는 상기 로컬 관리자에게 접속하고, 상기 기능들에 대한 허가 및 제한을 상기 로컬 관리 콘솔에 설정한다.
상기 로컬 관리 콘솔들 각각이 상기 BMC로 전송하는 데이터는 상기 데이터 스토리지 장치들의 설정 명령들을 포함한다.
상기 설정 명령들은 새로운 데이터 스토리지 장치를 설정하거나 기존의 데이터 스토리지 장치를 제거하고 상기 데이터 스토리지 장치의 기존 피처를 갱신하기 위한 명령을 포함한다.
상기 설정 명령들은 상기 섀시의 IP 어드레스, 이더넷 어드레스 및 스위치 설정을 포함하는 상기 데이터 스토리지 장치에 대한 액세스 가능성을 설정하는 명령이다.
상기 하나 이상의 로컬 관리 콘솔들은 중앙 로컬 관리 콘솔에 접속하고, 상기 하나 이상의 로컬 관리 콘솔들 및 상기 중앙 로컬 관리 콘솔은 상기 섀시와 상기 데이터 스토리지 장치들을 관리하기 위한 상이한 허가 및 제한 레벨을 갖는다.
이상에서는 데이터 스토리지 장치를 관리는 로컬 관리 콘솔을 제공하기 위한 시스템 및 방법을 구현하는 다양한 실시 예를 설명하기 위해 예시적인 실시 예들이 본 명세서에서 설명되었다. 개시된 예시적인 실시 예들로부터의 다양한 변형 및 변경은 당업자에게 발생할 것이다. 본 발명의 범위 내에있는 대상은 다음의 청구 범위에 설명된다.

Claims (10)

  1. 로컬 관리 콘솔(Local Management Consol: LMC)에 있어서:
    데이터 스토리지 랙의 섀시의 베이스보드 관리 컨트롤러(BMC)에 연결하기 위한 통신 인터페이스; 그리고
    상기 섀시의 하나 이상의 데이터 스토리지 장치들과 관련되며, 설정, 제어, 디버깅 또는 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나와 관련된 상태 데이터 중 적어도 하나를 포함하는 정보를 표시하는 디스플레이를 포함하되,
    상기 로컬 관리 콘솔은 상기 통신 인터페이스를 통해 상기 베이스보드 관리 컨트롤러(BMC)에 접속하고, 상기 디스플레이와 관련된 제 1 상호 작용의 수신에 응답하여, 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나에 대해 구성, 제어, 디버깅 또는 상태 획득 동작 중 적어도 하나를 수행하는 로컬 관리 콘솔.
  2. 제 1 항에 있어서,
    상기 데이터 스토리지 장치는 비휘발성 메모리 익스프레스(NVMe) 오버 패브릭(NVMe-oF) 장치인 로컬 관리 콘솔.
  3. 제 1 항에 있어서,
    상기 통신 인터페이스는 시스템 관리 버스(SMbus), PCIe 및 이더넷(Ethernet) 중에서 선택된 유선 통신 인터페이스인 로컬 관리 콘솔.
  4. 제 1 항에 있어서,
    상기 통신 인터페이스는 무선 근거리 통신망(WLAN), Wi-Fi, 블루투스(Bluetooth), 저에너지 블루투스(Bluetooth Low Energy: BLE) 중에서 선택된 무선 통신 인터페이스인 로컬 관리 콘솔.
  5. 제 1 항에 있어서,
    상기 디스플레이는 데이터, 메시지, 그래프, 상기 데이터 스토리지 장치들의 상태를 로컬 관리자에게 알려주는 서비스 표시등을 보여주는 로컬 관리 콘솔.
  6. 제 1 항에 있어서,
    상기 로컬 관리 콘솔이 상기 BMC로 전송하는 데이터는, 상기 데이터 스토리지 장치들의 설정 명령들을 포함하는 로컬 관리 콘솔.
  7. 제 1 항에 있어서,
    상기 로컬 관리 콘솔은 상기 데이터 스토리지 장치들의 성능, 용량 또는 잔여 수명을 모니터하기 위한 명령을 상기 BMC에 전송하는 로컬 관리 콘솔.
  8. 제 1 항에 있어서,
    상기 BMC가 상기 로컬 관리 콘솔로 전송하는 데이터는, 통계 데이터, 상태, 로그, 입출력(I/O) 성능, 헬스 상태, 잔여 수명, 경보, 네트워크 통계, 상기 데이터 스토리지 장치들 및 섀시들에 대한 공급 업체 정의(Vendor-defined)된 매개 변수를 포함하는 로컬 관리 콘솔.
  9. 제 1 항에 있어서,
    상기 디스플레이는 데이터 스토리지 장치 당 데이터, 섀시 당 데이터, 랙 당 데이터, 상기 섀시 또는 데이터 스토리지 랙 전반의 데이터 저장 장치 세트에 대한 데이터, 섀시 세트에 대한 데이터, 그리고 데이터 센터 전체에 대한 데이터의 바람직한 입도(Granularity)에 대한 데이터를 표시하는 로컬 관리 콘솔.
  10. 데이터 스토리지 시스템에 있어서:
    애플리케이션을 포함하는 호스트 컴퓨터;
    섀시들 각각이 이더넷 스위치, 베이스보드 관리 컨트롤러(BMC), 그리고 하나 이상의 데이터 스토리지 장치를 포함하는 하나 이상의 섀시를 포함하는 데이터 스토리지 랙; 그리고
    하나 이상의 로컬 관리 콘솔을 포함하되,
    상기 하나 이상의 로컬 관리 콘솔들 각각은,
    데이터 스토리지 랙의 섀시의 베이스보드 관리 컨트롤러(BMC)에 연결하기 위한 통신 인터페이스; 그리고
    상기 섀시의 하나 이상의 데이터 스토리지 장치들과 관련되며, 설정, 제어, 디버깅 또는 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나와 관련된 상태 데이터 중 적어도 하나를 포함하는 정보를 표시하는 디스플레이를 포함하되,
    상기 로컬 관리 콘솔 각각은 상기 통신 인터페이스를 통해 각 섀시의 상기 베이스보드 관리 컨트롤러(BMC)에 접속하고, 상기 디스플레이와 관련된 제 1 상호 작용의 수신에 응답하여, 상기 하나 이상의 데이터 스토리지 장치들 중 적어도 하나에 대해 구성, 제어, 디버깅 또는 상태 획득 동작 중 적어도 하나를 수행하는 데이터 스토리지 시스템.
KR1020180154008A 2017-12-20 2018-12-03 스토리지 장치용 로컬 매니지먼트 콘솔 KR20190074962A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762608383P 2017-12-20 2017-12-20
US62/608,383 2017-12-20
US15/894,718 US20190187909A1 (en) 2017-12-20 2018-02-12 Local management console for storage devices
US15/894,718 2018-02-12

Publications (1)

Publication Number Publication Date
KR20190074962A true KR20190074962A (ko) 2019-06-28

Family

ID=66814387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180154008A KR20190074962A (ko) 2017-12-20 2018-12-03 스토리지 장치용 로컬 매니지먼트 콘솔

Country Status (3)

Country Link
US (2) US20190187909A1 (ko)
KR (1) KR20190074962A (ko)
CN (1) CN110058803A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220162033A (ko) 2021-05-27 2022-12-07 클리어테크놀로지 주식회사 덴탈 캐드 장치 및 그를 이용하는 제어방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664292B2 (en) * 2018-07-11 2020-05-26 Dell Products L.P. Web-based graphical user interface display system
CN109189425A (zh) * 2018-08-24 2019-01-11 郑州云海信息技术有限公司 一种bmc的管理方法、管理系统及相关装置
US10860383B2 (en) * 2018-09-05 2020-12-08 Dell Products L.P. Multiple console environment
CN110647429A (zh) * 2019-09-30 2020-01-03 联想(北京)有限公司 一种电子设备、处理系统及处理方法
US11422921B2 (en) * 2019-12-31 2022-08-23 Western Digital Technologies, Inc. Debug systems for deterministic validation of data storage devices
US11210034B2 (en) * 2020-03-02 2021-12-28 Silicon Motion, Inc. Method and apparatus for performing high availability management of all flash array server
US10887785B1 (en) * 2020-09-10 2021-01-05 Open Drives LLC Wireless mesh fabric for hardware resource discovery and management
CN112565514A (zh) * 2020-11-18 2021-03-26 联想(北京)有限公司 一种信息记录方法、管理设备及存储介质
US11507285B1 (en) * 2021-05-12 2022-11-22 TORmem Inc. Systems and methods for providing high-performance access to shared computer memory via different interconnect fabrics
US20230137940A1 (en) * 2021-10-29 2023-05-04 Sanmina Corporation Dis-aggregated switching and protocol configurable input/output module
CN114554126B (zh) * 2022-01-29 2023-08-25 山东云海国创云计算装备产业创新中心有限公司 一种基板管理控制芯片、视频数据传输方法及服务器
US11726880B1 (en) * 2022-02-18 2023-08-15 Dell Products L.P. Fault tolerance and debug analysis during a boot process
CN114840456A (zh) * 2022-06-02 2022-08-02 三星(中国)半导体有限公司 存储设备的带外管理方法、基板管理控制器和存储设备
US20240039795A1 (en) * 2022-07-28 2024-02-01 Dell Products L.P. Connectivity Management System Which Optimizes Embedded Connectivity Management System Operations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301615B1 (en) * 1998-10-14 2001-10-09 Sun Microsystems, Inc. Cluster performance monitoring utility
US6349335B1 (en) * 1999-01-08 2002-02-19 International Business Machines Corporation Computer system, program product and method for monitoring the operational status of a computer
JP2006048313A (ja) * 2004-08-04 2006-02-16 Hitachi Ltd 複数の管理者から管理されるストレージシステムの管理方法
US20070101432A1 (en) * 2005-10-28 2007-05-03 Microsoft Corporation Risk driven compliance management
US8825806B2 (en) * 2006-07-26 2014-09-02 International Business Machines Corporation Selection and configuration of storage-area network storage device and computing device
US20130138808A1 (en) * 2011-11-29 2013-05-30 Koby Biller Monitoring and managing data storage devices
US9047181B2 (en) * 2012-09-07 2015-06-02 Splunk Inc. Visualization of data from clusters
US9198060B2 (en) * 2013-01-30 2015-11-24 Dell Products L.P. Information handling system physical component maintenance through near field communication device interaction
US9967749B2 (en) * 2013-09-26 2018-05-08 Dell Products L.P. Secure near field communication server information handling system support
US9565269B2 (en) * 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
CN105893323A (zh) * 2016-05-23 2016-08-24 华为技术有限公司 一种读数据的方法及设备
US10841275B2 (en) * 2016-12-12 2020-11-17 Samsung Electronics Co., Ltd. Method and apparatus for reducing IP addresses usage of NVME over fabrics devices
US20180288152A1 (en) * 2017-04-01 2018-10-04 Anjaneya R. Chagam Reddy Storage dynamic accessibility mechanism method and apparatus
US9910618B1 (en) * 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US10445283B2 (en) * 2017-08-01 2019-10-15 Lenovo Enterprise Solutions (Singaore) Pte. Ltd. Out-of-band management of data drives

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220162033A (ko) 2021-05-27 2022-12-07 클리어테크놀로지 주식회사 덴탈 캐드 장치 및 그를 이용하는 제어방법

Also Published As

Publication number Publication date
US20190187909A1 (en) 2019-06-20
CN110058803A (zh) 2019-07-26
US20210157483A1 (en) 2021-05-27

Similar Documents

Publication Publication Date Title
US20210157483A1 (en) Local management console for storage devices
US20210382627A1 (en) Method for using bmc as proxy nvmeof discovery controller to provide nvm subsystems to host
US11531634B2 (en) System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US20240045816A1 (en) Self-configuring baseboard management controller (bmc)
KR102457091B1 (ko) Nvme-of 이더넷 ssd에서 데이터 복제를 제공하기 위한 시스템 및 방법
US10346156B2 (en) Single microcontroller based management of multiple compute nodes
TWI569134B (zh) 使用串列連接scsi擴充器用於儲存區域網路管理之儲存介質、系統及方法
WO2016107273A1 (zh) 计算机设备与计算机设备的配置管理方法
US20060280195A1 (en) Systems and methods for providing dedicated or shared network interface functionality via a single MAC
US11218543B2 (en) System and method to configure, manage, and monitor stacking of Ethernet devices in a software defined network
US20210286747A1 (en) Systems and methods for supporting inter-chassis manageability of nvme over fabrics based systems
US20220255991A1 (en) Methods and apparatus for peer-to-peer data channels for storage devices
US10795846B1 (en) Scalable NVMe storage management over system management bus
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)
US11983405B2 (en) Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US20230169017A1 (en) Dynamic server rebalancing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
E601 Decision to refuse application
E801 Decision on dismissal of amendment