KR102545226B1 - Memory system and data processing system including the same - Google Patents

Memory system and data processing system including the same Download PDF

Info

Publication number
KR102545226B1
KR102545226B1 KR1020180032111A KR20180032111A KR102545226B1 KR 102545226 B1 KR102545226 B1 KR 102545226B1 KR 1020180032111 A KR1020180032111 A KR 1020180032111A KR 20180032111 A KR20180032111 A KR 20180032111A KR 102545226 B1 KR102545226 B1 KR 102545226B1
Authority
KR
South Korea
Prior art keywords
processor
host processor
ownership
shared memory
mailbox
Prior art date
Application number
KR1020180032111A
Other languages
Korean (ko)
Other versions
KR20190110306A (en
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 KR1020180032111A priority Critical patent/KR102545226B1/en
Priority to US16/210,418 priority patent/US11169953B2/en
Priority to CN202310066589.4A priority patent/CN115994105A/en
Priority to CN201811509646.7A priority patent/CN110209608B/en
Publication of KR20190110306A publication Critical patent/KR20190110306A/en
Priority to US17/510,921 priority patent/US20220058157A1/en
Application granted granted Critical
Publication of KR102545226B1 publication Critical patent/KR102545226B1/en

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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

데이터 처리 시스템은 공유 메모리; 상기 공유 메모리에 대한 오너쉽을 소유하고 상기 공유 메모리를 액세스함으로써 제1 작업을 처리하도록 구성된 호스트 프로세서; 상기 호스트 프로세서로부터 상기 오너쉽을 이전받아 소유하고 상기 공유 메모리를 액세스함으로써 제2 작업을 처리하도록 구성된 프로세서; 및 상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 메일 박스를 포함하고, 상기 호스트 프로세서는 상기 메일 박스를 액세스함으로써 상기 오너쉽을 이전 또는 회수한다.The data processing system includes a shared memory; a host processor configured to take ownership of the shared memory and process a first task by accessing the shared memory; a processor configured to receive and possess the ownership from the host processor and process a second task by accessing the shared memory; and a memory controller connected between the host processor, the processor, and the shared memory, and configured to allow the host processor or the processor to access the shared memory according to the ownership, wherein the memory controller stores a mailbox. and the host processor transfers or reclaims the ownership by accessing the mailbox.

Description

메모리 시스템 및 그것을 포함하는 데이터 처리 시스템{MEMORY SYSTEM AND DATA PROCESSING SYSTEM INCLUDING THE SAME}Memory system and data processing system including it {MEMORY SYSTEM AND DATA PROCESSING SYSTEM INCLUDING THE SAME}

본 발명은 데이터 처리 시스템에 관한 것으로, 더욱 상세하게는 공유 메모리를 포함하는 데이터 처리 시스템에 관한 것이다.The present invention relates to a data processing system, and more particularly to a data processing system including a shared memory.

데이터 처리 시스템은 데이터를 처리할 수 있는 전자 시스템으로서, 퍼스널 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 카메라, 게임 콘솔, 네비게이션, 가상현실 장치 및 웨어러블 장치 등을 포함할 수 있다. The data processing system is an electronic system capable of processing data, and may include a personal computer, a laptop computer, a smart phone, a tablet computer, a digital camera, a game console, a navigation device, a virtual reality device, and a wearable device.

데이터 처리 시스템은 메모리 시스템을 포함할 수 있다. 메모리 시스템은 데이터 처리 시스템에서 처리되는 데이터를 저장하도록 구성될 수 있다. 메모리 시스템은 데이터 처리 시스템에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 데이터 처리 시스템에 연결됨으로써 동작할 수 있다. 메모리 시스템은 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어 카드, 메모리 스틱, 다양한 멀티 미디어 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 SSD(Solid State Drive) 등으로 구성될 수 있다.A data processing system may include a memory system. The memory system may be configured to store data processed by the data processing system. The memory system may operate by being embedded in the data processing system or manufactured in a detachable form and connected to the data processing system. The memory system is PCMCIA (Personal Computer Memory Card International Association) card, CF (Compact Flash) card, smart media card, memory stick, various multi-media cards (MMC, eMMC, RS-MMC, MMC-micro), SD (Secure Digital) ) card (SD, Mini-SD, Micro-SD), Universal Flash Storage (UFS) or Solid State Drive (SSD).

본 발명의 실시 예는 호스트 프로세서와 주변 프로세서가 서로 충돌함이 없이 공유 메모리를 액세스할 수 있는 데이터 처리 시스템을 제공하는 데 있다.An embodiment of the present invention is to provide a data processing system in which a host processor and a peripheral processor can access a shared memory without colliding with each other.

본 발명의 실시 예에 따른 데이터 처리 시스템은 공유 메모리; 상기 공유 메모리에 대한 오너쉽을 소유하고 상기 공유 메모리를 액세스함으로써 제1 작업을 처리하도록 구성된 호스트 프로세서; 상기 호스트 프로세서로부터 상기 오너쉽을 이전받아 소유하고 상기 공유 메모리를 액세스함으로써 제2 작업을 처리하도록 구성된 프로세서; 및 상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 메일 박스를 포함하고, 상기 호스트 프로세서는 상기 메일 박스를 액세스함으로써 상기 오너쉽을 이전 또는 회수할 수 있다.A data processing system according to an embodiment of the present invention includes a shared memory; a host processor configured to take ownership of the shared memory and process a first task by accessing the shared memory; a processor configured to receive and possess the ownership from the host processor and process a second task by accessing the shared memory; and a memory controller connected between the host processor, the processor, and the shared memory, and configured to allow the host processor or the processor to access the shared memory according to the ownership, wherein the memory controller stores a mailbox. and the host processor may transfer or withdraw the ownership by accessing the mailbox.

본 발명의 실시 예에 따른 메모리 시스템은 공유 메모리; 호스트 프로세서로부터 오너쉽을 이전받아 상기 공유 메모리를 액세스함으로써 작업을 처리하도록 구성된 프로세서; 및 상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 상기 호스트 프로세서가 상기 오너쉽을 상기 프로세서에게 이전하기 위해 액세스하는 메일 박스를 포함할 수 있다.A memory system according to an embodiment of the present invention includes a shared memory; a processor configured to receive ownership from a host processor and process a task by accessing the shared memory; and a memory controller connected between the host processor, the processor and the shared memory and configured to allow the host processor or the processor to access the shared memory according to the ownership, wherein the memory controller comprises the host processor may include a mailbox accessed to transfer the ownership to the processor.

본 발명의 실시 예에 따른 데이터 처리 시스템은 호스트 프로세서와 주변 프로세서가 서로 충돌함이 없이 공유 메모리를 액세스할 수 있다.In a data processing system according to an embodiment of the present invention, a host processor and a peripheral processor can access a shared memory without colliding with each other.

도1은 본 발명의 실시 예에 따른 데이터 처리 시스템을 도시하는 블록도,
도2는 본 발명의 실시 예에 따라, 호스트 프로세서 또는 프로세서가 공유 메모리에 대한 오너쉽을 교대로 소유하는 상황을 도시하는 도면,
도3은 본 발명의 실시 예에 따라 호스트 프로세서 및 프로세서의 동작 절차를 간략하게 도시하는 도면,
도4는 본 발명의 실시 예에 따라, 메일 박스의 구성을 설명하기 위한 도면,
도5는 본 발명의 실시 예에 따른 메모리 컨트롤러를 상세하게 도시하는 블록도,
도6은 본 발명의 실시 예에 따라 호스트 프로세서가 공유 메모리에 작업 데이터를 저장하는 방법을 도시하는 도면,
도7은 본 발명의 실시 예에 따라 호스트 프로세서가 오너쉽을 프로세서에게 이전하는 방법을 도시하는 도면,
도8은 본 발명의 실시 예에 따라 제어부가 오너쉽을 프로세서에게 귀속시키는 방법을 도시하는 도면,
도9는 본 발명의 실시 예에 따라 호스트 프로세서가 메일 박스에 작업 정보를 저장하는 방법을 도시하는 도면,
도10은 본 발명의 실시 예에 따라 프로세서가 메일 박스로부터 작업 정보를 리드하는 방법을 도시하는 도면,
도11은 본 발명의 실시 예에 따라 프로세서가 작업 데이터를 처리하는 방법을 도시하는 도면,
도12는 본 발명의 실시 예에 따라 호스트 프로세서가 프로세서로부터 오너쉽을 회수하는 방법을 도시하는 도면,
도13은 본 발명의 실시 예에 따라 호스트 프로세서가 공유 메모리로부터 작업 결과 데이터를 리드하는 방법을 도시하는 도면,
도14는 본 발명의 실시 예에 따라 호스트 프로세서가 메일 박스로부터 작업 결과 데이터를 리드하는 방법을 도시하는 도면,
도15는 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 도면,
도16은 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 도면,
도17은 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 도면,
도18은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 예시적으로 도시하는 도면이다.
1 is a block diagram illustrating a data processing system according to an embodiment of the present invention;
2 is a diagram illustrating a situation in which a host processor or processors alternately possess ownership of a shared memory according to an embodiment of the present invention;
3 is a diagram briefly illustrating a host processor and operating procedures of the processor according to an embodiment of the present invention;
4 is a diagram for explaining the configuration of a mailbox according to an embodiment of the present invention;
5 is a block diagram showing in detail a memory controller according to an embodiment of the present invention;
6 is a diagram illustrating a method for a host processor to store work data in a shared memory according to an embodiment of the present invention;
7 is a diagram illustrating a method for a host processor to transfer ownership to a processor according to an embodiment of the present invention;
8 is a diagram illustrating a method in which a controller assigns ownership to a processor according to an embodiment of the present invention;
9 is a diagram illustrating a method for a host processor to store job information in a mailbox according to an embodiment of the present invention;
10 is a diagram illustrating a method for a processor to read job information from a mailbox according to an embodiment of the present invention;
11 is a diagram illustrating how a processor processes work data according to an embodiment of the present invention;
12 is a diagram illustrating a method for a host processor to reclaim ownership from a processor according to an embodiment of the present invention;
13 is a diagram illustrating a method for a host processor to read job result data from a shared memory according to an embodiment of the present invention;
14 is a diagram showing a method for a host processor to read job result data from a mailbox according to an embodiment of the present invention;
15 is a diagram exemplarily showing a data processing system according to an embodiment of the present invention;
16 is a diagram exemplarily showing a data processing system according to an embodiment of the present invention;
17 is a diagram exemplarily showing a data processing system according to an embodiment of the present invention;
18 is a diagram exemplarily illustrating a network system including a memory system according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Advantages and features of the present invention, and methods for achieving them, will be explained in detail through the following embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, the present embodiments are provided to explain in detail enough to easily implement the technical idea of the present invention to those skilled in the art to which the present invention belongs.

도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 본 명세서에서 특정한 용어들이 사용되었으나. 이는 본 발명을 설명하기 위한 목적에서 사용된 것이며, 의미 한정이나 특허 청구 범위에 기재된 본 발명의 권리 범위를 제한하기 위하여 사용된 것은 아니다.In the drawings, embodiments of the present invention are not limited to the specific forms shown and are exaggerated for clarity. Although certain terms are used in this specification. This is used for the purpose of explaining the present invention, and is not used to limit the scope of the present invention described in the meaning or claims.

본 명세서에서 '및/또는'이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, '연결되는/결합되는'이란 표현은 다른 구성 요소와 직접적으로 연결되거나 다른 구성 요소를 통해서 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 '포함한다' 또는 '포함하는'으로 언급된 구성 요소, 단계, 동작 및 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및 소자의 존재 또는 추가를 의미한다.In this specification, the expression 'and/or' is used to mean including at least one of the elements listed before and after. In addition, the expression 'connected/coupled' is used as a meaning including being directly connected to another component or indirectly connected through another component. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase. In addition, elements, steps, operations, and elements referred to as 'comprising' or 'including' used in the specification mean the presence or addition of one or more other elements, steps, operations, and elements.

이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도1은 본 발명의 실시 예에 따른 데이터 처리 시스템(100)을 도시하는 블록도이다.1 is a block diagram illustrating a data processing system 100 according to an embodiment of the present invention.

도1을 참조하면, 데이터 처리 시스템(100)은 호스트 프로세서(110), 프로세서(120), 공유 메모리(130) 및 메모리 컨트롤러(140)를 포함할 수 있다.Referring to FIG. 1 , the data processing system 100 may include a host processor 110 , a processor 120 , a shared memory 130 and a memory controller 140 .

호스트 프로세서(110)는 데이터 처리 시스템(100)을 전반적으로 제어할 수 있다. 호스트 프로세서(110)는 공유 메모리(130)에 대한 오너쉽을 소유하고 공유 메모리(130)를 액세스함으로써 작업을 처리할 수 있다. 또한, 호스트 프로세서(110)는 프로세서(120)에게 작업의 처리를 지시하면서 오너쉽을 프로세서(120)에게 이전할 수 있다.The host processor 110 may overall control the data processing system 100 . The host processor 110 may process a task by possessing ownership of the shared memory 130 and accessing the shared memory 130 . Also, the host processor 110 may transfer ownership to the processor 120 while instructing the processor 120 to process the job.

프로세서(120)는 호스트 프로세서(110)에 의해 지시된 작업을 처리할 수 있다. 프로세서(120)는 호스트 프로세서(110)로부터 오너쉽을 이전받아 오너쉽을 소유하고 공유 메모리(130)를 액세스함으로써 작업을 처리할 수 있다. 즉, 본 발명에서 오너쉽은 호스트 프로세서(110)와 프로세서(120)가 서로 충돌 없이 공유 메모리(130)를 독점적으로 액세스할 수 있는 권한일 수 있다. 호스트 프로세서(110)와 프로세서(120)는 메모리 컨트롤러(140)를 통해 공유 메모리(130)를 액세스할 수 있다.The processor 120 may process tasks instructed by the host processor 110 . The processor 120 may process a task by receiving ownership transferred from the host processor 110 and accessing the shared memory 130 while owning the ownership. That is, in the present invention, ownership may be the right for the host processor 110 and the processor 120 to exclusively access the shared memory 130 without conflicting with each other. The host processor 110 and the processor 120 may access the shared memory 130 through the memory controller 140 .

한편, 호스트 프로세서(110)는 오너쉽을 프로세서(120)에게 이전한 후, 메모리 컨트롤러(140)로부터 프로세서(120)의 상태 정보를 확인할 수 있다. 호스트 프로세서(110)는 프로세서(120)가 작업을 종료한 것으로 판단될 때, 오너쉽을 프로세서(120)로부터 회수하여 다시 소유할 수 있다. 호스트 프로세서(110)는 오너쉽을 소유한 뒤, 공유 메모리(130)로부터 프로세서(120)의 작업 결과 데이터를 리드할 수 있다.Meanwhile, the host processor 110 may check state information of the processor 120 from the memory controller 140 after transferring the ownership to the processor 120 . When the host processor 110 determines that the processor 120 has finished its work, the host processor 110 may withdraw the ownership from the processor 120 and own it again. The host processor 110 may read work result data of the processor 120 from the shared memory 130 after possessing ownership.

상술한 바와 같이, 오너쉽이 호스트 프로세서(110) 및 프로세서(120) 중 누구에게 있는지에 따라 공유 메모리(130)의 액세스는 제한될 수 있다. 이것은 메모리 컨트롤러(130)가 오너쉽을 호스트 프로세서(110) 및 프로세서(120) 중 어느 하나에게 귀속시킴으로써 가능하다. 메모리 컨트롤러(130)는 호스트 프로세서(110)의 제어에 따라 오너쉽을 호스트 프로세서(110) 및 프로세서(120) 중 어느 하나에게 귀속시키면서 공유 메모리(130)에 대한 패스를 변경할 수 있다. 호스트 프로세서(110)는 오너쉽의 귀속을 변경하기 위해, 즉, 오너쉽을 프로세서(120)에게 이전하거나 프로세서(120)로부터 회수하기 위해, 소정 커맨드를 메모리 컨트롤러(140)로 전송할 수 있다.As described above, access to the shared memory 130 may be restricted depending on which of the host processor 110 and the processor 120 has ownership. This is possible when the memory controller 130 assigns ownership to either the host processor 110 or the processor 120 . The memory controller 130 may change a path for the shared memory 130 while assigning ownership to one of the host processor 110 and the processor 120 under the control of the host processor 110 . The host processor 110 may transmit a predetermined command to the memory controller 140 to change ownership, that is, to transfer or withdraw ownership from the processor 120 .

호스트 프로세서(110) 및 프로세서(120)는 중앙 처리 장치, 그래픽 처리 장치, 마이크로 프로세서, 애플리케이션 프로세서, 가속 처리 장치(Accelerated Processing Unit) 및 운영 체제 등을 포함할 수 있다.The host processor 110 and the processor 120 may include a central processing unit, a graphic processing unit, a microprocessor, an application processor, an accelerated processing unit, an operating system, and the like.

공유 메모리(130)는 호스트 프로세서(110)와 프로세서(120)에 의해 공유될 수 있다. 공유 메모리(130)는 호스트 프로세서(110)와 프로세서(120) 중 오너쉽을 소유하는 어느 하나에 의해 메모리 컨트롤러(140)를 통해 액세스될 수 있다. The shared memory 130 may be shared by the host processor 110 and the processor 120 . The shared memory 130 may be accessed through the memory controller 140 by one of the host processor 110 and the processor 120 having ownership.

메모리 컨트롤러(140)는 호스트 프로세서(110), 프로세서(120) 및 공유 메모리(130) 사이에 연결될 수 있다. 메모리 컨트롤러(140)는 호스트 프로세서(110)의 제어에 따라 오너쉽을 호스트 프로세서(110)와 프로세서(120) 중 어느 하나에게 귀속시킴으로써, 호스트 프로세서(110)의 공유 메모리(130) 액세스 또는 프로세서(120)의 공유 메모리(130) 액세스를 허용할 수 있다. 오너쉽을 호스트 프로세서(110)와 프로세서(120) 중 어느 하나에게 귀속시키는 것은 결국, 메모리 컨트롤러(140)가 호스트 프로세서(110), 프로세서(120) 및 공유 메모리(130) 사이에서 데이터 패스 및 커맨드 패스를 선택적으로 활성화시키는 것으로 구현될 수 있다. 메모리 컨트롤러(140)는 호스트 프로세서(110)로부터 전송된 소정 커맨드에 응답하여 호스트 프로세서(110)와 프로세서(120) 간에 오너쉽의 귀속을 변경할 수 있다.The memory controller 140 may be connected between the host processor 110 , the processor 120 and the shared memory 130 . The memory controller 140 assigns ownership to either the host processor 110 or the processor 120 under the control of the host processor 110, thereby accessing the shared memory 130 of the host processor 110 or the processor 120. ) of the shared memory 130 may be allowed. When the ownership is attributed to either one of the host processor 110 and the processor 120, the memory controller 140 eventually passes the data path and command path between the host processor 110, the processor 120, and the shared memory 130. It can be implemented by selectively activating. The memory controller 140 may change ownership of ownership between the host processor 110 and the processor 120 in response to a predetermined command transmitted from the host processor 110 .

메모리 컨트롤러(140)는 메일 박스(145)를 포함할 수 있다. 호스트 프로세서(110)는 메일 박스(145)를 액세스함으로써 오너쉽을 프로세서(120)에게 이전하고 프로세서로부터 회수할 수 있다. 호스트 프로세서(110)는 메일 박스(145)에 프로세서(120)가 확인해야 할 작업 정보를 저장할 수 있다. 호스트 프로세서(110)는 메일 박스(145)로부터 프로세서(120)의 상태 정보를 리드할 수 있다.The memory controller 140 may include a mail box 145 . Host processor 110 may transfer ownership to and take back ownership from processor 120 by accessing mailbox 145 . The host processor 110 may store job information to be confirmed by the processor 120 in the mail box 145 . The host processor 110 may read state information of the processor 120 from the mailbox 145 .

또한, 프로세서(120)는 메일 박스(145)로부터 작업 정보를 리드하고 확인함으로써 호스트 프로세서(110)가 지시한 작업을 처리할 수 있다.Also, the processor 120 may process the job instructed by the host processor 110 by reading and checking job information from the mail box 145 .

메일 박스(145)는 SRAM 또는 레지스터 등 다양한 메모리 소자로 구현될 수 있다.The mail box 145 may be implemented with various memory devices such as SRAM or registers.

정리하면, 메모리 컨트롤러(140)는 호스트 프로세서(110)의 제어에 따라 오너쉽을 호스트 프로세서(110)와 프로세서(120) 중 어느 하나에게 귀속시키고 오너쉽을 가진 어느 한쪽만의 공유 메모리(130)에 대한 액세스를 허용하기 때문에, 호스트 프로세서(110)와 프로세서(120)는 충돌 없이 공유 메모리(130)를 사용하여 작업을 처리할 수 있다. 또한, 공유 메모리(130)의 인터페이스는 기존의 프로토콜이나 핀 배치에 따라 그대로 적용될 수 있다.In summary, the memory controller 140 assigns ownership to either one of the host processor 110 and the processor 120 under the control of the host processor 110 and shares information about the shared memory 130 of only one of which has ownership. Since access is allowed, the host processor 110 and the processor 120 can process tasks using the shared memory 130 without conflict. In addition, the interface of the shared memory 130 may be applied as it is according to an existing protocol or pin arrangement.

도2는 본 발명의 실시 예에 따라, 호스트 프로세서(110) 또는 프로세서(120)가 공유 메모리(130)에 대한 오너쉽을 교대로 소유하는 상황을 도시하는 도면이다.2 is a diagram illustrating a situation in which the host processor 110 or the processor 120 alternately owns ownership of the shared memory 130 according to an embodiment of the present invention.

도2를 참조하면, 최초에 호스트 프로세서(110)가 오너쉽을 소유한 상태일 수 있다. 따라서, 시간(T1) 동안, 호스트 프로세서(110)가 오너쉽을 소유하고 공유 메모리(130)를 액세스하여 작업을 처리할 수 있다. 시간(T1) 동안, 프로세서(120)는 공유 메모리(130)를 액세스할 수 없다.Referring to FIG. 2 , the host processor 110 may initially have ownership. Accordingly, during the time T1 , the host processor 110 may take ownership and access the shared memory 130 to process a task. During time T1, processor 120 cannot access shared memory 130.

시점(P1)에서 호스트 프로세서(110)가 오너쉽을 프로세서(120)에게 이전할 수 있다. 따라서, 시간(T2) 동안, 프로세서(120)가 오너쉽을 소유하고 공유 메모리(130)를 액세스하여 작업을 처리할 수 있다. 시간(T2) 동안, 호스트 프로세서(110)는 공유 메모리(130)를 액세스할 수 없다.At the point in time P1 , the host processor 110 may transfer ownership to the processor 120 . Accordingly, during the time T2 , the processor 120 may take ownership and access the shared memory 130 to process a task. During time T2, host processor 110 cannot access shared memory 130.

시점(P2)에서 호스트 프로세서(110)가 오너쉽을 프로세서(120)로부터 회수할 수 있다. 따라서, 시간(T3) 동안, 호스트 프로세서(110)가 오너쉽을 소유하고 공유 메모리(130)를 액세스하여 작업을 처리할 수 있다. 시간(T3) 동안, 프로세서(120)는 공유 메모리(130)를 액세스할 수 없다.At point in time P2 , the host processor 110 may withdraw ownership from the processor 120 . Accordingly, during the time T3 , the host processor 110 may take ownership and access the shared memory 130 to process a task. During time T3, processor 120 cannot access shared memory 130.

실시 예에 따라, 시간(T1)에서 처리된 호스트 프로세서(110)의 작업은, 프로세서(120)에게 처리를 지시할 작업 데이터를 공유 메모리(130)에 저장하는 것을 포함할 수 있다. 시간(T2)에서 처리된 프로세서(120)의 작업은, 호스트 프로세서(110)의 지시에 따라 공유 메모리(130)에 저장된 작업 데이터를 처리하는 것을 포함할 수 있다. 시간(T3)에서 처리된 호스트 프로세서(110)의 작업은, 프로세서(120)가 처리한 작업 결과 데이터를 공유 메모리(130)로부터 리드하는 것을 포함할 수 있다. 해당 절차에 대한 설명은 이어서 도3을 참조하여 상세하게 설명될 것이다.According to an embodiment, the job of the host processor 110 processed at time T1 may include storing job data to instruct the processor 120 to process in the shared memory 130 . The work of the processor 120 processed at time T2 may include processing work data stored in the shared memory 130 according to instructions from the host processor 110 . The work of the host processor 110 processed at time T3 may include reading the work result data processed by the processor 120 from the shared memory 130 . A description of the corresponding procedure will be described in detail with reference to FIG. 3 next.

도3은 본 발명의 실시 예에 따라 호스트 프로세서(110) 및 프로세서(120)의 동작 절차를 간략하게 도시하는 도면이다. 도3에서 절차가 시작될 때 오너쉽은 호스트 프로세서(110)가 소유한 상태일 수 있다.3 is a diagram briefly illustrating operating procedures of the host processor 110 and the processor 120 according to an embodiment of the present invention. When the procedure in FIG. 3 starts, ownership may be owned by the host processor 110 .

도3을 참조하면, 단계(S11)에서, 호스트 프로세서(110)는 프로세서(120)가 처리해야 할 작업 데이터를 공유 메모리(130)에 저장할 수 있다. 호스트 프로세서(110)는 오너쉽을 소유하므로 공유 메모리(130)를 액세스할 수 있다. 한편, 호스트 프로세서(110)는 공유 메모리(130)를 직접적으로 액세스하지는 않고, 실질적으로는 메모리 컨트롤러(140)를 통해 액세스할 것이다. 단계(S11)에서 호스트 프로세서(110)로부터 공유 메모리(130)로 연결된 화살표는 호스트 프로세서(110)가 오너쉽을 가지고 공유 메모리(130)를 사용한다는 의미이다.Referring to FIG. 3 , in step S11 , the host processor 110 may store work data to be processed by the processor 120 in the shared memory 130 . Since the host processor 110 has ownership, it can access the shared memory 130 . Meanwhile, the host processor 110 does not directly access the shared memory 130 , but actually accesses it through the memory controller 140 . An arrow connected from the host processor 110 to the shared memory 130 in step S11 means that the host processor 110 has ownership and uses the shared memory 130 .

단계(S12)에서, 호스트 프로세서(110)는 오너쉽을 프로세서(120)에게 이전하기 위해 메모리 컨트롤러(140)로 소정 커맨드를 전송할 수 있다.In operation S12 , the host processor 110 may transmit a predetermined command to the memory controller 140 to transfer ownership to the processor 120 .

단계(S13)에서, 메모리 컨트롤러(140)는 호스트 프로세서(110)로부터 전송된 커맨드에 응답하여 프로세서(120)에게 오너쉽을 귀속시킬 수 있다. 따라서, 이후 메모리 컨트롤러(140)는 공유 메모리(130)에 대해 오직 프로세서(120)의 액세스만을 허용할 수 있다.In step S13 , the memory controller 140 may assign ownership to the processor 120 in response to a command transmitted from the host processor 110 . Accordingly, the memory controller 140 may allow only the access of the processor 120 to the shared memory 130 .

단계(S14)에서, 호스트 프로세서(110)는 메모리 컨트롤러(140)의 메일 박스(145)에 작업 정보를 저장할 수 있다. 작업 정보는 프로세서(120)가 처리해야 할 작업에 대한 정보를 포함할 수 있다. 예를 들어, 작업 정보는 공유 메모리(130)에서 작업 데이터가 저장된 영역의 시작 어드레스 및 마지막 어드레스를 포함할 수 있다. 작업 정보는 공유 메모리(130)에서 작업 결과 데이터가 저장되어야 할 영역의 시작 어드레스와 마지막 어드레스를 포함할 수 있다.In step S14 , the host processor 110 may store job information in the mail box 145 of the memory controller 140 . The task information may include information about a task to be processed by the processor 120 . For example, the work information may include a start address and an end address of an area in which work data is stored in the shared memory 130 . The job information may include a start address and an end address of an area where job result data is to be stored in the shared memory 130 .

단계(S15)에서, 프로세서(120)는 메일 박스(145)에 저장된 작업 정보를 리드할 수 있다.In step S15, the processor 120 may read job information stored in the mail box 145.

단계(S16)에서, 프로세서(120)는 공유 메모리(130)에 저장된 작업 데이터를 처리할 수 있다. 프로세서(120)는 공유 메모리(130)로부터 작업 데이터를 리드하여 처리하고, 처리된 데이터를 작업 결과 데이터로서 공유 메모리(130)에 저장할 수 있다. 프로세서(120)는 오너쉽을 소유하므로 공유 메모리(130)를 액세스할 수 있다. 한편, 프로세서(120)는 공유 메모리(130)를 직접적으로 액세스하지는 않고, 실질적으로 메모리 컨트롤러(140)를 통해 액세스할 것이다. 단계(S16)에서 프로세서(120)로부터 공유 메모리(130)로 연결된 화살표는 프로세서(120)가 오너쉽을 가지고 공유 메모리(130)를 사용한다는 의미이다.In step S16 , the processor 120 may process work data stored in the shared memory 130 . The processor 120 may read and process job data from the shared memory 130 and store the processed data in the shared memory 130 as job result data. Since the processor 120 owns the ownership, it can access the shared memory 130 . Meanwhile, the processor 120 does not directly access the shared memory 130, but actually accesses it through the memory controller 140. An arrow connected from the processor 120 to the shared memory 130 in step S16 means that the processor 120 has ownership and uses the shared memory 130 .

단계(S17)에서, 호스트 프로세서(110)는 메모리 컨트롤러(140)의 메일 박스(145)를 통해 프로세서(120)의 상태 정보를 반복적으로 리드할 수 있다. 상태 정보는 프로세서(120)가 작업을 종료하였는지 여부를 포함할 수 있다. 상태 정보는 프로세서(120)가 처리중인 동작의 잔여 처리량을 포함할 수 있다. 단계(S17)는 단계(S16)와 병렬적으로 수행될 수 있다. 후술될 바와 같이, 프로세서(120)가 오너쉽을 소유할 때, 호스트 프로세서(110)는 메일 박스(145)에 대한 액세스가 가능해 진다.In step S17 , the host processor 110 may repeatedly read state information of the processor 120 through the mailbox 145 of the memory controller 140 . The state information may include whether the processor 120 has finished its work. The status information may include remaining throughput of an operation being processed by the processor 120 . Step S17 may be performed in parallel with step S16. As will be discussed later, when processor 120 takes ownership, host processor 110 gains access to mailbox 145.

단계(S18)에서, 호스트 프로세서(110)는 프로세서(120)가 작업을 종료한 것으로 판단될 때, 오너쉽을 프로세서(120)로부터 회수하기 위해 메모리 컨트롤러(140)로 소정 커맨드를 전송할 수 있다.In operation S18 , when it is determined that the processor 120 has finished its work, the host processor 110 may transmit a predetermined command to the memory controller 140 to retrieve ownership from the processor 120 .

단계(S19)에서, 메모리 컨트롤러(140)는 호스트 프로세서(110)로부터 전송된 커맨드에 응답하여 호스트 프로세서(110)에게 오너쉽을 귀속시킬 수 있다. 따라서, 이후 메모리 컨트롤러(140)는 공유 메모리(130)에 대해 오직 호스트 프로세서(110)의 액세스만을 허용할 수 있다.In step S19 , the memory controller 140 may assign ownership to the host processor 110 in response to a command transmitted from the host processor 110 . Accordingly, the memory controller 140 may allow only the host processor 110 to access the shared memory 130 .

단계(S20)에서, 호스트 프로세서(110)는 프로세서(120)의 작업 결과 데이터를 공유 메모리(130)로부터 리드할 수 있다. 호스트 프로세서(110)는 오너쉽을 소유하므로 공유 메모리(130)를 액세스할 수 있다. 한편, 호스트 프로세서(110)는 공유 메모리(130)를 직접적으로 액세스하지는 않고, 실질적으로는 메모리 컨트롤러(140)를 통해 액세스할 것이다. 단계(S11)에서 호스트 프로세서(110)로부터 공유 메모리(130)로 연결된 화살표는 호스트 프로세서(110)가 오너쉽을 가지고 공유 메모리(130)를 사용한다는 의미이다.In step S20 , the host processor 110 may read the operation result data of the processor 120 from the shared memory 130 . Since the host processor 110 has ownership, it can access the shared memory 130 . Meanwhile, the host processor 110 does not directly access the shared memory 130 , but actually accesses it through the memory controller 140 . An arrow connected from the host processor 110 to the shared memory 130 in step S11 means that the host processor 110 has ownership and uses the shared memory 130 .

도4는 본 발명의 실시 예에 따라, 메일 박스(145)의 구성을 설명하기 위한 도면이다. 도4에 도시된 어드레스는 이후 설명되는 동작 방법에서도 그대로 사용될 것이다. 또한, 도4에서 메일 박스(145)를 사용하여 오너쉽을 이전하고 회수하는 방법도 함께 설명될 것이다.4 is a diagram for explaining the configuration of a mailbox 145 according to an embodiment of the present invention. The address shown in FIG. 4 will be used as it is in the operation method described later. In addition, a method of transferring and withdrawing ownership using the mail box 145 in FIG. 4 will also be described.

도4를 참조하면, 호스트 프로세서(110)가 사용하는 어드레스 범위(ADa~ADz)가 도시된다. 호스트 프로세서(110)는 공유 메모리(130)에 어드레스 범위(ADa~ADz) 중 일부 범위(ADa~ADi)를 할당할 수 있다. 호스트 프로세서(110)는 메일 박스(145)에 어드레스 범위(ADa~ADz) 중 일부 범위(ADj~ADn)를 할당할 수 있다. 어드레스 범위(ADa~ADz) 중 일부 범위(ADo~ADz)는 사용되지 않고 유보될 수 있다.Referring to FIG. 4 , an address range (ADa to ADz) used by the host processor 110 is shown. The host processor 110 may allocate a portion of the address range ADa to ADi among the address ranges ADa to ADz to the shared memory 130 . The host processor 110 may allocate a partial range (ADj to ADn) of the address range (ADa to ADz) to the mailbox 145 . A part of the address range (ADa to ADz) (ADo to ADz) may be reserved without being used.

따라서, 메모리 컨트롤러(140)는 호스트 프로세서(110)로부터 전송된 어떤 액세스 커맨드의 어드레스가 공유 메모리(130)의 어드레스 범위(ADa~ADi)와 메일 박스(145)의 어드레스 범위(ADj~ADn) 중 어디에 포함되는 지를 판단하여, 판단 결과에 따라 액세스 커맨드를 처리할 수 있다.Accordingly, the memory controller 140 determines whether the address of an access command transmitted from the host processor 110 is between the address range ADa to ADi of the shared memory 130 and the address range ADj to ADn of the mailbox 145. It is possible to determine where it is included and process the access command according to the determination result.

메일 박스(145)는 오너쉽 이전 영역(401), 오너쉽 회수 영역(402), 작업 정보 영역(403), 상태 정보 영역(404), 및 작업 결과 데이터 영역(405)을 포함할 수 있다. 오너쉽 이전 영역(401), 오너쉽 회수 영역(402), 작업 정보 영역(403), 상태 정보 영역(404), 및 작업 결과 데이터 영역(405)은 각각 어드레스 범위(ADj~ADn)에 포함되는 어드레스들에 대응할 수 있다.The mailbox 145 may include an ownership transfer area 401 , an ownership recovery area 402 , a job information area 403 , a status information area 404 , and a job result data area 405 . The ownership transfer area 401, ownership withdrawal area 402, job information area 403, status information area 404, and job result data area 405 are addresses included in the address range ADj to ADn, respectively. can respond to

오너쉽 이전 영역(401)은 호스트 프로세서(110)가 오너쉽을 프로세서(120)에게 이전하기 위해 리드 액세스하는 영역일 수 있다. 호스트 프로세서(110)는 오너쉽을 프로세서(120)에게 이전하기 위해 리드 커맨드와 오너쉽 이전 영역(401)의 어드레스(AD-TR)를 메모리 컨트롤러(140)로 전송할 수 있다. 메모리 컨트롤러(140)는 호스트 프로세서(110)로부터 전송된 리드 커맨드와 오너쉽 이전 영역(401)의 어드레스(AD-TR)를 확인하여 오너쉽을 프로세서(120)에게 귀속시킬 수 있다. 메모리 컨트롤러(140)는 오너쉽 이전 영역(401)에 대한 리드 커맨드에 응답하여, 오너쉽 이전 영역(401)에 저장된 이전 확인 데이터를 호스트 프로세서(110)로 전송할 수 있다. 이전 확인 데이터는 오너쉽 이전이 완료되었음을 의미하는 것으로서 호스트 프로세서(110)와 사전에 약속된 데이터일 수 있다. The ownership transfer area 401 may be an area in which the host processor 110 read-accesses to transfer ownership to the processor 120 . The host processor 110 may transmit a read command and an address AD-TR of the area 401 to which ownership is transferred to the memory controller 140 in order to transfer ownership to the processor 120 . The memory controller 140 may assign ownership to the processor 120 by checking the read command transmitted from the host processor 110 and the address AD-TR of the region 401 before ownership. The memory controller 140 may transmit transfer confirmation data stored in the transfer-of-ownership area 401 to the host processor 110 in response to a read command for the transfer-of-ownership area 401 . The transfer confirmation data signifies that the transfer of ownership has been completed, and may be data previously agreed upon with the host processor 110 .

오너쉽 회수 영역(402)은 호스트 프로세서(110)가 오너쉽을 프로세서(120)로부터 회수하기 위해 리드 액세스하는 영역일 수 있다. 호스트 프로세서(110)는 오너쉽을 프로세서(120)로부터 회수하기 위해 리드 커맨드와 오너쉽 회수 영역(402)의 어드레스(AD-RS)를 메모리 컨트롤러(140)로 전송할 수 있다. 메모리 컨트롤러(140)는 호스트 프로세서(110)로부터 전송된 리드 커맨드와 오너쉽 회수 영역(402)의 어드레스(AD-RS)를 확인하여 오너쉽을 호스트 프로세서(110)에게 귀속시킬 수 있다. 메모리 컨트롤러(140)는 오너쉽 회수 영역(402)에 대한 리드 커맨드에 응답하여, 오너쉽 회수 영역(402)에 저장된 회수 확인 데이터를 호스트 프로세서(110)로 전송할 수 있다. 회수 확인 데이터는 오너쉽 회수를 처리할 것임을 의미하는 것으로서 호스트 프로세서와 사전에 약속된 데이터일 수 있다. The ownership withdrawal area 402 may be an area in which the host processor 110 read-accesses to recover ownership from the processor 120 . The host processor 110 may transmit a read command and an address AD-RS of the ownership withdrawal area 402 to the memory controller 140 to retrieve ownership from the processor 120 . The memory controller 140 may attribute the ownership to the host processor 110 by checking the read command transmitted from the host processor 110 and the address AD-RS of the ownership recovery area 402 . The memory controller 140 may transmit redemption confirmation data stored in the ownership redemption area 402 to the host processor 110 in response to a read command for the ownership redemption area 402 . The redemption confirmation data means that the ownership redemption will be processed, and may be data promised in advance with the host processor.

작업 정보 영역(403)은 프로세서(120)가 확인할 작업 정보가 저장되는 영역일 수 있다. 호스트 프로세서(110)는 작업 정보 영역(403)에 작업 정보를 저장할 수 있다. 프로세서(120)는 작업 정보 영역(403)으로부터 작업 정보를 리드하고 확인할 수 있다. 작업 정보 영역(403)은 어드레스(AD-WI)를 사용하여 액세스될 수 있다.The task information area 403 may be an area in which task information to be verified by the processor 120 is stored. The host processor 110 may store job information in the job information area 403 . The processor 120 may read and check job information from the job information area 403 . The work information area 403 can be accessed using an address (AD-WI).

상태 정보 영역(404)은 프로세서(120)의 상태 정보가 저장되는 영역일 수 있다. 상태 정보는 메모리 컨트롤러(140)에 의해 저장될 수 있다. 예를 들어, 메모리 컨트롤러(140)는 후술될 바와 같이, 프로세서(120)의 작업 결과 데이터가 공유 메모리(130)에 저장되는 위치를 알 수 있으므로, 그에 기반하여 동작의 잔여 처리량 또는 상태 정보를 업데이트할 수 있다. 실시 예에 따라, 상태 정보는 프로세서(120)에 의해 저장될 수도 있다. 호스트 프로세서(110)는 상태 정보 영역(404)으로부터 상태 정보를 리드하고 확인할 수 있다. 상태 정보 영역(404)은 어드레스(AD-ST)를 사용하여 액세스될 수 있다.The state information area 404 may be an area where state information of the processor 120 is stored. State information may be stored by the memory controller 140 . For example, as will be described later, the memory controller 140 can know the location where the work result data of the processor 120 is stored in the shared memory 130, and based thereon, updates the remaining throughput or state information of the operation. can do. Depending on embodiments, state information may be stored by the processor 120 . The host processor 110 can read and check status information from the status information area 404 . The status information area 404 can be accessed using an address (AD-ST).

작업 결과 데이터 영역(405)은 프로세서(120)가 처리한 작업의 작업 결과 데이터가 저장되는 영역일 수 있다. 프로세서(120)는 작업 결과 데이터 영역(405)에 작업 결과 데이터를 저장할 수 있다. 호스트 프로세서(110)는 작업 결과 데이터 영역(405)으로부터 작업 결과 데이터를 리드할 수 있다. 즉, 호스트 프로세서(110)는 도3을 참조하여 설명한 바와 같이 작업 결과 데이터를 공유 메모리(130)로부터 리드할 수 있고, 실시 예에 따라, 작업 결과 데이터 영역(405)으로부터 리드할 수도 있다. 작업 결과 데이터 영역(405)은 어드레스(AD-RD)를 사용하여 액세스될 수 있다.The task result data area 405 may be an area in which task result data of a task processed by the processor 120 is stored. The processor 120 may store job result data in the job result data area 405 . The host processor 110 may read job result data from the job result data area 405 . That is, the host processor 110 may read the work result data from the shared memory 130 as described with reference to FIG. 3 or may read the work result data area 405 according to an embodiment. The job result data area 405 can be accessed using the address AD-RD.

실시 예에 따라, 호스트 프로세서(110)는 오너쉽 귀속을 상술한 바와 같이 메일 박스(145)를 액세스함으로써 변경하지 않고, 별도 지정된 커맨드들을 통해 변경할 수 있다. 별도 지정된 커맨드들은 메모리 컨트롤러(140)에 포함된 별도 레지스터(미도시), 예를 들어, MPR(Multi Purpose Register)에 현재 오너쉽의 귀속을 저장하기 위한 것일 수 있다. 메모리 컨트롤러(140)는 호스트 프로세서(110)로부터 별도 지정된 커맨드들을 수신하면, 별도 레지스터에 오너쉽이 누구에게 귀속되었는지를 저장하고, 그에 따라 공유 메모리(130)에 대한 패스를 형성할 수 있다.According to an embodiment, the host processor 110 may change the ownership ownership through separately designated commands without changing ownership by accessing the mailbox 145 as described above. Separately designated commands may be for storing ownership of current ownership in a separate register (not shown) included in the memory controller 140, for example, a multi purpose register (MPR). When receiving separately designated commands from the host processor 110, the memory controller 140 may store in a separate register who the ownership belongs to and form a path to the shared memory 130 accordingly.

도5는 본 발명의 실시 예에 따른 메모리 컨트롤러(140)를 상세하게 도시하는 블록도이다.5 is a block diagram showing in detail the memory controller 140 according to an embodiment of the present invention.

도5를 참조하면, 메모리 컨트롤러(140)는 제어부(210) 및 인터페이스부(220)를 포함할 수 있다.Referring to FIG. 5 , the memory controller 140 may include a control unit 210 and an interface unit 220 .

제어부(210)는 호스트 커맨드 패스(HC)를 통해 호스트 프로세서(110)와 연결될 수 있다. 제어부(210)는 제2 호스트 데이터 패스(HD2) 및 제2 메모리 데이터 패스(MD2)를 통해 데이터 드라이버(211)와 연결될 수 있다. 제어부(210)는 프로세서 커맨드 패스(PC)를 통해 커맨드 먹스(212)와 연결될 수 있다. 각 패스의 사용은 아래에서 구체적으로 설명될 것이다. 또한, 제어부(210)는 메일 박스(145)를 포함할 수 있다. 제어부(210)는 메일 박스(145)를 제어할 수 있다. The controller 210 may be connected to the host processor 110 through a host command path (HC). The controller 210 may be connected to the data driver 211 through the second host data path HD2 and the second memory data path MD2. The controller 210 may be connected to the command mux 212 through a processor command path (PC). The use of each pass will be detailed below. Also, the controller 210 may include a mailbox 145 . The controller 210 may control the mail box 145 .

제어부(210)는 호스트 프로세서(110)의 제어에 따라, 오너쉽을 프로세서(120)에게 귀속시킬 수 있다. 구체적으로, 호스트 프로세서(110)는 리드 커맨드와 메일 박스(145)의 오너쉽 이전 영역(401)의 어드레스(AD-TR)를 호스트 커맨드 패스(HC)를 통해 전송할 수 있다. 제어부(210)는 호스트 커맨드 패스(HC)를 통해 호스트 프로세서(110)와 항상 연결되어 있으므로, 오너쉽이 누구에게 귀속되어 있는지에 무관하게 호스트 프로세서(110)의 리드 커맨드를 수신할 수 있다. 제어부(210)는 호스트 커맨드 패스(HC)를 통해 리드 커맨드와 오너쉽 이전 영역(401)의 어드레스(AD-TR)를 수신하고, 오너쉽을 프로세서(120)에게 귀속시킬 수 있다. 제어부(210)는 후술될 바와 같이 인터페이스부(220)의 데이터 패스 및 커맨드 패스를 변경시킴으로써 오너쉽을 프로세서(120)에게 귀속시킬 수 있다. The controller 210 may assign ownership to the processor 120 under the control of the host processor 110 . In detail, the host processor 110 may transmit the read command and the address AD-TR of the area 401 before ownership of the mailbox 145 through the host command path HC. Since the controller 210 is always connected to the host processor 110 through the host command path HC, it can receive a lead command from the host processor 110 regardless of who owns the ownership. The controller 210 may receive a read command and an address AD-TR of the region 401 before ownership through the host command path HC, and may assign ownership to the processor 120 . As will be described later, the controller 210 may assign ownership to the processor 120 by changing the data path and command path of the interface unit 220 .

제어부(210)는 오너쉽을 프로세서(120)에게 귀속시킨 뒤, 리드 커맨드의 응답으로서 오너쉽 이전 영역(401)에 저장된 이전 확인 데이터를 호스트 프로세서(110)에게 전송할 수 있다. 한편, 오너쉽이 프로세서(120)에게 귀속될 때, 후술될 바와 같이 제2 호스트 데이터 패스(HD2)는 제1 호스트 데이터 패스(HD1)와 연결되므로, 제어부(210)는 이전 확인 데이터를 제2 호스트 데이터 패스(HD2) 및 제1 호스트 데이터 패스(HD1)를 통해 호스트 프로세서(110)로 전송할 수 있다.After the ownership is attributed to the processor 120, the controller 210 may transmit transfer confirmation data stored in the ownership transfer area 401 to the host processor 110 as a response to the read command. Meanwhile, when the ownership belongs to the processor 120, as will be described later, since the second host data path HD2 is connected to the first host data path HD1, the controller 210 transfers the previous confirmation data to the second host data path HD1. It can be transmitted to the host processor 110 through the data path HD2 and the first host data path HD1.

또한, 제어부(210)는 호스트 프로세서(110)의 제어에 따라 오너쉽을 호스트 프로세서(110)에게 귀속시킬 수 있다. 구체적으로, 호스트 프로세서(110)는 리드 커맨드와 메일 박스(145)의 오너쉽 회수 영역(402)의 어드레스(AD-RS)를 호스트 커맨드 패스(HC)를 통해 전송할 수 있다. 제어부(210)는 호스트 커맨드 패스(HC)를 통해 호스트 프로세서(110)와 항상 연결되어 있으므로, 오너쉽이 프로세서(120)에게 귀속된 상태에서 호스트 프로세서(110)의 리드 커맨드를 수신할 수 있다. 제어부(210)는 리드 커맨드와 오너쉽 회수 영역(402)의 어드레스(AD-RS)를 수신하고, 오너쉽을 호스트 프로세서(110)에게 귀속시킬 수 있다. 제어부(210)는 후술될 바와 같이 인터페이스부(220)의 데이터 패스 및 커맨드 패스를 변경시킴으로써 오너쉽을 호스트 프로세서(110)에게 귀속시킬 수 있다. Also, the controller 210 may assign ownership to the host processor 110 under the control of the host processor 110 . In detail, the host processor 110 may transmit the read command and the address AD-RS of the ownership recovery area 402 of the mailbox 145 through the host command path HC. Since the controller 210 is always connected to the host processor 110 through the host command path HC, it can receive a lead command from the host processor 110 in a state in which ownership belongs to the processor 120 . The controller 210 may receive a read command and an address (AD-RS) of the ownership recovery area 402, and may assign ownership to the host processor 110. As will be described later, the controller 210 may assign ownership to the host processor 110 by changing the data path and command path of the interface unit 220 .

제어부(210)는 오너쉽을 호스트 프로세서(110)에게 귀속시키기 전에, 즉, 인터페이스부(220)의 데이터 패스 및 커맨드 패스를 변경시키기 전에 리드 커맨드의 응답으로서 오너쉽 회수 영역(402)에 저장된 회수 확인 데이터를 호스트 프로세서(110)에게 전송할 수 있다. 한편, 오너쉽이 호스트 프로세서(110)에게 귀속되기 전에, 제2 호스트 데이터 패스(HD2)는 제1 호스트 데이터 패스(HD1)와 연결되어 있으므로, 제어부(210)는 회수 확인 데이터를 제2 호스트 데이터 패스(HD2) 및 제1 호스트 데이터 패스(HD1)를 통해 호스트 프로세서(110)로 전송할 수 있다.Before the controller 210 attributes ownership to the host processor 110, that is, before changing the data path and the command path of the interface unit 220, the collection confirmation data stored in the ownership recovery area 402 as a response to a read command. may be transmitted to the host processor 110. Meanwhile, since the second host data path HD2 is connected to the first host data path HD1 before ownership is transferred to the host processor 110, the control unit 210 transmits recovery confirmation data to the second host data path. It can be transmitted to the host processor 110 through (HD2) and the first host data path (HD1).

그리고, 제어부(210)는 호스트 프로세서(110)와 프로세서(120)의 메일 박스(145)로의 다양한 액세스들을 처리할 수 있다.Also, the controller 210 may process various accesses to the mail box 145 of the host processor 110 and the processor 120 .

우선, 제어부(210)는 호스트 프로세서(110)의 제어에 따라 작업 정보를 메일 박스(145)의 작업 정보 영역(403)에 저장할 수 있다. First of all, the controller 210 may store job information in the job information area 403 of the mail box 145 under the control of the host processor 110 .

제어부(210)는 프로세서(120)의 제어에 따라 메일 박스(145)의 작업 정보 영역(403)에 저장된 작업 정보를 프로세서(120)에게 전송할 수 있다.The controller 210 may transmit job information stored in the job information area 403 of the mail box 145 to the processor 120 under the control of the processor 120 .

제어부(210)는 프로세서(120)의 제어에 따라 프로세서(120)의 상태 정보를 메일 박스(145)의 상태 정보 영역(404)에 저장할 수 있다. 실시 예에 따라, 제어부(210)는 프로세서(120)의 제어에 따라 공유 메모리(130)를 직접적으로 액세스하므로, 프로세서(120)의 작업의 잔여 처리량을 알 수 있고, 따라서, 제어부(210)는 상태 정보 영역(404)에 프로세서(120)의 상태 정보를 프로세서(120)의 제어와 무관하게 저장할 수 있다.The controller 210 may store state information of the processor 120 in the state information area 404 of the mailbox 145 under the control of the processor 120 . According to an embodiment, since the controller 210 directly accesses the shared memory 130 under the control of the processor 120, the remaining throughput of the processor 120 may be known, and thus the controller 210 may State information of the processor 120 may be stored in the state information area 404 regardless of the control of the processor 120 .

제어부(210)는 호스트 프로세서(110)의 제어에 따라 메일 박스(145)의 상태 정보 영역(404)에 저장된 상태 정보를 호스트 프로세서(110)에게 전송할 있다.The controller 210 may transmit status information stored in the status information area 404 of the mailbox 145 to the host processor 110 under the control of the host processor 110 .

제어부(210)는 프로세서(120)의 제어에 따라 프로세서(120)가 처리한 작업 결과 데이터를 메일 박스(145)의 작업 결과 데이터 영역(405)에 저장할 수 있다.The controller 210 may store job result data processed by the processor 120 in the job result data area 405 of the mailbox 145 under the control of the processor 120 .

제어부(210)는 호스트 프로세서(110)의 제어에 따라 메일 박스(145)의 작업 결과 데이터 영역(405)에 저장된 작업 결과 데이터를 호스트 프로세서(110)에게 전송할 수 있다.The controller 210 may transmit job result data stored in the job result data area 405 of the mail box 145 to the host processor 110 under the control of the host processor 110 .

한편, 제어부(210)는 오너쉽이 프로세서(120)에게 귀속될 때, 프로세서(120)와 공유 메모리 사이를 인터페이싱할 수 있다. 예를 들어, 프로세서(120)가 하드웨어 가속기일 때, 공유 메모리(130)의 인터페이스 프로토콜에 따른 커맨드를 프로세서(120)가 생성하지 않고 제어부(210)가 프로세서(120)의 지시에 따라 대신 생성하여 공유 메모리(130)로 전송할 수 있다. 실시 예에 따라 프로세서(120)는 공유 메모리(130)의 인터페이스 프로토콜에 따른 커맨드를 생성할 수도 있고, 이러한 경우 제어부(210)는 프로세서(120)에 의해 생성된 커맨드를 공유 메모리(130)로 전달할 수 있다. 정리하면, 오너쉽이 프로세서(120)에게 귀속될 때, 프로세서(120)는 제어부(210)를 통해 공유 메모리(130)를 액세스할 수 있다. 따라서, 후술될 바와 같이 오너쉽이 프로세서(120)에게 귀속될 때, 제어부(210)는, 제어부(210)와 공유 메모리(130) 사이의 패스를 활성화하도록 인터페이스부(220)를 제어할 수 있다.Meanwhile, the controller 210 may interface between the processor 120 and the shared memory when ownership belongs to the processor 120 . For example, when the processor 120 is a hardware accelerator, the processor 120 does not generate a command according to the interface protocol of the shared memory 130, but the control unit 210 instead generates a command according to the instructions of the processor 120 It can be transferred to the shared memory 130. According to an embodiment, the processor 120 may generate a command according to an interface protocol of the shared memory 130, and in this case, the controller 210 transmits the command generated by the processor 120 to the shared memory 130. can In summary, when ownership is vested in the processor 120, the processor 120 may access the shared memory 130 through the controller 210. Therefore, as will be described later, when ownership is attributed to the processor 120, the controller 210 may control the interface 220 to activate a path between the controller 210 and the shared memory 130.

제어부(210)는 오너쉽이 호스트 프로세서(110)와 프로세서(120) 중 누구에게 귀속되어 있는지에 따라, 호스트 프로세서(110), 제어부(210), 및 공유 메모리(130) 사이에서 패스를 활성화하도록 인터페이스부(220)를 제어할 수 있다.The control unit 210 interfaces to activate a pass between the host processor 110, the control unit 210, and the shared memory 130 according to which of the host processor 110 and the processor 120 the ownership belongs to. The unit 220 can be controlled.

구체적으로, 오너쉽이 호스트 프로세서(110)에게 귀속될 때, 제어부(210)는 호스트 프로세서(110)와 공유 메모리(130) 사이의 패스를 활성화시키도록 인터페이스부(220)를 제어할 수 있다. Specifically, when the ownership belongs to the host processor 110, the controller 210 may control the interface unit 220 to activate a path between the host processor 110 and the shared memory 130.

오너쉽이 프로세서(120)에게 귀속될 때, 제어부(210)는 호스트 프로세서(110)와 공유 메모리(130) 사이의 패스를 비활성화시키고, 제어부(210)와 공유 메모리(130) 사이의 패스를 활성화시키도록 인터페이스부(220)를 제어할 수 있다. 프로세서(120)는 오너쉽을 소유할 때, 제어부(210)를 통해 공유 메모리(130)를 액세스할 수 있다.When ownership is vested in the processor 120, the controller 210 deactivates the path between the host processor 110 and the shared memory 130 and activates the path between the controller 210 and the shared memory 130. It is possible to control the interface unit 220 so as to be. The processor 120 may access the shared memory 130 through the control unit 210 when possessing ownership.

또한, 오너쉽이 프로세서(120)에게 귀속될 때, 제어부(210)는, 호스트 프로세서(110)와 제어부(210) 사이의 패스를 활성화시키도록 인터페이스부(220)를 제어할 수 있다. 따라서, 오너쉽이 프로세서(120)에게 귀속된 동안 호스트 프로세서(110)는 제어부(210)의 메일 박스(145)에 작업 정보를 저장하고, 메일 박스(145)로부터 상태 정보 및 작업 결과 데이터를 리드하는 것이 가능할 수 있다.Also, when the ownership belongs to the processor 120, the controller 210 may control the interface 220 to activate a path between the host processor 110 and the controller 210. Therefore, while the ownership belongs to the processor 120, the host processor 110 stores job information in the mailbox 145 of the control unit 210 and reads status information and job result data from the mailbox 145. that could be possible

인터페이스부(220)는 제어부(210)의 제어에 따라 호스트 프로세서(110), 제어부(210) 및 공유 메모리(130) 사이에서 패스를 형성하여 데이터 및 커맨드를 전송할 수 있다. 구체적으로, 호스트 프로세서(110)가 오너쉽을 소유할 때, 인터페이스부(220)는 제어부(210)의 제어에 따라 호스트 프로세서(110)와 공유 메모리(130) 사이의 패스를 활성화시킬 수 있다. 프로세서(120)가 오너쉽을 소유할 때, 인터페이스부(220)는 제어부(210)의 제어에 따라 호스트 프로세서(110)와 공유 메모리(130) 사이의 패스를 비활성화시키고, 제어부(210)와 공유 메모리(130) 사이의 패스를 활성화시키고 제어부(210)와 호스트 프로세서(110) 사이의 패스를 활성화시킬 수 있다.The interface unit 220 may transmit data and commands by forming a path between the host processor 110 , the controller 210 and the shared memory 130 under the control of the controller 210 . Specifically, when the host processor 110 has ownership, the interface unit 220 may activate a path between the host processor 110 and the shared memory 130 under the control of the controller 210 . When the processor 120 owns the ownership, the interface unit 220 deactivates the path between the host processor 110 and the shared memory 130 under the control of the controller 210, and the controller 210 and the shared memory A path between 130 and a path between the controller 210 and the host processor 110 may be activated.

인터페이스부(220)는 데이터 드라이버(211) 및 커맨드 먹스(212)를 포함할 수 있다. The interface unit 220 may include a data driver 211 and a command mux 212 .

데이터 드라이버(211)는 호스트 프로세서(110)와 제1 호스트 데이터 패스(HD1)를 통해 연결될 수 있다. 데이터 드라이버(211)는 공유 메모리(130)와 제1 메모리 데이터 패스(MD1)를 통해 연결될 수 있다. 데이터 드라이버(211)는 제어부(210)와 제2 호스트 데이터 패스(HD2) 및 제2 메모리 데이터 패스(MD2)를 통해 연결될 수 있다.The data driver 211 may be connected to the host processor 110 through the first host data path HD1. The data driver 211 may be connected to the shared memory 130 through the first memory data path MD1. The data driver 211 may be connected to the control unit 210 through a second host data path HD2 and a second memory data path MD2.

오너쉽이 호스트 프로세서(110)에게 귀속될 때, 데이터 드라이버(211)는 제어부(210)의 제어에 따라 호스트 프로세서(110)와 공유 메모리(130) 사이의 데이터 패스를 활성화시킬 수 있다. 구체적으로, 데이터 드라이버(211)는 제1 호스트 데이터 패스(HD1)와 제1 메모리 데이터 패스(MD1)를 연결함으로써 호스트 프로세서(110)와 공유 메모리(130) 사이의 데이터 패스를 활성화시킬 수 있다.When ownership belongs to the host processor 110 , the data driver 211 may activate a data path between the host processor 110 and the shared memory 130 under the control of the control unit 210 . Specifically, the data driver 211 may activate a data path between the host processor 110 and the shared memory 130 by connecting the first host data path HD1 and the first memory data path MD1.

또한, 오너쉽이 프로세서(120)에게 귀속될 때, 데이터 드라이버(211)는 제어부(210)의 제어에 따라 호스트 프로세서(110)와 공유 메모리(130) 사이의 데이터 패스를 비활성화시키고, 호스트 프로세서(110)와 제어부(210) 사이의 데이터 패스를 활성화시키고, 공유 메모리(130)와 제어부(210) 사이의 데이터 패스를 활성화시킬 수 있다. 구체적으로, 데이터 드라이버(211)는 제1 호스트 데이터 패스(HD1)와 제2 호스트 데이터 패스(HD2)를 연결함으로써 호스트 프로세서(110)와 제어부(210) 사이의 데이터 패스를 활성화시킬 수 있다. 그리고, 데이터 드라이버(211)는 제1 메모리 데이터 패스(MD1)와 제2 메모리 데이터 패스(MD2)를 연결함으로써 공유 메모리(130)와 제어부(210) 사이의 데이터 패스를 활성화시킬 수 있다.In addition, when ownership is vested in the processor 120, the data driver 211 deactivates the data path between the host processor 110 and the shared memory 130 under the control of the controller 210, and the host processor 110 ) and the control unit 210 may be activated, and a data path between the shared memory 130 and the control unit 210 may be activated. In detail, the data driver 211 can activate the data path between the host processor 110 and the controller 210 by connecting the first host data path HD1 and the second host data path HD2. Also, the data driver 211 can activate the data path between the shared memory 130 and the control unit 210 by connecting the first memory data path MD1 and the second memory data path MD2.

커맨드 먹스(212)는 호스트 프로세서(110)와 호스트 커맨드 패스(HC)를 통해 연결될 수 있다. 커맨드 먹스(212)는 제어부(210)와 프로세서 커맨드 패스(PC)를 통해 연결될 수 있다. 커맨드 먹스(212)는 공유 메모리(130)와 메모리 커맨드 패스(MC)를 통해 연결될 수 있다.The command mux 212 may be connected to the host processor 110 through a host command path (HC). The command mux 212 may be connected to the control unit 210 through a processor command path (PC). The command mux 212 may be connected to the shared memory 130 through a memory command path (MC).

오너쉽이 호스트 프로세서(110)에게 귀속될 때, 커맨드 먹스(212)는 제어부(210)의 제어에 따라 호스트 프로세서(110)와 공유 메모리(130) 사이의 커맨드 패스를 활성화시킬 수 있다. 구체적으로, 커맨드 먹스(212)는 호스트 커맨드 패스(HC)와 메모리 커맨드 패스(MC)를 연결함으로써 호스트 프로세서(110)와 공유 메모리(130) 사이의 커맨드 패스를 활성화시킬 수 있다.When ownership is vested in the host processor 110 , the command mux 212 may activate a command path between the host processor 110 and the shared memory 130 under the control of the controller 210 . In detail, the command mux 212 may activate a command path between the host processor 110 and the shared memory 130 by connecting the host command path HC and the memory command path MC.

또한, 오너쉽이 프로세서(120)에게 귀속될 때, 커맨드 먹스(212)는 제어부(210)의 제어에 따라 호스트 프로세서(110)와 공유 메모리(130) 사이의 커맨드 패스를 비활성화시키고, 제어부(210)와 공유 메모리(130) 사이의 커맨드 패스를 활성화시킬 수 있다. 구체적으로, 커맨드 먹스(212)는 프로세서 커맨드 패스(PC)와 메모리 커맨드 패스(MC)를 연결함으로써 제어부(210)와 공유 메모리(130) 사이의 커맨드 패스를 활성화시킬 수 수 있다.In addition, when ownership is attributed to the processor 120, the command mux 212 deactivates a command path between the host processor 110 and the shared memory 130 under the control of the controller 210, and the controller 210 and a command path between the shared memory 130 may be activated. In detail, the command mux 212 may activate a command path between the controller 210 and the shared memory 130 by connecting a processor command path (PC) and a memory command path (MC).

결국, 호스트 프로세서(110)와 프로세서(120) 사이에서 오너쉽이 이전되고 회수될 때마다, 호스트 프로세서(110), 제어부(210) 및 공유 메모리(130) 사이에서 데이터 패스 및 커맨드 패스가 변경될 수 있다.As a result, whenever ownership is transferred and withdrawn between the host processor 110 and the processor 120, a data path and a command path may be changed between the host processor 110, the control unit 210, and the shared memory 130. there is.

도6 내지 도13은 본 발명의 실시 예에 따라 메모리 컨트롤러(140)가 호스트 프로세서(110), 프로세서(120), 및 공유 메모리(130) 사이에서 인터페이싱하는 방법을 설명하기 위한 도면들이다.6 to 13 are diagrams for explaining how the memory controller 140 interfaces among the host processor 110, the processor 120, and the shared memory 130 according to an embodiment of the present invention.

우선 도6은 본 발명의 실시 예에 따라 호스트 프로세서(110)가 공유 메모리(130)에 작업 데이터를 저장하는 방법을 도시하는 도면이다.First, FIG. 6 is a diagram illustrating a method in which the host processor 110 stores work data in the shared memory 130 according to an embodiment of the present invention.

도6을 참조하면, 호스트 프로세서(110)가 오너쉽을 소유한 상태일 수 있다. Referring to FIG. 6 , the host processor 110 may be in a state of ownership.

호스트 프로세서(110)가 오너쉽을 소유할 때, 데이터 드라이버(211)는 제어부(210)의 제어에 따라 제1 호스트 데이터 패스(HD1)와 제1 메모리 데이터 패스(MD1)를 연결함으로써 호스트 프로세서(110)와 공유 메모리(130) 사이의 데이터 패스를 활성화시킬 수 있다. When the host processor 110 owns the ownership, the data driver 211 connects the first host data path HD1 and the first memory data path MD1 under the control of the control unit 210 so that the host processor 110 ) and the shared memory 130 can be activated.

호스트 프로세서(110)가 오너쉽을 소유할 때, 커맨드 먹스(212)는 제어부(210)의 제어에 따라 호스트 커맨드 패스(HC)와 메모리 커맨드 패스(MC)를 연결함으로써 호스트 프로세서(110)와 공유 메모리(130) 사이의 커맨드 패스를 활성화시킬 수 있다. 도6에서 호스트 프로세서(110)와 공유 메모리(130) 사이를 연결하며 활성화된 패스는 회색으로 채워져 있다.When the host processor 110 owns the ownership, the command mux 212 connects the host command path (HC) and the memory command path (MC) under the control of the control unit 210 so that the host processor 110 and the shared memory You can activate the command path between (130). In FIG. 6, an active path connecting the host processor 110 and the shared memory 130 is filled in gray.

따라서, 호스트 프로세서(110)는 인터페이스부(220)를 통해 공유 메모리(130)와 연결되므로 공유 메모리(130)를 액세스하여 작업을 처리할 수 있다. 예를 들어, 호스트 프로세서(110)는 프로세서(120)에게 지시할 작업의 작업 데이터를 공유 메모리(130)에 저장하기 위해, 라이트 커맨드를 호스트 커맨드 패스(HC)로 전송하고 작업 데이터를 제1 호스트 데이터 패스(HD1)로 전송할 수 있다.Therefore, since the host processor 110 is connected to the shared memory 130 through the interface unit 220, it can access the shared memory 130 to process a task. For example, the host processor 110 transmits a write command to the host command path (HC) and transmits the work data to the first host in order to store work data of a task to be instructed to the processor 120 in the shared memory 130. It can be transmitted through the data path HD1.

도7은 본 발명의 실시 예에 따라 호스트 프로세서(110)가 오너쉽을 프로세서(120)에게 이전하는 방법을 도시하는 도면이다.7 is a diagram illustrating a method for the host processor 110 to transfer ownership to the processor 120 according to an embodiment of the present invention.

도7을 참조하면, 호스트 프로세서(110)는 오너쉽을 프로세서(120)에게 이전하기 위해, 리드 커맨드와 메일 박스(145)의 오너쉽 이전 영역(401)의 어드레스(AD-TR)를 호스트 커맨드 패스(HC)를 통해 제어부(210)로 전송할 수 있다. Referring to FIG. 7 , in order to transfer ownership to the processor 120, the host processor 110 transmits a read command and an address AD-TR of an ownership transfer area 401 of the mailbox 145 to a host command path ( HC) to the control unit 210.

도8은 본 발명의 실시 예에 따라 제어부(210)가 오너쉽을 프로세서(120)에게 귀속시키는 방법을 도시하는 도면이다.8 is a diagram illustrating a method in which the controller 210 assigns ownership to the processor 120 according to an embodiment of the present invention.

도8을 참조하면, 제어부(210)는 호스트 커맨드 패스(HC)를 통해 전송된 리드 커맨드와 메일 박스(145)의 오너쉽 이전 영역(401)의 어드레스(AD-TR)에 응답하여, 프로세서(120)에게 오너쉽을 귀속시킬 수 있다. 그리고, 제어부(210)는 오너쉽 귀속의 변경에 따라 인터페이스부(220)가 데이터 패스 및 커맨드 패스를 변경하도록 제어할 수 있다.Referring to FIG. 8 , the controller 210 responds to the read command transmitted through the host command path (HC) and the address (AD-TR) of the transfer-of-ownership area 401 of the mailbox 145, so that the processor 120 ) can be assigned ownership. In addition, the controller 210 may control the interface unit 220 to change the data path and the command path according to the change in ownership.

구체적으로, 프로세서(120)가 오너쉽을 소유할 때, 데이터 드라이버(211)는 제어부(210)의 제어에 따라 제1 메모리 데이터 패스(MD1)와 제2 메모리 데이터 패스(MD2)를 연결함으로써 공유 메모리(130)와 제어부(210) 사이의 데이터 패스를 활성화시킬 수 있다.Specifically, when the processor 120 owns the ownership, the data driver 211 connects the first memory data path MD1 and the second memory data path MD2 under the control of the control unit 210 to the shared memory. A data path between 130 and the control unit 210 may be activated.

그리고, 데이터 드라이버(211)는 제어부(210)의 제어에 따라 제1 호스트 데이터 패스(HD1)와 제2 호스트 데이터 패스(HD2)를 연결함으로써 호스트 프로세서(110)와 제어부(210) 사이의 데이터 패스를 활성화시킬 수 있다. Further, the data driver 211 connects the first host data path HD1 and the second host data path HD2 under the control of the control unit 210, thereby providing a data path between the host processor 110 and the control unit 210. can activate.

그리고, 커맨드 먹스(212)는 제어부(210)의 제어에 따라 프로세서 커맨드 패스(PC)와 메모리 커맨드 패스(MC)를 연결함으로써 제어부(210)와 공유 메모리(130) 사이의 커맨드 패스를 활성화시킬 수 있다.Also, the command mux 212 may activate a command path between the controller 210 and the shared memory 130 by connecting the processor command path (PC) and the memory command path (MC) under the control of the controller 210. there is.

결과적으로, 도8에서 호스트 프로세서(110)와 제어부(210) 사이를 연결하며 활성화된 패스는 회색으로 채워져 있고, 공유 메모리(130)와 제어부(210) 사이를 연결하며 활성화된 패스는 빗금으로 채워져 있다.As a result, in FIG. 8, the active path connecting the host processor 110 and the control unit 210 is filled in gray, and the active path connecting the shared memory 130 and the control unit 210 is filled with hatched lines. there is.

한편, 제어부(210)는 호스트 프로세서(110)와 데이터 패스가 연결되었으므로, 오너쉽 이전을 위한 리드 커맨드에 응답하여 오너쉽 이전 영역(401)에 저장된 이전 확인 데이터를 호스트 프로세서(110)로 전송할 수 있다.Meanwhile, since the host processor 110 and the data path are connected, the controller 210 may transmit transfer confirmation data stored in the ownership transfer area 401 to the host processor 110 in response to a lead command for ownership transfer.

도9는 본 발명의 실시 예에 따라 호스트 프로세서(110)가 메일 박스(145)에 작업 정보를 저장하는 방법을 도시하는 도면이다.9 is a diagram illustrating a method for the host processor 110 to store job information in the mail box 145 according to an embodiment of the present invention.

도9를 참조하면, 호스트 프로세서(110)는 프로세서(120)에게 작업을 지시하기 위해, 라이트 커맨드와 메일 박스(145)의 작업 정보 영역(403)의 어드레스(AD-WI)를 호스트 커맨드 패스(HC)를 통해 제어부(210)로 전송하고, 작업 정보를 제1 호스트 데이터 패스(HD1)와 제2 호스트 데이터 패스(HD2)를 통해 제어부(210)로 전송할 수 있다.Referring to FIG. 9 , in order to instruct the processor 120 to work, the host processor 110 transmits the write command and the address AD-WI of the work information area 403 of the mailbox 145 to the host command path ( HC) and transmits job information to the controller 210 through the first host data path HD1 and the second host data path HD2.

제어부(210)는 호스트 커맨드 패스(HC)를 통해 전송된 라이트 커맨드에 응답하여, 메일 박스(145)의 작업 정보 영역(403)에 작업 정보를 저장할 수 있다. 미도시되었지만, 제어부(210)는 프로세서(120)에게 작업 정보 영역(403)에 작업 정보가 저장되었음을 알려줄 수 있다. The controller 210 may store job information in the job information area 403 of the mailbox 145 in response to the write command transmitted through the host command path HC. Although not shown, the controller 210 may notify the processor 120 that job information is stored in the job information area 403 .

도10은 본 발명의 실시 예에 따라 프로세서(120)가 메일 박스(145)로부터 작업 정보를 리드하는 방법을 도시하는 도면이다.10 is a diagram illustrating a method in which the processor 120 reads job information from the mailbox 145 according to an embodiment of the present invention.

도10을 참조하면, 프로세서(120)는 메일 박스(145)의 작업 정보 영역(403)에 저장된 작업 정보를 리드할 수 있다. 프로세서(120)는 리드된 작업 정보를 통해 공유 메모리(130)에서 처리할 데이터가 저장된 위치를 확인할 수 있다.Referring to FIG. 10 , the processor 120 may read job information stored in the job information area 403 of the mailbox 145 . The processor 120 may check the stored location of data to be processed in the shared memory 130 through the read job information.

도11은 본 발명의 실시 예에 따라 프로세서(120)가 작업 데이터를 처리하는 방법을 도시하는 도면이다.11 is a diagram illustrating how the processor 120 processes work data according to an embodiment of the present invention.

도11을 참조하면, 프로세서(120)는 제어부(210) 및 인터페이스부(220)를 통해 공유 메모리(130)와 연결되므로 공유 메모리(130)를 액세스하여 작업 데이터를 처리할 수 있다. 프로세서(120)는 공유 메모리(130)로부터 작업 데이터를 리드하여 처리하고 작업 결과 데이터를 공유 메모리(130)에 저장할 수 있다. 프로세서(120)는 작업 데이터 및 작업 결과 데이터를 제어부(210) 및 제1 메모리 데이터 패스(MD1)와 제2 메모리 데이터 패스(MD2) 통해 공유 메모리(130)와 주고받을 수 있다. 이를 위해, 제어부(210)는 프로세서(120)의 제어에 따라 리드 커맨드 및 라이트 커맨드를 생성하여 프로세서 커맨드 패스(PC) 및 메모리 커맨드 패스(MC)를 통해 공유 메모리(130)로 전송할 수 있다.Referring to FIG. 11 , since the processor 120 is connected to the shared memory 130 through the control unit 210 and the interface unit 220, it can process work data by accessing the shared memory 130. The processor 120 may read and process job data from the shared memory 130 and store job result data in the shared memory 130 . The processor 120 may exchange work data and work result data with the shared memory 130 through the control unit 210 and the first memory data path MD1 and the second memory data path MD2. To this end, the controller 210 may generate read commands and write commands under the control of the processor 120 and transmit them to the shared memory 130 through a processor command path (PC) and a memory command path (MC).

프로세서(120)가 작업을 처리하는 동안 호스트 프로세서(110)는 프로세서(120)의 상태 정보를 확인하기 위해, 리드 커맨드와 메일 박스(145)의 상태 정보 영역(404)의 어드레스(AD-ST)를 호스트 커맨드 패스(HC)를 통해 제어부(210)로 전송할 수 있다.While the processor 120 is processing a task, the host processor 110 uses a read command and an address (AD-ST) of the status information area 404 of the mailbox 145 to check the status information of the processor 120. may be transmitted to the controller 210 through a host command path (HC).

제어부(210)는 상태 정보 리드를 위한 리드 커맨드에 응답하여 상태 정보를 호스트 프로세서(110)로 전송할 수 있다. 호스트 프로세서(110)는 상태 정보를 확인하여 프로세서(120)의 작업이 완료되었음을 확인할 수 있다.The controller 210 may transmit status information to the host processor 110 in response to a read command for reading status information. The host processor 110 may confirm that the task of the processor 120 has been completed by checking the state information.

도12는 본 발명의 실시 예에 따라 호스트 프로세서(110)가 프로세서(120)로부터 오너쉽을 회수하는 방법을 도시하는 도면이다. 12 is a diagram illustrating a method in which the host processor 110 withdraws ownership from the processor 120 according to an embodiment of the present invention.

도12를 참조하면, 호스트 프로세서(110)는 상태 정보를 확인하여 프로세서(120)의 작업이 완료되었음을 확인한 뒤, 오너쉽을 프로세서(120)로부터 회수하기 위해, 리드 커맨드와 메일 박스(145)의 오너쉽 회수 영역(402)의 어드레스(AD-RS)를 호스트 커맨드 패스(HC)를 통해 제어부(210)로 전송할 수 있다.Referring to FIG. 12, the host processor 110 confirms that the task of the processor 120 has been completed by checking the status information, and then, in order to retrieve the ownership from the processor 120, the lead command and the ownership of the mailbox 145 The address AD-RS of the recovery area 402 may be transmitted to the controller 210 through the host command path HC.

제어부(210)는 오너쉽 확인을 위한 리드 커맨드에 응답하여 오너쉽 회수 영역(402)에 저장된 회수 확인 데이터를 호스트 프로세서(110)로 전송할 수 있다.The controller 210 may transmit recovery confirmation data stored in the ownership recovery area 402 to the host processor 110 in response to a read command for ownership confirmation.

도13은 본 발명의 실시 예에 따라 호스트 프로세서(110)가 공유 메모리(130)로부터 작업 결과 데이터를 리드하는 방법을 도시하는 도면이다.13 is a diagram illustrating a method in which the host processor 110 reads job result data from the shared memory 130 according to an embodiment of the present invention.

도13을 참조하면, 제어부(210)는 호스트 커맨드 패스(HC)를 통해 전송된 리드 커맨드와 메일 박스(145)의 오너쉽 회수 영역(402)의 어드레스(AD-RS)에 응답하여, 호스트 프로세서(110)에게 오너쉽을 귀속시킬 수 있다. 그리고, 제어부(210)는 오너쉽 귀속의 변경에 따라 인터페이스부(220)가 데이터 패스 및 커맨드 패스를 변경하도록 제어할 수 있다. 결과적으로, 인터페이스부(220)는 도6에 도시된 바와 같이 데이터 패스 및 커맨드 패스를 변경할 수 있다.13, the controller 210 responds to the read command transmitted through the host command path (HC) and the address (AD-RS) of the ownership recovery area 402 of the mailbox 145, the host processor ( 110) can be attributed ownership. In addition, the controller 210 may control the interface unit 220 to change the data path and the command path according to the change in ownership. As a result, the interface unit 220 can change the data path and command path as shown in FIG. 6 .

따라서, 호스트 프로세서(110)는 인터페이스부(220)를 통해 공유 메모리(130)와 연결되므로 공유 메모리(130)로부터 프로세서(120)의 작업 결과 데이터를 리드할 수 있다. 호스트 프로세서(110)는 작업 결과 데이터를 리드하기 위해, 리드 커맨드를 호스트 커맨드 패스(HC)로 전송하고 작업 결과 데이터를 제1 메모리 데이터 패스(MD1) 및 제1 호스트 데이터 패스(HD1)를 통해 공유 메모리(130)로부터 전송받을 수 있다.Therefore, since the host processor 110 is connected to the shared memory 130 through the interface unit 220, it can read operation result data of the processor 120 from the shared memory 130. To read job result data, the host processor 110 transmits a read command to the host command path HC and shares the job result data through the first memory data path MD1 and the first host data path HD1. It can be transmitted from the memory 130.

도14는 본 발명의 실시 예에 따라 호스트 프로세서(110)가 메일 박스(145)로부터 작업 결과 데이터를 리드하는 방법을 도시하는 도면이다.14 is a diagram illustrating a method in which the host processor 110 reads job result data from the mailbox 145 according to an embodiment of the present invention.

도14를 참조하면, 도13에서 설명된 바와 달리, 작업 결과 데이터가 메일 박스(145)의 작업 결과 데이터 영역(405)에 저장되었을 때 호스트 프로세서(110)는 작업 결과 데이터를 메일 박스(145)로부터 리드할 수 있다. 즉, 도11의 상황에서 상태 정보에 근거하여 프로세서(120)의 작업이 완료되었음을 확인하면, 호스트 프로세서(110)는 오너쉽을 회수하지 않고 메일 박스(145)로부터 작업 결과 데이터를 리드할 수 있다. 호스트 프로세서(110)는 작업 결과 데이터를 리드하기 위해, 리드 커맨드와 메일 박스(145)의 작업 결과 데이터 영역(405)의 어드레스(AD-RD)를 호스트 커맨드 패스(HC)를 통해 제어부(210)로 전송할 수 있다.Referring to FIG. 14, unlike in FIG. 13, when the job result data is stored in the job result data area 405 of the mail box 145, the host processor 110 transfers the job result data to the mail box 145. can lead from That is, in the situation of FIG. 11, if it is confirmed that the task of the processor 120 is completed based on the status information, the host processor 110 can read the task result data from the mail box 145 without retrieving ownership. In order to read job result data, the host processor 110 sends a read command and the address AD-RD of the job result data area 405 of the mailbox 145 to the control unit 210 through a host command path (HC). can be sent to

도 15는 본 발명의 실시 예에 따른 데이터 처리 시스템(1000)을 예시적으로 도시하는 도면이다. 도 15를 참조하면, 데이터 처리 시스템(1000)은 호스트 장치(1100)와 메모리 시스템(1200)을 포함할 수 있다.15 is a diagram exemplarily illustrating a data processing system 1000 according to an embodiment of the present invention. Referring to FIG. 15 , the data processing system 1000 may include a host device 1100 and a memory system 1200 .

호스트 장치(1100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 호스트 장치(1100)는 호스트 프로세서(1110) 및 접속 터미널(1120)을 포함할 수 있다. The host device 1100 may be configured in the form of a board such as a printed circuit board. The host device 1100 may include a host processor 1110 and an access terminal 1120 .

호스트 프로세서(1110)는 도1의 호스트 프로세서(110)에 대응할 수 있다. The host processor 1110 may correspond to the host processor 110 of FIG. 1 .

접속 터미널(1120)은 소켓(socket), 슬롯(slot) 또는 커넥터(connector)를 포함할 수 있고, 메모리 시스템(1200)은 접속 터미널(1120)에 마운트(mount)될 수 있다.The connection terminal 1120 may include a socket, slot, or connector, and the memory system 1200 may be mounted on the connection terminal 1120 .

메모리 시스템(1200)은 인쇄 회로 기판과 같은 기판 형태로 구성될 수 있다. 메모리 시스템(1200)은 메모리 모듈 또는 메모리 카드로 불릴 수 있다. 메모리 시스템(2200)은 프로세서(1210), 메모리 장치(1220), 메모리 컨트롤러(1230), 및 접속 터미널(1240)을 포함할 수 있다.The memory system 1200 may be configured in the form of a substrate such as a printed circuit board. The memory system 1200 may be referred to as a memory module or a memory card. The memory system 2200 may include a processor 1210 , a memory device 1220 , a memory controller 1230 , and a connection terminal 1240 .

프로세서(1210)는 도1의 프로세서(120)에 대응할 수 있다. 메모리 장치(1220)는 도1의 공유 메모리(130)에 대응할 수 있다. 메모리 컨트롤러(1230)는 도1의 메모리 컨트롤러(140)에 대응할 수 있다. Processor 1210 may correspond to processor 120 of FIG. 1 . The memory device 1220 may correspond to the shared memory 130 of FIG. 1 . The memory controller 1230 may correspond to the memory controller 140 of FIG. 1 .

접속 터미널(1240)은 호스트 장치(1100)의 접속 터미널(1120)에 연결될 수 있다. 접속 터미널(1240)을 통해서, 호스트 장치(1100)와 메모리 시스템(1200) 간에 커맨드, 어드레스, 데이터 등과 같은 신호와, 전원이 전달될 수 있다. 접속 터미널(1240)은 호스트 장치(1100)와 메모리 시스템(1200)의 인터페이스 방식에 따라 다양한 형태로 구성될 수 있다. 접속 터미널(1240)은 메모리 시스템(1200)의 어느 한 변에 배치될 수 있다.The access terminal 1240 may be connected to the access terminal 1120 of the host device 1100 . Signals such as commands, addresses, and data, and power may be transferred between the host device 1100 and the memory system 1200 through the connection terminal 1240 . The access terminal 1240 may be configured in various forms according to an interface method between the host device 1100 and the memory system 1200 . The connection terminal 1240 may be disposed on either side of the memory system 1200 .

도 16은 본 발명의 실시 예에 따른 데이터 처리 시스템(2000)을 예시적으로 도시하는 도면이다. 도 16을 참조하면, 데이터 처리 시스템(2000)은 호스트 장치(2100)와 메모리 시스템(2200)을 포함할 수 있다.16 is a diagram exemplarily illustrating a data processing system 2000 according to an embodiment of the present invention. Referring to FIG. 16 , a data processing system 2000 may include a host device 2100 and a memory system 2200 .

호스트 장치(2100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 호스트 장치(2100)는 호스트 프로세서(2110)를 포함할 수 있다. 호스트 프로세서(2110)는 도1의 호스트 프로세서(110)에 대응할 수 있다.The host device 2100 may be configured in the form of a board such as a printed circuit board. The host device 2100 may include a host processor 2110 . The host processor 2110 may correspond to the host processor 110 of FIG. 1 .

메모리 시스템(2200)은 표면 실장형 패키지 형태로 구성될 수 있다. 메모리 시스템(2200)은 솔더 볼(solder ball)(2250)을 통해서 호스트 장치(2100)에 마운트될 수 있다. The memory system 2200 may be configured in the form of a surface-mounted package. The memory system 2200 may be mounted on the host device 2100 through a solder ball 2250 .

메모리 시스템(2200)은 프로세서(2210), 메모리 장치(2220) 및 메모리 컨트롤러(2230)를 포함할 수 있다. 프로세서(2210)는 도1의 프로세서(120)에 대응할 수 있다. 메모리 장치(2220)는 도1의 공유 메모리(130)에 대응할 수 있다. 메모리 컨트롤러(2230)는 도1의 메모리 컨트롤러(140)에 대응할 수 있다.The memory system 2200 may include a processor 2210 , a memory device 2220 and a memory controller 2230 . Processor 2210 may correspond to processor 120 of FIG. 1 . The memory device 2220 may correspond to the shared memory 130 of FIG. 1 . The memory controller 2230 may correspond to the memory controller 140 of FIG. 1 .

도 17은 본 발명의 실시 예에 따른 데이터 처리 시스템(3000)을 예시적으로 도시하는 도면이다. 도 17을 참조하면, 데이터 처리 시스템(3000)은 호스트 프로세서(3100), 메모리 시스템(3200), 인터포저(3300) 및 반도체 기판(3400)을 포함할 수 있다.17 is a diagram exemplarily illustrating a data processing system 3000 according to an embodiment of the present invention. Referring to FIG. 17 , a data processing system 3000 may include a host processor 3100 , a memory system 3200 , an interposer 3300 and a semiconductor substrate 3400 .

호스트 프로세서(3100)와 메모리 시스템(3200)은 인터포저(3300)의 일면에 배치될 수 있다.The host processor 3100 and the memory system 3200 may be disposed on one surface of the interposer 3300 .

인터포저(3300)는 호스트 프로세서(3100)와 메모리 시스템(3200)을 전기적으로 연결할 수 있다. 인터포저(3300)를 통해서, 호스트 프로세서(3100)와 메모리 시스템(3200) 간에 커맨드, 어드레스, 데이터 등과 같은 신호와, 전원이 전달될 수 있다. 인터포저(3300)는 반도체 기판(3400) 상에 장착될 수 있다.The interposer 3300 may electrically connect the host processor 3100 and the memory system 3200 . Signals such as commands, addresses, and data, and power may be transferred between the host processor 3100 and the memory system 3200 through the interposer 3300 . The interposer 3300 may be mounted on the semiconductor substrate 3400 .

호스트 프로세서(3100)는 도1의 호스트 프로세서(110)에 대응할 수 있다.The host processor 3100 may correspond to the host processor 110 of FIG. 1 .

메모리 시스템(3200)은 스택된 로직 반도체 장치(3210)와 메모리 장치(3220)를 포함할 수 있다. 로직 반도체 장치(3210)는 메모리 시스템(3200)의 동작을 제어할 수 있다. 로직 반도체 장치(3210)는 프로세서(3211)와 메모리 컨트롤러(3212)를 포함할 수 있다. 프로세서(3211)는 도1의 프로세서(120)에 대응할 수 있다. 메모리 컨트롤러(3212)는 도1의 메모리 컨트롤러(140)에 대응할 수 있다. The memory system 3200 may include a stacked logic semiconductor device 3210 and a memory device 3220 . The logic semiconductor device 3210 may control the operation of the memory system 3200 . The logic semiconductor device 3210 may include a processor 3211 and a memory controller 3212 . The processor 3211 may correspond to the processor 120 of FIG. 1 . The memory controller 3212 may correspond to the memory controller 140 of FIG. 1 .

메모리 장치(3220)는 도1의 공유 메모리(130)에 대응할 수 있다.The memory device 3220 may correspond to the shared memory 130 of FIG. 1 .

메모리 시스템(3200)은, 예를 들어, HBM(High Bandwidth Memory)를 포함할 수 있다.The memory system 3200 may include, for example, high bandwidth memory (HBM).

도 18은 본 발명의 실시 예에 따른 데이터 처리 시스템(4150)을 포함하는 네트워크 시스템(4000)을 예시적으로 도시하는 도면이다. 도 18을 참조하면, 네트워크 시스템(4000)은 네트워크(4500)를 통해서 연결된 서버 시스템(4100) 및 복수의 클라이언트 시스템들(4410~4430)을 포함할 수 있다.18 is a diagram exemplarily illustrating a network system 4000 including a data processing system 4150 according to an embodiment of the present invention. Referring to FIG. 18 , a network system 4000 may include a server system 4100 and a plurality of client systems 4410 to 4430 connected through a network 4500 .

서버 시스템(4100)은 복수의 클라이언트 시스템들(4410~4430)의 요청에 응답하여 데이터를 서비스할 수 있다. 예를 들면, 서버 시스템(4100)은 복수의 클라이언트 시스템들(4410~4430)로부터 제공된 데이터를 저장할 수 있다. 다른 예로서, 서버 시스템(4100)은 복수의 클라이언트 시스템들(4410~4430)로 데이터를 제공할 수 있다.The server system 4100 may provide data service in response to requests from the plurality of client systems 4410 to 4430 . For example, the server system 4100 may store data provided from a plurality of client systems 4410 to 4430 . As another example, the server system 4100 may provide data to a plurality of client systems 4410 to 4430.

서버 시스템(4100)은 데이터 처리 시스템(4150)을 포함할 수 있다. 데이터 처리 시스템(4150)은 도 1의 데이터 처리 시스템(100), 도 15의 데이터 처리 시스템(1000), 도 16의 데이터 처리 시스템(2000), 및 도17의 데이터 처리 시스템(3000)으로 구성될 수 있다.Server system 4100 may include data processing system 4150 . The data processing system 4150 includes the data processing system 100 of FIG. 1 , the data processing system 1000 of FIG. 15 , the data processing system 2000 of FIG. 16 , and the data processing system 3000 of FIG. 17 . can

본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Since the person skilled in the art to which the present invention pertains may be embodied in other specific forms without changing the technical spirit or essential characteristics of the present invention, the embodiments described above are illustrative in all respects and not limiting. must be understood as The scope of the present invention is indicated by the claims to be described later rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

100: 데이터 처리 시스템
110: 호스트 프로세서
120: 프로세서
130: 공유 메모리
140: 메모리 컨트롤러
145: 메일 박스
100: data processing system
110: host processor
120: processor
130: shared memory
140: memory controller
145 Mail box

Claims (31)

공유 메모리;
상기 공유 메모리에 대한 오너쉽을 소유하고 상기 공유 메모리를 액세스함으로써 제1 작업을 처리하도록 구성된 호스트 프로세서;
상기 호스트 프로세서로부터 상기 오너쉽을 이전받아 소유하고 상기 공유 메모리를 액세스함으로써 제2 작업을 처리하도록 구성된 프로세서; 및
상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되,
상기 메모리 컨트롤러는 메일 박스를 포함하고,
상기 호스트 프로세서는 상기 메일 박스를 액세스함으로써 상기 오너쉽을 이전 또는 회수하고,
상기 메모리 컨트롤러는,
상기 호스트 프로세서의 상기 메일 박스로의 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서 또는 상기 프로세서에게 귀속시키도록 구성된 제어부; 및
상기 제어부의 제어에 따라 상기 호스트 프로세서, 상기 공유 메모리 및 상기 제어부 사이에서 패스를 형성하도록 구성된 인터페이스부를 포함하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제1 액세스에 응답하여 상기 오너쉽을 상기 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 공유 메모리와 상기 제어부 사이에 제1 데이터 패스 및 제1 커맨드 패스를 형성하고 상기 호스트 프로세서와 상기 제어부 사이에 제2 데이터 패스를 형성하도록 제어하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제2 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 호스트 프로세서와 상기 공유 메모리 사이에 제3 데이터 패스 및 제2 커맨드 패스를 형성하도록 제어하는 데이터 처리 시스템.
shared memory;
a host processor configured to take ownership of the shared memory and process a first task by accessing the shared memory;
a processor configured to receive and possess the ownership from the host processor and process a second task by accessing the shared memory; and
A memory controller connected between the host processor, the processor and the shared memory and configured to allow access of the host processor or the processor to the shared memory according to the ownership;
The memory controller includes a mailbox,
the host processor transfers or reclaims the ownership by accessing the mailbox;
The memory controller,
a controller configured to attribute the ownership to the host processor or to the processor in response to the host processor's access to the mailbox; and
An interface unit configured to form a path between the host processor, the shared memory, and the control unit under the control of the control unit;
The control unit forms a first data path and a first command path between the shared memory and the control unit so that the ownership is attributed to the processor in response to the host processor's first access to the mailbox. and control to form a second data path between the host processor and the controller,
The control unit transfers the ownership to the host processor in response to the host processor's second access to the mailbox, so that the interface unit connects a third data path and a second command path between the host processor and the shared memory. A data processing system that controls to form.
삭제delete ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 3 was abandoned when the registration fee was paid.◈ 제1항에 있어서,
상기 프로세서는 상기 제어부와 연결되고, 상기 오너쉽을 소유할 때 상기 제어부를 통해 상기 공유 메모리를 액세스하는 데이터 처리 시스템.
According to claim 1,
The processor is connected to the control unit, and accesses the shared memory through the control unit when the ownership is owned.
삭제delete ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 5 was abandoned when the registration fee was paid.◈ 제1항에 있어서,
상기 제어부는 상기 제1 액세스에 응답하여 상기 제2 데이터 패스를 통해 이전 확인 데이터를 상기 호스트 프로세서로 전송하는 데이터 처리 시스템.
According to claim 1,
wherein the control unit transmits previous confirmation data to the host processor through the second data path in response to the first access.
삭제delete ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 7 was abandoned when the registration fee was paid.◈ 제1항에 있어서
상기 제어부는 상기 제2 액세스에 응답하여 상기 제2 데이터 패스를 통해 회수 확인 데이터를 상기 호스트 프로세서로 전송한 뒤 상기 오너쉽을 상기 호스트 프로세서에게 귀속시키는 데이터 처리 시스템.
According to claim 1
wherein the control unit transmits recovery confirmation data to the host processor through the second data path in response to the second access and then attributes the ownership to the host processor.
공유 메모리;
상기 공유 메모리에 대한 오너쉽을 소유하고 상기 공유 메모리를 액세스함으로써 제1 작업을 처리하도록 구성된 호스트 프로세서;
상기 호스트 프로세서로부터 상기 오너쉽을 이전받아 소유하고 상기 공유 메모리를 액세스함으로써 제2 작업을 처리하도록 구성된 프로세서; 및
상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되,
상기 메모리 컨트롤러는 메일 박스를 포함하고,
상기 호스트 프로세서는 상기 메일 박스를 액세스함으로써 상기 오너쉽을 이전 또는 회수하고,
상기 메모리 컨트롤러는,
상기 호스트 프로세서의 상기 메일 박스로의 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서 또는 상기 프로세서에게 귀속시키도록 구성된 제어부; 및
상기 제어부의 제어에 따라 상기 호스트 프로세서, 상기 공유 메모리 및 상기 제어부 사이에서 패스를 형성하도록 구성된 인터페이스부를 포함하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제1 액세스에 응답하여 상기 오너쉽을 상기 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 공유 메모리와 상기 제어부 사이에 제1 데이터 패스 및 제1 커맨드 패스를 형성하고 상기 호스트 프로세서와 상기 제어부 사이에 제2 데이터 패스를 형성하도록 제어하고,
상기 호스트 프로세서는 상기 오너쉽을 상기 프로세서에게 이전한 뒤, 상기 제2 작업에 대한 작업 정보를 상기 제2 데이터 패스를 통해 상기 제어부로 전송하고,
상기 제어부는 상기 호스트 프로세서의 제어에 따라 상기 작업 정보를 상기 메일 박스에 저장하는 데이터 처리 시스템.
shared memory;
a host processor configured to take ownership of the shared memory and process a first task by accessing the shared memory;
a processor configured to receive and possess the ownership from the host processor and process a second task by accessing the shared memory; and
A memory controller connected between the host processor, the processor and the shared memory and configured to allow access of the host processor or the processor to the shared memory according to the ownership;
The memory controller includes a mailbox,
the host processor transfers or reclaims the ownership by accessing the mailbox;
The memory controller,
a controller configured to attribute the ownership to the host processor or to the processor in response to the host processor's access to the mailbox; and
An interface unit configured to form a path between the host processor, the shared memory, and the control unit under the control of the control unit;
The control unit forms a first data path and a first command path between the shared memory and the control unit so that the ownership is attributed to the processor in response to the host processor's first access to the mailbox. and control to form a second data path between the host processor and the controller,
After the host processor transfers the ownership to the processor, the host processor transmits job information on the second job to the control unit through the second data path;
The control unit stores the job information in the mail box under the control of the host processor.
◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 9 was abandoned when the registration fee was paid.◈ 제8항에 있어서,
상기 프로세서는 상기 메일 박스로부터 상기 작업 정보를 리드하여 확인하고 상기 제2 작업을 처리하는 데이터 처리 시스템.
According to claim 8,
The processor reads and confirms the job information from the mailbox and processes the second job.
공유 메모리;
상기 공유 메모리에 대한 오너쉽을 소유하고 상기 공유 메모리를 액세스함으로써 제1 작업을 처리하도록 구성된 호스트 프로세서;
상기 호스트 프로세서로부터 상기 오너쉽을 이전받아 소유하고 상기 공유 메모리를 액세스함으로써 제2 작업을 처리하도록 구성된 프로세서; 및
상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되,
상기 메모리 컨트롤러는 메일 박스를 포함하고,
상기 호스트 프로세서는 상기 메일 박스를 액세스함으로써 상기 오너쉽을 이전 또는 회수하고,
상기 메모리 컨트롤러는,
상기 호스트 프로세서의 상기 메일 박스로의 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서 또는 상기 프로세서에게 귀속시키도록 구성된 제어부; 및
상기 제어부의 제어에 따라 상기 호스트 프로세서, 상기 공유 메모리 및 상기 제어부 사이에서 패스를 형성하도록 구성된 인터페이스부를 포함하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제1 액세스에 응답하여 상기 오너쉽을 상기 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 공유 메모리와 상기 제어부 사이에 제1 데이터 패스 및 제1 커맨드 패스를 형성하고 상기 호스트 프로세서와 상기 제어부 사이에 제2 데이터 패스를 형성하도록 제어하고,
상기 프로세서는 상기 메일 박스에 상기 제2 작업의 작업 결과 데이터를 저장하고,
상기 호스트 프로세서는 상기 제2 데이터 패스를 통해 상기 메일 박스로부터 상기 작업 결과 데이터를 리드하는 데이터 처리 시스템.
shared memory;
a host processor configured to take ownership of the shared memory and process a first task by accessing the shared memory;
a processor configured to receive and possess the ownership from the host processor and process a second task by accessing the shared memory; and
A memory controller connected between the host processor, the processor and the shared memory and configured to allow access of the host processor or the processor to the shared memory according to the ownership;
The memory controller includes a mailbox,
the host processor transfers or reclaims the ownership by accessing the mailbox;
The memory controller,
a controller configured to attribute the ownership to the host processor or to the processor in response to the host processor's access to the mailbox; and
An interface unit configured to form a path between the host processor, the shared memory, and the control unit under the control of the control unit;
The control unit forms a first data path and a first command path between the shared memory and the control unit so that the ownership is attributed to the processor in response to the host processor's first access to the mailbox. and control to form a second data path between the host processor and the controller,
The processor stores job result data of the second job in the mailbox,
wherein the host processor reads the job result data from the mailbox through the second data path.
◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 11 was abandoned when the registration fee was paid.◈ 제1항에 있어서
상기 호스트 프로세서는 상기 인터페이스부 및 상기 제어부와 호스트 커맨드 패스를 통해 동시에 연결되고, 상기 호스트 커맨드 패스로 상기 공유 메모리 또는 상기 메일 박스에 대한 액세스 커맨드를 전송하는 데이터 처리 시스템.
According to claim 1
The host processor is simultaneously connected to the interface unit and the control unit through a host command path, and transmits an access command to the shared memory or the mailbox through the host command path.
◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 12 was abandoned when the registration fee was paid.◈ 제11항에 있어서,
상기 호스트 프로세서는 상기 공유 메모리에 할당한 제2 어드레스 범위와 겹치지 않는 제1 어드레스 범위를 상기 메일 박스에 할당하고,
상기 제어부는 상기 호스트 프로세서로부터 전송된 상기 액세스 커맨드의 어드레스를 상기 제1 어드레스 범위 및 상기 제2 어드레스 범위와 비교하여 상기 액세스 커맨드를 처리하는 데이터 처리 시스템.
According to claim 11,
the host processor allocates a first address range that does not overlap with the second address range allocated to the shared memory to the mailbox;
wherein the control unit compares an address of the access command transmitted from the host processor with the first address range and the second address range to process the access command.
◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 13 was abandoned when the registration fee was paid.◈ 제1항에 있어서,
상기 메일 박스는 오너쉽 이전 영역을 포함하고,
상기 호스트 프로세서는 상기 오너쉽을 상기 프로세서에게 이전하기 위해 상기 오너쉽 이전 영역에 대한 리드 커맨드를 상기 메모리 컨트롤러로 전송하는 데이터 처리 시스템.
According to claim 1,
The mailbox includes an area before ownership,
wherein the host processor transmits a read command for a region to which ownership is transferred to the memory controller in order to transfer the ownership to the processor.
◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 14 was abandoned when the registration fee was paid.◈ 제13항에 있어서
상기 메일 박스는 오너쉽 회수 영역을 더 포함하고,
상기 호스트 프로세서는 상기 오너쉽을 상기 프로세서로부터 회수하기 위해 상기 오너쉽 회수 영역에 대한 리드 커맨드를 상기 메모리 컨트롤러로 전송하는 데이터 처리 시스템.
According to claim 13
The mailbox further includes an ownership recovery area;
wherein the host processor transmits a read command for the ownership recovery area to the memory controller in order to recover the ownership from the processor.
◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 15 was abandoned when the registration fee was paid.◈ 제1항에 있어서,
상기 메모리 컨트롤러는 상기 메일 박스에 상기 프로세서의 상태 정보를 저장하고,
상기 호스트 프로세서는, 상기 오너쉽을 상기 프로세서에게 이전한 뒤 상기 메일 박스로부터 상기 상태 정보를 리드하여 상기 프로세서가 상기 제2 작업을 종료했는지 여부를 판단하고, 판단 결과에 따라 상기 오너쉽을 상기 프로세서로부터 회수하는 데이터 처리 시스템.
According to claim 1,
The memory controller stores state information of the processor in the mailbox,
The host processor, after transferring the ownership to the processor, reads the status information from the mailbox to determine whether the processor has finished the second task, and retrieves the ownership from the processor according to the determination result. data processing system.
◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 16 was abandoned when the registration fee was paid.◈ 제15항에 있어서,
상기 호스트 프로세서는 상기 오너쉽을 회수한 뒤, 상기 메모리 컨트롤러를 통해 상기 공유 메모리로부터 상기 제2 작업의 작업 결과 데이터를 리드하는 데이터 처리 시스템.
According to claim 15,
After the host processor retrieves the ownership, the data processing system reads job result data of the second job from the shared memory through the memory controller.
공유 메모리;
호스트 프로세서로부터 오너쉽을 이전받아 상기 공유 메모리를 액세스함으로써 작업을 처리하도록 구성된 프로세서; 및
상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되,
상기 메모리 컨트롤러는 상기 호스트 프로세서가 상기 오너쉽을 상기 프로세서에게 이전하기 위해 액세스하는 메일 박스를 포함하고,
상기 메모리 컨트롤러는,
상기 호스트 프로세서의 상기 메일 박스로의 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서 또는 상기 프로세서에게 귀속시키도록 구성된 제어부; 및
상기 제어부의 제어에 따라 상기 호스트 프로세서, 상기 공유 메모리 및 상기 제어부 사이에서 패스를 형성하도록 구성된 인터페이스부를 포함하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제1 액세스에 응답하여 상기 오너쉽을 상기 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 공유 메모리와 상기 제어부 사이에 제1 데이터 패스 및 제1 커맨드 패스를 형성하고 상기 호스트 프로세서와 상기 제어부 사이에 제2 데이터 패스를 형성하도록 제어하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제2 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 호스트 프로세서와 상기 공유 메모리 사이에 제3 데이터 패스 및 제2 커맨드 패스를 형성하도록 제어하는 데이터 처리 시스템
shared memory;
a processor configured to receive ownership from a host processor and process a task by accessing the shared memory; and
A memory controller connected between the host processor, the processor and the shared memory and configured to allow access of the host processor or the processor to the shared memory according to the ownership;
the memory controller includes a mailbox accessed by the host processor to transfer the ownership to the processor;
The memory controller,
a controller configured to attribute the ownership to the host processor or to the processor in response to the host processor's access to the mailbox; and
An interface unit configured to form a path between the host processor, the shared memory, and the control unit under the control of the control unit;
The control unit forms a first data path and a first command path between the shared memory and the control unit so that the ownership is attributed to the processor in response to the host processor's first access to the mailbox. and control to form a second data path between the host processor and the controller,
The control unit transfers the ownership to the host processor in response to the host processor's second access to the mailbox, so that the interface unit connects a third data path and a second command path between the host processor and the shared memory. A data processing system that controls to form
삭제delete ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 19 was abandoned when the registration fee was paid.◈ 제17항에 있어서,
상기 프로세서는 상기 제어부와 연결되고, 상기 오너쉽을 소유할 때 상기 제어부를 통해 상기 공유 메모리를 액세스하는 데이터 처리 시스템.
According to claim 17,
The processor is connected to the control unit, and accesses the shared memory through the control unit when the ownership is owned.
삭제delete ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 21 was abandoned when the registration fee was paid.◈ 제17항에 있어서,
상기 제어부는 상기 제1 액세스에 응답하여 상기 제2 데이터 패스를 통해 이전 확인 데이터를 상기 호스트 프로세서로 전송하는 데이터 처리 시스템.
According to claim 17,
wherein the control unit transmits previous confirmation data to the host processor through the second data path in response to the first access.
삭제delete ◈청구항 23은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 23 was abandoned when the registration fee was paid.◈ 제17항에 있어서
상기 제어부는 상기 제2 액세스에 응답하여 상기 제2 데이터 패스를 통해 회수 확인 데이터를 상기 호스트 프로세서로 전송한 뒤 상기 오너쉽을 상기 호스트 프로세서에게 귀속시키는 데이터 처리 시스템.
According to claim 17
wherein the control unit transmits recovery confirmation data to the host processor through the second data path in response to the second access and then attributes the ownership to the host processor.
공유 메모리;
호스트 프로세서로부터 오너쉽을 이전받아 상기 공유 메모리를 액세스함으로써 작업을 처리하도록 구성된 프로세서; 및
상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되,
상기 메모리 컨트롤러는 상기 호스트 프로세서가 상기 오너쉽을 상기 프로세서에게 이전하기 위해 액세스하는 메일 박스를 포함하고,
상기 메모리 컨트롤러는,
상기 호스트 프로세서의 상기 메일 박스로의 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서 또는 상기 프로세서에게 귀속시키도록 구성된 제어부; 및
상기 제어부의 제어에 따라 상기 호스트 프로세서, 상기 공유 메모리 및 상기 제어부 사이에서 패스를 형성하도록 구성된 인터페이스부를 포함하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제1 액세스에 응답하여 상기 오너쉽을 상기 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 공유 메모리와 상기 제어부 사이에 제1 데이터 패스 및 제1 커맨드 패스를 형성하고 상기 호스트 프로세서와 상기 제어부 사이에 제2 데이터 패스를 형성하도록 제어하고,
상기 제어부는 상기 오너쉽이 상기 프로세서에게 이전된 뒤, 상기 호스트 프로세서로부터 상기 제2 데이터 패스를 통해 전송된 상기 작업에 대한 작업 정보를 상기 메일 박스에 저장하는 데이터 처리 시스템.
shared memory;
a processor configured to receive ownership from a host processor and process a task by accessing the shared memory; and
A memory controller connected between the host processor, the processor and the shared memory and configured to allow access of the host processor or the processor to the shared memory according to the ownership;
the memory controller includes a mailbox accessed by the host processor to transfer the ownership to the processor;
The memory controller,
a controller configured to attribute the ownership to the host processor or to the processor in response to the host processor's access to the mailbox; and
An interface unit configured to form a path between the host processor, the shared memory, and the control unit under the control of the control unit;
The control unit forms a first data path and a first command path between the shared memory and the control unit so that the ownership is attributed to the processor in response to the host processor's first access to the mailbox. and control to form a second data path between the host processor and the controller,
wherein the control unit stores job information about the job transmitted from the host processor through the second data path in the mailbox after the ownership is transferred to the processor.
◈청구항 25은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 25 was abandoned when the registration fee was paid.◈ 제24항에 있어서,
상기 프로세서는 상기 메일 박스로부터 상기 작업 정보를 리드하여 확인하고 상기 작업을 처리하는 데이터 처리 시스템.
According to claim 24,
The processor reads and confirms the job information from the mailbox and processes the job.
공유 메모리;
호스트 프로세서로부터 오너쉽을 이전받아 상기 공유 메모리를 액세스함으로써 작업을 처리하도록 구성된 프로세서; 및
상기 호스트 프로세서, 상기 프로세서 및 상기 공유 메모리 사이에 연결되고, 상기 오너쉽에 따라 상기 호스트 프로세서 또는 상기 프로세서의 상기 공유 메모리로의 액세스를 허용하도록 구성된 메모리 컨트롤러를 포함하되,
상기 메모리 컨트롤러는 상기 호스트 프로세서가 상기 오너쉽을 상기 프로세서에게 이전하기 위해 액세스하는 메일 박스를 포함하고,
상기 메모리 컨트롤러는,
상기 호스트 프로세서의 상기 메일 박스로의 액세스에 응답하여 상기 오너쉽을 상기 호스트 프로세서 또는 상기 프로세서에게 귀속시키도록 구성된 제어부; 및
상기 제어부의 제어에 따라 상기 호스트 프로세서, 상기 공유 메모리 및 상기 제어부 사이에서 패스를 형성하도록 구성된 인터페이스부를 포함하고,
상기 제어부는 상기 호스트 프로세서의 상기 메일 박스로의 제1 액세스에 응답하여 상기 오너쉽을 상기 프로세서에게 귀속시키기 위해, 상기 인터페이스부가 상기 공유 메모리와 상기 제어부 사이에 제1 데이터 패스 및 제1 커맨드 패스를 형성하고 상기 호스트 프로세서와 상기 제어부 사이에 제2 데이터 패스를 형성하도록 제어하고,
상기 프로세서는 상기 호스트 프로세서가 상기 제2 데이터 패스를 통해 상기 작업의 작업 결과 데이터를 리드하도록, 상기 메일 박스에 상기 작업의 상기 작업 결과 데이터를 저장하는 데이터 처리 시스템.
shared memory;
a processor configured to receive ownership from a host processor and process a task by accessing the shared memory; and
A memory controller connected between the host processor, the processor and the shared memory and configured to allow access of the host processor or the processor to the shared memory according to the ownership;
the memory controller includes a mailbox accessed by the host processor to transfer the ownership to the processor;
The memory controller,
a controller configured to attribute the ownership to the host processor or to the processor in response to the host processor's access to the mailbox; and
An interface unit configured to form a path between the host processor, the shared memory, and the control unit under the control of the control unit;
The control unit forms a first data path and a first command path between the shared memory and the control unit so that the ownership is attributed to the processor in response to the host processor's first access to the mailbox. and control to form a second data path between the host processor and the controller,
wherein the processor stores the job result data of the job in the mailbox so that the host processor reads the job result data of the job through the second data path.
◈청구항 27은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 27 was abandoned when the registration fee was paid.◈ 제17항에 있어서
상기 인터페이스부와 상기 제어부는 상기 호스트 프로세서와 호스트 커맨드 패스를 통해 동시에 연결되고, 상기 호스트 커맨드 패스로 상기 공유 메모리 또는 상기 메일 박스에 대한 액세스 커맨드를 수신하는 데이터 처리 시스템.
According to claim 17
wherein the interface unit and the control unit are simultaneously connected to the host processor through a host command path, and receive an access command to the shared memory or the mailbox through the host command path.
◈청구항 28은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 28 was abandoned when the registration fee was paid.◈ 제27항에 있어서,
상기 메일 박스는 상기 공유 메모리에 할당한 제2 어드레스 범위와 겹치지 않는 제1 어드레스 범위를 상기 호스트 프로세서로부터 할당받고,
상기 제어부는 상기 호스트 프로세서로부터 전송된 상기 액세스 커맨드의 어드레스를 상기 제1 어드레스 범위 및 상기 제2 어드레스 범위와 비교하여 상기 액세스 커맨드를 처리하는 데이터 처리 시스템.
The method of claim 27,
The mailbox is assigned a first address range that does not overlap with a second address range allocated to the shared memory from the host processor;
wherein the control unit compares an address of the access command transmitted from the host processor with the first address range and the second address range to process the access command.
◈청구항 29은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 29 was abandoned when the registration fee was paid.◈ 제17항에 있어서,
상기 메일 박스는 오너쉽 이전 영역을 포함하고,
상기 메모리 컨트롤러는 상기 호스트 프로세서로부터 상기 오너쉽 이전 영역에 대한 리드 커맨드를 수신할 때, 상기 오너쉽을 상기 프로세서에게 귀속시키는 데이터 처리 시스템.
According to claim 17,
The mailbox includes an area before ownership,
When the memory controller receives a read command for the region before ownership from the host processor, assigns the ownership to the processor.
◈청구항 30은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 30 was abandoned when the setup registration fee was paid.◈ 제29항에 있어서
상기 메일 박스는 오너쉽 회수 영역을 더 포함하고,
상기 메모리 컨트롤러는 상기 호스트 프로세서로부터 상기 오너쉽 회수 영역에 대한 리드 커맨드를 수신할 때, 상기 오너쉽을 상기 호스트 프로세서에게 귀속시키는 데이터 처리 시스템.
According to claim 29
The mailbox further includes an ownership recovery area;
The memory controller, when receiving a read command for the ownership recovery area from the host processor, assigns the ownership to the host processor.
◈청구항 31은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 31 was abandoned when the registration fee was paid.◈ 제17항에 있어서,
상기 메모리 컨트롤러는 상기 호스트 프로세서가 리드할 수 있도록 상기 메일 박스에 상기 프로세서의 상태 정보를 저장하는 데이터 처리 시스템.
According to claim 17,
The memory controller stores state information of the processor in the mailbox so that the host processor can read.
KR1020180032111A 2018-02-28 2018-03-20 Memory system and data processing system including the same KR102545226B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180032111A KR102545226B1 (en) 2018-03-20 2018-03-20 Memory system and data processing system including the same
US16/210,418 US11169953B2 (en) 2018-02-28 2018-12-05 Data processing system accessing shared memory by using mailbox
CN202310066589.4A CN115994105A (en) 2018-02-28 2018-12-11 Storage system and data processing system comprising a storage system
CN201811509646.7A CN110209608B (en) 2018-02-28 2018-12-11 Storage system and data processing system including the same
US17/510,921 US20220058157A1 (en) 2018-02-28 2021-10-26 Memory system and data processing system including the memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180032111A KR102545226B1 (en) 2018-03-20 2018-03-20 Memory system and data processing system including the same

Publications (2)

Publication Number Publication Date
KR20190110306A KR20190110306A (en) 2019-09-30
KR102545226B1 true KR102545226B1 (en) 2023-06-20

Family

ID=68098629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180032111A KR102545226B1 (en) 2018-02-28 2018-03-20 Memory system and data processing system including the same

Country Status (1)

Country Link
KR (1) KR102545226B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313440A1 (en) * 2008-06-11 2009-12-17 Young Lak Kim Shared memory burst communications

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100855587B1 (en) * 2007-01-17 2008-09-01 삼성전자주식회사 Multi-path accessible semiconductor memory device having mail box regions and method for mail box access control therefore

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313440A1 (en) * 2008-06-11 2009-12-17 Young Lak Kim Shared memory burst communications

Also Published As

Publication number Publication date
KR20190110306A (en) 2019-09-30

Similar Documents

Publication Publication Date Title
US10394723B2 (en) Data accessing method and PCIe storage device
KR102500802B1 (en) Flash-integrated high bandwidth memory appliance
US7500059B2 (en) Inter-processor communication method using a shared cache memory in a storage system
US20100138612A1 (en) System and method for implementing cache sharing
US11194743B2 (en) Method of accessing a dual line SSD device through PCIe EP and network interface simultaneously
KR102655094B1 (en) Storage device including heterogeneous processors which shares memory and method of operating the same
CN111352873B (en) NVMe protocol command processing method and device
US20180107388A1 (en) Transfer of object memory references in a data storage device
US11068283B2 (en) Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same
CN112540941A (en) Data forwarding chip and server
US20220058157A1 (en) Memory system and data processing system including the memory system
CN115080479A (en) Transmission method, server, equipment, bare metal example and substrate management controller
CN106155910B (en) Method, device and system for realizing memory access
KR102545226B1 (en) Memory system and data processing system including the same
EP1536342A2 (en) Peripheral controller with shared EEPROM, containing executable code and configuration data
KR20000016944A (en) Increasing i/o performance through storage of packetized operational information in local memory
KR102533147B1 (en) Data processing system and operating method thereof
WO2005114437A1 (en) Integrated circuit having processor and switch capabilities
CN111338998B (en) FLASH access processing method and device based on AMP system
US20050256990A1 (en) Integrated circuit having processor and bridging capabilities
CN106325377A (en) External device expansion card and input/output external device data processing method
JP4983133B2 (en) INPUT / OUTPUT CONTROL DEVICE, ITS CONTROL METHOD, AND PROGRAM
US6978455B1 (en) Teller/scanner system and method
JP3110024B2 (en) Memory control system
KR102545228B1 (en) Computing system and data processing system including the same

Legal Events

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