KR102191237B1 - 네트워크 액세스 기능을 갖는 저장 장치 - Google Patents

네트워크 액세스 기능을 갖는 저장 장치 Download PDF

Info

Publication number
KR102191237B1
KR102191237B1 KR1020170046855A KR20170046855A KR102191237B1 KR 102191237 B1 KR102191237 B1 KR 102191237B1 KR 1020170046855 A KR1020170046855 A KR 1020170046855A KR 20170046855 A KR20170046855 A KR 20170046855A KR 102191237 B1 KR102191237 B1 KR 102191237B1
Authority
KR
South Korea
Prior art keywords
storage
protocol
network interface
network
storage device
Prior art date
Application number
KR1020170046855A
Other languages
English (en)
Other versions
KR20180018278A (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 KR20180018278A publication Critical patent/KR20180018278A/ko
Application granted granted Critical
Publication of KR102191237B1 publication Critical patent/KR102191237B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K5/00Casings, cabinets or drawers for electric apparatus
    • H05K5/0026Casings, cabinets or drawers for electric apparatus provided with connectors and printed circuit boards [PCB], e.g. automotive electronic control units
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1488Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures

Abstract

저장 장치는 섀시(chassis), 섀시에 배치되는 불휘발성 저장 매체(non-volatile storage media), 섀시와 통합되는 네트워크 인터페이스 커넥터(network interface connector), 및 네트워크 인터페이스 커넥터를 통해 불휘발성 저장 매체로 액세스하도록 구성되고, 섀시에 배치되는 제어 로직(control logic)을 포함하되, 네트워크 인터페이스 커넥터는 네트워크 스위치(network switch)로 직접적으로 삽입되도록 구성되는 섀시와 통합된다.

Description

네트워크 액세스 기능을 갖는 저장 장치{STORAGE DEVICE WITH NETWORK ACCESS}
본 발명은 저장 장치들에 관한 것으로, 좀 더 구체적으로는 패브릭 액세스(fabric access) 기능이 있는 저장 장치들에 관한 것이다.
패브릭(Fabrics)을 통한 NVM 익스프레스(Non-Volatile Meomory express, NVMe)는 NVMe 기반 사양을 기반으로 하는 표준이다. 데이터 센터에 스토리지 장비(storage equipment)는 패브릭을 통한 NVMe를 구현될 수 있다. 스토리지 장비는 PCI 익스프레스(PCI Express, PCIe)와 같은 확장 버스를 통해 저장 장치들과 연결되는 프로세서를 포함할 수 있다. 스토리지 어플라이언스(storage appliance)는 이더넷(Ethernet), 파이버 채널(fibre channel), 인피니밴드(InfiniBand) 등을 위한 인터페이스와 같은 패브릭 인터페이스를 포함할 수 있다. 이러한 스토리지 장비는 랙(rack)들에 장착될 수 있다.
본 발명은 상술된 기술적 과제를 해결하기 위한 것으로써, 본 발명은 네트워크 액세스 기능을 갖는 저장 장치를 제공할 수 있다.
본 발명의 실시 예에 따른 저장 장치는 섀시(chassis), 섀시에 배치되는 불휘발성 저장 매체(non-volatile storage media), 섀시와 통합되는 네트워크 인터페이스 커넥터(network interface connector), 및 네트워크 인터페이스 커넥터를 통해 불휘발성 저장 매체로 액세스하도록 구성되고, 섀시에 배치되는 제어 로직(control logic)을 포함하되, 네트워크 인터페이스 커넥터는 네트워크 스위치(network switch)로 직접적으로 삽입되도록 구성되는 섀시와 통합된다.
본 발명의 실시 예에 따른 저장 장치는 네트워크 인터페이스, 불휘발성 저장 매체(non-volatile storage media), 및 네트워크 인터페이스 및 불휘발성 저장 매체와 연결되는 제어 로직을 포함한다.몇몇 실시 예에서, 제어 로직은 네트워크 인터페이스를 통해 수신되는 저장 프로토콜에 따라 데이터를 종료하고, 액세스와 관련된 데이터를 다시 캡슐화(re-encapsulating)하지 않고 종료된 저장 프로토콜에 따라 불휘발성 저장 매체에 액세스한다.
본 발명의 실시 예에 따른 저장 장치의 동작 방법은 저장 장치의 네트워크 인터페이스를 통해 데이터를 수신하는 단계, 저장 장치에서의 저장 프로토콜에 따라 네트워크 인터페이스를 통해 수신되는 데이터 내의 데이터를 종료하는 단계, 및 종료된 프로토콜에 따라 저장 장치의 불휘발성 저장 매체에 액세스하는 단계를 포함한다.
본 발명은 네트워크 액세스 기능을 갖는 저장 장치를 제공할 수 있다. 본 발명의 실시 예에 따르면, 스토리지 확장 비용이 감소된 저장 장치를 제공할 할 수 있다.
도 1은 본 발명의 실시 예에 따른 저장 장치를 보여주기 위한 개략도이다.
도 2는 본 발명의 실시 예에 따른 SFP+ 저장 장치를 보여주기 위한 개략도이다.
도 3은 본 발명의 실시 예에 따른 저장 장치를 보여주기 위한 개략도이다.
도 4는 본 발명의 실시 예에 따른 저장 장치들을 보여주기 위한 개략도이다.
도 5a는 본 발명의 실시 예에 따른 네트워크 스위치로 삽입되는 저장 장치를 포함하는 랙을 보여주기 위한 개략도이다.
도 5b는 본 발명의 다른 실시 예에 따른 네트워크 스위치로 삽입되는 저장 장치를 포함하는 랙을 보여주기 위한 개략도이다.
도 6a는 본 발명의 실시 예에 따른 저장 장치의 블록도이다.
도 6b는 본 발명의 다른 실시 예에 따른 저장 장치의 블록도이다.
도 7a는 본 발명의 실시 예에 따른 저장 장치와의 통신에 관련된 다양한 계층들을 보여주는 블록도이다.
도 7b는 본 발명의 다른 실시 예에 따른 저장 장치와의 통신에 관련된 다양한 계층을 보여주는 블록도이다.
도 8은 본 발명의 실시 예에 따른 데이터 센터를 보여주기 위한 개략도이다.
실시 예들은 페브릭 액세스를 갖는 저장 장치들에 관한 것이다. 이하의 설명은 당업자가 실시 예를 제작하고 사용할 수 있게 하기 위해 제공되며 특허 출원 및 그 요구 사항의 맥락에서 제공된다. 실시 예들에 대한 다양한 수정들, 여기에 기재된 일반적인 원리들 및 특징들은 쉽게 명백해질 것이다.
하지만, 방법들, 장치들 및 시스템들은 다른 구현들에서 효과적으로 동작할 것이다. "일 실시 예", "하나의 실시 예" 및 "다른 실시 예"와 같은 표현은 다양한 실시 예들뿐만 아니라 동일한 또는 상이한 실시 예들을 나타낼 수 있다. 하지만, 시스템들 및/또는 장치들은 도시된 것보다 많거나 적은 구성 요소들을 포함할 수 있으며, 구성의 배열 및 유형의 변형은 본 발명의 범위를 벗어나지 않고 이루어질 수 있다. 실시 예들은 소정의 동작들을 갖는 특정 방법들과 관련하여 설명될 것이다. 하지만, 방법 및 시스템은 상이한 및/또는 추가적인 도작들 및 실시 예들과 모순되지 않는 다른 순서 및/또는 병렬 동작을 갖는 다른 방법에 따라 동작할 수 있다. 이와 같이, 실시 예들은 실시 예들은 도시된 특정 실시 예들에 한정되는 것으로 의도되지 않고, 본 명세서에 설명 된 원리들 및 특징들과 일치하는 가장 넓은 범위에 따른다.
실시 예들은 특정 구성 요소들을 갖는 특정 시스템들 또는 장치들과 관련하여 설명된다. 당업자는 실시 예들이 다른 및/또는 추가 구성 요소들 및/또는 다른 특징들을 갖는 시스템들 또는 장치들과 일치함을 쉽게 인식할 것이다. 방법들, 장치, 및 시스템들은 또한 단일 요소의 맥락에서 기술 될 수 있다. 하지만, 당업자는 다양한 요소들을 갖는 구조들의 사용함을 쉽게 인식할 것이다.
일반적으로, 본 명세서에서 사용 된 용어, 특히 첨부된 청구항들(예로서, 첨부된 청구항들의 전체)은 일반적으로 "공개 된 (open)" 용어로 의도된다는 것을 당업자는 이해할 것이다(용어 "포함하는(including)"은 "포함하지만 이에 국한되지는 않고"로 해석되고, 용어 "갖는(having)"은 "최소한을 갖는(having at least)"로 해석되고, 용어 "포함하다(includes)"는 "포함하지만 이에 국한되지는 않는"으로 해석된다). 특정 수의 도입된 청구항의 기재가 의도되는 경우, 그러한 의도는 청구항에서 명시적으로 언급될 것이고, 그러한 기재가 없는 한 그러한 의도는 존재하지 않는다는 것이 당업자에 의해 더욱 이해될 것이다. 예를 들어, 이해를 돕기 위해, 다음의 첨부된 청구 범위는 청구항 기재를 도입하기 위해 "적어도 하나" 및 "하나 이상"의 도입 어구를 사용할 수 있다. 하지만, 이러한 문구들의 사용은 "하나"와 같은 단수 표현에 의한 청구항 설명의 도입, 심지어 동일한 청구항이 "하나 이상의" 또는 "적어도 하나의"와 같은 도입 문구를 포함하더라도 그러한 단 하나만의 설명을 포함하는 예로서 제한한다는 것을 의미하는 것으로 해석되어서는 안 된다(예로서, "하나" 는 "적어도 하나" 또는 "하나 이상"과 동일한 의미로 해석된다.). 청구항 서렴을 도입하기 위해 사용되는 정관사를 사용하는 것도 마찬가지 이다. 더 나아가, " A, B, 또는 C 중 적어도 하나"와 유사한 통상적인 표현이 사용되는 경우, 일반적으로 그러한 구성은 당업자가 관례를 이해하는 의미에서 의도된다(예로서, "A, B, 또는 C 중 적어도 하나를 갖는 시스템"은 A 혼자, B 혼자, C 혼자, A 및 B 함께, A 및 C 함께, B 및 C 함께, 및/또는 A, B, C 함께 갖는 시스템을 포함하지만 이에 한정되지는 않는다.). 상세한 설명, 청구 범위, 또는 도면에서 두 개 이상의 대안적인 용어들을 나타내는 사실상 임의의 이원적인 단어인 "및/또는" 문구는 용어들 중 하나, 용어들 중 어는 것이나 하나 또는 용어들 모두를 포함할 가능성을 고려하도록 이해되어야 한다는 것이 당업자들에 의해 이해될 것이다. 예로서, "A 또는 B" 문장은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
몇몇 실시 예들에서, 저장 장치는, 저장 장치가 네트워크 스위치로 직접적으로 삽입되는 것을 허용하는 네트워크 인터페이스 커넥터(network interface connector) 및/또는 섀시(chassis)를 갖도록 구성되어 있다. 아래에서 더 상세하게 기술되는 바와 같이, 저장 장치는 네트워크 스위치의 포트와 일치하는 폼 팩터(form factor)를 포함할 수 있다. 특히, 랙 장착된 네트워크 스위치에 대해, 저장 장치는 랙에서의 추가적인 선반 공간(shelf space)의 사용 없이 네트워크 스위치의 포트로 삽입될 수 있다. 결과적으로, 랙 장착된 네트워크 스위치의 사용하지 않는 포트들, 특히, 추가적인 선반 공간 없이 랙에 장착된 네트워크 스위치는 사용 가능한 리소스들을 증가시키기 위해 저장 장치들로 채워질 수 있다.
도 1은 본 발명의 실시 예에 따른 저장 장치를 보여주기 위한 개략도이다. 이 실시 예에서, 저장 장치(100)는 섀시(chassis)(101), 네트워크 인터페이스 커넥터(network interface connector)(102), 제어 로직(control logic)(104), 및 불휘발성 저장 매체(non-volatile storage media)(106)를 포함한다.
네트워크 인터페이스 커넥터(102)는 섀시(101)와 통합되고, 네트워크 스위치에 직접 삽입되도록 구성된다. 몇몇 실시 예들에서, 네트워크 인터페이스 커텍터(102)는 이더넷(Ethernet), 파이버 채널(fibre channel), 인피니밴드(InfiniBand), 또는 다른 유사한 네트워크 또는 페브릭에 알맞은 유선 커넥터이다.
섀시(101)는 저장 장치(100)의 다양한 구성 요소들을 지지하는 프레임(frame)이다. 몇몇 실시 예들에서, 네트워크 인터페이스 커넥터(102)는 섀시(101)의 적어도 일부분이 저장 장치(100)를 네트워크 스위치와 결합시키는 것과 연관되도록 섀시(101)와 통합된다. 다른 실시 예들에서, 저장 장치(100)가 삽입될 때 섀시(101)가 네트워크 스위치로부터 분리된 상태로 유지되면서도 네트워크 인터페이스 커넥터(102)는 네트워크 스위치와 기계적으로 인터페이스하는 것과 관련된 구조들을 포함할 수 있다.
제어 로직(104)은 저장 장치(100)의 동작을 제어하는 회로이다. 몇몇 실시 예들에서, 제어 로직(104)은 범용 프로세서(general propose processor), 디지털 신호 프로세서(digital signal processor, DSP), 응용 주문형 집적 회로(application specific integrated circuit), 마이크로컨트롤러(microcontroller), 프로그램 가능 논리 소자(programmable logic device), 개별 회로(discrete circuit), 또는 이러한 장치들의 조합 등을 포함한다. 제어 로직(104)은 레지스터(register)들, 캐시 메모리(cache memory), 프로세싱 코어(processing core)들 등과 같은 내부 부분들을 포함할 수 있고, 또한 어드레스(address) 및 데이터 버스 인터페이스(data bus interface)들, 인터럽트 인터페이스(interrupt interface)들 등과 같은 내부 및 외부 인터페이스들을 포함할 수 있다. 오직 하나의 제어 로직(104)이 저장 장치(100)에 도시되어 있지만, 복수의 제어 로직(104)은 독립적으로 또는 서로 협력하여 저장 장치(100)의 다양한 기능들을 구현하기 위해 존재할 수 있고 동작 할 수 있다. 추가로, 로직 칩셋(logic chipset)들, 허브(hub)들, 메모리 컨트롤러(memory controller)들, 통신 인터페이스들 등과 같은 다른 인터페이스 장치들은 내부 및 외부 구성 요소들과 제어 로직(104)을 연결하기 위한 저장 장치(100)의 일부분일 수 있다.
불휘발성 저장 매체(106)는 섀시(101)에 배치된다. 몇몇 실시 예들에서, 불휘발성 저장 매체(106)는 전기적으로 소거 가능 프로그램 가능한 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 플래시 메모리(flash memory), 상 변화 랜덤 액세스 메모리(phase change random access memory, PRAM), 저항 랜덤 액세스 메모리(resistance random access memory, RRAM), 자기 랜덤 액세스 메모리(magnetic random access memory, MRAM), 강유전체 랜덤 액세스 메모리(Ferroelectric Random Access Memory, FRAM) 나노플로팅 게이트 메모리(nanofloating gate memory, NFGM), 폴리머 랜덤 액세스 메모리(polymer random access memory, PoRAM), 또는 이러한 메모리들 또는 유사한 메모리들의 조합과 같은 적어도 하나의 불휘발성 메모리를 포함한다.
몇몇 실시 예들로서, 제어 로직(104) 및 불휘발성 저장 매체(106)는 집적 회로들로 구현되고, 이들 및 다른 구성 요소들은 인쇄 회로 기판(printed circuit board, PCB)에 장착될 수 있다. PCB는 섀시(101)에 장착될 수 있다. 상술한 바와 같이, 네트워크 인터페이스 커넥터(102)는 섀시(101)에 집적된다. 몇몇 실시 예들로서, 섀시(101)가 기계적 인터페이스를 형성하는 반면에, PCB는 네트워크 인터페이스 커넥터(102)의 전기적 인터페이스이다. 예로서, PCB의 하나 이상의 측면들은 PCB의 가장자리로 연장되는 경로들(traces)을 포함할 수 있다. 이러한 경로들은 저장 장치(100)에 대한 전기적 인터페이스를 형성할 수 있다. 섀시(101)는, 경로들을 포함하는 PCB의 가장자리 부분이 소켓(socket) 내의 커넥터에 삽입되도록 저장 장치(100)가 대응하는 소켓으로 삽입될 때 네트워크 인터페이스 커넥터(102)를 기계적으로 정렬하도록 구성될 수 있다.
제어 로직(104)은 네트워크 인터페이스 커넥터(102)를 통해 불휘발성 저장 매체(106)로 액세스할 수 있도록 구성된다. 몇몇 실시 예들로서, 제어 로직(104)이 수행하도록 구성된 동작들은 네트워크 및 저장 관련 동작들로 제한된다. 특히, 네트워크 및 저장 관련 동작들은 불휘발성 저장 매체(106)를 액세스하는 것과 관련된 동작들이다. 예로서, 네트워크 관련 동작들은 물리적 네트워크 인터페이스를 관리하는 것 및 네트워크로부터 수신된 그리고 네트워크로 전송되는 패킷(packet)들을 처리하기 위해 네트워크 스택(stack)을 동작시키는 것을 포함할 수 있다. 저장 관련 동작들은 네트워크 프로토콜 내에 캡슐화된(encapsulated) 저장 프로토콜에 따른 커맨드들/데이터를 전송/수신하는 것을 포함할 수 있다. 추가로, 스토리지 관련 동작들은 데이터 읽기 및 쓰기, 불휘발성 저장 매체(106)를 관리하는 것과 같은 저장 장치(100) 내에 불휘발성 저장 매체(106)를 액세스 및/또는 관리하는 것을 포함할 수 있다.
몇몇 실시 예들로서, 제어 로직(104)은 하나 이상의 저장 프로토콜들 및 하나 이상의 네트워크 프로토콜들을 종료하도록 구성된다. 프로토콜을 종료하는 것은 해당 프로토콜의 엔드포인트(endpoint) 구현을 포함한다. 프로토콜을 준수하는 데이터는 다른 장치 또는 시스템으로 전달되지 않는다. 프로토콜을 준수하는 데이터 내에 캡슐화된 데이터는 전달되거나 다른 방법으로 사용될 수 있지만, 프로토콜을 준수하는 데이터는 그렇지 않다. 예로서, 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP) 패킷은 UDP 패킷의 페이로드(payload) 내에 캡슐화된 불휘발성 메모리 익스프레스(nonvolatile memory express, NVMe)를 준수하는 데이터를 가질 수 있다. 아래에서 설명되는 바와 같이, 스토리지 어플라이언스(storage appliance)에서, 범용 프로세서에서 구현되는 네트워크 스택은 UDP 패킷을 종료할 수 있지만, 확장 버스를 통해 캡슐화된 NVMe 데이터를 저장 장치(100)로 전달할 수 있다. 이와 같이, NVMe를 준수하는 데이터는 저장 장치(100)로 전달되지만, UDP를 준수하는 데이터는 범용 프로세서에 의해 종료될 수 있다. 그에 반해서, 몇몇 실시 예들에서, 제어 로직(104)은 UDP 및 NVMe 모두 종료할 수 있다. 즉, UDP 패킷은 스토리지 어플라이언스와 유사하게 종료될 것이고, NVMe 데이터는 다른 장치 또는 시스템으로 전달되지 않을 것이다. NVMe 데이터는 불휘발성 저장 매체(106)로 액세스하기 위해 사용될 것이다. 이와 같이, 제어 로직(104)을 포함하는 저장 장치(100)는 UDP 및 NVMe 패킷들/데이터에 대한 엔드포인트일 수 있다.
몇몇 실시 예들에서, 제어 로직(104)은 저장 프로토콜 및 네트워크 프로토콜들을 종료하도록 구성되는 경량의 응용 주문형 집적 회로(ASIC)이다. 저장 프로토콜에 따른 커맨드들/데이터가 네트워크 데이터로부터 추출되는 경우, 제어 로직(104)은 불휘발성 저장 매체(106)로 액세스하도록 구성된다. 결론적으로, 저장 장치(100)는 네트워크 카드(network card)들, 및 일반적인 저장 장치들 등에 대한 확장 버스 인터페이스들이 있는 마더보드(motherboard)와 연결되는 범용 프로세서를 포함할 필요가 없다. 반대로, 제어 로직(104)은 단순히 저장 프로토콜 및 네트워크 프로토콜들을 종료하고 매개물 없이 불휘발성 저장 매체(106)와 직접적으로 액세스한다. 몇몇 실시 예들로서, 제어 로직(104)은 범용 프로세서를 포함하지 않고, 오직 저장 프로토콜 및 네트워크 프로토콜들을 종료하도록 구성되는 ASIC만을 포함한다.
몇몇 실시 예들로서, 커넥터는 제어 로직(104) 및 불휘발성 저장 매체(106) 사이에 배치되지 않는다. 일 예로서, 제어 로직(104)은 PCB에 장착된다. 불휘발성 저장 매치(106)를 구성하는 집적 회로들 또한 PCB에 장착된다. 제어 로직(104) 및 불휘발성 저장 매체(106)는 커넥터의 사용 없이 통신한다. 다른 예들로서, 제어 로직(104) 및 불휘발성 저장 매체(106)는 소형 컴퓨터 시스템 인터페이스(small computer system interface, SCSI), PCIe(peripheral component interconnect express), 모바일 PCIe(M-PCIe), ATA(advanced technology attachement), 병렬 ATA(parallel ATA, PATA), 직렬 ATA(serial ATA, SATA), 직렬 부착 SCSI(serial attached SCSI, SAS), 통합 구동 전자공학(integrated drive electronics, IDE), 범용 플래시 저장(universal flash storage, UFS), 파이어와이어(Firewire) 및/또는 등과 같은 확장 버스를 사용하지 않고 통신한다.
도 2는 본 발명의 실시 예에 따른 SFP+ 저장 장치를 보여주기 위한 개략도이다. 이 실시 예에서, 저장 장치(200)는 네트워크 인터페이스 커넥터(202)와 집적되는 섀시(201)를 포함한다. 섀시(201) 및 네트워크 인터페이스 커넥터(202)는 함께 향상된 SFP+(small form-factor pluggable) 폼 팩터(form factor) 및 전기적 인터페이스를 준수한다. 결과적으로, 저장 장치(200)는 네트워크 스위치의 SFP+ 포트로 직접적으로 삽입될 수 있다.
여기서, 케이블(cable)(204)은 저장 장치(200)와 연결되어 있는 것으로 도시된다. 하지만. 어떤 실시 예들에서는 어떠한 케이블 (204)도 존재하지 않음을 나타내기 위해 케이블 (204)은 점선으로 도시된다. 특히, 몇몇 실시 예들에서, 네트워크 인터페이스 커넥터(202)가 저장 장치(200)에 대한 유일한 전기적 인터페이스 이다. 그러나, 다른 예들에서, 저장 장치(200)는 외부 전력을 위한 인터페이스들과 같은 하나 이상의 다른 인터페이스들, 확장 버스에 대한 인터페이스와 같은 다른 통신 매체를 위한 인터페이스들 또는 등을 포함한다. 여전히 다른 예들에서, 이러한 하나 이상의 다른 인터페이스들은 저장 장치(200)에 존재할 수 있지만, 인터페이스들은 섀시(201)에 의해 가려질 수 있다.
SFP+ 폼 팩터와 저장 장치(200)는 하나의 예로서 사용될 수 있지만, 다른 예들에서, 저장 장치(200)는 다른 폼 팩터들을 가질 수 있다. 예로서, 네트워크 인터페이스 커넥터(202)는, SFP, QSFP(quad small form-factor pluggable), 또는 모듈러 커넥터 폼 팩터(modular connector form factor), 이러한 폼 팩터들 또는 유사한 폼 팩터들의 변형들, 또는 네트워크 스위치 포트로 삽입될 수 있고 그리고 네트워크 통신들을 통해서 전송될 수 있는 다른 폼 팩터들을 갖는 섀시에 집적될 수 있다.
도 3은 본 발명의 실시 예에 따른 저장 장치를 보여주기 위한 개략도이다. 이 실시 예에서, 저장 장치(300)는 도 1의 저장 장치(100)와 유사하다. 그러나, 저장 장치(300)는 섀시에 구비되고, 네트워크 인터페이스 커넥터(102)를 통해 전력을 수신하도록 구성되는 전력 분배 회로(power distribution circuit)(308)를 포함한다. 예로서, 몇몇 실시 예들로서, 네트워크 인터페이스 커넥터(102)의 핀(pin)들은 전력 분배 회로(308)와 연결될 수 있다. 이러한 핀들은 특정 네트워크 인터페이스 커넥터(102)와 관련된 사양에서의 전력 및/또는 접지 핀들로 정의될 수 있다. 예로서, 하나 이상의 핀들은 +3.3V를 수신하도록 구성될 수 있고, 다른 핀들은 접지를 수신하도록 구성될 수 있다. 전력 분배 회로(308)는 저장 장치(300)의 다양한 구성 요소들로 적절한 전력을 생성 및/또는 공급하기 위한 트레이스(trace, 경로)들, 전력 레귤레이터(power regulator)들, 전력 컨버터(power converter)들, 또는 필터들 등을 포함한다.
몇몇 실시 예들로서, 네트워크 인터페이스 커넥터(102)는 저장 장치(300)에 대한 유일한 전기적 인터페이스일 수 있다. 특히, 모든 통신들 및 전력은 네트워크 인터페이스 커넥터(102)를 통해서 전송 및 수신된다. 저장 장치(300)는 다른 전기적 인터페이스를 포함하지 않을 수 있다.
몇몇 실시 예들에서, 전력은 네트워크 인터페이스 커넥터(102)의 전용 핀들을 통해 공급될 수 있지만, 다른 예들에서, 전력은 다른 방법들로 획득될 수 있다. 예로서, 몇몇 실시 예들에서, 네트워크 인터페이스 커넥터(102)는 이더넷 전원(power over Ethernet) 시스템과 호환될 수 있다. 전력 분배 회로(308)는 제어 로직(104)으로부터/로 전송되는 차동 데이터 신호들로부터 공통 모드 전원을 분리하기 위한 회로를 포함할 수 있다. 이더넷 전원이 저장 장치(300)로 전력을 공급하기 위한 기술의 예로서 사용되었지만, 다른 예들에서, 다른 기술들이 사용된다.
몇몇 실시 예들에서, 저장 장치(300)는 전기적 전력을 수신하도록 구성되는 섀시에 구비된 외부 전력 커넥터(310)를 포함할 수 있다. 외부 전력 커넥터(310)는 네트워크 인터페이스 커넥터(102)로부터 분리되고 저장 장치(300)가 네트워크 스위치로 삽입되는 동안 액세스될 수 있다. 몇몇 실시 예들로서, 저장 장치(300)의 전체 전력 공급은 외부 전력 커넥터(310)로부터 제공된다. 전력 분배 회로(308)는 오직 외부 전력 커넥터(310)로부터 수신된 전력을 기반으로 전력을 생성 및/또는 제공하도록 구성될 수 있다. 하지만, 다른 예들에서, 전력 분배 회로(308)는 외부 전력 커넥터(310)를 통해 공급된 전력으로 네트워크 인터페이스 커넥터(102)를 통해 공급된 전력을 보충한다. 예로서, 이더넷 전원을 통해 공급된 최대 전력은 특정 성능 레벨에서 저장 장치(300)의 일부 또는 전체 기능들로 전력을 공급하기에 불충분할 수 있다. 따라서, 나머지(remainder)는 외부 전력 커넥터(310)를 통해 획득될 수 있다.
도 4는 네트워크 스위치로 삽입되는 몇몇 실시 예에 따른 저장 장치들을 보여주기 위한 개략도이다. 이 실시 예에서, 시스템(400)은 복수의 포트(402, 408, 및 410)를 포함하는 네트워크 스위치(401)를 포함한다. 케이블 어셈블리(cable assembly)들(406)의 커넥터들(404)은 포트들(402)에 삽입된다. 케이블 어셈블리들(406)은 네트워크 스위치(401)가 장착된 랙(rack) 내의 다른 구성 요소들에 대한 연결들을 형성할 수 있다. 네트워크 스위치(401)는 또한 사용하지 않는 포트(408)를 포함할 수 있다.
저장 장치(412)는 네트워크 스위치(401)의 포트들(410)에 삽입된다. 결과적으로, 저장 장치(412)는 네트워크 스위치(401)를 통해 통신할 수 있는 (서버들과 같은)외부 구성 요소들에 의해 액세스할 수 있다.
아래에서 더 상세히 설명되는 바와 같이, 몇몇 실시 예들에서, 네트워크 스위치(401)는 랙에 설치될 수 있다. 몇몇 실시 예들에서, 이러한 네트워크 스위치(401)는 QSFP+ 또는 SFP+ 폼 팩터에 포트들을 포함한다. 상술한 바와 같이, 저장 장치(412)는 QSFP+ 또는 SFP+ 폼 팩터를 가질 수 있다. 따라서, 이러한 저장 장치(412)는 네트워크 스위치(401)의 포트(410)에 직접적으로 삽입될 수 있다. 몇몇 사용되지 않는 포트(408)가 예로서 도시되었지만, 다른 실시 예들에서, 저장 장치들(412)은 모든 사용하지 않는 포트들(408)에 삽입된다.
다른 실시 예들로서, 네트워크 스위치(401)는 독립형 장치(standalone device)이다. 예로서, 네트워크 스위치(401)는 8P8C 모듈러 잭들(modular jacks)을 갖는 소비자 네트워크 스위치(consumer network switch)(401)일 수 있다. 저장 장치(412)는 8P8C 모듈러 플러그(modular plug)를 갖는 소비자 저장 장치(consumer storage device)(412)일 수 있다. 따라서, 저장 장치(412)는 소비자 네트워크에 부착될 수 있고, 저장 장치로서 액세스 가능할 수 있다.
도 5a는 본 발명의 실시 예에 따른 네트워크 스위치로 삽입되는 저장 장치를 포함하는 랙을 보여주기 위한 개략도이다. 이 실시 예에서, 랙(500)은 다양한 랙 장착형 장비(rack-mounted equipment)(502)를 포함하지만, 선반(shelf)(502')으로 나타내어진 바와 같이 모든 공간들이 랙 장착형 장비(502)로 채워지지는 않는다. 탑 오브 랙 네트워크 스위치(top-of-rack network switch)(504)는 랙(500)에 장착된다.
탑 오브 랙 네트워크 스위치(504)는 랙 장착형 장비(502)와 연결되는 몇몇 포트들(506)을 포함한다. 추가로, 탑 오브 랙 네트워크 스위치(504)는 사용하지 않는 포트들(506')을 포함한다. 실시 예에 따른 저장 장치(100)는 사용하지 않는 포트들(506') 중 하나에 삽입될 수 있다. 저장 장치(100)는 선반(502')과 같은 사용 가능한 선반의 랙에 장착될 필요는 없다. 즉, 추가적인 랙 공간이 필요하지 않거나, 기존의 랙 공간은 저장 장치(100)로 시스템의 저장 용량을 확장하기 위해 사용될 필요가 없다. 더 나아가, 다른 저장 섀시 및 추가적인 다운링크 스위치(downlink switch)는 필요하지 않다. 결과적으로, 스토리지 확장 비용은 감소한다.
특정 개수의 랙 장착형 장비(502), 포트(506), 저장 장치(100), 랙(500)에서의 사용 가능한 공간 등이 일 예로서 사용되었지만, 다른 실시 예들에서, 상이한 개수의 이러한 구성 요소들 또는 구조들이 존재할 수 있다. 추가로, 탑 오브 랙 네트워크 스위치(504)는 저장 장치(100)가 삽입된 네트워크 스위치의 일 예로서 사용되었지만, 저장 장치(100)는 랙 내의 상이한 네트워크 스위치들로 삽입될 수 있다.
도 5b는 본 발명의 실시 예에 따른 네트워크 스위치로 삽입되는 저장 장치를 포함하는 랙을 보여주기 위한 개략도이다. 몇몇 실시 예들로서, 랙(500')은 완전히 채워진 랙이다. 예로서, 랙 장착형 장비(502)의 양은 랙(500')의 크기에 대해 최대이다. 네트워크 스위치(504)의 몇몇 포트들(506)은 점유 중이지만, 랙 장착형 장비(502)에 대한 접속들에 의해 요구되는 연결들의 수 및 네트워크 스위치(504)에서 이용 가능한 포트들의 개수 사이의 불일치 때문에, 네트워크 스위치(504)의 일부 포트들은 사용되지 않는다. 이 실시 예에서, 사용되지 않는 이러한 포트들은 저장 장치들(100)과 연결될 수 있다. 이러한 저장 장치들(100)은 네트워크 스위치(504)에 직접적으로 삽입됨으로써, 완전히 채워진 랙에서도 추가적인 랙 공간이 필요하지 않다. 따라서, 기존의 랙(500')을 재구성하거나 새로운 랙을 공급할 필요 없이, 네트워크 관리자는 저장 장치들(100)을 네트워크 스위치(504)의 사용하지 않는 포트들로 삽입함으로써 사용 가능한 스토리지를 증가시킬 수 있다.
특정 예로서, 데이터 센터는 랙 유닛(rack unit, RU)의 높이를 갖는 랙들을 가질 수 있다. 데이터 센터 관리자는 장비가 있는 랙을 채운다. 하지만, 네트워크 스위치(504)에서의 포트들의 개수는 48인 반면에 일반적인 랙 높이는 44 RU이다. 결과적으로, 추가 포트들의 사용하지 않는 리소스는 낭비될 수 있다. 하지만, 저장 장치(100)는 저장 장치(100)가 네트워크 스위치(504)의 사용하지 않는 포트로 삽입되는 것을 허용하는 폼팩터를 가짐으로써, 사용하지 않는 리소스는 추가 스토리지를 연결하기 위해 사용되므로 더 이상 낭비되지 않는다. 사실, 랙의 44RU 공간이 모두 이미 사용된 경우에도, 추가 스토리지는 추가될 수 있다. 이는 사용되지 않고 낭비되는 리소스를 새로운 리소스로 변환하고 데이터 센터 관리자에 대한 새로운 옵션들을 허용한다.
몇몇 실시 예들로서, 저장 장치(100)는 글로벌하게(globally) 주소를 지정한다. 즉, 저장 장치(100)는 네트워크 스위치(504)를 통해 통신할 수 있는 임의의 시스템에 의해 액세스될 수 있다. 저장 장치(100)는 액세스되기 위해서 서버와 같은 매개체와 연결될 필요가 없다.
저장 장치(100)가 일 예로서 사용되었지만, 여기서 설명된 임의의 저장 장치가 사용될 수 있다. 예로서, 몇몇 실시 예들로서, 저장 장치(300)는 네트워크 스위치(504)에 삽입된다.
도 6a는 본 발명의 실시 예에 따른 저장 장치의 블록도이다. 몇몇 실시 예들에서, 저장 장치(600)는 도 1의 저장 장치(100)와 유사하다. 하지만, 이 실시 예에서, 저장 장치(600)는 무선 네트워크 인터페이스(610)를 포함한다. 무선 네트워크 인터페이스(610)는 와이파이(WiFi), 블루투스(Bluetooth), 또는 다른 무선 네트워크들에 대한 인터페이스들을 포함할 수 있다. 제어 로직(604)은 무선 네트워크 인터페이스(610)를 통해 불휘발성 저장 매체(606)로 액세스할 수 있도록 또한 구성된다.
도 6b는 본 발명의 다른 실시 예에 따른 저장 장치의 블록도이다. 이 실시 예에서, 저장 장치(600')는 도 6a의 저장 장치(600)와 유사한 제어 로직(604) 및 불휘발성 저장 매체(606)를 포함한다. 하지만, 저장 장치(600')는 이더넷 인터페이스(602') 및 와이파이(WiFi) 인터페이스(610')를 포함한다.
도 7a는 본 발명의 실시 예에 따른 저장 장치와 통신에 관련된 다양한 계층들을 보여주는 블록도이다. 예로써 도 7a를 참조하고, 일 예로서 도 1을 이용하면, 이니시에이터(initiator)(700)의 하드웨어/소프트웨어 스택들 및 두 개의 타깃들(716, 및 718)이 도시되어 있다. 몇몇 실시 예들로서, 이니시에이터(700)는 네트워크(708)를 통해 스토리지로 액세스하고자 하는 서버 또는 다른 시스템이다. 어플리케이션(702)은 액세스 요청을 생성한다. 액세스 요청은 저장 계층(storage layer)(704)에 의해 처리된다. 물리적 계층(physical layer)들로 전송(706)은 저장 계층(704) 및 물리적 네트워크(708) 사이의 다양한 계층들을 나타낸다.
타깃(718)을 첫 번째 예로서 사용하여, 타깃(718)은 하나 이상의 프로세서들, 네트워크 인터페이스들, 및 저장 장치들(714)을 포함하는 스토리지 어플라이언스(appliance)를 나타낸다. 저장 장치들(714)은 상술된 것들과 같은 확장 버스(710)를 통해 프로세서 및/또는 네트워크 인터페이스와 연결될 수 있다. 특히, 확장 버스(710)는 일반적으로 프로세서 및 복수의 주변 구성 요소들 및/또는 어댑터(adapter)들 사이에서 인터페이스를 형성한다. 예로서, 확장 버스(710)는 프로세서와 저장 장치(714)를 연결할 수 있다. 추가로, 확장 버스(710)는 프로세서가 네트워크(708)에 액세스할 수 있도록 프로세서를 네트워크 카드로 연결할 수 있다. 하지만, 확장 버스(710)가 네트워크 카드와 통신하기 위한 프로세서에 의해 사용될 수 있지만, 네트워크(708)는 프로세서가 프로세서와 직접적으로 연결되는 구성 요소들과 통신하기 위해 사용되는 인터페이스가 아니다.
액세스가 타깃(718)에 의해 수신될 때, 액세스는 물리적 계층들로 전송(706-1)을 가로지를 수 있다. 물리적 계층들로 전송(706-1)은 스토리지 계층과 관련된 데이터로 액세스하기 위해 사용되는 다양한 계층들을 나타낸다. 여기서, 스토리지 계층(704)은 관련 저장 프로토콜이 여기서 종료되지 않음을 나타내기 위해 파선으로써 도시된다. 반대로, 스토리지 계층(704) 데이터는 데이터를 확정 버스(710)를 거쳐 저장 장치(714)로 전송하기 위해 물리적 계층들로 전송(706-2)을 통해 전송된다.
저장 장치(714)에서, 물리적 계층들로 전송(706-3)은 저장 계층(704) 데이터를 캡슐화하는(encapsulating) 다양한 계층들을 나타낸다. 여기서, 관련 저장 프로토콜은 종료되고, 저장 장치(714)의 저장 매체(712)는 따라서 액세스된다.
반대로, 타깃(716)은 저장 장치 자체이다. 물리적 계층들로 전송(706-4)은 몰리적 계층들로 전송(706-1)과 유사하게 네트워크를 거쳐 수신된 저장 계층(704) 데이터를 캡슐화하는 다양한 계층들을 나타낸다. 하지만, 이때, 관련 저장 프로토콜은 저장 장치의 저장 계층(704)에서 종료된다. 저장 매체(712)는 저장 계층(704) 데이터를 다시 캡슐화하는 것 없이 액세스된다.
몇몇 실시 예들에서, 저장 매체(712)는 커넥터를 통한 통신 없이 액세스된다. 예로서, 타깃(718)의 저장 장치(714)는 타깃(718) 내의 많은 모듈러(modular) 저장 장치들 중 하나일 수 있다. 이러한 저장 장치들(718)과 통신하기 위해서, 통신은 확장 버스(710)와 관련된 커넥터를 통과한다.
몇몇 실시 예들에서, 저장 매체(712)는 확장 버스(710) 없이 액세스된다. 내부 버스가 타깃(716)에서 사용될 수 있지만, 표준화된 프로토콜들 및 전기적인 인터페이스들에 따른 다양한 구성 요소들을 서로 연결하기 위해 설계된 확장 버스(710)는 사용되지 않는다. 저장 계층(704) 데이터의 재 캡슐화의 추가적인 오버헤드(overhead)는 타깃(716)에서 제외된다.
타깃(716)의 일 예로서 도 1의 저장 장치(100)를 참조하면, 몇몇 실시 예들에서, 제어 로직(104)은 저장 프로토콜을 캡슐화하는 물리적 계층들로 전송(706 및 706-4)과 관련된 네트워크 전송 프로토콜에 따라 데이터를 종료하도록 더 구성된다. 즉, 타깃(716)은 타깃(718)의 경우와 같이 매개체로서 역할을 하기보다 네트워크 전송 프로토콜을 종료한다. 특히, 타깃(716) 자체를 나타내는 저장 장치는 저장 프로토콜을 종료할 뿐만 아니라 네트워크 프로토콜들도 종료하도록 구성된다. 반대로, 타깃(718)에서, 범용 프로세서 또는 스토리지 어플라이언스의 유사한 장치는 네트워크 프로토콜을 종료하고 스토리지 어플라이언스의 저장 장치(714)는 저장 프로토콜을 종료한다.
도 7b는 본 발명의 다른 실시 예에 따른 저장 장치와 통신에 관련된 다양한 계층들을 보여주는 블록도이다. 몇몇 실시 예들에서, 이니시에이터(700') 및 타깃들(716' 및 718')은 도 7a의 이니시에이터(700) 및 타깃들(716 및 718)과 유사하다. 하지만, 물리적 계층들로 전송(706')은 페브릭들(Fabrics)을 가로지르는 NVMe(NVMf), 원격 직접 메모리 액세스(remote direct memory access, RDMA), 전송 제어 프로토콜(transmission control protocol, TCP) 또는 사용자 데이터그램 프로토콜(user datagram protocol, UDP), 인터넷 프로토콜(internet protocol, IP), 및 이더넷(Ethernet) 계층들을 포함한다. NVMe(704') 데이터는 타깃들(716' 및/또는 718')로 전송되기 위해 이러한 계층들 내에 캡슐화된다.
타깃(718')에서, 물리적 계층들로 전송(706'-1)은 물리적 계층들로 전송(706')과 유사한 계층들을 포함한다. 하지만, NVMe 계층(704') 데이터는 PCIe 계층(706'-2)에서의 PCIe 버스(도면에 번호 었음)를 거쳐서 전송되기 위해 다시 캡슐화된다. 저장 장치(714')에서, NVMe 계층(704') 데이터는 PCIe 계층(706'-3)으로부터 획득되고, 저장 매체(712)에 액세스하기 위해 사용된다.
타깃(716')에서, 물리적 계층들로 전송(706'-4)은 물리적 계층들로 전송(706')과 유사한 계층들을 포함한다. 하지만, NVMe 계층(704') 데이터 결과는 다시 캡슐화되지 않는다. 반대로, NVMe 계층(704') 데이터는 저장 매체(712)로 액세스하기 위해 사용된다.
특정 계층들, 프로토콜들, 및 계층 및 프로토콜의 조합들이 예로서 사용되었지만, 다른 실시 예들에서, 다른 계층들 및 프로토콜들이 사용될 수 있다. 명시적으로 식별된 것들은 단지 예일 뿐이다.
도 8은 본 발명의 실시 예에 따른 데이터 센터를 보여주기 위한 개략도이다. 몇몇 실시 예들로서, 데이터 센터(800)는 복수의 서버 시스템(802-1~802-N)을 포함한다. 서버 시스템들(802)은 인터넷과 같은 네트워크(804)와 연결된다. 따라서, 서버 시스템들(802)은 네트워크(804)를 통해 다양한 저장 어레이들(806-1~806-M)과 통신할 수 있다. 예로서, 몇몇 실시 예들에서, 저장 어레이들(806)은 랙 장착된 저장 어레이들이다. 하지만, 저장 어레이들(806-1~806-M) 외에도, 저장 장치(808)에 추가적인 스토리지가 네트워크(804)에 부착될 수 있다. 저장 장치(808)는 상술된 저장 장치이다. 특정 예에서, 저장 장치(808)는 네트워크(804)의 네트워크 스위치에 직접적으로 삽입되는 저장 장치이다.
구조들, 장치들, 방법들 및 시스템들이 특정 실시 예들에 따라 설명되었지만, 당업자들은 개시된 실시 예에 대한 많은 변형이 가능하다는 것을 쉽게 인식할 것이며, 따라서 임의의 변형은 본 명세서에 개시된 구조, 장치 및 시스템의 사상 및 범위 내에 있는 것으로 간주되어야 한다. 따라서, 첨부된 청구 범위의 사상 및 범위를 벗어나지 않고 당업자에 의해 많은 변형이 이루어질 수 있다.

Claims (10)

  1. 저장 장치에 있어서,
    섀시(chassis);
    상기 섀시에 배치된 불휘발성 저장 매체(on-volatile storage media);
    상기 섀시에 통합된 네트워크 인터페이스 커넥터;
    상기 섀시에 배치된 제어 로직;
    외부 전원을 수신하도록 구성된 상기 섀시에 배치된 외부 전원 커넥터;
    상기 섀시에 배치되고, 상기 네트워크 인터페이스 커넥터를 통해 전력을 수신하고, 상기 외부 전원 커넥터를 통해 상기 외부 전원을 수신하고, 상기 불휘발성 저장 매체 및 상기 제어 로직의 일부로 상기 전원을 제공하고, 상기 불휘발성 저장 매체 및 상기 제어 로직의 나머지 일부로 상기 외부 전원을 제공하도록 구성된 전력 분배 회로; 및
    무선 네트워크 인터페이스를 포함하고,
    상기 네트워크 인터페이스 커넥터는 네트워크 스위치로 직접 삽입되도록 구성되고, 스토리지 프로토콜을 캡슐화하는 네트워크 전송 프로토콜을 수신하도록 구성되고,
    상기 제어 로직은:
    상기 스토리지 프로토콜을 캡슐화하는 상기 네트워크 전송 프로토콜의 엔드포인트로서 제공되고;
    상기 네트워크 전송 프로토콜로부터 상기 스토리지 프로토콜을 추출하고,
    상기 네트워크 전송 프로토콜로부터 추출된 상기 스토리지 프로토콜을 사용하여 상기 네트워크 인터페이스 커넥터를 통한 상기 불휘발성 저장 매체로의 액세스를 허용하도록 구성되고,
    상기 제어 로직은 상기 무선 네트워크 인터페이스를 통해 수신된 스토리지 프로토콜을 종료하도록 더 구성된 저장 장치.
  2. 제 1 항에 있어서,
    상기 섀시에 통합된 상기 네트워크 인터페이스 커넥터는 SFP(small form-factor pluggable), QSFP(quad small form-factor pluggable), 또는 모듈러 커넥터 폼 팩터를 포함하는 저장 장치.
  3. 제 1 항에 있어서,
    상기 제어 로직은 상기 네트워크 인터페이스 커넥터를 통해 수신된 스토리지 프로토콜에 따라 데이터를 종료하도록 더 구성된 저장 장치.
  4. 제 1 항에 있어서,
    상기 제어 로직은 상기 불휘발성 저장 매체로의 액세스와 관련된 네트워크 및 스토리지 동작들만 수행하도록 더 구성된 저장 장치.
  5. 제 1 항에 있어서,
    상기 제어 로직은 상기 액세스와 관련된 데이터를 재-캡슐화하는 것 없이 상기 불휘발성 저장 매체를 액세스하도록 더 구성되는 저장 장치.
  6. 제 1 항에 있어서,
    상기 제어 로직은 전송 프로토콜(transport protocol)에서의 상기 액세스와 관련된 데이터를 재 캡슐화하지 않고 상기 불휘발성 저장 매체를 액세스하도록 더 구성되는 저장 장치.
  7. 제 1 항에 있어서,
    상기 제어 로직은 확장 버스(expansion bus)의 사용 없이 상기 불휘발성 저장 매체를 액세스하도록 더 구성되는 저장 장치.
  8. 저장 장치에 있어서,
    저장 프로토콜을 캡슐화한(encapsulating) 네트워크 전송 프로토콜을 전달하는 패브릭 인터페이스에 대한 네트워크 인터페이스, 단 상기 패브릭 인터페이스는 이더넷(Ethernet), 파이버 채널(fibre channel), 또는 인피니밴드(InfiniBand)를 포함하고;
    불휘발성 저장 매체;
    상기 네트워크 인터페이스 및 상기 불휘발성 저장 매체와 연결되고, 상기 네트워크 인터페이스를 통해 수신된 상기 저장 프로토콜에 따라 데이터를 종료시키고, 상기 저장 프로토콜을 캡슐화한 상기 네트워크 전송 프로토콜에 따라 데이터를 종료시킴으로써, 상기 저장 프로토콜 및 상기 저장 프로토콜을 캡슐화한 상기 네트워크 전송 프로토콜에 대한 엔드 포인트를 제공하고, 액세스와 연관된 데이터를 재-캡슐화하는 것 없이, 상기 네트워크 전송 프로토콜로부터 추출된, 종료된 저장 프로토콜에 따라 상기 불휘발성 저장 매체를 액세스하도록 구성된 제어 로직;
    전력을 수신하도록 구성된 섀시에 위치한 외부 전력 커넥터;
    상기 섀시에 위치하고, 네트워크 인터페이스 커넥터를 통해 전력을 수신하도록 구성된 전력 분산 회로; 및
    무선 네트워크 인터페이스를 포함하고,
    상기 제어 로직은 상기 무선 네트워크 인터페이스를 통해 수신된 저장 프로토콜을 종료하도록 더 구성된 저장 장치.
  9. 제 8 항에 있어서,
    상기 네트워크 인터페이스는 유선 네트워크 인터페이스이고,
    상기 저장 프로토콜은 NVMe(NVM express)인 저장 장치.
  10. 제 8 항에 있어서,
    상기 제어 로직은 상기 커넥터를 통한 통신 없이 상기 불휘발성 저장 매체를 액세스하도록 더 구성된 저장 장치.


KR1020170046855A 2016-08-12 2017-04-11 네트워크 액세스 기능을 갖는 저장 장치 KR102191237B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662374739P 2016-08-12 2016-08-12
US62/374,739 2016-08-12
US15/279,424 US10311008B2 (en) 2016-08-12 2016-09-28 Storage device with network access
US15/279,424 2016-09-28

Publications (2)

Publication Number Publication Date
KR20180018278A KR20180018278A (ko) 2018-02-21
KR102191237B1 true KR102191237B1 (ko) 2020-12-15

Family

ID=61159027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170046855A KR102191237B1 (ko) 2016-08-12 2017-04-11 네트워크 액세스 기능을 갖는 저장 장치

Country Status (2)

Country Link
US (1) US10311008B2 (ko)
KR (1) KR102191237B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10444722B2 (en) * 2017-09-29 2019-10-15 Intel Corporation Techniques to direct access requests to storage devices
US20190102107A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Techniques for batch operations to storage devices
US11366610B2 (en) 2018-12-20 2022-06-21 Marvell Asia Pte Ltd Solid-state drive with initiator mode
CN113924766A (zh) 2019-03-14 2022-01-11 马维尔亚洲私人有限公司 经由固态驱动器(ssd)之间的连接在ssd之间传输数据
EP3938880A1 (en) * 2019-03-14 2022-01-19 Marvell Asia Pte, Ltd. Ethernet enabled solid state drive (ssd)
US11275698B2 (en) 2019-03-14 2022-03-15 Marvell Asia Pte Ltd Termination of non-volatile memory networking messages at the drive level
US11500549B2 (en) 2019-04-19 2022-11-15 EMC IP Holding Company LLC Secure host access to storage system resources via storage system interface and internal switching fabric
US10698844B1 (en) 2019-04-19 2020-06-30 EMC IP Holding Company LLC Intelligent external storage system interface
US10698613B1 (en) * 2019-04-19 2020-06-30 EMC IP Holding Company LLC Host processing of I/O operations
US11151063B2 (en) 2019-04-19 2021-10-19 EMC IP Holding Company LLC Host system directly connected to internal switching fabric of storage system
US10740259B1 (en) 2019-04-19 2020-08-11 EMC IP Holding Company LLC Host mapping logical storage devices to physical storage devices
US11720413B2 (en) * 2020-06-08 2023-08-08 Samsung Electronics Co., Ltd. Systems and methods for virtualizing fabric-attached storage devices

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100215362A1 (en) 2007-05-29 2010-08-26 Furukawa Electric Co., Ltd. Customer premises optical network unit and optical transmission system
US20110194858A1 (en) * 2010-02-11 2011-08-11 Mrv Communications, Inc. Hot-pluggable transceiver flash memory media reader/writer, systems, methods, apparatus, networks and devices
US20130335907A1 (en) 2012-06-13 2013-12-19 Microsoft Corporation Tray and chassis blade server architecture
US20140317206A1 (en) * 2013-04-17 2014-10-23 Apeiron Data Systems Switched direct attached shared storage architecture
US20150373115A1 (en) 2014-06-23 2015-12-24 Liqid Inc. Modular switched fabric for data storage systems
US20160127492A1 (en) 2014-11-04 2016-05-05 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069884A1 (en) * 2004-02-27 2006-03-30 Han-Gyoo Kim Universal network to device bridge chip that enables network directly attached device
US7535917B1 (en) * 2005-02-22 2009-05-19 Netapp, Inc. Multi-protocol network adapter
US7853741B2 (en) * 2005-04-11 2010-12-14 Emulex Design & Manufacturing Corporation Tunneling SATA targets through fibre channel
US7743178B2 (en) * 2005-04-11 2010-06-22 Emulex Design & Manufacturing Corporation Method and apparatus for SATA tunneling over fibre channel
CN101346946B (zh) * 2006-04-28 2011-05-11 古河电气工业株式会社 用户住宅侧光线路终端装置及光传输系统
JP4776483B2 (ja) * 2006-09-20 2011-09-21 富士通株式会社 コネクタ実装構造
JP4399001B2 (ja) * 2007-10-26 2010-01-13 古河電気工業株式会社 加入者宅側光回線終端装置及び光伝送システム
US7908404B1 (en) * 2007-11-09 2011-03-15 Qlogic, Corporation Method and system for managing network and storage data
US8423690B2 (en) * 2007-12-31 2013-04-16 Intel Corporation Methods and apparatus for media redirection
US8719485B2 (en) 2008-06-27 2014-05-06 Marvell World Trade Ltd. Solid-state disk with wireless functionality
US8521941B2 (en) 2010-12-28 2013-08-27 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
US20130135816A1 (en) * 2011-11-17 2013-05-30 Futurewei Technologies, Inc. Method and Apparatus for Scalable Low Latency Solid State Drive Interface
US20130246650A1 (en) * 2012-03-13 2013-09-19 Hitachi, Ltd. Computer system and frame transfer bandwidth optimization method
US9461768B2 (en) * 2012-05-23 2016-10-04 Brocade Communications Systems, Inc. Terabit top-of-rack switch
US9483431B2 (en) * 2013-04-17 2016-11-01 Apeiron Data Systems Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA)
CN203368502U (zh) * 2013-06-17 2013-12-25 Ut斯达康通讯有限公司 一种远程存取运行日志记录和电路测试装置
KR101832797B1 (ko) * 2013-07-31 2018-04-13 인텔 코포레이션 Usb 디바이스와의 mctp 통신을 수행하기 위한 방법, 장치 및 시스템
US9767311B2 (en) 2013-10-25 2017-09-19 Netapp, Inc. Stack isolation by a storage network switch
US9242854B2 (en) * 2013-12-20 2016-01-26 Intel Corporation Hermetic encapsulation for microelectromechanical systems (MEMS) devices
CA2941702A1 (en) 2014-03-08 2015-09-17 Diamanti, Inc. Methods and systems for converged networking and storage
US9003090B1 (en) 2014-03-25 2015-04-07 DSSD, Inc. PCI express fabric routing for a fully-connected mesh topology
US9909434B2 (en) * 2015-07-24 2018-03-06 Pratt & Whitney Canada Corp. Integrated strut-vane nozzle (ISV) with uneven vane axial chords
US10255215B2 (en) * 2016-01-29 2019-04-09 Liqid Inc. Enhanced PCIe storage device form factors
US20170228328A1 (en) * 2016-02-04 2017-08-10 CNEXLABS, Inc. Method and apparatus for providing small form-factor pluggable (“sfp”) non-volatile memory (“nvm”) storage devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100215362A1 (en) 2007-05-29 2010-08-26 Furukawa Electric Co., Ltd. Customer premises optical network unit and optical transmission system
US20110194858A1 (en) * 2010-02-11 2011-08-11 Mrv Communications, Inc. Hot-pluggable transceiver flash memory media reader/writer, systems, methods, apparatus, networks and devices
US20130335907A1 (en) 2012-06-13 2013-12-19 Microsoft Corporation Tray and chassis blade server architecture
US20140317206A1 (en) * 2013-04-17 2014-10-23 Apeiron Data Systems Switched direct attached shared storage architecture
US20150373115A1 (en) 2014-06-23 2015-12-24 Liqid Inc. Modular switched fabric for data storage systems
US20160127492A1 (en) 2014-11-04 2016-05-05 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet

Also Published As

Publication number Publication date
KR20180018278A (ko) 2018-02-21
US10311008B2 (en) 2019-06-04
US20180046594A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
KR102191237B1 (ko) 네트워크 액세스 기능을 갖는 저장 장치
KR102542562B1 (ko) 모듈화된 불휘발성 플래시 메모리 블레이드
US8205016B2 (en) Controller receiving a configuration command while receiving an auxiliary supply voltage
US20150120971A1 (en) Server system and storage system
US9720864B2 (en) Flexible server system
US20160299767A1 (en) Host bus adapter with built-in storage for local boot-up
US20150032917A1 (en) Multiplexer for signals according to different protocols
BR102015014593B1 (pt) Sistema em chip
CN106933753B (zh) 智能接口卡的控制方法及装置
KR20140000182A (ko) 동적 다중 링크 편집 분할을 위한 시스템들 및 방법들
KR102146301B1 (ko) 패브릭 부착된 장치들을 위한 드라이브 베이를 포함하는 양방향 스위치
US11003607B2 (en) NVMF storage to NIC card coupling over a dedicated bus
US20130339552A1 (en) Active cable management
CN111666240A (zh) 用于自主地检测电缆朝向的转接驱动器
US10657077B2 (en) HyperConverged NVMF storage-NIC card
US20150026503A1 (en) Appliances powered over sas
CN204883525U (zh) 一种外置式转接卡
CN204904151U (zh) 一种内置式转接卡
EP3938880A1 (en) Ethernet enabled solid state drive (ssd)
CN111104358A (zh) 解聚计算机系统
US20160132456A1 (en) Integrated adapter for thin computing devices
US9984023B2 (en) Multi-server system interconnect
US20160170931A1 (en) Console server with usb console port
US20140317320A1 (en) Universal serial bus devices supporting super speed and non-super speed connections for communication with a host device and methods using the same
US10120828B2 (en) Bridge for bus-powered peripheral device power management

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