KR102262807B1 - 불휘발성 메모리 모듈 어레이 시스템 - Google Patents

불휘발성 메모리 모듈 어레이 시스템 Download PDF

Info

Publication number
KR102262807B1
KR102262807B1 KR1020160009471A KR20160009471A KR102262807B1 KR 102262807 B1 KR102262807 B1 KR 102262807B1 KR 1020160009471 A KR1020160009471 A KR 1020160009471A KR 20160009471 A KR20160009471 A KR 20160009471A KR 102262807 B1 KR102262807 B1 KR 102262807B1
Authority
KR
South Korea
Prior art keywords
port
nonvolatile memory
memory module
configuration
nonvolatile
Prior art date
Application number
KR1020160009471A
Other languages
English (en)
Other versions
KR20160106486A (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 KR20160106486A publication Critical patent/KR20160106486A/ko
Application granted granted Critical
Publication of KR102262807B1 publication Critical patent/KR102262807B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명의 일 실시 예는 불휘발성 메모리 모듈 어레이 시스템을 포함한다. 상기 시스템은 제1 포트, 제2 포트, 복수의 솔리드 스테이트 드라이브들, 스위치, 및 포트 구성 로직 섹션을 포함하는 하나 또는 그 이상의 불휘발성 메모리 모듈들을 포함하고, 상기 스위치는 상기 제1 및 제2 포트들 및 상기 복수의 솔리드 스테이트 드라이브들을 연결하도록 구성되고, 상기 포트 구성 로직 섹션은 상기 제2 포트와 관련된 제1 포트 구성 및 상기 제2 포트와 관련된 제2 포트 구성 사이를 토글하도록 구성된다.

Description

불휘발성 메모리 모듈 어레이 시스템{NON-VOLATILE MEMORY MODULE ARRAY SYSTEM}
본 발명은 메모리 모듈 어레이들에 관한 것으로, 더욱 상세하게는 향상된 집적화 및 구성 가능한 불휘발성 메모리 모듈 어레이에 관한 것이다.
플래시 메모리 모듈들과 같은 불휘발성 메모리 모듈들을 포함하는 최신 장치들의 개수가 급격히 증가하고 있다. 예를 들어, 인터넷 가능 장치들, 컴퓨터 서버 팜들, 모바일 장치들, 고속 네트워크들 등은 비용, 용량, 및 성능을 포함하는 불휘발성 메모리 모듈들의 특별한 이점을 갖는다. 성능 및 용량을 증가시키기 위하여, 불휘발성 메모리 메모리 모듈들을 공유된 어레이들로 그룹화하는 시도가 수행되고 있다.
그러나, 일반적인 불휘발성 메모리 모듈 어레이들은 제한된 스케일링 및 고정된 구성들과 같은 문제점이 있다. 예를 들어, 일반적인 처리 방법들은 특정 애플리케이션 각각을 위하여 특별하거나 또는 주문 제작된 어레이를 설계하는 것을 포함한다. 각 애플리케이션들은 요구사항들이 서로 다르기 때문에, 다른 애플리케이션들을 목표로 하는 것은 다른 설계들을 요구한다. 이는 긴 디자인 주기 및 짧은 제품 수명을 야기한다. 본 발명의 기술적 사상에 따른 실시 예들은 이러한 문제 및 종래 기술에서의 다른 제약들을 해결한다.
본 발명의 목적은 본 발명의 기술적 사상에 따른 실시 예들은 상술된 문제 및 종래 기술에서의 다른 제약들을 해결하기 위한, 불휘발성 메모리 모듈 어레이 시스템을 제공하는데 있다.
본 발명의 일 실시 예는 불휘발성 메모리 모듈 어레이 시스템을 포함한다. 상기 시스템은 제1 포트, 제2 포트, 복수의 솔리드 스테이트 드라이브들, 스위치, 및 포트 구성 로직 섹션을 포함하는 하나 또는 그 이상의 불휘발성 메모리 모듈들을 포함하고, 상기 스위치는 상기 제1 및 제2 포트들 및 상기 복수의 솔리드 스테이트 드라이브들을 연결하도록 구성되고, 상기 포트 구성 로직 섹션은 상기 제2 포트와 관련된 제1 포트 구성 및 상기 제2 포트와 관련된 제2 포트 구성 사이를 토글하도록 구성된다.
실시 예로서, 상기 포트 구성 로직 섹션은 상기 제2 포트와 관련된 상기 제1 포트 구성을 저장하도록 구성되는 제1 불휘발성 구성 섹션, 및 상기 제2 포트와 관련된 상기 제2 포트 구성을 저장하도록 구성되는 제2 불휘발성 구성 섹션을 포함하고, 상기 제1 포트 구성은 상기 제2 포트가 다운스트림 포트로써 동작하도록 하고, 상기 제2 포트 구성은 상기 제2 포트가 업스트림 포트로써 동작하도록 하는 것을 특징으로 한다.
본 발명의 일 실시 예에 따르면, 불휘발성 메모리 모듈 어레이를 구성하기 위한 컴퓨터 실행 방법이 제공된다. 상기 어레이의 불휘발성 메모리 모듈들 각각은 제1 포트 및 제2 포트를 포함한다. 상기 컴퓨터 실행 방법은, 상기 복수의 불휘발성 메모리 모듈들 중 제1 불휘발성 메모리 모듈의 선택기에 의해, 상기 제2 포트와 관련된 제1 포트 구성 및 상기 제2 포트와 관련된 제2 포트 구성 중 적어도 하나를 선택하는 단계, 상기 제2 포트 구성을 선택한 상기 선택기에 응답하여 상기 제1 불휘발성 메모리 모듈의 제2 포트를 업스트림 포트로 구성하는 단계, 및 상기 제1 포트 구성을 선택한 상기 선택기에 응답하여 상기 제1 불휘발성 메모리 모듈의 제2 포트를 다운스트림 포트로 구성하는 단계를 포함한다.
본 발명의 일 실시 예는 불휘발성 메모리 모듈을 포함한다. 상기 불휘발성 메모리 모듈은 제1 포트, 제2 포트, 복수의 솔리드 스테이트 드라이브들, 상기 제1 포트 및 상기 제2 포트를 상기 복수의 솔리드 스테이트 드라이브들로 연결하도록 구성되는 스위치, 및 포트 구성 로직 섹션을 포함한다. 상기 포트 구성 로직 섹션은 상기 제2 포트와 관련된 제1 포트 구성을 저장하도록 구성되는 제1 불휘발성 구성; 및 상기 제2 포트와 관련된 제2 포트 구성을 저장하도록 구성되는 제2 불휘발성 구성을 포함하고, 상기 제1 포트 구성은 상기 제2 포트가 다운스트림 포트로서 동작하도록 하고, 상기 제2 포트 구성은 상기 제2 포트가 업스트림 포트로서 동작하도록 하고, 상기 포트 구성 로직 섹션은 상기 제2 포트와 관련된 상기 제1 포트 구성 및 상기 제2 포트와 관련된 제2 포트 구성 사이를 토글하도록 구성된다.
본 발명에 따르면, 향상된 성능 및 증가된 용량을 갖는 불휘발성 메모리 모듈 어레이 시스템이 제공된다.
도 1은 본 발명의 실시 예에 따른 미사용된 포트들을 사용하여 병렬적인 확장 구성의 불휘발성 메모리 모듈 어레이 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 연속적인 포트들을 포함하는 연속적인 확장 구성의 불휘발성 메모리 모듈 어레이 시스템을 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 X2 대역폭 확장 구성의 불휘발성 메모리 모듈 시스템을 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 X2 대역폭 및 연속적인 하이브리드 확장 구성의 불휘발성 메모리 모듈 어레이를 보여주는 블록도이다.
도 5는 본 발명의 실시 예에 따른 X2 대역폭, 병렬적인, 및 연속적인 하이브리드 확장 구성의 불휘발성 메모리 모듈 어레이 시스템을 보여주는 블록도이다.
도 6은 본 발명의 실시 예에 따른 병렬적인 확장 구성, 연속적인 확장 구성 또는 대역폭 확장 구성에서, 불휘발성 메모리 모듈 어레이를 구성하기 위한 기법을 보여주는 순서도이다.
도 7은 불휘발성 메모리 모듈 및 호스트를 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
첨부된 도면들에 도시된 실시 예들을 참조하여, 본 발명의 실시 예들이 상세하게 설명된다. 이하의 상세한 설명에서, 다양한 상세한 설명들은 본 발명의 완벽한 이해를 위한 것이다. 그러나, 이러한 상세한 설명들 없이 당업자에 의해 이해될 수 있다. 다른 예로서, 실시 예의 사상이 불필요하게 모호해지지 않기 위하여, 잘 알려진 방법들, 절차들, 구성들, 회로들, 및 네트워크들은 상세하게 설명되지 않는다.
비록 다양한 요소들을 설명하기 위하여, 제1, 제2 등과 같은 용어들이 본문에서 사용될 수 있으나, 이러한 요소들은 이러한 용어들에 의해 한정되지 않음은 잘 이해될 것이다. 이러한 용어들은 오직 다른 구성들로부터 하나의 구성을 구분하기 위하여 사용된다. 예를 들어, 본 발명의 기술적 사상으로부터의 벗어남 없이, 제1 불휘발성 메모리 모듈은 제2 불휘발성 메모리 모듈을 지칭할 수 있고, 유사하게, 제2 불휘발성 메모리 모듈은 제1 불휘발성 메모리 모듈을 지칭할 수 있다.
본 발명의 상세한 설명에서 사용되는 전문 용어는 특정 실시 예들을 설명하기 위한 것이며, 본 발명의 한정을 의도하는 것은 아니다. 첨부된 특허청구범위 및 본 발명의 상세한 설명에서 사용된 바와 같이, 하나, 상기와 같은 단수 용어들은 복수의 형태들을 포함할 수 있다. 본문에서 사용되는 "또는"의 용어는 하나 또는 그 이상의 관련된 객체들의 가능한 조합들을 포함한다. 또한, 본문에서 사용되는 "포함하다"의 용어는 언급된 특징들, 숫자들, 단계들, 동작들, 요소들, 또는 구성들의 존재를 특정하나, 추가적인 하나 또는 그 이상의 특징들, 숫자들, 단계들, 동작들, 요소들, 또는 구성들의 추가를 배제하지 않는다. 도면들의 구성들 및 특징들 반드시 일정한 비율로 도시된 것은 아니다.
본 발명의 실시 예는 높은 확장성 및 구성 가능성을 갖는 (highly scalable and configurable) 불휘발성 메모리 모듈 어레이 시스템을 포함한다. 불휘발성 메모리 모듈 어레이 시스템은 단일 설계 및 다른 설정 조합들을 사용하여 다양한 요구들을 이행할 수 있다. 예를 들어, 불휘발성 메모리 모듈 어레이는 PCIe (peripheral component interconnect express) 버스에 장착될 수 있는 SSD(solid-state drives)와 호환되는 NVMe(Nonvolatile Memory express)를 포함할 수 있다. 다른 설정 조합들은 하드웨어 설정 조합일 수 있다. 각 불휘발성 메모리 모듈은 업스트림 PCIe 포트를 다수의 다운스트림 PCIe 포스들로 확장할 수 있는 PCIe 스위치를 포함할 수 있다. 이로 인하여, 다수의 NVMe 모듈들의 연결이 가능하다. 불휘발성 메모리 모듈 어레이 시스템은 병렬적인 확장성 구성 (parallel scalability configuration), 연속적인 확장성 구성 (cascading scalability configuration), X2 대역 구성(X2 bandwidth configuration), 또는 하이브리드 구성(hybrid configuration)을 포함할 수 있다.
도 1은 본 발명의 실시 예에 따른 미사용된 포트들(unused ports)을 사용하여 병렬적인 확장 구성(parallel scaling configuration)의 불휘발성 메모리 모듈 어레이 시스템을 보여주는 블록도이다. 불휘발성 메모리 모듈 어레이 시스템(100)은 하나 또는 그 이상의 불휘발성 메모리 모듈들(예를 들어, 115, 120, 125)을 포함할 수 있다. 다른 불휘발성 메모리 모듈들이 시스템(100)에 포함될 수 있음은 잘 이해될 것이다. 하나 또는 그 이상의 불휘발성 메모리 모듈들(예를 들어, 115, 120, 125)은 포트 (145, 150), 하나 또는 그 이상의 솔리드 스테이트 드라이브들(135)(SSD; solid state driver), 및 스위치(130)를 포함할 수 있다. 스위치(130)는 포트들(145, 150)을 SSD(135)와 연결하도록 구성된다. 예를 들어, 스위치(130)는 PCIe 스위치일 수 있다. 추가적으로, 하나 또는 그 이상의 불휘발성 메모리 모듈들(예를 들어, 115, 120, 125)은 포트 구성 로직 섹션(162)(port configuration logic section)을 포함할 수 있다. 포트 구성 로직 섹션(162)은 포트(150)가 업스트림 포트로써 구성되는지 또는 다운스트림 포트로써 구성되는지 판별할 수 있다. 판별 동작은 이하에서 상세하게 설명된다. 예시적으로, 병렬적인 확장 구성(parallel scaling configuration)은 포트(150)가 사용될 필요가 없다.
불휘발성 메모리 모듈 어레이 시스템(100)은 고속 버스 또는 패브릭(110)(high speed bus and/or fabric)를 포함할 수 있다. 예를 들어, 고속 버스 또는 패브릭(110)는 고속 PCIe 버스 또는 스위치드 패브릭(swiched fabric)을 포함할 수 있다. 고속 버스 또는 패브릭(110)는 배선들(165)을 통해, 하나 또는 그 이상의 불휘발성 메모리 모듈들(115, 120, 125)의 포트들(145, 150) 중 적어도 하나와 연결될 수 있다. 예시적인 실시 예, 즉, 병렬적인 확장 구성(parallel scaling configuration)에서, 고속 버스 또는 패브릭(110)은 포트(150)와 연결될 필요가 없다.
불휘발성 메모리 모듈 어레이 시스템(100)은 호스트(105)를 포함할 수 있다. 호스트(105)는 고속 버스 또는 패브릭(110)를 통해 하나 또는 그 이상의 불휘발성 메모리 모듈들(115, 120, 125)와 통신하도록 구성될 수 있다. 예를 들어, 호스트(105)는 호스트 에이전트, 호스트 컴퓨터, 호스트 프로세스, 호스트 로직 섹션, 서버 등을 포함할 수 있다. 불휘발성 메모리 모듈(115)의 포트(145)는 고속 버스 또는 고속 패브릭(110)를 통해 호스트(105)와 연결될 수 있다. 불휘발성 메모리 모듈(120)의 포트(145)는 고속 버스 또는 고속 패브릭(110)를 통해 호스트(105)와 연결될 수 있다. 불휘발성 메모리 모듈(125)의 포트(145)는 고속 버스 또는 고속 패브릭(110)를 통해 호스트(105)와 연결될 수 있다. 병렬적인 확장 구성(parallel scaling configuration)에서, 불휘발성 메모리 모듈들(115, 120, 125) 각각의 포트(150)는 호스트(105)와 연결되지 않을 수 있다.
포트 구성 로직 섹션(162)은 포트(150)와 관련된 제1 포트 구성(158) 및 포트(150)와 관련된 제2 포트 구성(126) 사이를 토글(toggle)할 수 있다. 포트 구성 로직 섹션(162)은 포트(150)와 관련된 제1 포트 구성(158)을 저장할 수 있는 불휘발성 구성 섹션(155)을 포함할 수 있다. 제1 포트 구성(158)은 포트(150)가 다운스트림 포트로써 동작하도록 할 수 있다. 포트 구성 로직 섹션(162)은 포트(150)와 관련된 제2 포트 구성(126)을 저장할 수 있는 제2 불휘발성 구성 섹션(160)을 포함할 수 있다. 제2 포트 구성(126)은 포트(150)가 업스트림 포트로써 동작하도록 할 수 있다. 예를 들어, 포트(150)가 업스트림 포트 또는 다운스트림 포트로써 구성될 수 있도록, 불휘발성 메모리 모듈들(115, 120, 125)의 포트 구성 로직 섹션(162)의 선택기(140)는 제1 포트 구성(158) 또는 제2 포트 구성(126)이 스위치(130)에 의해 엑세스되도록 할 수 있다. 선택기(140)는 다중화기, 딥 스위치(dip switch), 모듈 스트래핑 스위치 등일 수 있다. 선택기(140)는 로직에 의해 자동으로 또는 사용자에 의해 수동으로 제어될 수 있다. 본문에 기재된 다양한 실시 예들에서, 포트 구성들의 특정 조합들이 사용될 수 있다. 이는 이하에서 더욱 상세하게 설명된다.
병렬적인 확장 구성에서, 선택기(140), EEPROM(155, 160)(electrically erasable programmable read-only memory)을 포함하는 포트 구성 로직 섹션(162)은 사용 또는 활성화될 필요가 없다. 예를 들어, 저장 용량 및 대역폭을 위하여 함께 확장되는 것이 바람직한 경우, 병렬적인 확장 구성은 이점을 가질 수 있다. 다시 말해서, 하나 또는 그 이상의 SSD를 SSD(135)의 그룹에 추가함으로써, 대응하는 불휘발성 메모리 모듈의 대역폭 및 저장 용량 모두를 확장(scale-up)하는 효과를 가질 수 있다.
도 2는 본 발명의 실시 예에 따른 연속적인 포트들을 포함하는 연속적인 확장 구성(cascading scaling configuration)의 불휘발성 메모리 모듈 어레이 시스템을 보여주는 블록도이다. 불휘발성 메모리 시스템(200)은 하나 또는 그 이상의 불휘발성 메모리 모듈들(115, 120, 125)을 포함할 수 있다. 불휘발성 메모리 모듈들(115, 120, 125) 각각은 포트(145), 포트(150), 하나 또는 그 이상의 SSD(135) 및 스위치(130)를 포함할 수 있다. 스위치(130)는 포트들(145, 150) 및 SSD(135)를 연결하도록 구성될 수 있다. 추가적으로, 불휘발성 메모리 모듈들(115, 120, 125) 각각은 포트 구성 로직 섹션(162)을 포함할 수 있다.
포트 구성 로직 섹션(162)은 제1 포트 구성(158) 또는 제2 포트 구성(126)이 제1 불휘발성 구성 섹션(155) 또는 제2 불휘발성 구성 섹션(160)으로부터 각각 로드되도록 하는 선택기(140)를 포함할 수 있다. 불휘발성 메모리 모듈(115)의 포트(145)는 호스트(105)와 직접적으로 또는 고속 서브 또는 패브릭(110)(도 1 참조)를 통해 연결될 수 있다. 불휘발성 메모리 모듈(115)의 포트(150)는 배선(210)을 통해 연속되는 방식(cascaded fashion)으로 불휘발성 메모리 모듈(120)의 포트(145)와 연결될 수 있다. 불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(155)에 저장된 제1 포트 구성(158)을 액세스하여 불휘발성 메모리 모듈(115)의 포트(150)가 다운스트림 포트로써 동작하도록 할 수 있다. 예를 들어, 불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)의 선택기(140)는 포트(150)가 다운스트림 포트로써 구성될 수 있도록 스위치(130)에 의해 제1 포트 구성(158)가 액세스되게 할 수 있다.
불휘발성 메모리 모듈(120)의 포트(150)는 연속되는 방식(cascaded fashion)으로 배선(215)을 통해 불휘발성 메모리 모듈(125)의 포트(145)와 연결될 수 있다. 불휘발성 메모리 모듈(125)의 포트(150)는 사용될 필요가 없다. 불휘발성 메모리 모듈(120)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(155)에 저장된 제1 포트 구성(158)을 액세스하여 불휘발성 메모리 모듈(120)의 포트(150)가 다운스트림 포트로써 동작하도록 할 수 있다. 예를 들어, 불휘발성 메모리 모듈(120)의 포트 구성 로직 섹션(162)의 선택기(140)는 포트(150)가 다운스트림 포트로써 구성될 수 있도록 스위치(130)에 의해 제1 포트 구성(158)가 액세스되게 할 수 있다.
다운스트림 포트로써 동작하는 불휘발성 메모리 모듈(115)의 포트(150)는 불휘발성 메모리 모듈(115)의 포트(145)로부터의 다운스트림일 수 있다. 유사하게, 다운스트림 포트로써 동작하는 불휘발성 메모리 모듈(120)의 포트(150)는 불휘발성 메모리 모듈(115)의 포트(145), 불휘발성 메모리 모듈(115)의 포트(150), 및 불휘발성 메모리 모듈(120)의 포트(145)로부터의 다운스트림일 수 있다.
연속적인 확장 구성에서, 포트 구성 로직 섹션(162)은 EEPROM(155)에 저장된 제1 포트 구성(158)이 활성화되거나 또는 불휘발성 메모리 모듈들(115, 120, 125) 각각에 대하여 사용되도록 할 수 있다. 예를 들어, 업스트림 대역폭을 변경하지 않으면서, 저장 용량의 증가가 필요한 경우, 연속적인 확장 구성이 유리할 수 있다. 다시 말해서, 하나 또는 그 이상의 추가적인 SSD를 SSD(135)의 그룹에 추가함으로써, 대역폭을 변경하지 않고, 대응하는 불휘발성 메모리 모듈의 저장 용량을 증가시킬 수 있는 효과가 있다. 이는 저 부하 및 고용량의 애플리케이션에서 유리할 수 있다.
도 3은 본 발명의 실시 예에 따른 X2 대역폭 확장 구성의 불휘발성 메모리 모듈 시스템을 보여주는 블록도이다. X2(즉, 더블) 대역폭 확장 구성(X2 bandwidth scaling configuration)에서, 불휘발성 메모리 모듈들(115, 120, 125) 각각의 포트(145)는 배선(305) 및 고속 버스 또는 패브릭(110)을 통해 호스트(105)와 연결될 수 있다. 또한, 불휘발성 메모리 모듈들(115, 120, 125) 각각의 포트(150)는 배선(305) 및 고속 버스 또는 패브릭(110)을 통해 호스트(105)와 연결될 수 있다.
불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(160)에 저장된 제2 포트 구성(126)을 액세스하여 불휘발성 메모리 모듈들(115, 120, 125) 각각의 포트(150)가 업스트림 포트로서 동작하도록 할 수 있다. 예를 들어, 포트(150)가 업스트림 포트로서 구성되도록 하기 위하여 불휘발성 메모리 모듈들(115, 120, 125)의 포트 구성 로직 섹션(162)의 선택기(140)는 제2 포트 구성(126)이 스위치(130)에 의해 액세스되도록 할 수 있다.
불휘발성 메모리 모듈(120)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(160)에 저장된 포트 구성 로직 섹션(162)을 액세스하여 불휘발성 메모리 모듈(120)의 포트(150)가 업스트림 포트로써 동작하도록 할 수 있다. 유사하게, 불휘발성 메모리 모듈(125)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(160)에 저장된 제2 포트 구성(126)을 액세스하여 불휘발성 메모리 모듈(125)의 포트(150)가 업스트림 포트로서 동작하도록 할 수 있다.
X2 대역폭 확장 구성에서, 포트 구성 로직 섹션(162)은 EEPROM(160)에 저장된 제2 포트 구성(126)이 불휘발성 메모리 모듈들(115, 120, 125) 각각에서 사용 또는 활성화되도록 할 수 있다. 예를 들어, 병렬적인 확장 구성 및 연속적인 확장 구성과 비교하여 2배 이상의 성능이 요구되는 경우에 X2 대역폭 확장 구성이 유리할 수 있다. 다시 말해서, 불휘발성 메모리 모듈은 X2 업스트림 대역폭을 달성하여 고성능 중심의 애플리케이션 요구를 충족할 수 있다.
도 4는 본 발명의 실시 예에 따른 X2 대역폭 및 연속적인 하이브리드 확장 구성의 불휘발성 메모리 모듈 어레이를 보여주는 블록도이다. 불휘발성 메모리 모듈(115)의 포트(145)는 고속 버스 또는 패브릭(110) 및 배선들(405)을 통해 호스트(105)와 연결될 수 있다. 불휘발성 메모리 모듈(115)의 포트(150)는 배선들(405) 중 하나를 통해, 그리고 고속 버스 또는 패브릭(110)을 통해 호스트(105)와 연결될 수 있다.
불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(160)에 저장된 제2 포트 구성(126)을 액세스하여 불휘발성 메모리 모듈(115)의 포트(150)가 업스트림 포트로써 동작하도록 할 수 있다. 예를 들어, 포트(150)가 업스트림 포트로써 구성되도록 하기 위하여, 불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)의 선택기(140)는 스위치(130)에 의해 제2 포트 구성(126)에 액세스되도록 할 수 있다.
불휘발성 메모리 모듈(120)의 포트(145)는 고속 버스 또는 패브릭(110) 및 배선(410)을 통해 호스트(105)와 연결될 수 있다. 불휘발성 메모리 모듈(120)의 포트(150)는 불휘발성 메모리 모듈(125)의 포트(145)와 배선(415)을 통해 연결될 수 있다. 불휘발성 메모리 모듈(120)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(155)에 저장된 제1 포트 구성(158)을 액세스하여 불휘발성 메모리 모듈(120)의 포트(150)가 다운스트림 포트로써 동작하도록 할 수 있다. 불휘발성 메모리 모듈(125)의 포트(150)는 사용될 필요가 없다.
X2 대역폭 및 연속적인 하이브리드 확장 구성에서, 불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)은 EEPROM(160)에 저장된 제2 포트 구성(126)이 불휘발성 메모리 모듈(115)에서 사용되거나 또는 활성화되도록 할 수 있다. 불휘발성 메모리 모듈(120)의 포트 구성 로직 섹션(162)은 EEPROM(155)에 저장된 제1 포트 구성(158)이 불휘발성 메모리 모듈(120)에서 사용되거나 또는 활성화되도록 할 수 있다. 예를 들어, 업스트림 대역폭이 변경되지 않는 반면에, 시스템의 일부에서 증가된 저장 용량이 요구되고, 시스템의 다른 영역에서 증가된 성능이 함께 요구되는 경우, X2 대역폭 및 연속적인 하이브리드 확장 구성이 유리할 수 있다.
도 5는 본 발명의 실시 예에 따른 X2 대역폭, 병렬적인, 그리고, 연속적인 하이브리드 확장 구성의 불휘발성 메모리 모듈 어레이 시스템을 보여주는 블록도이다. 불휘발성 메모리 모듈(115)의 포트(145)는 배선들(505) 중 어느 하나 그리고 고속 버스 또는 패브릭(115)을 통해 호스트(105)와 연결된다. 불휘발성 메모리 모듈(115)의 포트(150)는 배선들(505) 중 어느 하나 그리고 고속 버스 또는 패브릭(115)을 통해 호스트(105)와 연결된다.
불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(160)에 저장된 제2 포트 구성(126)을 액세스하여, 불휘발성 메모리 모듈(115)의 포트(150)가 업스트림 포트로써 동작하도록 할 수 있다. 예를 들어, 포트(150)가 업스트림 포트로써 구성되기 위하여 불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)의 선택기(140)는 스위치(130)에 의해 액세스되도록 할 수 있다.
불휘발성 메모리 모듈(120)의 포트(145)는 배선(510)을 통해 그리고 고속 버스 또는 패브릭(110)을 통해 호스트(105)와 연결될 수 있다. 불휘발성 메모리 모듈(120)의 포트(150)는 사용될 필요가 없다.
불휘발성 메모리 모듈(125)의 포트(145)는 배선(515)을 통해 그리고 고속 버스 또는 패브릭(110)을 통해 호스트(105)와 연결될 수 있다. 불휘발성 메모리 모듈(125)의 포트(150)는 배선(520)을 통해 불휘발성 메모리 모듈(128)의 포트(145)와 연결될 수 있다. 불휘발성 메모리 모듈(128)의 포트(150)는 사용될 필요가 없다.
불휘발성 메모리 모듈(125)의 포트 구성 로직 섹션(162)은 불휘발성 구성 섹션(155)에 저장된 제1 포트 구성(158)을 액세스하여, 불휘발성 메모리 모듈(125)의 포트(150)가 다운스트림 포트로서 동작하도록 할 수 있다.
X2 대역폭, 병렬적인, 그리고 연속적인 하이브리드 확장 구성에서, 불휘발성 메모리 모듈(115)의 포트 구성 로직 섹션(162)은 EEPROM(160)에 저장된 제2 포트 구성(126)이 불휘발성 메모리 모듈(115)에서 사용되거나 또는 활성화되도록 할 수 있다. 불휘발성 메모리 모듈(125)의 포트 구성 로직 섹션(162)은 EEPROM(155)에 저장된 제1 포트 구성(158)이 불휘발성 메모리 모듈(125)에서 사용되거나 또는 활성화되도록 할 수 있다. 예를 들어, 업스트림 대역폭이 변경되지 않는 반면에, 시스템의 제1 일부에 증가된 저장 용량이 요구되고, 시스템의 다른 일부에서 향상된 성능이 요구되고, 시스템의 또 다른 일부에서 향상된 저장 용량 및 대역폭이 함께 요구되는 경우에, 하이브리드 X2 대역폭, 병렬, 및 연속적인 구성이 유리할 수 있다.
이하의 표 1은 상술된 불휘발성 메모리 어레이 시스템의 예시적인 구성들을 상세하게 보여준다.
구성 대역폭/성능 용량 확장 설정
병렬적인 확장 (불휘발성 메모리 모듈의 개수) X (불휘발성 메모리 모듈 당 단위 대역폭) (불휘발성 메모리 모듈의 개수) X (불휘발성 메모리 모듈의 단위 용량) 불휘발성 메모리 모듈들을 병렬로 확장 - 제2 포트 구성은 무관
연속적인 확장 불휘발성 메모리 모듈의 단위 대역폭 (불휘발성 메모리 모듈의 개수) X (불휘발성 메모리 모듈의 단위 용량)
불휘발성 메모리 모듈들을 연속적인 형태로 확장 - 업스트림 포트가 선택되도록 제2 포트를 구성하기 위한 EDPROM 이미지
X2 대역폭 (불휘발성 메모리 모듈의 개수) X (불휘발성 메모리 모듈 당 단위 대역폭) X 2 (불휘발성 메모리 모듈의 개수) X (불휘발성 메모리 모듈의 단위 용량)
불휘발성 메모리 모듈들을 직접 연결 방식으로 확장 - 다운스트림 포트가 선택되도록 제2 포트를 구성하기 위한 EDPROM 이미지
도 6은 본 발명의 실시 예에 따른 병렬적인 확장 구성, 연속적인 확장 구성 또는 대역폭 확장 구성에서, 불휘발성 메모리 모듈 어레이를 구성하기 위한 기법을 보여주는 순서도이다.
605 단계에서, 불휘발성 메모리 모듈 어레이의 병렬적인 확장 구성이 요구되는지 판별될 수 있다. 만약 그렇다면, 610 단계에서, 각 불휘발성 메모리 모듈의 제1 포트는 호스트와 고속 버스 또는 패브릭을 통해 연결될 수 있다. 만약 그렇지 않다면, 615 단계에서, 불휘발성 메모리 모듈 어레이의 연속적인 확장 구성이 요구되는지 판별될 수 있다.
만약 그렇다면, 620 단계에서, 불휘발성 메모리 모듈의 제1 포트는 호스트와 연결될 수 있다. 625 단계에서, 제1 불휘발성 메모리 모듈의 제2 포트는 제2 불휘발성 메모리 모듈의 제1 포트와 연결될 수 있다. 630 단계에서, 제2 불휘발성 메모리 모듈의 제2 포트는 제3 불휘발성 메모리 모듈의 제1 포트와 연결될 수 있다. 635 단계에서, 제1 및 제2 불휘발성 메모리 모듈들의 제2 포트와 관련된 제1 포트 구성은 각 불휘발성 메모리 모듈의 제2 포트가 다운스트림 포트로써 동작하도록 선택될 수 있다. 연속적인 확장 구성이 요구되지 않는다면, 640 단계에서, 대역폭 구성이 요구되는지 판별될 수 있다.
만약 그렇다면, 645 단계에서, 어레이의 각 불휘발성 메모리 모듈의 제1 및 제2 포트들은 호스트와 연결될 수 있다. 650 단계에서, 어레이의 불휘발성 메모리 모듈들 각각의 제2 포트와 관련된 제2 포트 구성이 불휘발성 메모리 모듈들 각각의 제2 포트가 업스트림 포트로써 동작하도록 선택될 수 있다.
상술된 동작 방법이 도시된 순서에 따라 수행되는 것이 아니라, 다른 순서 또는 단계들 사이에서 수행될 수 있음은 잘 이해될 것이다.
도 7은 불휘발성 메모리 모듈(예를 들어, 도 1의 불휘발성 메모리 모듈과 유사하거나 또는 동일한 불휘발성 메모리 모듈) 및 호스트를 포함하는 컴퓨팅 시스템을 보여주는 블록도이다. 컴퓨팅 시스템(700)은 클럭(710), 랜덤 액세스 메모리(RAM; Random Access Memory)(715), 사용자 인터페이스(720), 기저대역 칩셋과 같은 모뎀(725), 솔리드 스테이트 드라이브(SSD; Solid State Drive)(740), 또는 프로세서(735)를 포함할 수 있다. 컴퓨팅 시스템(700)에 포함된 구성 요소들은 시스템 버스(705)를 통해 전기적으로 연결될 수 있다. 시스템 버스(705)는 상술된 바와 같은 고속 버스 또는 패브릭일 수 있다. 호스트(105)는 상술된 것들과 대응될 수 있고, 시스템 버스(705)와 전기적으로 연결될 수 있다. 호스트(105)는 불휘발성 메모리 모듈들(745), 클럭(710), 랜덤 액세스 메모리(715), 사용자 인터페이스(720), 모뎀(725), 솔리드 스테이트 드라이브(740), 또는 프로세서(735)를 포함하거나 또는 서로 통신할 수 있다.
상술된 상세한 설명은 본 발명의 특정 사상들이 구현될 수 있는 적절한 장치 또는 장치들의 일반적인 설명을 제공하기 위한 것이다. 일반적으로, 장치 또는 장치들은 프로세서들, 메모리(예를 들어, RAM, ROM, 또는 다른 상태의 저장 장치), 저장 장치들, 비디오 인터페이스, 및 입출력 인터페이스 포트들과 연결된 시스템 버스를 포함한다. 키보드, 마이크 등과 같은 일반적인 입력 장치들로부터의 입력뿐만 아니라, 다른 장치로부터의 명령, 가상 현실 환경(virtual reality environment)과의 상호 작용, 생체 신호의 피드백, 또는 다른 입력 신호에 의해 장치 및 장치들의 적어도 일부가 제어될 수 있다. 본문에 기재된 장치(machine)의 용어는 단일 장치, 가상 장치, 또는 장치들, 가상 장치들, 또는 함께 동작하는 다른 장치들과 연결된 시스템을 포함할 수 있다. 예시적인 장치들은 퍼스널 컴퓨터, 워크스테이션, 서버, 휴대용 컴퓨터, 휴대용 장치, 전화, 태블릿 등과 같은 컴퓨팅 장치들 뿐만 아니라, 개인 또는 공용 운송(예를 들어, 자동차, 기차, 택시 등)과 같은 수송 장치들을 포함할 수 있다.
장치 또는 장치들은 프로그램 가능하거나 또는 프로그램 불가능한 로직 장치들 또는 어레이들과 같은 내장 컨트롤러들, ASIC(Application Specific Integrated Circuit), 내장 컴퓨터, 스마트 카드 등을 포함할 수 있다. 장치 또는 장치들은 네트워크 인터페이스, 모뎀, 또는 다른 통신 연결과 같은 하나 또는 그 이상의 무선 장치들과의 하나 또는 그 이상의 연결들을 활용할 수 있다. 장치들은 인트라넷, 인터넷, LAN(Local Area Network), WAN(Wide Area Network) 등과 같은 물리적 또는 논리적 네트워크의 방식으로 연결될 수 있다. 당업자는 네트워크 통신이 무선 주파수(RF; Radio Frequency), 위성, 마이크로파, IEEE 545.11, 블루투스, 광, 적외선, 케이블, 레이저 등과 같은 다양한 유선/무선 단거리 또는 장거리 캐리어들 및 프로토콜을 활용할 수 있음을 이해할 수 있다.
본 발명의 실시 예들은, 장치에 의해 액세스될 때, 장치가 로우-레벨 하드웨어 컨텍스트 또는 추상적인 데이터를 정의하거나 또는 작업을 수행하게 하는 기능들, 절차들, 데이터 구조들, 애플리케이션 프로그램들 등을 포함하는 데이터와 관련된 결합 또는 그것들을 참조함으로써 설명될 수 있다. 예를 들어, 관련된 데이터는 RAM, ROM, 하드 드라이브, 플로피 디스크들, 광 스토리지, 테이프, 플래시 메모리, 메모리 스틱, 디지털 비디오 디스크, 생체 스토리지 등과 같은 휘발성 또는 불휘발성 메모리 또는 다른 저장 장치들에 저장될 수 있다. 관련된 데이터는 물리적 또는 논리적 네트워크와 같은 전송 환경을 통해 패킷, 직렬 데이터, 병렬 데이터, 전파 신호 등과 같은 형태로 전송될 수 있고, 압축 또는 암호화 형태로 사용될 수 있다. 관련된 데이터는 분산 환경에서 사용될 수 있고, 지역적으로 또는 원격으로, 장치 액세스를 위하여 저장될 수 있다.
실시 예들을 참조하여 본 발명의 이론들이 설명되었으나, 실시 예들은 본 발명의 기술적 사상으로부터의 벗어남 없이 변형될 수 있고, 다른 적절한 방식과 조합될 수 있음은 잘 이해될 것이다. 그리고, 상세한 설명이 특정 실시 예들을 집중되었으나, 다른 구성들이 고려된다. 특히, 본문에서 "본 발명의 실시 예에 따르면"과 같은 표현들이 사용되었으나, 이러한 표현들은 일반적으로, 참조 실시 예의 가능성을 의미하며, 본 발명이 특정 실시 예 구성들에 한정됨을 의미하지 않는다. 본문에 기재된 바와 같이, 이러한 용어들은 다른 실시 예들과 조합될 수 있는 동일한 또는 다른 실시 예들을 참조할 수 있다.
본 발명의 실시 예들은 하나 또는 그 이상의 프로세서들에 의해 수행될 수 있는 명령어들을 포함하는 비-일시적인 판독 가능 매체를 포함할 수 있다. 명령어들은 본문에 기재된 본 발명의 구성 요소들을 실행하는 명령어들을 포함할 수 있다.
상술된 실시 예들은 본 발명을 한정하는 것은 아니다. 비록 일부 실시 예들이 설명되었으나, 당업자는 본문의 이점들 및 새로운 특징으로부터의 벗어남 없이 본 발명의 가능한 다양한 변형을 용이하게 수행할 수 있다. 따라서, 이러한 변형들은 특허청구범위에 정의된 본 발명의 사상 내에 포함되도록 의도될 수 있다.
100: 불휘발성 메모리 모듈 어레이 시스템
105: 호스트
110: 고속 버스 또는 패브릭
115, 120, 125: 불휘발성 메모리 모듈들
145: 제1 포트
150: 제2 포트
130: 스위치
135: SSD
140: 선택기
155: 제1 불휘발성 구성(EEPROM)
160: 제2 불휘발성 구성(EEPROM)
158: 제1 포트 구성
162: 제2 포트 구성

Claims (10)

  1. 불휘발성 메모리 모듈 어레이 시스템에 있어서,
    각각 제1 포트, 제2 포트, 복수의 솔리드 스테이트 드라이브들, 스위치, 및 포트 구성 로직 섹션을 포함하고, 상기 스위치는 상기 제1 및 제2 포트들을 상기 복수의 솔리드 스테이트 드라이브들에 연결하도록 구성되고, 상기 포트 구성 로직 섹션은 상기 제2 포트와 연관된 제1 포트 구성 및 상기 제2 포트와 연관된 제2 포트 구성 사이를 토글하도록 구성되는 하나 또는 그 이상의 불휘발성 메모리 모듈들;
    상기 제2 포트와 연관된 상기 제1 포트 구성을 저장하도록 구성된 제1 불휘발성 구성 섹션; 및
    상기 제2 포트와 연관된 상기 제2 포트 구성을 저장하도록 구성된 제2 불휘발성 구성 섹션을 포함하고,
    상기 제1 포트 구성은 상기 제2 포트가 다운스트림 포트로써 동작하도록 구성되고,
    상기 제2 포트 구성은 상기 제2 포트가 업스트림 포트로써 동작하도록 구성되는 불휘발성 메모리 모듈 어레이 시스템.
  2. 제 1 항에 있어서,
    상기 포트 구성 로직 섹션은:
    상기 제1 포트 구성 또는 상기 제2 포트 구성 중 적어도 하나가 상기 제1 불휘발성 구성 섹션 또는 상기 제2 불휘발성 구성 섹션으로부터 각각 로드되도록 구성된 선택기를 더 포함하는 불휘발성 메모리 모듈 어레이 시스템.
  3. 제 1 항에 있어서,
    상기 하나 또는 그 이상의 불휘발성 메모리 모듈들은 제1 불휘발성 메모리 모듈 및 제2 불휘발성 메모리 모듈을 포함하고,
    상기 제1 불휘발성 메모리 모듈의 상기 제1 포트는 버스를 통해 호스트와 연결되도록 구성되고,
    상기 제2 불휘발성 메모리 모듈의 상기 제1 포트는 상기 버스를 통해 상기 호스트와 연결되도록 구성되고,
    상기 제1 불휘발성 메모리 모듈의 상기 제2 포트는 상기 호스트와 분리되도록 구성되고,
    상기 제2 불휘발성 메모리 모듈의 상기 제2 포트는 상기 호스트와 분리되도록 구성된 불휘발성 메모리 모듈 어레이 시스템.
  4. 제 1 항에 있어서,
    상기 하나 또는 그 이상의 불휘발성 메모리 모듈들은 제1 불휘발성 메모리 모듈 및 제2 불휘발성 메모리 모듈을 포함하고,
    상기 제1 불휘발성 메모리 모듈의 상기 제1 포트는 버스를 통해 호스트와 연결되도록 구성되고,
    상기 제1 불휘발성 메모리 모듈의 상기 제2 포트는 상기 제2 불휘발성 메모리 모듈의 상기 제1 포트와 연결되도록 구성되고,
    상기 제1 불휘발성 메모리 모듈의 상기 포트 구성 로직 섹션은 상기 제1 불휘발성 구성 섹션에 저장된 상기 제1 포트 구성을 액세스하여 상기 제1 불휘발성 메모리 모듈의 상기 제2 포트가 다운스트림 포트로써 동작하도록 구성된 불휘발성 메모리 모듈 어레이 시스템.
  5. 제 4 항에 있어서,
    상기 하나 또는 그 이상의 불휘발성 메모리 모듈들은 제3 불휘발성 메모리 모듈을 더 포함하고,
    상기 제2 불휘발성 메모리 모듈의 상기 제2 포트는 상기 제3 불휘발성 메모리 모듈의 상기 제1 포트와 연결되도록 구성되고,
    상기 제2 불휘발성 메모리 모듈의 상기 포트 구성 로직 섹션은 상기 제1 불휘발성 구성 섹션에 저장된 상기 제1 포트 구성을 액세스하여 상기 제2 불휘발성 메모리 모듈의 상기 제2 포트가 다운스트림 포트로써 동작하도록 구성된 불휘발성 메모리 모듈 어레이 시스템.
  6. 제 5 항에 있어서,
    상기 다운스트림 포트로써 동작하도록 구성된 상기 제1 불휘발성 메모리 모듈의 상기 제2 포트는 상기 제1 불휘발성 메모리 모듈의 상기 제1 포트로부터 다운스트림되고,
    상기 다운스트림 포트로써 동작하도록 구성된 상기 제2 불휘발성 메모리 모듈의 상기 제2 포트는 상기 제1 불휘발성 메모리 모듈의 상기 제1 포트로부터 다운스트림되고, 상기 제1 불휘발성 메모리 모듈의 상기 제2 포트로부터 다운스트림되고, 상기 제2 불휘발성 메모리 모듈의 상기 제1 포트로부터 다운스트림되는 불휘발성 메모리 모듈 어레이 시스템.
  7. 제 1 항에 있어서,
    상기 하나 또는 그 이상의 불휘발성 메모리 모듈들은 제1 불휘발성 메모리 모듈 및 제2 불휘발성 메모리 모듈을 포함하고,
    상기 제1 불휘발성 메모리 모듈의 상기 제1 포트는 버스를 통해 호스트와 연결되고,
    상기 제1 불휘발성 메모리 모듈의 상기 제2 포트는 상기 버스를 통해 상기 호스트와 연결되고,
    상기 제1 불휘발성 메모리 모듈의 상기 포트 구성 로직 섹션은 상기 제2 불휘발성 구성 섹션에 저장된 상기 제2 포트 구성을 액세스하여 상기 제1 불휘발성 메모리 모듈의 상기 제2 포트가 업스트림 포트로써 동작하도록 구성되고,
    상기 제2 불휘발성 메모리 모듈의 상기 제1 포트는 상기 버스를 통해 상기 호스트와 연결되고,
    상기 제2 불휘발성 메모리 모듈의 상기 제2 포트는 상기 버스를 통해 상기 호스트와 연결되고,
    상기 제2 불휘발성 메모리 모듈의 상기 포트 구성 로직 섹션은 상기 제2 불휘발성 구성 섹션에 저장된 상기 제2 포트 구성을 액세스하여 상기 제2 불휘발성 메모리 모듈의 상기 제2 포트가 업스트림 포트로써 동작하도록 구성된 불휘발성 메모리 모듈 어레이 시스템.
  8. 제 7 항에 있어서,
    상기 하나 또는 그 이상의 불휘발성 메모리 모듈들은 제3 불휘발성 메모리 모듈을 더 포함하고,
    상기 제3 불휘발성 메모리 모듈의 상기 제1 포트는 상기 버스를 통해 상기 호스트와 연결되도록 구성되고,
    상기 제3 불휘발성 메모리 모듈의 상기 제2 포트는 상기 버스를 통해 상기 호스트와 연결되도록 구성되고,
    상기 제3 불휘발성 메모리 모듈의 상기 포트 구성 로직 섹션은 상기 제2 불휘발성 구성 섹션에 저장된 상기 제2 포트 구성을 액세스하여 상기 제3 불휘발성 메모리 모듈의 상기 제2 포트가 업스트림 포트로써 동작하도록 구성된 불휘발성 메모리 모듈 어레이 시스템.
  9. 제 1 항에 있어서,
    상기 하나 또는 그 이상의 불휘발성 메모리 모듈들은 제1 불휘발성 메모리 모듈, 제2 불휘발성 메모리 모듈, 및 제3 불휘발성 메모리 모듈을 포함하고,
    상기 제1 불휘발성 메모리 모듈의 상기 제1 포트는 버스를 통해 호스트와 연결되도록 구성되고,
    상기 제1 불휘발성 메모리 모듈의 상기 제2 포트는 상기 버스를 통해 상기 호스트와 연결되도록 구성되고,
    상기 제1 불휘발성 메모리 모듈의 상기 포트 구성 로직 섹션은 상기 제2 불휘발성 구성 섹션에 저장된 상기 제2 포트 구성을 액세스하여 상기 제1 불휘발성 메모리 모듈의 상기 제2 포트가 업스트림 포트로써 동작하도록 구성되고,
    상기 제2 불휘발성 메모리 모듈의 상기 제1 포트는 상기 버스를 통해 상기 호스트와 연결되도록 구성되고,
    상기 제2 불휘발성 메모리 모듈의 상기 제2 포트는 상기 제3 불휘발성 메모리 모듈의 상기 제1 포트와 연결되도록 구성되고,
    상기 제2 불휘발성 메모리 모듈의 상기 포트 구성 로직 섹션은 상기 제1 불휘발성 구성 섹션에 저장된 상기 제1 포트 구성을 액세스하여 상기 제2 불휘발성 메모리 모듈의 상기 제2 포트가 다운스트림 포트로써 동작하도록 구성된 불휘발성 메모리 모듈 어레이 시스템.
  10. 불휘발성 메모리 모듈 어레이를 구성하는 컴퓨터-구현의 방법에 있어서,
    상기 불휘발성 메모리 모듈 어레이의 불휘발성 메모리 모듈들 각각은 제1 포트 및 제2 포트를 포함하고,
    상기 방법은:
    상기 불휘발성 메모리 모듈들 중 제1 불휘발성 메모리 모듈의 선택기에 의해 상기 제2 포트와 연관된 제1 포트 구성 및 상기 제2 포트와 연관된 제2 포트 구성 중 적어도 하나를 선택하는 단계;
    상기 선택기가 상기 제2 포트 구성을 선택한 것에 응답하여, 상기 제1 불휘발성 메모리 모듈의 상기 제2 포트를 업스트림 포트로 구성하는 단계; 및
    상기 선택기가 상기 제1 포트 구성을 선택한 것에 응답하여, 상기 제1 불휘발성 메모리 모듈의 상기 제2 포트를 상기 제1 포트에 대한 다운스트림 포트로 구성하는 단계를 포함하는 방법.

KR1020160009471A 2015-03-02 2016-01-26 불휘발성 메모리 모듈 어레이 시스템 KR102262807B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562127210P 2015-03-02 2015-03-02
US62/127,210 2015-03-02
US14/809,165 2015-07-24
US14/809,165 US9841904B2 (en) 2015-03-02 2015-07-24 Scalable and configurable non-volatile memory module array

Publications (2)

Publication Number Publication Date
KR20160106486A KR20160106486A (ko) 2016-09-12
KR102262807B1 true KR102262807B1 (ko) 2021-06-09

Family

ID=56849827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160009471A KR102262807B1 (ko) 2015-03-02 2016-01-26 불휘발성 메모리 모듈 어레이 시스템

Country Status (2)

Country Link
US (1) US9841904B2 (ko)
KR (1) KR102262807B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467163B1 (en) * 2015-10-27 2019-11-05 Pavilion Data Systems, Inc. Solid state drive multiplexer
KR20180034778A (ko) * 2016-09-27 2018-04-05 삼성전자주식회사 직렬로 연결되는 스토리지 장치들 중 직접 연결되지 않은 스토리지 장치로의 바이패스 경로를 제공하도록 구성되는 전자 장치, 그것에 포함되는 스토리지 장치, 그것을 포함하는 컴퓨팅 시스템, 및 그것을 이용하여 통신하는 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126698A1 (en) 2006-09-13 2008-05-29 Hitachi, Ltd. Storage system effectively using free ports
US20090319716A1 (en) 2008-06-20 2009-12-24 Kabushiki Kaisha Toshiba Memory system and bus switch
US20100281227A1 (en) 2009-04-29 2010-11-04 Micron Technology, Inc. Multi-port memory devices and methods
US20100332860A1 (en) 2009-06-26 2010-12-30 Jon David Trantham Systems, methods and devices for configurable power control with storage devices
US8015386B1 (en) 2008-03-31 2011-09-06 Xilinx, Inc. Configurable memory manager
US20120023278A1 (en) 2010-07-23 2012-01-26 International Business Machines Corporation Expander to control multipaths in a storage network
WO2012124431A1 (ja) 2011-03-17 2012-09-20 ルネサスエレクトロニクス株式会社 半導体装置
JP2014026637A (ja) 2012-07-27 2014-02-06 Hitachi Ltd プロビジョニング前に冗長パスを認証する方法および装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
WO2007024740A2 (en) * 2005-08-25 2007-03-01 Silicon Image, Inc. Smart scalable storage switch architecture
US20130086311A1 (en) 2007-12-10 2013-04-04 Ming Huang METHOD OF DIRECT CONNECTING AHCI OR NVMe BASED SSD SYSTEM TO COMPUTER SYSTEM MEMORY BUS
CN101763221B (zh) 2008-12-24 2013-01-30 成都市华为赛门铁克科技有限公司 一种存储方法、存储系统及控制器
US8074038B2 (en) * 2009-05-12 2011-12-06 Microsoft Corporation Converting luns into files or files into luns in real time
US8874838B2 (en) * 2009-12-28 2014-10-28 Juniper Networks, Inc. Providing dynamic databases for a TCAM
US8589723B2 (en) 2010-12-22 2013-11-19 Intel Corporation Method and apparatus to provide a high availability solid state drive
EP2761481A4 (en) 2011-09-30 2015-06-17 Intel Corp PRESENTATION OF DIRECT ACCESS STORAGE DEVICE IN LOGIC READER MODEL
US20130135816A1 (en) 2011-11-17 2013-05-30 Futurewei Technologies, Inc. Method and Apparatus for Scalable Low Latency Solid State Drive Interface
US9003071B2 (en) 2013-03-13 2015-04-07 Futurewei Technologies, Inc. Namespace access control in NVM express PCIe NVM with SR-IOV
US20140331001A1 (en) 2013-05-02 2014-11-06 Lsi Corporation Command Barrier for a Solid State Drive Controller
US9298648B2 (en) 2013-05-08 2016-03-29 Avago Technologies General Ip (Singapore) Pte Ltd Method and system for I/O flow management using RAID controller with DMA capabilitiy to directly send data to PCI-E devices connected to PCI-E switch
US9430412B2 (en) 2013-06-26 2016-08-30 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over Ethernet-type networks
US10223316B2 (en) * 2014-06-18 2019-03-05 Ngd Systems, Inc. Interface compatible with M.2 connector socket for ultra high capacity solid state drive
US9804977B2 (en) * 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub
US10102169B2 (en) * 2015-08-10 2018-10-16 Microsemi Solutions (U.S.), Inc. System and method for port migration in a PCIE switch

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126698A1 (en) 2006-09-13 2008-05-29 Hitachi, Ltd. Storage system effectively using free ports
US8015386B1 (en) 2008-03-31 2011-09-06 Xilinx, Inc. Configurable memory manager
US20090319716A1 (en) 2008-06-20 2009-12-24 Kabushiki Kaisha Toshiba Memory system and bus switch
US20100281227A1 (en) 2009-04-29 2010-11-04 Micron Technology, Inc. Multi-port memory devices and methods
US20100332860A1 (en) 2009-06-26 2010-12-30 Jon David Trantham Systems, methods and devices for configurable power control with storage devices
US20120023278A1 (en) 2010-07-23 2012-01-26 International Business Machines Corporation Expander to control multipaths in a storage network
WO2012124431A1 (ja) 2011-03-17 2012-09-20 ルネサスエレクトロニクス株式会社 半導体装置
JP2014026637A (ja) 2012-07-27 2014-02-06 Hitachi Ltd プロビジョニング前に冗長パスを認証する方法および装置

Also Published As

Publication number Publication date
US9841904B2 (en) 2017-12-12
KR20160106486A (ko) 2016-09-12
US20160259551A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
JP7105710B2 (ja) マルチモード及び/又はマルチ速度NVMe-oFデバイスを支援するシステム及び方法
US10466923B2 (en) Modular non-volatile flash memory blade
US9053252B2 (en) Storage expansion apparatus and server
US20180157418A1 (en) Solid state drive (ssd) memory cache occupancy prediction
KR20160106493A (ko) 하드 디스크 드라이브 폼 팩터 솔리드 스테이트 드라이브 멀티-카드 어댑터 및 그것을 포함하는 컴퓨터 서버 시스템
KR101483534B1 (ko) 구성가능한 포트형 PCIe/SATA 호스트 제어기 아키텍처를 용이하게 하기 위한 매커니즘
US20170344506A1 (en) Qos-aware io management for pcie storage system with reconfigurable multi-ports
KR101736593B1 (ko) 온-다이 상호접속부의 아키텍처
US11237757B2 (en) Data storage for accelerating functions
CN103034295A (zh) 输入输出能力增强的可重构微服务器
EP2808778A1 (en) Capacity expansion method and device
US20180210851A1 (en) Apparatus, method, and electronic device for implementing solid-state drive data interaction
KR102262807B1 (ko) 불휘발성 메모리 모듈 어레이 시스템
CN111581152A (zh) 可重构硬件加速soc芯片系统
US10268620B2 (en) Apparatus for connecting non-volatile memory locally to a GPU through a local switch
CN103092787A (zh) 一种基于PowerPC架构的多功能低功耗总线通讯模块
JP2016532960A (ja) チップセレクトを低減させるデバイス、システム、及び方法
Mehta Xilinx ultrascale architecture for high-performance, smarter systems
CN103246623A (zh) Soc计算设备扩展系统
RU2686004C1 (ru) Вычислительный модуль
US10339074B1 (en) Integrated circuit with dynamically-adjustable buffer space for serial interface
DE112011106026T5 (de) Seitenbandinitialisierung
CN112835515B (zh) 用于存储设备扩展挂载闪存颗粒数量的方法及存储设备
CN111930648B (zh) 一种缓存配置方法、装置及电子设备和存储介质
US20130271354A1 (en) Shared configurable physical layer

Legal Events

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