[go: up one dir, main page]

KR102438319B1 - 공통 메모리 인터페이스 장치 및 방법 - Google Patents

공통 메모리 인터페이스 장치 및 방법 Download PDF

Info

Publication number
KR102438319B1
KR102438319B1 KR1020180015328A KR20180015328A KR102438319B1 KR 102438319 B1 KR102438319 B1 KR 102438319B1 KR 1020180015328 A KR1020180015328 A KR 1020180015328A KR 20180015328 A KR20180015328 A KR 20180015328A KR 102438319 B1 KR102438319 B1 KR 102438319B1
Authority
KR
South Korea
Prior art keywords
common memory
command
computer
memory
common
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020180015328A
Other languages
English (en)
Other versions
KR20190095840A (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 KR1020180015328A priority Critical patent/KR102438319B1/ko
Priority to US16/165,891 priority patent/US10831676B2/en
Publication of KR20190095840A publication Critical patent/KR20190095840A/ko
Application granted granted Critical
Publication of KR102438319B1 publication Critical patent/KR102438319B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • 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/28DMA

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Communication Control (AREA)

Abstract

공통 메모리 인터페이스 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 공통 메모리 인터페이스행 장치는 컴퓨터로부터 공통 메모리에 액세스 하기 위한 패킷을 입력 받는 컴퓨터 입출력 인터페이스 프로토콜 처리부; 상기 패킷을 상기 공통 메모리에 대해 읽기 및 쓰기 중 어느 하나의 동작을 수행하기 위한 명령어로 변환하는 직접 메모리 액세스부 및 상기 공통 메모리에 대해 상기 명령어의 완료 여부를 확인하는 공통 메모리 인터페이스 처리부를 포함한다.

Description

공통 메모리 인터페이스 장치 및 방법 {APPARATUS AND METHOD FOR INTERFACING COMMON MEMORY}
본 발명은 분산 컴퓨터 기술에 관한 것으로, 보다 상세하게는 분산 컴퓨터 시스템에서 공통 메모리의 인터페이스 기술에 관한 것이다.
종래 기술의 분산 컴퓨터에서 사용하는 공통 메모리 장치에서 각 컴퓨터는 각 컴퓨터가 가지고 있는 입출력 슬롯에 장착된 메모리 인터페이스 장치를 통하여 공유 메모리를 억세스할 수 있다. 이 때, 각 컴퓨터는 각 컴퓨터의 주소 공간에 공유 메모리를 매핑할 수 있고, 공유 메모리에 대한 억세스는 각 컴퓨터가 읽기 명령어 및 쓰기 명령어를 사용하여 수행할 수 있다. 이 때, 각 컴퓨터는 각자의 주소 공간에 공유 메모리를 매핑하여 공유 메모리 공간을 각각의 컴퓨터가 가진 것처럼 사용할 수 있다. 그러나, 실제 공유 메모리는 동일하므로 한 컴퓨터에서 쓰기 명령어를 이용하여 기록한 내용은 다른 컴퓨터에서 보이는 주소 공간에도 반영될 수 있다. 따라서, 다른 컴퓨터에서는 자신의 주소 공간에 대한 읽기 명령어를 이용하여 한 컴퓨터에서 억세스한 내용을 판독하여 컴퓨터간 데이터 교환을 수행할 수 있다.
그러나, 종래 기술은 각 컴퓨터가 공유 메모리 영역을 각자 자신의 주소 공간에 매핑함으로써 공통 메모리에 접근하게 되는데, 각 컴퓨터는 장치에 할당할 수 있는 물리 주소 공간이 제한되어 있으므로, 공통 메모리의 양 또한 이에 따른 제한을 받게 된다. 예를 들어 일반적인 PC급 컴퓨터에서 1개의 PCI 장치에 매핑할 수 있는 주소 영역은 1GB로 제한되어 있으며, 1GB가 넘는 주소 영역 매핑을 요구하는 PCI 장치가 부착된 경우 시스템의 부팅이 불가능해진다. 그리고, 각 컴퓨터에서 주메모리와 공통 메모리간의 데이터 송수신을 이용하여 다른 컴퓨터와 데이터 교환을 하기 위해서는 각 컴퓨터의 중앙처리장치를 이용하게 되므로 데이터 교환시에 중앙처리장치는 다른 작업을 수행할 수 없다. 또한, 한 컴퓨터에서 공통 메모리에 대해 배타적 데이터 송수신을 진행하고 있는 동안에, 다른 컴퓨터는 배타적 데이터 송수신이 진행되고 있는지 여부를 알 수 없으며, 배타적 데이터 송수신의 종료 시간도 알 수 없으므로 무한정 데이터 송수신을 기다리다가 컴퓨터 시스템에 오류가 발생할 가능성이 존재한다.
한편, 한국공개특허 제 10-2010-0111915 호“프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법”는 공유메모리 영역의 접근 지연 시간을 감소시킬 수 있는 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 권한 제어 방법에 관하여 개시하고 있다.
본 발명은 각 컴퓨터의 장치에 할당할 수 있는 물리 주소 영역의 제한에 제약 받지 않고 공통 메모리의 양을 자유롭게 증가시키는 것을 목적으로 한다.
또한, 본 발명은 메모리 액세스를 위해 장시간 중앙처리장치가 점유되는 상황을 방지하는 것을 목적으로 한다.
또한, 본 발명은 중앙처리장치가 메모리 액세스 완료를 기다리다가 시스템에 오류가 발생하는 상황을 방지하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 공통 메모리 인터페이스 장치는 컴퓨터로부터 공통 메모리에 액세스 하기 위한 패킷을 입력 받는 컴퓨터 입출력 인터페이스 프로토콜 처리부; 상기 패킷을 상기 공통 메모리에 대해 읽기 및 쓰기 중 어느 하나의 동작을 수행하기 위한 명령어로 변환하는 직접 메모리 액세스부 및 상기 공통 메모리에 대해 상기 명령어의 완료 여부를 확인하는 공통 메모리 인터페이스 처리부를 포함한다.
상기 직접 메모리 액세스부는 상기 공통 메모리의 주소와 상기 컴퓨터의 메모리 물리 주소를 기록한 뒤에, 상기 명령어를 기록할 수 있다.
상기 직접 메모리 액세스부는 상기 공통 메모리의 주소의 공간, 상기 컴퓨터의 메모리 물리 주소의 공간, 상기 명령어의 공간을 분리하여 기록할 수 있다.
이 때, 상기 공통 메모리 인터페이스 처리부는 상기 공통 메모리로부터 상기 명령어의 완료 여부를 수신할 수 있다.
이 때, 상기 직접 메모리 액세스부는 상기 명령어의 완료 여부를 기록하고, 인터럽트를 발생시켜서 상기 컴퓨터에게 상기 명령어의 완료 여부를 알릴 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법은 공통 메모리 인터페이스 장치를 이용하는 공통 메모리 인터페이스 방법에 있어서, 컴퓨터로부터 공통 메모리에 액세스 하기 위한 패킷을 입력 받는 단계; 상기 패킷을 상기 공통 메모리에 대해 읽기 및 쓰기 중 어느 하나의 동작을 수행하기 위한 명령어로 변환하는 단계 및 상기 공통 메모리에 대해 상기 명령어의 완료 여부를 확인하는 단계를 포함한다.
상기 명령어로 변환하는 단계는 상기 공통 메모리의 주소와 상기 컴퓨터의 메모리 물리 주소를 기록한 뒤에, 상기 명령어를 기록할 수 있다.
이 때, 상기 명령어로 변환하는 단계는 상기 공통 메모리의 주소의 공간, 상기 컴퓨터의 메모리 물리 주소의 공간, 상기 명령어의 공간을 분리하여 기록할 수 있다.
상기 완료 여부를 확인하는 단계는 상기 공통 메모리로부터 상기 명령어의 완료 여부를 수신할 수 있다.
이 때, 상기 완료 여부를 확인하는 단계는 상기 명령어의 완료 여부를 기록하고, 인터럽트를 발생시켜서 상기 컴퓨터에게 상기 명령어의 완료 여부를 알릴 수 있다.
본 발명은 각 컴퓨터의 장치에 할당할 수 있는 물리 주소 영역의 제한에 제약 받지 않고 공통 메모리의 양을 자유롭게 증가시킬 수 있다.
또한, 본 발명은 메모리 액세스를 위해 장시간 중앙처리장치가 점유되는 상황을 방지할 수 있다.
또한, 본 발명은 중앙처리장치가 메모리 액세스 완료를 기다리다가 시스템에 오류가 발생하는 상황을 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 공통 메모리 인터페이스 장치를 포함하는 분산 컴퓨터 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 공통 메모리 인터페이스 장치를 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 직접 메모리 억세스 커맨드 필드를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법을 나타낸 동작흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 공통 메모리 인터페이스 장치를 포함하는 분산 컴퓨터 시스템을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 공통 메모리 인터페이스 장치를 포함하는 분산 컴퓨터 시스템은, 컴퓨터들(10-1, 10-2, 10-N)이 각각의 공통 메모리 인터페이스 장치들(100-1, 100-2, 100-N)과 연결되어, 공통 메모리(20)에 액세스 하는 것을 알 수 있다.
도 2는 본 발명의 일실시예에 따른 공통 메모리 인터페이스 장치를 나타낸 블록도이다.
컴퓨터 입출력 인터페이스부(110)는 컴퓨터에 존재하는 내/외부 입출력 인터페이스에 상응할 수 있다.
예를 들어, 외부 입출력 인터페이스는 USB(Universal Serial Bus), 내부 인터페이스는 PCI Express(Peripheral Component Interconnect Express)에 상응할 수 있다.
내/외부 입출력 인터페이스는 자신만의 프로토콜이 존재하므로 컴퓨터 입출력 인터페이스 프로토콜 처리부(120)를 통해 프로토콜을 처리할 수 있다.
컴퓨터 입출력 인터페이스 프로토콜 처리부(120)는 컴퓨터 입출력 인터페이스부(110)를 통해 컴퓨터로부터 공통 메모리(20)에 액세스 하기 위한 패킷을 입력 받을 수 있다.
직접 메모리 액세스부(130)는 상기 패킷을 상기 공통 메모리(20)에 대해 읽기 및 쓰기 중 어느 하나의 동작을 수행하기 위한 명령어로 변환할 수 있다.
이 때, 직접 메모리 액세스부(130)는 입력 받은 USB 또는 PCIe 패킷을 읽기 또는 쓰기 명령어에 상응하는 명령어로 변환할 수 있다.
이 때, 직접 메모리 액세스부(130)는 패킷을 공통 메모리(20)의 인터페이스에 적합한 형태로 변환시킬 수 있다.
이 때, 직접 메모리 액세스부(130)는 상기 공통 메모리(20)의 주소와 상기 컴퓨터의 메모리 물리 주소를 기록한 뒤에, 상기 명령어를 기록할 수 있다.
이 때, 직접 메모리 액세스부(130)는 상기 공통 메모리(20)의 주소의 공간, 상기 컴퓨터의 메모리 물리 주소의 공간, 상기 명령어의 공간을 분리하여 기록할 수 있다.
이 때, 직접 메모리 액세스부(130)는 상기 명령어의 완료 여부를 기록하고, 인터럽트를 발생시켜서 상기 컴퓨터에게 상기 명령어의 완료 여부를 알릴 수 있다.
컴퓨터 입출력 인터페이스 프로토콜 처리부(120)는 명령어의 완료 여부를 컴퓨터 입출력 인터페이스부(110)를 통해 컴퓨터에 알릴 수 있다.
공통 메모리 인터페이스 프로토콜 처리부(140)는 공통 메모리(20)에 대해 상기 명령어의 완료 여부를 확인할 수 있다.
이 때, 컴퓨터는 주기적으로 명령어/상태 필드를 읽어서 송신한 명령어의 완료 여부를 확인할 수 있다.
이 때, 공통 메모리 인터페이스 처리부(140)는 공통 메모리(20)로부터 상기 명령어의 완료 여부를 수신할 수 있다.
공통 메모리 인터페이스부(150)는 공통 메모리 인터페이스 처리부(140)로부터 명령어를 수신하여 공통 메모리에 송신할 수 있고, 공통 메모리(20)로부터 명령어의 완료 여부를 수신하여 공통 메모리 인터페이스 처리부(140)에 전달할 수 있다.
예를 들어, 공통 메모리 인터페이스부(150)는 직렬 신호나 병렬 신호가 사용될 수 있으며, 매체로는 전기나 광 혹은 에어(무선)가 사용될 수 있다.
도 3은 본 발명의 일실시예에 따른 직접 메모리 억세스 커맨드 필드를 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 직접 메모리 억세스 커맨드 필드는 공통 메모리 주소 필드, 컴퓨터 메모리 물리 주소 필드 및 명령어/상태 필드를 포함할 수 있다.
공통 메모리 주소, 컴퓨터 메모리 물리 주소 및 명령어/상태는 모두 분리된 공간에 기록되는 것을 알 수 있다.
이 때, 공통 메모리 주소는 공통 메모리의 크기에 따라 결정되며 컴퓨터 메모리 물리 주소는 컴퓨터 메모리의 크기에 따라 결정될 수 있다.
또한, 공통 메모리 주소와 컴퓨터 메모리 물리주소가 완전히 기록되기 전에 명령어가 기록된다면 잘못된 주소로 명령어가 전달될 가능성이 있기 때문에 주소를 모두 기록한 후에 명령어를 기록할 수 있다.
도 4는 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법을 나타낸 동작흐름도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법은 먼저 패킷을 입력받을 수 있다(S210).
즉, 단계(S210)는 컴퓨터로부터 공통 메모리(20)에 액세스 하기 위한 패킷을 입력 받을 수 있다.
또한, 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법은 명령어 변환을 수행할 수 있다(S220).
즉, 단계(S220)는 상기 패킷을 상기 공통 메모리(20)에 대해 읽기 및 쓰기 중 어느 하나의 동작을 수행하기 위한 명령어로 변환할 수 있다.
이 때, 단계(S220)는 입력 받은 USB 또는 PCIe 패킷을 읽기 또는 쓰기 명령어에 상응하는 명령어로 변환할 수 있다.
이 때, 단계(S220)는 패킷을 공통 메모리(20)의 인터페이스에 적합한 형태로 변환시킬 수 있다.
또한, 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법은 명령어를 기록할 수 있다(S230).
즉, 단계(S230)는 상기 공통 메모리(20)의 주소와 상기 컴퓨터의 메모리 물리 주소를 기록한 뒤에, 상기 명령어를 기록할 수 있다.
이 때, 단계(S230)는 상기 공통 메모리(20)의 주소의 공간, 상기 컴퓨터의 메모리 물리 주소의 공간, 상기 명령어의 공간을 분리하여 기록할 수 있다.
이 때, 단계(S230)는 읽기 또는 쓰기 명령어를 기록할 수 있고, 명령어를 공통 메모리에 송신할 수 있다.
또한, 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법은 명령어를 처리할 수 있다(S240).
즉, 단계(S240)는 공통 메모리(20)에 읽기 또는 쓰기 명령어를 송신하고, 공통 메모리가 명령어에 상응하는 동작을 수행할 수 있다.
또한, 본 발명의 일실시예에 따른 공통 메모리 인터페이스 방법은 명령어의 완료 여부를 확인할 수 있다(S250).
즉, 단계(S250)는 공통 메모리(20)가 명령어에 상응하는 동작을 수행한 완료 여부를 확인할 수 있다.
이 때, 단계(S250)는 상기 명령어의 완료 여부를 기록하고, 인터럽트를 발생시켜서 상기 컴퓨터에게 상기 명령어의 완료 여부를 알릴 수 있다.
이 때, 단계(S250)는 각 컴퓨터가 주기적으로 명령어/상태 필드를 읽어서 송신한 명령어의 완료 여부를 확인할 수 있다.
이 때, 단계(S250)는 공통 메모리(20)로부터 명령어 완료 여부에 대한 응답을 수신하여 명령어의 완료 여부를 컴퓨터에게 알릴 수 있다.
본 발명의 일실시예에 따르면 각 컴퓨터의 주소 공간과 공통 메모리의 주소 공간이 분리되므로, 각 컴퓨터의 주소 공간에 제약을 받지 않는 공통 메모리를 구성할 수 있다.
이 때, 읽기나 쓰기 명령어를 송신한 후에 완료 여부는 주기적인 상태 필드 검사나 인터럽트를 통하여 이루어지므로, 각 컴퓨터에서는 명령어 송신 후에 다른 작업을 수행하는 것이 가능하다.
또한, 각 컴퓨터는 공통 메모리에 직접 접근하는 것이 아니라 각자 가지고 있는 공통 메모리 인터페이스 장치의 직접 메모리 액세스부(130)에만 접근하면 되므로, 다른 컴퓨터의 공통 메모리 사용 여부와 상관없이 공통 메모리를 언제든지 사용할 수 있다.
따라서, 각 컴퓨터는 배타적 송수신이 진행되고 있는 동안에 공통 메모리에 접근하여 응답을 기다리다가 시스템에 오류가 발생하는 일을 방지할 수 있다.
이상에서와 같이 본 발명에 따른 공통 메모리 인터페이스 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
10-1, 10-2, 10-N: 컴퓨터1, 2, N
100-1, 100-2, 100-N: 공통 메모리 인터페이스 장치 1, 2, N
110: 컴퓨터 입출력 인터페이스부
120: 컴퓨터 입출력 인터페이스 프로토콜 처리부
130: 직접 메모리 액세스부
140: 공통 메모리 인터페이스 프로토콜 처리부
150: 공통 메모리 인터페이스부
20: 공통 메모리

Claims (10)

  1. 컴퓨터로부터 공통 메모리에 액세스 하기 위한 패킷을 입력 받는 컴퓨터 입출력 인터페이스 프로토콜 처리부;
    상기 패킷을 상기 공통 메모리에 대해 읽기 및 쓰기 중 어느 하나의 동작을 수행하기 위한 명령어로 변환하는 직접 메모리 액세스부; 및
    상기 공통 메모리에 대해 상기 명령어의 완료 여부를 확인하는 공통 메모리 인터페이스 처리부;
    를 포함하고,
    상기 직접 메모리 액세스부는
    직접 메모리 액세스 커맨드 필드에 상기 공통 메모리의 주소의 공간, 상기 컴퓨터의 메모리 물리 주소의 공간, 상기 명령어의 공간을 분리하여 기록하고,
    상기 공통 메모리의 주소의 공간은 공통 메모리의 크기에 따라 결정되고, 상기 컴퓨터의 메모리 물리 주소는 컴퓨터 메모리의 크기에 따라 결정되고,
    상기 컴퓨터는
    상기 직접 메모리 액세스부를 통해 상기 공통 메모리에 액세스하고, 상기 직접 메모리 액세스 커맨드 필드를 읽어서 상기 명령어의 완료 여부를 확인하는 것을 특징으로 하는 공통 메모리 인터페이스 장치.
  2. 청구항 1에 있어서,
    상기 직접 메모리 액세스부는
    상기 공통 메모리의 주소와 상기 컴퓨터의 메모리 물리 주소를 기록한 뒤에, 상기 명령어를 기록하는 것을 특징으로 하는 공통 메모리 인터페이스 장치.
  3. 삭제
  4. 청구항 2에 있어서,
    상기 공통 메모리 인터페이스 처리부는
    상기 공통 메모리로부터 상기 명령어의 완료 여부를 수신하는 것을 특징으로 하는 공통 메모리 인터페이스 장치.
  5. 청구항 4에 있어서,
    상기 직접 메모리 액세스부는
    상기 명령어의 완료 여부를 기록하고, 인터럽트를 발생시켜서 상기 컴퓨터에게 상기 명령어의 완료 여부를 알리는 것을 특징으로 하는 공통 메모리 인터페이스 장치.
  6. 공통 메모리 인터페이스 장치를 이용하는 공통 메모리 인터페이스 방법에 있어서,
    컴퓨터 입출력 인터페이스 프로토콜 처리부가, 컴퓨터로부터 공통 메모리에 액세스 하기 위한 패킷을 입력 받는 단계;
    직접 메모리 액세스부가, 상기 패킷을 상기 공통 메모리에 대해 읽기 및 쓰기 중 어느 하나의 동작을 수행하기 위한 명령어로 변환하는 단계; 및
    공통 메모리 인터페이스 처리부가, 상기 공통 메모리에 대해 상기 명령어의 완료 여부를 확인하는 단계;
    를 포함하고,
    상기 명령어로 변환하는 단계는
    상기 직접 메모리 액세스부가, 직접 메모리 액세스 커맨드 필드에 상기 공통 메모리의 주소의 공간, 상기 컴퓨터의 메모리 물리 주소의 공간, 상기 명령어의 공간을 분리하여 기록하고,
    상기 공통 메모리의 주소의 공간은 공통 메모리의 크기에 따라 결정되고, 상기 컴퓨터의 메모리 물리 주소는 컴퓨터 메모리의 크기에 따라 결정되고,
    상기 완료 여부를 확인하는 단계는
    상기 컴퓨터가, 상기 직접 메모리 액세스부를 통해 상기 공통 메모리에 액세스하고, 상기 직접 메모리 액세스 커맨드 필드를 읽어서 상기 명령어의 완료 여부를 확인하는 것을 특징으로 하는 공통 메모리 인터페이스 방법.
  7. 청구항 6에 있어서,
    상기 명령어로 변환하는 단계는
    상기 공통 메모리의 주소와 상기 컴퓨터의 메모리 물리 주소를 기록한 뒤에, 상기 명령어를 기록하는 것을 특징으로 하는 공통 메모리 인터페이스 방법.
  8. 삭제
  9. 청구항 7에 있어서,
    상기 완료 여부를 확인하는 단계는
    상기 공통 메모리로부터 상기 명령어의 완료 여부를 수신하는 것을 특징으로 하는 공통 메모리 인터페이스 방법.
  10. 청구항 9에 있어서,
    상기 완료 여부를 확인하는 단계는
    상기 명령어의 완료 여부를 기록하고, 인터럽트를 발생시켜서 상기 컴퓨터에게 상기 명령어의 완료 여부를 알리는 것을 특징으로 하는 공통 메모리 인터페이스 방법.
KR1020180015328A 2018-02-07 2018-02-07 공통 메모리 인터페이스 장치 및 방법 Active KR102438319B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180015328A KR102438319B1 (ko) 2018-02-07 2018-02-07 공통 메모리 인터페이스 장치 및 방법
US16/165,891 US10831676B2 (en) 2018-02-07 2018-10-19 Apparatus and method for interfacing with common memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180015328A KR102438319B1 (ko) 2018-02-07 2018-02-07 공통 메모리 인터페이스 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190095840A KR20190095840A (ko) 2019-08-16
KR102438319B1 true KR102438319B1 (ko) 2022-09-01

Family

ID=67476008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180015328A Active KR102438319B1 (ko) 2018-02-07 2018-02-07 공통 메모리 인터페이스 장치 및 방법

Country Status (2)

Country Link
US (1) US10831676B2 (ko)
KR (1) KR102438319B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100748191B1 (ko) 2006-04-06 2007-08-09 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020029334A1 (en) * 2000-07-26 2002-03-07 West Karlon K. High availability shared memory system
US7120761B2 (en) * 2000-12-20 2006-10-10 Fujitsu Limited Multi-port memory based on DRAM core
JP3970786B2 (ja) * 2003-03-05 2007-09-05 株式会社日立製作所 マルチプロセッサシステム
US6954821B2 (en) * 2003-07-31 2005-10-11 Freescale Semiconductor, Inc. Crossbar switch that supports a multi-port slave device and method of operation
JP4477365B2 (ja) * 2004-01-29 2010-06-09 株式会社日立製作所 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
JP2006072634A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd ディスク装置
KR100736902B1 (ko) * 2005-06-23 2007-07-10 엠텍비젼 주식회사 복수의 프로세서에 의한 메모리 공유 방법 및 장치
JP2007188341A (ja) * 2006-01-13 2007-07-26 Hitachi Ltd 記憶デバイス制御装置
WO2007115226A2 (en) * 2006-03-30 2007-10-11 Silicon Image, Inc. Inter-port communication in a multi- port memory device
KR20070112950A (ko) * 2006-05-24 2007-11-28 삼성전자주식회사 멀티-포트 메모리 장치, 멀티-포트 메모리 장치를 포함하는멀티-프로세서 시스템, 및 멀티-프로세서 시스템의 데이터전달 방법
KR100782592B1 (ko) 2006-08-10 2007-12-06 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법
JP5037952B2 (ja) * 2007-01-15 2012-10-03 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP2009237980A (ja) * 2008-03-27 2009-10-15 Hitachi Ltd マルチポートメモリおよび情報処理システム
JP2009251725A (ja) * 2008-04-02 2009-10-29 Hitachi Ltd 記憶制御装置及び記憶制御装置を用いた重複データ検出方法。
KR101110550B1 (ko) * 2009-04-08 2012-02-08 한양대학교 산학협력단 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법
EP2551769A4 (en) * 2010-03-25 2013-11-27 Fujitsu Ltd MULTIKERNPROZESSORSYSTEM, CONTROL PROCEDURES FOR A MEMORY CONTROL AND CONTROL PROGRAM FOR A MEMORY CONTROLLER
KR101694977B1 (ko) 2010-12-17 2017-01-11 한국전자통신연구원 통합 메모리 서비스를 위한 소프트웨어 구조 및 이 소프트웨어 구조를 이용한 통합 메모리 서비스 제공 방법
US9703697B2 (en) * 2012-12-27 2017-07-11 Intel Corporation Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment
US9760296B2 (en) * 2013-05-20 2017-09-12 Hitachi, Ltd. Storage device and method for controlling storage device
KR102102160B1 (ko) * 2013-12-19 2020-04-21 한국전자통신연구원 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법
KR102115759B1 (ko) 2014-01-07 2020-05-27 한국전자통신연구원 공유 메모리 기반 통신 장치 및 그 방법
US9678891B2 (en) * 2014-07-08 2017-06-13 Netronome Systems, Inc. Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface
KR102407917B1 (ko) * 2015-11-12 2022-06-10 삼성전자주식회사 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법
KR102650828B1 (ko) * 2016-05-20 2024-03-26 삼성전자주식회사 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템
US10489319B2 (en) * 2016-12-20 2019-11-26 Atmel Corporation Automatic transmission of dummy bits in bus master
KR20180129146A (ko) * 2017-05-25 2018-12-05 한국전자통신연구원 컴퓨터간 메모리 공유 장치 및 방법
US10496329B2 (en) * 2017-06-02 2019-12-03 Cavium, Llc Methods and apparatus for a unified baseband architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100748191B1 (ko) 2006-04-06 2007-08-09 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법

Also Published As

Publication number Publication date
US20190243782A1 (en) 2019-08-08
US10831676B2 (en) 2020-11-10
KR20190095840A (ko) 2019-08-16

Similar Documents

Publication Publication Date Title
US8874959B2 (en) Information processing apparatus, image forming apparatus, and information processing program
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
US9021169B2 (en) Bus system including ID converter and converting method thereof
US20100185811A1 (en) Data processing system and method
CN113742269B (zh) 用于epa设备的数据传输方法、处理设备和介质
JP2016045899A (ja) データ転送制御装置
US10630865B2 (en) Image forming apparatus incorporating control circuitry for executing control method to arbitrate access between signals referring priority settings
JP4837659B2 (ja) 分割トランザクションを処理するためのバス・コントローラ
US10853255B2 (en) Apparatus and method of optimizing memory transactions to persistent memory using an architectural data mover
JP2010211349A (ja) 半導体集積回路及びメモリアクセス制御方法
US20170257518A1 (en) Data processing apparatus, method for controlling data processing apparatus, and storage medium
JP5728088B2 (ja) 入出力制御装置及び入出力制御装置のフレーム処理方法
KR102438319B1 (ko) 공통 메모리 인터페이스 장치 및 방법
JP2022025000A (ja) コピーコマンドの処理方法及びストレージ装置
KR20200143922A (ko) 메모리 카드 및 이를 이용한 데이터 처리 방법
CN117648264A (zh) 一种网卡设备及数据传输系统
EP4184334A2 (en) Storage devices including a controller and methods operating the same
US8996772B1 (en) Host communication device and method with data transfer scheduler
US8769167B2 (en) Channel device, information processing system and data transfer method
CN106325377B (zh) 外部设备扩展卡及输入输出外部设备的数据处理方法
US10452579B2 (en) Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system
WO2021093249A1 (zh) 外部设备访问计算机内存的方法
JP5168541B2 (ja) データ転送装置
JP6825263B2 (ja) ストレージ制御装置、およびストレージシステム
KR20140123713A (ko) 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20180207

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20201112

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20180207

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220317

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220627

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220826

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220829

End annual number: 3

Start annual number: 1

PG1601 Publication of registration