KR102280241B1 - System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same - Google Patents

System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same Download PDF

Info

Publication number
KR102280241B1
KR102280241B1 KR1020190079853A KR20190079853A KR102280241B1 KR 102280241 B1 KR102280241 B1 KR 102280241B1 KR 1020190079853 A KR1020190079853 A KR 1020190079853A KR 20190079853 A KR20190079853 A KR 20190079853A KR 102280241 B1 KR102280241 B1 KR 102280241B1
Authority
KR
South Korea
Prior art keywords
address
target
area indicated
control
unit
Prior art date
Application number
KR1020190079853A
Other languages
Korean (ko)
Other versions
KR20210004047A (en
KR102280241B9 (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 KR1020190079853A priority Critical patent/KR102280241B1/en
Publication of KR20210004047A publication Critical patent/KR20210004047A/en
Application granted granted Critical
Publication of KR102280241B1 publication Critical patent/KR102280241B1/en
Publication of KR102280241B9 publication Critical patent/KR102280241B9/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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Abstract

일 실시예에 따른 메모리 액세스 제어 장치는 제어부를 포함하고, 상기 제어부는 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 수신받아서, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하고, 소정의 포인터 정보를 수신받아서, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하고, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 제2 제어를 수행한다An apparatus for controlling memory access according to an embodiment includes a control unit, wherein the control unit receives a first source address among source addresses in a host memory unit and a first target address among target addresses in a target memory unit, The first control is performed for moving data stored in the area indicated by the source address to the area indicated by the first target address, receiving predetermined pointer information, and receiving a second source address among the source addresses from the area indicated by the pointer information and obtaining a second target address among the target addresses, and performing a second control of moving data stored in the area indicated by the second source address to the area indicated by the second target address.

Description

메모리 액세스 제어 시스템, 메모리 액세스 제어 장치 및 이를 이용한 메모리 액세스 제어 방법 {SYSTEM FOR CONTROLLING MEMORY-ACCESS, APPARATUS FOR CONTROLLING MEMORY-ACCESS AND METHOD FOR CONTROLLING MEMORY-ACCESS USING THE SAME}MEMORY ACCESS CONTROL SYSTEM, MEMORY ACCESS CONTROL DEVICE AND MEMORY ACCESS CONTROL METHOD USING THE SAME

본 발명은 메모리 액세스 제어 시스템, 메모리 액세스 제어 장치 및 이를 이용한 메모리 액세스 제어 방법에 관한 것이다.The present invention relates to a memory access control system, a memory access control apparatus, and a memory access control method using the same.

직접 메모리 액세스(direct memory-access, DMA)는 특정 하드웨어 하위 시스템이 중앙 처리 장치(Host)와 독립적으로 주 시스템 메모리 (RAM/DRAM)에 액세스 할 수 있게 해주는 컴퓨터 시스템의 기능이다. DMA가 없으면 프로그램된 입력/출력을 할 때 Host가 직접 읽기 또는 쓰기 작업을 하게 되어 Workload의 대부분을 점유함에 따라 다른 작업을 병렬적으로 수행할 수 없다. DMA를 사용하면 Host는 DMA를 사용하여 전송을 시작한 다음 전송이 진행되는 동안 다른 작업을 수행하고, 마지막으로 작업이 완료되어 DMA 컨트롤러에서 인터럽트를 Host에 전송하는 정보만 관리하면 된다. 이 기능은 Host가 데이터 전송 속도를 따라갈 수 없거나 Host가 비교적 느린 I/O 데이터 전송을 기다리는 동안 다른 작업을 수행해야 할 때 유용하다. 많은 하드웨어 시스템은 디스크 드라이브 컨트롤러, 그래픽 카드, 네트워크 카드 및 사운드 카드를 포함한 DMA를 사용한다. 최근 이슈가 되고 있는 AI accelerator의 경우도 마찬가지이다. DMA는 멀티 코어 프로세서에서 칩 내부 데이터 전송에도 사용된다. DMA가 있는 컴퓨터는 DMA가 없는 컴퓨터보다 훨씬 적은 Host 오버 헤드로 장치 간에 데이터를 전송할 수 있게 된다. 마찬가지로 멀티 코어 프로세서 내부의 처리 요소는 프로세서 시간을 차지하지 않고 로컬 메모리와 데이터를 주고받을 수 있으므로 계산 및 데이터 전송을 병렬로 진행할 수 있게 된다.Direct memory-access (DMA) is a feature of computer systems that allows certain hardware subsystems to access main system memory (RAM/DRAM) independently of the central processing unit (Host). Without DMA, the host directly reads or writes when performing programmed input/output, and as it occupies most of the workload, other tasks cannot be performed in parallel. With DMA, the host only needs to manage the information that uses DMA to initiate a transfer, then perform other tasks while the transfer is in progress, and finally the DMA controller sends an interrupt to the host when the task is complete. This feature is useful when the host cannot keep up with the data transfer rate, or when the host needs to do something else while waiting for a relatively slow I/O data transfer. Many hardware systems use DMA, including disk drive controllers, graphics cards, network cards, and sound cards. The same is true of the AI accelerator, which has been a hot topic recently. DMA is also used for intra-chip data transfer in multi-core processors. A computer with DMA will be able to transfer data between devices with much less host overhead than a computer without DMA. Similarly, processing elements inside a multi-core processor can send and receive data to and from local memory without occupying processor time, allowing calculation and data transfer to proceed in parallel.

한국공개특허공보, 10-2018-0117377호 (2018.10.29.공개)Korean Patent Publication No. 10-2018-0117377 (published on October 29, 2018)

본 발명의 해결하고자 하는 과제는 전술한 DMA를 개선시키는 것을 포함할 수 있다. 예컨대 DMA에는 직접적 어드레스 접근 방식과 간접적 어드레스 접근 방식이 있고, 이 중 간접적 어드레스 방식에서는 소정의 어드레스에 대한 정보를 확보하는 시간이 deterministic하지 않다는 문제점이 있는데, 본 발명의 해결하고자 하는 과제는 이러한 문제점을 개선 내지 해결하는 것을 포함할 수 있다.The problem to be solved by the present invention may include improving the above-described DMA. For example, in DMA, there are a direct address access method and an indirect address access method. Among them, the indirect address method has a problem that the time to secure information about a predetermined address is not deterministic. The problem to be solved by the present invention is to solve this problem. It may include improving or resolving.

다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급된 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the problems to be solved of the present invention are not limited to those mentioned above, and other problems to be solved that are not mentioned can be clearly understood by those of ordinary skill in the art to which the present invention belongs from the description below. will be.

일 실시예에 따른 메모리 액세스 제어 장치는 제어부를 포함하며, 상기 제어부는 상기 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 상기 연산부로부터 수신받아서, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하고, 소정의 포인터 정보를 상기 호스트 메모리부로부터 수신받아서, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하고, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 제2 제어를 수행한다.The apparatus for controlling memory access according to an embodiment includes a control unit, wherein the control unit receives a first source address among the source addresses in the host memory unit and a first target address among target addresses in the target memory unit by receiving from the operation unit, , performs a first control of moving data stored in the area indicated by the first source address to the area indicated by the first target address, receives predetermined pointer information from the host memory unit, and receives the pointer information in the area indicated by the pointer information obtains a second source address from among the source addresses and a second target address from among the target addresses, and performs a second control of moving data stored in the area indicated by the second source address to the area indicated by the second target address do.

일 실시예에 따른 메모리 액세스 제어 방법은 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 수신받는 단계와, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하는 단계와, 소정의 포인터 정보를 수신받는 단계와, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하는 단계와, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 단계를 포함한다.A memory access control method according to an embodiment includes receiving a first source address among source addresses in a host memory unit and a first target address among target addresses in a target memory unit in a region indicated by the first source address. performing a first control of moving stored data to an area indicated by the first target address; receiving predetermined pointer information; and a second source address of the source addresses and the second source address from the area indicated by the pointer information obtaining a second target address among target addresses; and moving data stored in the area indicated by the second source address to the area indicated by the second target address.

일 실시예에 따른 메모리 액세스 제어 시스템은 연산부와, 호스트 메모리부와, 상기 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 상기 연산부로부터 수신받아서, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하고, 소정의 포인터 정보를 상기 호스트 메모리부로부터 수신받아서, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하고, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 제2 제어를 수행하는 제어부를 포함한다.A memory access control system according to an embodiment includes a calculator, a host memory unit, a first source address among source addresses in the host memory unit, and a first target address among target addresses in the target memory unit by receiving from the operation unit, , performs a first control of moving data stored in the area indicated by the first source address to the area indicated by the first target address, receives predetermined pointer information from the host memory unit, and receives the pointer information in the area indicated by the pointer information obtains a second source address from among the source addresses and a second target address from among the target addresses, and performs a second control of moving data stored in the area indicated by the second source address to the area indicated by the second target address It includes a control unit that

일 실시예에 따르면 초반에는 연산부로부터 수신받은 분산/수집 정보에 기초해서 직접적 어드레스 방식에 따라 DMA가 수행되고, 그 이후부터는 호스트 메모리부로부터 획득된 포인터 정보에 기초해서 주소를 획득한 뒤 이에 기초해서 간접적 어드레스 방식에 따라 DMA가 수행된다. 즉, 초반에는 연산부로부터 수신받은 어드레스를 즉시 이용해서 데이터의 이동이 수행될 수 있게 되며, 따라서 간접적 어드레스 방식에서 어드레스의 획득(fetching)에 소요되는 시간만큼이 일 실시예에서는 소요되지 않게 되므로, 그만큼 메모리 접근 제어 시스템의 성능이 향상될 수 있다.According to an embodiment, in the beginning, DMA is performed according to the direct address method based on the distribution/collection information received from the operation unit, and after that, the address is obtained based on the pointer information obtained from the host memory unit, and based on this, DMA is performed according to an indirect addressing scheme. That is, in the beginning, data movement can be performed immediately by using the address received from the operation unit, and thus, the time required for address fetching in the indirect address method is not consumed in one embodiment. The performance of the memory access control system may be improved.

도 1은 일 실시예에 메모리 액세스 제어 시스템에 대한 개략적인 구성도이다.
도 2는 일 실시예에 따라 메모리 액세스 제어 장치가 연산부로부터 수신받는 분산/수집 정보에 대한 예시이다.
도 3은 일 실시예에 따른 메모리 액세스 제어 시스템에서의 데이터 내지 정보 흐름에 대한 개략적인 개념도이다.
도 4는 일 실시예에 따른 메모리 액세스 제어 시스템에서 수행 가능한 절차에 대한 개략적인 순서도이다.
도 5는 일 실시예에 따른 메모리 액세스 제어 시스템에서 각 채널 별로 데이터가 처리되는 과정에서의 타이밍을 나타내는 개략적인 타이밍도이다.
1 is a schematic configuration diagram of a memory access control system according to an embodiment.
2 is an example of distributed/collected information received by a memory access control apparatus from an operation unit according to an embodiment.
3 is a schematic conceptual diagram of data or information flow in a memory access control system according to an embodiment.
4 is a schematic flowchart of a procedure that can be performed in a memory access control system according to an embodiment.
5 is a schematic timing diagram illustrating a timing in a process in which data is processed for each channel in a memory access control system according to an exemplary embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a well-known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, the terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

도 1은 일 실시예에 메모리 액세스 제어 시스템(1000) 및 타겟 메모리부(2000)에 대한 개략적인 구성도이다. 도 1을 참조하면, 메모리 액세스 제어 시스템(1000)은 메모리 액세스 제어 장치(100), 호스트 메모리부(200) 및 연산부(300)를 포함한다. 아울러, 도 1에는 도시되지 않았지만 메모리 액세스 제어 장치(100)는 제어부를 포함한다. 다만, 도 1에 도시된 구성도는 예시적인 것에 불과하므로, 메모리 액세스 제어 시스템(1000)은 도 1에 도시된 구성 중 적어도 하나를 포함하지 않거나 또는 도 1에 도시되지 않은 구성을 추가로 포함할 수 있다.1 is a schematic configuration diagram of a memory access control system 1000 and a target memory unit 2000 according to an embodiment. Referring to FIG. 1 , a memory access control system 1000 includes a memory access control device 100 , a host memory unit 200 , and an operation unit 300 . In addition, although not shown in FIG. 1 , the memory access control apparatus 100 includes a control unit. However, since the configuration diagram shown in FIG. 1 is merely exemplary, the memory access control system 1000 may not include at least one of the configurations shown in FIG. 1 or additionally include a configuration not shown in FIG. 1 . can

먼저, 타겟 메모리부(2000)는 데이터를 저장하는 메모리 등에 의해 구현될 수 있다. 이러한 타겟 메모리부(2000)는 메모리 액세스 제어 시스템(1000)과는 별개의 타겟 장치에 구현될 수 있다. 또는 도 1에 도시된 것과는 상이하게 타겟 메모리부(2000)는 메모리 액세스 제어 시스템(1000) 내부에 구현될 수도 있다.First, the target memory unit 2000 may be implemented by a memory for storing data or the like. The target memory unit 2000 may be implemented in a target device separate from the memory access control system 1000 . Alternatively, different from that shown in FIG. 1 , the target memory unit 2000 may be implemented inside the memory access control system 1000 .

다음으로, 호스트 메모리부(200)는 데이터를 저장하는 메모리 등에 의해 구현될 수 있다. 이러한 호스트 메모리부(200)에는 다양한 종류의 정보가 저장될 수 있다. 예컨대 호스트 메모리부(200)에는 이동/복사의 대상인 일반적인 데이터가 저장될 수 있다. 또한, 호스트 메모리부(200)에는 DMA 중 간접적 어드레스 접근 방식에서 이용되는 분산/수집 정보가 저장될 수도 있다. Next, the host memory unit 200 may be implemented by a memory for storing data or the like. Various types of information may be stored in the host memory unit 200 . For example, the host memory unit 200 may store general data to be moved/copied. In addition, the host memory unit 200 may store distribution/collection information used in an indirect address access method among DMAs.

이러한 분산/수집 정보는 호스트 메모리부(200)의 영역 중의 일부를 가리키는 포인터를 포함할 수 있다. 아울러, 이러한 포인터가 가리키는 호스트 메모리부(200)의 주소에는, 호스트 메모리부(200)에서 데이터가 저장된 소스 주소, 타겟 메모리부(2000)에서 데이터가 쓰여져야할 타겟 주소 및 호스트 메모리부(200)로부터 읽어들여져야할 데이터의 용량 정보 중 적어도 하나가 기록되어 있을 수 있으며, 다만 이에 한정되는 것은 아니다.Such distributed/collected information may include a pointer indicating a part of the region of the host memory unit 200 . In addition, the address of the host memory unit 200 pointed to by the pointer includes a source address at which data is stored in the host memory unit 200 , a target address to which data is to be written in the target memory unit 2000 , and the host memory unit 200 . At least one of capacity information of data to be read from may be recorded, but is not limited thereto.

연산부(300)는 호스트 또는 중앙 처리 장치라고도 지칭되는데, 메모리 액세스 제어 시스템(1000)에 대한 전반적인 동작을 관리 내지 제어하는 구성이다. 이러한 연산부(300)는 다양한 기능을 수행하도록 프로그램된 명령어를 저장하는 메모리 및 이러한 명령어를 실행하는 마이크로프로세서에 의해 구현 가능하다.The operation unit 300 , also referred to as a host or a central processing unit, is a configuration that manages or controls overall operations of the memory access control system 1000 . The operation unit 300 may be implemented by a memory for storing instructions programmed to perform various functions and a microprocessor for executing these instructions.

메모리 액세스 제어 장치(100)는 DMA, 즉 직접 메모리 액세스를 관리 내지 제어하는 구성이다. 이러한 메모리 액세스 제어 장치(100)는 이하에서 설명될 다양한 기능을 수행하도록 프로그램된 제어부를 포함할 수 있다.The memory access control apparatus 100 is configured to manage or control DMA, that is, direct memory access. The memory access control apparatus 100 may include a controller programmed to perform various functions to be described below.

보다 구체적으로 살펴보면, 메모리 액세스 제어 장치(100)는 제어부를 통해서 제1 제어와 제2 제어를 수행한다. More specifically, the memory access control apparatus 100 performs the first control and the second control through the control unit.

이 중, 제1 제어는 호스트 메모리부(200)에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부(2000)에서의 타겟 주소 중 제1 타겟 주소를 수신받아서, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 동작을 포함할 수 있다. 이 때, 제1 소스 주소와 제1 타겟 주소는 연산부(300)로부터 수신받은 것일 수 있다. 아울러, 제1 소스 주소 및 제1 타겟 주소와 함께, 이동되어야 할 데이터의 용량 정보가 연산부(300)로부터 수신될 수도 있다. 이 때 이동되어야 할 데이터란, 데이터의 이동 상황에서 상대적으로 먼저 이동해야되는 것으로 기 지정된 데이터일 수 있으며, 예컨대 각각의 데이터에 이동 순서가 부여되어 있을 때 그 순번이 가장 빠른 것부터 순차적으로 소정 개수 또는 소정 용량만큼의 데이터까지로 지정될 수 있다. 도 2에는 전술한 제1 소스 주소와 제1 타겟 주소 및 용량 정보가 예시적으로 도시되어 있다. Among them, the first control receives a first source address among the source addresses in the host memory unit 200 and a first target address among the target addresses in the target memory unit 2000, and the region indicated by the first source address. It may include moving the data stored in the first target address to the area indicated. In this case, the first source address and the first target address may be received from the operation unit 300 . In addition, along with the first source address and the first target address, information on the capacity of data to be moved may be received from the operation unit 300 . In this case, the data to be moved may be data previously designated as to be moved relatively first in the data movement situation, for example, when a movement order is assigned to each data, a predetermined number or Data up to a predetermined capacity may be designated. 2 exemplarily illustrates the above-described first source address, first target address, and capacity information.

즉, 제1 제어에 의해서는 연산부(300)로부터 수신받은 제1 소스 주소, 제1 타겟 주소 및 용량 정보에 의해 데이터의 이동이 수행되는데, 이는 DMA 중 직접적 어드레스 방식에 해당된다.That is, according to the first control, data movement is performed according to the first source address, the first target address, and the capacity information received from the operation unit 300 , which corresponds to the direct address method in DMA.

여기서, 제1 소스 주소, 제1 타겟 주소 및 용량 정보는 각각 상기 제1 제어와 관련된 정보인데, 이러한 정보는 호스트 메모리부(200)에 저장되어 있는 전술한 분산/수집 정보를 연산부(300)가 로딩한 뒤 이들을 이용해서 변형 생성한 것일 수 있다. 예컨대, 연산부(300)는 호스트 메모리부(200)에 저장되어 있는 분산/수집 정보 중 상대적으로 초기에 이동되어야 할 정보를 일정 용량만큼 지정한 뒤, 이렇게 지정된 정보를 대상으로 제1 소스 주소, 제1 타겟 주소 및 용량 정보를 변형 생성할 수 있다. 여기서 일정 용량은 시스템의 성능 등에 따라 정해진 것일 수 있다.Here, the first source address, the first target address, and the capacity information are information related to the first control, respectively, and the calculation unit 300 calculates the above-described distribution/collection information stored in the host memory unit 200 . After loading, it may be that transformations are created using them. For example, the operation unit 300 designates information to be moved relatively initially among the distributed/collected information stored in the host memory unit 200 by a predetermined capacity, and then uses the designated information as the first source address, the first Target address and capacity information can be transformed and generated. Here, the predetermined capacity may be determined according to the performance of the system.

한편, 제2 제어는 소정의 포인터 정보를 수신받아서, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득(fetching)하고, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 동작을 포함할 수 있다. 이 때, 포인터 정보는 호스트 메모리부(200)로부터 수신받은 것일 수 있다. 아울러, 제2 소스 주소와 제2 타겟 주소는 포인터 정보가 가리키는 호스트 메모리부(200)의 영역으로부터 획득된 것일 수 있다.Meanwhile, the second control receives predetermined pointer information, fetches a second source address among the source addresses and a second target address among the target addresses from an area indicated by the pointer information, and the second source address and moving data stored in the area indicated by , to the area indicated by the second target address. In this case, the pointer information may be received from the host memory unit 200 . In addition, the second source address and the second target address may be obtained from an area of the host memory unit 200 indicated by the pointer information.

즉, 제2 제어에 의해서는 호스트 메모리부(200)로부터 수신받은 포인터 정보에 기초해서 데이터의 이동이 수행되는데, 이는 DMA 중 간접적 어드레스 방식에 해당된다.That is, according to the second control, data movement is performed based on pointer information received from the host memory unit 200 , which corresponds to an indirect address method among DMAs.

도 3은 메모리 액세스 제어 장치(100)가 이러한 제어부를 통해서 전술한 제1 제어와 제2 제어를 수행하는 것을 개념적으로 도시하고 있다. 여기서, 도 3은 예시적인 것에 불과하므로, 본 발명의 사상이 도 3에 도시된 것으로 한정해석되는 것은 아니다.3 conceptually illustrates that the memory access control apparatus 100 performs the above-described first control and second control through such a control unit. Here, since FIG. 3 is merely exemplary, the spirit of the present invention is not construed as being limited to that illustrated in FIG. 3 .

도 3을 참조하면, 연산부(300)는 메모리 액세스 제어 장치(100)에게 호스트 메모리부(200)에 저장된 데이터 중 적어도 일부를 타겟 메모리부(2000)에게 이동 내지 전송하라는 명령을 전달한다(S10). Referring to FIG. 3 , the operation unit 300 transmits a command to the memory access control device 100 to move or transmit at least a portion of data stored in the host memory unit 200 to the target memory unit 2000 ( S10 ). .

이 때, 일 실시예에 따르면, 이러한 명령과 함께 분산/수집 정보가 연산부(300)로부터 메모리 액세스 제어 장치(100)에게 전달될 수 있다. S10에서 전달되는 분산/수집 정보에는 제1 소스 주소, 제1 타겟 주소 및 용량 정보가 포함될 수 있다. At this time, according to an embodiment, distribution/collection information along with such a command may be transmitted from the operation unit 300 to the memory access control apparatus 100 . The distribution/collection information transmitted in S10 may include a first source address, a first target address, and capacity information.

그러면 메모리 액세스 제어 장치(100)의 제어부는, 전술한 분산/수집 정보를 기초로 호스트 메모리부(200)로부터 데이터를 획득한 뒤, 획득된 데이터를 타겟 메모리부(2000)에게 이동시키는 제1 제어를 수행한다(S20,S30). 이 때, 이동되는 데이터에는 제1 소스 주소가 가리키는 영역에 저장된 데이터부터 상기 용량 정보만큼의 데이터가 포함될 수 있다. 즉, 제1 제어는 DMA 중 직접적 어드레스 방식에 해당된다.Then, the control unit of the memory access control apparatus 100 acquires data from the host memory unit 200 based on the aforementioned distribution/collection information, and then moves the acquired data to the target memory unit 2000 for a first control (S20, S30). In this case, the moved data may include data corresponding to the capacity information from data stored in the area indicated by the first source address. That is, the first control corresponds to a direct address method among DMAs.

다음으로, 메모리 액세스 제어 장치(100)의 제어부는, 호스트 메모리부(200)로부터 분산/수집 정보(210)를 수신받은 뒤(S20), 이러한 분산/수집 정보(210)에 포함된 포인터 정보가 가리키는 영역으로부터 제2 소스 주소와, 제2 타겟 주소를 획득(fetching)하고, 제2 소스 주소가 가리키는 영역에 저장된 데이터(220,230)를 제2 타겟 주소가 가리키는 영역(2020,2030)으로 이동시키는 제2 동작을 수행한다(S40,S50). 이 때, 이동되는 데이터에는 제2 소스 주소가 가리키는 영역에 저장된 데이터부터 상기 용량 정보만큼의 데이터가 포함될 수 있다. 즉, 제2 제어는 DMA 중 간접적 어드레스 방식에 해당된다.Next, the control unit of the memory access control device 100 receives the distribution/collection information 210 from the host memory unit 200 ( S20 ), and the pointer information included in the distribution/collection information 210 is The second source address and the second target address are fetched from the indicated area, and the data 220 and 230 stored in the area indicated by the second source address are moved to the area 2020 and 2030 indicated by the second target address. 2 is performed (S40, S50). In this case, the moved data may include data corresponding to the capacity information from data stored in the area indicated by the second source address. That is, the second control corresponds to an indirect address method among DMAs.

한편, 전술한 제1 동작과 제2 동작은 메모리 액세스 제어 장치(100)에 마련된 복수 개의 채널 별로 수행될 수 있는데, 이에 대해서는 도 4를 참조하여서 살펴보기로 한다.Meanwhile, the first operation and the second operation described above may be performed for each of a plurality of channels provided in the memory access control apparatus 100 , which will be described with reference to FIG. 4 .

도 4는 일 실시예에 따른 메모리 액세스 제어 시스템(1000)에서의 데이터 내지 정보 흐름에 대한 개략적인 개념도이다. 다만, 도 4는 예시적인 것에 불과하므로, 본 발명의 사상이 도 4에 도시된 것으로 한정 해석되는 것은 아니다4 is a schematic conceptual diagram of data or information flow in the memory access control system 1000 according to an embodiment. However, since FIG. 4 is merely exemplary, the spirit of the present invention is not limited to that illustrated in FIG. 4 .

도 4를 참조하기에 앞서, 연산부(300)는 분산/수집 정보를 생성한다(S100). 이러한 분산/수집 정보는 호스트 메모리부(200)로부터 획득되어서 생성된 것일 수 있으나 이에 한정되는 것은 아니다. 아울러, 이와 같이 생성된 분산/수집 정보는 액세스 제어 장치(100)에 마련된 복수 개의 채널 별로 생성될 수 있다.Before referring to FIG. 4 , the operation unit 300 generates distribution/collection information ( S100 ). Such distributed/collected information may be generated by being acquired from the host memory unit 200, but is not limited thereto. In addition, the generated distributed/collected information may be generated for each of a plurality of channels provided in the access control apparatus 100 .

여기서 '채널'이란 데이터의 전송에 이용되는, 논리적 또는 물리적으로 서로 구분 가능한 통로를 지칭한다.Here, the 'channel' refers to a logically or physically distinguishable path used for data transmission.

다음으로, 연산부(300)는 복수 개의 채널 별로 명령(command)를 생성한다(S110). 이러한 명령은 호스트 메모리부(200)에 저장된 데이터 중 적어도 일부를 타겟 메모리부(2000)에게 이동시키라는 동작을 포함할 수 있다.Next, the operation unit 300 generates a command for each channel ( S110 ). Such a command may include an operation of moving at least a portion of data stored in the host memory unit 200 to the target memory unit 2000 .

이 후, 연산부(300)로부터 메모리 액세스 제어 장치(100)에게 S100에서 생성된 분산/수집 정보와 S110에서 생성된 명령이 채널 별로 전송된다(S120).Thereafter, the distribution/collection information generated in S100 and the command generated in S110 are transmitted from the operation unit 300 to the memory access control apparatus 100 for each channel ( S120 ).

그러면, 메모리 액세스 제어 장치(100)는 제어부를 통해서 DMA를 시작한다(S200).Then, the memory access control apparatus 100 starts DMA through the control unit ( S200 ).

구체적으로 살펴보면, 데이터를 이동/복사시키는 동작(S210)은 S120에서 수신받은 정보를 토대로 수행된다. 이 후에는 추가 명령이 필요한지를 판단하는 동작(S220), 만약 추가 명령이 필요하다고 판단되면 새로운 새로운 명령을 로딩해서(S230) 이러한 새로운 명령이 동작되도록 하고 그렇지 않은 경우에는 S240으로 이동하는 동작이, 복수 개의 채널 별로 수행된다.More specifically, the operation of moving/copying data ( S210 ) is performed based on the information received in S120 . After that, the operation of determining whether an additional command is necessary (S220), if it is determined that an additional command is necessary, loading a new command (S230) so that the new command is operated, otherwise, the operation of moving to S240, It is performed for each of a plurality of channels.

여기서, S230에 따른 동작은 DMA 중 간접적 어드레스 방식에 사용되는 것과 동일한 방식에 따라 수행될 수 있다. 예컨대 기본적인 High-bandwidth를 사용하는 고성능 유저 Logic인 경우 멀티 형태의 outstanding request들로 구성이 되어 있는데, 이러한 경우 동작 중간의 몇 개의 어드레스 fetch(즉, 추가 명령 로딩)는 다른 request들에 가려질 수 가 있다.Here, the operation according to S230 may be performed according to the same method used for the indirect address method in DMA. For example, in case of high-performance user logic using basic high-bandwidth, it is composed of multi-form outstanding requests. In this case, some address fetches in the middle of operation (that is, loading additional commands) can be hidden from other requests. there is.

만약 S220에서 복수 개의 채널 전체에서 추가 명령이 필요하지 않다고 판단되면, 메모리 액세스 제어 장치(100)의 제어부는 인터럽트를 생성한다(S240). If it is determined in S220 that an additional command is not required in all of the plurality of channels, the control unit of the memory access control apparatus 100 generates an interrupt ( S240 ).

S240에서 생성된 인터럽트는 연산부(300)에게 전송되고(S250), 연산부(300)는 DMA job을 정리한다(S300).The interrupt generated in S240 is transmitted to the operation unit 300 (S250), and the operation unit 300 organizes the DMA job (S300).

이상에서 살펴본 바와 같이, 일 실시예에 따르면 초반에는 연산부로부터 수신받은 분산/수집 정보에 기초해서 직접적 어드레스 방식에 따라 DMA가 수행되고, 그 이후부터는 호스트 메모리부로부터 획득된 포인터 정보에 기초해서 주소를 획득한 뒤 이에 기초해서 간접적 어드레스 방식에 따라 DMA가 수행된다. 즉, 초반에는 연산부로부터 수신받은 어드레스를 즉시 이용해서 데이터의 이동이 수행될 수 있게 되며, 따라서 간접적 어드레스 방식에서 어드레스의 획득(fetching)에 소요되는 시간만큼이 일 실시예에서는 소요되지 않게 되므로, 그만큼 메모리 접근 제어 시스템의 성능이 향상될 수 있다.As described above, according to an embodiment, DMA is initially performed according to the direct address method based on the distribution/collection information received from the operation unit, and thereafter, the address is determined based on the pointer information obtained from the host memory unit. After acquisition, DMA is performed according to the indirect address method based on this. That is, in the beginning, data movement can be performed immediately by using the address received from the operation unit, and thus, the time required for address fetching in the indirect address method is not consumed in one embodiment. The performance of the memory access control system may be improved.

도 5는 이러한 일 실시예에 따란 메모리 접근 제어 시스템(1000)에서의 성능 향상을 예시적으로 도시하고 있다. 도 5를 참조하면, 메모리 접근 제어 시스템(1000)에서는 초기에 어드레스 획득(fetching)에 시간이 소요되지 않음을 알 수 있다. 뿐만 아니라, 복수 개의 채널 각각에서 DMA 동작이 수행되는 시점 또한 통일될 수 있다. 아울러, 한번의 DMA 세팅으로서 여러 채널의 동작 형태가 버스트(burst) 형태로 지원될 수 있다. 따라서, 값비싼 하드웨어의 활용도를 극대화하고 자원의 낭비가 억제됨으로써, 전체 시스템의 성능이 향상될 수 있다.FIG. 5 exemplarily illustrates performance improvement in the memory access control system 1000 according to this embodiment. Referring to FIG. 5 , it can be seen that the memory access control system 1000 does not initially take time for address fetching. In addition, the timing at which the DMA operation is performed in each of the plurality of channels may also be unified. In addition, as a single DMA setting, operation types of several channels may be supported in a burst form. Accordingly, by maximizing the utilization of expensive hardware and suppressing the waste of resources, the performance of the entire system may be improved.

한편, 일 실시예에 따른 메모리 액세스 제어 방법은 전술한 메모리 액세스 제어 장치(100)에 의해 수행될 수 있는데, 이러한 제어 방법은 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 수신받는 단계와, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하는 단계와, 소정의 포인터 정보를 수신받는 단계와, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하는 단계와, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 단계를 포함하여 수행될 수 있다.Meanwhile, the memory access control method according to an embodiment may be performed by the above-described memory access control apparatus 100 , and such a control method includes the first source address among the source addresses in the host memory unit and the target memory unit. receiving a first target address among target addresses; performing a first control of moving data stored in an area indicated by the first source address to an area indicated by the first target address; receiving; acquiring a second source address among the source addresses and a second target address among the target addresses from an area indicated by the pointer information; and transferring data stored in the area indicated by the second source address to the second It may be performed including moving to an area indicated by the target address.

또한, 아울러, 제어 방법에 대해서는 전술한 메모리 액세스 제어 장치(100)에 대한 사항이 원용될 수 있는 바, 중복된 부분에 대한 설명은 생략하기로 한다.In addition, as for the control method, the above-described information on the memory access control apparatus 100 may be referred to, and thus a description of the overlapping portion will be omitted.

또한, 전술한 제어 방법의 경우 전술한 관리 방법에 포함된 각 단계를 수행하도록 프로그램된 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램의 형태 또는 이러한 방법의 각 단계를 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체의 형태로 구현 가능하다.In addition, in the case of the above-described control method, a computer program storing a computer program stored in a computer-readable recording medium programmed to perform each step included in the above-described management method or a computer program programmed to perform each step of the method It can be implemented in the form of a readable recording medium.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications and variations will be possible without departing from the essential quality of the present invention by those skilled in the art to which the present invention pertains. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

일 실시예에 따르면 초반에는 연산부로부터 수신받은 분산/수집 정보에 기초해서 직접적 어드레스 방식에 따라 DMA가 수행되고, 그 이후부터는 호스트 메모리부로부터 획득된 포인터 정보에 기초해서 주소를 획득한 뒤 이에 기초해서 간접적 어드레스 방식에 따라 DMA가 수행된다. 즉, 초반에는 연산부로부터 수신받은 어드레스를 즉시 이용해서 데이터의 이동이 수행될 수 있게 되며, 따라서 간접적 어드레스 방식에서 어드레스의 획득(fetching)에 소요되는 시간만큼이 일 실시예에서는 소요되지 않게 되므로, 그만큼 메모리 접근 제어 시스템의 성능이 향상될 수 있다.According to an embodiment, DMA is initially performed according to the direct address method based on the distribution/collection information received from the operation unit, and after that, the address is obtained based on the pointer information obtained from the host memory unit and based on this DMA is performed according to an indirect addressing scheme. That is, in the beginning, data movement can be performed immediately by using the address received from the operation unit, and thus, the time required for address fetching in the indirect address method is not consumed in one embodiment. The performance of the memory access control system may be improved.

1000 : 연산 가속 장치1000: computational accelerator

Claims (11)

제어부를 포함하는 메모리 액세스 제어 장치로서,
상기 제어부는,
연산부로부터 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 수신하여, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하고,
상기 호스트 메모리부로부터 직접 소정의 포인터 정보를 수신하여, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하고, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 제2 제어를 수행하는
메모리 액세스 제어 장치.
A memory access control device comprising a control unit, comprising:
The control unit is
The first target address receives data stored in an area indicated by the first source address by receiving a first source address among the source addresses in the host memory unit and the first target address among the target addresses in the target memory unit from the operation unit. performing a first control of moving to an area,
Receives predetermined pointer information directly from the host memory unit to obtain a second source address among the source addresses and a second target address among the target addresses from an area indicated by the pointer information, and a region indicated by the second source address performing a second control of moving the data stored in the second target address to the area indicated by the
Memory access control unit.
제 1 항에 있어서,
상기 제어부는,
상기 제1 소스 주소로부터 읽어들여야 할 데이터의 용량 정보를 추가로 수신받고, 상기 제1 제어를 통해서 상기 용량 정보만큼의 데이터를 이동시키는
메모리 액세스 제어 장치.
The method of claim 1,
The control unit is
receiving additional capacity information of data to be read from the first source address, and moving data as much as the capacity information through the first control
Memory access control unit.
제 1 항에 있어서,
상기 제어부는,
상기 포인터 정보가 가리키는 영역으로부터 상기 제2 소스 주소로부터 읽어들여야 할 데이터의 용량 정보를 추가로 수신받고, 상기 제2 제어를 통해서 상기 용량 정보만큼의 데이터를 이동시키는
메모리 액세스 제어 장치.
The method of claim 1,
The control unit is
receiving additional data capacity information to be read from the second source address from the area indicated by the pointer information, and moving data corresponding to the capacity information through the second control
Memory access control unit.
삭제delete 제 1 항에 있어서,
상기 메모리 액세스 제어 장치에는 상기 제1 제어와 상기 제2 제어가 수행되는 복수 개의 채널이 마련되되,
상기 복수 개의 채널 각각에서 상기 제1 제어가 수행되는 시점은 서로 동일한
메모리 액세스 제어 장치.
The method of claim 1,
A plurality of channels on which the first control and the second control are performed are provided in the memory access control device,
The timing at which the first control is performed in each of the plurality of channels is the same
Memory access control unit.
제 1 항에 있어서,
상기 제어부는,
상기 제1 제어를 수행한 뒤에 상기 제2 제어를 수행하는
메모리 액세스 제어 장치.
The method of claim 1,
The control unit is
performing the second control after performing the first control
Memory access control unit.
제 1 항에 있어서,
상기 제1 소스 주소 및 상기 제1 타겟 주소는,
상대적으로 먼저 이동되어야 하는 소정 용량의 데이터에 대한 정보가, 상기 호스트 메모리부에 저장된 분산/수집 정보로부터 추출된 것에 기초해서 생성된 것이고,
상기 제2 제어는,
상기 제1 제어에 따라 상기 제1 소스 주소가 가리키는 영역으로부터 상기 제1 타겟 주소가 가리키는 영역으로 상기 용량의 데이터가 이동된 뒤에 수행되는
메모리 액세스 제어 장치.
The method of claim 1,
The first source address and the first target address are,
Information on data of a predetermined capacity that needs to be moved relatively first is generated based on extraction from distribution/collection information stored in the host memory unit,
The second control is
This is performed after the data of the capacity is moved from the area indicated by the first source address to the area indicated by the first target address according to the first control.
Memory access control unit.
메모리 액세스 제어 장치의 제어부가 수행하는 메모리 액세스 제어 방법으로서,
연산부로부터 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 수신하는 단계와,
상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하는 단계와,
상기 호스트 메모리부로부터 직접 소정의 포인터 정보를 수신하는 단계와,
상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하는 단계와,
상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 단계를 포함하는
메모리 액세스 제어 방법.
As a memory access control method performed by a control unit of a memory access control device,
Receiving a first target address from among the source addresses in the host memory unit and the target address in the target memory unit from the operation unit;
performing a first control of moving data stored in the area indicated by the first source address to the area indicated by the first target address;
receiving predetermined pointer information directly from the host memory unit;
obtaining a second source address among the source addresses and a second target address among the target addresses from the area indicated by the pointer information;
moving data stored in the area indicated by the second source address to the area indicated by the second target address
How to control memory access.
제 8 항에 따른 제어 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체.A computer-readable recording medium storing a computer program programmed to perform including each step included in the control method according to claim 8. 제 8 항에 따른 제어 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium programmed to perform including each step included in the control method according to claim 8. 연산부와,
호스트 메모리부와,
상기 연산부로부터 상기 호스트 메모리부에서의 소스 주소 중 제1 소스 주소 및 타겟 메모리부에서의 타겟 주소 중 제1 타겟 주소를 수신하여, 상기 제1 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제1 타겟 주소가 가리키는 영역으로 이동시키는 제1 제어를 수행하고, 상기 호스트 메모리부로부터 직접 소정의 포인터 정보를 수신하여, 상기 포인터 정보가 가리키는 영역으로부터 상기 소스 주소 중 제2 소스 주소 및 상기 타겟 주소 중 제2 타겟 주소를 획득하고, 상기 제2 소스 주소가 가리키는 영역에 저장된 데이터를 상기 제2 타겟 주소가 가리키는 영역으로 이동시키는 제2 제어를 수행하는 제어부를 포함하는
메모리 액세스 제어 시스템.
arithmetic unit,
host memory;
A first source address among the source addresses in the host memory unit and a first target address among the target addresses in the target memory unit are received from the operation unit, and data stored in an area indicated by the first source address is converted to the first target address. performs a first control of moving to an area indicated by , receives predetermined pointer information directly from the host memory unit, and receives a second source address among the source addresses and a second target among the target addresses from the area indicated by the pointer information A control unit that acquires an address and performs a second control of moving data stored in the area indicated by the second source address to the area indicated by the second target address
Memory access control system.
KR1020190079853A 2019-07-03 2019-07-03 System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same KR102280241B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190079853A KR102280241B1 (en) 2019-07-03 2019-07-03 System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190079853A KR102280241B1 (en) 2019-07-03 2019-07-03 System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same

Publications (3)

Publication Number Publication Date
KR20210004047A KR20210004047A (en) 2021-01-13
KR102280241B1 true KR102280241B1 (en) 2021-07-21
KR102280241B9 KR102280241B9 (en) 2021-10-27

Family

ID=74142777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190079853A KR102280241B1 (en) 2019-07-03 2019-07-03 System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same

Country Status (1)

Country Link
KR (1) KR102280241B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000505215A (en) * 1995-09-27 2000-04-25 メモリー・コーポレーシヨン・ピー・エル・シー Memory management
KR101018080B1 (en) * 2009-11-26 2011-03-02 주식회사 케피코 Method for memory data acquisition of embedded system using dma

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100889730B1 (en) * 2006-12-01 2009-03-24 한국전자통신연구원 Method and Apparatus for Direct Memory Access Controlling
KR100963140B1 (en) * 2008-11-27 2010-06-16 한국과학기술원 Direct memory access device and direct memory access method
KR102263357B1 (en) 2017-04-19 2021-06-11 한국전자통신연구원 System for supporting user-level dma i/o in distributed filesystem environment and method for the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000505215A (en) * 1995-09-27 2000-04-25 メモリー・コーポレーシヨン・ピー・エル・シー Memory management
KR101018080B1 (en) * 2009-11-26 2011-03-02 주식회사 케피코 Method for memory data acquisition of embedded system using dma

Also Published As

Publication number Publication date
KR20210004047A (en) 2021-01-13
KR102280241B9 (en) 2021-10-27

Similar Documents

Publication Publication Date Title
US11868628B2 (en) On-chip atomic transaction engine
US9015451B2 (en) Processor including a cache and a scratch pad memory and memory control method thereof
US7630388B2 (en) Software defined FIFO memory for storing a set of data from a stream of source data
US8650339B2 (en) Control of data transfer
US5201040A (en) Multiprocessor system having subsystems which are loosely coupled through a random access storage and which each include a tightly coupled multiprocessor
US20060277325A1 (en) Efficient data transmission system and method via direct memory access controller
CN108139974B (en) Distributed cache live migration
JP2002117002A (en) Common type peripheral architecture
JPH06250928A (en) Information processor
KR100630071B1 (en) High speed data transmission method using direct memory access method in multi-processors condition and apparatus therefor
US6874040B2 (en) Employing a data mover to communicate between dynamically selected zones of a central processing complex
US7334056B2 (en) Scalable architecture for context execution
KR102280241B1 (en) System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same
US5107416A (en) Arrangement for simultaneously dealing with transfer requests produced by central, arithmetic and input-output processors of a super computer
JP6161396B2 (en) Arithmetic unit
US20120179901A1 (en) Computer apparatus
US11010318B2 (en) Method and apparatus for efficient and flexible direct memory access
JP2001188745A (en) Controller and control method
JPH1185673A (en) Method and device for controlling shared bus
JPH09146840A (en) Multiprocessor system
JPH0756800A (en) Dynamic management device for memory area
JP4409561B2 (en) Event notification method, information processing apparatus, and processor
JP2018081346A (en) Storage device, storage system, storage control method, and storage control program
JPH01263763A (en) Instruction execution control system
JPH07101411B2 (en) Extended storage access controller

Legal Events

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