KR100686304B1 - Method for controlling access to public bank of dual port memory - Google Patents

Method for controlling access to public bank of dual port memory Download PDF

Info

Publication number
KR100686304B1
KR100686304B1 KR1020050089452A KR20050089452A KR100686304B1 KR 100686304 B1 KR100686304 B1 KR 100686304B1 KR 1020050089452 A KR1020050089452 A KR 1020050089452A KR 20050089452 A KR20050089452 A KR 20050089452A KR 100686304 B1 KR100686304 B1 KR 100686304B1
Authority
KR
South Korea
Prior art keywords
host
access
shared bank
port
bank
Prior art date
Application number
KR1020050089452A
Other languages
Korean (ko)
Inventor
강성태
Original Assignee
엠텍비젼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠텍비젼 주식회사 filed Critical 엠텍비젼 주식회사
Priority to KR1020050089452A priority Critical patent/KR100686304B1/en
Application granted granted Critical
Publication of KR100686304B1 publication Critical patent/KR100686304B1/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
    • G06F13/1684Details of memory controller using multiple buses
    • 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
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

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

Abstract

A method for controlling access to a public bank of a dual port memory is provided to permit the other process to access the public bank even if one process accesses and uses the public bank by allocating the public bank simultaneously permitting the access to two hosts. In case that an access request is received from the hosts connected to two ports at the same time, process priority of both hosts is determined(S402). The host having the higher priority processes data stored in the public bank by transferring a process grant signal to the port of the host having the high process priority and the host having the lower priority accesses the public bank by transferring an access grant signal to the port of the host having the lower process priority(S408,S418). In case that the host having the high process priority completes data processing, the host having the lower priority processes the data stored in the public bank by transferring the process grant signal to the port of the host having the lower process priority(S414,S424).

Description

듀얼 포트 메모리의 공유 뱅크 접근 제어 방법{METHOD FOR CONTROLLING ACCESS TO PUBLIC BANK OF DUAL PORT MEMORY}How to control shared bank access of dual port memory {METHOD FOR CONTROLLING ACCESS TO PUBLIC BANK OF DUAL PORT MEMORY}

도 1은 본 발명이 적용되는 듀얼 포트 메모리를 개략적으로 설명하기 위한 예시도,1 is an exemplary diagram for schematically illustrating a dual port memory to which the present invention is applied;

도 2는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제1실시예 흐름도,2 is a flowchart of a first embodiment for explaining a shared bank access control method of a dual port memory according to the present invention;

도 3은 상기 도 2에서 포트가 수신하는 제어 신호를 설명하기 위한 일실시예 흐름도,3 is a flowchart illustrating an example of a control signal received by a port in FIG. 2;

도 4는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제2실시예 흐름도.4 is a flowchart of a second embodiment for explaining a shared bank access control method of a dual port memory according to the present invention;

<도면의 주요부분에 관한 부호의 설명><Explanation of symbols on main parts of the drawings>

110, 111, 120 : 뱅크 130 : 공유 뱅크110, 111, 120: bank 130: shared bank

140 : 제어부140: control unit

본 발명은 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 관한 것으로서, 보다 상세하게는 듀얼 포트 동적 랜덤 기억 장치(dynamic random access memory; 이하, 간단히 'DRAM'이라 함)에 사용하기 위한 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 관한 것이다.The present invention relates to a shared bank access control method of dual port memory, and more particularly, to sharing dual port memory for use in dual port dynamic random access memory (hereinafter, simply referred to as 'DRAM'). A bank access control method.

일반적으로, DRAM은 오늘날 컴퓨터의 주기억 장치로서 가장 널리 사용되고 있는 대규모 집적 회로(large scale integrated circuit; LSI) 기억 장치로서, 집적 회로상의 커패시터(capacitor)들의 전하의 유무에 따라 2진 숫자('0'와 '1')를 판별하는 방식으로 데이터를 저장한다. In general, DRAM is a large scale integrated circuit (LSI) memory which is most widely used as a main memory device of computers today, with a binary number ('0') depending on the presence or absence of charge of capacitors on the integrated circuit. And '1') to store the data.

이러한 DRAM 중 입출력 포트가 하나인 싱글 포트(single port) DRAM은 그 구조상 하나의 호스트만이 사용할 수 있다. 따라서, 두 개의 호스트가 접근할 경우에는 하나의 호스트의 요청이 모두 종료된 후에 다른 호스트가 접근할 수 있다. 이러한 구조는, 고성능화되고 프로세서가 집적되는 SoC(system On a Chip) 칩의 성능을 저하시키는 요인으로 작용되었다. Among such DRAMs, a single port DRAM having one input / output port can be used only by one host. Therefore, when two hosts access, the other host may access after all requests from one host are terminated. Such a structure has been a factor in degrading the performance of a system on a chip (SoC) chip having high performance and an integrated processor.

이런 이유로 입출력 포트가 2개인 듀얼 포트(dual port) DRAM의 개발 요구가 증가되고 있으며, 이와 같은 요구에 대하여 대한민국 공개특허 제2003-10984호(데이타 액세스 타이밍을 조정하는 듀얼 포트 메모리콘트롤러)가 개시되어 있다.For this reason, the demand for development of dual port DRAM having two input / output ports is increasing, and Korean Patent Publication No. 2003-10984 (Dual Port Memory Controller for adjusting data access timing) has been disclosed. have.

상기 공개특허 제2003-10984호는 데이타를 안정적으로 읽기/쓰기 하기 위해 데이타 액세스 요청을 받아들일 수 없다는 신호를 일정시간 지연시킴으로써 프로세 서의 데이타 액세스 타이밍을 조정하는 것을 특징으로 한다.The above-mentioned Patent Publication No. 2003-10984 is characterized by adjusting the data access timing of the processor by delaying a signal for not being able to accept a data access request for a stable read / write of data.

그러나, 상기 공개특허 제2003-10984호는 한쪽 호스트가 듀얼 포트 메모리 콘트롤러에 접근하여 사용하고 있을 때에는 다른 호스트는 읽기/쓰기 뿐만 아니라 접근조차 불가능한 문제점이 있다. However, the Patent Publication No. 2003-10984 has a problem in that when one host is accessing and using the dual port memory controller, the other host may not only read / write but also access.

본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 두 개의 호스트가 동시에 접근할 수 있는 뱅크인 공유 뱅크를 할당하고, 한쪽 프로세스가 공유 뱅크에 접근하여 사용하고 있을 경우에도 다른 프로세스는 접근이 가능하도록 하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and allocates a shared bank, which is a bank that two hosts can access at the same time, and accesses the other process even if one process accesses and uses the shared bank. Its purpose is to provide a shared bank access control method of dual port memory to enable this.

상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따르면, 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 있어서, 공유 뱅크에 듀얼 포트 중 어느 하나의 포트에 연결된 호스트로부터 접근 요청을 받은 경우, 공유 뱅크가 다른 포트에 연결된 호스트가 접근하여 데이터 처리를 수행하고 있는 때에는, 접근 요청을 한 포트에 접근 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 접근하도록 하는 단계(a); 및 데이터 처리를 수행하고 있는 포트의 호스트가 이를 완료한 경우에, 접근 가능 신호를 전달한 포트에 처리 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(b)를 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법이 제공된다.In order to achieve the above object, according to a preferred embodiment of the present invention, in the shared bank access control method of the dual port memory, when the access request from the host connected to any one of the dual port to the shared bank (A) when the host connected to the other port is accessing the shared bank and performing data processing, by transmitting an access signal to the port requesting the access, allowing the host to access the shared bank; And (b) when the host of the port performing the data processing has completed this, transmitting the processable signal to the port that delivered the accessible signal so that the host performs the processing of the data stored in the shared bank. A shared bank access control method of a dual port memory is provided.

이때, 상기 단계(a)의 공유 뱅크에 접근하도록 하는 것은, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 위한 대기 상태에 있도록 하는 것임이 바람직하다.In this case, accessing the shared bank of step (a) is preferably such that the host is in a standby state for processing data stored in the shared bank.

또한, 본 발명의 다른 실시예에 따르면, 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 있어서, 두 개의 포트에 연결된 호스트로부터 실질적으로 동시에 접근 요청을 받은 경우에, 양 호스트의 프로세스에 대한 우선권을 판단하는 단계(a); 우선권이 실질적으로 높은 프로세스를 가지는 호스트의 포트로 처리 가능 신호를 전달하여, 우선권이 실질적으로 높은 프로세스를 가지는 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(b); 및 우선권이 실질적으로 낮은 프로세스를 가지는 호스트의 포트로 접근 가능 신호를 전달하여, 우선권이 실질적으로 낮은 프로세스를 가지는 호스트가 공유 뱅크에 접근하도록 하는 단계(c)를 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법이 제공된다. In addition, according to another embodiment of the present invention, in the shared bank access control method of the dual port memory, when the access request is received from the host connected to the two ports at the same time, the priority of the process of both hosts is determined Step (a); (B) transmitting a processable signal to a port of a host having a process having a substantially higher priority, so that the host having a process having a higher priority performs processing of data stored in a shared bank; And (c) forwarding an accessible signal to a port of a host having a process having a substantially lower priority, thereby allowing a host having a process having a substantially lower priority to access a shared bank. A control method is provided.

이때, 우선권이 실질적으로 높은 프로세스를 가지는 호스트가 데이터의 처리를 완료한 경우에, 우선권이 실질적으로 낮은 프로세스를 가지는 호스트의 포트로 처리 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(d)를 더 포함할 수 있으며, 상기 (a)단계에서 양 호스트의 프로세스에 대한 우선권이 실질적으로 동일한 경우에, 임의로 하나의 호스트를 선정하여, 우선권이 실질적으로 높은 프로세스를 가지는 호스트로 지정하는 단계(d) 를 더 포함할 수도 있다. In this case, when a host having a process having a substantially higher priority has completed processing of data, the host transmits a processable signal to a port of the host having a process having a substantially lower priority, thereby processing the data stored in the shared bank. The method may further include the step (d), and in the case of (a), if the priority of the processes of both hosts is substantially the same, arbitrarily selecting one host to select a process having a high priority. The branch may further comprise the step (d) of designating a host.

여기서, 상기 단계(b)의 공유 뱅크에 접근하도록 하는 것은, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 위한 대기 상태에 있도록 하는 것임이 바람직하다.In this case, the access to the shared bank of step (b) may be such that the host is in a standby state for processing data stored in the shared bank.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same components have the same number as much as possible even if displayed on different drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명이 적용되는 듀얼 포트 메모리를 개략적으로 설명하기 위한 예시도이다.1 is an exemplary diagram schematically illustrating a dual port memory to which the present invention is applied.

도면에 도시된 바와 같이, 본 발명이 적용되는 듀얼 포트 메모리는, 각각의 포트에 지정된 수의 뱅크(bank)를 가지게 된다. 상기 도 1의 예시에서는, 전체 4개의 뱅크가 있으며, 그 중 두개의 뱅크(BANKA_0 및 BANKA_1)(110, 111)는 A 포트에 할당되어 있고, 한개의 뱅크(BANKB_0)(120)는 B 포트에 할당되어 있음을 알 수 있다. 또한, 나머지 한개의 뱅크인 공유 뱅크(130)는 A 포트 및 B 포트에 동시에 할당되어 있음을 알 수 있다.As shown in the figure, the dual port memory to which the present invention is applied will have a specified number of banks for each port. In the example of FIG. 1, there are four banks in total, of which two banks (BANKA_0 and BANKA_1) 110 and 111 are assigned to port A, and one bank (BANKB_0) 120 is connected to port B. You can see that it is assigned. In addition, it can be seen that the other bank, the shared bank 130, is simultaneously assigned to the A port and the B port.

일반적으로, 듀얼 포트 메모리가 S개의 뱅크를 가진다고 가정하면, S는 다음의 수학식을 만족한다.In general, assuming that the dual port memory has S banks, S satisfies the following equation.

Figure 112005053838163-pat00001
Figure 112005053838163-pat00001

이때, M은 A 포트에 할당된 뱅크(110)의 수이고, N은 B 포트에 할당된 뱅크(120)의 수이며, K는 공유 뱅크(130)의 수이다. 상기 도 1에서는 공유 뱅크(130)의 수가 1개인 경우를 설명하였으나, 그에 한정되는 것은 아니다.In this case, M is the number of banks 110 assigned to port A, N is the number of banks 120 assigned to port B, and K is the number of shared banks 130. In FIG. 1, the case where the number of the shared banks 130 is one is described, but is not limited thereto.

M 개의 뱅크와 N 개의 뱅크는 서로 다른 두 개의 호스트가 각각 A 포트 및 B 포트를 통하여 동시에 접근하여 사용할 수 있는 것으로, 두 개의 프로세스가 충돌이 발생할 염려가 없으나, K 개의 공유 뱅크(130)를 각각의 호스트가 사용하기 위해서 동시에 공유 뱅크(130)에 접근하고자 하는 경우, 또는 한 개의 포트가 이미 접근하여 사용하고 있을 때 다른 포트가 접근하고자 하는 경우에 적절한 중재가 필요하게 된다. M banks and N banks can be accessed by two different hosts at the same time through the A port and the B port, respectively, and there is no fear that the two processes will collide, but each of the K shared banks 130 Appropriate arbitration may be necessary if a host of the station wants to access the shared bank 130 at the same time, or if another port wants to access when one port is already in use.

따라서, 도 1의 제어부(140)는 서로 다른 호스트로부터 각각 접근 요청 신호가 있는 경우 이를 본 발명에 따라 제어하게 된다. 상기 제어부(140)는 본 발명에 따라 두 개의 출력 신호(READY[0] 및 READY[1])을 추가하였으며, 이 신호를 전달받은 호스트는 이 출력 신호가 '0'의 값이면 공유 뱅크에 접근이 가능하지만 데이터 처리는 불가능하여, 그 값이 '1'이 될 때까지 동작을 기다려야 하는 것을 특징으로 한다. 즉, 출력 신호 '0'은 '접근 가능 신호', 출력 신호 '1'은 '처리 가능 신호'라 할 수 있을 것이다.Therefore, the controller 140 of FIG. 1 controls each of the access request signals from different hosts according to the present invention. The controller 140 added two output signals READY [0] and READY [1] according to the present invention, and the host receiving the signal accesses the shared bank if the output signal is '0'. This is possible, but data processing is not possible, and the operation must be waited until the value becomes '1'. That is, the output signal '0' may be referred to as an 'accessible signal' and the output signal '1' may be referred to as a 'processable signal'.

이때, 상기 READY[0] 및 상기 READY[1] 신호는 각각 A 포트 및 B 포트에 인 가되는 신호로 정의하기로 한다.In this case, the READY [0] and the READY [1] signal will be defined as a signal applied to the A port and the B port, respectively.

한편, 본 발명의 설명의 편의를 위하여, A 포트에 연결된 호스트를 'A 호스트'라고 하며, B 포트에 연결된 호스트를 'B 호스트'라 하기로 한다. 또한, A 호스트에서 진행되는 프로세스를 'A 프로세스'라 하며, B 호스트에서 진행되는 프로세스를 'B 프로세스'라 하기로 한다. 다만, 이는 본 발명의 설명의 편의를 위하여 한정하여 설명하는 것일 뿐, 본 발명이 그에 한정되는 것은 아니다.Meanwhile, for convenience of description of the present invention, a host connected to the A port is referred to as a 'A host', and a host connected to the B port is referred to as a 'B host'. In addition, the process going on host A will be referred to as 'Process A', and the process going on host B will be referred to as 'B Process'. However, this is only to be described for the convenience of description of the present invention, the present invention is not limited thereto.

도 2는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제1실시예 흐름도로서, 하나의 호스트가 상기 공유 뱅크(130)에 접근하여 사용하고 있는 경우에 다른 호스트가 접근하는 경우를 나타낸 것이다.FIG. 2 is a flowchart illustrating a method for controlling access to a shared bank of a dual port memory according to the present invention. In the case where one host accesses and uses the shared bank 130, another host accesses it. The case is shown.

도면에 도시된 바와 같이, 본 발명의 접근 제어 방법은, 임의의 호스트가 상기 공유 뱅크에 접근하고자 하였을 때(S200), 만약 다른 호스트가 상기 공유 뱅크(130)에 접근(ACCESS)하여 상기 공유 뱅트(130) 내에 저장된 데이터에 대하여 읽기/쓰기 등을 수행함으로써 사용중인 경우에는(S202), 해당 포트에 상기 제어부(140)가 'READY=0'을 전송한다(S204). 이로써, 해당 호스트는 상기 공유 뱅트(130)에 접근은 가능하나(S206), 그에 저장된 데이터의 읽기/쓰기 등의 처리는 아직 불가능한 대기 상태라 할 수 있다.As shown in the figure, the access control method of the present invention, when any host attempts to access the shared bank (S200), if another host accesses the shared bank 130 (ACCESS) the shared bank In the case of being used by reading / writing the data stored in the 130 (S202), the controller 140 transmits 'READY = 0' to the corresponding port (S204). Thus, the host can access the shared bank 130 (S206), but it can be said that a standby state in which processing such as reading / writing of data stored therein is not yet possible.

이후, 먼저 접근한 호스트의 데이터 처리가 종료된 경우에는(S208), 상기 제어부(140)가 해당 포트에 'READY=1'을 전달하여(S210), 상기 공유 뱅트(130)에 접근하여 저장된 데이터에 대하여 읽기 및/또는 쓰기가 가능하도록 할 수 있다 (S212).After that, when the data processing of the first accessed host is terminated (S208), the controller 140 transmits 'READY = 1' to the corresponding port (S210), and accesses and stores the shared bank 130. It may be possible to read and / or write with respect to (S212).

이와 같이, 본 발명은 하나의 호스트가 공유 뱅크에 접근하여 사용하고 있을 경우, 다른 포트에 할당되는 READY 신호를 '0'으로 셋팅하며, 이때 해당 포트의 호스트는 접근은 가능하며 처리는 상기 제어부(140)가 전송하는 READY 신호가 '1'이 되는 경우에 가능하게 된다.As such, when one host accesses and uses a shared bank, the present invention sets a READY signal allocated to another port to '0', where the host of the corresponding port is accessible and processing is performed by the control unit. This is possible when the READY signal transmitted by 140 is '1'.

도 3은 상기 도 2에서 포트가 수신하는 제어 신호를 설명하기 위한 일실시예 흐름도로서, 하나의 호스트가 상기 공유 뱅크(130)에 접근하여 사용하고 있는 경우에 다른 호스트가 접근할 때, 각 포트에 전송되는 듀얼 포트 메모리의 주제어부(도시되지 않음)의 명령에 따른 상기 제어부(140)의 READY 신호의 상태를 설명하기 위한 것이다. FIG. 3 is a flowchart illustrating an example of a control signal received by a port in FIG. 2. When one host accesses and uses the shared bank 130, each port approaches a port. This is for explaining the state of the READY signal of the control unit 140 according to the command of the main controller (not shown) of the dual port memory transmitted to.

이때, 앞서 설명한 바와 같이, READY[0] 및 READY[1] 신호는 각각 A 포트 및 B 포트에 인가되는 신호이다.In this case, as described above, the READY [0] and READY [1] signals are applied to the A port and the B port, respectively.

도면에 도시된 바와 같이, 본 발명의 임의의 포트에 듀얼 포트 메모리의 상기 주제어부로부터 활성화(ACTIVE) 명령이 전달되면(S300), 이 경우 READY[0]=1 및 READY[1]=1 과 같다(300). As shown in the figure, if an ACTIVE command is transmitted from the main controller of the dual port memory to any port of the present invention (S300), in this case READY [0] = 1 and READY [1] = 1 and Equals (300).

이때, A 포트로의 활성화 명령인 경우에는(S302), 다시 상기 공유 뱅크(130)로의 활성화 명령인지를 확인한다(S304). 이 경우 계속하여 READY[0]=1 및 READY[1]=1 이다(302, 304). 상기 공유 뱅크(130)에 대한 활성화 명령인 경우에는(S304), READY[0]=1 및 READY[1]=0 이다(306). 즉, 이 경우 호스트 A는 상기 공유 뱅크(130)에 대하여 데이터의 처리가 가능하며, 호스트 B는 상기 공유 뱅트(130)에 대하여 접근만이 가능하다.At this time, in the case of the activation command to the A port (S302), it is checked whether the activation command to the shared bank 130 again (S304). In this case, READY [0] = 1 and READY [1] = 1 are continued (302 and 304). In case of an activation command for the shared bank 130 (S304), READY [0] = 1 and READY [1] = 0 (306). That is, in this case, the host A may process data with respect to the shared bank 130, and the host B may access only the shared bank 130.

이후, A 포트의 호스트 A가 상기 공유 뱅크(130)에 대한 처리를 완료하여, 상기 주제어부로부터 준비충전(PRECHARGE) 명령을 수신한 경우에는(S306), 상기 제어부(140)는 다시 READY[0]=1 및 READY[1]=1을 각 포트에 전송할 수 있다(308). 만약, 상기 S304 단계에서 상기 공유 뱅크(130)에 대한 활성화 명령이 아닌 경우에는, A 포트에 할당된 뱅크에 대하여 데이터의 처리를 수행할 수 있으며, 이때, READY[0]=1 및 READY[1]=1 일 것이다(308).Thereafter, when the host A of the port A completes the processing of the shared bank 130 and receives a PRECHARGE command from the main controller (S306), the controller 140 again reads READY [0]. ] = 1 and READY [1] = 1 may be sent to each port (308). If the command is not an activation command for the shared bank 130 in step S304, data processing may be performed on the bank allocated to the A port, where READY [0] = 1 and READY [1. ] = 1 will be (308).

한편, 상기 S302 단계에서, A 포트로의 활성화 명령이 아닌 경우, 즉 B 포트로의 활성화 명령인 경우에는, 다시 상기 공유 뱅크(130)로의 활성화 명령인지를 확인한다(S310). 이 경우 계속하여 READY[0]=1 및 READY[1]=1 이다(302, 310). 상기 공유 뱅크(130)에 대한 활성화 명령인 경우에는(S310), READY[0]=0 및 READY[1]=1 이다(312). 즉, 이 경우 호스트 A는 상기 공유 뱅크(130)에 대하여 접근만이 가능하며, 호스트 B는 상기 공유 뱅트(130)에 대하여 데이터의 처리가 가능하.On the other hand, in step S302, if it is not the activation command to the port A, that is, the activation command to the port B, it is checked whether the activation command to the shared bank 130 again (S310). In this case, READY [0] = 1 and READY [1] = 1 are continued (302 and 310). In the case of the activation command for the shared bank 130 (S310), READY [0] = 0 and READY [1] = 1 (312). That is, in this case, the host A can only access the shared bank 130, and the host B can process data with respect to the shared bank 130.

이후, B 포트의 호스트 B가 상기 공유 뱅크(130)에 대한 데이터 처리를 완료하여, 상기 주제어부로부터 준비충전 명령을 수신한 경우에는(S314), 상기 제어부(140)는 다시 READY[0]=1 및 READY[1]=1을 각 포트에 전송할 수 있다(314). 만약, 상기 S310 단계에서 상기 공유 뱅크(130)에 대한 활성화 명령이 아닌 경우에는, B 포트에 할당된 뱅크에 대하여 데이터의 처리를 수행할 수 있으며, 이때, READY[0]=1 및 READY[1]=1 일 것이다(314).Thereafter, when the host B of the B port completes the data processing for the shared bank 130 and receives the preparation charge command from the main controller (S314), the controller 140 again reads READY [0] =. 1 and READY [1] = 1 may be sent to each port (314). If the command is not an activation command for the shared bank 130 in step S310, data processing may be performed on the bank allocated to the B port, where READY [0] = 1 and READY [1. ] = 1 will be 314.

도 4는 본 발명에 따른 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법을 설명하기 위한 제2실시예 흐름도로서, 두 개의 호스트가 각각 동시에 상기 공유 뱅크(130)에 접근하는 경우를 나타낸 것이다.FIG. 4 is a flowchart illustrating a method for controlling access to a shared bank of a dual port memory according to an embodiment of the present invention, and illustrates a case where two hosts access the shared bank 130 at the same time.

본 발명에 따라, 두 개의 호스트가 상기 공유 뱅크(130)에 접근하려고 하는 경우에(S400), 상기 제어부(140)는 양 프로세스의 우선권을 판단하는 것이 바람직하다(S402). According to the present invention, when two hosts try to access the shared bank 130 (S400), the controller 140 preferably determines the priority of both processes (S402).

일반적으로, DRAM의 경우에는 우선권은 좀 더 빠른 종작을 하는 호스트에 할당되는 것으로, 대체로 A 포트에 대한 우선권이 높지만, 본 발명에서는 이에 대한 상세한 설명은 생략하기로 하고, 우선권의 판단을 수행하는 것으로 한다.In general, in the case of DRAM, priority is assigned to a host that performs a faster termination, and in general, the priority for port A is high, but the detailed description thereof will be omitted in the present invention, and the determination of priority is performed. do.

즉, 상기 제어부(140)는 우선권이 높은 프로세스를 선정하여(S404), 만약 A 프로세스의 우선권이 높은 경우에는, 각 포트에 READY[0]=1 및 READY[1]=0을 전달한다(S406). 이로써, A 호스트는 상기 공유 뱅크(130)에 접근하여 저장된 데이터에 대한 읽기/쓰기 등의 처리가 가능하게 되며, B 호스트는 상기 공유 뱅크(130)에 접근하여 데이터 처리를 위하여 대기할 수 있다(S408).That is, the controller 140 selects a process having a high priority (S404), and if the priority of the A process is high, delivers READY [0] = 1 and READY [1] = 0 to each port (S406). ). As a result, host A may access the shared bank 130 to read / write the stored data, and host B may access the shared bank 130 to wait for data processing (see FIG. S408).

이후, A 호스트가 상기 공유 뱅크(130)에 저장된 데이터에 대하여 읽기/쓰기 등의 처리가 완료된 경우에(S410), 각 포트에 READY[0]=0 및 READY[1]=1을 전달한다(S412). 이로써, B 호스트는 데이터의 읽기/쓰기 등의 처리가 가능하다(S414).Thereafter, when host A completes the process of reading / writing the data stored in the shared bank 130 (S410), READY [0] = 0 and READY [1] = 1 are transmitted to each port (S410). S412). As a result, the host B can perform processing such as reading / writing of data (S414).

만약, 상기 S404 단계에서 B 프로세스의 우선권이 높은 경우에는, 상기 2406 단계 내지 S414 단계를 A 호스트 및 B 호스트가 순서를 바꿔 수행할 수 있다(S416 단계 내지 S424)If the priority of the B process is high in step S404, host A and host B may perform steps 2406 to S414 in a reverse order (steps S416 to S424).

만약, 상기 S404 단계에서 양 프로세스의 우선권이 동일한 경우에는, 임의로 프로세스를 선정하여(S426), 선정한 프로세스가 A 프로세스인 경우에는(S428), 상기 S406 단계 내지 상기 S414 단계를 수행하며, 상기 S426 단계에서 선정한 프로세스가 B 프로세스인 경우에는(S428), 상기 S416 단계 내지 S424 단계를 수행하는 것이 바람직하다.If the priority of both processes is the same in step S404, a process is arbitrarily selected (S426), and if the selected process is an A process (S428), steps S406 through S414 are performed, and step S426 is performed. If the process selected in step B is a process (S428), it is preferable to perform the steps S416 to S424.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.

상기한 바와 같은 본 발명은, 두 개의 출력 신호(READY[0] 및 READY[1])을 추가하여 이 출력 신호가 '0'의 값을 출력하면 공유 뱅크에 접근은 가능하되, 그 신호가 '1'이 될 때에 데이터 처리가 가능하도록 함으로써, 두 개의 호스트가 동시에 공유 뱅크에 접근하고자 하는 경우, 또는 한 개의 포트가 이미 접근하여 사용하고 있을 때 다른 호스트가 접근하고자 하는 경우에, 이에 대한 중재를 효율적으로 수행할 수 있도록 하는 효과가 있다.In the present invention as described above, if two output signals READY [0] and READY [1] are added and this output signal outputs a value of '0', access to the shared bank is possible, but the signal is' By enabling data processing at 1 ', arbitration can be achieved when two hosts want to access a shared bank at the same time, or when another host wants to access one port already in use. There is an effect that can be performed efficiently.

Claims (6)

듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 있어서,In the shared bank access control method of the dual port memory, 공유 뱅크에 듀얼 포트 중 어느 하나의 포트에 연결된 호스트로부터 접근 요청을 받은 경우, 공유 뱅크가 다른 포트에 연결된 호스트가 접근하여 데이터 처리를 수행하고 있는 때에는, 접근 요청을 한 포트에 접근 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 접근하도록 하는 단계(a); 및When a shared bank receives an access request from a host connected to one of the dual ports, when a host connected to another port accesses and performs data processing, the access bank sends an access signal to the port that requested the access. (A) allowing the host to access the shared bank; And 데이터 처리를 수행하고 있는 포트의 호스트가 이를 완료한 경우에, 접근 가능 신호를 전달한 포트에 처리 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(b)When the host of the port performing the data processing has completed this, transmitting the processable signal to the port which delivered the accessible signal so that the host performs the processing of the data stored in the shared bank (b). 를 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법.Shared bank access control method of the dual port memory including a. 제1항에 있어서,The method of claim 1, 상기 단계(a)의 공유 뱅크에 접근하도록 하는 것은,To access the shared bank of step (a), 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 위한 대기 상태에 있도록 하는 것임을 특징으로 하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법.A method of controlling access to a shared bank of dual port memory, wherein the host is in a standby state for processing data stored in the shared bank. 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법에 있어서,In the shared bank access control method of the dual port memory, 두 개의 포트에 연결된 호스트로부터 실질적으로 동시에 접근 요청을 받은 경우에, 양 호스트의 프로세스에 대한 우선권을 판단하는 단계(a);(A) determining a priority of a process of both hosts when receiving access requests from hosts connected to two ports at substantially the same time; 우선권이 실질적으로 높은 프로세스를 가지는 호스트의 포트로 처리 가능 신호를 전달하여, 우선권이 실질적으로 높은 프로세스를 가지는 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(b); 및(B) transmitting a processable signal to a port of a host having a process having a substantially higher priority, so that the host having a process having a higher priority performs processing of data stored in a shared bank; And 우선권이 실질적으로 낮은 프로세스를 가지는 호스트의 포트로 접근 가능 신호를 전달하여, 우선권이 실질적으로 낮은 프로세스를 가지는 호스트가 공유 뱅크에 접근하도록 하는 단계(c)(C) transmitting an accessible signal to a port of a host having a process having a substantially lower priority so that a host having a process having a substantially lower priority has access to a shared bank; 를 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법. Shared bank access control method of the dual port memory including a. 제3항에 있어서,The method of claim 3, 우선권이 실질적으로 높은 프로세스를 가지는 호스트가 데이터의 처리를 완료한 경우에, 우선권이 실질적으로 낮은 프로세스를 가지는 호스트의 포트로 처리 가능 신호를 전달하여, 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 수행하도록 하는 단계(d)를 더 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법.When a host having a process having a substantially higher priority has completed processing of data, the host transmits a processable signal to a port of the host having a process having a substantially lower priority, and the host performs processing of data stored in a shared bank. The shared bank access control method of the dual port memory further comprising the step (d). 제3항에 있어서,The method of claim 3, 상기 (a)단계에서 양 호스트의 프로세스에 대한 우선권이 실질적으로 동일한 경우에, 임의로 하나의 호스트를 선정하여, 우선권이 실질적으로 높은 프로세스를 가지는 호스트로 지정하는 단계(d)를 더 포함하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법.In the case of (a), if the priority of the processes of both hosts is substantially the same, the dual port further includes the step of selecting one host arbitrarily and designating it as a host having a process having a high priority. How to control shared bank access of memory. 제3항에 있어서,The method of claim 3, 상기 단계(b)의 공유 뱅크에 접근하도록 하는 것은,To access the shared bank of step (b), 해당 호스트가 공유 뱅크에 저장된 데이터의 처리를 위한 대기 상태에 있도록 하는 것임을 특징으로 하는 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법.A method of controlling access to a shared bank of dual port memory, wherein the host is in a standby state for processing data stored in the shared bank.
KR1020050089452A 2005-09-26 2005-09-26 Method for controlling access to public bank of dual port memory KR100686304B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050089452A KR100686304B1 (en) 2005-09-26 2005-09-26 Method for controlling access to public bank of dual port memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050089452A KR100686304B1 (en) 2005-09-26 2005-09-26 Method for controlling access to public bank of dual port memory

Publications (1)

Publication Number Publication Date
KR100686304B1 true KR100686304B1 (en) 2007-02-22

Family

ID=38104455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050089452A KR100686304B1 (en) 2005-09-26 2005-09-26 Method for controlling access to public bank of dual port memory

Country Status (1)

Country Link
KR (1) KR100686304B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850277B1 (en) 2006-11-15 2008-08-04 삼성전자주식회사 Bank addresses assign method for use in multi-path accessible semiconductor memory device
US7870326B2 (en) 2006-07-28 2011-01-11 Samsung Electronics Co., Ltd. Multiprocessor system and method thereof
KR101639946B1 (en) * 2015-04-13 2016-07-14 엘에스산전 주식회사 Method of controlling access of dual port memory system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151142A (en) * 1991-11-28 1993-06-18 Nec Corp Interface circuit
KR950009763B1 (en) * 1992-07-03 1995-08-28 현대전자산업주식회사 A method of data transmission and synchronization between two cpu's
KR950012509B1 (en) * 1993-12-27 1995-10-18 재단법인한국전자통신연구소 Communication circuit between master and slave processors
KR20060090083A (en) * 2005-02-07 2006-08-10 삼성전자주식회사 Dual port memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151142A (en) * 1991-11-28 1993-06-18 Nec Corp Interface circuit
KR950009763B1 (en) * 1992-07-03 1995-08-28 현대전자산업주식회사 A method of data transmission and synchronization between two cpu's
KR950012509B1 (en) * 1993-12-27 1995-10-18 재단법인한국전자통신연구소 Communication circuit between master and slave processors
KR20060090083A (en) * 2005-02-07 2006-08-10 삼성전자주식회사 Dual port memory device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870326B2 (en) 2006-07-28 2011-01-11 Samsung Electronics Co., Ltd. Multiprocessor system and method thereof
KR100850277B1 (en) 2006-11-15 2008-08-04 삼성전자주식회사 Bank addresses assign method for use in multi-path accessible semiconductor memory device
KR101639946B1 (en) * 2015-04-13 2016-07-14 엘에스산전 주식회사 Method of controlling access of dual port memory system
US9766821B2 (en) 2015-04-13 2017-09-19 Lsis Co., Ltd. Access controlling method of dual port memory system

Similar Documents

Publication Publication Date Title
US7783827B2 (en) Data processor having a memory controller with cache memory
US20080126643A1 (en) Semiconductor circuit
US8209497B2 (en) Multi-port memory and system using the same
KR100585116B1 (en) Arbiter improving access efficiency of the multi-bank memory device, memory access arbitration system having the same and method thereof
JP2001523361A (en) Method and apparatus for simultaneously accessing a shared memory from multiple agents
JPWO2006030650A1 (en) Information processing apparatus that shares resources among multiple processing units
US8006026B2 (en) Multi-port memory and computer system provided with the same
US5822768A (en) Dual ported memory for a unified memory architecture
JP2011081553A (en) Information processing system and control method thereof
KR100686304B1 (en) Method for controlling access to public bank of dual port memory
JP4560498B2 (en) Arbitration scheme for shared memory devices
US8261023B2 (en) Data processor
EP1313019A1 (en) Arbitration apparatus
US20050177674A1 (en) Configurable embedded processor
US5748203A (en) Computer system architecture that incorporates display memory into system memory
US11360897B1 (en) Adaptive memory access management
KR100874169B1 (en) Dual port memory for direct transfer of commands between processors and method for performing them
KR100886179B1 (en) Method for Handling Access Right Acquisition in Dual Port Memory and Apparatus therefore
US7200706B2 (en) Semiconductor integrated circuit
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
KR100441996B1 (en) Direct Memory Access(DMA) Controller and control method
US20080228961A1 (en) System including virtual dma and driving method thereof
EP1156421A2 (en) CPU system with high-speed peripheral LSI circuit
EP0284094B1 (en) Tandem priority resolver
KR100210404B1 (en) An apparatus for controlling access of memory in dual bus system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 14