KR20230155996A - 대용량 메모리 자원 공유 방법 및 메모리 브리지 ic를 이용한 효율적인 메모리 자원 공유 시스템 - Google Patents

대용량 메모리 자원 공유 방법 및 메모리 브리지 ic를 이용한 효율적인 메모리 자원 공유 시스템 Download PDF

Info

Publication number
KR20230155996A
KR20230155996A KR1020230110957A KR20230110957A KR20230155996A KR 20230155996 A KR20230155996 A KR 20230155996A KR 1020230110957 A KR1020230110957 A KR 1020230110957A KR 20230110957 A KR20230110957 A KR 20230110957A KR 20230155996 A KR20230155996 A KR 20230155996A
Authority
KR
South Korea
Prior art keywords
memory
subsystem
processor
data
memory subsystem
Prior art date
Application number
KR1020230110957A
Other languages
English (en)
Other versions
KR102615319B1 (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 코싸인온 주식회사
Priority to KR1020230110957A priority Critical patent/KR102615319B1/ko
Publication of KR20230155996A publication Critical patent/KR20230155996A/ko
Application granted granted Critical
Publication of KR102615319B1 publication Critical patent/KR102615319B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • 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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

본 발명에 의하면, 메모리 자원 공유 시스템에 있어서, 제1 메모리, 제1 메모리의 자원을 파악 및 분배하고, 제1 메모리의 데이터 전송을 제어하도록 구성된 제1 메모리 서브시스템, 및 제1 메모리 서브시스템에 연결된 제1 프로세서로 구성된 제1 프로세서 유닛과, 제2 메모리, 제2 메모리의 자원을 파악 및 분배하고, 제2 메모리의 데이터 전송을 제어하도록 구성된 제2 메모리 서브시스템, 및 제2 메모리 서브시스템에 연결된 제2 프로세서로 구성된 제2 프로세서 유닛을 포함하고, 제1 메모리 서브시스템과 제2 메모리 서브시스템은 메모리 버스를 통해 연결되어 통신가능한 것인, 메모리 자원 공유 시스템을 제공할 수 있다.

Description

대용량 메모리 자원 공유 방법 및 메모리 브리지 IC를 이용한 효율적인 메모리 자원 공유 시스템{METHOD OF SHARING MASSIVE MEMORY RESOURCE AND EFFICIENT MEMORY RESOURCE SHARING SYSTEM USING MEMORY BRIDGE IC}
본 발명은 메모리 클라우드를 위한 메모리 자원 공유 방법 및 이를 이용한 메모리 자원 공유 시스템에 관한 것이다. 보다 구체적으로, 본 발명은 이종 프로세서간 메모리 자원을 공유할 수 있는 메모리 클라우드를 구성하기 위한 메모리 제어 연동 방법 및 이를 위한 메모리 자원 공유 시스템의 네트워크 구성에 관한 것이다.
종래의 반도체 기술 분야 또한 CPU, GPU의 실효 대역폭을 극대화하기 위한 개별 메모리 구성기술을 개발하였으나, 현재 대용량 멀티 캐스팅등을 위한 연산에 최적화된 메모리 클러스터 구성에 대한 기술이 부재하다는 문제가 존재한다.
또한, DNN(Deep Neural Network, 심층 신경망) 등과 같이 대용량 연산 데이터를 필요로 하는 경우 개별 디램(DRAM)의 용량을 증가시키거나, 듀얼 인라인 메모리 모듈(DIMM, dual in-line memory module)을 확장하는 기존 방법을 적용할 수 있지만, 비용, 제한적인 확장성, 메모리 공급업체 의존도 등을 고려하면 최선의 대안은 아니므로 컴퓨팅 메모리 네트워크 구조 시스템의 근간을 바꾸어야 하는 새로운 기술 적용이 필요하다.
최근 딥러닝 응용 기술의 연산 집약적인 문제와 높은 메모리 대역폭 요구로 인해 전력수급이 원할하고 연산 능력이 높은 서버 및 PC와 같은 장치에서 활용이 가능한 기술로 인식되고 시장이 형성되고 있으며, 또한 딥러닝 경량화 기술 및 모델 압축 기술이 고도화되고 ASIC(Application Specific Integrated Circuit) 반도체의 기술이 초미세 공정으로 진입하면서 인공지능 응용을 활용하기 위한 확장 연동 가능한 메모리 네트워크 구성의 최적화 기술이 요구된다.
또한, AI의 막대한 데이터와 연산량으로 인하여 종래 기술의 경우, 서버에서는 전력 소모로 인한 탄소 배출량 감소에 대한 요구가 거세지고 있어 고연산 효율을 가지는 프로세서 및 메모리 네트워크 구성의 신규 기술의 개발이 필요한 실정이다.
또한, 인공지능(AI) 기술의 중심은 소프트웨어(SW) 기술이라고 하지만, 복잡한 AI SW를 구현하기 위해서는 높은 성능의 하드웨어(HW)가 필수적이며, 이에 따라 메모리 반도체에 연산 기능을 더해 인공지능과 빅 데이터 처리 분야에서 데이터 이동 정체 문제를 풀어낼 수 있는 차세대 메모리 공유 솔루션이 요구된다.
(특허 문헌 0001) 대한민국 공개특허 제10-2017-0035797호
본 발명은 이종(heterogeneous) 프로세서간 메모리 자원을 공유할 수 있는 메모리 클라우드를 구성하기 위한 메모리 제어 연동 방법 및 이를 위한 메모리 자원 공유 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 이종 시스템의 확장 및 연동에 최적화된 다양한 종류의 메모리를 공유하고 통합 운용할 수 있는 메모리 자원 공유 방법 및 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 이종 프로세서 및 물리적으로 다른 칩에 연결되어 있는 메모리에 서로 접근가능하게 함으로써, 메모리 네트워크의 융합 및 연동이 가능한 이종 융합 메모리 클러스터를 구성할 수 있는 컴퓨팅 시스템용 브리지 제어 방법 및 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 프로세서 투 프로세서(Processor to Processor)뿐만 아니라 프로세서 간 연결된 메모리 브리지 IC를 통한 메모리 네트워크를 구성함으로써, 프로세서의 개수 및 메모리 용량을 독립적으로 확장가능하고(scalable), 메모리 접근시 지연시간을 수 ms 이하로 최소화하여 초고속 데이터 전송이 가능한 메모리 클라우드 네트워크를 구성하는 것을 목적으로 한다.
본 발명의 해결 과제들은 이상에서 언급한 내용들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 있어서, 메모리 자원 공유 시스템에 있어서, 제1 메모리, 제1 메모리의 자원을 파악 및 분배하고, 제1 메모리의 데이터 전송을 제어하도록 구성된 제1 메모리 서브시스템, 및 제1 메모리 서브시스템에 연결된 제1 프로세서로 구성된 제1 프로세서 유닛과, 제2 메모리, 제2 메모리의 자원을 파악 및 분배하고, 제2 메모리의 데이터 전송을 제어하도록 구성된 제2 메모리 서브시스템, 및 제2 메모리 서브시스템에 연결된 제2 프로세서로 구성된 제2 프로세서 유닛을 포함하고, 제1 메모리 서브시스템과 제2 메모리 서브시스템은 메모리 버스를 통해 연결되어 통신가능한 것인, 메모리 자원 공유 시스템을 제공할 수 있다.
여기서, 상기 제1 프로세서의 메모리 자원 요청에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리의 자원의 용량이 부족하다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제2 메모리 서브시스템에 상기 제2 메모리의 자원에 대한 액세스 허가 요청 메시지를 전송하도록 구성될 수 있다.
또한, 상기 제2 메모리 서브시스템이 상기 액세스 허가 요청 메시지에 응답하여 상기 제2 메모리의 자원의 용량에 여유가 있다고 판단하는 경우, 상기 제2 메모리 서브시스템은 상기 제1 메모리 서브시스템에 상기 제2 메모리의 자원에 대한 액세스 허가 메시지를 전송하도록 구성될 수 있다.
또한, 상기 제1 프로세서의 데이터 읽기 명령에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리에 상기 데이터 읽기 명령에 대응되는 데이터가 존재하지 않는다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제2 메모리 서브시스템에 상기 제2 메모리의 데이터에 대한 액세스 허가 요청 메시지를 전송하도록 구성될 수 있다.
또한, 상기 제2 메모리 서브시스템이 상기 액세스 허가 요청 메시지에 응답하여 상기 제2 메모리에 상기 데이터 읽기 명령에 대응되는 데이터가 존재한다고 판단하는 경우, 상기 제2 메모리 서브시스템은 상기 제1 메모리 서브시스템에 상기 제2 메모리의 데이터에 대한 액세스 허가 메시지를 전송하도록 구성될 수 있다.
또한, 상기 제1 프로세서의 데이터 쓰기 명령에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리에 상기 데이터 쓰기 명령의 실행이 불가능하다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제2 메모리 서브시스템에 상기 제2 메모리에 대한 액세스 허가 요청 메시지를 전송하도록 구성될 수 있다.
또한, 상기 제2 메모리 서브시스템이 상기 액세스 허가 요청 메시지에 응답하여 상기 제2 메모리에 상기 데이터 쓰기 명령의 실행이 가능하다고 판단하는 경우, 상기 제2 메모리 서브시스템은 상기 제2 메모리에 상기 데이터 쓰기 명령을 실행하도록 구성될 수 있다.
또한, 제5 메모리; 및 상기 제5 메모리의 자원을 파악 및 분배하고, 상기 제5 메모리의 데이터 전송을 제어하도록 구성된 제1 메모리 브리지 서브시스템을 포함하는 제1 메모리 브리지 IC를 더 포함하고, 상기 제1 메모리 브리지 서브시스템은 상기 제1 메모리 서브시스템 및 상기 제2 메모리 서브시스템과 상기 메모리 버스를 통해 연결되어 통신가능하도록 구성될 수 있다.
또한, 제6 메모리; 및 상기 제6 메모리의 자원을 파악 및 분배하고, 상기 제6 메모리의 데이터 전송을 제어하도록 구성된 제2 메모리 브리지 서브시스템을 포함하는 제2 메모리 브리지 IC를 더 포함하고, 상기 제2 메모리 브리지 서브시스템은 상기 제1 메모리 브리지 서브시스템과 상기 메모리 버스를 통해 연결되어 통신가능하도록 구성될 수 있다.
또한, 제3 메모리; 상기 제3 메모리의 자원을 파악 및 분배하고, 상기 제3 메모리의 데이터 전송을 제어하도록 구성된 제1 메모리 서브시스템; 및 상기 제3 메모리 서브시스템에 연결된 제3 프로세서로 구성된 제3 프로세서 유닛을 더 포함하고, 상기 제3 메모리 서브시스템은 제1 메모리 브리지 서브시스템과 상기 메모리 버스를 통해 연결되어 통신가능하도록 구성되는 것이고, 상기 제1 메모리 서브시스템과 상기 제3 메모리 서브시스템이 상기 메모리 버스를 통해 연결되지 않는 경우, 상기 제1 프로세서의 메모리 자원 요청에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리의 자원의 용량이 부족하다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제1 메모리 브리지 서브시스템을 통해 상기 제3 메모리 서브시스템에 상기 제3 메모리의 자원에 대한 액세스 허가 요청 메시지를 전송가능하도록 구성될 수 있다.
본 발명에 의하면, 이종(heterogeneous) 프로세서간 메모리 자원을 공유할 수 있는 메모리 클라우드를 구성하기 위한 메모리 제어 연동 방법 및 이를 위한 메모리 자원 공유 시스템을 제공할 수 있다.
또한, 본 발명에 의하면, 이종 시스템의 확장 및 연동에 최적화된 다양한 종류의 메모리를 공유하고 통합 운용할 수 있는 메모리 자원 공유 방법 및 시스템을 제공할 수 있다.
또한, 본 발명에 의하면, 이종 프로세서 및 물리적으로 다른 칩에 연결되어 있는 메모리에 서로 접근가능하게 함으로써, 메모리 네트워크의 융합 및 연동이 가능한 이종 융합 메모리 클러스터를 구성할 수 있는 컴퓨팅 시스템용 브리지 제어 방법 및 시스템을 제공할 수 있다.
또한, 본 발명에 의하면, 프로세서 투 프로세서(Processor to Processor)뿐만 아니라 프로세서 간 연결된 메모리 브리지 IC를 통한 메모리 네트워크를 구성함으로써, 프로세서의 개수 및 메모리 용량을 독립적으로 확장가능하고(scalable), 메모리 접근시 지연시간을 수 ms 이하로 최소화하여 초고속 데이터 전송이 가능한 메모리 클라우드 네트워크를 구성할 수 있다.
본 발명의 효과들은 이상에서 언급한 내용들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1a는 종래의 단일 메모리 제어 기술의 문제점을 설명하기 위한 개념도이며, 도 1b는 본 발명의 일 실시예에 따른 메모리 클라우드를 위한 메모리 자원 공유 방법 및 시스템의 목적을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 자원 공유 시스템의 메모리 자원 공유 프로세스를 설명하기 위한 블록도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 메모리 자원 공유 시스템의 메모리 데이터 읽기 프로세스를 설명하기 위한 블록도 및 흐름도이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 메모리 자원 공유 시스템의 메모리 데이터 쓰기 프로세스를 설명하기 위한 블록도 및 흐름도이다.
도 5는 본 발명의 일 실시예에 따라 복수의 프로세서 유닛과 메모리 브리지 IC로 구성되는 메모리 자원 공유 시스템의 구성을 설명하기 위한 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서 사용되는 "포함한다(comprises)", "포함하는(comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다.
도 1a는 종래의 단일 메모리 제어 기술의 문제점을 설명하기 위한 개념도이다.
도 1a를 참고하면, 서로 상이한 제조사에서 제조하거나 규격, 기능 및 용도가 상이한 이종 프로세서들(11, 21, 31)은 각 프로세서에 적합한 메모리 제어를 위한 메모리 서브시스템(12, 22, 32)을 통해 각 프로세서에 연결된 메모리(13, 23, 33)를 제어하고 각각의 메모리 자원을 사용하게 된다. 이때, 서로 상이한 메모리 서브시스템(12, 22, 32)을 통해 제어되는 메모리들 간에 메모리 네트워크의 융합이나 연동이 불가능하기 때문에 각각의 프로세서는 해당 메모리 서브시스템을 통해 연결된 단일 메모리만 제어 및 사용이 가능하다는 문제점이 있다. 이와 같은 종래 구조에서는, 서로 동일 종류 또는 상이한 종류의 프로세서 간에 메모리 자원을 공유하는 것이 불가능하고, 물리적으로 다른 칩에 연결되어 있는 메모리에 서로 접근하는 것도 불가능하다.
도 1b는 본 발명의 일 실시예에 따른 메모리 클라우드를 위한 메모리 자원 공유 방법 및 시스템의 목적을 설명하기 위한 개념도이다.
종래의 서로 다른 메모리 자원 간에 데이터를 전송하기 위해서는 좌측 도면에서와 같이 메모리로부터 메모리 서브시스템, 네트워크온칩(NoC), 캐쉬(cache), 프로세서, OS(운영체제), 드라이버, 이더넷 통신망 등의 여러 단계의 프로세스를 거쳐 데이터의 이동이 이루어지기 때문에, 데이터 전송을 위한 시간이 많이 소요된다.
그러나, 본 발명에서 제안하는 메모리 클라우드(memory cloud)를 위한 메모리 자원 공유 시스템의 경우 우측 도면에서와 같이 서로 다른 메모리 자원을 담당하는 메모리 서브시스템 사이에 데이터를 전송할 수 있는 메모리 버스를 통해 별도의 데이터 전송 채널을 구성함으로써, 메모리로부터 프로세서 레벨을 거쳐 이더넷 통신망 레벨까지 데이터가 전달될 필요 없이 하위 레벨에서 메모리 서브시스템 사이에 데이터 전송이 가능하기 때문에 시간적인 측면 및 효율성 측면에서 최적화된 메모리 자원 융합 및 연동 솔루션을 제공할 수 있다. 여기서, 메모리 클라우드는 서로 동일하거나 상이한 종류의 복수의 프로세서와 연결되어 있는 각각의 메모리 자원을 공유하여 빠르게 접근 가능하도록 구현한 새로운 시스템을 의미하며, 다수의 메모리 사용 주체로서 복수의 이종 프로세서, 예컨대 CPU, GPU, NPU 등에게 공용의 메모리 자원을 공유가능하도록 제공할 수 있는 시스템을 지칭한다. 본 발명에 따른 메모리 자원 공유 시스템의 구체적인 동작에 대해서는 이하에서 설명될 것이다.
도 2는 본 발명의 일 실시예에 따른 메모리 자원 공유 시스템의 메모리 자원 공유 프로세스를 설명하기 위한 블록도이다.
도 2를 참조하면, 제1 프로세서 유닛(100)은 제1 프로세서(110), 제1 메모리 서브시스템(120), 제1 메모리(130)를 포함할 수 있고, 제2 프로세서 유닛(200)은 제2 프로세서(210), 제2 메모리 서브시스템(220), 제2 메모리(230)를 포함할 수 있으며, 제1 프로세서 유닛(100) 및 제2 프로세서 유닛(200)은 각각 하나의 개별 IC(집적 회로)로 구성될 수 있다.
여기서, 제1 프로세서 유닛(100)과 제2 프로세서 유닛(200)은 이종의 시스템으로 구성될 수 있으며, 예컨대 제1 프로세서(110)와 제2 프로세서(210)은 서로 다른 제조사에 의해 제조된 다른 유형의 프로세서이거나, CPU(central processing unit), GPU(graphic processing unit), NPU(neural processing unit) 등 서로 다른 용도 또는 유형의 프로세싱 유닛일 수 있으며, 각각 제1 메모리 서브시스템(120) 및 제2 메모리 서브시스템(220)에 연결될 수 있다.
또한, 메모리 서브시스템은 메모리에 데이터를 읽기(read)하고 쓰기(write)하는 주체로부터 메모리 접근 요청을 받고, 안정적으로 메모리 구동 명령어, 데이터를 메모리로 전송하며, 메모리 데이터를 읽기, 쓰기 및 보존하기 위한 메모리 컨트롤러, 물리계층(PHY), 입출력(IO) 등으로 구성된 메모리 시스템의 구동 보조 시스템을 의미한다. 제1 메모리 서브시스템(120) 및 제2 메모리 서브시스템(220)은 각각 제1 메모리(130) 또는 제2 메모리(230)의 자원을 파악 및 분배하고, 제1 메모리(130) 또는 제2 메모리(230)의 데이터 전송을 제어하도록 구성될 수 있으며, 제1 메모리 서브시스템(120)과 제2 메모리 서브시스템(220)은 메모리 버스를 통해 연결되어 통신가능하며, 다양한 메모리 프로토콜을 지원하도록 구성될 수 있다.
여기서, 제1 메모리(130) 또는 제2 메모리(230)는 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있고, 휘발성 메모리인 경우 빠른 처리 속도가 요구되는 랜덤 액세스 메모리(RAM)를 포함할 수 있으며, 예컨대 DRAM, MRAM, STT-MRAM, PRAM, RRAM 등 랜덤 액세스가 가능한 다양한 메모리 등을 포함할 수도 있다. 또한, 예컨대 제1 메모리(130)와 제2 메모리(230)는 각각 DDR3, DDR4, DDR5 등 DDRx나 LPDDR3, LPDDR4, LPDDR5 등 LPDDRx 등 서로 다른 규격과 프로토콜을 갖는 메모리 종류 중 하나 이상을 포함할 수 있다.
도 2를 참조하면, 메모리 자원 공유 프로세스의 일 예시로서 제1 메모리 자원의 용량이 부족한 경우 자체 메모리가 아닌 공유된 제2 메모리 자원을 활용하는 프로세스가 도시되며, 먼저 제1 프로세서(110)가 제1 메모리 서브시스템(120)에 메모리 자원을 요청할 수 있다.(S201)
제1 메모리 서브시스템(120)은 제1 메모리(130)의 메모리 자원을 파악하고 자원 분배(할당) 가능하며(S202), 제1 메모리(130)는 메모리 자원의 상황을 제1 메모리 서브시스템(120)에 보고하고, 이때 제1 메모리(130)의 용량(공간)이 부족한 상태인지 또는 메모리 할당이 가능한 여유있는 상태인지 여부를 판단할 수 있다.(S203)
이때, 제1 메모리 서브시스템(120)은 제1 프로세서(110)에 제1 메모리(130)의 용량이 부족한 상태이거나 메모리 할당 가능한 상태인지 등 메모리 자원 상황을 공유하고(S204), 제1 메모리(130)의 자원의 용량이 부족하다고 판단하는 경우, 제1 메모리 서브시스템(120)은 메모리 버스를 통해 제2 프로세서 유닛(200)의 제2 메모리 서브시스템(220)에 제2 메모리(230)의 자원에 대한 액세스 허가 요청 메시지를 전송할 수 있다.(S205)
제2 메모리 서브시스템(220)은 액세스 허가 요청 메시지에 응답하여 제2 메모리(230)의 메모리 자원을 파악하고 분배가능하며(S206), 이때 제2 메모리(230)의 용량(공간)이 부족한 상태이거나 메모리 할당이 가능한 여유있는 상태인지 여부를 판단할 수 있다.(S207)
제2 메모리 서브시스템(220)은 제2 프로세서(210)에 제2 메모리(230)의 용량이 부족한 상태이거나 메모리 할당 가능한 상태인지 등 메모리 자원 상황을 공유하고(S208), 제2 메모리(230)의 자원의 용량에 여유가 있다고 판단하는 경우, 제1 메모리 서브시스템(120)에 제2 메모리(230)의 자원에 대한 액세스 허가 메시지를 전송할 수 있다.(S209)
이와 같은 프로세스를 통해 제1 프로세서(110)는 제1 메모리(130)의 자원 용량이 부족한 경우 제2 메모리(230)의 자원을 할당받아 액세스(사용)할 수 있으며, 특히 프로세서보다 하위 레벨에서 제1 메모리 서브시스템(120)과 제2 메모리 서브시스템(130) 간에 데이터 전송을 통해 메모리 공유 및 데이터 전송이 가능하기 때문에 서로 상이한 종류나 위치에 존재하는 메모리 자원 간에 메모리 접근 시에 지연시간을 수 ms 이하로 최소화함으로써 초고속 데이터 전송이 가능하다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 메모리 자원 공유 시스템의 메모리 데이터 읽기 프로세스를 설명하기 위한 블록도 및 흐름도이다.
도 3a를 참조하면, 메모리 자원 시스템의 메모리 데이터 사용 중 읽기(read) 프로세스의 일 예시로서 제1 프로세서(110)에서 제2 메모리(230)의 데이터 읽기가 필요한 경우 프로세스가 도시되며, 먼저 제1 프로세서(110)가 제1 메모리 서브시스템(120)에 데이터 읽기 명령과 관련된 명령어 및 데이터 주소를 전달할 수 있다.(S301)
제1 메모리 서브시스템(120)은 데이터 읽기 명령에 응답하여 읽기 명령어 및 데이터 주소를 확인하고(S302), 제1 메모리(130)는 메모리 데이터의 상황을 제1 메모리 서브시스템(120)에 보고하고, 이때 제1 메모리(130)에 해당 데이터가 존재하는지 여부를 판단할 수 있다.(S303)
이때, 제1 메모리 서브시스템(120)은 제1 메모리(130)에 데이터 읽기 명령에 대응되는 데이터가 존재하지 않는다고 판단(해당 데이터 부재 판단)하는 경우, 메모리 버스를 통해 제2 프로세서 유닛(200)의 제2 메모리 서브시스템(220)에 제2 메모리(230)의 데이터에 대한 액세스 허가 요청 메시지를 전송할 수 있다.(S304)
제2 메모리 서브시스템(220)은 액세스 허가 요청 메시지에 응답하여 제2 메모리(230)를 통해 읽기 명령어 및 데이터의 출발지 및 도착지를 확인하고(S305), 이때 제2 메모리(230)에 제1 프로세서(110)의 데이터 읽기 명령에 대응되는 데이터가 존재하는지 여부를 판단할 수 있다.(S306)
제2 메모리 서브시스템(220)은 제2 메모리(230)에 데이터 읽기 명령에 대응되는 데이터가 존재한다고 판단하는 경우 메모리 데이터의 전달 상황을 제2 프로세서(210)에 공유하고(S307), 제1 메모리 서브시스템(120)에 제2 메모리(230)의 해당 데이터에 대한 액세스 허가 메시지를 전송할 수 있다.(S308) 또한, 제1 메모리 서브시스템(120)은 제2 메모리(230)를 통해 액세스한 데이터를 비교하고 제1 프로세서(110)에 전달할 수 있다.(S309)
이와 같은 프로세스를 통해 제1 프로세서(110)는 제1 메모리(130)에 필요한 해당 데이터가 존재하지 않는 경우 제2 메모리(230)에 액세스하여 해당 데이터를 읽어올 수 있다.
또한, 도 3b를 참조하면, 먼저 제1 프로세서(110)로부터 데이터 읽기 명령이 제1 메모리 서브시스템(120)으로 요청될 수 있다.(S310)
제1 메모리 서브시스템(120)은 데이터 읽기 명령의 패킷 디코딩을 통해 어드레스 변환 및 명령어를 생성할 수 있으며(S320), 또한 명령어 스케줄링 및 데이터 레이턴시를 체크할 수 있다.(S330)
다음으로, 제1 메모리 서브시스템(120)은 제1 메모리(130)에 액세스하여(S340), 제1 메모리(130)에 데이터 읽기가 가능한지 여부를 판단할 수 있다.(S350)
이때, 제1 메모리 서브시스템(120)에서 제1 메모리(130)에 해당 데이터가 존재하여 데이터 읽기가 가능하다고 판단되면 제1 메모리(130)에 데이터 읽기 명령을 실행할 수 있다.(S360)
한편, 제1 메모리 서브시스템(120)에서 제1 메모리(130)에 해당 데이터가 부재하여 해당 데이터의 읽기가 불가능하다고 판단되면, 제1 메모리 서브시스템(120)은 제2 메모리 서브시스템(220)에 제2 메모리(230)에 대한 데이터 읽기 허가 요청 메시지를 전송할 수 있다.(S370)
이때, 제2 메모리 서브시스템(220)은 제2 메모리(230)에 해당 데이터가 존재하는지 여부를 판단하여 데이터 읽기 가능 여부를 체크하고(S380), 데이터 읽기가 가능한 경우 제2 메모리(230)를 사용하여 제1 프로세서(110)로부터의 해당 데이터의 읽기 명령을 실행할 수 있다.(S390) 만약, 제2 메모리(230)에 데이터 읽기가 불가능한 경우 제2 메모리 서브시스템(220)은 제2 메모리(230)의 메모리 상황을 제1 메모리 서브시스템(120)에 전달할 수 있다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 메모리 자원 공유 시스템의 메모리 데이터 쓰기 프로세스를 설명하기 위한 블록도 및 흐름도이다.
도 4a를 참조하면, 메모리 자원 시스템의 메모리 데이터 사용 중 쓰기(read) 프로세스의 일 예시로서 제1 프로세서(110)에서 제2 메모리(230)에 데이터 쓰기가 필요한 경우 프로세스가 도시되며, 먼저 제1 프로세서(110)가 제1 메모리 서브시스템(120)에 데이터 쓰기 명령과 관련된 명령어 및 연산 데이터 주소를 전달할 수 있다.(S401)
제1 메모리 서브시스템(120)은 데이터 쓰기 명령에 응답하여 쓰기 명령어 및 연산데이터 주소를 확인하고(S402), 제1 메모리(130)는 메모리 데이터의 상황을 제1 메모리 서브시스템(120)에 보고하고, 이때 제1 메모리(130)에 해당 데이터 주소가 연산 데이터를 관리하는지 여부를 판단할 수 있다.(S403)
이때, 제1 메모리 서브시스템(120)은 제1 메모리(130)에 데이터 쓰기 명령에 대응되는 연산 데이터가 존재하지 않는 경우, 메모리 버스를 통해 제2 프로세서 유닛(200)의 제2 메모리 서브시스템(220)에 제2 메모리(230)의 데이터에 대한 액세스 허가 요청 메시지를 전송할 수 있다.(S404)
제2 메모리 서브시스템(220)은 액세스 허가 요청 메시지에 응답하여 제2 메모리(230)를 통해 쓰기 명령어 및 연산 데이터의 출발지 및 도착지를 확인하고(S405), 이때 제2 메모리(230)에 제1 프로세서(110)의 데이터 쓰기 명령에 대응되는 해당 연산 데이터가 존재하는지 여부를 판단할 수 있다.(S406)
제2 메모리 서브시스템(220)은 제2 메모리(230)에 데이터 쓰기 명령에 대응되는 해당 연산 데이터가 존재한다고 판단하는 경우 메모리 데이터의 전달 상황을 제2 프로세서(210)에 공유하고(S407), 제1 메모리 서브시스템(120)에 제2 메모리(230)의 해당 데이터에 대한 액세스 허가 메시지를 전송할 수 있다.(S408) 또한, 제1 메모리 서브시스템(120)은 제2 메모리(230)를 통해 액세스한 데이터를 비교하고 데이터 쓰기 상태를 제1 프로세서(110)에 전달할 수 있다.(S409)
이와 같은 프로세스를 통해 제1 프로세서(110)는 제1 메모리(130)에 쓰기 동작에 필요한 해당 연산 데이터가 존재하지 않는 경우 제2 메모리(230)에 액세스하여 해당 데이터의 쓰기 동작을 수행할 수 있다.
또한, 도 4b를 참조하면, 먼저 제1 프로세서(110)로부터 데이터 쓰기 명령이 제1 메모리 서브시스템(120)으로 요청될 수 있다.(S410)
제1 메모리 서브시스템(120)은 데이터 쓰기 명령의 패킷 디코딩을 통해 어드레스 변환 및 명령어를 생성할 수 있으며(S420), 또한 명령어 스케줄링 및 데이터 레이턴시를 체크할 수 있다.(S430)
다음으로, 제1 메모리 서브시스템(120)은 제1 메모리(130)에 액세스하여(S440), 제1 메모리(130)에 데이터 쓰기가 가능한지 여부를 판단할 수 있다.(S450) 예컨대, 제1 메모리(130)의 메모리 공간이 부족한지 여부를 판단하여 데이터 쓰기가 가능한지 여부를 판단할 수 있다.
이때, 제1 메모리 서브시스템(120)에서 제1 메모리(130)에 데이터 쓰기가 가능하다고 판단되면 제1 메모리(130)에 데이터 쓰기 명령을 실행할 수 있다.(S460)
한편, 제1 메모리 서브시스템(120)에서 제1 메모리(130)에 데이터 쓰기가 불가능하다고 판단되면, 제1 메모리 서브시스템(120)은 제2 메모리 서브시스템(220)에 제2 메모리(230)에 대한 쓰기 허가 요청 메시지를 전송할 수 있다.(S470)
이때, 제2 메모리 서브시스템(220)은 제2 메모리(230)에 데이터 쓰기 가능 여부를 체크하고(S480), 데이터 쓰기가 가능한 경우 제2 메모리(230)에 제1 프로세서(110)로부터의 데이터 쓰기 명령을 실행할 수 있다.(S490) 만약, 제2 메모리(230)에 데이터 쓰기가 불가능한 경우 제2 메모리 서브시스템(220)은 제2 메모리(230)의 메모리 공간 상황을 제1 메모리 서브시스템(120)에 전달할 수 있다.
도 5는 본 발명의 일 실시예에 따라 복수의 프로세서 유닛과 메모리 브리지 IC로 구성되는 메모리 자원 공유 시스템의 구성을 설명하기 위한 블록도이다.
도 5를 참조하면, 도 2 및 도 3에서 도시된 바와 같이 각각 자체 프로세서, 메모리 서브시스템 및 메모리를 포함하는 제1 프로세서 유닛(100)과 제2 프로세서 유닛(200)을 포함하고 있으며, 이와 유사하게 각각 자체 프로세서, 메모리 서브시스템 및 메모리를 포함하는 제3 프로세서 유닛(300)과 제4 프로세서 유닛(400)을 더 포함하고 있다. 이때, 도 2 및 도 3에서와 같이 제1 프로세서 유닛(100)과 제2 프로세서 유닛(200)은 제1 메모리 서브시스템(120) 및 제2 메모리 서브시스템(220) 사이에 메모리 버스를 통해 연결되어 있으나, 제1 메모리 서브시스템(120) 및 제2 메모리 서브시스템(220)는 제3 프로세서 유닛(300)과 제4 프로세서 유닛(400)의 메모리 서브시스템과는 직접 연결되어 있지 않고, 제3 프로세서 유닛(300)과 제4 프로세서 유닛(400)의 각 메모리 서브시스템 사이에는 메모리 버스를 통해 연결되어 있다.
또한, 도 5에 도시된 제1 프로세서 유닛(100), 제2 프로세서 유닛(200), 제3 프로세서 유닛(300), 제4 프로세서 유닛(400)과 제1 메모리 브리지 IC(500) 및 제 제2 메모리 브리지 IC(510)는 각각 하나의 개별 IC(집적 회로)로 구성될 수 있다.
또한, 메모리 자원 공유 시스템은, 제1 메모리 서브시스템(120) 및 제2 메모리 서브시스템(220)과 메모리 버스를 통해 연결되어 통신가능하도록 구성되고, 제3 프로세서 유닛(300)과 제4 프로세서 유닛(400)의 제3 메모리 서브시스템 및 제4 메모리 서브시스템과 각각 메모리 버스를 통해 연결되어 통신가능하도록 구성된 제1 메모리 브리지(bridge) 집적회로(IC)(500)를 더 포함할 수 있으며, 제1 메모리 브리지 IC(500)는 제1 프로세서 유닛(100) 내지 제4 프로세서 유닛(400)과 상이하게 자체 프로세서는 포함하지 않으나 메모리 네트워크 라우터 및 자체 메모리 제어 기능을 내장한 브리지 IC 형태로 구성될 수 있으며, 각 프로세서간 메모리 트래픽 경로를 관리, 중계하는 메모리 네트워크 라우터 역할을 수행하며, 자체적으로 연결된 메모리 자원을 운용할 수 있는 메모리 제어 기술을 수행할 수 있다. 제1 메모리 브리지 IC(500)는 제5 메모리 및 제5 메모리의 자원을 파악 및 분배하고, 제5 메모리의 데이터 전송을 제어하도록 구성된 제1 메모리 브리지 서브시스템을 포함하고, 제1 프로세서 유닛(100) 내지 제4 프로세서 유닛(400)의 필요에 따라 메모리 서브시스템과 메모리 브리지 서브시스템 간의 데이터 전달에 따라 제5 메모리의 자원을 공유할 수 있다.
예컨대, 제1 프로세서 유닛(100)의 제1 프로세서(110)의 메모리 자원 요청에 응답하여 제2 프로세서(200)의 제2 메모리(230)의 자원 사용이 불가능한 경우, 제1 메모리 브리지 IC(500)의 제1 메모리 브리지 서브시스템을 통해 제5 메모리의 자원에 대한 액세스 허가 요청 메시지를 전송하거나, 또는 제1 메모리 브리지 서브시스템을 경유하여 제3 프로세서 유닛(300)의 제3 메모리의 자원 사용을 위해 제3 메모리의 자원에 대한 액세스 허가 요청 메시지를 제3 메모리 서브시스템에 전송할 수 있다. 예컨대, 제3 프로세서 유닛(300)의 제3 메모리의 자원 사용이 가능한 경우 제1 프로세서(110)은 제1 메모리 브리지 IC(500)의 메모리 브리지 서브시스템을 통해 연결된 제3 메모리 서브시스템을 통해 제3 메모리의 자원에 액세스가능하다.
또한, 제1 메모리 브리지 IC(500)에 추가적으로 연결된 제2 메모리 브리지 IC(510)를 더 포함할 수 있고, 2 메모리 브리지 IC(510)는 제6 메모리, 및 제6 메모리의 자원을 파악 및 분배하고, 제6 메모리의 데이터 전송을 제어하도록 구성된 제2 메모리 브리지 서브시스템을 포함하고, 제2 메모리 브리지 서브시스템은 제1 메모리 브리지 서브시스템과 메모리 버스를 통해 연결되어 통신가능하도록 구성될 수 있다. 예컨대, 제1 프로세서 유닛(100)의 제1 프로세서(110)의 메모리 자원 요청에 응답하여 제1 메모리 브리지 IC(500)의 제5 메모리 자원의 용량이 부족하여 사용이 불가능한 경우, 제2 메모리 브리지 IC(510)의 제2 메모리 브리지 서브시스템을 통해 제6 메모리의 자원 상황을 판단하고 제6 메모리의 자원의 용량에 여유가 있어 사용이 가능한 경우 제1 프로세서(110)는 제1 메모리 브리지 IC(500)의 메모리 브리지 서브시스템 및 제2 메모리 브리지 IC(510)을 통해 제6 메모리의 자원에 액세스가능하여, 메모리를 확장 및 공유할 수 있다.
본 발명의 명세서에 개시된 실시예들은 예시에 불과한 것으로서, 본 발명은 이에 한정되지 않는 것이다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
100: 제1 프로세서 유닛
110: 제1 프로세서 120: 제1 메모리 서브 시스템
130: 제1 메모리
200: 제2 프로세서 유닛
210: 제2 프로세서 220: 제2 메모리 서브 시스템
230: 제2 메모리
300: 제3 프로세서 유닛
400: 제4 프로세서 유닛
500: 제1 메모리 브리지 IC
510: 제2 메모리 브리지 IC

Claims (8)

  1. 메모리 자원 공유 시스템에 있어서,
    제1 메모리;
    상기 제1 메모리의 자원을 파악 및 분배하고, 상기 제1 메모리의 데이터 전송을 제어하도록 구성된 제1 메모리 서브시스템; 및
    상기 제1 메모리 서브시스템에 연결된 제1 프로세서로 구성된 제1 프로세서 유닛과,
    제2 메모리;
    상기 제2 메모리의 자원을 파악 및 분배하고, 상기 제2 메모리의 데이터 전송을 제어하도록 구성된 제2 메모리 서브시스템; 및
    상기 제2 메모리 서브시스템에 연결된 제2 프로세서로 구성된 제2 프로세서 유닛
    을 포함하고,
    상기 제1 메모리 서브시스템과 상기 제2 메모리 서브시스템은 메모리 버스를 통해 연결되어 통신가능한 것이고,
    상기 제1 메모리 서브시스템 및 상기 제2 메모리 서브시스템과 상기 메모리 버스를 통해 연결되어 통신가능하도록 구성되는 제1 메모리 브리지 서브시스템을 포함하는 제1 메모리 브리지 IC를 더 포함하고,
    제3 메모리;
    상기 제3 메모리의 자원을 파악 및 분배하고, 상기 제3 메모리의 데이터 전송을 제어하도록 구성된 제3 메모리 서브시스템; 및
    상기 제3 메모리 서브시스템에 연결된 제3 프로세서로 구성된 제3 프로세서 유닛을 더 포함하고, 상기 제3 메모리 서브시스템은 상기 제1 메모리 브리지 서브시스템과 상기 메모리 버스를 통해 연결되어 통신가능하도록 구성되는 것이고,
    상기 제1 메모리 서브시스템과 상기 제3 메모리 서브시스템이 상기 메모리 버스를 통해 연결되지 않는 경우, 상기 제1 프로세서의 메모리 자원 요청에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리의 자원의 용량이 부족하다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제1 메모리 브리지 서브시스템을 통해 상기 제3 메모리 서브시스템에 상기 제3 메모리의 자원에 대한 액세스 허가 요청 메시지를 전송가능하도록 구성되는 것이고,
    상기 제1 프로세서, 상기 제2 프로세서 및 상기 제3 프로세서는 각각 상기 제1 메모리, 상기 제2 메모리 및 상기 제3 메모리와 서로 물리적으로 다른 칩에 연결된 것인, 메모리 자원 공유 시스템.
  2. 제1항에 있어서, 상기 제1 프로세서의 메모리 자원 요청에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리의 자원의 용량이 부족하다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제2 메모리 서브시스템에 상기 제2 메모리의 자원에 대한 액세스 허가 요청 메시지를 전송하도록 구성되는 것인, 메모리 자원 공유 시스템.
  3. 제2항에 있어서, 상기 제2 메모리 서브시스템이 상기 액세스 허가 요청 메시지에 응답하여 상기 제2 메모리의 자원의 용량에 여유가 있다고 판단하는 경우, 상기 제2 메모리 서브시스템은 상기 제1 메모리 서브시스템에 상기 제2 메모리의 자원에 대한 액세스 허가 메시지를 전송하도록 구성되는 것인, 메모리 자원 공유 시스템.
  4. 제1항에 있어서, 상기 제1 프로세서의 데이터 읽기 명령에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리에 상기 데이터 읽기 명령에 대응되는 데이터가 존재하지 않는다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제2 메모리 서브시스템에 상기 제2 메모리의 데이터에 대한 액세스 허가 요청 메시지를 전송하도록 구성되는 것인, 메모리 자원 공유 시스템.
  5. 제4항에 있어서, 상기 제2 메모리 서브시스템이 상기 액세스 허가 요청 메시지에 응답하여 상기 제2 메모리에 상기 데이터 읽기 명령에 대응되는 데이터가 존재한다고 판단하는 경우, 상기 제2 메모리 서브시스템은 상기 제1 메모리 서브시스템에 상기 제2 메모리의 데이터에 대한 액세스 허가 메시지를 전송하도록 구성되는 것인, 메모리 자원 공유 시스템.
  6. 제1항에 있어서, 상기 제1 프로세서의 데이터 쓰기 명령에 응답하여 상기 제1 메모리 서브시스템에서 상기 제1 메모리에 상기 데이터 쓰기 명령의 실행이 불가능하다고 판단하는 경우, 상기 제1 메모리 서브시스템은 상기 제2 메모리 서브시스템에 상기 제2 메모리에 대한 액세스 허가 요청 메시지를 전송하도록 구성되는 것인, 메모리 자원 공유 시스템.
  7. 제6항에 있어서, 상기 제2 메모리 서브시스템이 상기 액세스 허가 요청 메시지에 응답하여 상기 제2 메모리에 상기 데이터 쓰기 명령의 실행이 가능하다고 판단하는 경우, 상기 제2 메모리 서브시스템은 상기 제2 메모리에 상기 데이터 쓰기 명령을 실행하도록 구성되는 것인, 메모리 자원 공유 시스템.
  8. 제1항에 있어서,
    제2 메모리 브리지 서브시스템을 포함하는 제2 메모리 브리지 IC를 더 포함하고,
    상기 제2 메모리 브리지 서브시스템은 상기 제1 메모리 브리지 서브시스템과 상기 메모리 버스를 통해 연결되어 통신가능하도록 구성되는 것인, 메모리 자원 공유 시스템.
KR1020230110957A 2022-05-04 2023-08-24 대용량 메모리 자원 공유 방법 및 메모리 브리지 ic를 이용한 효율적인 메모리 자원 공유 시스템 KR102615319B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230110957A KR102615319B1 (ko) 2022-05-04 2023-08-24 대용량 메모리 자원 공유 방법 및 메모리 브리지 ic를 이용한 효율적인 메모리 자원 공유 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220055540A KR102572143B1 (ko) 2022-05-04 2022-05-04 메모리 클라우드를 위한 메모리 자원 공유 방법 및 이를 이용한 메모리 자원 공유 시스템
KR1020230110957A KR102615319B1 (ko) 2022-05-04 2023-08-24 대용량 메모리 자원 공유 방법 및 메모리 브리지 ic를 이용한 효율적인 메모리 자원 공유 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220055540A Division KR102572143B1 (ko) 2022-05-04 2022-05-04 메모리 클라우드를 위한 메모리 자원 공유 방법 및 이를 이용한 메모리 자원 공유 시스템

Publications (2)

Publication Number Publication Date
KR20230155996A true KR20230155996A (ko) 2023-11-13
KR102615319B1 KR102615319B1 (ko) 2023-12-19

Family

ID=87802267

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220055540A KR102572143B1 (ko) 2022-05-04 2022-05-04 메모리 클라우드를 위한 메모리 자원 공유 방법 및 이를 이용한 메모리 자원 공유 시스템
KR1020230110957A KR102615319B1 (ko) 2022-05-04 2023-08-24 대용량 메모리 자원 공유 방법 및 메모리 브리지 ic를 이용한 효율적인 메모리 자원 공유 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220055540A KR102572143B1 (ko) 2022-05-04 2022-05-04 메모리 클라우드를 위한 메모리 자원 공유 방법 및 이를 이용한 메모리 자원 공유 시스템

Country Status (2)

Country Link
US (1) US20240086313A1 (ko)
KR (2) KR102572143B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170035797A (ko) 2015-09-11 2017-03-31 삼성전자주식회사 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당
KR20200057397A (ko) * 2018-11-16 2020-05-26 삼성전자주식회사 메모리를 공유하는 이종의 프로세서들을 포함하는 스토리지 장치 및 그것의 동작 방법
KR20210132348A (ko) * 2020-04-27 2021-11-04 한국전자통신연구원 광 회선을 통해 상호 연결된 컴퓨팅 자원 분할 협업 시스템, 자원 분할 협업 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170035797A (ko) 2015-09-11 2017-03-31 삼성전자주식회사 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당
KR20200057397A (ko) * 2018-11-16 2020-05-26 삼성전자주식회사 메모리를 공유하는 이종의 프로세서들을 포함하는 스토리지 장치 및 그것의 동작 방법
KR20210132348A (ko) * 2020-04-27 2021-11-04 한국전자통신연구원 광 회선을 통해 상호 연결된 컴퓨팅 자원 분할 협업 시스템, 자원 분할 협업 방법

Also Published As

Publication number Publication date
US20240086313A1 (en) 2024-03-14
KR102615319B1 (ko) 2023-12-19
KR102572143B1 (ko) 2023-08-29

Similar Documents

Publication Publication Date Title
US11025544B2 (en) Network interface for data transport in heterogeneous computing environments
US11579788B2 (en) Technologies for providing shared memory for accelerator sleds
US11416295B2 (en) Technologies for providing efficient access to data in an edge infrastructure
US10254987B2 (en) Disaggregated memory appliance having a management processor that accepts request from a plurality of hosts for management, configuration and provisioning of memory
CN115543204A (zh) 用于针对加速器板提供共享存储器的技术
US9952975B2 (en) Memory network to route memory traffic and I/O traffic
CN106462524B (zh) 使用混合存储器立方体链路的互连系统及方法
US20150261698A1 (en) Memory system, memory module, memory module access method, and computer system
US9946664B2 (en) Socket interposer having a multi-modal I/O interface
US11671522B2 (en) System and method for memory access in server communications
JP6514329B2 (ja) メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
US20210326221A1 (en) Network interface device management of service execution failover
EP4002139A2 (en) Memory expander, host device using memory expander, and operation method of server system including memory expander
EP2979193B1 (en) Shared memory system
US11231927B2 (en) System, apparatus and method for providing a fabric for an accelerator
KR102615319B1 (ko) 대용량 메모리 자원 공유 방법 및 메모리 브리지 ic를 이용한 효율적인 메모리 자원 공유 시스템
CN114661654A (zh) 访问处理装置和方法、处理设备、电子设备和存储介质
US20240069755A1 (en) Computer system, memory expansion device and method for use in computer system
CN112506824A (zh) 一种芯片和数据交互方法
US20230195528A1 (en) Method and apparatus to perform workload management in a disaggregated computing system
KR101846726B1 (ko) 프로세서간의 통신을 지원하는 시스템 반도체 mmr 칩
KR102353930B1 (ko) 분리된 메모리 기기
CN116795742A (zh) 存储设备、信息存储方法及系统
KR20230107086A (ko) 캐시-일관성을 위한 장치 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant