KR102457658B1 - 적응형 인터페이스 스토리지 장치 - Google Patents

적응형 인터페이스 스토리지 장치 Download PDF

Info

Publication number
KR102457658B1
KR102457658B1 KR1020190002494A KR20190002494A KR102457658B1 KR 102457658 B1 KR102457658 B1 KR 102457658B1 KR 1020190002494 A KR1020190002494 A KR 1020190002494A KR 20190002494 A KR20190002494 A KR 20190002494A KR 102457658 B1 KR102457658 B1 KR 102457658B1
Authority
KR
South Korea
Prior art keywords
state
connector
multiplexer
circuit
multiplexer channel
Prior art date
Application number
KR1020190002494A
Other languages
English (en)
Other versions
KR20190106660A (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 KR20190106660A publication Critical patent/KR20190106660A/ko
Application granted granted Critical
Publication of KR102457658B1 publication Critical patent/KR102457658B1/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/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/4027Coupling between buses using bus bridges
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • 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/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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

적응형 인터페이스 스토리지 장치. 몇몇의 실시 예들에서, 적응형 인터페이스 스토리지 장치는 후단 스토리지 인터페이스 커넥터; 후단 스토리지 인터페이스 커넥터와 연결되는 어댑터블(adaptable) 회로; 어댑터블 회로와 연결되는 제 1 라우팅 회로; 및 제 1 멀티플렉서와 연결되는 전단 스토리지 인터페이스 커넥터를 포함한다. 적응형 인터페이스 스토리지 장치는 제 1 상태 또는 제 2 상태에서 동작하고, 제 1 상태에서 전단 스토리지 인터페이스 커넥터에서 제 1 스토리지 프로토콜에 따라 제 1 장치 측 스토리지 인터페이스를 제공하고, 제 2 상태에서 전단 스토리지 인터페이스 커넥터에서 제 1 스토리지 프로토콜과 상이한 제 2 스토리지 프로토콜에 따라 제 2 장치 측 스토리지 인터페이스를 제공하도록 구성될 수 있다.

Description

적응형 인터페이스 스토리지 장치{ADAPTIVE INTERFACE STORAGE DEVICE}
본 개시에 따른 실시 예들의 하나 이상의 형태들은 영구 스토리지와 관련되고, 좀 더 상세하게는 구성 가능한 스토리지 인터페이스를 갖는 스토리지 장치와 관련된다.
영구 스토리지 장치들은 다양한 어플리케이션들에서 사용될 수 있고, 다양한 인터페이스들과 함께 동작될 수 있다. 몇몇의 어플리케이션들에서, 다수의 상이한 인터페이스들이 사용되는 시스템에서 상이한 스토리지 인터페이스들을 지원하는 스토리지 장치들의 목록들을 유지하는 것은 불편할 수 있다.
그러므로, 상이한 스토리지 인터페이스들로 동작할 수 있는 스토리지 장치가 필요하다.
본 발명은 상이한 스토리지 인터페이스들로 동작할 수 있는 스토리지 장치를 제공할 수 있다.
본 개시의 실시 예에 따르면 후단 스토리지 인터페이스 커넥터; 후단 스토리지 인터페이스 커넥터와 연결되는 어댑터블(adaptable) 회로; 어댑터블 회로와 연결되는 제 1 라우팅 회로; 및 제 1 멀티플렉서와 연결되는 전단 스토리지 인터페이스 커넥터를 포함하되, 제 1 상태 또는 제 2 상태에서 동작하고, 제 1 상태에서 전단 스토리지 인터페이스 커넥터에서 제 1 스토리지 프로토콜에 따라 제 1 장치 측 스토리지 인터페이스를 제공하고, 제 2 상태에서 전단 스토리지 인터페이스 커넥터에서 제 1 스토리지 프로토콜과 상이한 제 2 스토리지 프로토콜에 따라 제 2 장치 측 스토리지 인터페이스를 제공하도록 구성되는 적응형 인터페이스 스토리지 장치가 제공된다.
일 실시 예에서, 적응형 인터페이스 스토리지 장치는 제 1 PCIe(Peripheral Component Interconnect express) 엔드포인트(endpoint) 및 제 2 PCIe 엔드포인트를 포함하고, 제 1 라우팅 회로는, 전단 스토리지 인터페이스 커넥터와 연결되는 제 1 멀티플렉서 채널 공통 포트를 갖는 제 1 멀티플렉서 채널, 및 전단 스토리지 인터페이스 커넥터와 연결되는 제 2 멀티플렉서 채널 공통 포트, 제 1 PCIe 엔드포인트와 연결되는 제 1 셀렉터블(selectable) 포트, 및 제 2 PCIe 엔드포인트와 연결되는 제 2 셀렉터블 포트를 갖는 제 2 멀티플렉서를 포함하는 제 1 멀티플렉서이다.
일 실시 예에서, 제 1 멀티플렉서 채널은 제 1 PCIe 엔드포인트와 연결되는 제 3 셀렉터블 포트를 갖는다.
일 실시 예에서, 제 1 멀티플렉서 채널은 연결되지 않은 상태인 제 4 셀렉터블 포트를 갖고, 제 1 상태에서 제 3 셀렉터블 포트가 선택되고, 제 2 상태에서 3 셀렉터블 포트가 선택된다.
일 실시 예에서, 제 1 스토리지 프로토콜은 NMVe인 적응형 인터페이스 스토리지 장치.
일 실시 예에서, 어댑터블 회로는 전단 스토리지 인터페이스 커넥터의 제 1 복수의 컨덕터에 연결되고, 제 2 상태에서 어탭더블 회로는 제 1 복수의 컨덕터에서 이더넷 인터페이스를 제공하도록 구성된다.
일 실시 예에서, 제 2 스토리지 프로토콜은 이더넷 인터페이스 상의 NVMeoF(NVMe over Fabrics) 이다.
일 실시 예에서, 제 1 상태에서, 제 1 셀렉터블 포트가 선택되는 적응형 인터페이스 스토리지 장치.
일 실시 예에서, 제 2 상태네서, 제 2 셀렉터블 포트가 선택된다.
일 실시 예에서, 제 2 상태에서, 전단 스토리지 인터페이스 커넥터에서 PCIe 제어 플레인(plane)을 제공하도록 더 구성된다.
일 실시 예에서, 제 1 PCI 엔드포인트는 4 레인 PCIe 엔드포인트이고, 제 2 PCIe 엔드포인트는 4 레인 엔드포인트이고, 제 2 멀티플렉서 채널 공통 포트는 두 개의 입력 레인들과 두 개의 출력 레인들을 갖는다.
일 실시 예에서, 어댑터블 회로는, 구성 포트를 갖고 시스템 시작 시 구성 포트를 통해 비트파일을 로드하도록 구성되는 프로그래머블(progarmmable) 어댑터블 회로이다.
일 실시 예에서, 제 1 라우팅 회로는 제 1 멀티플렉서이고, 적응형 인터페이스 스토리지 장치는 제 1 비트파일 메모리; 제 2 비트파일 메모리; 및 구성 포트와 연결되는 제 2 멀티플렉서 공통 포트, 제 1 비트파일 메모리와 연결되는 제 1 셀렉터블 포트, 및 제 2 비트파일 메모리와 연결되는 제 2 셀렉터블 포트를 갖는 제 2 멀티플렉서를 포함한다.
일 실시 예에서, 제 1 상태에서 제 1 셀렉터블 포트가 선택되고, 제 2 상태에서 제 2 셀렉터블 포트가 선택된다.
일 실시 예에서, 전단 스토리지 인터페이스 커넥터는 U.2 커넥터이다.
일 실시 예에서, 적응형 인터페이스 스토리지 장치는 제 1 상태 및 제 2 상태의 사이에서 선택하기 위한 신호를 수신하도록 구성되는 상태 제어 입력을 포함한다.
일 실시 예에서, 전단 스토리지 인터페이스 커넥터는 E6 핀을 갖는 U.2 커넥터이고, 상태 제어 입력은 E6 핀인 적응형 인터페이스 스토리지 장치.
본 개시의 실시 예에 따르면, 전단 스토리지 인터페이스 커넥터; 및 영구 스토리지를 포함하는 적응형 인터페이스 스토리지 장치가 제공되고, 적응형 인터페이스 스토리지 장치는 제 1 상태 또는 제 2 상태에서 동작하고, 적응형 인터페이스 스토리지 장치는 제 1 상태에서 전단 스토리지 인터페이스 커넥터에서 제 1 장치 측 NVMe 스토리지 인터페이스를 제공하고, 제 2 상태에서 전단 스토리지 인터페이스 커넥터에서 제 2 장치 측 NVMeoF 스토리지 인터페이스를 제공하도록 구성된다.
본 개시의 실시 예에 다르면, 스토리지 시스템은 섀시; 및 후단 스토리지 인터페이스 커넥터; 후단 스토리지 인터페이스 커넥터와 연결되는 어댑터블 회로, 및 어댑터블 회로와 연결되는 제 1 라우팅 회로를 포함하는 적응형 인터페이스 스토리지 장치를 포함하고, 적응형 인터페이스 스토리지 장치는 제 1 상태 또는 제 2 상태에서 동작하고, 제 1 상태에서 전단 스토리지 인터페이스 커넥터에서 제 1 스토리지 프로토콜에 따라 제 1 장치 측 스토리지 인터페이스를 제공하고, 제 2 상태에서 전단 스토리지 인터페이스 커넥터에서 제 1 스토리지 프로토콜과 상이한 제 2 스토리지 프로토콜에 따라 제 2 장치 측 스토리지 인터페이스를 제공하도록 구성된다.
일 실시 예에서, 적응형 인터페이스 스토리지 장치는 제 1 상태와 제 2 상태 사이에서 선택하기 위한 신호를 수신하도록 구성되는 상태 제어 입력을 더 포함하고, 섀시는 상태 제어 입력으로 제 1 상태를 선택하기 위한 신호를 공급하기 위해 하드 와이어 처리(hard-wired) 된다.
외부 하드웨어 전단 멀티플랙서를 사용하는 것은, 어댑터블 회로를 구성하는 것이 PCIe 링크들의 훈련을 위한 PCIe 표준에 의해 할당된 시간 보다 긴 시간을 소모하는 경우에 발생할 수 있는 문제들을 회피할 수 있다.
도 1은 본 개시의 실시 예에 따른 적응형 인터페이스 스토리지 장치의 블록도 이다.
도 2a는 본 개시의 실시 예에 따른 적응형 인터페이스 스토리지 장치의 블록도 이다.
도 2b는 본 개시의 실시 예에 따른 적응형 인터페이스 스토리지 장치의 블록도 이다.
도 3a는 본 개시의 실시 예에 따른 적응형 인터페이스 스토리지 장치를 포함하는 섀시의 블록도 이다.
도 3b는 본 개시의 실시 예에 따른 적응형 인터페이스 스토리지 장치를 포함하는 섀시의 블록도 이다.
도 4는 본 개시의 실시 예에 따른 적응형 인터페이스 스토리지 장치의 블록도 이다.
첨부된 도면들과 관련하여 아래에서 설명되는 상세한 설명은 본 개시에 따라 제공되는 적응형 인터페이스 스토리지 장치의 예시적인 실시 예들의 설명으로서 의도되고, 본 개시가 구성되거나 사용될 수 있는 유일한 형태를 나타내는 것으로 의도되지 않는다. 설명은 도시된 실시 예들과 관련하여 본 개시의 특징들을 설명한다. 그러나, 동일한 또는 동등한 기능들 및 구조들이 개시의 범위 내에 포함되도록 의도되는 상이한 실시 예들에 의해 달성될 수 있다. 본 명세서의 언급되는 것과 같이, 동일한 구성요소 번호들은 동일한 구성요소들 또는 특징들을 나타내는 것으로 의도된다.
도 1을 참조하면, 몇몇의 실시 예들에서, 적응형 인터페이스 스토리지 장치는 후단 스토리지 인터페이스 커넥터(105), 어댑터블(adaptable) 회로(110), 전단 스토리지 인터페이스 커넥터(115), 및 전단 스토리지 인터페이스 커넥터(115)와 어댑터블 회로(110) 사이에 연결된 전단 멀티플렉서(120)를 포함한다. 이러한 구성요소들은 후단 스토리지 인터페이스 커넥터(105)를 통해 고정 인터페이스 스토리지 장치(107)(예컨대, NVMe(nonvolatile memory express) SSD(Solid State Drive)와 같은)에 연결될 수 있는 어댑터 모듈로서 동작할 수 있고, 호스트 섀시에게 하나 이상의 스토리지 인터페이스를 지원할 수 있는 스토리지 디바이스로서 동작한다. 전단 멀티플렉서는 일반적으로 신호들을 여러 개의 이용 가능한 경로들 중 하나로 라우팅하기위한 임의의 적절한 회로 일 수 있는 라우팅 또는 스위칭 회로의 예시 일 수 있다. 둘 이상의 경로들이 이용 가능한 경우, PCIe(Peripheral Component Interconnect express) 스위치와 같은 라우팅 구성요소가 사용될 수 있다. 일례로, 라우팅은 단지 두 개의 구성요소들 사이에 있을 수 있다.
몇몇의 실시 예들에서, 적응형 인터페이스 스토리지 장치는 (i) 3.5 인치 하드 드라이브 폼 팩터(또는 "LFF(Large From Factor)" 표준, 또는 (ii) 2.5 인치 하드 드라이브 폼 팩터(또는 SFF(Small Form Dactor)), 또는 (iii) 예컨대, FH-FL 카드 아웃라인(Full-Height, Full Length card outline)과 같은 표준 PCIe 카트 폼 팩터, 또는 FH-HL 아웃라인(Full-Height, Half Length outline)을 따를 수 있다.
본 명세서에서 사용되는, "스토리지 인터페이스"는 (i) 스토리지 장치(예컨대, 하드 드라이브 또는 SSD와 같은 영구 스토리지 장치), 및 (ii) 스토리지 장치에 연결되는 마더 보드 또는 프로세서와 같은 호스트 사이의 인터페이스 이다. 몇몇의 실시 예들에서, 호스트는 스토리지 장치에 전력 및 기계적인 지원(마운팅 및 냉각)을 제공하고, 스토리지 장치에 연결되고 다른 호스트(예컨대, 서버)와 스토리지 장치 사이의 연결들을 제공하는 섀시이다. 이와 관련하여, 영구 저장 장치와 호스트 사이의 스토리지 인터페이스에서, 호스트는 스토리지 장치에 "호스트 측 스토리지 인터페이스", 예컨대, 호스트 측 NVMe 스토리지 인터페이스를 제공 할 수 있고(예컨대, 호스트는 명령(예컨대, 읽기 또는 쓰기 명령)을 NVMe 인터페이스를 통해 스토리지 장치로 전송할 수 있고), 스토리지 장치는 "장치 측 스토리지 인터페이스", 예컨대 장치 측 NVMe 스토리지 인터페이스를 호스트에 제공할 수 있다. 다른 예시로서, 스토리지 인터페이스는 "NVMeoF(NVMe over Fabrics)"일 수 있다.
어댑터블 회로(110)는 FPGA(Field Programmable Gate Array)와 같은 프로그래머블(programmable) 논리 회로 일 수 있다. 도 1의 실시 예는 어댑터블 회로(110)와 전단 스토리지 인터페이스 커넥터(115) 사이의 하나 이상의 연결들("이더넷 연결들"로 지칭될 수 있는)(125)을 형성하는 하나 이상의 컨덕터들의 세트들을 더 포함할 수 있고, 어댑터블 회로(110)는, 동작의 몇몇 모드들(또는 "상태들")에서, 하나 이상의 이더텟 인터페이스들(예컨대, 도시된 바와 같이 두 개의 이더넷 인터페이스들)을 이더넷 연결들(125)에서 제공하도록 구성될 수 있다. 전단 스토리지 인터페이스 커넥터(115)는 U.2 커넥터일 수 있고, U.2 커넥터의 SAS 포트0 및 SAS 포트1 핀들은 이더넷 연결들을 위해 사용될 수 있다.
도 1의 적응형 인터페이스 스토리지 장치는 두 개의 상태들, 제 1 상태 및 제 2 상태에서 동작하도록 구성될 수 있다; 제 1 상태에서, 적응형 인터페이스 스토리지 장치는 전단 스토리지 인터페이스 커넥터(115)에서 제 1 스토리지 프로토콜(예컨대, "NVMe")에 따라 장치 측 스토리지 인터페이스를 제공하도록 구성되고, 제 2 상태에서, 적응형 인터페이스 스토리지 장치는 전단 스토리지 인터페이스 커넥터(115)에서 제 2 스토리지 프로토콜(예컨대, "NVMe over Fabrics")에 따라 장치 측 스토리지 인터페이스를 제공하도록 구성될 수 있다.
전단 멀티플렉서(120)는 두 개의 상이한 장치 측 스토리지 인터페이스들을 지원하기 위해, 제 1 상태 및 제 2 상태에서 상이하게 구성 될 수 있다. 전단 멀티플렉서(120)는 도 1에 도시된 바와 같이 제 1 멀티플렉서 채널(121)과 제 2 멀티플렉서 채널(122)을 포함 할 수 있다. 제 1 멀티플렉서 채널(121) 및 제 2 멀티플렉서 채널(122) 각각은 이하 더 상세히 논의될 것과 같이 제어 될 수 있다. 몇몇의 실시 예들에서, 전단 멀티플렉서(120), 예컨대 쿼드 1:2-2:1 멀티플렉서, "Texas Instruments"로부터 입수 가능한 모델 “SN65LVCP114” 집적 회로와 같은 신호 컨디셔닝을 포함하는 선형 리 드라이버(redriver)와 같은 단일 집적회로로 구현된다.
본 명세서에서 사용된 바와 같이, 멀티플렉서는 하나의 공통 포트, 둘 이상의 셀렉터블(selectable) 포트들, 및 선택 입력을 갖는 장치이다. 동작 시, 선택 입력에서 수신된 선택 신호에 따라, 멀티플렉서는 셀렉터블 포트들 중 하나의 포트("선택된 포트"로 지칭 될 수 있다)와 공통 포트를 연결한다(즉, 그 사이에서 내부 접속을 만든다). 각 포트는 하나의 레인 폭 또는 여러 레인들의 폭일 수 있다. 포트의 모든 레인들은 입력 레인들 또는 출력 레인들 일 수 있으며, 포트는 입력 레인들 및 출력 레인들의 조합을 포함할 수 있다. (출력 레인을 갖지 않는)공통 입력 포트 및 복수의 셀렉터블 출력 레인들을 포함하는 멀티플렉서는 디멀티플렉서(de-multiplexer)로 지칭 될 수도 있다. 여러 레인 폭을 갖는 공통 포트를 갖는 멀티플렉서는 ("멀티플렉서 채널"로 지칭되는) 복수의 멀티플렉서와 동등할 수 있으며, 각 멀티플렉서 채널은 더 적은 레인들을 갖고(이에 따라 멀티플렉서 채널들의 총 레인 수가 그들과 동등한 멀티플렉서의 레인 수와 같다), 공유된 선택 입력 연결을 갖는다(즉, 각각이 동일한 선택 신호 소스에 연결된 선택 입력을 갖는다). 몇몇의 실시 예들에서, 복수의 멀티플렉서 채널이 단일 집적 회로("Texas Instruments"로부터 입수 가능한 모델 "SN65LVCP114" 집적 회로와 같은)에 포함될 수 있다. 이러한 집적 회로는, 예로서 네 개의 독립적인 채널들(각각이 하나의 레인 폭)을 포함 할 수 있고 각각은 별도의 독립적인 선택 입력을 가지기 때문에 집적 회로는 네 개의 선택 입력들을 가질 수 있다.
이와 같이, 쿼드 1:2-2:1 멀티플렉서, "Texas Instruments"에서 입수할 수 있는 모델 "SN65LVCP114"와 같은 신호 컨디셔닝을 갖는 선형 리드라이버가 채용되는 경우, 단일 멀티플렉서(예컨대, 전단 멀티플렉서(120)), 또는 두 개의 멀티플렉서 채널들(제 1 멀티플렉서 채널(121) 및 제 2 멀티플렉서 채널(122)) 또는 8개의 멀티플렉서 채널들로서 지칭될 수 있고, 각각은 하나의 레인 폭을 갖는다(함께 네 개의 입력 레인들 및 네 개의 출력 레인들 제공한다).
어댑터블 회로(110)는, 이하 더 구체적으로 설명될 것과 같이, 전단 스토리지 인터페이스 커넥터(115)에서 장치 측 스토리지 인터페이스 또는 제어 플레인 인터페이스의 구현의 일부를 형성 할 수 있는 제 1 PCIe 엔드포인트(141) 및 제 2 PCIe 엔드포인트(142)를 포함한다. 후단 스토리지 인터페이스 커넥터(105)에서 후방 스토리지 인터페이스 커넥터(105)와 연결될 수 있는 고정 인터페이스 스토리지 장치(107)로 호스트 측 스토리지 인터페이스를 구현하기 위한 하나 이상의 PCIe 루트 포트들(또는, 루트 컴플렉스들)(150)도 포함할 수 있다.
도 2a를 참조하면, 몇몇의 실시 예들에서, 적응형 인터페이스 스토리지 장치가 제 1 상태에서 동작할 때, 제 1 멀티플렉서 채널의 제 1 셀렉터블 포트가 선택되고 제 2 멀티플렉서 채널의 제 1 셀렉터블 포트가 선택된다. 도 2a에서, 다른 환경들(예컨대, 적응형 인터페이스 스토리지 장치가 제 2 상태에서 동작할 때)에서 이들 연결들을 만드는 컨덕터들이 존재함에도 불구하고, 이러한 구성은, 쉬운 이해를 위해, 제 1 멀티플렉서 채널의 제 2 셀렉터블 포트 및 제 2 멀티플렉서 채널의 제 2 셀렉터블 포트에서 끝나는 라인들을 도면으로부터 생략함으로써 도시된다. 제 2 PCIe 엔드포인트(142)는 ((이하에서 더 구체적으로 설명될 것과 같이) 어댑터블 회로(110)의 프로그래밍의 결과로서)존재하지 않거나 (선택되지 않은 제 2 컬티플렉서 채널의 제 2 선택가능한 포트의 결과로서)존재 하지만 사용되지 않을 수 있다. 유사하게, 어댑터블 인터페이스 스토리지 장치가 (어댑터블 회로(110)의 프로그래밍의 결과로서) 제 1 상태에서 동작할 때, 이더넷 연결들(125)은 동작하지 않을 수 있다; 쉬운 이해를 위해, 이더넷 연결들에 의해 채용되는 컨덕터들이 (예컨대, 적응형 인터페이스 스토리지 장치가 제 2 상태에서 동작할 때) 존재할 수 있음에도 불구하고, 이더넷 연결들(125)을 나타내는 (예컨대, 도 1에서) 라인들을 도 2a로부터 생략함으로써 도시된다.
제 1 상태에서, 전단 스토리지 인터페이스 커넥터(115)에 존재하는 장치 측 스토리지 인터페이스는 NVMe일 수 있다. 적응형 인터페이스 스토리지 장치는 호스트(예컨대, 이하에서 더 구체적으로 설명될 것과 같이, 적응형 인터페이스 스토리지 장치를 수용하는 섀시에 연결된 호스트)로부터 NVMe 명령들을 수신 할 수 있고, 그 명령들은 전단 멀티플렉서(120), 어댑터블 회로(110), 및 후단 스토리지 인터페이스 커넥터(105)를 통해 고정 인터페이스 스토리지 장치(107)로 전송될 수 있다. 고정 인터페이스 스토리지 장치(107)는 각 명령을 처리하고, 적응형 인터페이스 스토리지 장치가 어댑터블 회로(110), 전단 멀티플랙서(120), 및 전단 스토리지 인터페이스 커넥터(115)를 통해 호스트로 전달할 수 있는 명령 응답을 수신된 각 명령에 응답하여 후단 스토리지 인터페이스 커넥터(105)를 통해 전송할 수 있다. 적응형 인터페이스 스토리지 장치는 1x4 NVMe 장치 측 스토리지 인터페이스를 호스트로 제공할 수 있다. 제 1 PCIe 엔드포인트(141)는 1x4 PCIe 엔드포인트일 수 있다; 1x4 NVMe 장치 측 스토리지 인터페이스의 네 개 레인들 중 둘(예를 들어, 첫 번째 두 레인들, 레인 "0" 및 "1")은 제 1 멀티플렉서 채널(121)을 통해 제 1 PCIe 엔드포인트(141)에 연결될 수 있고, 1x4 NVMe 장치 측 스토리지 인터페이스의 네 개의 레인들 중 다른 둘(예컨대, 제 3 및 제 4 레인, 레인들 "2" 및 "3")은 제 2 멀티플렉서 채널(122)을 통해 제 1 PCIe 엔드포인트(141)와 연결될 수 있다.
도 2b를 참조하면, 몇몇의 실시 예들에서, 적응형 인터페이스 스토리지 장치가 제 2 상태에서 동작할 때, 제 1 멀티플렉서 채널의 제 1 셀렉터블 포트가 선택되고 제 2 멀티플렉서 채널의 제 2 셀렉터블 포트가 선택된다. 도 2b에서, (예컨대, 적응형 인터페이스 스토리지 장치가 제 1 상태에서 동작할 때) 다른 환경들에서 이러한 연결들을 만드는 컨덕터들이 존재할 수 있음에도 불구하고, 쉬운 이해를 위해, 이 구성은 제 1 멀티플렉서 채널의 제 2 셀렉터블 포트 및 제 2 멀티플렉서 채널의 제 1 셀렉터블 포트에서 끝나는 라인들을 도면으로부터 생략함으로써 도시된다.
제 2 상태에서, 전단 스토리지 인터페이스 커넥터(115)에서 제공된 장치 측 스토리지 인터페이스는 하나 이상의 이더넷 연결(125) 상의 "NVMe over Fabrics"일 수 있다. 적응형 인터페이스 스토리지 장치는 이더넷 연결들(125)을 통해 "NVMe over Fabrics" 명령들을 수신하고, 그 명령들은 어댑터블 회로(110) 및 후단 스토리지 인터페이스 커넥터(105)를 통해 고정 인터페이스 저장 장치 (107)로 전달 될 수 있다. 어댑터블 회로(110)는 전단 스토리지 인터페이스 커넥터(115)에서 채용 된 "NVMe over Fabrics" 스토리지 프로토콜과 후단 스토리지 인터페이스 커넥터(105)에서 채용되는 NVMe 스토리지 프로토콜 사이의 변환을 위한 이더넷-NVMe 브리지(210)를 포함할 수 있다.
적응형 인터페이스 스토리지 장치가 제 1 상태에서 동작 할 때와 같이, 적응형 인터페이스 스토리지 장치가 제 2 상태에서 동작 할 때, 고정 인터페이스 스토리지 장치(107)는 스토리지 장치(107)가 수신한 각 명령을 처리하여 각각의 수신된 명령에 대해 후단 스토리지 인터페이스 커넥터(105)를 통해 적응형 인터페이스 스토리지 장치가 어댑터블 회로(110) 및 전단 스토리지 인터페이스 커넥터(115)를 통해 호스트로 되돌려 전송할 수 있는 명령 응답을 전송할 수 있다. 적응형 인터페이스 스토리지 장치는 "NVMe over Fabrics" 장치 측 스토리지 인터페이스를 호스트로 제공할 수 있다.
적응형 인터페이스 스토리지 장치가 제 2 상태에서 동작 할 때, 제 1 PCIe 엔드포인트(141)는 1x4 PCIe 엔드포인트 일 수 있고 제 2 PCIe 엔드포인트(142)도 1x4 PCIe 엔드포인트 일 수 있다; 제 1 PCIe 엔드포인트(141) 및 제 2 PCIe 엔드포인트(142)가 함께 제 1 전단 스토리지 인터페이스 커넥터(115)에서 제 1 멀티플랙서 채널(121) 및 제 2 멀티플랙서 채널(122)을 통해 제어 플레인 동작들을 위한 2x2(투 바이 투) PCIe 링크들을 제공할 수 있다. 이러한 제어 플레인 동작들은, 예로서, 고정 인터페이스 저장 장치(107)의 소거 코드들을 업데이트하거나 적응형 인터페이스 스토리지 장치에서 펌웨어를 업그레이드하는 것을 포함 할 수 있다.
도 2a 및 도 2b로부터 보이듯이, 제 1 멀티플렉서 채널(121)의 상태는 적응형 인터페이스 스토리지 장치의 제 1 상태 및 적응형 인터페이스 저장 장치의 제 2 상태에서 동일 할 수 있다(그리고, 제 1 멀티플렉서 채널(121)의 제 2 셀렉터블 포트는 "연결되지 않을 수 있다”, 즉, 다른 어떤 구성요소와 연결되지 않을 수 있다). 제 2 멀티플렉서 채널(122)을 통해 연결된 PCIe 레인들에 지연 균등화를 제공하기 위한 시스템에 포함될 수 있다. 적응형 인터페이스 스토리지 장치가 제 1 상태서 동작할 때 및 적응형 스토리지 장치가 제 2 상태에서 동작할 때 모두, 적응형 인터페이스 스토리지 장치는 호스트 측 "1x4 NVMe" 스토리지 인터페이스를 고정 인터페이스 스토리지 장치(107)로 제공하고, 이후 장치 측 "1x4 NVMe" 스토리지 인터페이스를 적응형 인터페이스 스토리지 장치에 제공할 수 있다.
도 3a 및 3b를 참조하면, 몇몇의 실시 예들에서, 이상 언급된 바와 같이, 적응형 인터페이스 스토리지 장치가 섀시에 설치된다. 적응형 인터페이스 스토리지 장치는 적응형 인터페이스 스토리지 장치가 제 1 상태 및 제 2 상태 사이에서 선택하기 위한 신호를 수신하는 핀(예컨대, 전단 스토리지 인터페이스 커넥터(115)가 U.2 커넥터인 경우, U.2 커넥터의 "E6"핀)을 가질 수 있다. 섀시는, 제 1 상태에서 동작할 적응형 인터페이스 스토리지 장치로 신호하기 위한 접지 전압(도 3a에서와 같이), 또는 제 2 상태에서 동작할 적응형 인터페이스 스토리지 장치로 신호하기 위한 "Vdd"(도 3b에서와 같이)에 핀을 연결하는 배선(wiring)을 가질 수 있다. 이하 더 구체적으로 설명될 것과 같이, 적응형 인터페이스 스토리지 장치의 회로는 전단 멀티플랙서(120)를 세팅하고 어댑터블 회로(110)를 프로그래밍함으로써 적응형 인터페이스 스토리지 장치가 신호(예컨대, "E6"핀에서 수신된 신호)에 의해 식별된 상태에서 동작하게 할 수 있다.
도 4를 참조하면, 몇몇의 실시 예들에서, (어댑터블 회로(110)의 구성 포트(예컨대, 어댑터블 회로(110)의 SPI(Serial Peripheral Interface) 구성포트)를 통해) 시작될 때 어댑터블 회로(110)에 의해 로드된 비트파일들은 적응형 인터페이스 스토리지 장치가 동작중인 때의 상태에 기초하여 선택된다. 예로서, 적응형 인터페이스 스토리지 장치가 제 1 상태에서 동작할 때, 비트파일 멀티플렉서(410)는 어댑터블 회로(110)의 구성 포트를 제 1 상태에서 동작하기 위한 어댑터블 회로(110)를 구성하기 위한 비트파일을 저장하는 제 1 메모리(421)(예컨대, SPI 플래시 메모리)와 연결시키고, 제 2 상태에서, 비트파일 멀티플렉서(410)는 어댑터블 회로(110)의 구성 포트를 제 2 상태에서 동작하기 위한 어댑터블 회로(110)를 구성하기 위한 비트파일들을 저장하는 제 2 메모리(422)(예컨대, SPI 플래시 메모리)와 연결시킬 수 있다. 이와 같이, 메모리(421)는 제 1 상태를 위한 비트파일들만을 저장할 수 있고, 메모리(422)는 제 2 상태를 위한 비트파일들만을 저장할 수 있다. 제 1 메모리(421) 및 제 2 메모리(422) 각각의 비트파일들중 하나는 PCIe 부분을 포함할 수 있으며, PCIe 부분은 어댑터블 회로(110)로 읽히고 먼저 구현 될 수 있으며, PCIe 엔드포인트들(141 및 142) 및 루트 포인트(150)가 PCIe 링크 트레이닝에 참여하도록 제 시간에 구성되게 한다. 어댑터블 회로(110)의 나머지는, PCIe 링크 트레이닝이 발생하는 동안 또는 PCIe 링크 트레이닝이 성공적으로 완료된 후에, 또는 PCIe 트레이닝 동안 및 PCIe 트레이닝 이후 모두에 구성될 수 있다.
(전단 멀티플랙서(120)에 의해 생성되는 연결들을 어댑터블 회로(110)에 프로그래밍하는 대신) 외부 하드웨어 전단 멀티플랙서(120)를 사용하는 것은, 어댑터블 회로(110)를 구성하는 것이 PCIe 링크들의 훈련을 위해 PCIe 표준에 의해 할당된 시간 보다 긴 시간을 소모하는 경우에 발생할 수 있는 문제들을 회피할 수 있다.
비록 여기에서 “제 1”“제 2”“제3”등의 용어들은 다양한 요소들, 성분들, 영역들, 층들 및/또는 섹션들을 설명하기 위해 사용되지만, 이러한 요소들, 성분들, 영역들, 층들 및/또는 섹션들은 이러한 용어들로 인해 제한되지 않는 것으로 이해될 것이다. 이러한 용어들은 다른 요소, 성분, 영역, 층, 또는 섹션으로부터 하나의 요소, 구성, 영역, 층 또는 섹션을 구별하기 위해 사용된다. 따라서, 후술하는 제 1 구성 요소, 성분, 영역, 층, 또는 섹션은 발명 개념의 사상 및 범위를 벗어나지 않고, 제 2 구성 요소, 성분, 영역, 층, 또는 섹션을 지칭 할 수 있다.
하나의 요소 또는 도면에서 도시된 다른 구성 요소(들) 또는 특징(들)과의 특징적인 관계를 설명하기 위한 설명을 용이하게 하기 위해 “아래의”, “아래”, “낮은”, “특정 부분 아래”, “위에”, “상부”와 같은 공간적이고 상대적인 용어들이 여기에서 사용될 수 있다. 공간적이고 상대적인 용어들은 도면에서 묘사된 방향에 더해 사용 또는 동작에서 장치의 다른 방향들을 포함하도록 의도된 것이 이해될 것이다. 예를 들면, 만약 도면의 장치가 뒤집어지면, 다른 구성 요소들 또는 특징들의 “아래” 또는 “아래의” 또는 “특정 부분 아래”로 설명된 구성요소들은 다른 구성 요소들 또는 특징들의 “위로” 맞춰지게 된다. 따라서, “아래의” 또는 “특정 부분 아래”의 예시적인 용어들은 위 또는 아래 방향 모두를 포함할 수 있다. 장치는 다르게 맞춰질 수 있으며(예를 들면, 90도 도는 다른 방향으로 회전됨) 이에 따라 공간적으로 상대적인 기술어들은 그에 따라 해석되어야 한다. 또한, 두 층들 “사이에”로 지칭될 때, 두 층들 사이에 하나의 층만이 있거나 하나 이상의 사이의 층들도 존재할 수 있다는 것 또한 이해될 것이다.
본 명세서에서 사용된 용어들은 단지 특정한 실시 예들을 설명하기 위한 것이고, 발명의 개념을 제한하려는 것으로 의도되지 않는다. 본 명세서에서 사용된 바와 같이, “대체로”, “약” 용어 그리고 이와 유사한 용어들은 근사치의 용어들로서 사용되고, 정도의 용어들로서 사용되지 않고. 본 발명의 당업자에 의해 식별되는 측정된 또는 계산된 값들의 고유한 변동들을 고려하도록 의도된다.
본 명세서에서 사용되는 바와 같이, 문맥상 명백히 다르게 지시하지 않는 한 단수 형태는 본 발명의 개념의 설명 및 부가된 청구항에 사용될 때, 복수의 형태를 포함하는 것으로 의도된다. 그리고 “포함하는” 또는 “포함하며, 한정되지 않는”의 용어가 본 명세서에 사용되는 경우, 기술된 특징, 영역, 숫자, 단계, 동작, 구성, 및/또는 부품들의 존재를 명기하는 것이며, 이들의 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성, 부품, 및/또는 그룹의 존재 또는 부가를 배제하지 않는 것으로 더 이해되어야 한다. 본 명세서에서 사용되는 것과 같이, “및/또는” 용어는 하나 이상의 관련되어 나열된 아이템들의 임의의 및 모든 조합들을 포함한다. “적어도 하나”와 같은 표현들은 요소들 전체 리스트를 수정하고 그리고 리스트의 개별 요소들을 수정하지 않는다. 또한, "할 수 있다"의 사용은 본 발명의 실시 예들을 설명할 때 "본 발명의 하나 이상의 실시 예들"을 지칭한다. 또한, "예시적인" 용어는 예시 또는 실시 예를 지칭하도록 의도된다.본 명세서에서 사용된 바와 같이, “사용하다”, “사용하는”, 및 “사용된” 용어들은 “이용하다”, “이용하는”, 그리고 “이용된” 용어들의 동의어로 각각 간주 될 수 있다.
구성요소 또는 레이어가 다른 구성요소 또는 레이어와 "위에 있다", "연결된다", "결합된다", 또는 "인접하다"라고 언급될 때는, 다른 구성요소 또는 레이어 상에 직접적으로 있거나, 연결되거나, 결합되거나 인접할 수 있고, 또는 하나 이상의 사이에 위치하는 구성요소들 또는 레이어들이 존재할 수 있다. 반면, 구성요소가 다른 구성요소 또는 레이어에 “직접적으로 위에 있다”, “직접적으로 연결된다”, “직접적으로 결합된다”, 또는 “바로 인접한다”라고 언급될 때는, 사이에 위치하는 구성요소들 또는 레이어들이 존재하지 않는다.
본 명세서에서 나열된 임의의 수의 범위는 나열된 범위 내에 포함된 동일한 수의 정확성의 모든 하위 범위들을 포함하도록 의도된다. 예로서, “에서 10.0”의 범위는 나열된 최소 값 1.0과 나열된 최대 값 10.0 사이의(그리고 포함된) 모든 하위 범위들을 포함하도록, 즉, 예로서, 2.4 에서 7.6과 같이, 1.0와 같거나 큰 최소 값 및 10.0과 같거나 작은 최소 값을 갖는 하위 그룹들을 포함하도록 의도된다. 본 명세서에서 나열된 임의의 최대 수의 제한은 여기에 포함되는 모든 더 낮은 수의 제한들을 포함하도록 의도되고, 본 명세서에서 나열된 임의의 최소 수의 제한은 여기에 포함된 모든 더 높은 수의 제한들을 포함하도록 의도된다.
본 명세서에서 적응형 인터페이스 스토리지 장치의 예시적인 실시 예들이 구체적으로 설명되고 도시되었으나, 많은 수정들과 변형들이 당업자에게 명확할 것이다. 따라서, 본 개시의 원리들에 따라 설명되는 적응형 인터페이스 스토리지 장치가 본 명세서에서 구체적으로 설명되는 것 외의 실시 예가 구현될 수 있다는 것이 이해될 것이다.

Claims (20)

  1. 제 1 커넥터;
    상기 제 1 커넥터와 연결되는 제 1 회로;
    상기 제 1 회로와 연결되는 제 2 회로; 및
    상기 제 2 회로와 연결되는 제 2 커넥터를 포함하되,
    제 1 상태 또는 제 2 상태에서 동작하고, 상기 제 1 상태에서 상기 제 2 커넥터에서 제 1 프로토콜에 따라 제 1 인터페이스를 제공하고, 상기 제 2 상태에서 상기 제 1 프로토콜과 상이한 제 2 프로토콜에 따라 제 2 인터페이스를 제공하도록 구성되고,
    상기 제 2 프로토콜은 NVMeoF(NVMe over Fabric)이고,
    상기 제 1 회로는 제 1 엔드포인트(endpoint) 및 제 2 엔드포인트를 포함하고,
    상기 제 2 회로는,
    상기 제 2 커넥터와 연결되는 제 1 멀티플렉서 채널 공통 포트를 갖는 제 1 멀티플렉서 채널, 및
    상기 제 2 커넥터와 연결되는 제 2 멀티플렉서 채널 공통 포트,
    상기 제 1 엔드포인트와 연결되는 제 2 멀티플렉서 채널 제 1 셀렉터블(selectable) 포트, 및
    상기 제 2 엔드포인트와 연결되는 제 2 멀티플렉서 채널 제 2 셀렉터블 포트를 갖는 제 2 멀티플렉서 채널을 포함하는 제 1 멀티플렉서인 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 제 1 멀티플렉서 채널은 상기 제 1 엔드포인트와 연결되는 제 1 멀티플렉서 채널 제 1 셀렉터블 포트를 갖는 장치.
  4. 제 3 항에 있어서,
    상기 제 1 멀티플렉서 채널은 제 1 멀티플렉서 채널 제 2 셀렉터블 포트를 갖고, 상기 제 1 멀티플렉서 채널 제 2 셀렉터블 포트는 연결되지 않은 상태이고, 상기 제 1 상태에서 상기 제 1 멀티플렉서 채널 제 1 셀렉터블 포트가 선택되고, 상기 제 2 상태에서 상기 제 1 멀티플렉서 채널 제 1 셀렉터블 포트가 선택되는 장치.
  5. 제 1 항에 있어서,
    상기 제 1 프로토콜은 NMVe인 장치.
  6. 제 1 항에 있어서,
    상기 제 1 회로는 상기 제 2 커넥터의 제 1 복수의 컨덕터에 연결되고, 상기 제 2 상태에서 상기 제 1 회로는 상기 제 1 복수의 컨덕터에서 이더넷 인터페이스를 제공하도록 구성되는 장치.
  7. 제 6 항에 있어서,
    상기 제 2 프로토콜은 상기 이더넷 인터페이스 상의 NVMeoF인 장치.
  8. 제 1 항에 있어서,
    상기 제 1 상태에서, 상기 제 2 멀티플렉서 채널 제 1 셀렉터블 포트가 선택되는 장치.
  9. 제 8 항에 있어서,
    상기 제 2 상태에서, 상기 제 2 멀티플렉서 채널 제 2 셀렉터블 포트가 선택되는 장치.
  10. 제 9 항에 있어서,
    상기 제 2 상태에서, 상기 제 2 커넥터에서 제 1 제어 플레인(plane)을 제공하도록 더 구성되는 장치.
  11. 제 1 항에 있어서,
    상기 제 1 엔드포인트는 4 레인 엔드포인트이고, 상기 제 2 엔드포인트는 4 레인 엔드포인트이고, 상기 제 2 멀티플렉서 채널 공통 포트는 두 개의 입력 레인들과 두 개의 출력 레인들을 갖는 장치.
  12. 제 1 항에 있어서,
    상기 제 1 회로는, 구성 포트를 갖고 시스템 시작 시 상기 구성 포트를 통해 비트파일을 로드하도록 구성되는 프로그래머블(progarmmable) 어댑터블 회로인 장치.
  13. 제 12 항에 있어서,
    상기 제 2 회로는 제 1 멀티플렉서이고,
    제 1 비트파일 메모리;
    제 2 비트파일 메모리; 및
    제 2 멀티플렉서를 더 포함하되,
    상기 제 2 멀티플렉서는:
    상기 구성 포트와 연결되는 제 2 멀티플렉서 공통 포트,
    상기 제 1 비트파일 메모리와 연결되는 제 2 멀티플렉서 제 1 셀렉터블 포트, 및
    상기 제 2 비트파일 메모리와 연결되는 제 2 멀티플렉서 제 2 셀렉터블 포트를 갖는 장치.
  14. 제 13 항에 있어서,
    상기 제 1 상태에서 상기 제 2 멀티플렉서 제 1 셀렉터블 포트가 선택되고, 상기 제 2 상태에서 상기 제 2 멀티플렉서 제 2 셀렉터블 포트가 선택되는 장치.
  15. 제 1 항에 있어서,
    상기 제 2 커넥터는 U.2 커넥터인 장치.
  16. 제 1 항에 있어서,
    상기 제 1 상태 및 상기 제 2 상태의 사이에서 선택하기 위한 신호를 수신하도록 구성되는 상태 제어 입력을 더 포함하는 장치.
  17. 제 16 항에 있어서,
    상기 제 2 커넥터는 E6 핀을 갖는 U.2 커넥터이고, 상기 상태 제어 입력은 상기 E6 핀인 장치.
  18. 제 1 커넥터;
    상기 제 1 커넥터와 연결되는 제 1 회로;
    상기 제 1 회로와 연결되는 제 2 회로;
    상기 제 2 회로와 연결되는 제 2 커넥터; 및
    상기 제 1 커넥터와 연결되는 영구 스토리지를 포함하되,
    제 1 상태 또는 제 2 상태에서 동작하고, 상기 제 1 상태에서 상기 제 2 커넥터에서 장치 측(side) NVMe 스토리지 인터페이스를 제공하고, 상기 제 2 상태에서 상기 제 2 커넥터에서 장치 측 NVMeoF(NVMe over Fabrics) 스토리지 인터페이스를 제공하도록 구성되고,
    상기 제 1 회로는 제 1 엔드포인트(endpoint) 및 제 2 엔드포인트를 포함하고,
    상기 제 2 회로는,
    상기 제 2 커넥터와 연결되는 제 1 멀티플렉서 채널 공통 포트를 갖는 제 1 멀티플렉서 채널, 및
    상기 제 2 커넥터와 연결되는 제 2 멀티플렉서 채널 공통 포트,
    상기 제 1 엔드포인트와 연결되는 제 2 멀티플렉서 채널 제 1 셀렉터블(selectable) 포트, 및
    상기 제 2 엔드포인트와 연결되는 제 2 멀티플렉서 채널 제 2 셀렉터블 포트를 갖는 제 2 멀티플렉서 채널을 포함하는 제 1 멀티플렉서인 장치.
  19. 섀시; 및
    장치를 포함하되,
    상기 장치는:
    제 1 커넥터;
    상기 제 1 커넥터와 연결되는 제 1 회로,
    상기 제 1 회로와 연결되는 제 2 회로; 및
    상기 제 2 회로와 연결되는 제 2 커넥터를 포함하되,
    상기 장치는 제 1 상태 또는 제 2 상태에서 동작하고, 상기 제 1 상태에서 상기 제 2 커넥터에서 제 1 프로토콜에 따라 제 1 인터페이스를 제공하고, 상기 제 2 상태에서 상기 제 2 커넥터에서 상기 제 1 프로토콜과 상이한 제 2 프로토콜에 따라 제 2 인터페이스를 제공하도록 구성되고,
    상기 제 2 프로토콜은 NVMeoF(NVMe over Fabrics)이고,
    상기 제 1 회로는 제 1 엔드포인트(endpoint) 및 제 2 엔드포인트를 포함하고,
    상기 제 2 회로는,
    상기 제 2 커넥터와 연결되는 제 1 멀티플렉서 채널 공통 포트를 갖는 제 1 멀티플렉서 채널, 및
    상기 제 2 커넥터와 연결되는 제 2 멀티플렉서 채널 공통 포트,
    상기 제 1 엔드포인트와 연결되는 제 2 멀티플렉서 채널 제 1 셀렉터블(selectable) 포트, 및
    상기 제 2 엔드포인트와 연결되는 제 2 멀티플렉서 채널 제 2 셀렉터블 포트를 갖는 제 2 멀티플렉서 채널을 포함하는 제 1 멀티플렉서인 시스템.
  20. 제 19 항에 있어서,
    상기 장치는 상기 제 1 상태와 상기 제 2 상태 사이에서 선택하기 위한 신호를 수신하도록 구성되는 상태 제어 입력을 더 포함하고, 상기 섀시는 상기 상태 제어 입력으로 상기 제 1 상태를 선택하기 위한 신호를 공급하기 위해 하드 와이어 처리(hard-wired)되는 시스템.
KR1020190002494A 2018-03-09 2019-01-08 적응형 인터페이스 스토리지 장치 KR102457658B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862641246P 2018-03-09 2018-03-09
US62/641,246 2018-03-09
US16/020,923 2018-06-27
US16/020,923 US10521378B2 (en) 2018-03-09 2018-06-27 Adaptive interface storage device with multiple storage protocols including NVME and NVME over fabrics storage devices

Publications (2)

Publication Number Publication Date
KR20190106660A KR20190106660A (ko) 2019-09-18
KR102457658B1 true KR102457658B1 (ko) 2022-10-24

Family

ID=67842668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002494A KR102457658B1 (ko) 2018-03-09 2019-01-08 적응형 인터페이스 스토리지 장치

Country Status (5)

Country Link
US (4) US10521378B2 (ko)
JP (1) JP7206130B2 (ko)
KR (1) KR102457658B1 (ko)
CN (2) CN114398305B (ko)
TW (1) TWI796398B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10346041B2 (en) 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US10372659B2 (en) 2016-07-26 2019-08-06 Samsung Electronics Co., Ltd. Multi-mode NMVE over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10521378B2 (en) * 2018-03-09 2019-12-31 Samsung Electronics Co., Ltd. Adaptive interface storage device with multiple storage protocols including NVME and NVME over fabrics storage devices
CN111383154A (zh) * 2020-04-02 2020-07-07 广东金宇恒软件科技有限公司 一种数据接口及便于管理的公共财政预算管理一体化平台系统
TWI759772B (zh) * 2020-06-19 2022-04-01 英業達股份有限公司 快速周邊組件互連資料傳輸控制系統
US11770271B2 (en) 2020-08-21 2023-09-26 Samsung Electronics Co., Ltd. Data center

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251609A1 (en) * 2004-05-04 2005-11-10 Horng-Yee Chou Removable peripheral device
CN100479368C (zh) * 2007-06-15 2009-04-15 中兴通讯股份有限公司 交换机防火墙插板
US9736012B2 (en) * 2008-11-14 2017-08-15 Dell Products, Lp System and method for sharing storage resources
US9471484B2 (en) * 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
US20140089609A1 (en) 2012-09-26 2014-03-27 Advanced Micro Devices, Inc. Interposer having embedded memory controller circuitry
KR101744465B1 (ko) * 2013-11-26 2017-06-07 인텔 코포레이션 데이터를 저장하기 위한 방법 및 장치
EP3117583A4 (en) * 2014-03-08 2017-11-01 Diamanti, Inc. Methods and systems for converged networking and storage
US9304690B2 (en) * 2014-05-07 2016-04-05 HGST Netherlands B.V. System and method for peer-to-peer PCIe storage transfers
US9684575B2 (en) 2014-06-23 2017-06-20 Liqid Inc. Failover handling in modular switched fabric for data storage systems
US9842075B1 (en) * 2014-09-12 2017-12-12 Amazon Technologies, Inc. Presenting multiple endpoints from an enhanced PCI express endpoint device
CN104572555B (zh) * 2014-12-15 2017-08-11 浙江大学 可重构自适应接口电路
US9767856B2 (en) 2015-02-10 2017-09-19 Netapp, Inc. High density storage device system
US10114778B2 (en) * 2015-05-08 2018-10-30 Samsung Electronics Co., Ltd. Multi-protocol IO infrastructure for a flexible storage platform
US10572426B2 (en) * 2015-06-02 2020-02-25 Nxp Usa, Inc. System-level redundancy in PCI express equipment
CN106339343B (zh) 2015-07-10 2021-03-26 爱思开海力士有限公司 快速外设组件互联卡
US20170068628A1 (en) * 2015-09-08 2017-03-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing ethernet latency in a multi-server chassis
WO2017100941A1 (en) * 2015-12-18 2017-06-22 Nanoport Technology Inc. Protocol selection
US10235314B2 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Fabric for modular solid-state storage systems
US10210121B2 (en) 2016-01-27 2019-02-19 Quanta Computer Inc. System for switching between a single node PCIe mode and a multi-node PCIe mode
US10289560B2 (en) * 2016-03-10 2019-05-14 Toshiba Memory Corporation Switch module and storage system
US10210123B2 (en) * 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
KR102155659B1 (ko) * 2016-07-26 2020-09-14 삼성전자주식회사 멀티-모드 장치 및 그것의 동작 방법
US10346041B2 (en) * 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US20180188974A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Computer program product, system, and method to allow a host and a storage device to communicate using different fabric, transport, and direct memory access protocols
US10141050B1 (en) * 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
CN107220195A (zh) 2017-05-26 2017-09-29 郑州云海信息技术有限公司 一种支持高密度NVMe存储的多路计算机系统架构
US11016924B2 (en) * 2018-03-01 2021-05-25 Samsung Electronics Co., Ltd. System and method for supporting multi-mode and/or multi-speed non-volatile memory (NVM) express (NVMe) over fabrics (NVMe-oF) devices
US10649940B2 (en) * 2018-03-05 2020-05-12 Samsung Electronics Co., Ltd. Modular system architecture for supporting multiple solid-state drives
US10521378B2 (en) * 2018-03-09 2019-12-31 Samsung Electronics Co., Ltd. Adaptive interface storage device with multiple storage protocols including NVME and NVME over fabrics storage devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
미국공개특허 제2017-0185554호(2017.06.29.) 1부.*
한국공개특허 제10-2018-0012191호(2018.02.05.) 1부.*

Also Published As

Publication number Publication date
TWI796398B (zh) 2023-03-21
US20200097425A1 (en) 2020-03-26
TW201945955A (zh) 2019-12-01
CN110245104A (zh) 2019-09-17
JP2019160307A (ja) 2019-09-19
JP7206130B2 (ja) 2023-01-17
US10521378B2 (en) 2019-12-31
US20210141752A1 (en) 2021-05-13
US10901927B2 (en) 2021-01-26
KR20190106660A (ko) 2019-09-18
US20190278725A1 (en) 2019-09-12
CN114398305B (zh) 2023-05-23
CN110245104B (zh) 2022-02-01
CN114398305A (zh) 2022-04-26
US11775462B2 (en) 2023-10-03
US20230401165A1 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
KR102457658B1 (ko) 적응형 인터페이스 스토리지 장치
KR102444327B1 (ko) 적응형 인터페이스 고 가용성 스토리지 장치
US11016924B2 (en) System and method for supporting multi-mode and/or multi-speed non-volatile memory (NVM) express (NVMe) over fabrics (NVMe-oF) devices
US5737766A (en) Programmable gate array configuration memory which allows sharing with user memory
US20080272804A1 (en) Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an fpga
KR101884070B1 (ko) PCIe 테스트 장치
US10789000B2 (en) Variable electronic apparatus
US9378074B2 (en) Server system
CN101639692B (zh) 多可编程逻辑器件的控制方法、设备和系统
US20050271078A1 (en) System and method for configuring communication systems
US20200349984A1 (en) Semiconductor package configuration for reduced via and routing layer requirements

Legal Events

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