KR20190074695A - Apparatus and method for controlling dual-port memory - Google Patents

Apparatus and method for controlling dual-port memory Download PDF

Info

Publication number
KR20190074695A
KR20190074695A KR1020170176246A KR20170176246A KR20190074695A KR 20190074695 A KR20190074695 A KR 20190074695A KR 1020170176246 A KR1020170176246 A KR 1020170176246A KR 20170176246 A KR20170176246 A KR 20170176246A KR 20190074695 A KR20190074695 A KR 20190074695A
Authority
KR
South Korea
Prior art keywords
interface
data
area
access request
shared memory
Prior art date
Application number
KR1020170176246A
Other languages
Korean (ko)
Other versions
KR102364382B1 (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 KR1020170176246A priority Critical patent/KR102364382B1/en
Publication of KR20190074695A publication Critical patent/KR20190074695A/en
Application granted granted Critical
Publication of KR102364382B1 publication Critical patent/KR102364382B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

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

Disclosed are a dual port memory and a control method thereof. According to the present invention, a shared data region includes a first data region and a second data region, and a region recording new data between two regions is set as an activation region to record data in an inactivation region when an MCU records data in a corresponding sharing memory unit region and to allow other MCUs to read the data recorded in the activation region even while the data is being recorded in the inactivation region, thereby solving conventional data collision and read delay problems.

Description

듀얼 포트 메모리 및 그 제어 방법{Apparatus and method for controlling dual-port memory}[0001] DESCRIPTION [0002] Dual-port memory and its control method [0002]

본 발명은 메모리 및 그 제어 방법에 관한 것으로서, 보다 구체적으로는 듀얼 포트 메모리 및 그 제어 방법에 관한 것이다.The present invention relates to a memory and a control method thereof, and more particularly, to a dual port memory and a control method thereof.

두 개 이상의 MCU 등에서 데이터 저장 공간을 공유하기 위한 대표적인 방법으로 Dual-Port 메모리를 채택하는 방법이 있다. Dual-Port 메모리는 하나의 메모리에 입/출력을 위한 데이터 버스와 어드레스 버스를 두 개씩 연결하여, 두 개 이상의 MCU에서 서로의 상태에 영향을 받지 않고 자유롭게 데이터를 입/출력 할 수 있도록 한다. As a typical method for sharing data storage space in two or more MCUs, there is a method of adopting dual-port memory. The dual-port memory connects two data buses and address buses for input / output in one memory, allowing two or more MCUs to freely input and output data without being influenced by each other's states.

메모리의 접근 제어 방식으로, Read/Write 신호를 이용하여 현재 메모리가 다른 MCU에 의해서 사용 중인지를 확인하고, 사용 중인 경우에는 다른 MCU의 사용 상태가 종료되어 메모리가 준비 상태가 될 때까지 대기하였다가 데이터를 입/출력 한다. In the access control method of the memory, it is checked whether the current memory is being used by another MCU by using the Read / Write signal, and if it is in use, the use state of another MCU is terminated, Data is input / output.

이러한 입/출력 제어 방식은 하나의 MCU에서 특정 메모리 공간을 사용하고 있을 때, 다른 MCU가 동시에 같은 공간을 접근하지 못하도록 하여 데이터의 충돌을 방지한다. 하지만, 메모리가 다른 MCU에 의해 사용중인 경우에는 메모리에 접근하기 위해 다른 MCU의 사용이 끝날 때까지 대기해야 하기 때문에, 불특정한 시간 지연이 발생할 수 있고, 이러한 불특정한 시간 지연은 고속 실시간 인터페이스에서 실시간데이터 처리 성능을 떨어뜨리는 원인이 된다. This input / output control scheme prevents data collision by preventing another MCU from approaching the same space at the same time when one MCU is using a specific memory space. However, if the memory is being used by another MCU, it may be necessary to wait until the other MCU is used to access the memory, so that an unspecified time delay may occur. Which may degrade data processing performance.

또한, 이러한 접근 제어 방식은 매 byte 또는 word에 접근할 때마다 이루어 지기 때문에, 다수의 byte 또는 word로 구성된 데이터에 접근할 경우, 데이터를 읽거나 쓰는 중간에 다른 MCU에 의해 데이터가 변경되어, 엉뚱한 데이터가 판독되는 경우도 발생할 수 있다.Also, since this access control method is performed every time when accessing every byte or word, when accessing data composed of a plurality of bytes or words, data is changed by another MCU in the middle of reading or writing data, Data may be read out.

본 발명이 해결하고자 하는 과제는 듀얼 포트 메모리를 이용하는 복수의 MCU들이 지연 시간 없이 데이터 판독 및 기록을 위해서 실시간으로 메모리에 접근할 수 있도록 하는 듀얼 포트 메모리 및 그 제어 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a dual port memory and a control method thereof, which allow a plurality of MCUs using a dual port memory to access a memory in real time for data reading and writing without delay time.

상술한 과제를 해결하기 위한 본 발명의 바람직한 실시예에 따른 듀얼 포트 메모리는, 제 1 데이터 영역, 제 2 데이터 영역 및 상기 제 1 데이터 영역 및 상기 제 2 데이터 영역 중 활성화된 영역을 나타내는 상태 영역을 포함하는 공유 메모리 영역; 서로 대응되는 포트에 연결되도록 설치되고, 각각 1개 이상의 MCU와 연결되어 상기 공유 메모리 영역에 대한 데이터 판독 명령 또는 데이터 기록 명령을 수신하며, 수신된 명령에 따라서, 상기 공유 메모리 영역에 접근하여 상태 영역에 저장된 데이터를 판독하여 상기 제 1 데이터 영역 및 상기 제 2 데이터 영역 중, 활성화된 데이터 영역으로부터 데이터를 판독하고, 비활성화된 데이터 영역에 데이터를 기록한 후 상태 영역이 신규로 데이터가 기록된 데이터 영역을 나타내도록 상태 영역의 데이터를 변경하는 제 1 인터페이스 및 제 2 인터페이스; 및 상기 제 1 인터페이스 또는 상기 제 2 인터페이스로부터 공유 메모리 영역에 대한 접근 요청(판독 요청 또는 기록 요청)을 수신하면, 데이터 충돌 여부를 확인하여 공유 메모리 영역에 대한 접근을 승인하는 제어부를 포함한다.According to a preferred embodiment of the present invention, there is provided a dual port memory including a first data area, a second data area, and a status area indicating an activated area of the first data area and the second data area, A shared memory area containing; Each of the plurality of MCUs is connected to one or more MCUs to receive a data read command or a data write command for the shared memory area and access the shared memory area according to the received command, Reads data from the activated data area out of the first data area and the second data area, writes data in the inactivated data area, and then writes the data area in which the status area is newly recorded with data A first interface and a second interface for changing data in the status area to indicate the first interface and the second interface; And a controller for checking access to the shared memory area from the first interface or the second interface to confirm access to the shared memory area when the access request (read request or write request) is received.

또한, 상기 제어부는, 상기 제 1 인터페이스 또는 상기 제 2 인터페이스로부터 수신된 접근 요청이 판독 요청인 경우에는 접근을 즉시 승인할 수 있다.In addition, the control unit may immediately approve the access request when the access request received from the first interface or the second interface is a read request.

또한, 상기 제어부는, 상기 제 1 인터페이스 또는 상기 제 2 인터페이스로부터 수신된 접근 요청이 기록 요청인 경우에, 동일한 공유 메모리 영역에 대해서 다른 인터페이스로부터 접근 요청이 수신되었는지 확인하고, 다른 인터페이스로부터 접근 요청이 수신되지 않거나, 다른 인터페이스로부터 수신된 접근 요청이 기록을 위한 접근 요청이 아니면, 상기 접근 요청을 승인할 수 있다.In addition, when the access request received from the first interface or the second interface is a write request, the control unit checks whether an access request is received from another interface for the same shared memory area, If the access request not received or received from the other interface is not an access request for recording, the access request can be approved.

또한, 상기 제어부는, 동일한 공유 메모리 영역에 대해서, 다른 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로 접근 요청을 불승인할 수 있다.When the access request for recording is received from another interface in the same shared memory area, the control unit approves the access request to any one of the first interface and the second interface in accordance with a predefined rule , The access request can be disapproved with the other one.

또한, 상기 제어부는, 동일한 공유 메모리 영역에 대해서, 다른 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로는 사전에 정의된 시간 지연 후 접근 요청을 승인할 수 있다.When the access request for recording is received from another interface in the same shared memory area, the control unit approves the access request to any one of the first interface and the second interface in accordance with a predefined rule , And the other can approve the access request after a predefined time delay.

한편, 상술한 과제를 해결하기 위한 본 발명의 바람직한 실시예에 따른 듀얼 포트 메모리 제어 방법은, 제 1 인터페이스, 제 2 인터페이스, 공유 메모리 영역 및 제어부를 포함하는 듀얼 포트 메모리에서 수행되는 듀얼 포트 메모리 제어 방법으로서, (a) 상기 제 1 인터페이스가 자신에게 연결된 제 1 MCU로부터 제어 명령과 어드레스를 수신하는 단계; (b) 상기 제 1 인터페이스가 상기 어드레스를 공유 메모리 영역에 대응되는 어드레스로 변환하고, 상기 제어 명령에 따라서 상기 제어부로 변환된 어드레스로의 접근을 요청하는 단계; (c) 상기 제어부가 상기 제 1 인터페이스로부터 접근 요청을 식별하는 단계; (d) 상기 접근 요청이 판독을 위한 접근 요청인 경우에, 상기 제어부가 상기 제 1 인터페이스로 접근을 즉시 승인하는 단계; (e) 접근을 승인받은 상기 제 1 인터페이스가 상기 변환된 어드레스에 접속하여 해당 공유 메모리 영역의 상태 영역을 판독하고, 상기 상태 영역에서 활성화된 데이터 영역으로 식별된 데이터 영역에 기록된 데이터를 판독하여 상기 제 1 MCU 로 전송하는 단계를 포함하고, 상기 공유 메모리 영역은 제 1 데이터 영역, 제 2 데이터 영역 및 상기 제 1 데이터 영역 및 상기 제 2 데이터 영역 중 활성화된 영역을 나타내는 상태 영역을 포함할 수 있다.In accordance with another aspect of the present invention, there is provided a dual port memory control method for controlling a dual port memory, which is implemented in a dual port memory including a first interface, a second interface, (A) receiving a control command and an address from a first MCU connected to the first interface; (b) converting, by the first interface, the address into an address corresponding to the shared memory area, and requesting access to the address translated into the control unit in accordance with the control command; (c) the control unit identifying an access request from the first interface; (d) if the access request is an access request for reading, the control immediately approving access to the first interface; (e) the first interface, which is approved for access, connects to the converted address to read the status area of the shared memory area, and reads the data recorded in the data area identified as the activated data area in the status area Wherein the shared memory area includes a first data area, a second data area, and a status area indicating an active area of the first data area and the second data area, have.

또한, 상기 듀얼 포트 메모리 제어 방법은 (f) 상기 (c) 단계에서 식별된 상기 접근 요청이 기록을 위한 접근 요청인 경우에, 상기 제어부는 동일한 공유 메모리 영역에 대해서 상기 제 2 인터페이스로부터 접근 요청이 수신되었는지 확인하는 단계; (g) 상기 제 2 인터페이스로부터 접근 요청이 수신되지 않거나, 상기 제 2 인터페이스로부터 수신된 접근 요청이 기록을 위한 접근 요청이 아니면, 상기 제어부가 상기 제 1 인터페이스로 상기 접근 요청을 승인하는 단계; 및 (h) 접근을 승인받은 상기 제 1 인터페이스가 상기 변환된 어드레스에 접근하여 해당 공유 메모리 영역의 상태 영역을 판독하고, 상기 상태 영역으로부터 비활성화된 데이터 영역으로 식별된 데이터 영역에 데이터를 기록하고, 상태 영역이 신규로 데이터가 기록된 데이터 영역을 나타내도록 상태 영역에 데이터를 변경하는 단계를 더 포함한다.In the dual port memory control method, when the access request identified in the step (c) is an access request for recording, the controller transmits an access request from the second interface to the same shared memory area Confirming that it has been received; (g) if the access request from the second interface is not received, or if the access request received from the second interface is not an access request for recording, the control unit approves the access request to the first interface; And (h) the first interface, which has been granted access, accesses the converted address to read the status area of the shared memory area, writes data in the data area identified as the inactivated data area from the status area, And changing the data in the status area so that the status area indicates a data area in which data is newly recorded.

또한, 상기 (g) 단계는, 상기 제 2 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로 접근 요청을 불승인할 수 있다.In the step (g), when an access request for recording is received from the second interface, the access request is approved by either the first interface or the second interface according to a predefined rule, One can approve the request for access.

또한, 상기 (g) 단계는, 상기 제 2 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로는 사전에 정의된 시간 지연 후 접근 요청을 승인할 수 있다.In the step (g), when an access request for recording is received from the second interface, the access request is approved by either the first interface or the second interface according to a predefined rule, One can approve the access request after a predefined time delay.

또한, 상기 듀얼 포트 메모리 제어 방법은, (i) 상기 (f) 단계에서 확인한 결과, 상기 제 2 인터페이스로부터 판독을 위한 접근 요청이 수신된 경우에, 상기 제어부는 상기 제 2 인터페이스로 접근 요청을 즉시 승인하고, 상기 제 2 인터페이스는 상기 변환된 어드레스에 접속하여 해당 공유 메모리 영역의 상태 영역을 판독하고, 상기 상태 영역에서 활성화된 데이터 영역으로 식별된 데이터 영역에 기록된 데이터를 판독하여 데이터 판독을 요청한 제 2 MCU로 전송하는 단계를 더 포함할 수 있다.The dual port memory control method may further include the steps of: (i) if an access request for reading from the second interface is received as a result of the checking in the step (f), the controller sends an access request to the second interface immediately The second interface accesses the converted address to read the status area of the shared memory area, reads the data recorded in the data area identified as the activated data area in the status area, To the second MCU.

본 발명은 공유 데이터 영역이 제 1 데이터 영역과 제 2 데이터 영역을 포함하고, 두 개의 영역 중 최신 데이터가 기록된 영역을 활성화 영역으로 설정하여, MCU가 해당 공유 메모리 단위 영역에 데이터를 기록하고자 하는 경우에는 일단 비활성화 영역에 데이터를 기록하도록 하고, 데이터가 비활성화 영역에 기록되는 중이라도, 다른 MCU들로 하여금 활성화 영역에 기록된 데이터를 판독할 수 있도록 함으로써, 종래기술의 데이터 충돌 및 판독 지연 문제를 해소할 수 있다.According to the present invention, a shared data area includes a first data area and a second data area, and an area in which the latest data is recorded is set as an active area, so that the MCU tries to write data in the shared memory unit area , It is possible to record the data in the inactive area and to solve the data collision and read delay problem in the related art by allowing other MCUs to read the data recorded in the active area even if the data is being written in the inactive area can do.

도 1은 본 발명의 바람직한 실시예에 따른 듀얼 포트 메모리의 구성을 도시하는 도면이다.
도 2는 본 발명의 바람직한 실시예에 따라서 공유 메모리에 데이터를 기록하고 데이터를 판독하는 방법을 설명하는 도면이다.
도 3은 본 발명의 바람직한 실시예에 따라서 제 1 인터페이스에 연결된 MCU 또는 제 2 인터페이스에 연결된 MCU가 공유 메모리 영역으로부터 데이터를 판독하는 과정을 설명하는 도면이다.
도 4는 본 발명의 바람직한 실시예에 따라서 제 1 인터페이스에 연결된 MCU가 공유 메모리 영역에 데이터를 기록하고, 제 2 인터페이스에 연결된 MCU가 공유 메모리 영역으로부터 데이터를 판독하는 과정을 설명하는 도면이다.
도 5는 본 발명의 바람직한 실시예에 따라서 제 1 인터페이스에 연결된 MCU와 제 2 인터페이스에 연결된 MCU가 동시에 동일한 공유 메모리 영역에 데이터를 기록하고자 하는 경우에 처리 과정을 설명하는 도면이다.
1 is a diagram illustrating a configuration of a dual port memory according to a preferred embodiment of the present invention.
2 is a diagram illustrating a method of writing data into a shared memory and reading data in accordance with a preferred embodiment of the present invention.
3 is a diagram illustrating a process of reading data from a shared memory area by an MCU connected to a first interface or an MCU connected to a second interface according to a preferred embodiment of the present invention.
4 is a diagram illustrating a process in which an MCU connected to a first interface writes data to a shared memory area and an MCU connected to the second interface reads data from the shared memory area according to a preferred embodiment of the present invention.
5 is a diagram for explaining a processing procedure when an MCU connected to a first interface and an MCU connected to a second interface simultaneously record data in the same shared memory area according to a preferred embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 실시예에 따른 듀얼 포트 메모리(200)의 구성을 도시하는 도면이다.1 is a diagram illustrating a configuration of a dual port memory 200 according to a preferred embodiment of the present invention.

도 1을 참조하면, 본 발명의 바람직한 실시예에 따른 듀얼 포트 메모리(200)는 제 1 인터페이스(210), 공유 메모리 영역(230), 제어부(240) 및 제 2 인터페이스(220)를 포함하여 구성된다.Referring to FIG. 1, a dual port memory 200 according to an exemplary embodiment of the present invention includes a first interface 210, a shared memory area 230, a controller 240, and a second interface 220, do.

먼저, 본 발명의 공유 메모리 영역(230)에 대한 구조를 설명한다.First, the structure of the shared memory area 230 of the present invention will be described.

본 발명의 공유 메모리 영역(230)은 사전에 정의된 길이의 데이터 상태 영역(231-1~231-n), 제 1 데이터 영역(232-1~232-n) 및 제 2 데이터 영역(233-1~233-n)이 하나의 공유 메모리 단위 영역을 이루고, 이러한 공유 메모리 단위 영역이 복수개 모여서 공유 메모리 영역(230)을 구성한다.The shared memory area 230 of the present invention includes data state areas 231-1 to 231-n of a predefined length, first data areas 232-1 to 232-n, and second data areas 233- 1 to 233-n constitute one shared memory unit area, and a plurality of such shared memory unit areas are gathered to constitute a shared memory area 230.

각각의 공유 메모리 단위 영역에 대해서 살펴보면, 먼저, 데이터 상태 영역(231-1~231-n)은 현재 공유 메모리 단위 영역에 포함된 제 1 데이터 영역(232-1~232-n) 및 제 2 데이터 영역(233-1~233-n) 중 어느 영역이 최신 데이터가 기록된 활성화된 데이터 영역인지 여부를 나타낸다. Referring to each shared memory unit area, the data state areas 231-1 to 231-n are divided into first data areas 232-1 to 232-n and second data areas 232-1 to 232- Indicates which of the areas 233-1 to 233-n is an active data area in which the latest data is recorded.

따라서, 제 1 인터페이스(210) 및 제 2 인터페이스(220)는 해당 공유 메모리 단위 영역에 저장된 데이터를 판독하는 경우에, 상태 영역(231-1~231-n)에 기록된 데이터가 나타내는 활성 데이터 영역에 저장된 데이터를 판독한다. 또한, 제 1 인터페이스(210) 및 제 2 인터페이스(220)는 해당 공유 메모리 단위 영역에 데이터를 기록하고자 하는 경우에, 상태 영역(231-1~231-n)에 기록된 데이터가 나타내는 활성화된 데이터 영역이 아닌, 비활성화된 데이터 영역에 데이터를 기록하고, 상태 영역(231-1~231-n)이 신규로 데이터가 기록된 데이터 영역을 활성 데이터 영역으로 나타내도록 데이터 상태 영역(231-1~231-n)의 값을 변경한다.Therefore, when the data stored in the shared memory unit area is read by the first interface 210 and the second interface 220, the data stored in the status areas 231-1 to 231- As shown in FIG. When the first interface 210 and the second interface 220 are intended to write data in the corresponding shared memory unit area, the first interface 210 and the second interface 220 may transmit the activated data represented by the data recorded in the status areas 231-1 to 231- Data areas 231-1 to 231-n are written in the inactive data area, not in the area, and data areas 231-1 to 231-n -n) is changed.

도 2는 본 발명의 바람직한 실시예에 따라서 공유 메모리 영역(230)에 데이터를 기록하고 데이터를 판독하는 방법을 설명하는 도면이다. 도 2를 더 참조하여 설명하면, 본 발명의 바람직한 실시예에서 제 1 데이터 영역(232-1~232-n) 및 제 2 데이터 영역(233-1~233-n)은 4바이트로 구성되고, 상태 영역(231-1~231-n)은 1바이트로 구성되며, 데이터는 4바이트 단위로 판독되고 기록된다. 즉, 본 발명의 바람직한 실시예에서는 4바이트 데이터를 저장하기 위해서, 총 9바이트의 저장 공간이 필요하다. 이하에서는, 설명의 편의를 위해서, 1바이트를 1개의 숫자로 표현하였다.2 is a diagram illustrating a method of writing data to and reading data from the shared memory area 230 according to a preferred embodiment of the present invention. 2, in the preferred embodiment of the present invention, the first data area 232-1 to 232-n and the second data area 233-1 to 233-n are composed of 4 bytes, The status areas 231-1 to 231-n are composed of one byte, and data is read and written in 4-byte units. That is, in the preferred embodiment of the present invention, a total of 9 bytes of storage space is required to store 4-byte data. Hereinafter, for convenience of explanation, one byte is represented by one digit.

타이밍 [01]에 제 1 데이터 영역(232-1~232-n)의 4바이트에 각각 1, 2, 3, 4 가 기록되어 있고, 제 2 데이터 영역(233-1~233-n)의 4바이트에는 각각 6, 7, 8, 9가 기록되어 있으며, 데이터 상태 영역(231-1~231-n)에는 1이 기록되어 있다. 여기서, 데이터 상태 영역(231-1~231-n)에 1이 기록되어 있으므로, 현재 해당 공유 데이터 단위 영역은 제 1 데이터 영역(232-1~232-n)이 활성화되어 있으며, 이는 공유 데이터 단위 영역에 저장된 최신 데이터는 제 1 데이터 영역(232-1~232-n)에 저장된 데이터이며, 각 인터페이스는 해당 공유 데이터 단위 영역에 저장된 데이터 판독시에는 항상 활성화된 제 1 데이터 영역에 기록된 최신 데이터를 판독하게 된다.1, 2, 3 and 4 are recorded in 4 bytes of the first data areas 232-1 to 232-n at timing [01], and 4, 2, 3 and 4 are recorded in 4 bytes of the second data areas 233-1 to 233- 6, 7, 8, and 9 are recorded in the byte, and 1 is recorded in the data status areas 231-1 to 231-n. Here, since 1 is recorded in the data status areas 231-1 to 231-n, the first data areas 232-1 to 232-n are currently active in the corresponding shared data unit area, The latest data stored in the area is the data stored in the first data areas 232-1 to 232-n, and each interface stores the latest data recorded in the activated first data area .

도 2에 도시된 예에서, 타이밍[01]에서, 제 2 인터페이스(220)가 해당 공유 데이터 단위 영역에 저장된 데이터를 판독하기 위해서 해당 영역에 접근하면, 제일 먼저 데이터 상태 영역(231)을 판독하여 어떤 데이터 영역이 활성화되어 있는지 여부를 확인하고, 데이터 상태 영역(231)에 1 이 기록되어 있으므로, 제 1 데이터 영역(232)이 활성화된 영역으로 판단하고, 제 1 데이터 영역(232)에서 [1,2,3,4]를 판독한다.In the example shown in FIG. 2, at timing [01], when the second interface 220 approaches the area to read data stored in the shared data unit area, the data state area 231 is read first It is judged that the first data area 232 is the activated area and the first data area 232 is set to 1 , 2,3,4].

그 후, 타이밍[02]~[06]에서 제 1 인터페이스(210)가 해당 공유 메모리 단위 영역에 데이터[3,4,5,6]을 기록하는 경우, 제 1 인터페이스(210)는 데이터 상태 영역(231)을 확인하여, 현재 활성화된 데이터 영역이 데이터 제 1 데이터 영역(232)이고, 비활성 영역이 제 2 데이터 영역(233)임을 확인하고, 제 2 데이터 영역(233)에 데이터를 순차적으로 기록하기 시작한다. Thereafter, when the first interface 210 records data [3,4,5,6] in the shared memory unit area at the timing [02] - [06], the first interface 210 stores the data [ It is confirmed that the currently active data area is the data first data area 232 and the inactive area is the second data area 233 and the data is sequentially written in the second data area 233 .

따라서, 타이밍 [02]~[05] 에 제 2 데이터 영역(233)에는 [3,4,5,6]순차적으로 기록되고, 제 2 데이터 영역(233)에 데이터가 다 기록되면, 제 1 인터페이스(210)는 타이밍 [06]에, 데이터 상태 영역(231)에 2를 기록하여, 해당 공유 메모리 단위 영역에서 활성화된 데이터, 즉, 최신 데이터는 제 2 데이터 영역(233)에 기록된 데이터임을 나타낸다.Therefore, [3,4,5,6] is sequentially recorded in the second data area 233 at timing [02] - [05], and when data is recorded in the second data area 233 sequentially, The control unit 210 writes 2 in the data status area 231 at timing [06], indicating that the data activated in the shared memory unit area, i.e., the latest data is the data recorded in the second data area 233 .

데이터 상태 영역(231)에 2가 기록된 후, 제 2 인터페이스(220)가 해당 공유 메모리 단위 영역에 접근하여 저장된 데이터를 판독하고자 하는 경우, 제 2 인터페이스(220)는 데이터 상태 영역(231)에 2가 기록되어 있음을 확인하고, 활성화된 제 2 데이터 영역(233)로부터 데이터[3,4,5,6]을 판독한다.When the second interface 220 accesses the corresponding shared memory unit area to read the stored data after 2 is written to the data status area 231, the second interface 220 reads the data stored in the data status area 231 2 is recorded, and the data [3,4,5,6] is read from the activated second data area 233.

한편, 제 1 인터페이스(210)가 제 2 데이터 영역(233)에 데이터를 기록하는 중간인, 타이밍 [04]에 제 2 인터페이스(220)가 접근하여 데이터를 판독하는 경우를 살펴보면, 제 2 인터페이스(220)는 공유 메모리 단위 영역에 접근하여 데이터 상태 영역(231)을 확인하고, 데이터 상태 영역(231)에 1 이 기록되어 있으므로, 제 1 데이터 영역(232)이 활성화된 영역으로 판단하고, 제 1 데이터 영역(232)에서 [1,2,3,4]를 판독한다. 따라서, 본 발명은 다른 MCU에 의해서 데이터가 기록되는 중간에도 데이터 충돌없이 데이터 판독이 가능하다.In the case where the second interface 220 accesses and reads data at the timing [04], which is the middle of the first interface 210 writing data in the second data area 233, 220 accesses the shared memory unit area and checks the data status area 231. Since 1 is recorded in the data status area 231, it is determined that the first data area 232 is the activated area, [1, 2, 3, 4] is read out from the data area 232. Therefore, the present invention enables data to be read without data collision even while data is being written by another MCU.

다시 도 1을 참조하면, 제 1 인터페이스(210) 및 제 2 인터페이스(220)는 서로 대응되는 포트에 연결되도록 설치되고, 각각 1개 이상의 MCU와 연결되어 공유 메모리 영역(230)에 대한 데이터 판독 명령 또는 데이터 기록 명령을 수신하여, 공유 메모리 영역(230)에 대해서 수신된 명령을 수행한다.Referring again to FIG. 1, the first interface 210 and the second interface 220 are connected to ports corresponding to each other. The first interface 210 and the second interface 220 are connected to one or more MCUs, Or a data write command and performs a received command on the shared memory area 230. [

구체적으로, 제 1 인터페이스(210) 및 제 2 인터페이스(220)는 버스를 통해서 복수의 MCU들과 연결될 수 있고, 전용 MCU와 직접 연결될 수도 있다. 이들 제 1 및 제 2 인터페이스(210,220)는 MCU들로부터 접근하고자 하는 메모리의 어드레스(address), 제어 명령, 클럭 및 데이터(데이터를 기록하는 경우)를 입력받는다.Specifically, the first interface 210 and the second interface 220 may be connected to a plurality of MCUs via a bus, or may be directly connected to a dedicated MCU. The first and second interfaces 210 and 220 receive an address, a control command, a clock, and data (when recording data) of a memory to be accessed from the MCUs.

제 1 및 제 2 인터페이스(210,220)는 MCU(110,120)로부터 수신된 어드레스를 공유 메모리 영역(230)의 row 및 column 어드레스로 변환하고, 해당 공유 메모리 영역(230)으로의 접근을 제어부(240)로 요청한다. 제어부(240)가 접근을 승인하면 제 1 및 제 2 인터페이스(210,220)는 해당 공유 메모리 영역(230)에 접근하여 상태 영역(231-1~231-n)을 판독하여 현재 해당 공유 메모리 단위 영역의 활성화된 데이터 영역을 식별한 후, 수신된 제어 명령이 데이터 판독 명령인 경우에는 활성화된 데이터 영역에 저장된 데이터를 판독하여 MCU(110,120)로 전송하고, 수신된 제어 명령이 기록 명령인 경우에는 수신된 데이터를 비활성화된 데이터 영역에 기록하고, 데이터 상태 영역(231-1~231-n)에 기록된 값을 새로 데이터가 기록된 데이터 영역을 나타내도록 변경한다.The first and second interfaces 210 and 220 convert addresses received from the MCUs 110 and 120 into row and column addresses in the shared memory area 230 and access the shared memory area 230 to the control part 240 request. When the control unit 240 approves the access, the first and second interfaces 210 and 220 access the shared memory area 230 to read the status areas 231-1 to 231-n, If the received control command is a data read command, the data stored in the activated data area is read and transmitted to the MCUs 110 and 120. If the received control command is a write command, Data is recorded in the inactivated data area, and the values recorded in the data status areas 231-1 to 231-n are changed to indicate the data area in which the new data is recorded.

제어부(240)는 제 1 인터페이스(210) 및 제 2 인터페이스(220)로부터 공유 메모리 영역(230)에 대한 접근 요청(판독 요청 또는 기록 요청)을 수신하면, 데이터 충돌 가능 여부를 확인하여 공유 메모리 영역(230)에 대한 접근을 승인한다.When the control unit 240 receives an access request (read request or write request) to the shared memory area 230 from the first interface 210 and the second interface 220, Lt; RTI ID = 0.0 > 230 < / RTI >

이 때, 제어부(240)는 제 1 인터페이스(210) 및 제 2 인터페이스(220)로부터 동시에 동일한 공유 메모리 단위 영역에 대한 기록 요청이 입력되는 경우에, 사전에 정의된 규칙에 따라서 선택된 MCU에 연동된 인터페이스에 대해서는 접근을 허가하고, 다른 MCU에 연동된 인터페이스에 대해서는 접근을 거부하거나, 접근 허가된 인터페이스가 데이터를 기록할 수 있는 충분한 시간 지연 이후에 접근을 허가할 수도 있다. In this case, when a write request for the same shared memory unit area is input from the first interface 210 and the second interface 220 at the same time, It may grant access to the interface, deny access to interfaces that are interfaced with other MCUs, or allow access after a sufficient time delay for an authorized interface to write data.

이 경우, 제어부(240)는 데이터 기록을 요청한 복수의 MCU 중에서 공유 메모리에 주기적으로 접근하는 MCU에 대해서 우선 순위를 높게 또는 낮게 설정하여 우선 순위에 따라서 접근을 허가할 수 있고, MCU들이 모두 주기적으로 공유 메모리 영역(230)에 접근하는 경우에는 공유 메모리 접근 주기에 따라서 접근을 허가할 MCU를 선정할 수도 있다.In this case, the control unit 240 may set the priority of the MCU periodically accessing the shared memory among the plurality of MCUs requesting data recording to be set to be higher or lower, so that access can be granted according to the priority. When accessing the shared memory area 230, the MCU to be granted access may be selected according to the shared memory access period.

상술한 바와 같이, 종래 기술들은 데이터의 충돌을 방지하기 위해서, 공유 메모리 영역(230)에 데이터가 기록중인 동안에는, 다른 MCU의 접근을 원천적으로 차단하여, 예상하지 못한 장시간의 판독 지연이 발생하는 문제가 존재하였다. As described above, in order to prevent data collision, the prior arts have the problem that while the data is being written to the shared memory area 230, the approach of another MCU is intrinsically blocked and an unexpected long- Respectively.

그러나, 본 발명은 공유 데이터 영역(230)이 제 1 데이터 영역(232-1~232-n)과 제 2 데이터 영역(233-1~233-n)을 포함하고, 두 개의 영역 중 최신 데이터가 기록된 영역을 활성화 영역으로서 상태 영역(231-1~231-n)에 기록하여, MCU(110,120)가 해당 공유 메모리 단위 영역에 데이터를 기록하고자 하는 경우에는 일단 비활성화 영역에 데이터를 기록하도록 하고, 데이터가 비활성화 영역에 기록되는 중이라도, 다른 MCU들로 하여금 활성화된 데이터 영역에 기록된 데이터를 판독할 수 있도록 함으로써, 종래기술의 데이터 충돌 및 판독 지연 문제를 해소하였다.However, the present invention is characterized in that the shared data area 230 includes the first data areas 232-1 to 232-n and the second data areas 233-1 to 233-n, Writes the recorded area in the status areas 231-1 to 231-n as active areas, and when the MCU 110 and 120 intends to record data in the shared memory unit area, the data is once written in the inactive area, The problem of data collision and read delay in the prior art is solved by allowing other MCUs to read the data recorded in the activated data area, even if the data is being recorded in the inactive area.

지금까지 본 발명의 바람직한 실시예에 따른 듀얼 포트 메모리(200)에 대해서 설명하였다.The dual port memory 200 according to the preferred embodiment of the present invention has been described.

이하에서는, 듀얼 포트 메모리(200)의 제어 방법을 설명하는 도 3 내지 도 5를 참조하여, 본 발명의 바람직한 실시예에 따른 듀얼 포트 메모리(200)의 제어 방법을 설명한다.Hereinafter, a method of controlling the dual port memory 200 according to a preferred embodiment of the present invention will be described with reference to FIGS. 3 to 5, which illustrate a control method of the dual port memory 200. FIG.

도 3은 본 발명의 바람직한 실시예에 따라서 제 1 인터페이스(210)에 연결된 MCU(110) 또는 제 2 인터페이스(220)에 연결된 MCU(120)가 공유 메모리 영역(230)으로부터 데이터를 판독하는 과정을 설명하는 도면이다.3 illustrates a process of reading data from the shared memory area 230 by the MCU 110 connected to the first interface 210 or the MCU 120 connected to the second interface 220 according to a preferred embodiment of the present invention Fig.

도 3을 참조하면, 제 1 인터페이스(210) 또는 제 2 인터페이스(220)는 자신이 연결된 MCU(110,120)로부터 제어 명령(판독 명령) 및 공유 메모리 어드레스를 수신한다(S310).Referring to FIG. 3, the first interface 210 or the second interface 220 receives a control command (read command) and a shared memory address from the MCUs 110 and 120 to which the first interface 210 or the second interface 220 is connected (S310).

제 1 인터페이스(210) 또는 제 2 인터페이스(220)는 수신된 어드레스를 공유 메모리 영역(230)의 low 및 column 어드레스로 변환하고, 변환된 어드레스에 대한 접근 요청을 제어부(240)로 출력한다(S320).The first interface 210 or the second interface 220 converts the received address into low and column addresses in the shared memory area 230 and outputs an access request for the converted address to the controller 240 ).

어드레스 및 접근 요청을 수신한 제어부(240)는 접근 요청이, 데이터 기록을 위한 접근 요청인지 여부를 확인하고(S330), 접근 요청이 데이터 기록을 위한 것이 아니라면 즉시 접근을 승인한다(S335).The control unit 240 receiving the address and access request confirms whether or not the access request is an access request for recording data at step S330. If the access request is not for data recording, the control unit 240 approves the access immediately at step S335.

접근 승인을 받은 제 1 인터페이스(210) 또는 제 2 인터페이스(220)는 공유 메모리 영역(230)에 접근하여, 공유 메모리 영역(230)에 포함된 상태 영역(231-1~231-n)을 판독하고(S340), 상태 영역(231-1~231-n)에 기록된 데이터가 나타내는 활성화 영역이 제 1 데이터 영역(232-1~232-n) 및 제 2 데이터 영역(233-1~233-n) 중 어떤 데이터 영역인지를 확인한다(S350). The first interface 210 or the second interface 220 which has been granted access accesses the shared memory area 230 to read the state areas 231-1 to 231-n included in the shared memory area 230 The active areas indicated by the data recorded in the status areas 231-1 to 231-n are the first data areas 232-1 to 232-n and the second data areas 233-1 to 233- n) (S350).

제 1 인터페이스(210) 또는 제 2 인터페이스(220)는 상태 영역(231-1~231-n)이 나타내는 활성화 영역이 제 1 데이터 영역(232-1~232-n)인 경우에는 제 1 데이터 영역(232-1~232-n)에 기록된 데이터를 판독하여 MCU(110,120)로 전송하고(S360), 상태 영역(231-1~231-n)이 나타내는 활성화 영역이 제 2 데이터 영역(233-1~233-n)인 경우에는 제 2 데이터 영역(233-1~233-n)에 기록된 데이터를 판독하여 MCU(110,120)로 전송한다(S370).The first interface 210 or the second interface 220 may be configured such that when the active areas indicated by the status areas 231-1 to 231-n are the first data areas 232-1 to 232-n, (S360), and the activation area indicated by the status areas 231-1 to 231-n is read from the second data area 233- 1 to 233-n), the data recorded in the second data areas 233-1 to 233-n are read and transmitted to the MCUs 110 and 120 (S370).

도 4는 본 발명의 바람직한 실시예에 따라서 제 1 인터페이스(210)에 연결된 MCU(110)가 공유 메모리 영역(230)에 데이터를 기록하고, 제 2 인터페이스(220)에 연결된 MCU(120)가 공유 메모리 영역(230)으로부터 데이터를 판독하는 과정을 설명하는 도면이다.4 illustrates an exemplary embodiment of the present invention in which an MCU 110 connected to a first interface 210 writes data in a shared memory area 230 and an MCU 120 connected to a second interface 220 And reading data from the memory area 230. FIG.

도 4를 참조하면, 제 1 인터페이스(210)는 자신이 연결된 MCU(110)로부터 제어 명령(기록 명령), 공유 메모리 어드레스, 및 기록할 데이터를 수신한다.(S410).4, the first interface 210 receives a control command (write command), a shared memory address, and data to be written from the MCU 110 to which the first interface 210 is connected (S410).

제 1 인터페이스(210)는 수신된 어드레스를 공유 메모리 영역(230)의 low 및 column 어드레스로 변환하고, 변환된 어드레스에 대한 접근 요청을 제어부(240)로 출력한다(S420).The first interface 210 converts the received address into low and column addresses in the shared memory area 230 and outputs an access request for the converted address to the controller 240 in step S420.

어드레스 및 접근 요청을 수신한 제어부(240)는 접근 요청이 데이터 기록을 위한 접근 요청인지 여부를 확인하고, 접근 요청이 데이터 기록을 위한 것이 아니라면 도 3의 S335로 진행하여 즉시 접근을 승인한다(S430).When receiving the address and access request, the control unit 240 checks whether the access request is an access request for data recording. If the access request is not for data recording, the control unit 240 proceeds to S335 in FIG. 3 to approve the access immediately ).

그러나, 접근 요청이 데이터 기록을 위한 것이라면, 제어부(240)는 동일한 공유 메모리 영역(230)에 대해서 제 2 인터페이스(220)로부터 접근 요청이 수신되었는지 여부를 확인하고(S440), 제 2 인터페이스(220)로부터 접근 요청이 수신되지 않거나, 제 2 인터페이스(220)로부터 수신된 접근 요청이 데이터 기록을 위한 접근 요청이 아니면, 제 S450 단계로 진행하고, 제 2 인터페이스(220)로부터 수신된 접근 요청이 데이터 기록을 위한 접근 요청이라면, 후술하는 도 5의 S550 단계로 진행한다(S445). However, if the access request is for data recording, the control unit 240 checks whether an access request has been received from the second interface 220 for the same shared memory area 230 (S440) If the access request is not received from the second interface 220 or if the access request received from the second interface 220 is not an access request for data recording, the operation proceeds to operation S450, If it is an access request for recording, the process proceeds to step S550 of FIG. 5 described later (S445).

참고로, 도 4에 도시된 실시예에서, 제 2 인터페이스(220)는 도 3의 제 S310 단계 및 제 S320 단계와 동일한 단계를 수행하여, 동일한 공유 메모리 영역(230)에 저장된 데이터 판독을 위해서 제어부(240)로 해당 공유 메모리 영역(230)의 접근을 요청한다.4, the second interface 220 performs the same steps as steps S310 and S320 of FIG. 3 to read data stored in the same shared memory area 230. In this case, (240) to access the shared memory area (230).

한편, 제어부(240)는 제 S450 단계에서, 제 1 인터페이스(210) 및 제 2 인터페이스(220)로 각각 접근을 승인한다(S450). 이 때, 제 2 인터페이스(220)는 도 3의 제 S340 단계 내지 제 370 단계와 동일한 단계를 수행하여, 공유 메모리 영역(230)에 저장된 데이터를 판독한다. In step S450, the controller 240 accesses the first interface 210 and the second interface 220, respectively (S450). At this time, the second interface 220 reads the data stored in the shared memory area 230 by performing the same steps as steps S340 to 370 of FIG.

한편, 접근을 승인받은 제 1 인터페이스(210)는 상기 변환된 어드레스에 접근하여 해당 공유 메모리 영역(230)의 상태 영역(231-1~231-n)을 판독하고(S460), 상태 영역(231-1~231-n)으로부터 활성화된 데이터 영역을 식별한다(또는 비활성화된 데이터 영역을 식별한다)(S471).The first interface 210 that has been granted access accesses the converted address to read the status areas 231-1 to 231-n of the corresponding shared memory area 230 (S460) -1 to 231-n) (step S471).

제 1 인터페이스(210)는 비활성화된 데이터 영역에 데이터를 기록하고(S473,S475), 상태 영역(231-1~231-n)의 데이터가 제 1 인터페이스(210)가 새롭게 데이터를 기록한 데이터 영역을 나타내도록 상태 영역(231-1~231-n)에 저장된 기존 데이터를 변경한다(S480).The first interface 210 records data in the inactive data area (S473, S475), and the data in the status areas 231-1 through 231-n is written in the data area in which the first interface 210 newly records data The existing data stored in the state areas 231-1 to 231-n is changed (S480).

도 5는 본 발명의 바람직한 실시예에 따라서 제 1 인터페이스(210)에 연결된 MCU(110)와 제 2 인터페이스(220)에 연결된 MCU(120)가 동시에 동일한 공유 메모리 영역(230)에 데이터를 기록하고자 하는 경우의 처리 과정을 설명하는 도면이다. 단, 도 5에 도시된 예는 제 1 인터페이스(210)를 기준으로 설명하는 것임을 주의해야 한다.5 illustrates an exemplary embodiment of the present invention in which the MCU 110 connected to the first interface 210 and the MCU 120 connected to the second interface 220 simultaneously write data in the same shared memory area 230 And FIG. It should be noted that the example shown in FIG. 5 is described based on the first interface 210. FIG.

도 5를 참조하면, 제 1 인터페이스(210) 및 제 2 인터페이스(220)는 모두 자신이 연결된 MCU(110,120)로부터 제어 명령(기록 명령), 공유 메모리 어드레스, 및 기록할 데이터를 수신하고(S510), 제 1 인터페이스(210) 및 제 2 인터페이스(220)는 모두 수신된 어드레스를 공유 메모리의 low 및 column 어드레스로 변환하고, 변환된 어드레스에 대한 접근 요청을 제어부(240)로 동시에 전송한다(S520).5, both the first interface 210 and the second interface 220 receive a control command (write command), a shared memory address, and data to be written from the MCUs 110 and 120 to which the first interface 210 and the second interface 220 are connected (S510) The first interface 210 and the second interface 220 convert the received address into low and column addresses in the shared memory and simultaneously transmit the access request for the converted address to the control unit 240 (S520) .

어드레스 및 접근 요청을 수신한 제어부(240)는 접근 요청이 기록을 위한 접근 요청인지 여부를 확인하고, 접근 요청이 기록을 위한 것이 아니라면 도 3의 S335로 진행하여 즉시 접근을 승인한다(S530).The controller 240 receiving the address and access request checks whether the access request is an access request for recording. If the access request is not for recording, the controller 240 proceeds to step S335 in FIG. 3 to approve the access immediately (S530).

그러나, 접근 요청이 데이터 기록을 위한 것이라면, 제어부(240)는 동일한 공유 메모리 영역(230)에 대해서 다른 인터페이스(즉, 제 2 인터페이스)로부터 접근 요청이 수신되었는지 여부를 확인하고, 제 2 인터페이스(220)로부터 접근 요청이 수신되지 않거나, 제 2 인터페이스(220)로부터 수신된 접근 요청이 데이터 기록을 위한 접근 요청이 아니면, 제 S450 단계로 진행하고, 제 2 인터페이스(220)로부터 수신된 접근 요청이 데이터 기록을 위한 접근 요청이라면, 사전에 정의된 규칙에 따라서 접근을 승인할 MCU(110,120)를 선택한다(S550).However, if the access request is for data recording, the control unit 240 checks whether an access request has been received from the other interface (i.e., the second interface) for the same shared memory area 230, If the access request is not received from the second interface 220 or if the access request received from the second interface 220 is not an access request for data recording, the operation proceeds to operation S450, If it is an access request for recording, the MCU 110 or 120 to approve access according to a predefined rule is selected (S550).

사전에 정의된 규칙은, 예컨대, 데이터 기록을 요청한 복수의 MCU(110,120) 중에서 공유 메모리 영역(230)에 주기적으로 접근하는 MCU에 대해서 우선 순위를 높게 또는 낮게 설정하여 우선 순위에 따라서 접근을 허가할 수 있고, 모든 MCU(110,120)들이 주기적으로 공유 메모리 영역(230)에 접근하는 경우에는 공유 메모리 영역(230)에 접근하는 주기의 장단에 따라서 접근을 허가할 MCU(110,120)를 선정할 수도 있다.The predefined rules may be set such that, for example, an MCU periodically accessing the shared memory area 230 among a plurality of MCUs 110 and 120 requesting data recording is set to have a higher or lower priority, If the MCUs 110 and 120 periodically access the shared memory area 230, the MCUs 110 and 120 may be selected according to the length of the cycle of accessing the shared memory area 230.

제 S550 단계에서, 제 1 인터페이스(210)를 승인하고 제 2 인터페이스(220)를 불승인하는 경우에, 제 1 인터페이스(210)는 도 4의 제 S460 단계 내지 제 S480 단계를 수행하여 공유 메모리 영역(230)에 데이터를 기록한다.In step S550, when the first interface 210 is approved and the second interface 220 is disabled, the first interface 210 performs steps S460 through S480 in FIG. 230).

한편, 제 S550 단계에서, 제 2 인터페이스(220)에 대해서 불승인을 통지하는 대신에, 제 1 인터페이스(210)가 공유 메모리 영역(230)에 데이터를 기록하기 충분한 시간동안 지연을 시킨 후, 제 2 인터페이스(220)에 접근을 승인할 수 있고, 이 경우, 제 2 인터페이스(220)는 시간 지연 후, 제 S460 단계 내지 제 S480 단계를 수행할 수 있다.In step S550, instead of notifying the second interface 220 of the disapproval, after the first interface 210 delays the data for a time sufficient to write data in the shared memory area 230, Interface 220, in which case the second interface 220 may perform steps S460 through S480 after a time delay.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

110 : 제 1 MCU
120 : 제 2 MCU
200 : 듀얼 포트 메모리
210 ; 제 1 인터페이스
220 : 제 2 인터페이스
230 : 공유 메모리 영역
231-1 ~ 231-n : 상태 영역
232-1 ~ 232-n : 제 1 데이터 영역
233-1 ~ 233-n : 제 2 데이터 영역
240 : 제어부
110: First MCU
120: Second MCU
200: Dual port memory
210; The first interface
220: Second interface
230: Shared memory area
231-1 to 231-n: status area
232-1 to 232-n: first data area
233-1 to 233-n: second data area
240:

Claims (10)

제 1 데이터 영역, 제 2 데이터 영역 및 상기 제 1 데이터 영역 및 상기 제 2 데이터 영역 중 활성화된 영역을 나타내는 상태 영역을 포함하는 공유 메모리 영역;
서로 대응되는 포트에 연결되도록 설치되고, 각각 1개 이상의 MCU와 연결되어 상기 공유 메모리 영역에 대한 데이터 판독 명령 또는 데이터 기록 명령을 수신하며, 수신된 명령에 따라서, 상기 공유 메모리 영역에 접근하여 상태 영역에 저장된 데이터를 판독하여 상기 제 1 데이터 영역 및 상기 제 2 데이터 영역 중, 활성화된 데이터 영역으로부터 데이터를 판독하고, 비활성화된 데이터 영역에 데이터를 기록한 후 상태 영역이 신규로 데이터가 기록된 데이터 영역을 나타내도록 상태 영역의 데이터를 변경하는 제 1 인터페이스 및 제 2 인터페이스; 및
상기 제 1 인터페이스 또는 상기 제 2 인터페이스로부터 공유 메모리 영역에 대한 접근 요청(판독 요청 또는 기록 요청)을 수신하면, 데이터 충돌 여부를 확인하여 공유 메모리 영역에 대한 접근을 승인하는 제어부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
A shared memory area including a first data area, a second data area, and a status area indicating an activated area of the first data area and the second data area;
Each of the plurality of MCUs is connected to one or more MCUs to receive a data read command or a data write command for the shared memory area and access the shared memory area according to the received command, Reads data from the activated data area out of the first data area and the second data area, writes data in the inactivated data area, and then writes the data area in which the status area is newly recorded with data A first interface and a second interface for changing data in the status area to indicate the first interface and the second interface; And
(A read request or a write request) for the shared memory area from the first interface or the second interface, and confirms access to the shared memory area by checking whether there is a data collision. Dual port memory.
제 1 항에 있어서, 상기 제어부는
상기 제 1 인터페이스 또는 상기 제 2 인터페이스로부터 수신된 접근 요청이 판독 요청인 경우에는 접근을 즉시 승인하는 것을 특징으로 하는 것을 특징으로 하는 듀얼 포트 메모리.
The apparatus of claim 1, wherein the control unit
And immediately approves the access if the access request received from the first interface or the second interface is a read request.
제 1 항에 있어서, 상기 제어부는
상기 제 1 인터페이스 또는 상기 제 2 인터페이스로부터 수신된 접근 요청이 기록 요청인 경우에, 동일한 공유 메모리 영역에 대해서 다른 인터페이스로부터 접근 요청이 수신되었는지 확인하고, 다른 인터페이스로부터 접근 요청이 수신되지 않거나, 다른 인터페이스로부터 수신된 접근 요청이 기록을 위한 접근 요청이 아니면, 상기 접근 요청을 승인하는 것을 특징으로 하는 듀얼 포트 메모리.
The apparatus of claim 1, wherein the control unit
If an access request received from the first interface or the second interface is a write request, confirms whether an access request is received from another interface for the same shared memory area, and if no access request is received from another interface, If the access request received from the access point is not an access request for recording, approves the access request.
제 3 항에 있어서, 상기 제어부는
동일한 공유 메모리 영역에 대해서, 다른 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로 접근 요청을 불승인하는 것을 특징으로 하는 듀얼 포트 메모리.
4. The apparatus of claim 3, wherein the control unit
When an access request for recording from another interface is received for the same shared memory area, the access request is approved by either the first interface or the second interface in accordance with a predefined rule, Dual port memory characterized by disapproval.
제 3 항에 있어서, 상기 제어부는
동일한 공유 메모리 영역에 대해서, 다른 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로는 사전에 정의된 시간 지연 후 접근 요청을 승인하는 것을 특징으로 하는 듀얼 포트 메모리.
4. The apparatus of claim 3, wherein the control unit
When an access request for recording from another interface is received for the same shared memory area, the access request is approved by either the first interface or the second interface in accordance with a predefined rule, And accepts the access request after a defined time delay.
제 1 인터페이스, 제 2 인터페이스, 공유 메모리 영역 및 제어부를 포함하는 듀얼 포트 메모리에서 수행되는 듀얼 포트 메모리 제어 방법으로서,
(a) 상기 제 1 인터페이스가 자신에게 연결된 제 1 MCU로부터 제어 명령과 어드레스를 수신하는 단계;
(b) 상기 제 1 인터페이스가 상기 어드레스를 공유 메모리 영역에 대응되는 어드레스로 변환하고, 상기 제어 명령에 따라서 상기 제어부로 변환된 어드레스로의 접근을 요청하는 단계;
(c) 상기 제어부가 상기 제 1 인터페이스로부터 접근 요청을 식별하는 단계;
(d) 상기 접근 요청이 판독을 위한 접근 요청인 경우에, 상기 제어부가 상기 제 1 인터페이스로 접근을 즉시 승인하는 단계;
(e) 접근을 승인받은 상기 제 1 인터페이스가 상기 변환된 어드레스에 접속하여 해당 공유 메모리 영역의 상태 영역을 판독하고, 상기 상태 영역에서 활성화된 데이터 영역으로 식별된 데이터 영역에 기록된 데이터를 판독하여 상기 제 1 MCU 로 전송하는 단계를 포함하고,
상기 공유 메모리 영역은 제 1 데이터 영역, 제 2 데이터 영역 및 상기 제 1 데이터 영역 및 상기 제 2 데이터 영역 중 활성화된 영역을 나타내는 상태 영역을 포함하는 것을 특징으로 하는 듀얼 포트 메모리 제어 방법.
A dual port memory control method performed in a dual port memory including a first interface, a second interface, a shared memory area, and a control unit,
(a) receiving a control command and an address from a first MCU connected to the first interface;
(b) converting, by the first interface, the address into an address corresponding to the shared memory area, and requesting access to the address translated into the control unit in accordance with the control command;
(c) the control unit identifying an access request from the first interface;
(d) if the access request is an access request for reading, the control immediately approving access to the first interface;
(e) the first interface, which is approved for access, connects to the converted address to read the status area of the shared memory area, and reads the data recorded in the data area identified as the activated data area in the status area To the first MCU,
Wherein the shared memory area includes a first data area, a second data area, and a status area indicating an active area of the first data area and the second data area.
제 6 항에 있어서,
(f) 상기 (c) 단계에서 식별된 상기 접근 요청이 기록을 위한 접근 요청인 경우에, 상기 제어부는 동일한 공유 메모리 영역에 대해서 상기 제 2 인터페이스로부터 접근 요청이 수신되었는지 확인하는 단계;
(g) 상기 제 2 인터페이스로부터 접근 요청이 수신되지 않거나, 상기 제 2 인터페이스로부터 수신된 접근 요청이 기록을 위한 접근 요청이 아니면, 상기 제어부가 상기 제 1 인터페이스로 상기 접근 요청을 승인하는 단계; 및
(h) 접근을 승인받은 상기 제 1 인터페이스가 상기 변환된 어드레스에 접근하여 해당 공유 메모리 영역의 상태 영역을 판독하고, 상기 상태 영역으로부터 비활성화된 데이터 영역으로 식별된 데이터 영역에 데이터를 기록하고, 상태 영역이 신규로 데이터가 기록된 데이터 영역을 나타내도록 상태 영역에 데이터를 변경하는 단계를 더 포함하는 것을 특징으로 하는 듀얼 포트 메모리 제어 방법.
The method according to claim 6,
(f) if the access request identified in step (c) is an access request for recording, the control unit confirms whether an access request has been received from the second interface for the same shared memory area;
(g) if the access request from the second interface is not received, or if the access request received from the second interface is not an access request for recording, the control unit approves the access request to the first interface; And
(h) the first interface, which is granted access, accesses the converted address to read the status area of the shared memory area, writes data in the data area identified as the inactivated data area from the status area, Further comprising changing data in the state area so that the area indicates a data area in which data is newly recorded.
제 7 항에 있어서, 상기 (g) 단계는
상기 제 2 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로 접근 요청을 불승인하는 것을 특징으로 하는 듀얼 포트 메모리 제어 방법.
8. The method of claim 7, wherein step (g)
Wherein when an access request for recording is received from the second interface, the access request is approved by any one of the first interface and the second interface and the access request is disallowed by the other one according to a predefined rule A dual port memory control method.
제 7 항에 있어서, 상기 (g) 단계는
상기 제 2 인터페이스로부터 기록을 위한 접근 요청이 수신되면, 사전에 정의된 규칙에 따라서, 상기 제 1 인터페이스 및 상기 제 2 인터페이스 중 어느 하나로 접근 요청을 승인하고, 다른 하나로는 사전에 정의된 시간 지연 후 접근 요청을 승인하는 것을 특징으로 하는 듀얼 포트 메모리 제어 방법.
8. The method of claim 7, wherein step (g)
When receiving an access request for recording from the second interface, approving the access request to one of the first interface and the second interface according to a predefined rule, and the other accepting the access request after a predefined time delay And the access request is accepted.
제 7 항에 있어서,
(i) 상기 (f) 단계에서 확인한 결과, 상기 제 2 인터페이스로부터 판독을 위한 접근 요청이 수신된 경우에, 상기 제어부는 상기 제 2 인터페이스로 접근 요청을 즉시 승인하고, 상기 제 2 인터페이스는 상기 변환된 어드레스에 접속하여 해당 공유 메모리 영역의 상태 영역을 판독하고, 상기 상태 영역에서 활성화된 데이터 영역으로 식별된 데이터 영역에 기록된 데이터를 판독하여 데이터 판독을 요청한 제 2 MCU로 전송하는 단계를 더 포함하는 것을 특징으로 하는 듀얼 포트 메모리 제어 방법.
8. The method of claim 7,
(i) when an access request for reading from the second interface is received as a result of the checking in the step (f), the control unit immediately approves the access request to the second interface, Reading the status area of the shared memory area, reading the data recorded in the data area identified as the activated data area in the status area, and transmitting the read data to the second MCU requesting the data reading Wherein the dual port memory control method comprises:
KR1020170176246A 2017-12-20 2017-12-20 Apparatus and method for controlling dual-port memory KR102364382B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170176246A KR102364382B1 (en) 2017-12-20 2017-12-20 Apparatus and method for controlling dual-port memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170176246A KR102364382B1 (en) 2017-12-20 2017-12-20 Apparatus and method for controlling dual-port memory

Publications (2)

Publication Number Publication Date
KR20190074695A true KR20190074695A (en) 2019-06-28
KR102364382B1 KR102364382B1 (en) 2022-02-16

Family

ID=67065940

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170176246A KR102364382B1 (en) 2017-12-20 2017-12-20 Apparatus and method for controlling dual-port memory

Country Status (1)

Country Link
KR (1) KR102364382B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153300A (en) * 1997-08-05 1999-02-26 Ricoh Co Ltd Data transfer control method, data transfer control device and information recording medium
KR20020088063A (en) * 1999-11-12 2002-11-25 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) Coarse grained determination of data dependence between parallel executed jobs in an information processing system
KR100590387B1 (en) * 2001-04-03 2006-06-15 인터내셔널 비지네스 머신즈 코포레이션 Apparatus and method for efficiently sharing memory bandwidth in a network processor
KR100813133B1 (en) * 2006-11-22 2008-03-17 엠텍비젼 주식회사 Dual port memory apparatus, memory system and method for adaptive using shared memory area of dual port memory apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153300A (en) * 1997-08-05 1999-02-26 Ricoh Co Ltd Data transfer control method, data transfer control device and information recording medium
KR20020088063A (en) * 1999-11-12 2002-11-25 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) Coarse grained determination of data dependence between parallel executed jobs in an information processing system
KR100590387B1 (en) * 2001-04-03 2006-06-15 인터내셔널 비지네스 머신즈 코포레이션 Apparatus and method for efficiently sharing memory bandwidth in a network processor
KR100813133B1 (en) * 2006-11-22 2008-03-17 엠텍비젼 주식회사 Dual port memory apparatus, memory system and method for adaptive using shared memory area of dual port memory apparatus

Also Published As

Publication number Publication date
KR102364382B1 (en) 2022-02-16

Similar Documents

Publication Publication Date Title
KR20170139438A (en) System and method for operating a ddr-compatible asynchronous memory module
JP2008532140A (en) Memory device and method having multiple internal data buses and memory bank interleaving
US7039737B1 (en) Method and apparatus for resource arbitration
JPH06231075A (en) Method and apparatus for zero-hiding loop arbitration
US7200693B2 (en) Memory system and method having unidirectional data buses
US8266361B1 (en) Access methods and circuits for devices having multiple buffers
US20050060441A1 (en) Multi-use data access descriptor
US7934043B2 (en) Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle
JP2003150450A (en) Memory controller, memory system, and control method for memory
JP4642531B2 (en) Arbitration of data requests
US5748203A (en) Computer system architecture that incorporates display memory into system memory
KR20200015233A (en) Semiconductor memory module including nonvolatile memory devices
KR101110550B1 (en) Processor, Multi-processor System And Method For Controlling Access Authority For Shared Memory In Multi-processor System
KR20190074695A (en) Apparatus and method for controlling dual-port memory
JP4193746B2 (en) Matrix bus connection system
WO2016106933A1 (en) Sub-area-based method and device for protecting information of mcu chip
US20100030988A1 (en) Virtualizing switch and computer system
US20200333984A1 (en) Apparatus and method for controlling access to memory module
US8447952B2 (en) Method for controlling access to regions of a memory from a plurality of processes and a communication module having a message memory for implementing the method
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
US20070121398A1 (en) Memory controller capable of handling precharge-to-precharge restrictions
JP4983632B2 (en) Information communication system, access arbitration method thereof, and control program thereof
CN107025190B (en) System and method of operation thereof
KR100441996B1 (en) Direct Memory Access(DMA) Controller and control method
KR100964154B1 (en) A Dual Port Memory and An Method For Controlling Access of Shared Bank of Dual Port Memory

Legal Events

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