KR20180097433A - 이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법 - Google Patents

이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법 Download PDF

Info

Publication number
KR20180097433A
KR20180097433A KR1020170122019A KR20170122019A KR20180097433A KR 20180097433 A KR20180097433 A KR 20180097433A KR 1020170122019 A KR1020170122019 A KR 1020170122019A KR 20170122019 A KR20170122019 A KR 20170122019A KR 20180097433 A KR20180097433 A KR 20180097433A
Authority
KR
South Korea
Prior art keywords
solid state
ethernet
state drive
bandwidth
ethernet solid
Prior art date
Application number
KR1020170122019A
Other languages
English (en)
Other versions
KR102435004B1 (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 KR20180097433A publication Critical patent/KR20180097433A/ko
Application granted granted Critical
Publication of KR102435004B1 publication Critical patent/KR102435004B1/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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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/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
    • 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
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded 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/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
    • 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/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40065Bandwidth and channel allocation
    • 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/0893Assignment of logical groups to network elements
    • 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • 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
    • 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/0894Policy-based network configuration management
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

이더넷 솔리드 스테이트 드라이브 시스템은 복수의 이더넷 솔리드 스테이트 드라이브들, 이더넷 스위치 및 베이스보드 관리 제어기를 포함한다. 이더넷 스위치는 이더넷 솔리드 스테이트 드라이브들 각각과 결합되고, 베이스보드 관리 제어기는 이더넷 솔리드 스테이트 드라이브들 각각과 그리고 이더넷 스위치와 결합된다. 베이스보드 관리 제어기는 베이스보드 관리 제어기의 정책 표에 저장된 이더넷 솔리드 스테이트 드라이브에 대한 대역폭 정보에 기반한 대응하는 미리 정해진 대역폭을 각 이더넷 솔리드 스테이트 드라이브에 제공하도록 이더넷 스위치를 제어한다. 적어도 하나의 미리 정해진 대역폭은 대응하는 이더넷 솔리드 스테이트 드라이브에 대한 미리 정해진 진입 대역폭 및 미리 정해진 진출 대역폭을 포함할 수 있다. 적어도 하나의 미리 정해진 대역폭은 대응하는 이더넷 솔리드 스테이트 드라이브와 연관된 서비스 수준에 기반할 수 있고, 대응하는 이더넷 솔리드 스테이트 드라이브의 동작 파라미터들에 적응적으로 기반할 수 있다.

Description

이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법{A METHOD FOR CONTROLLING BW SLA IN NVMe-oF ETHERNET SSD STORAGE SYSTEMS}
여기에 기재된 주제는 일반적으로 저장 시스템들에 관한 것으로, 더 상세하게는 이더넷(Ethernet) 솔리드 스테이트 드라이브(Solid-State-Drive) 시스템들과 연관된 대역폭 서비스 수준협약들(SLAs, Service Level Agreements)을 관리하기 위한 시스템 및 방법에 관한 것이다.
이더넷 솔리드 스테이트 드라이브들(eSSDs)은 하나 또는 그보다 많은 원격 서버 호스트들이 원격 직접 연결 저장소(remote Direct Attached Storage, rDAS) 모드에서 이더넷 네트워크를 통해 이더넷 솔리드 스테이트 드라이브(eSSD)에 연결되는 것을 허용한다. 그러나 통상적인 이더넷 솔리드 스테이트 드라이브(eSSD) 저장 시스템들은 다수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)을 갖는 저장 시스템에서 특정 이더넷 솔리드 스테이트 드라이브(eSSD)에 적용되는 대역폭 서비스 수준협약(SLA)을 쉽게 허용하지 않는다.
본 발명의 목적은 이더넷 솔리드 스테이트 드라이브들의 대역폭 수준협약들을 제어하는 시스템 및 방법을 제공하는 데에 있다.
예시적인 실시 예는 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD), 이더넷 스위치, 그리고 베이스보드 관리 제어기와 같은 제어기를 포함하는 이더넷 솔리드 스테이트 드라이브(eSSD) 시스템을 제공한다. 이더넷 스위치는 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD)와 결합되고, 제어기는 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD) 및 이더넷 스위치와 결합될 수 있다. 제어기는 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD)에 미리 정해진 대역폭을 제공하도록 이더넷 스위치를 제어할 수 있다. 미리 정해진 대역폭은 제어기의 정책 표에 저장된 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD)에 대한 대역폭 정보에 기반할 수 있다. 일 실시 예에서, 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD)에 대한 각 미리 정해진 대역폭은 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD)에 대한 미리 정해진 진입 대역폭 및 미리 정해진 진출 대역폭을 포함할 수 있다. 일 실시 예에서, 미리 정해진 진입 대역폭은 미리 정해진 진출 대역폭과 다를 수 있다. 다른 실시 예에서, 미리 정해진 대역폭은 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD)와 연관된 서비스 수준에 기반할 수 있다. 또 다른 실시 예에서, 미리 정해진 대역폭은 적어도 하나의 이더넷 솔리드 스테이트 드라이브(eSSD)의 동작 파라미터들에 적응적으로 기반할 수 있다.
예시적인 실시 예는 이더넷 솔리드 스테이트 드라이브 시스템에 대한 대역폭을 제어하는 방법을 제공한다. 방법은 제어기에서 복수의 이더넷 솔리드 스테이트 드라이브들 중에서 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 대역폭 정보를 수신하는 단계; 제어기에서 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 수신된 대역폭 정보를 저장하는 단계; 그리고 제어기에 의해 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 이더넷 스위치의 대역폭 용량을 구성하는 단계를 포함하고, 이더넷 스위치는 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 결합된다. 일 실시 예에서, 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 대역폭 용량은 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 미리 정해진 진입 대역폭 및 미리 정해진 진출 대역폭을 포함할 수 있다. 일 실시 예에서, 미리 정해진 진입 대역폭은 미리 정해진 진출 대역폭과 다를 수 있다. 일 실시 예에서, 대역폭 용량은 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 연관된 서비스 수준에 기반할 수 있다. 다른 실시 예에서, 대역폭 용량은 적어도 하나의 이더넷 솔리드 스테이트 드라이브의 동작 파라미터들에 적응적으로 기반할 수 있다.
본 발명에 따르면, 이더넷 솔리드 스테이트 드라이브들의 서비스 수준협약들에 따라 그리고 동작 파라미터들에 따라 대역폭들이 제어된다. 따라서, 향상된 유연성을 갖는 시스템 및 방법이 제공된다.
아래의 섹션에서, 여기에 기재된 주제의 측면들이 도면들에 도시된 모범적인 실시 예들을 참조하여 설명될 것이다.
도 1은 여기에 기재된 주제에 따른 이더넷 솔리드 스테이트 드라이브 제어 플랫폼을 보여준다.
도 2a 내지 도 2c는 여기에 기재된 주제에 따른 이더넷 진입 및 진출 대역폭을 관리 그리고/또는 실시하기 위한 예시적인 정책 표들을 각각 보여준다.
도 3은 여기에 기재된 주제에 따른 서비스 수준협약 정책 시행을 초기화하기 위한 프로세스의 예시적인 실시 예의 순서도를 보여준다.
도 4는 여기에 기재된 주제에 따른 이더넷 솔리드 스테이트 드라이브의 상태를 관찰하고 그리고 이더넷 솔리드 스테이트 드라이브의 상태에 기반하여 정책 표를 수정하기 위한 프로세스의 예시적인 실시 예의 순서도를 보여준다.
아래의 상세한 설명에서, 다수의 구체적인 상세들이 본 기재의 충분한 이해를 제공하기 위하여 제시된다. 그러나 기재된 측면들이 이러한 구체적인 상세들 없이 실시될 수 있음이 이 분야에 숙련된 자들에게 이해될 것이다. 다른 예들로서, 잘 알려진 방법들, 절차들, 구성 요소들 및 회로들은 여기에 기재된 주세를 모호하게 하지 않기 위해 상세히 설명되지 않았다.
이 상세한 설명에 걸쳐 "일 실시 예" 또는 "실시 예"에 대한 참조는 해당 실시 예와 연결되어 설명된 특정한 특성(feature), 구조(structure), 또는 특징(characteristic)이 여기에 기재되는 적어도 하나의 실시 예에 포함될 수 있음을 의미한다. 따라서, 이 상세한 설명에 걸쳐 다양한 위치들에서 "일 실시 예에서" 또는 "실시 예에서" 또는 "일 실시 예에 따른" 문구들(또는 유사한 의미를 갖는 다른 문구들)의 등장들은 모두 필연적으로 동일한 실시 예를 참조하는 것은 아닐 수 있다. 또한, 특정한 특성들(feature), 구조들(structures) 또는 특징들(characteristics)은 하나 또는 그보다 많은 실시 예들에서 임의의 적절한 방법으로 조합될 수 있다. 이 점에서, 여기에서 사용되는 바와 같이, "모범적인(exemplary)"의 단어는 "예(example), 사례(instance) 또는 실례(illustration)로서 기능하는" 것을 의미한다. "모범적인" 것으로 여기에서 설명되는 임의의 실시 예는 필연적으로 다른 실시 예들보다 선호되거나(preferred) 또는 유익한(advantageous) 것으로 해석되지 않는다. 또한, 여기의 논의의 문맥에 의존하여, 단수 용어는 대응하는 복수 형태들을 포함하고 그리고 복수 용어는 대응하는 단수 형태를 포함할 수 있다. 여기에 도시되고 논의되는 다양한 도면들(구성 요소 다이어그램을 포함하는)은 설명의 목적만을 위한 것이며, 일정한 비율로 그려지지 않는다. 마찬가지로, 다양한 파형들 및 타이밍도들은 설명의 목적만을 위하여 도시된다. 예를 들어, 요소들의 일부의 크기들은 명확성을 위하여 다른 요소들에 대해 강조될 수 있다. 또한, 적절하다고 여겨지면, 참조 번호들은 도면들에서 반복되어 대응하는 그리고/또는 유사한 요소들을 가리킨다.
여기에 사용되는 용어는 구체적이고 모범적인 실시 예들을 설명하는 목적만을 위한 것이며 청구된 주제를 한정하는 것으로 의도되지 않는다. 여기에서 사용되는 바와 같이, 단수 형태들은 문맥이 명확히 다르게 지적하지 않는 한 복수 형태들 또한 포함하는 것으로 의도된다. "포함하다" 그리고/또는 "포함하는"의 용어들은 이 상세한 설명에서 사용될 때, 언급된 특성들(features), 정수들(integers), 단계들(steps), 동작들(operations), 요소들(elements), 그리고/또는 구성 요소들(components)의 존재를 명시하지만, 하나 또는 그보다 많은 특성들, 정수들, 단계들, 동작들, 요소들, 구성 요소들, 그리고/또는 이들의 그룹들의 추가 또는 존재를 배제하지 않는 것으로 이해될 것이다. 여기에서 사용되는 바와 같이, "제1", "제2" 등의 용어들은 이들이 선행하는 명사들에 대한 레이블들(labels)로 사용되며, 명시적으로 그렇게 정의되지 않는 한 임의의 타입의 순서 매김(ordering)(예를 들어, 공간적(spatial), 시간적(temporal), 논리적(logical) 등)을 암시하지 않는다. 또한, 동일한 참조 번호들은 둘 또는 그보다 많은 도면들에 걸쳐 사용되어 동일한 또는 유사한 기능을 갖는 부분들, 구성 요소들, 블록들, 회로들, 유닛들, 또는 모듈들을 참조할 수 있다. 그러나 이러한 사용은 설명의 간결성 및 논의의 용이함만을 위한 것이며, 이러한 구성 요소들 또는 유닛들의 구성 또는 구조적 상세들이 모든 실시 예들에 걸쳐 동일함을 암시하지 않고 또는 이러한 공통으로 참조되는 부분들/모듈들이 여기에 기재된 특정한 실시 예들의 가르침을 구현하는 유일한 방법임을 암시하지 않는다.
다르게 정의되지 않는 한, 여기에서 사용되는 모든 용어들(기술적 그리고 과학적 용어들을 포함하여)은 이 주제가 속한 분야에 통상적인 기술을 가진 자에 의해 통상적으로 이해되는 것과 동일한 의미를 갖는다. 예를 들어, 여기에서 사용되는 바와 같이 "mod"는 "모듈로(modulo)"를 의미한다. 통상적으로 사용되는 사전들에서 정의된 것들과 같이, 용어들은 연관된 분야의 문맥의 그들의 의미와 일관된 의미를 갖는 것으로 해석되어야 하며 여기에 명시적으로 그렇게 정의되지 않으면 이상화되거나(idealized) 또는 과도하게 형식적인 감각(formal sense)으로 해석되지 않을 것이 이해될 것이다.
여기에서 사용되는 바와 같이, "모듈"의 용어는 여기에서 모듈과 연결되어 설명되는 기능을 제공하도록 구성되는 소프트웨어, 펌웨어 그리고/또는 하드웨어의 임의의 조합을 참조한다. 여기에서 설명되는 임의의 구현에 적용되는 바와 같이, "소프트웨어"의 용어는 소프트웨어 패키지, 코드 그리고/또는 명령 세트(instruction set) 또는 명령들(instructions)로 내재될 수 있다. 여기에서 설명되는 임의의 구현에 적용되는 바와 같이, "하드웨어"의 용어는, 예를 들어, 단일의 또는 임의의 조합에서 하드웨어 회로, 프로그램 가능한 회로, 상태-기계 회로, 그리고/또는 프로그램 가능한 회로에 의해 실행되는 명령들을 저장하는 펌웨어를 포함할 수 있다. 모듈들은 총괄적으로 또는 개별적으로 소프트웨어, 펌웨어 그리고/또는 집적 회로(IC), 시스템 온-치(SoC) 등과 같은 그러나 한정되지 않는 더 큰 시스템의 일부를 형성하는 하드웨어로 내재될 수 있다.
여기에 기재된 주제는 시스템의 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 관점으로부터 비방해(non-intrusive) 방법으로 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼에 의해 하나 또는 그보다 많은 대역폭 서비스 수준협약들(SLAs)을 시행하는 시스템 및 기술을 제공한다. 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼의 베이스보드(baseboard) 관리 제어기(BMC) 장치는 제어 플랫폼에 연결된 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)에 대해 다양한 대역폭 정책들을 유지할 수 있다. 베이스보드 관리 제어기(BMC) 장치는 제어 플랫폼(100)의 이더넷 스위치(Ethernet Switch)를 프로그램 또는 구성하여 호스트와 연결된 업링크 포트들 그리고/또는 이더넷 솔리드 스테이트 드라이브들(eSSDs)과 연결된 다운링크 포트들을 속도 조절(rate limit)할 수 있다. 속도-조절(rate-limiting) 구성들은 각 개별 이더넷 솔리드 스테이트 드라이브(eSSD)에 대해, 진입 방향(ingress direction)(호스트 쓰기들)에 대해 그리고 진출 방향(egress direction)(호스트 읽기들)에 대해 상이할 수 있다. 이더넷 스위치의 속도-조절 구성은 관리 서버의 관리자(administrator)로부터 수신되는 명령어들(commands) 그리고/또는 대역폭 정보에 응답하여, 베이스보드 관리 제어기(BMC) 장치에 포함된 하나 또는 그보다 많은 정책들을 시행하는 베이스보드 관리 제어기(BMC) 장치에 응답하여, 또는 시스템의 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 현재 건강(health) 또는 상태(status)에 응답하여 설정될 수 있다. 여기에서 사용되는 바와 같이, "대역폭 정보"의 용어는 개별 이더넷 솔리드 스테이트 드라이브(eSSD), 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 그룹 그리고/또는 제어 플랫폼에 결합된 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 전체 풀(pool)에 적용되는 진입 그리고/또는 진출 대역폭과 연관된 정보를 포함할 수 있다.
베이스보드 관리 제어기(BMC) 장치는 시스템에 존재하는 이더넷 솔리드 스테이트 드라이브들(eSSDs) 모두에 대한 가시성(visibility)을 가지며, 이들 각각의 파라미터들 및 동작 상태들을 관찰(monitor)할 수 있다. 따라서, 개별 이더넷 솔리드 스테이트 드라이브(eSSD), 시스템에 연결된 이더넷 솔리드 스테이트 드라이브들(eSSDs) 모두의 부분 집합, 그리고/또는 시스템에 연결된 이더넷 솔리드 스테이트 드라이브들(eSSDs) 모두에 대해 최적인 지능적이고 복잡한 정책들이 구현되고 관찰될 수 있다. 따라서, 베이스보드 관리 제어기(BMC) 장치가 이더넷 스위치를 프로그램 또는 구성함으로써 시스템의 서비스 수준협약들(SLAs)을 시행하여 시스템의 이더넷 솔리드 스테이트 드라이브들(eSSDs)에 독립적인 서비스 수준협약(SLA) 대역폭 관리를 하므로, 베이스보드 관리 제어기(BMC) 장치는 시스템에서 사용될 수 있는 상이한 솔리드 스테이트 드라이브들(SSDs)의 다중 전용 메커니즘들(mechanism)을 관리할 필요가 없다. 베이스보드 관리 제어기(BMC) 장치는 또한 저장 관리 서버로의 통신 경로를 포함하며, 저장 관리자는 이로부터 시스템의 서비스 수준협약들(SLAs)을 효율적으로 관리할 수 있다.
도 1은 여기에 기재된 주제에 따른 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)을 보여준다. 일 실시 예에서, 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)은 이더넷 스위치(101), 베이스보드 관리 제어기(BMC) 장치(102), PCIe (Peripheral Component Interconnect Express) 스위치(103), 미드-플레인(104)(mid-plane), 그리고 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)을 포함한다. 도 1에서 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)의 일부로서 하나의 이더넷 스위치(101) 및 하나의 PCIe 스위치(103)만이 도시되지만, 다수의 이더넷 스위치들(101) 및 다수의 PCIe 스위치들(103)이 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)의 일부일 수 있음이 이해될 것이다. 또한, 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)을 형성하는 구성 요소들은 개별적인 구성 요소들 또는 개별적인 모듈들로 구현될 수 있다. 다른 예로서, 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)을 형성하는 둘 또는 그보다 많은 구성 요소들이 서로 통합될 수 있다.
이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)은 새시(chasis)로서 또는 랙(rack)으로서 물리적으로 구현될 수 있다. 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)은 제어 플랫폼(100)에 대해 국부적으로 배열될 수 있다. 하나 또는 그보다 많은 추가적인 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)이 또한 제어 플랫폼(100)에 대해 원격으로 배치될 수 있다. 일 실시 예에서, 제어 플랫폼(100)은 24개의 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)을 포함할 수 있다. 다른 실시 예로서, 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)은 48개의 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)을 포함할 수 있다. 또 다른 실시 예로서, 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)은 임의의 수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)을 포함할 수 있다.
이더넷 스위치(101)는 다수의 업링크 이더넷 포트들(106)을 포함할 수 있으며, 이들 중 하나의 업-링크 포트(106)만이 도 1에 도시된다. 업링크 포트들(106)은 이더넷 스위치(101)를 하나 또는 그보다 많은 원격 호스트들(150)과 연결하며, 이들 중 하나의 호스트(150)만이 도시된다. 이더넷 스위치(101)는 또한 다수의 다운링크 포트들(107)을 포함하며, 이들 중 하나의 포트(107)만이 도 1에 도시된다. 다운링크 포트들(107)은 이더넷 스위치(101)를 미드-플레인(104)을 통해 개별 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)의 이더넷 포트들(108)에 연결할 수 있다. 일 실시 예에서, 각 이더넷 솔리드 스테이트 드라이브(eSSD)(150)는 이더넷 포트(108)를 포함할 수 있다. 이더넷 스위치(101)는 업링크 이더넷 포트들(106) 그리고/또는 다운링크 이더넷 포트들(106)에 대해 속도 조절(rate limiting)을 수행할 수 있다. 속도 조절은 패킷 또는 프레임 줄세우기(queueing), 일정 관리(scheduling), 그리고 흐름 및 혼잡 제어(flow and congestion control)의 세 구성 요소들을 가질 수 있다. 가중 공정 줄세우기(WFQ, Weighted Fair Queuing) 속도 조절/구성 요소는 줄세우기 서브시스템들(sub-systems)을 구현하는 데에 사용될 수 있다. 일정 관리 속도 조절 구성 요소의 일부 예들은 가중 라운드 로빈(WRR, Weighted Round Robin) 기술 및 결손 라운드 로빈(deficit round robin) 기술을 포함한다. 흐름 및 혼잡 제어 속도-조절 구성 요소는, 예를 들어 테일 드롭(tail drop) 기술 그리고/또는 가중 랜덤 이른 버림(WRED, Weighted Random Early Discard) 기술을 이용하여 구현될 수 있다. 일부 실시 예들에서, 이른 혼잡 알림(early congestion notification) 기술이 사용되어 트래픽의 흐름을 제어할 수 있다. 이더넷 링크들에 대해, 멈춤 프레임들(pause frames) 및 우선순위 흐름 제어(PFC, Priority Flow Control) 표준 기술들이 사용될 수 있다.
일 실시 예에서, 베이스보드 관리 제어기(BMC) 장치(102)는 이더넷 솔리드 스테이트 드라이브 제어 플랫폼(100)의 일부인 메인 스위치 보드에 배치될 수 있다. 다른 실시 예에서, 베이스보드 관리 제어기(BMC) 장치(102) 및 이더넷 스위치(101)는 서로 통합될 수 있다.
베이스보드 관리 제어기(BMC) 장치(102)는 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105) 각각의 발견, 구성, 동작 상태, 그리고 건강 관찰과 같은 관리 기능들을 제공하도록 구성될 수 있다. 일 실시 예에서, 베이스보드 관리 제어기(BMC) 장치(102)는 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105) 각각의 발견, 구성, 동작 상태, 그리고 건강 관찰의 그러나 이에 한정되지 않는 관리 기능들과 연관되는 정보를 포함하는 하나 또는 그보다 많은 정책 표들(109)을 포함할 수 있다. 베이스보드 관리 제어기(BMC) 장치(102)는 정책 표들(109)을 이용하여 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)과 연관된 하나이상의 서비스 수준협약들(SLAs)을 관리 및/또는 시행할 수 있다. 일 실시 예에서, 하나 또는 그보다 많은 서비스 수준협약들(SLAs)은 베이스보드 관리 제어기(BMC) 장치(102)가 시행하는 특정한 대역폭 정책들과 연관될 수 있다. 일 실시 예에서, 대역폭 정책은 개별 이더넷 솔리드 스테이트 드라이브(eSSD)(105)와 연관될 수 있다. 다른 실시 예에서, 대역폭 정책은 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)에 연결된 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105) 모두의 부분집합을 형성하는 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)의 그룹과 연관될 수 있다. 또 다른 실시 예에서, 대역폭 정책은 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)에 연결된 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105) 모두와 연관될 수 있다.
이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)의 일 실시 예에서, 베이스보드 관리 제어기(BMC) 장치(102)에 의해 제공되는 관리 기능들과 연관된 정보를 획득하는 데에 사용될 수 있는 베이스보드 관리 제어기(BMC) 장치(102)와 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105) 사이에 세 통신 경로들이 있을 수 있다. 제1 통신 경로는 이더넷 스위치(101)를 통한 이더넷 네트워크(110)에 걸쳐 있을 수 있다. 제2 통신 경로는 PCIe 스위치(103) 및 미드-플레인(104)을 통한 PCIe 버스(111)에 걸쳐 있을 수 있다. 제3 통신 경로는 베이스보드 관리 제어기(BMC) 장치(102) 및 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105) 사이에 연결된 시스템 관리 버스(SMBus, System management Bus)(112)를 통할 수 있다. 베이스보드 관리 제어기(BMC) 장치(102)는 관리자(사용자)에 의해 동작되는 관리 서버(160)가 베이스보드 관리 제어기(BMC) 장치(102)와 통신하고 제어할 수 있는 관리 포트(113) 또한 구비할 수 있다. 베이스보드 관리 제어기(BMC) 장치(102)는 하나 또는 그보다 많은 대역폭 정책들을 형성하는 데에 사용될 수 있는 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 대한 대역폭 정보를 수신할 수 있다. 관리 서버(160)는 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(110)에 근접하여 또는 원격으로 배치될 수 있다.
원격 호스트(150)에 연결된 이더넷 스위치(101)의 업링크 포트(106)는 고-대역폭(high-bandwidth) 링크일 수 있다. 일 실시 예에서, 이더넷 스위치(101)의 업링크 포트(106)는 다중의 40Gbit/s 그리고/또는 100Gbit/s 링크들을 포함할 수 있다. 개별 이더넷 솔리드 스테이트 드라이브들(eSSDs)은 통상적으로 10Gbit/s 그리고/또는 25Gbit/s 이더넷 포트(108)를 가질 수 있다. 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)의 개별 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)은 이더넷 스위치(102)의 업링크 포트(106)의 더 높은 대역폭에 대해 초과 구독될(oversubscribed) 수 있다. 이러한 대역폭의 초과 구독은 일반적으로 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105) 모두가 동시에 활성화되지 않음으로 인해 가능하다. 특정한 이더넷 솔리드 스테이트 드라이브(eSSD)(105)에 의해 소비되는 이더넷 대역폭의 양은 원격 호스트(150)에 의해 해당 이더넷 솔리드 스테이트 드라이브(eSSD)에 제출된 업무 부하에 의존한다.
일 실시 예에서, 원격 호스트(150)에 의해 제출된 업무 부하는 패브릭들에 걸친 불휘발성 메모리 익스프레스(Non-Volatile Memory Express over Fabrics, NVMe over Fabrics) 설명서(specification)에 기반하는 프로토콜을 이용하여 읽기/쓰기 IO 명령어들을 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)로 전송할 수 있다. 따라서, 임의의 때에 이더넷 솔리드 스테이트 드라이브(eSSD)(105)에 의해 소비되는 대역폭의 양은 제출된 I/O 명령어들의 수 그리고 그러한 명령어들의 데이터 전송 사이즈에 의존한다. 호스트 쓰기 명령어들에 대해, 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 원격 호스트(150)로부터 이더넷 솔리드 스테이트 드라이브(eSSD)(105)의 지역 매체(local media)로 사용자 데이터를 전송하고, 그렇게 해서 이더넷 진입 대역폭을 소비한다. 호스트 읽기 명령어들에 대해, 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 이더넷 솔리드 스테이트 드라이브(eSSD)(105)의 지역 매체로부터 원격 호스트(150)로 사용자 데이터를 전송하고, 따라서 이더넷 진출 대역폭을 소비한다.
각 이더넷 솔리드 스테이트 드라이브(eSSD)(150)는 미리 정해진 수의 명령어 제출 대기열들(SQ, submission queues)을 포함할 수 있다. 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 대기열들을 지원하기 위해 중재(arbitration)를 수행할 수 있다. 제출 대기열(SQ)을 선택한 후에, 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 선택된 제출 대기열(SQ)로부터 실행을 위한 다음 명령어를 가져온다(fetch). 명령어 실행의 일부로서, 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 원격 호스트(150)로 또는 로부터의 특정한 데이터 전송을 수행할 수 있다. 데이터 전송이 완료되면, 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 원격 호스트(150)로 완료 메시지를 전송할 수 있다. 이때에, 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 제출 대기열 중재를 되돌리는 것 등을 한다. 이더넷 솔리드 스테이트 드라이브(eSSD)(105)는 제출 대기열들(SQs)에 계류중인 명령어들이 있는 한, 제출 대기열들(SQs)을 중재하는 명령어 실행 루프를 통해 사이클을 지속한다.
베이스보드 관리 제어기(BMC) 장치(102)는 하나 또는 그보다 많은 정책 표들을 이용하여, 이더넷 솔리드 스테이트 드라이브(eSSD) 제어 플랫폼(100)과 연관된 하나 또는 그보다 많은 서비스 수준협약들(SLAs)을 관리 그리고/또는 시행할 수 있다. 서비스 수준협약(SLA)은 제어 플랫폼(100)에서 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 적용되는 특정한 대역폭 정책들과 연관될 수 있다. 대역폭 정책은 시간적 측면들(하루의 시간, 주간의 하루, 등), 이더넷 솔리드 스테이트 드라이브(eSSD) 동작 파라미터들, 이더넷 솔리드 스테이트 드라이브(eSSD) 전력 소비, 플래시-매체 기술, 사용자 구독(subscription) 율, 이용률의 비용(즉, 주중 대 휴일 또는 주말), 그리고/또는 서비스 제공자의 홍보 협정(promotional arrangement)과 같은 그러나 이들로 제한되지 않는 하나 또는 그보다 많은 측면들에 기반할 수 있다. 읽혀진 가상 제품 데이터(VPD, Virtual Product Data) 읽기에 의해 이더넷 솔리드 스테이트 드라이브(eSSD)로부터 획득된 정보는 베이스보드 관리 제어기(BMC) 장치(102)에 국부적으로 저장되고 그리고 대역폭 서비스 수준협약(SLA)을 적응적으로 제어하는 데에 사용될 수 있다. 일 실시 예에서, 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)의 상태 그리고/또는 파라미터들은 시스템 관리 버스(SMBus) 그리고/또는 PCIe 인터페이스에 걸쳐 실행되는 NVMe 관리 인터페이스(NVMe-MI) 기반 프로토콜을 이용하여 베이스보드 관리 제어기(BMC) 장치에 의해 읽혀질 수 있다.
도 2a 내지 도 2c는 여기에 기재된 주제에 따른 이더넷 진입 및 진출 대역폭(B/W)을 관리 그리고/또는 시행하기 위한 예시적인 정책 표들을 각각 보여준다. 도 2a는 표에서 이더넷 진입 및 진출 대역폭(B/W) 서비스 수준협약들(SLAs)이 이더넷 솔리드 스테이트 드라이브들(eSSDs) 각각에 대해 동일한 복수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)에 대한 이더넷 진입 및 진출 대역폭(B/W) 서비스 수준협약들(SLAs)에 대한 예시적인 정책 표(109a)를 보여준다. 구체적으로, 각 이더넷 솔리드 스테이트 드라이브(eSSD)는 5Gbps의 진입 대역폭(B/W) 서비스 수준협약(SLA) 및 10Gbps의 진출 대역폭(B/W) 서비스 수준협약(SLA)을 갖는다. 도 2b는 표에서 이더넷 진입 및 진출 대역폭(B/W) 서비스 수준협약들(SLAs)이 이더넷 솔리드 스테이트 드라이브들(eSSDs) 각각에 대해 다른 복수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)에 대한 이더넷 진입 및 진출 대역폭(B/W) 서비스 수준협약들(SLAs)에 대한 다른 예시적인 정책 표(109b)를 보여준다. 도 2c는 표에서 이더넷 진입 및 진출 대역폭(B/W) 서비스 수준협약들(SLAs)이 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 상이한 그룹들에 대해 상이한 복수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)에 대한 이더넷 진입 및 진출 대역폭(B/W) 서비스 수준협약들(SLAs)에 대한 또 다른 예시적인 정책 표(109c)를 보여준다. 특히, 제1 그룹으로서 제0 및 제1 이더넷 솔리드 스테이트 드라이브들(eSSD-0, eSSD-1)은 모두 5Gbps의 진입 대역폭(B/W) 서비스 수준협약(SLA) 및 5Gbps의 진출 대역폭(B/W) 서비스 수준협약(SLA)을 갖지만, 제2 그룹으로서 제2 내지 제n 이더넷 솔리드 스테이트 드라이브들(eSSD-2~eSSD-n)은 각각 5Gbps의 진입 대역폭(B/W) 서비스 수준협약(SLA) 및 10Gbps의 진출 대역폭(B/W) 서비스 수준협약(SLA)을 갖는다.
도 3은 여기에 기재된 주제에 따라 서비스 수준협약(SLA) 정책 시행을 초기화하기 위한 프로세서(300)의 예시적인 실시 예의 순서도를 보여준다. 즉, 프로세스(300)는 베이스보드 관리 제어기(BMC)가 파워 업 시에 또는 시스템 리셋 시에 수행하여 시스템의 이더넷 솔리드 스테이트 드라이브들(eSSDs)을 식별하고 그리고 하나 또는 그보다 많은 서비스 수준 협약들(SLAs)을 초기에 구성하는 프로세스일 수 있다. 301에서, 프로세스가 시작한다. 302에서, 베이스보드 관리 제어기(BMC)는 시스템의 모든 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 식별되었는지 판단한다. 그렇지 않으면, 흐름은 303으로 이어지고 베이스보드 관리 제어기(BMC)는 이더넷 솔리드 스테이트 드라이브(eSSD)의 NVMe-MI를 통해 가상 제품 데이터(VPD)를 읽는다. 가상 제품 데이터(VPD)는 공통 헤더, 제품 정보, 다중기록(multirecord) 정보, 내부 사용 정보, 새시(chassis) 정보 영역 및 보드 특화 정보를 포함할 수 있으며 그러나 본 발명은 이들에 한정되지 않는다. 304에서, 베이스보드 관리 제어기(BMC)는 가상 제품 정보(VPD)에 기반하여 이더넷 솔리드 스테이트 드라이브(eSSD)를 식별할 수 있다. 305에서, 베이스보드 관리 제어기(BMC)는 이더넷 솔리드 스테이트 드라이브(eSSD)에 대한 이더넷 솔리드 스테이트 드라이브(eSSD) 파라미터들을 국부적으로 저장한다. 플랫폼의 모든 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 식별되고 각 이더넷 솔리드 스테이트 드라이브(eSSD)에 대응하는 가상 제품 정보(VPD)가 국부적으로 저장될 때까지, 흐름은 302로 되돌아간다.
302에서, 플랫폼의 모든 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 식별되었으면, 흐름은 306으로 이어지고 베이스보드 관리 제어기(BMC)는 정책 관리 표로부터 서비스 수준협약(SLA) 정책이 추가되는지, 수정되는지 또는 삭제되는지 판단한다. 서비스 수준협약(SLA) 정책이 추가되면, 흐름은 307 및 310으로 이어지고 정책이 정책 관리 표에 추가된다. 서비스 수준협약(SLA) 정책이 수정되면, 흐름은 308 및 310으로 이어지고 정책 관리 표에서 정책이 수정된다. 서비스 수준협약(SLA) 정책이 삭제되면, 흐름은 309 및 310으로 이어지고 정책 관리 표로부터 정책이 삭제된다. 시스템 파워 업 또는 시스템 리셋 시에 정책 변경을 위한 일부 이유들은 하나 또는 그보다 많은 새로운 이더넷 솔리드 스테이트 드라이브들(eSSD)이 복수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 추가될 수 있음에, 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 이전에 존재하던 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 제거될 수 있음에, 그리고 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 이전에 존재하던 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 동작 불능이 될 수 있음에 기인할 수 있다. 이에 한정되지 않지만, 이러한 사건들과 같은 사건들은 다른 정책들이 활성화되는 것을 유발할 수 있다. 또한, 비트 에러율(BER), 동작 온도, 저장 용량 등과 같은 이더넷 솔리드 스테이트 드라이브(eSSD) 특징들은 시간에 따라 변화할 수 있고, 따라서 정책 변경의 필요를 유발할 수 있다. 또한, 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)은 시간에 따라 다른 호스트들 그리고/또는 응용들에 재할당될 수 있고, 이는 정책 변경의 필요를 유발할 수 있다. 정책 변경을 유발하는 또 다른 예는 다른 시간들, 예를 들어 낮 시간 대 밤 시간 또는 주중 대 주말에 적용되는 다중의 정책들을 포함할 수 있다.
이후에 흐름은 311로 이어지고 이더넷 스위치(101)의 구성이 310의 정책 표의 갱신에 기반하여 갱신된다. 흐름은 302로 돌아간다. 306에서, 서비스 수준협약(SLA) 정책이 추가, 수정 또는 삭제되지 않으면, 흐름은 302로 돌아간다(미도시).
도 4는 여기에 기재된 주제에 따라 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 상태를 관찰하고 그리고 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 상태에 기반하여 정책 표를 수정하기 위한 프로세스(400)의 예시적인 실시 예의 순서도를 보여준다. 프로세스는 401에서 시작한다. 흐름은 402로 이어지고 베이스보드 관리 제어기(BMC)는 시스템의 모든 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 (건강)상태가 스캔되었는지 판단한다. 그렇지 않으면, 흐름은 403으로 이어지고 스캔되지 않은 첫 번째 이더넷 솔리드 스테이트 드라이브(eSSD)의 (건강)상태가, 예를 들어 NVMe-MI의 건강 상태 폴(poll)을 이용하여 스캔된다. 404에서, 베이스보드 관리 제어기(BMC)는 이더넷 솔리드 스테이트 드라이브(eSSD)의 스마트/건강(SMART/Health) 정보 로그를 읽는다. 405에서, 베이스보드 관리 제어기(BMC)는 이더넷 솔리드 스테이트 드라이브(eSSD)의 현재 건강 상태를 국부적으로 저장한다. 흐름은 402로 돌아간다.
402에서, 베이스보드 관리 제어기(BMC)가 시스템의 모든 이더넷 솔리드 스테이트 드라이브들(eSSDs)의 건강 상태를 스캔하였으면, 흐름은 406으로 이어지고 베이스보드 관리 제어기(BMC)는 이더넷 솔리드 스테이트 드라이브들(eSSDs) 중 어느 것에 대한 건강 상태의 변화가 있었는지 판단한다. 베이스보드 관리 모듈(BMC)에 의해 관찰되는 이더넷 솔리드 스테이트 드라이브(eSSD)의 건강 상태 파라미터들은 이에 한정되지 않지만 이더넷 솔리드 스테이트 드라이브(eSSD) 내의 데이터 구조, 동작 온도, 매체 무결성(즉, 비트 에러율(BER)), 잔여 수명, 가용 예비 용량, 총 용량, 사용된 용량, 미리 정해진 시간 이후 데이터 읽기/쓰기의 양, 미리 정해진 시간 이후 응답한 호스트 명령어의 수, 일 당 드라이브 쓰기들(DWPD, drive writes per day), 이더넷 솔리드 스테이트 드라이브(eSSD) 제어기 비지(busy) 시간, 그리고 임의의 독점적 정보를 포함할 수 있다.
406에서, 이더넷 솔리드 스테이트 드라이브들(eSSDs) 중 어느 것의 건강 상태의 변화가 없는 것으로 판단 또는 검출되면, 흐름은 402로 돌아간다. 406에서, 이더넷 솔리드 스테이트 드라이브들(eSSDs) 중 어느 것의 건강 상태의 변화가 있었으면, 흐름은 407로 이어지고 베이스보드 관리 제어기(BMC)는 영향을 받은 이더넷 솔리드 스테이트 드라이브(eSSD)의 건강 상태와 연관된 정책 표를 액세스한다. 406에서 정책 변경이 필요한 것으로 판단될 수 있는 다른 이유들은 하나 또는 그보다 많은 새로운 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 복수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 추가(즉, 핫 스왑 됨)될 수 있음을, 복수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 이전에 존재하던 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 제거(즉, 핫 스왑 됨)될 수 있음을, 그리고 복수의 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)에 이전에 존재하던 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)이 동작 불능이 될 수 있음을 포함할 수 있다. 이에 한정되지 않지만, 이러한 사건들과 간은 사건들은 다른 정책들이 활성화되는 것을 유발할 수 있다. 또한, 언급된 바와 같이, 비트 에러율(BER), 동작 온도, 저장 용량 등과 같은 이더넷 솔리드 스테이트 드라이브(eSSD) 특징들은 시간에 따라 변할 수 있고, 따라서 정책 변경의 필요를 유발할 수 있다. 또한, 하나 또는 그보다 많은 이더넷 솔리드 스테이트 드라이브들(eSSDs)(105)은 시간에 따라 다른 호스트들 그리고/또는 응용들에 재할당될 수 있고, 이는 정책 변경의 필요를 유발할 수 있다. 406에서 정책 변경을 유발하는 또 다른 예는 상이한 시간들, 예를 들어 낮 시간 대 밤 시간 또는 주중 대 주말에 적용되는 다중 정책들을 포함할 수 있다.
408에서, 이더넷 솔리드 스테이트 드라이브(eSSD)의 건강 상태의 변경 및 이더넷 솔리드 스테이트 드라이브(eSSD)의 건강 상태와 연관된 정책 표의 내용들에 기반하여 이더넷 스위치가 재구성되어야 하는지 판단된다. 그렇지 않으면, 흐름은 402로 돌아간다. 이더넷 스위치가 재구성되어야 하면, 흐름은 409로 이어지고 베이스보드 관리 제어기(BMC)는 이더넷 스위치를 갱신된 구성으로 재프로그램한다.
이 분야에 숙련된 자들에게 인식될 것과 같이, 여기에 설명된 혁신적인 사상들은 응용들의 넓은 범위에 걸쳐 수정 및 변경될 수 있다. 따라서, 청구된 주에의 범위는 위에서 논의된 특정한 모범적인 가르침들 중 어느 것으로 한정되지 않아야 하고, 대신 다음의 청구항들에 의해 정의된다.
100: 이더넷 솔리드 스테이트 드라이브 제어 플랫폼
101: 이더넷 스위치
102: 베이스보드 관리 제어기
103: PCIe 스위치
104: 미드-플레인
105a~105n: 이더넷 솔리드 스테이트 드라이브
106: 업링크 포트들
107: 다운링크 포트들
108: 이더넷 포트들
109: 정책 표(들)
110: 이더넷 네트워크
111: PCIe 버스
112: 시스템 관리 버스
113: 관리 포트
150: 원격 호스트

Claims (20)

  1. 적어도 하나의 이더넷 솔리드 스테이트 드라이브(Ethernet solid-state drive);
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 결합된 이더넷 스위치; 그리고
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브 및 상기 이더넷 스위치와 결합된 제어기를 포함하고,
    상기 제어기는 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 미리 정해진 대역폭을 제공하도록 상기 이더넷 스위치를 제어하고, 상기 미리 정해진 대역폭은 상기 제어기의 정책 표에 저장된 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 대역폭 정보에 기반하는 이더넷 솔리드 스테이트 드라이브 시스템.
  2. 제1항에 있어서,
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 각 미리 정해진 대역폭은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 미리 정해진 진입 대역폭 및 미리 정해진 진출 대역폭을 포함하는 이더넷 솔리드 스테이트 드라이브 시스템.
  3. 제2항에 있어서,
    상기 미리 정해진 대역폭은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 연관된 서비스 수준에 기반하는 이더넷 솔리드 스테이트 드라이브 시스템.
  4. 제3항에 있어서,
    상기 미리 정해진 대역폭은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브의 동작 파라미터들에 적응적으로 기반하는 이더넷 솔리드 스테이트 드라이브 시스템.
  5. 제2항에 있어서,
    상기 미리 정해진 진입 대역폭은 상기 미리 정해진 진출 대역폭과 다른 이더넷 솔리드 스테이트 드라이브 시스템.
  6. 제1항에 있어서,
    PCIe (Peripheral Component Interconnect Express) 스위치를 더 포함하고,
    상기 제어기가 상기 PCIe 스위치를 통해 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 결합되는 이더넷 솔리드 스테이트 드라이브 시스템.
  7. 제6항에 있어서,
    상기 제어기는 상기 이더넷 스위치를 통해 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 결합되는 이더넷 솔리드 스테이트 드라이브 시스템.
  8. 제1항에 있어서,
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 상기 미리 정해진 대역폭은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 연관된 비트 에러율에 기반하는 이더넷 솔리드 스테이트 드라이브 시스템.
  9. 제1항에 있어서,
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 상기 미리 정해진 대역폭은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 연관된 동작 온도에 기반하는 이더넷 솔리드 스테이트 드라이브 시스템.
  10. 제1항에 있어서,
    상기 제어기는 베이스보드 관리 제어기를 포함하는 이더넷 솔리드 스테이트 드라이브 시스템.
  11. 이더넷 솔리드 스테이트 드라이브(Ethernet solid-state drive) 시스템에 대한 대역폭을 제어하는 방법에 있어서:
    제어기에서 복수의 이더넷 솔리드 스테이트 드라이브들 중에서 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 대역폭 정보를 수신하는 단계;
    상기 제어기에서 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 상기 수신된 대역폭 정보를 저장하는 단계; 그리고
    상기 제어기에 의해 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 이더넷 스위치의 대역폭 용량을 구성하는 단계를 포함하고,
    상기 이더넷 스위치는 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 결합되는 방법.
  12. 제11항에 있어서,
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 상기 대역폭 용량은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 미리 정해진 진입 대역폭 및 미리 정해진 진출 대역폭을 포함하는 방법.
  13. 제12항에 있어서,
    상기 대역폭 용량은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 연관된 서비스 수준에 기반하는 방법.
  14. 제13항에 있어서,
    상기 대역폭 용량은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브의 동작 파라미터들에 적응적으로 기반하는 방법.
  15. 제12항에 있어서,
    상기 미리 정해진 진입 대역폭은 상기 미리 정해진 진출 대역폭과 다른 방법.
  16. 제11항에 있어서,
    상기 제어기에 의해 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 이더넷 스위치의 대역폭 용량을 구성하는 단계는 PCIe (Peripheral Component Interconnect Express) 스위치를 통해 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 구성을 전달하는 단계를 포함하는 방법.
  17. 제11항에 있어서,
    상기 제어기에 의해 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 이더넷 스위치의 대역폭 용량을 구성하는 단계는 이더넷 네트워크를 통해 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 구성을 전달하는 단계를 포함하는 방법.
  18. 제11항에 있어서,
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 상기 대역폭 용량은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 연관된 비트 에러율에 기반하는 방법.
  19. 제11항에 있어서,
    상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브에 대한 상기 대역폭 용량은 상기 적어도 하나의 이더넷 솔리드 스테이트 드라이브와 연관된 동작 온도에 기반하는 방법.
  20. 제11항에 있어서,
    상기 제어기는 베이스보드 관리 제어기를 포함하는 방법.
KR1020170122019A 2017-02-23 2017-09-21 이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법 KR102435004B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762462901P 2017-02-23 2017-02-23
US62/462,901 2017-02-23
US15/487,431 2017-04-13
US15/487,431 US11543967B2 (en) 2017-02-23 2017-04-13 Method for controlling BW SLA in NVME-of ethernet SSD storage systems

Publications (2)

Publication Number Publication Date
KR20180097433A true KR20180097433A (ko) 2018-08-31
KR102435004B1 KR102435004B1 (ko) 2022-08-22

Family

ID=63167182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170122019A KR102435004B1 (ko) 2017-02-23 2017-09-21 이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법

Country Status (5)

Country Link
US (2) US11543967B2 (ko)
JP (1) JP7108426B2 (ko)
KR (1) KR102435004B1 (ko)
CN (1) CN108512777B (ko)
TW (1) TWI794198B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)
US10733137B2 (en) * 2017-04-25 2020-08-04 Samsung Electronics Co., Ltd. Low latency direct access block storage in NVME-of ethernet SSD
US10275180B2 (en) * 2017-05-08 2019-04-30 Samsung Electronics Co., Ltd. Ethernet SSD system including storage offload engine (SoE) controller and ethernet switch
US10726930B2 (en) * 2017-10-06 2020-07-28 Western Digital Technologies, Inc. Method and system for a storage (SSD) drive-level failure and health prediction leveraging machine learning on internal parametric data
CN109840232B (zh) * 2017-11-28 2022-05-13 华为技术有限公司 存储设备及存储设备的元件管理方法
JP7436627B2 (ja) 2020-03-05 2024-02-21 ファナック株式会社 画像処理装置、作業指示作成システム、作業指示作成方法
US11770271B2 (en) 2020-08-21 2023-09-26 Samsung Electronics Co., Ltd. Data center
KR20220084844A (ko) 2020-12-14 2022-06-21 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101344105B1 (ko) * 2009-01-29 2013-12-20 퀄컴 인코포레이티드 끊김없는 멀티미디어 콘텐츠 이동성을 위한 멀티미디어 매니지먼트 시스템
KR20150047785A (ko) * 2013-10-25 2015-05-06 삼성전자주식회사 서버 시스템 및 스토리지 시스템
KR20160033754A (ko) * 2014-08-13 2016-03-28 후아웨이 테크놀러지 컴퍼니 리미티드 작동 요청을 처리하기 위한 스토리지 시스템, 방법 및 장치
KR20160131906A (ko) * 2015-05-08 2016-11-16 삼성전자주식회사 플렉시블 스토리지 플랫폼을 위한 다중 프로토콜 io 인프라스트럭쳐
KR20170046097A (ko) * 2015-10-20 2017-04-28 (주)켐옵틱스 저 손실 투과형 파장 가변 광필터

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3956786B2 (ja) 2002-07-09 2007-08-08 株式会社日立製作所 記憶装置の帯域制御装置、方法及びプログラム
JP4214919B2 (ja) 2004-01-16 2009-01-28 株式会社日立製作所 帯域制御機能を有するストレージスイッチ
JP2007328604A (ja) 2006-06-08 2007-12-20 Hitachi Ltd 計算機システム、ストレージ管理プログラム及び計算機管理プログラム
US7940785B2 (en) 2007-01-08 2011-05-10 International Business Machines Corporation Ethernet adapter packet management
US7852867B2 (en) * 2007-07-06 2010-12-14 Integrated Deoice Technology, Inc. Integrated memory for storing egressing packet data, replay data and to-be egressed data
US20100198965A1 (en) 2007-07-13 2010-08-05 Takaharu Tanaka Network control device, image display device and network control method
US7792046B2 (en) * 2008-06-05 2010-09-07 Vss Monitoring, Inc. Ethernet switch-based network monitoring system and methods
US8713196B1 (en) * 2008-08-12 2014-04-29 Eden Rock Communications, Llc Systems for usage based rate limiting over a shared data link
JP4809413B2 (ja) * 2008-10-08 2011-11-09 株式会社日立製作所 ストレージシステム
US8174969B1 (en) * 2009-11-24 2012-05-08 Integrated Device Technology, Inc Congestion management for a packet switch
US9210048B1 (en) 2011-03-31 2015-12-08 Amazon Technologies, Inc. Clustered dispersion of resource use in shared computing environments
US9300590B2 (en) * 2011-06-24 2016-03-29 Dell Products, Lp System and method for dynamic rate control in Ethernet fabrics
US8972611B2 (en) * 2011-08-11 2015-03-03 Cisco Technology, Inc. Multi-server consolidated input/output (IO) device
US10257596B2 (en) * 2012-02-13 2019-04-09 Ciena Corporation Systems and methods for managing excess optical capacity and margin in optical networks
US9094302B2 (en) * 2012-04-16 2015-07-28 Dell Products, Lp System and method to discover virtual machine instantiations and configure network service level agreements
US20130311696A1 (en) 2012-05-18 2013-11-21 Lsi Corporation Storage processor for efficient scaling of solid state storage
US10380041B2 (en) * 2012-08-23 2019-08-13 Dell Products, Lp Fabric independent PCIe cluster manager
US9363315B2 (en) * 2012-08-28 2016-06-07 Skyera, Llc Integrated storage and switching for memory systems
US20140195634A1 (en) * 2013-01-10 2014-07-10 Broadcom Corporation System and Method for Multiservice Input/Output
JP6072084B2 (ja) * 2013-02-01 2017-02-01 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムのデータ転送制御方法
US9396755B2 (en) 2013-02-20 2016-07-19 Kabushiki Kaisha Toshiba Temperature-defined data-storage policy for a hybrid disk drive
US20140337598A1 (en) * 2013-05-07 2014-11-13 Lsi Corporation Modulation of flash programming based on host activity
US10063638B2 (en) 2013-06-26 2018-08-28 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over ethernet-type networks
US20150378640A1 (en) * 2013-06-26 2015-12-31 Cnex Labs, Inc. Nvm express controller for remote access of memory and i/o over ethernet-type networks
WO2016196766A2 (en) 2015-06-03 2016-12-08 Diamanti, Inc. Enabling use of non-volatile media - express (nvme) over a network
US9619164B2 (en) * 2014-05-06 2017-04-11 Nimble Storage, Inc. Cluster solid state drives
US9477295B2 (en) 2014-05-15 2016-10-25 Dell Products, L.P. Non-volatile memory express (NVMe) device power management
US9436628B2 (en) * 2014-05-30 2016-09-06 Apple Inc. Thermal mitigation using selective I/O throttling
US9712898B2 (en) * 2014-08-26 2017-07-18 Intel Corporation Network aggregation in a computing shelf/tray
US9548872B2 (en) * 2014-09-26 2017-01-17 Dell Products, Lp Reducing internal fabric congestion in leaf-spine switch fabric
US9529619B2 (en) * 2014-09-30 2016-12-27 Nicira, Inc. Method of distributing network policies of virtual machines in a datacenter
US9916087B2 (en) * 2014-10-27 2018-03-13 Sandisk Technologies Llc Method and system for throttling bandwidth based on temperature
US9565269B2 (en) * 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
KR101607136B1 (ko) * 2014-12-31 2016-03-29 청주대학교 산학협력단 SiOC 박막을 이용한 유기전계발광소자 및 그 제조방법
US9857995B1 (en) * 2015-03-09 2018-01-02 Western Digital Technologies, Inc. Data storage device and method providing non-volatile memory buffer for real-time primary non-volatile memory protection
US9933826B2 (en) * 2015-05-11 2018-04-03 Hewlett Packard Enterprise Development Lp Method and apparatus for managing nodal power in a high performance computer system
JP6381480B2 (ja) 2015-05-12 2018-08-29 東芝メモリ株式会社 半導体装置
US10429909B2 (en) * 2015-06-01 2019-10-01 Hewlett Packard Enterprise Development Lp Managing power in a high performance computing system for resiliency and cooling
US10243791B2 (en) * 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US9658791B2 (en) * 2015-08-14 2017-05-23 International Business Machines Corporation Managing temperature of solid state disk devices
GB2542174B (en) * 2015-09-10 2018-04-04 Openwave Mobility Inc An intermediate network entity for controlling bandwidth for an adaptive bit rate stream
US20170195237A1 (en) * 2015-12-30 2017-07-06 Akamai Technologies, Inc. Distributed quality-of-service (QoS) mechanism in an overlay network having edge regions
US10306344B2 (en) * 2016-07-04 2019-05-28 Huawei Technologies Co., Ltd. Method and system for distributed control of large photonic switched networks
US10263898B2 (en) * 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10122651B2 (en) * 2016-08-31 2018-11-06 Inspeed Networks, Inc. Dynamic bandwidth control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101344105B1 (ko) * 2009-01-29 2013-12-20 퀄컴 인코포레이티드 끊김없는 멀티미디어 콘텐츠 이동성을 위한 멀티미디어 매니지먼트 시스템
KR20150047785A (ko) * 2013-10-25 2015-05-06 삼성전자주식회사 서버 시스템 및 스토리지 시스템
KR20160033754A (ko) * 2014-08-13 2016-03-28 후아웨이 테크놀러지 컴퍼니 리미티드 작동 요청을 처리하기 위한 스토리지 시스템, 방법 및 장치
KR20160131906A (ko) * 2015-05-08 2016-11-16 삼성전자주식회사 플렉시블 스토리지 플랫폼을 위한 다중 프로토콜 io 인프라스트럭쳐
KR20170046097A (ko) * 2015-10-20 2017-04-28 (주)켐옵틱스 저 손실 투과형 파장 가변 광필터

Also Published As

Publication number Publication date
TW201832536A (zh) 2018-09-01
JP7108426B2 (ja) 2022-07-28
JP2018137749A (ja) 2018-08-30
US20230133604A1 (en) 2023-05-04
TWI794198B (zh) 2023-03-01
US20180239540A1 (en) 2018-08-23
CN108512777A (zh) 2018-09-07
US11543967B2 (en) 2023-01-03
KR102435004B1 (ko) 2022-08-22
CN108512777B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
KR102435004B1 (ko) 이더넷 솔리드 스테이트 드라이브 저장 시스템들의 패브릭들에 걸친 불휘발성 메모리 익스프레스에서 대역폭 서비스 수준협약들을 제어하기 위한 방법
CN104081718B (zh) 用于远程系统管理的网络控制器
US9525593B2 (en) Oversubscribing a packet processing device to adjust power consumption
Bazzaz et al. Switching the optical divide: Fundamental challenges for hybrid electrical/optical datacenter networks
US7843907B1 (en) Storage gateway target for fabric-backplane enterprise servers
US7843906B1 (en) Storage gateway initiator for fabric-backplane enterprise servers
US6405258B1 (en) Method and apparatus for controlling the flow of data frames through a network switch on a port-by-port basis
US8301749B1 (en) Unused resource recognition in real time provisioning and management of fabric-backplane enterprise servers
US7990994B1 (en) Storage gateway provisioning and configuring
US7860097B1 (en) Fabric-backplane enterprise servers with VNICs and VLANs
US7685281B1 (en) Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
EP2262186B1 (en) Traffic-load dependent power reduction in high-speed packet switching systems
US20130107872A1 (en) Processor-memory module performance acceleration in fabric-backplane enterprise servers
US20130111095A1 (en) Multi-chassis fabric-backplane enterprise servers
US11914440B2 (en) Protocol level control for system on a chip (SoC) agent reset and power management
US20130028080A1 (en) System and method for configuration and management of queue sets
US6337865B1 (en) Fair buffer credit distribution flow control
CN1604550B (zh) 维持两个网络实体之间的链路的方法和系统
JP2004518381A (ja) モジュラおよびスケーラブルスイッチならびに高速イーサネット(r)データフレームを分配するための方法
US7688721B2 (en) Distributed communication traffic control systems and methods
US8908709B1 (en) Methods and apparatus for power management associated with a switch fabric
US20210029060A1 (en) Data Communication Method And Apparatus
Jereczek et al. A lossless network for data acquisition
Zhao Improving energy efficiency of internet equipment
EP2880542A1 (en) Technique for controlling memory accesses

Legal Events

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