[go: up one dir, main page]

KR20220127789A - NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법 - Google Patents

NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20220127789A
KR20220127789A KR1020220113640A KR20220113640A KR20220127789A KR 20220127789 A KR20220127789 A KR 20220127789A KR 1020220113640 A KR1020220113640 A KR 1020220113640A KR 20220113640 A KR20220113640 A KR 20220113640A KR 20220127789 A KR20220127789 A KR 20220127789A
Authority
KR
South Korea
Prior art keywords
data storage
storage devices
bmc
ssd
query
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020220113640A
Other languages
English (en)
Other versions
KR102746294B1 (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 KR20220127789A publication Critical patent/KR20220127789A/ko
Priority to KR1020240190957A priority Critical patent/KR20250005022A/ko
Application granted granted Critical
Publication of KR102746294B1 publication Critical patent/KR102746294B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • 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
    • 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
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

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)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Light Receiving Elements (AREA)
  • Photovoltaic Devices (AREA)

Abstract

데이터 저장 시스템은: 다수의 데이터 저장 장치; 베이스보드 관리 컨트롤러(BMC)를 포함하는 마더 보드; 및 상기 다수의 데이터 저장 장치에 네트워크 트래픽을 전송하기 위한 네트워크 스위치를 포함한다. 상기 BMC는 상기 다수의 데이터 저장 장치로부터 수신된 장치 고유 정보에 기초하여 상기 다수의 데이터 저장 장치들 중 데이터 저장 장치 그룹을 식별하고, 상기 데이터 저장 장치 그룹의 식별자를 쿼리측으로 전송한다.

Description

NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법{METHOD AND APPARATUS FOR FINE TUNING AND OPTIMIZING NVME-OF SSDS}
본 발명은 일반적으로 저장 장치에 관한 것이며, 더욱 상세하게 NVMe-oF 솔리디 스테이트 드라이브(SSD)의 정밀한 튜닝 및 최적화를 위한 시스템 및 방법에 관한 것이다.
비휘발성 메모리(Non-volatile memory; NVM) 익스프레스 오버패브릭(over Fabrics)(NVMe-oF)은 이더넷(Ethernet), 파이버 채널(Fibre Channel), 인피니밴드(InfiniBand), 및 전송 제어 프로토콜(transmission control protocol: TCP) 네트워크등과 같은 광범위한 저장 네트워킹 구조를 통해 NVMe 블록 저장 프로토콜을 지원하는 공통 아키텍처를 정의하는 새로운 업계 표준이다. NVMe-oF 장치라고도 하는 NVMe-oF 표준과 호환되는 데이터 저장 장치는 표준 솔리드 스테이트 드라이브(solid-state drive: SSD) 및 하드 디스크 드라이브(hard disk drive: HDD), 예를 들어, 2.5인치 및 3.5인치 디스크 드라이브와 유사한 폼 팩터를 갖는다. NVMe-oF 장치는 일반적으로 기업 환경이나 데이터 센터에서 사용된다. 그러나 NVMe-oF 사양은 머신 러닝 및 데이터 마이닝(mining) 응용 프로그램과 같은 특정 응용 프로그램을 위한 NVMe-oF 장치의 최적화를 다루지 않는다. 소비자는 서로 다른 데이터 프로파일을 가진 여러 공급 업체가 제조 한 NVMe-oF 장치를 사용할 수 있다.
클라우드 컴퓨팅은 기업 사용자들 사이에서 인기를 얻고 있다. 컴퓨팅 리소스를 소유하는 대신 아마존 웹 서비스(Amazon Web Services®: AWS), 마이크로소프트 애저(Microsoft Azure®) 서비스 및 구글 클라우드 플랫폼(Google Cloud Platform®)과 같은 클라우드 서비스 공급자로부터 컴퓨팅 리소스를 리스(lease)하는 것을 선호한다. 데이터 센터에서 사용되는 저장 장치는 테넌시(tenancy) 응용 프로그램을 기반으로 자주 교체되는 많은 양의 데이터를 가지며, 테넌시 변경에 따라 운영 구성이 변경될 수 있다. 또한, 이러한 클라우드 저장 장치는 일반적으로 리스 및 구독 모델에 최적화되어 있지 않다. 따라서 응용 프로그램을 할당하고 데이터를 기록하기 전에 새로운 또는 사전 할당된 저장 장치를 데이터 센터에서 최적화하는 것이 바람직하다.
본 발명의 목적은 NVMe-oF 솔리디 스테이트 드라이브(SSD)의 정밀한 튜닝 및 최적화를 위한 장치를 제공하는 것이다.
본 발명의 실시예에 따르면, 데이터 저장 시스템은: 다수의 데이터 저장 장치; 베이스보드 관리 컨트롤러(BMC)를 포함하는 마더 보드; 및 상기 다수의 데이터 저장 장치에 네트워크 트래픽을 전송하기 위한 네트워크 스위치를 포함한다. 상기 BMC는 상기 다수의 데이터 저장 장치로부터 수신된 장치 고유 정보에 기초하여 상기 다수의 데이터 저장 장치들 중 데이터 저장 장치 그룹을 식별하고, 상기 데이터 저장 장치 그룹의 식별자를 쿼리측으로 전송한다.
본 발명의 실시예에 따르면, 방법은: 베이스보드 관리 컨트롤러(BMC)를 사용하여 데이터 저장 시스템에 포함된 다수의 데이터 저장 장치로부터 장치 고유 정보를 수신하는 단계; 상기 다수의 데이터 저장 장치들의 속성에 기초하여 상기 다수의 데이터 저장 장치들 중 데이터 저장 장치의 그룹을 식별하는 단계; 및 상기 데이터 저장 장치 그룹의 식별자를 쿼리측으로 전송하는 단계를 포함한다.
실시예들의 구현 및 조합에 대한 다양한 새로운 세부 사항을 포함하는 상기한 다른 바람직한 특징들은 첨부된 도면을 참조하여 보다 구체적으로 설명되고, 특허 청구 범위에서 언급될 것이다. 여기에 기술된 특정 시스템 및 방법은 한정하기 위해서가 아니라 단지 예시로서 도시되는 것으로 이해해야 할 것이다. 당업자가 이해할 수 있는 바와 같이, 본원에 설명된 원리 및 특징은 본 개시의 범위를 벗어나지 않는 범위 내에서 다양하고 많은 실시 예에서 사용될 수 있다.
본 발명에 따르면, BMC는 데이터 저장 시스템의 샤시에 있는 NVMe-oF SSD를 최적화할 수 있다. 데이터 저장 시스템이 초기화된 후에, BMC는 샤시에 있는 모든 NVMe-oF SSD를 인식한다. BMC가 원하는 속성을 가진 것으로 식별된 NVMe-oF SSD는 최적화되어 특정 응용 프로그램에 할당될 수 있다.
BMC는 저비용 CPU를 사용함으로써, 비용을 절감하면서 데이터 저장 시스템의 I/O 성능에 영향을 미치지 않거나 최소화할 수 있다.
본 명세서의 일부로서 포함되는 첨부 도면은 현재 바람직한 실시 예를 도시하고, 위에서 주어진 일반적인 설명 및 이하에 주어진 바람직한 실시 예의 상세한 설명과 함께 여기에 설명된 원리를 설명하고 교시하는 역할을 한다.
도 1은 일 실시예에 따른 데이터 저장 시스템의 일 예를 나타낸다.
도 2a, 2b, 2c, 및 2d는 일 실시예에 따른 BMC를 사용하는 샤시 내의 SSD를 특성화하고 최적화하는 플로우챠트의 일 예를 나타낸다.
도 3은 일 실시예에 따른 BMC 및 SSD 사이의 트랜잭션(transactions)의 일 예를 나타낸다.
도면들은 반드시 축척대로 그려지는 것은 아니며, 유사한 구조 또는 기능의 구성 요소들은 일반적으로 도면 전체에 걸쳐 예시적인 목적으로 유사한 참조 번호로 표시된다. 도면들은 단지 본 명세서에 기술된 다양한 실시 예의 설명을 용이하게 하기 위한 것이며, 본원에 개시된 모든 측면들을 서술하는 것이 아니며, 특허 청구 범위의 권리 범위를 제한하지 않는다.
여기에 개시된 특징들 및 교시들 각각은 NVMe-oF 표준과 호환 가능한 SSD를 정밀하게 튜닝하고 최적화하기 위한 시스템 및 방법을 제공하기 위해 별도로 또는 다른 특징 및 교시들과 조합하여 사용될 수 있다. 이 추가적인 특징들 및 교시들 중 다수를 개별적으로 그리고 조합하여 사용하는 대표적인 예들이 첨부된 도면들을 참조하여 설명된다. 본 명세서의 상세한 설명은 본 발명의 측면들을 실시하기 위한 상세한 내용을 당업자에게 예시하기 위한 것이며, 특허 청구 범위의 권리 범위를 제한하기 위한 것이 아니다. 따라서, 상세한 설명에 개시된 특징들의 조합은 가장 넓은 의미로 그 발명을 실행하는 데 필수적이지 않을 수 있으며, 단지 본 발명의 대표적인 예들을 구체적으로 설명하기 위해 교시된다.
이하의 설명에서, 단지 설명의 목적으로, 특정 용어가 본 발명의 완전한 이해를 위해 제시된다. 그러나, 당업자에게는 이러한 특정 세부 사항이 본 발명의 교시를 실행하는데 요구되지 않는다는 것이 분명할 것이다.
본 명세서의 상세한 설명의 일부분은 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 알고리즘 용어 및 기호적 표현으로 나타낸다. 이러한 알고리즘 설명 및 표현은 데이터 처리 기술 분야의 당업자가 자신의 연구 내용을 당업자에게 효과적으로 전달하기 위해 사용된다. 여기에서 알고리즘은 일반적으로 원하는 결과를 유도하는 단계의 자체-일관성 시퀀스로 이해된다. 이 단계는 물리적 양을 물리적으로 조작해야 하는 단계이다. 일반적으로 반드시 그런 것은 아니지만, 이러한 양은 저장, 전송, 결합, 비교 및 기타 조작이 가능한 전기 또는 자기 신호의 형태를 취한다. 주로 공통적인 사용을 이유로 이 신호들을 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 참조하는 것이 때로는 편리하다고 증명되었다.
그러나, 이들 및 유사한 용어들은 모두 적절한 물리적 양들과 연관되어 있어야 하며, 단지 이들 양에 적용되는 편리한 라벨일 뿐이라는 것을 명심해야 한다. 이하의 설명으로부터 명백하게 나타났듯이, 특별히 언급하지 않는 한, "처리", "컴퓨팅", "계산", "결정", "디스플레이"등과 같은 용어를 이용한 설명은 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적(전자) 량으로 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 정보 저장, 전송 또는 디스플레이 장치 내의 물리적 양으로 유사하게 표현되는 다른 데이터로 조작 및 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 동작 및 처리를 나타낸다.
또한, 대표예 및 종속 청구항의 다양한 특징들은 본 발명의 추가적인 유용한 실시 예를 제공하기 위해 구체적으로 그리고 명시적으로 열거되지 않은 방식으로 결합될 수 있다. 또한, 실체 그룹의 모든 가치 범위 또는 표시는 청구된 주제를 제한할 목적 뿐만 아니라 최초 공개 목적으로 모든 가능한 중간 가치 또는 중간 실체를 공개한다는 점을 명시합니다. 또한, 도면에 도시된 구성 요소의 치수 및 형상은 본 발명의 교시가 어떻게 수행되는지를 이해하도록 돕기 위해 설계된 것으로서, 실시 예에 도시된 치수 및 형상을 제한하려는 의도는 아니라는 점에 유의해야 한다.
본 발명은 데이터 저장 시스템 및 데이터 저장 시스템에 존재하는 데이터 저장 장치를 미세 튜닝 및 최적화하기 위한 방법을 서술한다. 데이터 저장 장치는 여러 제조업체 및 공급 업체에 의해 제조되고 보급된 다양한 타입 및 크기를 가질 수 있다. 일 실시예에 따르면, 데이터 저장 장치는 NVMe-oF 사양(여기서, NVMe-oF 장치 또는 NVMe-oF SSD라고 함)과 호환 가능한 솔리드-스테이트 드라이브(solid-state driver: SSD)이다. NVMe-oF 장치는 이더넷(Ethernet), 파이버 채널(Fibre Channel), 인피니밴드(InfiniBand), 및 전송 제어 프로토콜(transmission control protocol: TCP) 네트워크등과 같은 다양한 기본 저장 네트워킹 패브릭과 호환된다. 일 실시예에 따르면, 본 데이터 저장 시스템은 랙-장착 시스템(rack-mounted system)이다. 데이터 센터의 각 랙은 컴퓨터 및 데이터 저장 장치를 수용하기 위한 슬레드(sled) 및/또는 트레이(tray)의 조합을 포함할 수 있다.
본 데이터 저장 시스템은 샤시 및 샤시에 구비된 베이스보드 관리 컨트롤러(BMC)를 포함하는 마더 보드를 포함한다. 일 실시예에 따르면, BMC는 데이터 저장 시스템의 샤시에 있는 NVMe-oF SSD를 최적화할 수 있다. 데이터 저장 시스템이 최기화된 후에, BMC는 샤시에 있는 모든 NVMe-oF SSD를 인식한다. BMC에 의해 원하는 속성을 가진 것으로 식별된 NVMe-oF SSD는 최적화되어 특정 응용 프로그램에 할당될 수 있다.
본 데이터 저장 시스템은 사용자/응용 프로그램 특정 요구 사항을 만족시키는 SSD를 사용하기로 결정할 때 사용자 또는 응용 프로그램이 샤시에 존재하는 SSD에 관한 BMC의 지식을 이용할 수 있게 한다. BMC는 서비스 레벨 계약(Service Level Agreement: SLA)에 따라 SSD를 커밋하고 할당하기 전에 사용자 또는 응용 프로그램에서 지정한대로 SLA의 데이터 프로필 및 특성을 충족시킬 수 있는 SSD를 식별할 수 있습니다. BMC는 현재 실행중인 서비스가 만료된 이후 또는 새 서비스가 시작되기 전에 저장된 데이터를 안전하게 지우는 선택된 SSD를 준비할 수 있다.
요구되는 기준을 충족시키는 샤시에 존재하는 SSD를 식별하고, 이들을 준비하기 위해 BMC를 사용하는 것은 로컬 CPU가 성능 저하없이 데이터 입출력(I/O)과 같은 중요하고 그리고/또는 빈번한 작업을 실행할 수 있게 함으로써, 샤시의 로컬 CPU의 부담을 줄일 수 있다. BMC는 샤시에 있는 SSD의 식별, SSD의 데이터 프로파일 업데이트, 새 서비스 또는 응용 프로그램을 위한 SSD 준비 등과 같이 덜 중요하거나 덜 빈번한 작업을 처리할 수 있다. 한편, 로컬 CPU가 실행하는 덜 중요하고 덜 빈번한 작업을 BMC에 적절하게 위임함으로써, 자본 지출(CapEx) 및/또는 운영 비용(Opex)을 포함한 데이터 저장 시스템의 총 소유 비용(total cost of ownership: TCO)을 낮출 수 있다. 예를 들어, 샤시의 로컬 CPU는 원래 CPU와 동등하게 중요하고 빈번한 작업을 수행할 수 있는 사양을 가진 덜 비싼 CPU로 대체될 수 있다. 이로 인해 비용을 절감하면서 데이터 저장 시스템의 I/O 성능에 영향을 미치지 않거나 최소화할 수 있다.
도 1은 일 실시예에 따른 데이터 저장 시스템의 일 예를 나타낸다. 데이터 저장 시스템(100)은 클라우드 서비스 제공자의 데이터 센터 내의 많은 데이터 저장 시스템들 중 하나일 수 있다. 클라우드 서비스 제공자의 예로는 아마존 웹 서비스(Amazon Web Services®: AWS), 마이크로소프트 애저(Microsoft Azure®) 서비스 및 구글 클라우드 플랫폼(Google Cloud Platform®)가 포함된다. 또한, 데이터 센터는 응용 프로그램(110a, 110b, 110c)을 실행하는 하나 이상의 컴퓨팅 노드 및 클라우드 서비스를 위한 인터페이스를 제공하는 서버(150)를 구비한다.
데이터 저장 시스템(100)은 샤시의 다수의 장치 포트들을 통해 다수의 SSD들(130a-130e)을 홀딩할 수 있는 샤시를 구비한다. 예를 들어, 각 SSD(130)는 U.2 커넥터 및 다른 표준 커넥터를 사용하여 샤시의 장치 포트에 삽입될 수 있다. 비록, 본 발명은 3개의 응용 프로그램 및 5개의 SSD를 도시하였으나, 많은 수의 응용 프로그램이 실행될 수 있고, 많은 수의 SSD가 샤시에 구비될 수 있다. 예를 들어, 구성에 따라 최대 24개 또는 48개의 SSD가 데이터 저장 시스템(100)의 장치 포트에 삽입될 수 있다. 응용 프로그램(110a)은 SSD(130a, 130c)에 저장된 데이터를 사용할 수 있고, 응용 프로그램(110b)은 SSD(130b, 130d)에 저장된 데이터를 사용할 수 있으며, 응용 프로그램(110c)은 SSD(130e)에 저장된 데이터를 사용할 수 있다. 사용자(예를 들어, 기업 사용자)는 클라우드 서비스 제공자가 소유 및 관리하는 SSD를 사용하여 클라우드를 통해 응용 프로그램을 실행할 수 있다.
샤시는 CPU(120), BMC(121), 네트워크 신호를 전송하도록 구성된 네트워크 스위치(122), PCIe 버스를 통해 PCIe 신호들을 전송하도록 구성된 PCIe(Peripheral component interconnect express) 스위치(123), 다수의 업링크 포트(125), 및 다수의 다운링크 포트(126)를 포함한다. 일 실시예에 따르면, 데이터 저장 시스템(110)의 기본 패브릭은 이더넷이다. 이 경우, 네트워크 스위치(122)는 이더넷 스위치이고, 업링크 포트들(125) 및 다운링크 포트들(126)은 이더넷 포트들이다. 다운링크 포드들(126) 각각은 각 SSD(130)에 연결된다.
CPU(120)는 응용 프로그램(110) 및 SSD(130) 사이에서 I/O 동작을 제공하기 위해 이더넷과 같은 소프트웨어로 정의된 네트워킹 프로토콜을 갖는 운영 체제(예를 들어, 리눅스(Linux))를 실행하도록 구성된다. BMC(121)는 관리 포트(예를 들어, IPMI(Intelligent Platform Management Interface), NVMe-Mi(NVMe Management Interface), MTCP(Management Component Transport Protocol))를 통해 샤시의 마더 보드 및 샤시 내에 구비된 SSD를 관리한다. 예를 들어, BMC(121)는 SSD(130)의 추가, 제거 및 드라이브 오류를 감지할 수 있고, 샤시 전체의 센서들을 모니터링하고, 샤시의 팬 속도를 제어할 수 있다. CPU(120) 및 BMC(121) 모두 SSD(130)와 샤시의 다른 구성 요소에 대한 PCIe 트랜잭션을 개시할 수 있다. CPU(120)가 고성능, 고비용 CPU(예를 들어, 멀티 코어를 갖는 X86 CPU)를 사용하는 반면에, BMC(121)는 저비용 CPU(예를 들어, ARM 프로세서)를 사용한다.
일 실시예에 따르면, SSD(130)는 샤시의 마더 보드와 SSD(130) 사이에 설립된 PCIe 버스를 통해 제어 평면상의 BMC(121)로 일부 장치의 고유 정보를 푸시할 수 있다. 제어 평면을 통해 전달될 수 있는 일부 장치의 고유 정보의 예로는 SSD(130)의 발견 정보 및 FRU(field-replaceable unit) 정보가 포함될 수 있으나, 이에 한정되지 않는다. 특히, 장치 고유 정보는 특정 요구 사항 및 속성을 갖는 SSD(130)를 식별하기 위해 BMC(121)에 의해 소비될 수 있다. 이로써 SSD(130)의 상태를 폴링(polling)하기 위한 BMC(121)의 부담이 감소될 수 있다.
클라우드 서비스 공급자의 사용자 또는 서비스 관리자, 또는 데이터 센터의 컴퓨팅 노드에서 실행되는 응용 프로그램(110)은 클라우드 서비스 공급자로부터 컴퓨팅 및/또는 저장 리소스를 리스하기 위해 서버(150)로 쿼리(query)를 송부할 수 있다. 쿼리에 응답하여, 서버(150)는 데이터 센터 내의 BMC(121)(그리고 다른 BMC들)과 통신하여 그들이 관리하는 SSD의 장치 고유 정보를 전송한다. 일 실시예에 따르면, BMC(121)에 의해 검색된 SSD 정보는 SSD(130)의 속성을 포함한다. 속성의 예로는 벤더 ID(VID), 서브 시스템 벤더 ID(SSVID), 시리얼 넘버(SN), 모델 넘버(MN), 용량, 최대 데이터 전송 크기(MDTS), 읽기 데이터 단위 수, 쓰기 데이터 단위 수, 호스트 읽기 명령, 호스트 쓰기 명령 및 컨트롤러 사용 기간이 포함될 수 있으며, 그러나 이에 한정되지 않는다. SSD의 속성에 추가하여, BMC(121)는 서버(150)로 사용자 (또는 응용 프로그램)가 응용 프로그램을 실행하려고 하는 특정 기간 동안의 현재 사용 및/또는 가용성과 같은 SSD(130)의 추가적인 정보를 전송할 수 있다. 일 실시 예에서, 사용자의 쿼리는 사용자와 추가 SSD(130)를 필요로 하는 클라우드 서비스 공급자 혹은 응용 프로그램(110) 사이에 설정된 SLA에 근거하여 자동으로 생성될 수 있다.
일 실시예에 따르면, 서버(150)는 사용자 또는 서비스 관리자에게 사용자 인터페이스를 제공하도록 구성된 웹 서버일 수 있다. 서버(150)와 BMC(121) 사이의 통신은 관리 포트를 통할 수 있다. BMC(121)는 샤시 내에 구비된 SSD(130)를 관리하므로, 샤시 내에 존재하는 모든 SSD(130)의 상태 및 속성을 알고 있다. 일 실시예에 따르면, BMC(121)는 속성을 충족시키고 사용자에 의해 지정된 시간대 동안 이용 가능한 샤시 내에 구비된 SSD(130)의 상태 및 속성 정보를 전송할 수 있다. BMC(121) 및 데이터 센터의 다른 BMC로부터 수신된 상태 및 속성 정보에 근거하여, 서버(150)는 요구된 상태 및 속성을 만족시킬 수 있고 상기 시간대 동안 이용 가능한 SSD의 총 개수를 식별할 수 있다. 서버(150)에 의해 제공된 상태 및 속성 정보를 이용하여, 사용자는 클라우드 서비스 공급자와 서비스 계약을 체결하여 특정 시간대에 SSD를 사용하기로 결정할 수 있다. 서비스 계약에 기초하여, BMC(121)는 특정 SSD가 이용 가능하고 준비되어 있음을 사용자에게 보고할 수 있고, 사용자는 특정 시간대 동안 자격이 있는 SSD(130)의 저장 공간을 사용하여 응용 프로그램(110)을 실행할 수 있다. 리스가 완료되면, 서버(150)는 BMC(121)에 명령을 전송함으로써, 서비스가 만료되어 다음 서비스를 위해 SSD(130)를 비워야 한다는 것을 사용자에게 통지할 수 있다. SLA에서 지정된 응용 프로그램에 따라, BMC(121)는 응용 프로그램에 적합한 SSD(130)를 준비하기 위해 SSD(130)를 최적화 및/또는 초기화할 수 있다.
일 실시예에 따르면, 클라우드 서비스 공급자의 관리자 또는 데이터 센터의 컴퓨팅 노드에서 실행되는 적격 응용 프로그램은 그들의 속성 및 가용성에 기초하여 SSD(130)를 할당하고 사용할 수 있다. 클라우드 서비스 공급자의 관리자는 SSD의 상태 및 속성 정보를 다른 데이터 센터들의 관리자와 교환하여 서로 다른 데이터 센터들간에 SSD를 효율적으로 할당, 배정 및 사용할 수 있다.
일 실시예에 따르면, BMC(121)는 SSD가 이용 가능하게 될 때 하나 이상의 SSD의 속성 정보를 자발적으로 서버(150)에 전송할 수 있다. 서버(150)는 SSD의 상태가 변경되지 않는 한 속성 정보를 사용할 수 있고, 특정 속성을 갖는 SSD가 클라우드 서비스의 잠재적인 사용자에게 이용 가능하다는 것을 요청 측에 알릴 수 있다.
도 2a, 2b, 2c, 및 2d는 일 실시예에 따른 BMC를 사용하여 샤시 내의 SSD를 특성화하고 최적화하는 플로우챠트의 일 예를 나타낸다. 일 실시예에 따르면, BMC는 SSD의 성능을 최적화하기 위한 최적화 프로그램을 실행할 수 있다. 최적화 프로그램은 BMC에 의해 처리되는 프로세스이며, 소프트웨어 또는 펌웨어로 실행될 수 있다. 처음에는 BMC에 최적화 프로그램이 로드되지 않을 수 있다. 이 경우 최적화 프로그램은 클라우드 서비스 공급자의 사용자, 응용 프로그램 또는 관리자의 요청에 따라 외부에서 다운로드될 수 있다. 최적화 프로그램이 로드된 BMC는 요청 측에게 SSD의 속성 정보를 제공하여 SSD의 사용 및 조건을 최적화할 수 있다.
도 2a를 참조하면, 클라우드 서비스 공급자의 관리자(예를 들어, 리소스 이행 응용 프로그램)는 SSD의 특정 키 속성을 포함하는 사용자로부터 리스 명령을 수신하고, 풀에 BMC로부터의 응답을 요청한다. BMC로부터의 응답에 기초하여, 관리자는 특정 키 속성을 충족하는 샤시 내에 존재하는 SSD를 결정한다(201). BMC는 SSD가 센서를 사용하여 샤시의 장치 포트에 삽입될 때, 샤시 내에 있는 SSD 유형을 이미 알고 있을 수 있다. 처음에는 BMC가 최적화 프로그램을 장착하거나 실행하도록 구성될 수 없다. BMC의 최적화 프로그램이 인에이블 또는 로드되지 않은 경우(202), 클라우드 서비스 공급자의 관리자는 최적화 프로그램 소프트웨어(SW) 또는 펌웨어(FW)를 다운로드 할 수 있다(203). 그 다음, 관리자는 샤시가 고-가용성(HA) 모드로 실행되도록 구성되었는지 여부를 판단한다(204). 샤시가 HA 샤시로 구성된 경우, 관리자는 적절한 HA 드라이버를 선택하고, HA 샤시의 중복 복제 요소를 활성화한다(205). 관리자는 특정 샤시에 대해 HA 모드가 이용 가능한지를 더 체크한다(206). 선택된 샤시가 HA 샤시이지만, HA 모드를 사용할 수 없는 경우, 관리자는 오류를 보고하고(250), BMC의 최적화 프로그램은 활성화되지 않는 것으로 판단한다(260). HA 모드가 이용 가능하면, 관리자는 단계 205에서 선택된 HA 드라이버를 로딩하고(207), 페어링 파트너와 통신한다(208). HA 모드에서 페어링 파트너는 동일한 샤시 또는 다른 샤시에 있는 다른 컴퓨팅 노드일 수 있다. 파트너가 실패하면, 페어링 파트너가 파트너의 작업을 대신 처리할 수 있다. 이렇게 하면 시스템 가동 중지 시간을 최소화하거나 제거할 수 있다. 페어링 파트너를 사용할 수 있고(209), 선택한 샤시가 이중 경로를 사용할 수 있으면(210), 관리자는 샤시에 있는 SSD 유형을 결정한다. 예를 들어, 관리자는 BMC에 SSD 유형을 제공하도록 지시할 수 있다. 그렇지 않은 경우, 관리자는 경고를 보고하고, 비-HA 모드(211)로 샤시를 실행시키도록 구성한다(211).
도 2b를 참조하면, BMC는 샤시에 존재하는 SSD를 스캔한다(212). 스캔할 새로운 SSD가 있으면, BMC는 장치 고유 정보에 대한 쿼리를 새로운 SSD로 보내고, 장치 고유 정보 테이블에 새로운 SSD의 장치 고유 정보를 채운다(214). 스캔할 SSD가 더 이상 없으면(213), BMC는 수집된 장치 고유 정보를 서버로 송부한다(215). 이 스캐닝 및 쿼리 프로세스는 장치 고유 정보 테이블에 샤시에 있는 모든 스캔된 SSD에 대한 장치 고유 정보가 포함될 때까지 반복된다.
도 2c를 참조하면, BMC는 유형 및 속성에 따라 최적화 프로그램을 사용하여 샤시에 있는 SSD를 구성한다. 최적화 프로그램이 로드되면, BMC는 필요에 따라 최적화 프로세스를 수행할 준비가 된다. 예를 들어, BMC는 SSD의 추가, 제거 또는 오류를 감지하고, 이에 따라 최적화를 수행한다. 일 실시 예에서, BMC는 선택된 SSD가 NVMe-oF SSD인지(221) 또는 NVMe SSD인지를(231) 체크한다. 선택된 SSD가 NVMe-oF SSD인 경우, BMC는 선택된 SSD가 동일한 공급 업체 및 동일한 모델에서 온 것인지 여부를 확인한다(222). 이 경우, 공급 업체는 사용자, 응용 프로그램 또는 클라우드 서비스 공급자의 관리자의 요청으로 지정될 수 있다. 선택된 SSD가 동일한 공급 업체에서 온 것이 아닌 경우, BMC는 공통 매개 변수를 선택하여 SSD를 표준화한다(241). 다른 공급 업체의 경우, BMC는 다른 공급 업체의 SSD와 공통 매개 변수 및/또는 속성에 기초하여 하나의 공급 업체로부터 다른 SSD를 선택하여 SSD를 표준화할 수 있다. 샤시 내에 모든 SSD의 공통 매개 변수가 존재하면(242), BMC는 최적화 프로그램을 실행하기 시작한다(243). 선택된 SSD가 동일한 공급 업체로부터 나온 것이라면, BMC는 NVMe-oF 드라이버를 선택하고(223), 선택된 NVMe-oF 드라이버를 로드하여(224), SSD를 선택한다(225). 선택된 SSD가 NVMe SSD인 경우, BMC는 NVMe 드라이버를 선택하고(232), 선택된 NVMe 드라이버를 로드한다(233).
도 2d를 참조하면, BMC의 최적화 프로그램은 SLA 정보(252) 뿐만 아니라 선택된 SSD 상에서 실행될 응용 프로그램의 서명을 수신한다(251). 응용 프로그램이 실행되는 동안(253), BMC는 응용 프로그램이 멈출 때까지 SLA 정보를 계속 수신한다(260).
도 3은 일 실시예에 따른 BMC 및 SSD 사이의 트랜잭션(transactions)의 일 예를 나타낸다. 일 실시예에 따르면, BMC(310)는 응용 프로그램을 실행할 수 있다(ON). SSD(320)가 NVMe-oF SSD인 경우에, BMC(310) 상에서 실행되는 최적화 프로그램은 NVMe-oF 사양에 의해 지원된다.
최적화 프로그램은 IDFY 명령(351)을 SSD(320)로 전송한다. IDFY 명령(351)에 응답하여, SSD(320)는 SSD 정보(352)를 준비하여 BMC(310)로 전송한다. SSD 정보(352)를 성공적으로 전송한 후, SSD(320)는 BMC(310)로 IDFY 완료 엔트리를 전송한다. BMC(310)는 SSD(320)의 로그 정보를 요청하는 로그 명령을 SSD(320)로 전송한다. SSD(320)는 BMC(310)에 로그 페이지(355)를 전송한다. 로그 페이지(355)는 SMART/건강 정보 로그 및 성능과 리소스에 대한 공급 업체별 로그 페이지를 포함할 수 있다. 로그 페이지를 성공적으로 전송한 후, SSD(320)는 로그 완료 엔트리(356)를 전송한다.
BMC의 최적화 프로그램은 NVMe-oF SSD를 지원할 수 있고, 특정 속성을 갖는 NVMe-oF SSD를 식별할 수 있다. 그들의 속성에 기초하여, 최적화 프로그램은 샤시에 있는 다양한 유형/크기의 NVMe-oF SSD를 최적화 및 표준화할 수 있다.
샤시 내의 각각의 NVMe-oF SSD는 자신의 장치 고유 정보(350)를 BMC 상에서 실행되는 최적화 프로그램에 보고할 수 있다. 장치 고유 정보의 보고는 정기적으로 이루어지거나 BMC의 요청이 있을 때 할 수 있다. 장치 고유 정보(350)의 예로는 벤더 ID(VID), 서브 시스템 벤더 ID(SSVID), 시리얼 번호(SN), 모델 번호(MN), 용량, 최대 데이터 전송 크기(MDTS), 읽기 데이터 단위 수, 쓰기 데이터 단위 수, 호스트 읽기 명령, 호스트 쓰기 명령 및 컨트롤러 사용 시간이 포함되나, 이에 한정되지 않는다. 예를 들어, NVMe-oF SSD는 NVMe 식별(IDFY) 명령 및/또는 빠른 쿼리를 위한 CMBQuery 서비스를 통해 최적화 프로그램에 장치 고유 정보(350)를 제공 할 수 있다.
일 실시예에 따르면, 요청 측의 요청에 따라 샤시 내에 있는 SSD로 장치 고유 정보(350)를 요청하는 쿼리를 전송할 수 있다. 샤시에 있는 SSD에 대해 수집된 장치 고유 정보(350)을 바탕으로, BMC는 SSD를 그들의 속성에 따라 하나 이상의 그룹으로 분류할 수 있다. BMC는 SSD가 할당되고 SSD를 사용하려는 응용 프로그램이 시작되기 전에, 요청 측에게 이러한 속성을 제공할 수 있다. 최적화 프로그램은 장치 고유 정보(350)를 수집 및 분석하여 요청 측에게 유용한 정보를 제공할 수 있다. 예를 들어, 요청 측은 응용 프로그램에 사용되는 SSD가 필수 속성, 구성 및 데이터 프로필을 가지고 있는지의 여부에 대해 정보에 입각한 결정을 할 수 있다.
일 실시예에 따르면, SSD는 BMC가 논리적으로 소유, 관리 및 액세스할 수 있는 메모리 버퍼를 구비한다. BMC는 프로토콜 프로세스를 수반하지 않고, SSD의 메모리 버퍼에 직접 액세스할 수 있다.
일 실시예에 따르면, 본 발명은 다수의 공급 업체로부터의 다양한 SSD들의 최적화를 제공하기 위한 시스템 및 방법을 제공한다. 클라우드 서비스 공급자는 고객 정의 SLA를 기반으로 응용 프로그램을 실행하기 위한 SSD 풀을 제공할 수 있다. 클라우드 서비스 공급자는 BMC에서 수집한 SSD 정보를 사용하여 잠재적인 사용자에게 리소스 리스 서비스를 제공할 수 있다. 리스하기 전에, 사용자는 SSD의 원하는 속성을 지정하고, 사용 가능한 SSD의 속성과 상태를 검토할 수 있다. BMC는 현재 응용 프로그램이 완료되거나 현재 리스가 만료된 후 SSD를 비울 수 있다. 예를 들어, BMC는 신규 사용자에 대한 리스된 구성 및 가입 데이터를 안전하게 지우거나 제거할 수 있다.
일 실시예에 따르면, SSD는 응용 프로그램의 필요에 따라 재구성될 수 있다. SSD의 일부 속성은 여러 응용 프로그램에 대해 반복적으로 리스 및 구성된 후 일정 기간에 걸쳐 변경될 수 있다. BMC는 최적화 프로그램을 실행하여 SSD의 속성을 업데이트할 수 있다. 호스트는 고객 응용 프로그램 프로파일을 충족시킬 수 있는 SSD를 선택할 수 있을 뿐만 아니라 특정 응용 프로그램에 대해 현재 최적화되지 않은 SSD를 재구성할 수도 있다. BMC는 SSD가 응용 프로그램에 할당되기 전에 응용 프로그램을 실행할 준비가 된 최적의 상태로 SSD를 재구성할 수 있다.
일 실시예에 따르면, 데이터 저장 시스템은: 다수의 데이터 저장 장치; 베이스보드 관리 컨트롤러(BMC)를 포함하는 마더 보드; 및 상기 다수의 데이터 저장 장치에 네트워크 트래픽을 전송하기 위한 네트워크 스위치를 포함한다. 상기 BMC는 상기 다수의 데이터 저장 장치로부터 수신된 장치 고유 정보에 기초하여 상기 다수의 데이터 저장 장치들 중 데이터 저장 장치 그룹을 식별하고, 상기 데이터 저장 장치 그룹의 식별자를 쿼리측으로 전송한다.
상기 데이터 저장 장치는 NVMe-oF 표준과 호환 가능한 솔리드 스테이트 드라이브(SSD)이고, 상기 네트워크 스위치는 이더넷 스위치이며, 상기 복수의 업링크 포트 및 상기 다수의 다운링크 포트는 이더넷 포트들이다.
상기 다수의 데이터 저장 장치들 각각은 PCIe 버스를 통해 상기 BMC로 상기 장치 고유 정보를 전송한다.
상기 장치 고유 정보는 상기 다수의 데이터 저장 장치의 발견 정보 및 필드 재배치 유닛(FRU) 정보를 포함한다.
상기 장치 고유 정보는 벤더 ID(VID), 서브 시스템 벤더 ID(SSVID), 시리얼 번호(SN), 모델 번호(MN), 용량, 최대 데이터 전송 크기(MDTS), 읽기 데이터 단위 수, 쓰기 데이터 단위 수, 호스트 읽기 명령, 호스트 쓰기 명령 및 컨트롤러 비지(busy) 시간을 포함하는 상기 다수의 데이터 저장 장치의 속성을 더 포함한다.
상기 장치 고유 정보는 상기 특정 시간 기간동안 상기 다수의 데이터 저장 장치의 현재 사용 또는 가용성을 더 포함한다.
상기 BMC는 상기 쿼리측의 요청에 응답하여 상기 다수의 데이터 저장 장치로 쿼리를 전송하고, 상기 다수의 데이터 저장 장치는 상기 BMC의 상기 쿼리에 응답하여 상기 BMC로 상기 장치 고유 정보를 전송한다.
상기 쿼리는 서비스 레벨 계약(SLA)에 기반하여 자동적으로 생성된다.
상기 쿼리는 상기 데이터 저장 장치들의 속성에 대한 요구를 포함한다.
상기 BMC는 상기 다수의 데이터 저장 장치들 중 상기 속성에 대한 요구를 만족하는 상기 데이터 저장 장치의 그룹을 상기 쿼리측으로 전송한다.
상기 BMC는 상기 데이터 저장 장치의 그룹을 비우도록 더 구성된다.
다른 실시예에 따르면, 방법은: 베이스보드 관리 컨트롤러(BMC)를 사용하여 데이터 저장 시스템에 포함된 다수의 데이터 저장 장치로부터 장치 고유 정보를 수신하는 단계; 상기 다수의 데이터 저장 장치들의 속성에 기초하여 상기 다수의 데이터 저장 장치들 중 데이터 저장 장치의 그룹을 식별하는 단계; 및 상기 데이터 저장 장치 그룹의 식별자를 쿼리측으로 전송하는 단계를 포함한다.
상기 데이터 저장 장치는 NVMe-oF 표준과 호환 가능한 솔리드 스테이트 드라이브(SSD)이고, 상기 네트워크 스위치는 이더넷 스위치이며, 상기 복수의 업링크 포트 및 상기 다수의 다운링크 포트는 이더넷 포트들이다.
상기 다수의 데이터 저장 장치들 각각은 PCIe 버스를 통해 상기 BMC로 상기 장치 고유 정보를 전송한다.
상기 장치 고유 정보는 상기 다수의 데이터 저장 장치의 발견 정보 및 필드 재배치 유닛(FRU) 정보를 포함한다.
상기 장치 고유 정보는 벤더 ID(VID), 서브 시스템 벤더 ID(SSVID), 시리얼 번호(SN), 모델 번호(MN), 용량, 최대 데이터 전송 크기(MDTS), 읽기 데이터 단위 수, 쓰기 데이터 단위 수, 호스트 읽기 명령, 호스트 쓰기 명령 및 컨트롤러 비지(busy) 시간 중 하나 이상을 포함하는 상기 다수의 데이터 저장 장치의 속성을 더 포함한다.
상기 장치 고유 정보는 상기 특정 시간 기간동안 상기 다수의 데이터 저장 장치의 현재 사용 또는 가용성을 더 포함한다.
상기 BMC는 상기 쿼리측의 요청에 응답하여 상기 다수의 데이터 저장 장치로 쿼리를 전송하고, 상기 다수의 데이터 저장 장치는 상기 BMC의 상기 쿼리에 응답하여 상기 BMC로 상기 장치 고유 정보를 전송한다.
상기 방법은 서비스 레벨 계약(SLA)에 기반하여 쿼리를 자동으로 생성하는 것을 더 포함할 수 있다.
상기 쿼리는 상기 데이터 저장 장치들의 속성에 대한 요구를 포함한다.
상기 BMC는 상기 다수의 데이터 저장 장치들 중 상기 속성에 대한 요구를 만족하는 상기 데이터 저장 장치의 그룹을 상기 쿼리측으로 전송한다.
상기 방법은 BMC를 사용하여 상기 데이터 저장 장치의 그룹을 비우는 것을 더 포함할 수 있다.
NVMe-oF SSD를 정밀하게 튜닝하고 최적화하기 위한 시스템 및 방법을 구현하는 다양한 실시 예를 설명하기 위해 상기 실시 예들이 이상에서 설명되었다. 개시된 예시적인 실시 예들로부터의 다양한 변형 및 벗어남은 당업자에게 발생할 수 있는 것이다. 본 발명의 권리 범위 내에 있는 주제 구성은 다음의 특허 청구 범위에서 제시된다.

Claims (10)

  1. 하나 이상의 데이터 저장 장치들을 제거 가능하게 수신하도록 구성된 샤시;
    상기 샤시에 결합된 베이스보드 관리 컨트롤러(BMC); 및
    하나 이상의 제1 네트워크 포트들을 통해서 하나 이상의 애플리케이션들로부터 수신된 네트워크 트래픽을 하나 이상의 제2 네트워크 포트들을 통해서 상기 하나 이상의 데이터 저장 장치들에게 전송하도록 구성된 네트워크 스위치를 포함하되,
    상기 BMC는 제어 평면을 통해 상기 하나 이상의 데이터 저장 장치들에 대한 쿼리를 개시하고, 상기 쿼리를 개시한 것에 응답하여 상기 하나 이상의 데이터 저장 장치들의 장치 고유 정보를 수신하고, 상기 하나 이상의 데이터 저장 장치들로부터 수신된 상기 장치 고유 정보에 기초하여 상기 하나 이상의 데이터 저장 장치들 중에서 데이터 저장 장치들의 그룹을 식별하고, 그리고 관리 포트를 통해 쿼리측에게 상기 데이터 저장 장치들의 그룹의 식별자들을 전송하는 데이터 저장 시스템.
  2. 제 1 항에 있어서,
    상기 하나 이상의 데이터 저장 장치들의 각각은 상기 제어 평면을 통해 상기 BMC에게 상기 장치 고유 정보를 전송하는 데이터 저장 시스템.
  3. 제 1 항에 있어서,
    상기 제어 평면은 PCIe(Peripheral component interconnect express) 버스 또는 관리 이더넷 포트를 포함하는 데이터 저장 시스템.
  4. 제 1 항에 있어서,
    상기 하나 이상의 데이터 저장 장치들의 각각은 NVMe-oF(Non-volatile memory express over fabrics) 표준과 호환 가능한 SSD(solid state drive)이고, 그리고 상기 네트워크 스위치는 이더넷 스위치이고, 상기 하나 이상의 제1 네트워크 포트들 및 상기 하나 이상의 제2 네트워크 포트들은 이더넷 포트들인 데이터 저장 시스템.
  5. 제 1 항에 있어서,
    상기 장치 고유 정보는 상기 하나 이상의 데이터 저장 장치들의 발견 정보 및 필드 재배치 유닛(FRU) 정보를 포함하는 데이터 저장 시스템.
  6. 제 1 항에 있어서,
    상기 장치 고유 정보는 상기 하나 이상의 데이터 저장 장치들의 속성들을 포함하고, 상기 속성들은 벤더 ID(VID), 서브 시스템 벤더 ID(SSVID), 시리얼 번호(SN), 모델 번호(MN), 용량, 최대 데이터 전송 크기(MDTS), 읽기 데이터 단위 수, 쓰기 데이터 단위 수, 호스트 읽기 명령, 호스트 쓰기 명령, 및 컨트롤러 비지 시간 중 적어도 하나를 포함하는 데이터 저장 시스템.
  7. 제 1 항에 있어서,
    상기 장치 고유 정보는 특정 시간 기간 동안 상기 하나 이상의 데이터 저장 장치들의 현재 사용 또는 가용성을 포함하는 데이터 저장 시스템.
  8. 제 1 항에 있어서,
    상기 BMC는 상기 쿼리측으로부터 수신된 요청에 응답하여 상기 하나 이상의 데이터 저장 장치들에 대한 쿼리를 전송하고, 그리고 상기 하나 이상의 데이터 저장 장치들은 상기 BMC에 의한 상기 쿼리에 응답하여 상기 BMC에게 상기 장치 고유 정보를 전송하는 데이터 저장 시스템.
  9. 제 1 항에 있어서,
    상기 쿼리는 서비스 레벨 계약(SLA)에 기초하여 자동으로 생성되고, 그리고
    상기 쿼리는 상기 하나 이상의 데이터 저장 장치들의 속성들의 요구 사항들을 포함하고, 상기 BMC는 상기 하나 이상의 데이터 저장 장치들 중에서 상기 쿼리측의 상기 속성들의 상기 요구 사항들을 만족하는 상기 데이터 저장 장치들의 그룹을 전송하는 데이터 저장 시스템.
  10. 제어 평면을 통해 데이터 저장 시스템의 베이스보드 관리 컨트롤러(BMC)로부터 하나 이상의 데이터 저장 장치들에 대한 쿼리를 개시하는 단계로서, 상기 하나 이상의 데이터 저장 장치들은 상기 데이터 저장 시스템의 샤시에 제거 가능하게 결합되는 것;
    상기 BMC에서, 상기 쿼리에 응답하여 상기 하나 이상의 데이터 저장 장치들의 각각으로부터 장치 고유 정보를 수신하는 단계;
    상기 BMC에서, 상기 하나 이상의 데이터 저장 장치들의 속성들에 기초하여 상기 하나 이상의 데이터 저장 장치들 중에서 데이터 저장 장치들의 그룹을 식별하는 단계; 및
    관리 포트를 통해 쿼리측에게 상기 BMC로부터 상기 데이터 저장 장치들의 그룹의 식별자들을 전송하는 단계를 포함하는 방법.
KR1020220113640A 2017-05-19 2022-09-07 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법 Active KR102746294B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240190957A KR20250005022A (ko) 2017-05-19 2024-12-19 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762508811P 2017-05-19 2017-05-19
US62/508,811 2017-05-19
US15/674,690 2017-08-11
US15/674,690 US10310745B2 (en) 2017-05-19 2017-08-11 Method and apparatus for fine tuning and optimizing NVMe-oF SSDs
KR1020180034446A KR102443222B1 (ko) 2017-05-19 2018-03-26 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180034446A Division KR102443222B1 (ko) 2017-05-19 2018-03-26 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240190957A Division KR20250005022A (ko) 2017-05-19 2024-12-19 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220127789A true KR20220127789A (ko) 2022-09-20
KR102746294B1 KR102746294B1 (ko) 2024-12-26

Family

ID=64269650

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180034446A Active KR102443222B1 (ko) 2017-05-19 2018-03-26 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법
KR1020220113640A Active KR102746294B1 (ko) 2017-05-19 2022-09-07 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법
KR1020240190957A Pending KR20250005022A (ko) 2017-05-19 2024-12-19 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180034446A Active KR102443222B1 (ko) 2017-05-19 2018-03-26 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020240190957A Pending KR20250005022A (ko) 2017-05-19 2024-12-19 NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법

Country Status (3)

Country Link
US (5) US10310745B2 (ko)
KR (3) KR102443222B1 (ko)
CN (1) CN108959146B (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10346041B2 (en) * 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US10459665B2 (en) 2017-04-03 2019-10-29 Samsung Electronics Co., Ltd. System and method of configuring NVMe-oF devices using a baseboard management controller (BMC)
US10310745B2 (en) * 2017-05-19 2019-06-04 Samsung Electronics Co., Ltd. Method and apparatus for fine tuning and optimizing NVMe-oF SSDs
US10768943B2 (en) * 2017-12-19 2020-09-08 Hewlett Packard Enterprise Development Lp Adapter configuration over out of band management network
US10990554B2 (en) * 2018-03-02 2021-04-27 Samsung Electronics Co., Ltd. Mechanism to identify FPGA and SSD pairing in a multi-device environment
US11307778B2 (en) * 2018-03-09 2022-04-19 Kioxia Corporation Power management for solid state drives in a network
US10979497B2 (en) * 2018-07-19 2021-04-13 Cisco Technology, Inc. Multi-node discovery and master election process for chassis management
WO2020130204A1 (ko) * 2018-12-21 2020-06-25 주식회사 태진인포텍 다중 인터페이스의 저장 장치를 제어하기 위한 시스템 및 그 방법
US11481342B2 (en) 2019-06-25 2022-10-25 Seagate Technology Llc Data storage system data access arbitration
CN110647429A (zh) * 2019-09-30 2020-01-03 联想(北京)有限公司 一种电子设备、处理系统及处理方法
KR102740441B1 (ko) * 2019-12-17 2024-12-09 에스케이하이닉스 주식회사 스토리지 시스템, 이를 위한 스토리지 장치 및 동작 방법
CN111459863B (zh) * 2020-03-08 2021-09-28 苏州浪潮智能科技有限公司 一种基于nvme-mi的机箱管理系统及方法
US11079939B1 (en) 2020-07-30 2021-08-03 Hewlett Packard Enterprise Development Lp Distributing I/O Q-connections of subsytems among hosts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469596B1 (ko) * 2011-11-14 2014-12-08 엘에스아이 코포레이션 스토리지 디바이스 펌웨어 및 제조 소프트웨어
KR20160087910A (ko) * 2013-12-10 2016-07-22 어플라이드 머티어리얼스, 인코포레이티드 진공 프로세싱 장치를 위한 기판 스프레딩 디바이스, 기판 스프레딩 디바이스를 갖는 진공 프로세싱 장치 및 그를 동작시키기 위한 방법
KR20170083457A (ko) * 2016-01-08 2017-07-18 엘지전자 주식회사 이동 단말기

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
JP2677741B2 (ja) * 1991-10-03 1997-11-17 インターナショナル・ビジネス・マシーンズ・コーポレイション 自動貯蔵ライブラリ
US5485576A (en) * 1994-01-28 1996-01-16 Fee; Brendan Chassis fault tolerant system management bus architecture for a networking
US5790890A (en) * 1996-02-29 1998-08-04 Sun Microsystems, Inc. Identification interface
US6381190B1 (en) * 1999-05-13 2002-04-30 Nec Corporation Semiconductor memory device in which use of cache can be selected
US6957312B1 (en) * 2003-05-07 2005-10-18 Agilent Technologies, Inc. NVRAM control protocol
US7990994B1 (en) * 2004-02-13 2011-08-02 Habanero Holdings, Inc. Storage gateway provisioning and configuring
JP4945186B2 (ja) * 2006-07-28 2012-06-06 株式会社東芝 記憶装置およびこれを含むメモリシステム
US8031632B2 (en) * 2006-08-30 2011-10-04 Hewlett-Packard Development Company, L.P. Method and system of implementing virtual local area networks (VLANS) with teamed communication ports
US8711683B2 (en) * 2007-03-19 2014-04-29 Cisco Technology, Inc. Network traffic demotion
CN101271420B (zh) * 2007-03-20 2010-05-19 联想(北京)有限公司 一种识别硬盘安装有操作系统的装置
JP5080140B2 (ja) 2007-06-13 2012-11-21 株式会社日立製作所 I/oデバイス切り替え方法
US7568051B1 (en) * 2007-06-29 2009-07-28 Emc Corporation Flexible UCB
US8171337B2 (en) * 2009-03-30 2012-05-01 The Boeing Company Computer architectures using shared storage
US8447916B2 (en) * 2010-02-17 2013-05-21 Microsoft Corporation Interfaces that facilitate solid state storage configuration
US9189385B2 (en) 2010-03-22 2015-11-17 Seagate Technology Llc Scalable data structures for control and management of non-volatile storage
CN102571478B (zh) * 2010-12-31 2016-05-25 上海宽惠网络科技有限公司 服务器
US8700875B1 (en) * 2011-09-20 2014-04-15 Netapp, Inc. Cluster view for storage devices
US20140059278A1 (en) 2011-11-14 2014-02-27 Lsi Corporation Storage device firmware and manufacturing software
CN103176884A (zh) 2011-12-20 2013-06-26 鸿富锦精密工业(深圳)有限公司 硬盘监视系统及方法
US9467511B2 (en) 2012-01-17 2016-10-11 Intel Corporation Techniques for use of vendor defined messages to execute a command to access a storage device
US8976033B2 (en) * 2013-02-06 2015-03-10 Hewlett-Packard Development Company, L.P. Controller coupled to visual indicator
US9423977B2 (en) 2013-03-14 2016-08-23 Seagate Technology Llc Lock-free communication storage request reordering
US10073626B2 (en) * 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
US9483431B2 (en) 2013-04-17 2016-11-01 Apeiron Data Systems Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA)
US20140325146A1 (en) * 2013-04-29 2014-10-30 Lsi Corporation Creating and managing logical volumes from unused space in raid disk groups
US9298648B2 (en) 2013-05-08 2016-03-29 Avago Technologies General Ip (Singapore) Pte Ltd Method and system for I/O flow management using RAID controller with DMA capabilitiy to directly send data to PCI-E devices connected to PCI-E switch
US9213610B2 (en) * 2013-06-06 2015-12-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Configurable storage device and adaptive storage device array
KR20150047784A (ko) * 2013-10-25 2015-05-06 삼성전자주식회사 서버 시스템 및 스토리지 시스템
US9317204B2 (en) 2013-11-14 2016-04-19 Sandisk Technologies Inc. System and method for I/O optimization in a multi-queued environment
US9720860B2 (en) 2014-06-06 2017-08-01 Toshiba Corporation System and method for efficient processing of queued read commands in a memory system
US10025802B2 (en) * 2014-09-19 2018-07-17 Amazon Technologies, Inc. Automated configuration of log-coordinated storage groups
US20160087910A1 (en) * 2014-09-22 2016-03-24 Cisco Technology, Inc. Computing migration sphere of workloads in a network environment
WO2016069011A1 (en) * 2014-10-31 2016-05-06 Hewlett Packard Enterprise Development Lp Management controller
US9612759B2 (en) * 2015-05-15 2017-04-04 Dell Products Lp Systems and methods for RAID storage configuration using hetereogenous physical disk (PD) set up
US10452614B2 (en) * 2015-06-12 2019-10-22 International Business Machines Corporation Storage data reduction analysis and forecast
CN106325761B (zh) * 2015-06-29 2020-04-28 中兴通讯股份有限公司 一种存储资源管理的系统及方法
US10296232B2 (en) 2015-09-01 2019-05-21 Western Digital Technologies, Inc. Service level based control of storage systems
US9734093B2 (en) * 2015-09-18 2017-08-15 Dell Products, L.P. Management of secured storage devices in an information handling system
US10515055B2 (en) * 2015-09-18 2019-12-24 Netapp, Inc. Mapping logical identifiers using multiple identifier spaces
US10055378B2 (en) * 2016-04-28 2018-08-21 Hewlett Packard Enterprise Development Lp Coupling connector to management port or system port
US10210123B2 (en) * 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US10762023B2 (en) 2016-07-26 2020-09-01 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices
US10372659B2 (en) 2016-07-26 2019-08-06 Samsung Electronics Co., Ltd. Multi-mode NMVE over fabrics devices
US20180082066A1 (en) * 2016-09-16 2018-03-22 Microsoft Technology Licensing, Llc Secure data erasure in hyperscale computing systems
ES2800064T3 (es) * 2016-12-28 2020-12-23 Huawei Tech Co Ltd Procedimiento, dispositivo y sistema para transferencia de paquetes en NVME sobre tejido
US10310745B2 (en) * 2017-05-19 2019-06-04 Samsung Electronics Co., Ltd. Method and apparatus for fine tuning and optimizing NVMe-oF SSDs
WO2019047042A1 (zh) * 2017-09-05 2019-03-14 深圳迈瑞生物医疗电子股份有限公司 血小板聚集样本的报警方法、血细胞分析仪及存储介质
US10614069B2 (en) * 2017-12-01 2020-04-07 Palantir Technologies Inc. Workflow driven database partitioning
US11481342B2 (en) * 2019-06-25 2022-10-25 Seagate Technology Llc Data storage system data access arbitration
US11079939B1 (en) * 2020-07-30 2021-08-03 Hewlett Packard Enterprise Development Lp Distributing I/O Q-connections of subsytems among hosts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469596B1 (ko) * 2011-11-14 2014-12-08 엘에스아이 코포레이션 스토리지 디바이스 펌웨어 및 제조 소프트웨어
KR20160087910A (ko) * 2013-12-10 2016-07-22 어플라이드 머티어리얼스, 인코포레이티드 진공 프로세싱 장치를 위한 기판 스프레딩 디바이스, 기판 스프레딩 디바이스를 갖는 진공 프로세싱 장치 및 그를 동작시키기 위한 방법
KR20170083457A (ko) * 2016-01-08 2017-07-18 엘지전자 주식회사 이동 단말기

Also Published As

Publication number Publication date
US20180335958A1 (en) 2018-11-22
CN108959146A (zh) 2018-12-07
KR102443222B1 (ko) 2022-09-14
US20210373778A1 (en) 2021-12-02
KR102746294B1 (ko) 2024-12-26
US20190243560A1 (en) 2019-08-08
US10664175B2 (en) 2020-05-26
US20200264784A1 (en) 2020-08-20
KR20250005022A (ko) 2025-01-09
US11573707B2 (en) 2023-02-07
KR20180127179A (ko) 2018-11-28
US20240094918A1 (en) 2024-03-21
CN108959146B (zh) 2023-09-05
US11842052B2 (en) 2023-12-12
US10310745B2 (en) 2019-06-04

Similar Documents

Publication Publication Date Title
KR102746294B1 (ko) NVMe-oF SSD의 정밀한 튜닝 및 최적화를 위한 장치 및 방법
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)
KR102200934B1 (ko) 스토리지 시스템 및 그것의 동작 방법
US8495255B2 (en) Discovery and configuration of device configurations
US8589538B2 (en) Storage workload balancing
JP4686606B2 (ja) 複数のホスト・バス・アダプタを介して取り付けられた取り外し可能メディア・デバイス間での入力/出力作業負荷の動的分散のための方法、コンピュータ・プログラム、およびシステム
EP2016743A1 (en) Optimisation of the selection of storage device ports
US20060167886A1 (en) System and method for transmitting data from a storage medium to a user-defined cluster of local and remote server blades
US20070079062A1 (en) Method and system for storage access management in IP network
US8433877B2 (en) Storage scalability management
US8819481B2 (en) Managing storage providers in a clustered appliance environment
JP2003296154A (ja) ボリューム統合管理方法および統合管理システム
WO2017142786A1 (en) Methods for managing array luns in a storage network with a multi-path configuration and devices thereof

Legal Events

Date Code Title Description
PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20220907

Patent event code: PA01071R01D

Filing date: 20180326

Application number text: 1020180034446

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240228

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20241121

PG1601 Publication of registration