KR20210112231A - 스토리지 디바이스들의 피어-투-피어 데이터 채널들을 위한 방법들 및 장치들 - Google Patents

스토리지 디바이스들의 피어-투-피어 데이터 채널들을 위한 방법들 및 장치들 Download PDF

Info

Publication number
KR20210112231A
KR20210112231A KR1020200173037A KR20200173037A KR20210112231A KR 20210112231 A KR20210112231 A KR 20210112231A KR 1020200173037 A KR1020200173037 A KR 1020200173037A KR 20200173037 A KR20200173037 A KR 20200173037A KR 20210112231 A KR20210112231 A KR 20210112231A
Authority
KR
South Korea
Prior art keywords
peer
storage
interface
storage device
host
Prior art date
Application number
KR1020200173037A
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 KR20210112231A publication Critical patent/KR20210112231A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability 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/0646Horizontal data movement in storage systems, i.e. moving data in between 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 개시의 방법은 제1 스토리지 인터페이스를 통해 호스트와 제1 스토리지 디바이스 사이에 데이터를 전송하고, 제2 스토리지 인터페이스를 통해 호스트와 제2 스토리지 디바이스 사이에 데이터를 전송하고, 피어-투-피어 채널을 통하여 제1 스토리지 디바이스와 제2 스토리지 디바이스 사이에 데이터를 전송하는 것을 포함할 수 있다. 본 개시의 스토리지 시스템은 호스트 인터페이스, 호스트 인터페이스에 결합된 제1 스토리지 인터페이스를 가지는 제1 스토리지 디바이스, 호스트 인터페이스에 결합된 제2 스토리지 인터페이스를 가지는 제2 스토리지 디바이스, 및 제1 스토리지 디바이스와 제2 스토리지 디바이스 사이에 결합된 피어-투-피어 버스를 포함할 수 있다. 본 개시의 스토리지 디바이스는 스토리지 매체, 스토리지 매체에 결합된 스토리지 디바이스 제어기, 스토리지 디바이스 제어기에 결합된 스토리지 인터페이스, 및 스토리지 디바이스 제어기에 결합된 피어-투-피어 인터페이스를 포함할 수 있다.

Description

스토리지 디바이스들의 피어-투-피어 데이터 채널들을 위한 방법들 및 장치들{METHODS AND APPARATUSES FOR PEER-TO-PEER DATA CHANNELS FOR STORAGE DEVICES}
본 개시의 실시예들은 데이터 스토리지에 관한 것으로, 특히, 스토리지 디바이스들, 데이터센터들, 엣지-센터들 및/또는 등에 데이터를 저장하기 위한 시스템들 및 방법들에 관한 것이다.
스토리지 시스템은 하나 이상의 섀시(chassis)들, 랙(rack)들, 및/또는 등에 위치하는 하드 디스크 드라이브들(HHD: hard disk drive), 솔리드 스테이트 드라이브(SSD: solid state drive), 및/또는 등과 같은 하나 이상의 스토리지 디바이스들을 포함할 수 있다. 데이터는 각 스토리지 디바이스 및/또는 호스트의 스토리지 인터페이스를 통하여 스토리지 디바이스들과 하나 이상의 로컬 또는 원격 호스트 사이에 전송될 수 있다. 스토리지 디바이스는 예를 들면, 디바이스의 커넥터를 미드플레인, 스위치보드 및/또는 등의 해당하는 커넥터에 꽂음에 의해서, 스토리지 시스템에 연결될 수 있다. 스토리지 시스템은 또한 스토리지 시스템을 위한 구성, 모니터링, 및/또는 다른 관리 기능들을 수행할 수 있는 베이스보드 관리 제어기(BMC: baseboard management controller)와 같은 관리 구성 요소를 포함할 수 있다.
본 개시의 실시예들에 따른 과제는 2개 이상의 스토리지 디바이스들이 로컬 및/또는 원격 호스트를 직접 포함하지 않고 하나 이상의 피어-투-피어 채널들을 통하여 데이터를 교환할 수 있는 방법, 스토리지 시스템, 및 스토리지 디바이스를 제공하는데 있다.
본 개시의 실시예에 따르면, 방법은 제1 스토리지 인터페이스를 통해 호스트와 제1 스토리지 디바이스 사이에 데이터를 전송하고; 제2 스토리지 인터페이스를 통해 상기 호스트와 제2 스토리지 디바이스 사이에 데이터를 전송하고; 및 피어-투-피어 채널을 통해 상기 제1 스토리지 디바이스와 상기 제2 스토리지 디바이스 사이에 데이터를 전송하는 것을 포함할 수 있다. 상기 방법은 상기 피어-투-피어 채널의 토폴로지를 발견하는 것을 추가적으로 포함할 수 있다. 상기 토폴로지를 발견하는 것은 상기 호스트, 관리 제어기, 또는 상기 스토리지 디바이스들의 적어도 하나 중 하나 이상에 의해서 적어도 부분적으로 수행될 수 있다. 상기 방법은 QoS를 위하여 상기 제1 및 제2 스토리지 디바이스들을 구성하는 것을 추가적으로 포함할 수 있다. 상기 스토리지 디바이스들은 상기 호스트, 관리 제어기, 또는 상기 스토리지 디바이스들의 적어도 하나 중 하나 이상 의해서 QoS를 위하여 구성될 수 있다. 상기 QoS는 우선 순위, 리소스, 또는 성능 레벨의 하나 이상을 포함할 수 있다. 상기 방법은 제3 스토리지 인터페이스를 통해 상기 호스트와 제3 스토리지 디바이스 사이에 데이터를 전송하고; 및 상기 제1, 제2, 및 제3 스토리지 디바이스들을 하나 이상의 피어-투-피어 그룹들로서 구성하는 것을 추가적으로 포함할 수 있다. 상기 피어-투-피어 그룹은 동적으로 생성될 수 있다. 상기 피어-투-피어 그룹은 일대일, 일대다, 다대다 통신의 하나 이상을 위하여 구성될 수 있다. 상기 스토리지 디바이스들의 적어도 하나는 상기 호스트로부터 신뢰성, 이용가능성, 또는 보안 기능의 적어도 하나를 자체적으로 수행할 수 있다.
본 개시의 실시예에 따르면, 스토리지 시스템은 호스트 인터페이스; 상기 호스트 인터페이스에 결합된 제1 스토리지 인터페이스를 가지는 제1 스토리지 디바이스; 상기 호스트 인터페이스에 결합된 제2 스토리지 인터페이스를 가지는 제2 스토리지 디바이스; 및 상기 제1 및 제2 스토리지 디바이스들 사이에 결합된 피어-투-피어 버스를 포함할 수 있다. 상기 제1 스토리지 인터페이스는 제1 스토리지 커넥터를 통해 상기 호스트 인터페이스에 결합되고, 상기 제2 스토리지 인터페이스는 제2 스토리지 커넥터를 통해 상기 호스트 인터페이스에 결합되고, 상기 피어-투-피어 버스는 상기 제1 스토리지 커넥터와 상기 제2 스토리지 커넥터 사이에 결합될 수 있다. 상기 피어-투-피어 버스는 스위치 패브릭을 포함할 수 있다. 상기 피어-투-피어 버스는 미드플레인, 마더보드, 또는 스위치보드의 하나의 적어도 부분적으로 위치하는 스토리지 시스템. 상기 제1 스토리지 디바이스는 제1 피어-투-피어 커넥터를 통해 상기 피어-투-피어 버스에 결합되고, 상기 제2 스토리지 디바이스는 제2 피어-투-피어 커넥터를 통해 상기 피어-투-피어 버스에 결합될 수 있다. 상기 피어-투-피어 버스는 상기 제1 피어-투-피어 커넥터를 상기 피어-투-피어 버스에 결합하기 위하여 배열된 하나 이상의 접촉부들을 포함할 수 있다. 상기 하나 이상의 접촉부들은 하나 이상의 슬라이딩 접촉부들을 포함할 수 있다. 상기 피어-투-피어 버스는 플레이트(plate), 회로 기판, 리본, 또는 케이블 중 하나 이상을 포함할 수 있다. 상기 시스템은 섀시, 랙, 룸, 또는 빌딩 중 하나 이상을 포함하는 인클로저에 포함될 수 있다.
본 개시의 실시예에 따르면, 스토리지 디바이스는 스토리지 매체; 상기 스토리지 매체에 결합된 스토리지 디바이스 제어기; 상기 스토리지 디바이스 제어기에 결합된 스토리지 인터페이스; 및 상기 스토리지 디바이스 제어기에 결합된 피어-투-피어 인터페이스를 포함할 수 있다. 상기 피어-투-피어 인터페이스는 유선 인터페이스, 무선 인터페이스, 또는 광학 인터페이스 중 하나 이상을 포함할 수 있다. 상기 스토리지 인터페이스는 듀얼-포트 인터페이스를 포함할 수 있다. 상기 스토리지 인터페이스에 결합된 스토리지 커넥터를 추가적으로 포함하고, 상기 스토리지 커넥터는 상기 피어-투-피어 인터페이스에 결합될 수 있다. 상기 피어-투-피어 인터페이스에 결합된 추가 커넥터를 추가적으로 포함할 수 있다.
본 개시의 실시예들에 따르면, 하나 이상의 스토리지 디바이스들이 로컬 및/또는 원격 호스트를 직접 포함하지 않고 피어-투-피어 채널들을 통하여 데이터를 교환할 수 있다. 따라서, 하나 이상의 스토리지 디바이스가 신뢰성, 이용가능성, 및 보안성(RAS: reliability, availability, security) 특징들, 계산 저장 동작들, 및/또는 등을 지원할 수 있도록 하고, 호스트 인터페이스 대역폭 및/또는 호스트 트래픽과의 간섭을 감소하거나 제거할 수 있다
도면들은 반드시 일정한 스케일대로 그려진 것은 아니며 유사한 구조 또는 기능의 요소는 일반적으로 도면 전체에 걸쳐 설명을 위해 유사한 참조 번호로 표시된다. 도면은 여기에 설명된 다양한 실시예의 설명을 용이하게 하기 위한 것일 뿐이다. 도면은 본 명세서에 개시된 교시의 모든 측면을 설명하지 않으며 청구 범위의 범위를 제한하지 않는다. 도면이 모호해지는 것을 방지하기 위해 모든 구성 요소, 연결 등이 표시되지 않을 수 있으며 모든 구성 요소가 참조 번호를 갖지 않을 수 있다. 그러나, 구성 요소 구성의 패턴은 도면에서 분명하게 알 수 있다. 명세서와 함께 첨부된 도면은 본 개시의 예시적인 실시예들을 예시하고, 설명과 함께 본 개시의 원리를 설명하는 역할을 한다.
도 1은 본 개시의 실시예에 따른 스토리지 시스템을 나타내는 도면이다.
도 2는 본 개시의 실시예에 따른 스토리지 시스템을 나타내는 도면이다.
도 3은 본 개시의 일실시예에 따른 피어-투-피어 데이터 전송 능력을 가질 수 있는 2개 이상의 스토리지 디바이스들을 포함하는 스토리지 시스템을 나타내는 도면이다.
도 4는 본 개시의 일실시예에 따른 피어-투-피어 데이터 전송 능력을 가질 수 있는 스토리지 디바이스를 나타내는 도면이다.
도 5는 본 개시의 일실시예에 따른 무선 기술로 구현되는 피어-투-피어 데이터 전송 능력을 가지는 스토리지 디바이스들을 포함하는 스토리지 시스템을 나타내는 도면이다.
도 6은 본 개시의 일실시예에 따른 무선 기술로 구현되는 피어-투-피어 데이터 전송 능력을 가지는 스토리지 디바이스들을 포함하는 스토리지 시스템을 나타내는 도면이다.
도 7은 본 개시의 일실시예에 따른 광학 통신 기술로 구현되는 피어-투-피어 데이터 전송 능력을 가지는 스토리지 디바이스들을 포함하는 스토리지 시스템을 나타내는 도면이다.
도 8은 본 개시의 일실시예에 따른 유선 기술로 구현되는 피어-투-피어 데이터 전송 능력을 가지는 스토리지 디바이스들을 포함하는 스토리지 시스템을 나타내는 도면이다.
도 9는 본 개시의 일실시예에 따른 스토리지 시스템을 위한 유선 피어-투-피어 버스의 전기적 구성을 나타내는 도면이다.
도 10은 본 개시의 일실시예에 따른 기존 커넥터를 통하여 연결된 수동 유선 버스로 구현된 피어-투-피어 데이터 전송 능력을 가지는 스토리지 디바이스들을 포함하는 스토리지 시스템을 나타내는 도면이다.
도 11은 본 개시의 일실시예에 따른 기준 커넥터를 통하여 연결된 능동 유선 버스로 구현된 피어-투-피어 데이터 전송 능력을 가지는 스토리지 디바이스들을 포함하는 스토리지 시스템을 나타내는 도면이다.
도 12는 본 개시의 일실시예에 따른 메시지 포맷을 나타내는 도면이다.
도 13은 본 개시의 일실시예에 따른 스토리지 디바이스들이 하나 이상의 피어-투-피어 채널들을 통하여 데이터를 교환할 수 있는 스토리지 시스템을 동작하는 방법을 설명하기 위한 데이터 흐름도이다.
도 14는 본 개시의 일실시예에 따른 컴퓨팅 시스템을 나타내는 도면이다.
본 개시의 일부 실시예들에서, 2개 이상의 스토리지 디바이스들은 로컬 및/또는 원격 호스트를 직접 포함하지 않고 하나 이상의 피어-투-피어 채널들을 통하여 데이터를 교환할 수 있다. 이러한 피어-투-피어 데이터 전송은 하나 이상의 스토리지 디바이스가 예를 들면, 신뢰성, 이용가능성, 및 보안성(RAS: reliability, availability, security) 특징들, 계산 저장 동작들, 및/또는 등을 지원할 수 있도록 하고 호스트 인터페이스 대역폭 및/또는 호스트 트래픽과의 간섭을 감소하거나 제거할 수 있다.
일부 실시예들에서, 하나 이상의 피어-투-피어 채널들은 유선, 무선, 및/또는 다른 기술들로 구현될 수 있다. 이러한 피어-투-피어 채널들은 일대일(1:1), 일대다(1:N), 및/또는 다대다(N:N) 구성 또는 이러한 구성들의 조합 및 정적 및/또는 동적 구성으로 배열될 수 있다.
일부 실시예들은 본 개시에 따라 하나 이상의 피어-투-피어 채널을 통해 데이터를 교환할 수 있는 스토리지 디바이스들에 대한 토폴로지 및/또는 특징 발견, 연결 설정, 메시지 흐름 제어, 서비스 품질(QoS: quality-of-service) 구성 및/또는 다른 특징들을 구현할 수 있다.
도 1은 본 개시에 따른 직접 연결 스토리지(DAS: direct attached storage) 시스템의 예를 도시한다. 도 1에 도시된 스토리지 시스템(100)은 비휘발성 메모리 익스프레스(NVMe: non-volatile memory express) 인터페이스를 가지는 SSD들로서 구현될 수 있는 하나 이상의 스토리지 디바이스들(102)을 포함할 수 있다. 스토리지 디바이스들(102)은 주변 구성 요소 상호 연결 익스프레스(PCIe: peripheral component interconnect express) 링크들(105)을 통하여 PCIe 스위치(104)에 통신가능하게 결합될 수 있다. 스토리지 디바이스들(102)은 예를 들면, U.2 커넥터들(108)과 같은 스토리지 커넥터들을 사용하여 미드플레인(106)을 통하여 PCIe 스위치(104)에 연결될 수 있다. PCIe 스위치(104)는 다양한 스토리지 제어 기능들을 구현할 수 있는 호스트(110)에 스토리지 디바이스들(102)을 연결할 수 있다. 호스트(110)는 예를 들면, 독립 드라이브들의 리던던트 어레이(RAID: redundant array of independent drives) 제어기(112), 및 스토리지 디바이스들(102)을 위한 하나 이상의 NVMe 드라이버들(114)을 포함할 수 있다.
스토리지 시스템(100)은 베이스보드 관리 제어기(BMC: baseboard management controller)(116)와 같은 서비스 프로세서를 추가적으로 포함하여, 시스템(100)의 관리 및/또는 감독 기능들을 수행할 수 있다. BMC(116)는 미드플레인(106) 및 스토리지 커넥터들(108)을 통하여 스토리지 디바이스들(102)에 관리 인터페이스(120)를 제공할 수 있는 시스템 관리 버스(SMBus: system management bus) 멀티플렉서(Mux)(118)을 통하여 하나 이상의 스토리지 디바이스들(102)과 통신할 수 있다. 스토리지 시스템(100)의 구성 요소들은 섀시(122), 랙, 데이터 룸, 또는 임의의 다른 인클로저 또는 공간 내에 수용될 수 있다.
스토리지 시스템(100)은 예를 들면, 인터넷 및/또는 임의의 다른 클라우드 또는 네트워크 인프라(130)을 통하여 하나 이상의 애플리케이션들(126) 및/또는 운영 체제들 및/또는 파일 시스템들(128)에 액세스를 제공할 수 있는 이더넷 인터페이스와 같은 네트워크 인터페이스(124)를 통하여 액세스 가능할 수 있다. PCIe 스위치 및 링크들을 도시하지는 않았지만, 상호 연결 패브릭은 SATA(serial advanced technology attachment), SCSI(small computer systems interface), SAS(serial attached SCSI) 등과 같은 스토리지 상호 연결을 사용하여 구현될 수 있다.
도 2은 본 개시에 따른 원격 직접 연결 스토리지(rDAS: remote DAS) 시스템의 예를 도시한다. 도 2에 도시된 스토리지 시스템(132)은 비휘발성 메모리 익스프레스 오버 패브릭(NVMe-oF) 인터페이스들을 포함하는 이더넷 SSD들로서 구현될 수 있는 하나 이상의 스토리지 디바이스들(134)을 포함할 수 있다. 스토리지 디바이스들(134)은 이더넷 연결들(137)을 통하여 이더넷 스위치(136)에 통신가능하게 연결될 수 있다. 스토리지 디바이스(134)는 예를 들면, U.2 커넥터들(141)과 같은 스토리지 커넥터들을 사용하여 미드플레인(138)을 통하여 이더넷 스위치(136)에 연결될 수 있다. 미드플레인(138)은 단일 회로 보드, 더 작은 분산 회로 기판들의 그룹, 또는 임의의 다른 구성으로 구현될 수 있다.
도 1에 도시된 스토리지 시스템(100)처럼, 도 2에 도시된 스토리지 시스템(132)은 또한 스토리지 시스템(132)에 대한 관리 및/또는 감독 기능들을 수행할 수 있는 BMC(140)와 같은 서비스 프로세서를 포함할 수 있다. 일부 실시예들에서, BMC(140)는 PCIe 스위치(142)를 통하여 스토리지 디바이스들(134)과 통신하여 미드플레인(138) 및 스토리지 커넥터들(141)을 통하여 스토리지 디바이스들(134)에 관리 인터페이스(144)를 제공할 수 있다. 스토리지 시스템(132)의 구성 요소들은 섀시(146), 랙, 데이터 룸, 또는 임의의 인클로저 또는 공간 내에 수용될 수 있다.
이더넷 스위치(136)는 스토리지 시스템(132)이 예를 들면, 인터넷 및/또는 임의의 다른 클라우드 또는 네트워크 인프라(150)를 통하여 원격 호스트(148)에 의해서 액세스되도록 할 수 있다. 원격 호스트(148)는 스토리지 디바이스들(134)를 위한 하나 이상의 NVMe-oF 드라이버들(152)을 포함할 수 있다. 호스트는 또한 하나 이상의 애플리케이션들(154) 및 운영 체제들(134)을 포함할 수 있다. 이더넷 스위치(136) 및 이더넷 연결들이 도시되었지만, 다른 네트워크 패브릭들이 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP: transmission control protocol/internet protocol), 사용자 데이터그램 프로토콜/인터넷 프로토콜(UDP/IP: user datagram protocol/internet protocol), 원격 직접 메모리 액세스(RDMA: remote direct memory access), 파이버 채널(Fibre channel), infiniBand, 및/또는 등과 같은 스토리지 시스템(132) 내에서 사용될 수 있다.
일부 실시예들에서, 도 1에 도시된 스토리지 디바이스들(102)이 디바이스 드라이버들(114), 및 RAID 제어기(112)와 같은 하나 이상의 스토리지 관리 특징들을 포함할 수 있는 로컬 호스트(110)에 연결될 수 있기 때문에, 스토리지 디바이스들(102)은 상대적으로 응집력 있고/거나 독립적인 장치로서 기능을 하는 것처럼 보일 수 있다. 대조적으로, 일부 실시예들에서, 도 2에 도시된 스토리지 디바이스들(134)은 서로 상대적으로 독립적으로 동작할 수 있고, 따라서, 로컬 또는 원격 호스트에 SSD들의 풀로서 보일 수 있다.
스토리지 시스템들의 일부 실시예들에서, 하나 이상의 RAS 특징들의 구현은 신뢰성, 비용, 성능, 및/또는 등 사이에 하나 이상의 트레이드오프를 포함할 수 있다. 예를 들면, 리던던트 데이터로부터 손실 데이터를 복구하기 위한 데이터 리던던시에 기초한 데이터 신뢰성 기술은 신뢰성 레벨, 리던던시 정도, 성능 레벨 및/또는 등 사이에 하나 이상의 트레이드오프를 포함할 수 있다. 일부 실시예들에서, 데이터 신뢰성은 예를 들면, 중앙집중식 방법으로 RAID 제어기 또는 스토리지 시스템 소프트웨어 스택을 사용하여 데이터의 복사 및/또는 백업 복사본을 통하여 달성될 수 있다. 분산 구현을 위해 하나 이상의 RAS 특징들 또는 이의 서브셋을 스토리지 디바이스로 오프로드하는 것은 비용, 복잡성, 성능 병목현상, 및/또는 등을 줄이는데 도움이 될 수 있다. 일부 실시예들에서, 본 개시에 따른 하나 이상의 피어-투-피어 데이터 전송 기술들은 하나 이상의 스토리지 디바이스들이 호스트 인터페이스 대역폭을 소비함이 없이, 로컬 및/또는 원격 호스트를 포함함이 없이, 및/또는 등 하나 이상의 RAS 특징들을 구현하도록 있도록 할 수 있다.
스토리지 시스템들의 일부 실시예들에서, 복잡한 스토리지의 구현은 또한 본 개시에 따른 스토리지 디바이스들 사이의 피어-투-피어 데이터 전송들의 사용으로부터 이익을 얻을 수 있다. 컴퓨팅 스토리지는 중앙 처리 장치(CPU)에서 스토리지 장치로 계산을 오프로드하는 것을 포함할 수 있다. 일부 컴퓨팅 스토리지 사용 사례에서 하나 이상의 비용 최적화 및/또는 성능 이점은 스토리지 디바이스에서 원시 데이터를 처리하고 결과 또는 감소된 데이터 세트를 호스트로 전송함으로써 얻을 수 있다. 그러나, 일부 컴퓨팅 스토리지의 경우 데이터가 RAS 목적을 위해 여러 스토리지 디바이스에 스트라이프되거나 분산될 수 있다. 따라서, 일부 실시예에서, 컴퓨팅 스토리지는 계산이 오프로드된 하나 이상의 스토리지 디바이스의 데이터에 액세스하는 것을 포함할 수 있다. 따라서, 컴퓨팅 스토리지는 스토리지 디바이스들 사이의 데이터 전송을 포함할 수 있다.
데이터가 호스트 메모리 및/또는 호스트 인터페이스 경로의 스위치를 통해 스토리지 디바이스 간에 전송 될 수 있지만, 이러한 전송은 호스트 인터페이스 대역폭, CPU 주의, 리소스들 등을 소비할 수 있다. 더욱이, 호스트 인터페이스 경로에서 호스트 메모리 및/또는 스위치들을 통해 스토리지 디바이스들 간에 데이터를 전송하면 네트워크 인프라 비용 증가, 데이터 이동을 위한 에너지 소비, 성능 병목 현상, 지연 시간 증가, 차선(sub-optimal) 성능 등이 발생할 수 있다. 일부 실시예에서, 그리고 구현 세부 사항에 따라, 임의의 수의 이러한 문제는 본 개시에 따른 스토리지 디바이스들 사이의 피어-투-피어 데이터 전송을 위한 하나 이상의 사이드밴드 기술에 의해 해결될 수 있다.
본 개시에 따른 일부 실시예들에서, 피어-투-피어 데이터 전송 능력을 갖는 스토리지 디바이스들이 발견될 수 있고, 피어-투-피어 네트워크 토폴로지가 설정 될 수 있으며, 스토리지 디바이스들은 예를 들면, 메시지를 사용하여 하나 이상의 피어-투-피어 채널 교환 데이터를 통한 메시지 전송 연결을 사용할 수 있다. 일부 실시예들에서, 하나 이상의 피어-투-피어 채널 능력 및/또는 데이터 교환 기술은 스토리지 디바이스들 과 하나 이상의 로컬 및/또는 원격 호스트들, 예를 들면, NVMe, NVMe-oF, DAS, RDAS 등, 사이에 사용되는 하나 이상의 기본 스토리지 아키텍처 및/또는 프로토콜과 독립적일 수 있다.
도 3은 본 개시에 따른 피어-투-피어 전송 능력을 가질 수 있는 2개 이상의 스토리지 디바이스들을 포함할 수 있는 스토리지 시스템의 실시예를 도시한다. 도 3에 도시된 스토리지 시스템(160)은 하나 이상의 데이터 연결들(168)을 통하여 호스트 인터페이스(166)에 연결된 스토리지 인터페이스들(164)을 가지는 2개 이상의 스토리지 디바이스들(162)을 포함할 수 있다. 스토리지 디바이스들(162)은 피어-투-피어 버스(172)에 연결된 피어-투-피어 인터페이스들(170)을 또한 포함할 수 있다.
피어-투-피어 버스(172)는 스토리지 디바이스들(162) 사이에 하나 이상의 피어-투-피어 채널을 구현하기 위하여 사용될 수 있다. 일부 실시예들에서, 피어-투-피어 버스(172)는 하나 이상의 피어-투-피어 채널들을 구현하기 위하여 사용될 수 있는 임의의 또는 모든 하드웨어 구성 요소들, 소프트웨어 구성 요소들, 통신 프로토콜들, 및/또는 등에 관한 것일 수 있다. 일부 실시예들에서, 임의의 피어-투-피어 채널들은 유선, 무선, 및/또는 다른 기술, 및/또는 이들의 조합으로 구현될 수 있다.
본 개시에 따른 유선 기술의 예들은 기존 스토리지 커넥터들 및/또는 추가 커넥터들을 통하여 스토리지 디바이스들에 결합될 수 있는 하나 이상의 수동 및/또는 능동 버스들을 포함할 수 있다. 버스 커넥터들은 회로 기판들, 플레이트들, 리본들, 케이블들, 배선 하니스(harness)들, 및/또는 등으로 구현될 수 있고, 일부 실시예들에서, 예를 들면, 버스 커넥터들은 하나 이상의 커넥터들 및/또는 슬라이딩 접촉부들을 이용하여 핫 스와핑(hot swapping)을 위해 배열될 수 있다.
본 개시에 따른 무선 기술들의 예들은 Wi-Fi, 블루투스, 및/또는 등 의 임의의 버전 뿐만 아니라 4G, 5G, 등과 같은 무선 주파수 셀룰러 인터페이스들을 포함할 수 있다. 본 개시에 따른 피어-투-피어 채널들을 구현하는 다른 기술들의 예들은 광 섬유와 같은 도파관이 있거나 없는 레이저 통신과 같은 광학 통신을 포함할 수 있다.
스토리지 인터페이스들(164), 호스트 인터페이스(166), 및 데이터 연결들(168)은 SATA, SAS, NVMe, NVMe-oF, PCI, PCIe, 파이버 채널, InfiniBand, TCP / IP, UDP / IP, RDMA 등을 포함하는 임의의 스토리지 상호 연결들, 네트워크들, 프로토콜들, 커넥터들 및/또는 등, 임의의 구성에서 토폴로지, 및/또는 등을 사용하여 구현될 수 있다. 스토리지 시스템 (160)의 구성 요소는 예를 들면, 하나 이상의 미드플레인, 백플레인, 스위치 보드, 마더보드, 커넥터 및/또는 등을 사용하여 임의의 물리적 구성으로 배열될 수 있다. 일부 실시예들에서, 구성 요소는 섀시, 랙, 랙 그룹, 데이터 룸, 데이터센터 빌딩 및/또는 등과 같은 하나 이상의 개방형 또는 폐쇄형 인클로저에 포함될 수 있다. 일부 실시예들에서, 스토리지 시스템(160)은 임의의 개수의 스토리지 디바이스들(162), 예를 들면 24, 48 등을 갖는 스토리지 섀시에 수용될 수 있다.
일부 실시예들에서, 스토리지 시스템(160)은 예를 들면, 스토리지 시스템(160)에 대한 관리 및/또는 감독 기능을 제공하도록 구성된 BMC와 같은 서비스 프로세서를 포함할 수 있는 관리 제어기(174)를 더 포함할 수 있다. 관리 제어기(174)는 SMBus, PCIe 패브릭, 이더넷 및/또는 등을 포함하는 임의의 통신 인터페이스(176)를 통해 스토리지 디바이스와 통신할 수 있다. 관리 제어기(174)는 예를 들면, 전용 네트워크 연결, 호스트 인터페이스(166)에 대한 링크, 및/또는 등을 포함하는 임의의 통신 경로를 통해 사용자, 호스트, 데이터센터 관리자, 및/또는 등과 통신할 수 있다.
일부 실시예들에서, 호스트 인터페이스(166)는 하나 이상의 로컬 및/또는 원격 호스트에 연결될 수 있다. 예를 들면, 일부 실시예들에서, 호스트 인터페이스(166)는 RAID, EC(Erasure Coding) 및/또는 등과 같은 하나 이상의 스토리지 제어 기능을 구현할 수 있는 로컬 호스트에 연결될 수 있다. 일부 다른 실시예에서, 호스트 인터페이스(166)는 예를 들면, 원격 호스트에 대한 네트워크 스위치 또는 게이트웨이로서 구현될 수 있다.
일부 실시예들에서, 하나 이상의 원격 호스트, 하나 이상의 스토리지 디바이스(162) 및/또는 관리 제어기(174)는 토폴로지 및/또는 특징 발견, 연결 설정, 메시징 흐름 제어, QoS 구성 및/또는 다른 특징을 구현하는 로직을 포함하여, 스토리지 디바이스들(162)이 피어-투-피어 채널들을 사용하여 RAS 기능, 컴퓨팅 스토리지 동작 및/또는 등과 같은 다양한 기능들을 수행할 수 있도록 한다.
예를 들면, 일부 실시예들에서, 토폴로지 발견은 호스트, BMC와 같은 서비스 프로세서 및/또는 등에 의해 중앙 집중식 방식으로 개시 및/또는 수행될 수 있다. 대안적으로 또는 추가적으로, 또는 하나 이상의 스토리지 디바이스들은 분산 방식으로 하나 이상의 다른 피어-투-피어 가능 디바이스들을 자가 발견하고/하거나 연결을 설정할 수 있다. 다른 예로서, 스토리지 디바이스들은 다양한 토폴로지들을 가지고, 그리고, 이들 사이에 분배된 대역폭, 우선 순위 및/또는 등과 같은 다양한 리소스들을 가지고 피어-투-피어 그룹들 및/또는 서브 그룹들로 배열될 수 있다. 그러한 구성은 호스트, BMC와 같은 서비스 프로세서, 서비스 프로세서 및/또는 등에 의해 임의의 수의 정책 매개 변수에 기초하여 정적으로 및/또는 동적으로 수행될 수 있다.
본 개시에 따른 일부 실시예들에서, 스토리지 디바이스 간의 피어-투-피어 데이터 전송은 리던던트 데이터를 사용하여 손실된 데이터를 복구하기 위해 데이터 리던던시를 사용하는 데이터 신뢰성 기술들을 구현하는데 사용될 수 있다. 예를 들면, 데이터 손실 이전에 두 개 이상의 스토리지 디바이스가 백업 목적으로 데이터의 복제 복사본을 교환할 수 있으며 손실 후에는 호스트의 개입이 거의 또는 전혀없이 복구 목적으로 데이터를 교환할 수 있다. 다른 예로서, 하나 이상의 스토리지 디바이스는 복수개의 디바이스들에 걸쳐 데이터 스트라이핑을 구현할 수 있다.
일부 실시예들에서, 하나 이상의 스토리지 디바이스들은 하나 이상의 호스트들 및/또는 호스트 인터페이스들로부터 계산 스토리지를 구현하거나 계산 및/또는 대역폭 부하를 오프로드하기 위해 피어-투-피어 데이터 전송을 사용할 수 있다. 예를 들면, 일부 실시예들에서, 그들 사이에 구성된 피어-투-피어 채널을 갖는 디바이스들의 그룹 또는 서브 그룹 내의 하나 이상의 스토리지 디바이스들은 그룹, 서브 그룹, 스토리지 시스템, 및/또는 등으로 다른 스토리지 디바이스들에 대한 데이터 압축, 암호화 및/또는 등을 수행하도록 지정될 수 있다. 다른 예로서, 일부 실시예들에서, 하나 이상의 스토리지 디바이스들은 호스트로 및/또는 호스트로부터 중간 결과를 전송 및/또는 수신할 필요없이 추가 계산을 위해 디바이스들 간에 중간 계산 결과를 전송하기 위해 피어-투-피어 채널을 사용할 수 있다.
도 4는 본 개시에 따른 피어-투-피어 데이터 전송 능력을 가질 수 있는 스토리지 디바이스의 실시예를 도시한다. 예를 들면, 도 4에 도시된 스토리지 디바이스(180)는 도 3에 도시된 스토리지 디바이스들(162) 중 하나로서 사용될 수 있다. 스토리지 디바이스(180)는 스토리지 매체(182), 스토리지 디바이스 제어기(184), 스토리지 인터페이스(186), 피어-투-피어 인터페이스(186), 피어-투-피어 인터페이스(188), 및 스토리지 커넥터(190)를 포함할 수 있다. 스토리지 디바이스 제어기(184)는 스토리지 매체(182) 및 인터페이스들(186 및 188)로의 데이터 전송을 제어하도록 구성될 수 있다. 스토리지 디바이스 제어기(184)는 예를 들면, 토폴로지 및/또는 특징 발견, 연결 설정, 메시징 흐름 제어, QoS 구성, RAS 기능, 계산 스토리지 동작 및/또는 등을 포함하는 여기에 개시된 피어-투-피어 특징들 중 임의의 것을 구현하기 위한 피어-투-피어 로직(193)을 포함할 수 있다. 스토리지 디바이스(180)가 SSD로서 구현될 수 있는 실시예에서, 스토리지 디바이스 제어기(184)는 또한 플래시 변환 계층(FTL)(184) 및/또는 NVMe 관리자(196)를 포함할 수 있다.
일부 실시예들에서, 스토리지 인터페이스(186)는 SATA, SAS, NVMe, NVME-oF, PCI, PCIe, 파이버 채널, InfiniBand, TCP/IP, UDP/IP, RDMA 및/또는 등을 포함하는 임의의 인터페이스, 프로토콜 및/또는 등으로 구현될 수 있다. 스토리지 커넥터(190)는 예를 들면, SATA, SAS 및 NVMe 및/또는 이들의 변형 및/또는 조합과 같은 스토리지 프로토콜들의 상이한 패밀리를 수용할 수 있는 U.2 커넥터와 같은 임의의 적절한 커넥터로 구현될 수 있다.
일부 실시예들에서, 피어-투-피어 인터페이스(188)는 유선, 무선 및/또는 다른 기술들, 및/또는 이들의 조합을 포함하는 하나 이상의 피어-투-피어 채널들을 설정하기 위한 임의의 통신 인터페이스로 구현될 수 있다. 일부 실시예들에서, 피어-투-피어 인터페이스(188)는 스토리지 커넥터(190)를 통하여, 예를 들면, 기존의 커넥터 설계에 하나 이상의 보유된, 재할당된 및. 또는 새로운 단자들(핀들)을 사용하여 연결될 수 있다. 일부 실시예들에서, 새로운 스토리지 커넥터(190)는 스토리지 인터페이스(186) 및 피어-투-피어 인터페이스(188)을 위한 단자들을 수용하기 위하여 설계될 수 있다. 일부 실시예들에서, 피어-투-피어 인터페이스(188)는 스토리지 커넥터(190) 대신에 또는 추가적으로 추가적인 커넥터(192)를 통하여 액세스될 수 있다. 일부 실시예들에서, 예를 들면, 피어-투-피어 인터페이스(188)가 무선 기술로 구현될 수 있는 경우에, 피어-투-피어 인터페이스(188)는 추가적인 커넥터(192) 또는 스토리지 커넥터(190)를 통한 연결을 사용하지 않을 수 있다.
일부 실시예들에서, 스토리지 인터페이스(186) 및 피어-투-피어 인터페이스(188)는 서로 통합될 수 있다. 예를 들면, 일부 실시예들에서, 스토리지 디바이스(180)는 스토리지 인터페이스(186)가 포트들 중 하나를 사용하고, 피어-투-피어 인터페이스(188)가 다른 포트를 사용할 수 있는 듀얼-포트 이더넷 인터페이스를 포함할 수 있다. 일부 실시예들에서, 피어-투-피어 인터페이스(188)는 적어도 부분적으로, 가상 인터페이스로서 구현될 수 있다. 일부 실시예들에서, 스토리지 인터페이스(186) 및 피어-투-피어 인터페이스(188)는 본질적으로 동일한 통신 인터페이스로 구현될 수 있고, 여기에서 피어-투-피어 채널은 스토리지 인터페이스(186)를 하나 이상의 다른 스토리지 디바이스들 및/또는 하나 이상의 로컬 및/또는 원격 호스트들에 연결하기 위하여 사용되는 스위치 패브릭을 통하여 가상 채널로서 구현될 수 있다. 따라서, 일부 실시예들에서, 피어-투-피어 버스는 하나 이상의 스토리지 디바이스들 및 하나 이상의 호스트들 사이에 메인 데이터 경로를 위하여 사용되는 (네트워크 또는 상호 연결 패브릭과 같은) 스위치 패브릭과 통합될 수 있다.
임의의 또는 모든 스토리지 디바이스 제어기(184), 스토리지 인터페이스(186), 및 피어-투-피어 인터페이스(188)는 하드웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다.
본 개시에 따른 일부 가능한 구현 세부 사항들을 도시하는 시스템들, 과정들, 방법들, 및/또는 등의 일부 실시예들이 아래에 설명된다. 이러한 예들은 본 개시의 원리를 나타내기 위한 목적으로 제공되나, 이 원리들이 이러한 실시예들, 구현 세부 사항들, 및/또는 등에 제한되지 않는다.
도 5는 본 개시에 따른 무선 기술들로 구현되는 피어-투-피어 데이터 전송 능력을 가진 스토리지 디바이스들을 가지는 스토리지 시스템의 실시예를 나타낸다. 도 5에 도시된 스토리지 시스템(200)은 도 1에 도시된 실시예와 유사한 DAS 구조로 배열된 일부 구성 요소들을 포함하나, 스토리지 디바이스들(202)은 도 5에 도시된 것과 같은 5G 셀룰러 전송 및 수신(Tx/Rx) 모듈들과 같은 무선 모듈들로 구현되는 피어-투-피어 인터페이스들(204)을 포함할 수 있다. 따라서, 스토리지 시스템(200)은 도 3에 도시된 피어-투-피어 버스(172)에 유사한 임의의 개수의 특징들을 가질 수 있는 무선 피어-투-피어 버스(206)를 구현할 수 있다.
일부 실시예들에서, 하나 이상의 5G 무선 모듈들(204)은 스토리지 시스템(200)의 구현 세부 사항들에 기초하여 조정되거나 최적화될 수 있다. 예를 들면, 만일 시스템이 서버 섀시에 수용되는 경우, 무선 모듈들(204)은 섀시 내 모듈들의 근접성으로 인해 저전력 및/또는 낮은 레이턴시로 고 대역폭을 위해 조정될 수 있다. 다른 예로서, 만일 스토리지 드라이브들(202)이 예를 들면, 서버 랙, 데이터 룸, 데이터센터 등을 통해 공간적으로 더 널리 분산된 경우, 무선 모듈들은 예를 들면, 대역폭을 비교적 낮은 전력으로 동작하거나 더 긴 거리에서 대역폭을 유지하기 위해 증가된 전력으로 동작한다.
비록 스토리지 시스템(200)이 NVMe 드라이브, 5G 무선 기술, 미드플레인, SMBus 관리 인터페이스 등을 포함하는 DAS 구조와 같은 일부 특정 구현 세부 사항의 맥락에서 설명되지만, 임의의 셀룰러 무선 모듈들을 사용하는 다른 실시예들은 본 개시에 따른 임의의 다른 구현 세부 사항으로 실현될 수 있다.
도 6은 본 개시에 따른 무선 기술로 구현된 피어-투-피어 데이터 전송 능력을 갖는 스토리지 디바이스를 갖는 스토리지 시스템의 다른 실시예를 도시한다. 도 6에 도시된 스토리지 시스템(208)은 도 2에 도시된 실시예와 유사한 rDAS 구조로 배열된 일부 구성 요소들을 포함할 수 있지만, 스토리지 디바이스(210)는 도 6에 도시된 것처럼 전기 및 전자 엔지니어 표준회(IEEE) IEEE 802.3.11g와 같은 Wi-Fi 모듈들로 구현된 피어-투-피어 인터페이스(212)를 포함할 수 있다. 따라서, 스토리지 시스템(208)은 도 3에 도시된 피어-투-피어 버스(172)와 유사한 임의의 개수의 특징들을 가질 수 있는 무선 피어-투-피어 버스(214)를 구현할 수 있다.
일부 실시예에서, 하나 이상의 Wi-Fi 모듈들(212)은 도 5에 도시된 스토리지 시스템(200)과 관련하여 위에서 설명된 것과 유사한 방식으로 스토리지 시스템(208)의 구현 세부 사항에 기초하여 조정되거나 최적화될 수 있다. 비록 스토리지 시스템(208)이 eSSD 드라이브들, Wi-Fi 무선 기술, 미드플레인, PCIe 기반 관리 인터페이스 및/또는 등을 가지는 rDAS 구조와 같은 일부 예시적인 구현 세부 사항의 맥락에서 설명되지만, 임의의 Wi-Fi 무선 모듈을 사용하는 다른 실시예들은 본 개시에 따른 임의의 다른 구현 세부 사항으로 실현될 수 있다.
도 7은 본 개시에 따른 광 통신 기술로 구현된 피어-투-피어 데이터 전송 능력을 갖는 스토리지 디바이스들을 갖는 스토리지 시스템의 예시적인 실시예를 도시한다. 도 7에 도시된 스토리지 시스템(216)은 레이저 통신 모듈들(220)로 구현된 피어-투-피어 인터페이스들을 갖는 스토리지 디바이스들(218)을 포함할 수 있다. 일부 실시예들에서, 하나 이상의 모듈들은 2 개의 포트들(224A 및 224B)을 가질 수 있다. 스토리지 디바이스들(218) 및/또는 모듈들(220)은 하나의 모듈(220)상의 포트(224A)가 인접 모듈(220)상의, 예를 들면, 인접 섀시 슬롯 내 디바이스의 대응하는 모듈(224B)과 정렬될 수 있고, 데이터를 전송할 수 있으며, 이에 따라 메시지를 교환하기 위하여 레이저 빔 인코딩을 사용하여 링크(226)를 형성한다. 하나 이상의 포트들(224A 및/또는 224B)는 레이저 송신기(Tx) 및 수신기(Rx)를 가질 수 있다. 따라서, 모듈들(220)은 도 3에 도시된 피어-투-피어 버스(172)와 유사한 임의의 개수의 특징들을 가질 수 있는 루프 또는 체인 토폴로지에서 피어-투-피어 버스를 형성할 수 있다. 일부 실시예들에서, 하나 이상의 포트들(224A 및/또는 224B) 중 하나는 루프백 동작이 가능하여 체인의 양쪽 끝에 있는 모듈들이 주소가 지정되지 않은 메시지들을 루프백할 수 있도록 링 토폴로지를 형성할 수 있다.
일부 실시예들에서, 하나 이상의 스토리지 디바이스들(218)은 스토리지 디바이스의 스토리지 인터페이스를 호스트 트래픽을 위한 호스트 인터페이스에 연결하기 위한 U.2 커넥터와 같은 스토리지 커넥터(228)를 포함할 수 있다. 비록 스토리지 시스템(216)이 듀얼 포트 레이저 모듈들(220) 및 링 또는 체인 토폴로지와 같은 일부 예시적인 구현 세부 사항의 맥락에서 도시될 수 있지만, 레이저 또는 다른 광 통신을 사용하는 다른 실시예들은 본 개시에 따른 임의의 다른 구현 세부 사항으로 실현될 수 있다.
도 8은 본 개시에 따른 유선 기술로 구현된 피어-투-피어 데이터 전송 능력을 갖는 스토리지 디바이스들을 갖는 스토리지 시스템에 대한 기계적 구성의 예시적인 실시예를 도시한다. 도 8에 도시된 시스템은 U.2 커넥터 (234)(스토리지 디바이스(232)의 뒷면에 점선으로 도시됨) 및 추가 커넥터(236)와 같은 스토리지 커넥터를 갖는 스토리지 디바이스(232)를 포함할 수 있다. 스토리지 커넥터(234)는 스토리지 디바이스(232)가 화살표(242)로 도시된 슬롯에 삽입될 때 미드플레인 또는 다른 구조의 대응 소켓에 연결하여 스토리지 디바이스(232)의 스토리지 인터페이스와 호스트 사이의 연결을 설정한다. 상부 플레이트 또는 리본 케이블과 같은 유선 버스 장치(238)는 대응하는 스토리지 디바이스(232)의 추가 커넥터(236)와 정렬될 수 있는 커넥터(240)를 가질 수 있다. 스토리지 디바이스(232)의 추가 커넥터(236)는 버스 장치(238)의 전기적 트레이스들에 스토리지 디바이스(232) 내부의 피어-투-피어 인터페이스를 연결함으로써 스토리지 디바이스들(232) 사이에 피어-투-피어 유선 버스를 형성한다.
일부 실시예들에서, 추가 커넥터(236)의 하나 이상의 슬라이딩 접촉부 및/또는 스프링 장착 핀(237)은 버스 장치(238)의 대응 커넥터(240)의 하나 이상의 대응하는 접촉 패드들(239)과 결합할 수 있고, 이에 따라, 추가 커넥터(236)와 버스 장치(238) 사이의 하나 이상의 전기적 연결들을 이룰 수 있다. 일부 실시예들에서, 하나 이상의 슬라이딩 및/또는 스프링 장착 접촉부들의 위치들이 반전될 수 있다. 일부 실시예들에서, 유선 버스 장치(238)는 예를 들면, 디바이스의 상단 엣지를 따라 배열된 추가 커넥터들(236)을 가질 수 있는 스토리지 디바이스들(232)을 위한 하나 이상의 베이의 상부면에 있는 섀시 또는 다른 스토리지 인클로저의 임의의 또는 모든 슬롯들에 걸쳐 배열될 수 있다.
도 9는 본 개시에 따른 스토리지 시스템을 위한 유선 피어-투-피어 버스에 대한 전기적 구성의 예시적인 실시예를 도시한다. 예를 들면, 도 9에 도시된 전기적 구성은 도 8에 도시된 기계적 구성 및/또는 버스 장치 (238)와 함께 사용될 수 있다. 도 9에 도시된 스토리지 시스템(230)에서, 스토리지 디바이스(232)는 듀얼 포트들(246A 및 246B)을 갖는 피어-투-피어 인터페이스들(244)을 포함할 수 있다. 화살표들은 스토리지 디바이스들(232)이 스토리지 시스템의 슬롯에 연결될 때 유선 버스 장치(238)의 전기적 트레이스들을 통한 신호 흐름을 도시할 수 있다. 일부 실시예들에서, 포트들(246A 및/또는 246B) 중 하나 이상은 루프백 동작이 가능할 수 있으며, 이에 따라 체인의 양쪽 끝에 있는 인터페이스가 그들에게 주소가 지정되지 않은 메시지들을 루프백할 수 있게 하여 링 토폴로지를 형성할 수 있다.
일부 실시예들에서, 도 8 및 도 9에 도시된 전기적 및/또는 기계적 배열은 스토리지 시스템(230) 내 스토리지 디바이스들(232)의 핫 스와핑을 가능하게 할 수 있다.
도 10은 본 개시에 따라 기존 커넥터를 통하여 연결된 수동 유선 버스로 구현된 피어-투-피어 데이터 전송 능력을 가진 스토리지 디바이스들을 가지는 스토리지 시스템의 예시적인 실시예를 도시한다. 도 10에 도시된 스토리지 시스템(248)은 도 1에 도시된 실시예에 유사한 DAS 구조로 배열된 일부 구성 요소들을 포함할 수 있으나, 스토리지 디바이스들(250)은 도 10에 도시된 U.2 스토리지 커넥터(256)과 같은 기존 커넥터에 하나 이상의 사용되지 않는, 정의되지 않은 및/또는 재정의된 단자들 또는 핀들을 사용할 수 있는 피어-투-피어 인터페이스들을 포함할 수 있다. 도면을 모호하게 하는 것을 피하기 위해, PCI 연결들(105) 및 관리 버스 연결들(120)의 라우팅은 미드플레인(252)에 도시되지 않는다. 일부 실시예들에서, 미드플레인(252)의 전기적 트레이스들은 미드플레인의 수동 유선 피어-투-피어 버스(254)를 형성하기 위하여 라우팅될 수 있다. 수동 유선 피어-투-피어 버스(254)는 스토리지 디바이스들(250) 및/또는 스토리지 디바이스들의 그룹들 및/또는 서브 그룹들 사이에 피어-투-피어 채널들의 임의의 개수 및/또는 구성으로 구성될 수 있다. 예를 들면, 일부 실시예들에서, 채널들은 이웃하는 스토리지 디바이스들(250) 사이에 라우팅되어 체인 및/또는 루프 토폴로지를 형성할 수 있다. 일부 실시예들에서, 스타 토폴로지들, 멀티-드롭 버스들, 및/또는 이들의 임의의 조합을 포함하는 임의의 다른 채널 토폴로지들이 사용될 수 있다.
비록 스토리지 시스템(248)이 NVMe 드라이브들, U.2 커넥터들 및 피어-투-피어 버스 또는 미드플레인를 가지는 DAS 구조와 같은 일부 구현 세부 사항의 맥락에서 설명되지만, 다른 실시예들에서는 임의의 다른 구조, 스토리지 디바이스 형태들, 커넥터들 등이 사용될 수 있다. 예를 들면, 일부 실시예들에서, 피어-투-피어 버스와 스토리지 디바이스 사이의 연결은 U.2 커넥터, 예를 들면 SMBus 인터페이스 용 커넥터가 아닌 커넥터 또는 피어-투-피어 데이터 채널들을 위한 새로운 단자들(핀들)을 생성하기 위하여 사용될 수 있는 새로운 커넥터를 통해 이루어질 수 있다. 다른 예로서, 일부 실시예들에서, 수동 피어-투-피어 버스는 백플레인, 스위치보드, 마더보드 및/또는 스토리지 시스템의 임의의 다른 장치에서 구현될 수 있다.
도 11은 본 개시에 따른 기존 커넥터를 통해 연결된 능동 유선 버스로 구현되는 피어-투-피어 데이터 전송 능력을 갖는 스토리지 디바이스들을 갖는 스토리지 시스템의 예시적인 실시예를 도시한다. 도 11에 도시된 스토리지 시스템(258)은 도 2에 도시된 실시예와 유사한 rDAS 구조로 배열된 일부 구성 요소를 포함 할 수 있지만, 스토리지 디바이스(260)는 도 11에 도시된 것처럼 U.2 스토리지 커넥터(262)와 같은 기존 커넥터의 하나 이상의 사용되지 않은, 정의되지 않은 및/또는 재정의된 단자들 또는 핀들을 사용할 수 있는 피어-투-피어 인터페이스들을 포함할 수 있다. 도면을 모호하게 하는 것을 피하기 위하여, 이더넷 연결들(137) 및 관리 버스 연결들(144)의 라우팅은 미드플레인(264)에 표시되지 않는다. 일부 실시예들에서, 커넥터들(262)에서의 피어-투-피어 인터페이스 연결들은 스토리지 디바이스들(260) 사이에 능동 피어-투-피어 버스를 형성하기 위해 스위치 패브릭에 연결될 수 있다. 도 11에 도시된 예에서, 스위치 패브릭은 예를 들면 섀시(146)의 스위치보드에 위치할 수 있는 PCIe 스위치(266)로 구현될 수 있다. PCIe 스위치(266)와 스토리지 디바이스들(260) 사이의 PCIe 링크들(268)은 미드플레인(264)을 통해 라우팅될 수 있다. PCIe 스위치(266)로 구현된 능동 피어-투-피어 버스는 스토리지 디바이스(260) 및/또는 스토리지 디바이스들의 그룹 및/또는 서브 그룹 사이의 피어-투-피어 채널들의 임의의 개수 및/또는 구성으로 구성될 수 있다.
비록 스토리지 시스템 (258)이 eSSD 드라이브를 갖는 rDAS 구조, U.2 커넥터 및 PCIe 스위치로 구현 된 스위치 패브릭과 같은 일부 특정 구현 세부 사항의 맥락에서 도시되지만, 다른 실시예들에서, 임의의 다른 구조들, 스토리지 디바이스 형태들, 커넥터 등이 사용될 수 있다. 예를 들면, 일부 실시예들에서, 다른 형태의 스위치 패브릭은 SATA, SAS, NVMe, NVME-oF, PCI 파이버 채널, InfiniBand, TCP/IP, UDP/IP, RDMA 및/또는 등을 포함하는 피어-투-피어 버스를 구현하는 데 사용될 수 있다. 다른 예로서, 일부 실시예들에서, 스위치는 미드플레인, 백플레인, 마더보드 및/또는 스토리지 시스템의 임의의 다른 장치에 위치 할 수 있으며, 스토리지 디바이스(260) 및 스위치 패브릭으로부터의 연결들은 임의의 적절한 장치를 통하여 라이팅될 수 있다.
일부 실시예들에서, 관리 제어기 및/또는 피어-투-피어 데이터 전송 능력을 갖는 하나 이상의 스토리지 디바이스는 하나 이상의 피어-투-피어 가능한 스토리지 디바이스들의 존재를 발견하는 것 및/또는 스토리지 디바이스들 사이에 하나 이상의 피어-투-피어 채널들을 구성하는 것을 포함할 수 있는 토폴로지 발견 프로세스에 참여할 수 있다. 일부 실시예들에서, BMC와 같은 서비스 프로세서를 포함할 수 있는 호스트 및/또는 관리 제어기는 토폴로지 발견 프로세스를 개시 및/또는 관리할 수 있다. 일부 실시예들에서, 스토리지 디바이스가 위치하는 슬롯 또는 커넥터 번호는 스토리지 디바이스의 식별자 역할을 할 수 있다. 발견 프로세스는 본 개시에 따라 피어-투-피어 버스를 구현하기 위해 사용되는 하나 이상의 기술들에 의존할 수 있다. 예를 들면, 무선 피어-투-피어 채널들을 사용하는 실시예들에서, 다양한 토폴로지들이 일대일(1:1), 일대다(1:N), 다대다(N:N)와 같은 호스트, BMC 및/또는 스토리지 및/또는 데이터 센터 관리자, 및/또는 이들의 조합들의 제어 하에 형성될 수 있다. 광학(예를 들면, 레이저) 및/또는 체인형 하드와이어 토폴로지와 같은 일부 실시예들에서, 이러한 토폴로지들은 여전히 변경 및/또는 결합되어 더 복잡한 토폴로지를 생성할 수 있지만, 피어-투-피어 채널은 고유한 일대일(1:1) 링 또는 체인 토폴로지를 가질 수 있다.
일부 실시예들에서, 호스트 또는 BMC와 같은 서비스 프로세서에 의해 결정된 토폴로지가 없는 경우, 하나 이상의 스토리지 디바이스들은 다른 피어-투-피어 가능 스토리지 디바이스들을 자가 발견하고 연결을 설정할 수 있다. 일부 실시예들에서, 스토리지 디바이스는 피어-투-피어 연결 설정 프로세스에 관한 하나 이상의 디폴트 파라미터들을 포함할 수 있다. 일부 실시예들에서, 스토리지 시스템의 전원이 켜진 후, 시스템의 하나 이상의 스토리지 디바이스들은 피어-투-피어 버스를 통해 그들의 식별자를 브로드캐스트할 수 있다. 하나 이상의 다른 피어-투-피어 스토리지 디바이스들은 이러한 브로드캐스트 식별자들을 기록하고/하거나 브로드캐스트 식별자를 사용하여 다양한 토폴로지들, 예를 들면, 슬롯 오름 차순으로 일대일(1:1), 일대다(1:N), 다대다(N:N), 및/또는 이들의 조합을 형성할 수 있다. 더욱이, 토폴로지 및/또는 하나 이상의 그룹들 및/또는 서브 그룹들은 호스트, 관리 제어기 및/또는 하나 이상의 스토리지 디바이스를 통해 동적으로 생성될 수 있다.
일부 실시예들에서, 하나 이상의 스토리지 디바이스들, 스토리지 디바이스들의 그룹들 및/또는 서브 그룹들 및/또는 등 사이의 피어-투-피어 데이터 전송을 위해 하나 이상의 QoS 파라미터들이 설정될 수 있다. QoS 파라미터들은 하나 이상의 호스트들, 관리 제어기들, 스토리지 디바이스들 및/또는 등에 의해 설정될 수 있다. 예를 들면, 다른 디바이스들에 대해 압축, 암호화 및/또는 등과 같은 서비스를 수행할 수 있는 지정된 스토리지 디바이스를 가지는 스토리지 시스템에서, 지정된 디바이스는 서비스에 대한 디폴트 피어-투-피어 대역폭 구성(즉, 디바이스-기반 QoS 구성)을 가질 수 있고, 서비스 목적을 위해 다른 대역폭을 설정할 수 있는 호스트에 의해 재정의될 수 있다(즉, 호스트-기반 QoS 구성).
QoS 파라미터들은 우선 순위, 리소스들, 대역폭, 레이턴시 및/또는 기타 성능 설정을 포함할 수 있다. 일부 실시예들에서, 상이한 QoS 파라미터들은 스토리지 디바이스들의 상이한 그룹들 또는 서브 그룹들에 적용될 수 있다. 예를 들면, 스토리지 디바이스들의 섀시 또는 랙 내에서, 스토리지 디바이스들의 제1 그룹은 보다 결정적인 통신을 포함하는 삭제 코딩(EC: Erasure Coding) 도메인에 속할 수 있으며, 따라서 첫 번째 그룹은 대역폭, 레이턴시, 및/또는 등과 같은 더 높고/거나 보장된 QoS 파라미터들을 가질 수 있다. 대조적으로, 스토리지 디바이스들의 제2 그룹은 체크섬을 계산하고/하거나 실시간 요구 사항을 포함하지 않을 수 있는 다른 백그라운드 데이터 검증 작업을 수행할 수 있으며, 이에 따라, 제2 그룹은 더 낮은 QoS 파라미터들을 가질 수 있다. 일부 실시예들에서, 하나 이상의 그룹들 및/또는 서브 그룹들은 호스트 트래픽과 비교하여 피어-투-피어 통신을 위해 조정되거나 최적화될 수 있는 하나 이상의 QoS 파라미터들을 가질 수 있다.
일부 실시예들에서, 하나 이상의 스토리지 디바이스들의 그룹들 및/또는 서브 그룹들 및/또는 등에 대한 하나 이상의 QoS 파라미터들은 하나 이상의 정책 파라미터들에 기초할 수 있다. 정책 파라미터들의 예로는 애플리케이션 유형, 애플리케이션 식별자, 네임스페이스 식별자, 호스트 식별자, 논리 블록 주소(LBA) 범위, 비휘발성 메모리(NVM) 세트 식별자, NVMe 제출 큐 식별자, 완료 큐 식별자, 스트림 식별자, 이더넷 MAC 식별자, TCP/IP 주소 및 기타 전송/네트워크 파라미터, 및 섀시, 랙 등에 있는 스토리지 디바이스들의 개수, 날짜, 시간 등과 같은 일반 파라미터들을 포함할 수 있다.
일부 실시예들에서, 흐름 제어 및/또는 다른 신뢰성 기술은 본 개시에 따른 스토리지 디바이스들 사이의 하나 이상의 피어-투-피어 채널들에서 구현될 수 있다. 예를 들면, 승인/비승인(Ack/Nack) opcode는 디바이스 간의 메시지에 사용될 수 있다. Ack/Nack opcode는 예를 들면 스토리지 디바이스들의 그룹 간에 피어-투-피어 채널이 설정된 후 유용할 수 있다. 그룹 내의 여러 디바이스들이 데이터를 단일 대상 디바이스로 전송하려고 시도하는 경우 대상 디바이스는 대상 디바이스에서 사용할 수 있는 버퍼 메모리와 같은 리소스에 따라 전송된 데이터의 일부만 받아 들일 수 있다. Ack/Nack opcode를 사용하면 디바이스들이 전송된 데이터의 어느 부분이 수락되었는지를 판단하고, 어떤 경우 다비이스들이 데이터를 재전송해야할 필요가 있는지를 판단할 수 있다. 추가 예로서, 메시지 길이 및/또는 메시지 시퀀스 번호가 완료 엔트리에 사용될 수 있다. 예를 들면, 일부 실시예들에서, 소스 디바이스가 데이터를 대상 디바이스로 전송할 때, 대상 디바이스는 완료 엔트리에 메시지 길이를 배치함으로써 데이터의 수신을 확인할 수 있다. 추가 예로서, 일부 실시예들에서, 메시지는 메시지가 대상 디바이스에 도달할 때, 대상 디바이스가 재전송될 수 있는 임의의 누락된 메시지가 있는지 결정할 수 있도록 시퀀스 번호를 포함할 수 있다
일부 실시예들에서, 피어-투-피어 데이터는 데이터 메시지를 사용하여 스토리지 디바이스들 사이에 전송될 수 있다. 도 12는 본 개시에 따른 메시지 포맷의 예시적인 실시예를 도시한다. 도 12에 도시된 실시예는 헤더 부분과 데이터 부분을 포함할 수 있다. 헤더에는 송신 다비이스 및 수신 디바이스에 대한 식별자들이 포함될 수 있다. 일부 실시예들에서, 송신 및/또는 수신 디바이스들은 랙 또는 다른 인클로저의 슬롯 ID에 의해 식별될 수 있다. 일부 실시예들에서, 헤더는 또한 메시지의 길이, 메시지 시퀀스 번호, Ack/Nack opcode, 헤더 및/또는 데이터 페이로드에 대한 CRC(Cyclical Redundancy Check) 코드들과 같은 데이터 보호 필드들 및/또는 등을 포함하는 추가 필드들을 포함할 수 있다.
일부 실시예들에서, 본 개시에 따른 피어-투-피어 데이터 전송 능력은 디바이스가 시스템 내 또는 피어-투-피어 데이터 전송 능력이 없는 다른 스토리지 디바이스들과 함께 설치되는 경우 표준 스토리지 디바이스로서 디폴트 동작을 위해 구성될 수 있도록 선택적인 특징으로서 구현될 수 있다. 예를 들면, 피어-투-피어 인터페이스는 스토리지 디바이스와 호스트 사이의 정상적인 데이터 트래픽 뿐만 아니라 정상적인 호스트 명령 중재, 실행, 완료 및/또는 등에 영향을 미치지 않을 수 있다. 따라서, 본 개시에 따른 피어-투-피어 데이터 전송 능력을 갖는 디바이스들은 다른 스토리지 디바이스들과 공존할 수 있다. 예를 들면, 일부 실시예들에서, 피어-투-피어 데이터 전송 능력은 호스트 및/또는 관리 제어기의 제어 하에 활성화 및/또는 비활성화될 수 있다.
도 13은 본 개시에 따라 스토리지 디바이스들이 하나 이상의 피어-투-피어 채널들을 통해 데이터를 교환할 수 있는 스토리지 시스템을 동작시키기 위한 방법의 일실시예에 대한 데이터 흐름도를 도시한다. 도 13에 도시된 방법(270)은 예를 들면 여기에 설명된 스토리지 시스템 중 임의의 것을 사용하여 구현될 수 있다. 도 13에 도시된 방법(270)에서, 스토리지 디바이스들(272)은 스토리지 인터페이스(274) 및 피어-투-피어 인터페이스(276)를 가질 수 있다. 스토리지 디바이스들(272)은 스토리지 디바이스들(278)의 제1 그룹과 스토리지 디바이스들(280)의 제2 그룹으로 나눌 수 있다. 제1 그룹(278)은 제1 서브 그룹(282) 및 제2 서브 그룹(284)으로 더 나눌 수 있다. 피어-투-피어 트래픽은 도 13의 화살표로 도시된 바와 같이, 각 그룹 및/또는 서브 그룹 내의 스토리지 디바이스들 사이에서 흐를 수 있다. 호스트(286)는 호스트 트래픽이 호스트와 스토리지 디바이스들 사이에서 흐르도록 하기 위해 스토리지 디바이스들(272)의 스토리지 인터페이스들(274)에 연결될 수 있는 호스트 인터페이스(288)를 가질 수 있다.
도 14는 본 개시에 따른 컴퓨팅 시스템의 실시예를 도시한다. 예를 들면, 도 14의 컴퓨팅 시스템(300)은 본 개시에서 설명된 방법 및/또는 장치의 일부 또는 전부를 구현하기 위해 사용될 수 있다. 예를 들면, 컴퓨팅 시스템(300)은 호스트, BMC와 같은 서비스 프로세서, 스토리지 디바이스의 스토리지 디바이스 제어기 및/또는 등을 구현하는 데 사용될 수 있다. 컴퓨팅 시스템(300)은 CPU(302), 메모리(304), 스토리지(306), 상호 연결 인터페이스(307), 사용자 인터페이스(308) 및 네트워크 인터페이스(310)를 포함할 수 있다. 다른 실시예들에서, 시스템은 이들 구성 요소 중 임의의 것을 생략할 수 있거나 또는 본 개시에 설명된 방법 및/또는 장치 중 임의의 것을 구현하기 위한 임의의 다른 유형의 구성 요소 뿐만 아니라 임의의 구성 요소의 중복 또는 임의의 추가 개수를 포함할 수 있다.
일부 실시예들에서, 상호 접속 인터페이스(307)는 SATA, SAS, NVMe, PCI, PCIe 및/또는 등과 같은 임의의 유형의 일반 또는 스토리지 상호 접속으로 구현될 수 있다.
CPU(302)는 임의의 개수의 코어들, 캐시들, 버스 및/또는 상호 연결 인터페이스들 및/또는 제어기들을 포함할 수 있다. 메모리(304)는 *?*동적 및/또는 정적 RAM, 비휘발성 메모리(예를 들면, 플래시 메모리) 등의 임의의 배열을 포함할 수 있다. 스토리지(306)는 하드 디스크 드라이브들(HDD), 솔리드 스테이트 드라이브들(SSD) 및/또는 임의의 다른 유형의 데이터 스토리지 디바이스들 또는 이들의 조합을 포함할 수 있다. 사용자 인터페이스(308)는 키보드들, 마우스들, 모니터들, 비디오 캡처 또는 전송 디바이스들, 마이크로폰들, 스피커들, 터치스크린들 등과 같은 임의의 유형의 휴먼 인터페이스 장치 뿐만 아니라 이러한 장치들의 임의의 가상화 또는 원격 버전들을 포함할 수 있다. 네트워크 인터페이스(310)는 이더넷, 파이버 채널, InfiniBand, TCP/IP, UDP/IP, RDMA, Wi-Fi, 블루투스, 또는 구성 요소들이 인트라넷, 인터넷, 근거리 통신망, 광역 통신망 등과 같은 물리적 및/또는 논리적 네트워크들을 통하여 통신가능하게 하는 임의의 다른 컴퓨터 네트워킹 배열을 통하여 통신하는 하나 이상의 어댑터들 또는 다른 장치들을 포함할 수 있다.
시스템(300)의 구성 요소들 중 일부 또는 전부는 파워 버스들, 주소 및 데이터 버스들, SATA(Serial AT Attachment), PCI(Peripheral Component Interconnect), PCI-e(Peripheral Component Interconnect Express), 시스템 관리 버스(SMBus)와 같은 고속 상호연결들, 및 구성 요소들이 한 위치에서 로컬로 작동하거나 서로간에 분산되어 함께 동작가능하도록 할 수 있는 임의의 다른 유형의 인터페이스들을 포함하는 다양한 인터페이스를 집합적으로 지칭할 수 있는 시스템 버스(301)를 통해 상호 연결될 수 있다.
시스템(300)은 또한 다양한 칩셋들, 인터페이스들, 어댑터들, 글루(glue) 로직, 프로그래머블 또는 비프로그래머블 로직 디바이스들 또는 어레이들과 같은 임베디드 컨트롤러들, 주문형 집적 회로(ASIC), 임베디드 컴퓨터, 스마트 카드 등을 포함하여, 시스템(300)의 다양한 구성 요소들이 함께 작동가능하도록 하여 본 개시에 설명된 방법 및/또는 장치의 일부 또는 전부를 구현할 수 있다. 시스템(300)의 임의의 구성 요소들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 일부 실시예들에서, 구성 요소들의 일부 또는 전부는 예를 들면 데이터센터 내에서 리소스들의 유연한 프로비저닝을 사용하여 가상화된 형태 및/또는 클라우드 기반 구현으로 실현되거나 또는 여러 데이터센터들에 분산될 수 있다.
본 명세서에 개시된 실시예와 관련하여 설명된 동작들, 방법들, 알고리즘 및/또는 기능들은 시스템(300) 내에 포함하는 하드웨어, 프로세서에 의해 실행되는 하나 이상의 소프트웨어 모듈들, 또는 두 개의 조합으로 직접적으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 유형의 비일시적 컴퓨터 판독 가능 매체에 하나 이상의 명령들 또는 코드로 저장되거나 전송될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), 플래시 메모리, ROM(Read Only Memory), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 레지스터들, 하드 디스크, 이동식 디스크, CD ROM 또는 임의의 다른 형태의 저장 매체에 상주할 수 있다. 본 명세서에 개시된 임의의 시스템, 또는 그 구성 요소 또는 일부는 더 큰 시스템, 예를 들면 스토리지 시스템 또는 다른 더 큰 시스템의 소프트웨어 스택의 일부로서 구현될 수 있다. 여기에 개시된 임의의 시스템, 또는 그 구성 요소 또는 일부는 자체 소프트웨어 스택으로 구현될 수 있다.
본 명세서에 개시된 실시예는 다양한 구현 세부 사항의 맥락에서 설명될 수 있지만, 본 개시의 원리는 이들 또는 임의의 다른 특정 세부 사항으로 제한되지 않는다. 일부 기능은 특정 구성 요소에 의해 구현되는 것으로 설명되었지만, 다른 실시예들에서, 기능은 서로 다른 위치에 있고 다양한 사용자 인터페이스들을 갖는 서로 다른 시스템들 및 구성 요소들 간에 분산될 수 있다. 특정 실시예들은 특정 프로세스들, 단계들, 이들의 조합 등을 갖는 것으로 설명되었지만, 이러한 용어는 특정 프로세스, 단계, 이들의 조합 등이 다중 프로세스들, 단계들, 이들의 조합들 등으로 구현될 수 있거나, 다중 프로세서들, 단계들, 이들의 조합들 증이 단일 프로세스, 단계, 이들의 조합들 등으로 통합될 수 있는 실시예들을 포함할 수도 있다. 구성 요소 또는 요소에 대한 참조는 구성 요소 또는 요소의 일부 만에 관련될 수 있다. 본 명세서 및 청구 범위에서 "제1" 및 "제2"와 같은 용어의 사용은 그들이 수정하는 것을 구별하기 위한 목적일 뿐이며 문맥에서 달리 명백하지 않는 한 어떤 공간적 또는 시간적 순서를 나타내지 않을 수 있다. 첫 번째 것에 대한 언급은 두 번째 것의 존재를 의미하지 않을 수 있습니다. 더욱이, 위에서 설명 된 다양한 세부 사항 및 실시예는 본 발명의 원리에 따라 추가적인 실시예를 생성하기 위해 결합될 수 있다.
본 특허 개시의 발명 원리는 본 발명의 개념을 벗어나지 않고 배열 및 세부 사항에서 수정될 수 있으므로, 이러한 변경 및 수정은 다음의 청구 범위에 속하는 것으로 간주된다.

Claims (20)

  1. 제1 스토리지 인터페이스를 통해 호스트와 제1 스토리지 디바이스 사이에 데이터를 전송하고;
    제2 스토리지 인터페이스를 통해 상기 호스트와 제2 스토리지 디바이스 사이에 데이터를 전송하고; 및
    피어-투-피어 채널을 통해 상기 제1 스토리지 디바이스와 상기 제2 스토리지 디바이스 사이에 데이터를 전송하는 것을 포함하는 방법.
  2. 제1 항에 있어서, 상기 피어-투-피어 채널의 토폴로지를 발견하는 것을 추가적으로 포함하는 방법.
  3. 제2 항에 있어서, 상기 토폴로지를 발견하는 것은 상기 호스트, 관리 제어기, 또는 상기 스토리지 디바이스들의 적어도 하나 중 하나 이상에 의해서 적어도 부분적으로 수행되는 방법.
  4. 제1 항에 있어서, QoS를 위하여 상기 제1 및 제2 스토리지 디바이스들을 구성하는 것을 추가적으로 포함하는 방법.
  5. 제4 항에 있어서, 상기 스토리지 디바이스들은 상기 호스트, 관리 제어기, 또는 상기 스토리지 디바이스들의 적어도 하나 중 하나 이상 의해서 QoS를 위하여 구성되는 방법.
  6. 제4 항에 있어서, 상기 QoS는 우선 순위, 리소스, 또는 성능 레벨의 하나 이상을 포함하는 방법.
  7. 제1 항에 있어서,
    제3 스토리지 인터페이스를 통해 상기 호스트와 제3 스토리지 디바이스 사이에 데이터를 전송하고; 및
    상기 제1, 제2, 및 제3 스토리지 디바이스들을 하나 이상의 피어-투-피어 그룹들로서 구성하는 것을 추가적으로 포함하는 방법.
  8. 제7 항에 있어서, 상기 피어-투-피어 그룹은 동적으로 생성되는 방법.
  9. 제7 항에 있어서, 상기 피어-투-피어 그룹은 일대일, 일대다, 다대다 통신의 하나 이상을 위하여 구성되는 방법.
  10. 제1 항에 있어서, 상기 스토리지 디바이스들의 적어도 하나는 상기 호스트로부터 신뢰성, 이용가능성, 또는 보안 기능의 적어도 하나를 자체적으로 수행하는 방법.
  11. 호스트 인터페이스;
    상기 호스트 인터페이스에 결합된 제1 스토리지 인터페이스를 가지는 제1 스토리지 디바이스;
    상기 호스트 인터페이스에 결합된 제2 스토리지 인터페이스를 가지는 제2 스토리지 디바이스; 및
    상기 제1 및 제2 스토리지 디바이스들 사이에 결합된 피어-투-피어 버스를 포함하는 스토리지 시스템.
  12. 제11 항에 있어서, 상기 제1 스토리지 인터페이스는 제1 스토리지 커넥터를 통해 상기 호스트 인터페이스에 결합되고,
    상기 제2 스토리지 인터페이스는 제2 스토리지 커넥터를 통해 상기 호스트 인터페이스에 결합되고,
    상기 피어-투-피어 버스는 상기 제1 스토리지 커넥터와 상기 제2 스토리지 커넥터 사이에 결합되는 스토리지 시스템.
  13. 제11 항에 있어서, 상기 피어-투-피어 버스는 스위치 패브릭을 포함하는 스토리지 시스템.
  14. 제11 항에 있어서, 상기 피어-투-피어 버스는 미드플레인, 마더보드, 또는 스위치보드의 하나의 적어도 부분적으로 위치하는 스토리지 시스템.
  15. 제11 항에 있어서, 상기 제1 스토리지 디바이스는 제1 피어-투-피어 커넥터를 통해 상기 피어-투-피어 버스에 결합되고,
    상기 제2 스토리지 디바이스는 제2 피어-투-피어 커넥터를 통해 상기 피어-투-피어 버스에 결합되는 스토리지 시스템.
  16. 스토리지 매체;
    상기 스토리지 매체에 결합된 스토리지 디바이스 제어기;
    상기 스토리지 디바이스 제어기에 결합된 스토리지 인터페이스; 및
    상기 스토리지 디바이스 제어기에 결합된 피어-투-피어 인터페이스를 포함하는 스토리지 디바이스.
  17. 제16 항에 있어서, 상기 피어-투-피어 인터페이스는 유선 인터페이스, 무선 인터페이스, 또는 광학 인터페이스 중 하나 이상을 포함하는 스토리지 디바이스.
  18. 제16 항에 있어서, 상기 스토리지 인터페이스는 듀얼-포트 인터페이스를 포함하는 스토리지 디바이스.
  19. 제16 항에 있어서, 상기 스토리지 인터페이스에 결합된 스토리지 커넥터를 추가적으로 포함하고,
    상기 스토리지 커넥터는 상기 피어-투-피어 인터페이스에 결합된 스토리지 디바이스.
  20. 제19 항에 있어서, 상기 피어-투-피어 인터페이스에 결합된 추가 커넥터를 추가적으로 포함하는 스토리지 디바이스.
KR1020200173037A 2020-03-04 2020-12-11 스토리지 디바이스들의 피어-투-피어 데이터 채널들을 위한 방법들 및 장치들 KR20210112231A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062985312P 2020-03-04 2020-03-04
US62/985,312 2020-03-04
US16/885,249 2020-05-27
US16/885,249 US11316917B2 (en) 2020-03-04 2020-05-27 Methods and apparatus for peer-to-peer data channels for storage devices

Publications (1)

Publication Number Publication Date
KR20210112231A true KR20210112231A (ko) 2021-09-14

Family

ID=74844790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200173037A KR20210112231A (ko) 2020-03-04 2020-12-11 스토리지 디바이스들의 피어-투-피어 데이터 채널들을 위한 방법들 및 장치들

Country Status (4)

Country Link
US (2) US11316917B2 (ko)
EP (1) EP3876089A1 (ko)
KR (1) KR20210112231A (ko)
CN (1) CN113364606A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023239509A1 (en) * 2022-06-07 2023-12-14 Western Digital Technologies, Inc. Data migration via data storage device peer channel
US20230418490A1 (en) * 2022-06-22 2023-12-28 Western Digital Technologies, Inc. Rate Levelling Among Peer Data Storage Devices

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408473A (en) 1992-03-03 1995-04-18 Digital Equipment Corporation Method and apparatus for transmission of communication signals over two parallel channels
US7133380B1 (en) 2000-01-11 2006-11-07 At&T Corp. System and method for selecting a transmission channel in a wireless communication system that includes an adaptive array
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
US7076169B2 (en) 2000-09-26 2006-07-11 Celight, Inc. System and method for orthogonal frequency division multiplexed optical communication
US6810491B1 (en) * 2000-10-12 2004-10-26 Hitachi America, Ltd. Method and apparatus for the takeover of primary volume in multiple volume mirroring
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US8402201B2 (en) * 2006-12-06 2013-03-19 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery in solid-state storage
WO2009032712A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
JP5086880B2 (ja) 2008-04-22 2012-11-28 シャープ株式会社 送信装置、受信装置及び無線通信システム
WO2009149388A1 (en) * 2008-06-06 2009-12-10 Pivot3 Method and system for distributing commands to targets
US8705741B2 (en) 2010-02-22 2014-04-22 Vello Systems, Inc. Subchannel security at the optical layer
KR101466592B1 (ko) * 2010-06-18 2014-12-01 엘에스아이 코포레이션 스케일러블 스토리지 디바이스들
US11614893B2 (en) * 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US9021563B2 (en) 2013-01-02 2015-04-28 Htc Corporation Accessory interface system
US9491240B2 (en) * 2014-06-27 2016-11-08 International Business Machines Corporation Maintenance of a fabric priority during synchronous copy operations
US9667338B2 (en) 2014-10-17 2017-05-30 The Boeing Company Multiband wireless data transmission between aircraft and ground systems
DE102014019271B4 (de) 2014-12-23 2019-11-07 Tesat-Spacecom Gmbh & Co.Kg Vorrichtung nebst zugehöriger Satellitenkommunikationsstrecke
US10313251B2 (en) * 2016-02-01 2019-06-04 Netapp, Inc. Methods and systems for managing quality of service in a networked storage environment
US10768819B2 (en) * 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US10545861B2 (en) * 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US10911292B1 (en) * 2017-03-30 2021-02-02 Amazon Technologies, Inc. Controlling peer-to-peer communication
US20190034306A1 (en) * 2017-07-31 2019-01-31 Intel Corporation Computer System, Computer System Host, First Storage Device, Second Storage Device, Controllers, Methods, Apparatuses and Computer Programs
US10908911B2 (en) * 2017-08-18 2021-02-02 International Business Machines Corporation Predicting and storing a predicted target address in a plurality of selected locations
US10430333B2 (en) * 2017-09-29 2019-10-01 Intel Corporation Storage system with interconnected solid state disks
DE102018125297A1 (de) * 2017-11-17 2019-05-23 Samsung Electronics Co., Ltd. Speichereinrichtung, die Peer-to-Peer-Kommunikation mit externer Einrichtung ohne Eingriff eines Host durchführt
US10802753B2 (en) * 2018-02-15 2020-10-13 Seagate Technology Llc Distributed compute array in a storage system
US11321249B2 (en) * 2018-03-26 2022-05-03 Samsung Electronics Co., Ltd. Mechanism to autonomously manage SSDS in an array
US10956058B2 (en) * 2018-08-03 2021-03-23 Western Digital Technologies, Inc. Tiered storage system with tier configuration by peer storage devices
US10747455B2 (en) * 2018-08-03 2020-08-18 Western Digital Technologies, Inc. Peer storage system with peer operation state indicator
US10901848B2 (en) * 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery

Also Published As

Publication number Publication date
US11316917B2 (en) 2022-04-26
EP3876089A1 (en) 2021-09-08
CN113364606A (zh) 2021-09-07
US20220255991A1 (en) 2022-08-11
US20210281639A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
KR102440152B1 (ko) 멀티 모드에서 동작하는 장치 및 그것을 포함하는 시스템
US10387353B2 (en) System architecture for supporting active pass-through board for multi-mode NMVE over fabrics devices
KR102457091B1 (ko) Nvme-of 이더넷 ssd에서 데이터 복제를 제공하기 위한 시스템 및 방법
CN108874307B (zh) 以太网固态驱动系统和提供存储卸载功能的方法
CN107832087B (zh) 自配置基板管理控制器(bmc)
US20220255991A1 (en) Methods and apparatus for peer-to-peer data channels for storage devices
KR20190074962A (ko) 스토리지 장치용 로컬 매니지먼트 콘솔
CN110941576B (zh) 具有多模pcie功能的存储控制器的系统、方法和设备
US8532086B1 (en) Method and system for multi level switch configuration
US7565474B2 (en) Computer system using serial connect bus, and method for interconnecting a plurality of CPU using serial connect bus
CN116501681B (zh) Cxl数据传输板卡及控制数据传输的方法
US11487691B2 (en) System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices
US11874922B2 (en) System and method for detecting malicious software in NVMe over fabrics devices
US20150143018A1 (en) Flexible server system
TW201721423A (zh) 使用串列連接scsi擴充器用於儲存區域網路管理之儲存介質、系統及方法
US11232006B2 (en) Server system
US11494096B2 (en) System and method for storage array enclosure discovery
EP3750059B1 (en) Server system
CN104933001A (zh) 一种基于RapidIO技术的双控制器数据通信方法
US8639967B2 (en) Controlling apparatus, method for controlling apparatus and information processing apparatus
CN112463670A (zh) 一种存储控制器访问方法及相关装置
WO2023141418A1 (en) Local instantiation of remote peripheral devices

Legal Events

Date Code Title Description
A201 Request for examination