KR100754358B1 - Refresh method of shared memory area and multi-port memory device performing the method - Google Patents

Refresh method of shared memory area and multi-port memory device performing the method Download PDF

Info

Publication number
KR100754358B1
KR100754358B1 KR1020060046847A KR20060046847A KR100754358B1 KR 100754358 B1 KR100754358 B1 KR 100754358B1 KR 1020060046847 A KR1020060046847 A KR 1020060046847A KR 20060046847 A KR20060046847 A KR 20060046847A KR 100754358 B1 KR100754358 B1 KR 100754358B1
Authority
KR
South Korea
Prior art keywords
port
shared
command
refresh
access
Prior art date
Application number
KR1020060046847A
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 KR1020060046847A priority Critical patent/KR100754358B1/en
Application granted granted Critical
Publication of KR100754358B1 publication Critical patent/KR100754358B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • 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

Abstract

A method for refreshing a shared memory area and a multi-port memory device performing the same are provided stably to refresh the shared memory area of the multi-port memory device like a shared bank and perform refresh according to the shared memory area implemented by a plurality of blocks permitting the plurality of ports concurrently to access the shared memory area. The shared memory area(202) permits access to processors through each port(220.222). An access authority register logic(240) controls access authority for permitting each processor to access the shared memory area through each port. The shared memory area is refreshed by an auto-refresh command or a self-refresh command received from the processor having the access authority when the auto-refresh command is received from the processor having the access authority or any processor has no access authority. If the self-refresh command is received from more than two processors, the shared memory area performs self-refresh according to the self-refresh command received through the predetermined port.

Description

공유 저장영역의 리프레쉬 방법 및 그 방법을 수행하는 다중 포트 메모리 장치{Refresh method of shared memory area and multi-port memory device performing the method}Refresh method of shared memory area and multi-port memory device performing the method}

도 1은 종래의 다중 포트 메모리 중 듀얼 포트 메모리의 뱅크 구조를 도시한 도면.1 is a diagram showing a bank structure of a dual port memory of a conventional multi-port memory.

도 2는 본 발명의 바람직한 일 실시예에 따른 다중 포트 메모리 장치를 개략적으로 도시한 구성도.2 is a schematic diagram illustrating a multi-port memory device according to an exemplary embodiment of the present invention.

도 3은 일반적인 MRS 커맨드 및 어드레스 조합의 구조를 도시한 도면.3 illustrates a structure of a general MRS command and address combination.

도 4는 본 발명의 바람직한 일 실시예에 따른 변형된 MRS 커맨드의 일례를 도시한 도면.4 illustrates an example of a modified MRS command in accordance with one preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 일 실시예에 따른 공유 뱅크와 접근 권한 레지스터 로직을 도시한 도면5 illustrates shared bank and access rights register logic in accordance with one preferred embodiment of the present invention.

도 6은 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터 로직의 구성을 도시한 도면.6 is a diagram showing the configuration of access right register logic according to an embodiment of the present invention.

도 7 내지 도 11은 본 발명의 바람직한 실시예에 따른 공유 블록으로 분할되지 않은 공유 뱅크의 리프레쉬 방법을 도시한 도면.7 to 11 illustrate a method of refreshing a shared bank not divided into shared blocks according to a preferred embodiment of the present invention.

도 12 내지 도 16은 본 발명의 바람직한 실시예에 따른 공유 뱅크가 복수의 공유 블록으로 분할된 경우의 공유 블록의 리프레쉬 방법을 도시한 도면.12 to 16 illustrate a method of refreshing a shared block when the shared bank is divided into a plurality of shared blocks according to a preferred embodiment of the present invention.

<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>

200 : A-포트 전용 뱅크200: A-port dedicated bank

202 : 공유 뱅크202: shared bank

204 : B-포트 전용 뱅크204: B-Port Dedicated Bank

220 : A-포트220: A-port

222 : B-포트222 B-port

240 : 접근 권한 레지스터 로직240: access rights register logic

242 : 컨트롤 로직242: control logic

244 : 플래그 로직244 flag logic

246 : 리프레쉬 로직246: refresh logic

본 발명은 다중 포트 메모리 장치에 관한 것으로서, 더욱 상세하게는 공유 저장영역의 리프레쉬 방법 및 그 방법을 수행하는 다중 포트 메모리 장치에 관한 것이다. The present invention relates to a multi-port memory device, and more particularly, to a refresh method of a shared storage area and a multi-port memory device for performing the method.

일반적으로 메모리는 그 구분 방법에 따라 다양하게 나누어진다. 예를 들어, 전원의 인가여부에 따라 저장된 내용이 유지되는지 여부에 따라 휘발성 메모리와 비휘발성 메모리로 구분될 수 있으며, 일반적으로 휘발성 메모리는 RAM(Random Access Memory), 비휘발성 메모리는 ROM(Read Only Memory)이라고 지칭된다.In general, memory is divided into various ways according to how it is divided. For example, depending on whether the stored contents are maintained according to whether the power is applied or not, it may be classified into volatile memory and nonvolatile memory. Generally, volatile memory is random access memory (RAM), and nonvolatile memory is ROM (Read Only). Memory).

휘발성 메모리는 다시 주기적으로 메모리를 구성하는 셀(cell)을 재생(refresh)시켜 주어야 하는지 여부에 따라 DRAM(Dynamic RAM)과 SRAM(Static RAM)으로 구분된다.Volatile memory is divided into DRAM (Dynamic RAM) and SRAM (Static RAM) according to whether or not the cells constituting the memory should be refreshed periodically.

또한 이러한 분류 방법 뿐만 아니라 메모리에 접근(access) 가능한 포트의 수에 따라 싱글 포트(single port) 메모리와 듀얼 포트(dual port) 메모리 등으로 나뉜다.In addition to the classification method, single port memory and dual port memory are classified according to the number of accessible ports.

싱글 포트 메모리는 하나의 포트로 메모리를 구성하는 모든 셀(cell)들에 접근 가능한 반면, 싱글 포트 메모리를 제외한 복수개의 포트 메모리는 각각의 포트에서 접근 가능한 셀(cell)이 제한될 수 있다.The single port memory is accessible to all cells constituting the memory through a single port, whereas a plurality of port memories except for the single port memory may be limited to cells accessible from each port.

그러나 최근의 디지털 처리 장치는 각각 미리 설정된 기능을 수행하기 위한 복수의 프로세서(processor)를 구비하고 각각의 프로세서는 오퍼레이션(operation)을 위한 데이터, 처리하기 위한 데이터, 처리한 데이터 등을 저장하기 위한 메모리와 결합된다.However, recent digital processing apparatuses each have a plurality of processors for performing a predetermined function, and each processor has a memory for storing data for operation, data for processing, processed data, and the like. Combined with.

이러한 복수의 프로세서가 하나의 메모리를 공유하는 메모리 시스템에서는 싱글 포트(single port) 메모리보다 복수개의 포트를 포함하는 다중 포트 메모리가 더욱 효율적이므로 최근 다중 포트 메모리가 널리 사용되고 있다.In a memory system in which a plurality of processors share one memory, a multi-port memory including a plurality of ports is more efficient than a single port memory, and thus, multi-port memory has been widely used in recent years.

도 1은 종래의 다중 포트 메모리 중 듀얼 포트 메모리의 뱅크 구조를 도시한 도면이다. 1 is a diagram illustrating a bank structure of a dual port memory of a conventional multi-port memory.

도 1을 참조하면, A-포트(110) 및 B-포트(112) 각각을 통해 독립적으로 결합된 복수의 프로세서에 의해 공유되는 종래의 듀얼 포트 메모리는 A-포트(110), B-포트(112), A-포트 전용 뱅크(100), 공유 뱅크(102), B-포트 전용 뱅크(104, 106)를 포함한다. A-포트 전용 뱅크(100)는 A, B 두 개의 포트 중 A-포트(110)를 통해서만 접근하여 데이터를 독출하거나 기록하는 뱅크이며, B-포트 전용 뱅크(104, 106)는 B-포트(112)를 통해서만 접근하여 데이터를 독출하거나 기록하는 뱅크이다. Referring to FIG. 1, a conventional dual port memory shared by a plurality of processors independently coupled through each of the A-port 110 and the B-port 112 is an A-port 110, a B-port ( 112, A-port dedicated bank 100, shared bank 102, and B-port dedicated banks 104, 106. The A-port dedicated bank 100 is a bank that accesses only through the A-port 110 to read or write data among the two A and B ports, and the B-port dedicated banks 104 and 106 are the B-port ( A bank that accesses only through 112) to read or write data.

공유 뱅크(102)는 A-포트(110) 또는 B-포트(112)를 통해서 각각 접근하여 데이터를 독출하거나 기록할 수 있는 뱅크이다.The shared bank 102 is a bank that can be accessed through the A-port 110 or the B-port 112 to read or write data.

공유 뱅크(102)는 A-포트(110) 및 B-포트(112)를 통해 모두 사용할 수 있는 뱅크이나, A-포트(110) 및 B-포트(112) 중 어느 한 포트를 통해 공유 뱅크(102)가 사용되는 경우에는 다른 포트를 통해서는 공유 뱅크(102)를 사용할 수 없다. 즉, A-포트(110)에 결합된 제1 프로세서(도시되지 않음)가 공유 뱅크(102)에 접근하여 데이터를 독출하는 동안은 B-포트(112)에 결합된 제2 프로세서는 공유 뱅크(102)에 접근할 수 없도록 제한된다. 따라서, A-포트(110)를 통해서 공유 뱅크(102)가 사용되고 있는 동안에는 B-포트(112)를 통해서 공유 뱅크(102)를 사용할 수 없다.The shared bank 102 is a bank that can be used both through the A-port 110 and the B-port 112, or the shared bank (through either the A-port 110 or the B-port 112). If 102 is used, the shared bank 102 cannot be used through other ports. That is, while the first processor (not shown) coupled to the A-port 110 accesses the shared bank 102 and reads data, the second processor coupled to the B-port 112 is shared bank. 102 is restricted from access. Therefore, the shared bank 102 cannot be used through the B-port 112 while the shared bank 102 is being used through the A-port 110.

만일 복수의 포트를 통해 공유된 메모리를 동시에 접근(access)할 경우, 각 프로세서에 대한 접근 권한을 컨트롤해주지 않으면 오동작이 발생할 뿐만 아니라, 가장 나쁜 경우에는 셀 데이터까지 해손 될 수 있는 위험성이 있다. 이를 해결하기 위한 방법으로, 하나의 공유 뱅크에 복수의 프로세서가 동시에 복수의 포트를 통해 접근을 시도할 경우, 먼저 접근을 시도한 어느 한쪽의 프로세서가 접근 권한을 가지게 된다. 이때는 먼저 사용하려고 권한을 가져간 프로세서가 계속 해당 공유 뱅크의 사용이 가능하고, 다른쪽 포트를 통한 접근을 시도한 프로세서는 권한을 가져간 공유 뱅크 외의 다른 공유 뱅크(도 1에는 도시되지 않았으나 복수의 공유 뱅크가 존재할 수 있음)의 접근 권한을 가져가든지 아니면 먼저 점유된 공유 뱅크의 접근 권한이 반납될 때까지 기다렸다가 사용을 해야 한다.If the shared memory is accessed through multiple ports at the same time, if the access rights for each processor are not controlled, not only a malfunction may occur, but in the worst case, cell data may be damaged. In order to solve this problem, when a plurality of processors attempt to access a single shared bank through a plurality of ports at the same time, either processor that attempts to access first has access. In this case, the processor that has been authorized to use the first bank can continue to use the shared bank, and the processor that has attempted to access the other port can use another shared bank (not shown in FIG. 1 but a plurality of shared banks). Or access it first until the access rights of the occupied shared bank have been returned.

SDRAM과 같은 메모리는 기록된 데이터의 보존을 위해 주기적으로 리프레쉬를수행한다. 리프레쉬는 셀프 리프레쉬(self refresh)와 오토 리프레쉬(auto refresh)로 구분될 수 있다. 셀프 리프레쉬는 외부(예를 들어, 임의의 프로세서)에서 입력된 셀프 리프레쉬 명령(command)에 의해 셀프 리프레쉬에 진입하여 별도의 중지 명령이 있을 때까지 일정 시간마다 계속 리프레쉬를 수행하도록 하는 명령이다. 오토 리프레쉬는 주기적으로 외부에서 입력되는 오토 리프레쉬 명령에 의해 한번만 수행된다. 리프레쉬는 간단히 설명하면, 셀(cell)의 전하를 증폭하여 저장된 데이터를 유지하도록 하는 기능이다.Memory such as SDRAM periodically refreshes to preserve the recorded data. The refresh may be divided into a self refresh and an auto refresh. Self-refresh is a command to enter self-refresh by a self-refresh command input from the outside (for example, an arbitrary processor) and to continuously perform refreshing for a predetermined time until there is a separate stop command. Auto refresh is performed only once by an auto refresh command that is periodically input from the outside. Refresh is a function to amplify the charge of the cell to hold the stored data.

여기서, 일반적으로 전용 뱅크 및 공유 뱅크는 각각 복수 개의 로우(row)와 복수 개의 칼럼(column)에 의해 배열되는 메모리 셀들로 구성된 메모리 셀 어레이와 각 메모리 셀들의 로우 어드레스(Row Address)에 해당하는 워드 라인(word line)을 선택하여 활성화시키는 로우 디코더(104, Row Decoder) 그리고, 각 메모리 셀들의 칼럼 어드레스(Column Address)에 해당하는 비트 라인(bit line)을 선택하여 활성화시키는 칼럼 디코더(Column Decoder) 및 센스 앰프(Sense Amplifier)를 포함한다. 센스 앰프는 비트 라인을 통해 전달되는 셀(커패시터)의 데이터(전하)를 증폭하여 다시 원래의 셀 안으로 저장함으로써 리프레쉬 동작을 수행한다.In this case, a dedicated bank and a shared bank generally include a memory cell array including memory cells arranged by a plurality of rows and a plurality of columns, and a word corresponding to a row address of each memory cell. A row decoder 104 for selecting and activating a word line, and a column decoder for selecting and activating a bit line corresponding to a column address of each memory cell. And a sense amplifier. The sense amplifier performs a refresh operation by amplifying the data (charge) of the cell (capacitor) transferred through the bit line and storing it back into the original cell.

각 전용 뱅크는 해당 프로세서로부터의 리프레쉬 커맨드에 따라 리프레쉬를 수행할 수 있으나, 공유 뱅크는 복수의 프로세서로부터 접근이 가능하므로 공유 뱅크의 안정적인 리프레쉬에 대한 방법이 필요하다.Each dedicated bank may perform refresh according to a refresh command from a corresponding processor. However, since a shared bank is accessible from a plurality of processors, a method for stable refresh of a shared bank is needed.

따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 공유 뱅크와 같은 다중 포트 메모리의 공유 저장영역이 안정적으로 리프레쉬를 수행하도록 하는 리프레쉬 방법 및 그 방법을 수행하는 다중 포트 메모리 장치를 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above-described problem, and provides a refresh method and a multi-port memory device for performing the method to ensure that the shared storage of the multi-port memory, such as a shared bank, to stably refresh. Its purpose is.

또한, 공유 저장영역에 다중 포트가 동시에 접근할 수 있는 다수의 블록으로 구현된 공유 저장영역에 따른 리프레쉬 방법 및 그 방법을 수행하는 다중 포트 메모리 장치를 제공하는데 다른 목적이 있다.Another object of the present invention is to provide a refreshing method according to a shared storage area formed of a plurality of blocks in which multiple ports can simultaneously access a shared storage area, and a multi-port memory device performing the method.

본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Other objects of the present invention will become more apparent through the preferred embodiments described below.

상술한 목적들을 달성하기 위한 본 발명의 일측면에 따르면, 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서, 상기 각 포트를 통해 복수의 프로세서가 액세스 가능한 하나 이상의 공유 저장영역; 및 상기 프로세서가 상기 각 포트를 통해 상기 공유 저장영역에 액세스할 수 있는 접근 권한을 제어하는 접근 권한 레지스터 로직을 포함하되, 상기 공유 저장영역은 접근 권한을 가진 특정 프로세서로부터 오토 리프레쉬 커맨드(refresh command)를 수신하거나, 모든 프로세서가 접근 권한이 없을 때 임의의 프로세서로부터의 오토 리프레쉬 커맨드 또는 셀프 리프레쉬 커맨드에 따라 리프레쉬하는 것을 특징으로 하는 다중 포트 메모리 장치가 제공된다.According to an aspect of the present invention for achieving the above object, a multi-port memory device having two or more ports, comprising: at least one shared storage area accessible by a plurality of processors through each port; And access rights register logic for controlling access rights for the processor to access the shared storage through each port, wherein the shared storage is an auto refresh command from a particular processor having access rights. A multi-port memory device is provided which is configured to receive or refresh according to an auto refresh command or a self refresh command from any processor when all processors do not have access rights.

여기서, 특정 포트를 통해서만 액세스가 가능한 하나 이상의 전용 저장영역을 더 포함할 수 있다.Here, the storage device may further include one or more dedicated storage areas accessible only through specific ports.

또한, 둘 이상의 프로세서로부터 셀프 리프레쉬(self refresh) 커맨드를 수신할 경우, 상기 공유 저장영역은 미리 지정된 포트를 통해 수신된 셀프 리프레쉬 커맨드에 따라 셀프 리프레쉬할 수 있다.In addition, when receiving a self refresh command from two or more processors, the shared storage area may self-refresh according to a self refresh command received through a predetermined port.

또한, 상기 공유 저장영역은 저장영역을 미리 설정된 단위로 분할한 하나 이상의 블록을 포함하고, 상기 프로세서는 상기 접근 권한 레지스터 로직에 의해 부여된 접근 권한에 따라 상기 블록 중 하나의 블록에 독립적으로 액세스할 수 있다.The shared storage area may include one or more blocks that divide the storage area into predetermined units, and the processor may independently access one of the blocks according to an access right granted by the access right register logic. Can be.

그리고, 상기 프로세서에서 상기 공유 저장영역의 특정 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드일 수 있으며, 상기 변형된 어드레스 파트는 공유 저장영역 블록의 주소 정보 및 공유 저장영역 사용과 관련한 커맨드 정보를 포함할 수 있다.The command for accessing and using a specific block of the shared storage area in the processor may be a command in which an address part of a preset memory command is modified, and the modified address part is address information and sharing of a shared storage block. Command information related to the use of the storage area may be included.

그리고, 상기 공유 저장영역 사용과 관련한 커맨드는 상기 공유 저장영역의 특정 블록에 대한 접근 권한을 요청하는 세트(SET) 커맨드, 상기 공유 저장영역의 특정 블록에 대한 접근 권한이 부여됐는지의 확인을 위한 리드(READ) 커맨드 및 상기 공유 저장영역의 특정 블록에 대한 접근 권한 해제를 요청하는 리세트(RESET) 커맨드를 포함할 수 있다.The command related to the use of the shared storage area may include a SET command for requesting access to a specific block of the shared storage area, and a read for checking whether access to the specific block of the shared storage area has been granted. (READ) command and a reset command for requesting release of access to a specific block of the shared storage area.

또한, 상기 공유 저장영역 또는 상기 전용 저장영역은 뱅크(bank) 단위로 할당될 수 있다.In addition, the shared storage area or the dedicated storage area may be allocated in units of banks.

상술한 목적들을 달성하기 위한 본 발명의 다른 측면에 따르면, 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서, 상기 각 포트를 통해 복수의 프로세서가 액세스 가능한 복수의 공유 블록을 포함하는 공유 저장영역; 상기 프로세서가 상기 각 포트를 통해 상기 공유 블록에 액세스할 수 있는 접근 권한을 제어하는 접근 권한 레지스터 로직을 포함하되, 상기 각 공유 블록은 미리 지정된 리프레쉬 순서에 따라, 접근 권한을 가진 임의의 프로세서로부터 오토 리프레쉬 커맨드(refresh command)를 수신하거나, 모든 프로세서가 접근 권한이 없을 때 임의의 프로세서로부터의 오토 리프레쉬 커맨드 또는 셀프 리프레쉬 커맨드에 따라 리프레쉬하는 것을 특징으로 하는 다중 포트 메모리 장치가 제공된다.According to another aspect of the present invention for achieving the above object, a multi-port memory device having two or more ports, comprising: a shared storage area including a plurality of shared blocks accessible by a plurality of processors through each port; Access rights register logic for controlling access rights for the processor to access the shared block through each port, wherein each shared block is automatically allocated from any processor having access rights according to a predetermined refresh order. A multi-port memory device is provided which receives a refresh command or refreshes according to an auto refresh command or a self refresh command from any processor when all processors do not have access rights.

여기서, 상기 접근 권한 레지스터 로직은 상기 리프레쉬 순서를 카운팅하기 위한 리프레쉬 순서 레지스터를 포함할 수 있다.Here, the access right register logic may include a refresh order register for counting the refresh order.

또한, 특정 포트를 통해서만 액세스가 가능한 하나 이상의 전용 저장영역을 더 포함할 수 있다.In addition, the storage device may further include one or more dedicated storage areas accessible only through specific ports.

상술한 목적들을 달성하기 위한 본 발명의 또 다른 측면에 따르면, 다중 포트를 통해 복수의 프로세서가 접근 가능한 하나 이상의 공유 저장영역을 포함하는 다중 포트 메모리 장치에서의 상기 공유 블록의 리프레쉬 방법에 있어서, (a) 상응하는 포트를 통해 임의의 프로세서로부터 리프레쉬 커맨드를 수신하는 단계; 및 (b) 상기 공유 저장영역에 대한 접근 권한이 부여된 상태이고 상기 임의의 프로세서가 상기 접근 권한을 가진 경우, 또는 상기 공유 저장영역에 대한 접근 권한이 부여되지 않은 상태인 경우 리프레쉬를 수행하는 단계를 포함하는 공유 저장영역의 리프레쉬 방법이 제공된다.According to another aspect of the present invention for achieving the above object, in the method of refreshing the shared block in a multi-port memory device comprising at least one shared storage accessible by a plurality of processors through a multi-port, a) receiving a refresh command from any processor through a corresponding port; And (b) performing refresh when the access right to the shared storage is granted and the processor has the access right or when the access right to the shared storage is not granted. Provided is a refresh method of a shared storage including a.

여기서, 상기 리프레쉬 커맨드는 오토 리프레쉬 커맨드 또는 셀프 리프레쉬 커맨드일 수 있다.Here, the refresh command may be an auto refresh command or a self refresh command.

또한, 상기 공유 저장영역은 저장영역을 미리 설정된 단위로 분할한 하나 이상의 블록을 포함하고, 상기 각 프로세서는 부여된 접근 권한에 따라 상기 블록 중 하나의 블록에 독립적으로 액세스할 수 있다.The shared storage area may include one or more blocks that divide the storage area into predetermined units, and each processor may independently access one of the blocks according to an granted access right.

또한, 상기 단계 (b)는 미리 지정된 순서에 따라 현재 리프레쉬를 수행할 차례가 된 공유 블록을 인식하는 단계를 선행할 수 있다.In addition, the step (b) may precede the step of recognizing the shared block to turn the current refresh in the predetermined order.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 본 발명의 바람직한 실시예에 따른 공유 저장영역의 안정적인 리프레쉬를 위한 다중 포트 메모리 장치를 첨부 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, a multi-port memory device for stable refresh of a shared storage area according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings.

또한, 설명의 편의를 위해 본 발명의 바람직한 실시예에 따른 다중 포트는 두 개의 포트를 가진 듀얼 포트인 것을 예로 들어 설명하기로 하되, 세 개 이상의 포트를 가진 다중 포트에서도 동일하게 적용될 수 있음은 이하의 설명을 통해 더욱 자명하게 될 것이다.In addition, for convenience of description, a multi-port according to a preferred embodiment of the present invention will be described by taking an example of a dual port having two ports, but the same may also be applied to a multi-port having three or more ports. Will be more self-explanatory.

또한, 이하에서는 저장영역이 뱅크인 것을 예로 들어 설명하기로 하되, 이는 반드시 뱅크일 필요는 없으며, 하나의 뱅크에서 전용 저장영역 및 공용 저장영역으로 구분될 수도 있다. 따라서, 뱅크 이외의 저장영역도 본 발명에 따른 공유 저장영역의 리프레쉬 방법 및 그 방법을 수행하는 다중 포트 메모리 장치에 동일 또는 유사하게 적용될 수 있음은 이하의 설명을 통해 더욱 자명하게 될 것이다.In the following description, a storage area is a bank, which will be described as an example. However, the storage area is not necessarily a bank and may be divided into a dedicated storage area and a common storage area in one bank. Accordingly, it will be further apparent from the following description that a storage area other than a bank can be equally or similarly applied to a refresh method of a shared storage area according to the present invention, and a multi-port memory device that performs the method.

도 2는 본 발명의 바람직한 각 실시예에 따른 다중 포트 메모리 장치를 개략적으로 도시한 구성도이다.2 is a block diagram schematically illustrating a multi-port memory device according to an exemplary embodiment of the present invention.

도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 다중 포트 메모리 장치(이하, 메모리 장치)는 A-포트(220), B-포트(222), A-포트 전용 뱅크(200), 공유 뱅크(202), B-포트 전용 뱅크(204) 및 접근 권한 레지스터 로직(240)을 포함한다.Referring to FIG. 2, a multi-port memory device (hereinafter, referred to as a memory device) according to an exemplary embodiment of the present invention may include an A-port 220, a B-port 222, an A-port dedicated bank 200, and a shared bank. 202, a B-port dedicated bank 204, and access rights register logic 240.

A-포트(220) 및 B-포트(222)는 메모리 장치를 사용하는 제1, 제2 프로세서가 뱅크에 액세스하도록 하는 연결 포트이다. 즉, 본 발명의 바람직한 실시예에 따른 메모리 장치는 A-포트(220) 및 B-포트(222)를 통해 두 개의 프로세서가 연결될 수 있다.A-port 220 and B-port 222 are connection ports that allow the first and second processors using the memory device to access the bank. That is, in the memory device according to the preferred embodiment of the present invention, two processors may be connected through the A-port 220 and the B-port 222.

이하, 각 포트를 통해 공용 뱅크(202) 등에 접속하는 주체는 프로세서이나, 설명의 편의상 해당 포트가 공용 뱅크에 접속하는 것으로 표현하기로 하며, 이는 본 발명을 한정하지 않음은 이하의 설명을 통해 자명하게 될 것이다.Hereinafter, a subject connected to the common bank 202 through each port is a processor, but for convenience of description, the corresponding port is represented as connecting to the shared bank, which is not limited to the present invention. Will be done.

A-포트 전용 뱅크(200)는 A-포트(220)만이 접근하여 데이터를 쓰고, 읽을 수 있는 저장 영역이며, B-포트 전용 뱅크(204)는 B-포트(222)만이 접근할 수 있는 저장 영역이다.A-port dedicated bank 200 is a storage area where only A-port 220 can access and write and read data, and B-port dedicated bank 204 is a storage area that only B-port 222 can access. Area.

이와 달리, 공유 뱅크(202)는 A-포트(220) 및 B-포트(222) 모두 접근이 가능하며, 특히, 본 발명의 바람직한 실시예에 따른 공유 뱅크(202)는 하나 이상의 공유 블록(block)으로 형성될 수 있다. 즉, 공유 뱅크(202)는 하나 이상의 공유 블록으로 형성되어 A-포트(220) 및 B-포트(222)는 독립적으로 각 공유 블록에 데이터를 쓰고(write), 읽을(read) 수 있는 권한을 가질 수 있다. 다만, 동일한 공유 블록에 동시에 접근할 수는 없다.In contrast, the shared bank 202 is accessible to both the A-port 220 and the B-port 222, and in particular, the shared bank 202 according to the preferred embodiment of the present invention may be one or more shared blocks. It can be formed into). That is, the shared bank 202 is formed of one or more shared blocks so that the A-port 220 and the B-port 222 independently write and read data in each shared block. Can have. However, the same shared block cannot be accessed simultaneously.

접근 권한 레지스터 로직(240)은 A-포트(220) 또는 B-포트(222)가 공유 뱅크(202)에 접근할 수 있는 접근 권한을 제어하는 기능을 수행한다. 즉, 접근 권한 레지스터 로직(240)은 임의의 포트로부터 공유 뱅크(202)로의 접근 권한을 요청받으면, 해당 공유 뱅크에 대한 접근 권한이 현재 부여된 상태인지를 판단하고, 부여된 상태이면 접근 권한을 제공하지 않고, 부여되지 않은 상태이면 해당 포트로 접근 권한을 부여한다.The access right register logic 240 controls the access right for the A-port 220 or the B-port 222 to access the shared bank 202. That is, when the access right register logic 240 is requested to access the shared bank 202 from any port, the access right register logic 240 determines whether the access right for the corresponding shared bank is currently granted. If not provided, grants access to the corresponding port if it is not granted.

여기서, 도면에는 각 포트별 전용 뱅크가 구비되었으나, 본 발명의 바람직한 다른 실시예에 따른 메모리 장치는 공유 블록만을 구비할 수도 있다. 즉, 메모리 장치에 구비된 모든 뱅크를 A-포트(220) 및 B-포트(222)가 접근할 수 있도록 공유 뱅크로 지정할 수도 있다. 또한, A-포트 전용 뱅크(200) 및 B-포트 전용 뱅크(204) 중 어느 하나와 공유 뱅크(202)만을 구비할 수도 있음은 자명하다. 또한, 각 포트에 상응하는 전용 영역(200, 204) 및 공유 영역(202)이 뱅크 단위로 구분되 도록 제한되지는 않으며, 각 영역의 구분 기준은 다양하게 설정될 수 있음은 자명하다.Here, although a dedicated bank for each port is provided in the figure, the memory device according to another exemplary embodiment of the present invention may include only a shared block. That is, all banks included in the memory device may be designated as shared banks so that the A-port 220 and the B-port 222 can access them. In addition, it is apparent that only one of the A-port dedicated bank 200 and the B-port dedicated bank 204 and the shared bank 202 may be provided. In addition, the dedicated areas 200 and 204 and the shared area 202 corresponding to each port are not limited to be divided into bank units, and it is apparent that the division criteria of each area may be set in various ways.

포트를 통해 메모리 장치에 접근하는 프로세서는 메모리 장치에 커맨드(COMMAND) 및 어드레스(Address) 정보를 제공함으로써, 커맨드에 상응하여 처리된 처리 데이터(예를 들어, 임의의 뱅크에 저장된 데이터를 읽기 위한 커맨드에 상응하는 저장된 데이터)를 메모리 장치로부터 제공받을 수 있다. 프로세서의 어플리케이션(application)과 메모리 장치와의 커맨드 정보는 미리 설정되어 있다.The processor accessing the memory device through the port provides the command and address information to the memory device, thereby reading the processed data (for example, data stored in an arbitrary bank) corresponding to the command. Corresponding to the stored data) can be provided from the memory device. Command information between the application of the processor and the memory device is set in advance.

프로세서의 어플리케이션은, 예를 들어, 액트(ACT), 리드(READ), 라이트(WRITE), 프리차지(Precharge), 리프레쉬(Refresh), 모드 레지스터 세트(Mode Register Set: MRS)과 같은 커맨드 정보를 메모리 장치에 제공한다. The application of the processor may include command information such as, for example, ACT, READ, WRITE, Precharge, Refresh, Mode Register Set (MRS). To a memory device.

상술한 커맨드들은 /RAS, /CAS, /CS 및 /WE 정보의 조합으로 이루어질 수 있다. 각 신호의 로우 또는 하이 상태에 따라 의미하도록 미리 지정된 정보는 각각 상이할 수 있으며, 용이하게 변경될 수 있으나, 이하에서는 일 예로서 각 신호 또는 신호의 조합에 의해 의미하는 정보를 설명하기로 한다.The above-described commands may be composed of a combination of / RAS, / CAS, / CS, and / WE information. The information previously designated to mean according to the low or high state of each signal may be different and may be easily changed. Hereinafter, information meaning by each signal or a combination of signals will be described as an example.

예를 들어, 액트 커맨드는 /RAS가 로우로 인에이블(enable)되는 커맨드로서, 행(Row) 주소에 맞는 워드(WORD)를 인에이블시키는 커맨드이다. For example, the act command is a command in which / RAS is enabled low, and a command for enabling a word (WORD) corresponding to a row address.

리드 커맨드는 /CAS가 로우로 인에이블(enable)되는 커맨드로서, 리드 커맨드와 함께 전송되는 셀 어드레스에 상응하는 데이터를 독출하여 DQ 핀(예를 들어, 데이터 핀)들을 통해 출력하도록 하는 커맨드이다. The read command is a command in which / CAS is enabled low. The read command reads data corresponding to the cell address transmitted with the read command and outputs the data through the DQ pins (eg, data pins).

라이트 커맨드는 /CAS 및 /WE가 로우로 인에이블되는 커맨드로서, 라이트 커맨드와 함께 전송되는 셀 어드레스에 입출력 단자(예를 들어, DQ 핀)로부터 입력되는 데이터를 라이트하는 커맨드이다. The write command is a command for enabling / CAS and / WE low, and is a command for writing data input from an input / output terminal (for example, a DQ pin) to a cell address transmitted together with the write command.

프리차지 커맨드는 /RAS 및 /WE가 로우로 인에이블되는 커맨드로서, 액트(ACT) 커맨드에서 인에이블된 워드 라인을 디스에이블(Disabe)시키는 커맨드이다. The precharge command is a command for enabling / RAS and / WE to be low, and is a command for disabling the word line enabled in the ACT command.

리프레쉬 커맨드는 /RAS 및 /CAS가 로우로 인에이블되는 커맨드로서 메모리의 데이터가 유실되지 않도록 주기적으로 리프레쉬하도록 하는 커맨드이다. 각 포트 전용 뱅크는 각 포트로부터 전송되는 리프레쉬 커맨드에 의해 리프레쉬를 수행한다. 리프레쉬 커맨드는 커맨드에 따라 리프레쉬를 수행하도록 하는 오토 리프레쉬 커맨드와, 한번의 커맨드에 따라 계속 리프레쉬를 수행하도록 하는 셀프 리프레쉬 커맨드로 구분될 수 있다.The refresh command is a command in which / RAS and / CAS are enabled low so that the data is periodically refreshed so that data in the memory is not lost. Each port dedicated bank performs a refresh by a refresh command sent from each port. The refresh command may be divided into an auto refresh command for performing refresh according to the command, and a self refresh command for continuously refreshing according to one command.

모드 레지스터 세트(MRS) 커맨드는 /RAS, /CAS, /CS 및 /WE를 모두 로우로 인에이블시키는 커맨드로서, 메모리 장치의 동기 스펙을 설정하는 커맨드이며, 동기를 설정하기 위한 값은 커맨드와 함께 전송되는 설정 어드레스 파트(도 3 참조)에 포함된다. 여기서, 상술한 커맨드를 지정하는 신호(예를 들어, /RAS, /CAS, /CS 및 /WE를 모두 로우로 인에이블시키는 것)들은 각 메모리 장치마다 다르게 설정될 수 있음은 당연하다.The mode register set (MRS) command enables all of / RAS, / CAS, / CS, and / WE to be low. It is a command for setting a synchronization specification of a memory device. It is included in the setting address part (refer to FIG. 3) to be transmitted. Here, it is obvious that the signals specifying the above-described commands (for example, enabling / RAS, / CAS, / CS, and / WE all low) may be set differently for each memory device.

프로세서의 어플리케이션은 상술한 바와 같이 /RAS, /CAS, /CS 및 /WE의 조합에 의해 미리 설정된 커맨드 및 어드레스를 컨트롤 로직(도 6참조)으로 제공한다. 여기서, 컨트롤 로직은 프로세서로부터의 커맨드를 수신하고 커맨드에 포함된 주소에 상응하는 뱅크에 커맨드를 전달하는 기능을 한다. 여기서, 컨트롤 로직은 복수개의 프로세서를 커버할 수도 있으나, 보다 바람직하게는 각 프로세서 별로 각각 구비되어 독립적으로 기능할 수 있다. 이하에서는, 접근 권한 레지스터 로직(240)이 컨트롤 로직을 포함하여 해당 기능을 함께 수행하는 경우를 예로 들어 설명하기로 하되, 컨트롤 로직이 별도로 구비될 수도 있음은 당연하다.The application of the processor provides the control logic (see Fig. 6) with the command and address preset by the combination of / RAS, / CAS, / CS and / WE as described above. Here, the control logic functions to receive the command from the processor and deliver the command to the bank corresponding to the address included in the command. Here, the control logic may cover a plurality of processors, but more preferably may be provided for each processor to function independently. Hereinafter, a case in which the access right register logic 240 performs a corresponding function including the control logic will be described as an example, but it is natural that the control logic may be provided separately.

뱅크(200, 202, 204)는 메모리에서 데이터를 독출하거나 데이터를 쓸 수 있는 단위로서, SDRAM의 경우, JEDEC 표준에 의하면, 뱅크 주소로 두 개의 비트가 할당된다. 따라서, 통상적으로 4개의 뱅크로 구분해서 다중 동작을 수행하는 것이 일반적이다.The banks 200, 202, and 204 are units that can read data from or write data to the memory. In the case of SDRAM, two bits are allocated to the bank address according to the JEDEC standard. Therefore, it is common to divide into four banks and perform multiple operations.

도 2에서, A-포트 전용 뱅크(200)는 A-포트(220)만이 접근하여 데이터를 독출하거나 데이터 기록이 가능한 영역이다. 따라서, B-포트(222)는 A-포트 전용 뱅크(200)에 접근하는 것이 불가능하다.In FIG. 2, the A-port dedicated bank 200 is an area where only the A-port 220 can access to read data or write data. Thus, the B-port 222 is unable to access the A-port dedicated bank 200.

B-포트 전용 뱅크(204)는 B-포트(222)만이 접근하여 데이터를 독출하거나 데이터 기록이 가능한 영역이다. 따라서, A-포트(220)는 B-포트 전용 뱅크(204)에 접근하는 것이 불가능하다. The B-port dedicated bank 204 is an area where only the B-port 222 can access to read data or write data. Thus, the A-port 220 is unable to access the B-port dedicated bank 204.

공유 뱅크(202)는 A-포트(220) 및 B-포트(222)가 모두 접근하여 데이터의 독출 및 데이터의 쓰기가 가능한 영역이다. 종래에는 공유 뱅크(202)에 A-포트(220) 및 B-포트(222) 어느 포트도 접근하는 것이 가능하나, A-포트(220)가 공유 뱅크(202)를 점유하고 있는 동안은 B-포트(222)가 공유 뱅크(202)에 접근할 수 없었으며, B-포트(222)가 공유 뱅크(202)를 점유하고 있는 동안은 A-포트(220)가 공 유 뱅크(202)에 접근할 수 없었다.The shared bank 202 is an area where both the A-port 220 and the B-port 222 can access and read data and write data. Conventionally, it is possible to access any of the A-port 220 and the B-port 222 to the shared bank 202, but while the A-port 220 occupies the shared bank 202, Port 222 was unable to access shared bank 202, while A-port 220 accessed shared bank 202 while B-port 222 occupied shared bank 202. I could not.

본 발명의 바람직한 실시예에 따르면, 이러한 종래의 문제점을 해결하기 위해 도면에 도시된 바와 같이 독립적으로 접근이 가능한 하나 이상의 공유 블록(블록0, 블록1, ..., 블록N)이 공유 뱅크(202)에 구비된다. 물론, 공유 블록이 하나인 경우는 블록으로 구분될 필요가 없는 경우이며, 둘 이상일 경우에만 각 포트가 동시에 공유 뱅크(202)에 접근할 수 있으며 물론, 이 경우 각 포트는 서로 다른 공유 블록에 접근함은 당연하다.According to a preferred embodiment of the present invention, one or more shared blocks (block 0, block 1, ..., block N) that are independently accessible as shown in the figure to solve this conventional problem are shared bank ( 202 is provided. Of course, the case where there is one shared block does not need to be divided into blocks, and only when two or more ports can access the shared bank 202 at the same time, and in this case, each port can access a different shared block. Of course.

공유 뱅크(202) 내의 각 공유 블록은 접근 권한 레지스터 로직(240)에 의해 자유롭게 선택될 수 있으며, A-포트(220) 및 B-포트(222)는 각각 선택한 공유 블록에 대해 다중 동작이 가능하다. 공유 뱅크(202) 내에서 동일한 공유 블록은 A-포트(220)와 B-포트(222)가 동시에 접근 할 수 없도록 해당 공유 블록에 대한 세트(Set), 리세트(Reset) 및 리드(Read)라는 커맨드를 수행한다. 세트(Set)는 해당 공유 블록에 접근 권한을 소유하기 위한 동작이고, 리세트(Reset)는 접근 권한을 반납하는 동작이다. 리드(Read)는 해당 공유 블록이 다른 포트에게 권한이 있는지, 자신의 포트가 해당 공유 블록의 접근 권한을 가지고 있는지 여부를 확인하기 위한 것이다. 즉, 리드 커맨드에 따라 접근 권한 레지스터 로직(240)은 접근 권한 레지스터 내의 기록된 값을 출력해주어 접근 권한 부여 여부를 해당 포트로 알려준다.Each shared block in the shared bank 202 can be freely selected by the access right register logic 240, and the A-port 220 and the B-port 222 can each have multiple operations for the selected shared block. . The same shared block within the shared bank 202 can be set, reset, and read for that shared block so that the A-port 220 and the B-port 222 can not be accessed at the same time. Execute the command Set is an operation for possessing an access right to a corresponding shared block, and Reset is an operation for returning an access right. Read is for checking whether the corresponding shared block has authority to another port and whether its own port has access to the shared block. That is, according to the read command, the access right register logic 240 outputs the value recorded in the access right register to inform the corresponding port whether or not to grant the access right.

따라서, 공유 뱅크(202)의 각 공유 블록(블록0, 블록1, ..., 블록N)은 독립적으로 동작이 가능하며, A-포트(220) 및 B-포트(222)는 각각의 공유 블록 중 하나에 독립적으로 접근이 가능하다. 예를 들어, A-포트(220)가 공유 블록0(211)에 접 근하여 데이터를 독출 또는 기록하는 동안에도, B-포트(222)는 데이터 독출 또는 기록을 위해 공유 블록1(212)에 접근할 수 있다. 다만, A-포트(220)가 점유하여 사용하는 특정 공유 블록을 점유하여 사용하는 동안 B-포트(222)는 A-포트(220)가 점유하여 사용하는 공유 블록에 대해서는 사용할 수 없다.Accordingly, each shared block (blocks 0, 1, ..., block N) of the shared bank 202 can operate independently, and the A-port 220 and the B-port 222 are each shared. One of the blocks can be accessed independently. For example, while the A-port 220 accesses shared block 0 211 to read or write data, the B-port 222 remains in shared block 1 212 for data read or write. I can access it. However, while occupying and using a specific shared block occupied and used by the A-port 220, the B-port 222 may not use a shared block occupied and used by the A-port 220.

도 3은 일반적인 MRS 커맨드 및 어드레스 조합의 구조를 도시한 도면이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 변형된 MRS 커맨드의 일례를 도시한 도면이다.3 is a diagram illustrating a structure of a general MRS command and address combination, and FIG. 4 is a diagram illustrating an example of a modified MRS command according to an exemplary embodiment of the present invention.

본 발명의 바람직한 실시예에 따르면, 종래의 SDRAM의 MRS를 확장한 EMRS(Expended MRS)를 이용하여 접근 권한 레지스터 로직(240)을 컨트롤한다. EMRS는 PASR(partial Array Self Refresh)나 Driver Strength(DS)등과 같은 추가적인 기능(function)을 제어하는 것으로, MRS를 확장한 개념이다.According to a preferred embodiment of the present invention, the access right register logic 240 is controlled using an extended MRS (EMRS) which extends the MRS of the conventional SDRAM. EMRS is an extension of MRS by controlling additional functions such as partial array self refresh (PASR) and driver strength (DS).

도 3을 참조하면, 일반적인 MRS 커맨드는 커맨드 타입을 설정하는 파트(300)와 설정 어드레스(302) 파트로 구분되며, 도 4에 도시된 바와 같이, 커맨드 타입을 설정하는 파트에서 /CAS, /RAS. /CS 및 /WE는 모두 로우로 설정되며, 컨트롤 로직은 이를 통해 MRS 커맨드임을 식별한다.Referring to FIG. 3, a general MRS command is divided into a part 300 for setting a command type and a setting address 302 part. As shown in FIG. 4, in the part for setting a command type, / CAS, / RAS . Both / CS and / WE are set low, so the control logic identifies them as MRS commands.

설정 어드레스(302)에는 메모리의 동작 스펙을 설정하기 위한 정보가 기록된다. 설정되는 스펙은 버스트 길이(Burst Length), 버스트(Burst) 타입, CAS 레이턴시(Latency), 동작 모드 및 기록 버스트 모드(Write Burst Mode)를 포함한다. MRS 커맨드에 의해 설정된 스펙은 새로운 스펙이 설정되거나 메모리 장치에 전원을 잃기 전까지 유지된다.In the setting address 302, information for setting an operation specification of the memory is recorded. Specifications set include Burst Length, Burst Type, CAS Latency, Operation Mode, and Write Burst Mode. The specifications set by the MRS command are retained until new specifications are set or power is lost to the memory device.

버스트 길이를 설정하기 위해 통상적으로 3비트를 할당하며, 버스트 길이를 1, 2, 4, 8 중 하나로 설정한다. CAS 레이턴시를 설정하기 위해 3비트를 할당하고, 통상적으로 세 종류의 CAS 레이턴시를 설정한다. 동작 모드를 설정하기 위해 2개의 비트를 할당하고, 라이트 버스트 모드 및 버스트 타입을 설정하기 위해 1개의 비트를 할당한다. To set the burst length, typically 3 bits are allocated and the burst length is set to 1, 2, 4, or 8. Three bits are allocated to set the CAS latency, and typically three kinds of CAS latency are set. Allocate two bits to set the operation mode and one bit to set the light burst mode and burst type.

본 발명은 상술한 MRS의 커맨드의 커맨드 타입 및 어드레스의 형태는 그대로 유지하되 일반 MRS 커맨드와는 다른 어드레스 비트를 사용함으로써 A-포트(220) 및 B-포트(222)가 독립적으로 공유 블록을 사용할 수 있도록 한다. 이와 같이, 변형된 MRS 커맨드가 공유 뱅크(202)의 공유 블록을 사용하기 위한 커맨드로 사용된다는 점은 프로세서의 어플리케이션과 메모리 장치 사이에 미리 설정된다.According to the present invention, the command type and the address of the MRS command are maintained as they are, but the A-port 220 and the B-port 222 independently use the shared block by using address bits different from the general MRS command. To be able. As such, the fact that the modified MRS command is used as a command for using the shared block of the shared bank 202 is preset between the application of the processor and the memory device.

여기서, 도면에는 MRS 커맨드가 하나의 데이터인 것처럼 도시되었으나, 커맨드 타입을 설정하는 파트(300)의 /CAS, /RAS. /CS 및 /WE와 설정 어드레스(302)에 따른 신호는 포트의 각 입력 핀 등을 통해 각각 입력될 수 있으며, 이는 당업자에게는 자명하다 할 것이므로 상세한 설명은 생략하기로 한다.Here, although the MRS command is illustrated as one piece of data, the / CAS and / RAS. Signals according to / CS and / WE and the setting address 302 may be input through respective input pins of the port, etc., which will be apparent to those skilled in the art, and thus detailed description thereof will be omitted.

도 4를 참조하면, 공유 블록 사용을 위한 변형된 MRS 커맨드(이하, 'EMRS 커맨드'라 칭하기로 함)의 커맨드 타입 파트(400)는 통상의 MRS 커맨드와 동일하고, 설정 어드레스 파트에는 공유 블록 커맨드 정보(402)와 공유 블록 주소 정보(404)가 포함된다. 이하, 본 발명의 실시예에 따른 EMRS 커맨드의 공유 블록 커 맨드 정보(402)와 공유 블록 주소 정보를 "키 어드레스(key address)"라 칭하기로 한다.Referring to FIG. 4, the command type part 400 of the modified MRS command (hereinafter, referred to as an 'EMRS command') for using a shared block is the same as a normal MRS command, and a shared block command is included in the set address part. Information 402 and shared block address information 404 are included. Hereinafter, the shared block command information 402 and the shared block address information of the EMRS command according to an embodiment of the present invention will be referred to as "key address".

도 4에 도시된 바와 같이, 커맨드 타입 파트는 통상의 MRS 커맨드의 커맨드 타입 파트와 동일하므로 컨트롤 로직은 설정 어드레스 파트의 정보를 통해 공유 블록 사용을 위해 EMRS 커맨드인지 또는 통상의 MRS 커맨드인지 여부를 판단한다. 물론, 공유 블록 사용을 위해 EMRS 커맨드인지를 판단하기 위한 별도의 식별 파트(미도시)가 설정 어드레스 파트에 더 포함될 수도 있다. 즉, EMRS 커맨드의 어드레스 파트(즉, 공유 블록 커맨드 정보(402)와 공유 블록 주소 정보(404)가 포함된 파트)를 통해 컨트롤 로직은 해당 MRS 커맨드가 공유 뱅크(202) 사용을 위한 EMRS 커맨드임을 인식할 수 있다.As shown in Fig. 4, since the command type part is the same as the command type part of the normal MRS command, the control logic determines whether it is an EMRS command or a normal MRS command for use of a shared block through the information of the setting address part. do. Of course, a separate identification part (not shown) for determining whether the EMRS command is used for the shared block may be further included in the configuration address part. That is, through the address part of the EMRS command (that is, the part including the shared block command information 402 and the shared block address information 404), the control logic indicates that the corresponding MRS command is an EMRS command for using the shared bank 202. I can recognize it.

EMRS 커맨드의 공유 블록 커맨드 정보는 공유 블록 사용을 위해 설정된 커맨드 정보를 포함한다. 본 발명의 바람직한 실시예에 따르면, 공유 블록 사용을 위해 설정된 커맨드는 세트(SET), 리드(READ), 리세트(RESET) 커맨드를 포함한다. 예를 들어, 공유 블록 커맨드 정보에 따른 두 개의 비트(bit)가 어드레스로 할당된 경우, "00"이면 세트, "01"이면 리드, "10"이면 리세트로 설정될 수 있다.The shared block command information of the EMRS command includes command information set for use of the shared block. According to a preferred embodiment of the present invention, a command set for using a shared block includes a SET, READ, and RESET commands. For example, when two bits according to the shared block command information are allocated to the address, the set may be set if "00", read if "01", or reset if "10".

세트(SET) 커맨드는 공유 뱅크(202)의 특정 공유 블록을 점유하기 위한 커맨드이다. 즉, 세트 커맨드는 접근 권한 레지스터 로직(240)으로 접근 권한을 요청하는 커맨드이다. 따라서, A-포트(220) 또는 B-포트(222)에서 특정 공유 블록을 사용하고자 하는 경우, 우선 세트(SET) 커맨드를 이용하여 공유 블록의 점유를 시도한다. 접근 권한 레지스터 로직(240)은 세트 커맨드에 따라 해당 포트 및 해당 공 유 블록에 따른 접근 권한 플래그(도 5 및 도 6 참조)를 인에이블하여, 접근 권한을 해당 포트로 부여한다.The SET command is a command for occupying a specific shared block of the shared bank 202. That is, the set command is a command for requesting access right to the access right register logic 240. Therefore, when a specific shared block is to be used in the A-port 220 or the B-port 222, first, an occupancy of the shared block is attempted by using a SET command. The access right register logic 240 enables the access right flag (see FIGS. 5 and 6) according to the corresponding port and the corresponding shared block according to the set command, and grants the access right to the corresponding port.

리드(READ) 커맨드는 특정 공유 블록을 점유하고 있는 상태(즉, 접근 권한을 부여 받은 상태)인지 확인하기 위한 커맨드이다. 리드(READ) 커맨드가 전달될 경우, 접근 권한 레지스터 로직(240)은 현재 리드(READ) 커맨드를 전송한 포트가 해당 공유 블록을 점유하고 있는지 여부를 확인할 수 있는 정보를 제공한다. 즉, A-포트(220) 또는 B-포트(222)가 메모리 장치의 특정 공유 블록을 사용하고자 하는 경우, 세트(SET) 커맨드를 통해 해당 공유 블록을 점유하고, 리드(READ) 커맨드를 통해 해당 공유 블록을 정상적으로 점유하였는지 여부를 확인할 수 있다. 접근 권한 레지스터 로직(240)은 리드 커맨드에 따라 접근 권한 플래그에 대한 값이 저장된 접근 권한 레지스터의 데이터를 DQ핀들을 통해 해당 포트로 제공한다(도 6 참조).The READ command is a command for confirming whether a state is occupying a specific shared block (that is, a state in which access authority is granted). When a READ command is sent, the access right register logic 240 provides information to determine whether the port to which the current READ command is transmitted occupies the corresponding shared block. That is, when the A-port 220 or the B-port 222 wants to use a specific shared block of the memory device, the A-port 220 or the B-port 222 occupies the shared block through the SET command, and the corresponding block through the READ command. It can be checked whether the shared block is normally occupied. According to the read command, the access right register logic 240 provides data of the access right register in which the value for the access right flag is stored to the corresponding port through the DQ pins (see FIG. 6).

리세트(RESET) 커맨드는 특정 공유 블록에 대한 점유를 해제하기 위한 커맨드이다. 공유 뱅크(202)의 메모리 공유 블록에 대한 사용을 마칠 경우, 리세트(RESET) 커맨드를 통해 해당 공유 블록에 대한 점유를 해제한다.The reset command is a command for releasing the occupation of a specific shared block. When the use of the memory sharing block of the shared bank 202 is finished, the reset of the shared block is released through the reset command.

공유 블록 사용을 위한 커맨드의 종류가 상술한 바와 같이, 세 종류인 경우 커맨드를 설정하기 위한 비트로 상술한 바와 같이 두 개의 비트가 사용될 수 있다. 그러나, 상술한 세 종류의 커맨드 이외에 다양한 종류의 커맨드가 추가적으로 설정될 수 있으며, 이 경우 커맨드 설정을 위한 추가적인 비트가 사용될 수 있다는 점은 당업자에게 있어 자명할 것이다. As described above, when three types of commands for using a shared block are used, two bits may be used as bits for setting commands. However, it will be apparent to those skilled in the art that various types of commands may be additionally set in addition to the above three types of commands, in which case additional bits for command setting may be used.

세트(SET) 커맨드 및 리드(READ) 커맨드에 의해 특정 공유 블록의 점유 및 점유 확인이 이루어진 후에는 통상의 리드 커맨드, 라이트(Write) 커맨드 등을 통해 특정 공유 블록의 데이터를 독출하거나 데이터를 기록하는 것이 가능하다.After the occupancy and occupancy confirmation of the specific shared block is performed by the SET command and the READ command, the data of the specific shared block is read or written through a normal read command or a write command. It is possible.

공유 블록 주소 정보(404)에는 공유 블록 커맨드(402)와 관련한 공유 블록에 대한 주소 정보가 포함된다. 도 1과 같이, 4개의 공유 블록이 공유 뱅크(202)에 구비되는 경우, 공유 블록 주소를 위해 2개의 비트가 할당될 수 있으며, 예를 들어 8개의 공유 블록이 공유 뱅크(202)에 구비되는 경우, 공유 블록 주소를 위해 3개의 비트가 할당될 수 있을 것이다. 물론, 이들을 위한 비트 수는 공유 블록의 수보다 크게 할당될 수도 있을 것이다.The shared block address information 404 includes address information for the shared block associated with the shared block command 402. As shown in FIG. 1, when four shared blocks are provided in the shared bank 202, two bits may be allocated for the shared block address. For example, eight shared blocks may be provided in the shared bank 202. In this case, three bits may be allocated for the shared block address. Of course, the number of bits for them may be allocated larger than the number of shared blocks.

EMRS 커맨드는 설정 어드레스(키 어드레스)의 비트수가 통상의 MRS 커맨드와 동일하여야 하므로, 상술한 공유 블록 커맨드와 공유 블록 주소를 설정하기 위한 비트 이외의 여분의 비트는 미리 설정된 값이 되도록 한다. 예를 들어, 여분의 비트에 대해서는 모두 로우 값을 가지도록 설정할 수 있다. Since the number of bits of the setting address (key address) must be the same as that of a normal MRS command, the extra bits other than the above-mentioned bits for setting the shared block command and the shared block address are set to a preset value. For example, all bits can be set to have a low value.

상기에서는 MRS 커맨드를 변형하여 공유 뱅크(202)의 특정 공유 블록을 사용하는 커맨드로 활용하는 경우에 대해 설명하였으나, 본 발명이 공유 뱅크(202)의 특정 공유 블록 사용을 위해 MRS 커맨드를 변형하는 것에 한정되는 것은 아니며, 다른 커맨드를 변형하여 특정 공유 블록을 사용하는 커맨드로 활용할 수도 있다. In the above, the case in which the MRS command is modified and used as a command using a specific shared block of the shared bank 202 has been described. However, the present invention is directed to modifying the MRS command to use a specific shared block of the shared bank 202. The present invention is not limited thereto, and other commands may be modified and used as a command using a specific shared block.

예를 들어, 리드 커맨드, 라이트 커맨드 등을 변형하여 특정 공유 블록을 사용하기 위한 커맨드로 활용할 수도 있다.For example, the read command, the write command, and the like may be modified and used as a command for using a specific shared block.

이하, 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터 로직(240) 이 공유 뱅크(202)의 각 공유 블록에 대한 접근 권한을 제어하는 방법을 상세히 설명하기로 한다.Hereinafter, a method of controlling access right to each shared block of the shared bank 202 by the access right register logic 240 according to an exemplary embodiment of the present invention will be described in detail.

도 5는 본 발명의 바람직한 일 실시예에 따른 공유 뱅크와 접근 권한 레지스터 로직을 도시한 도면이고, 도 6은 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터 로직의 구성을 도시한 도면이다.5 is a diagram illustrating a shared bank and access right register logic according to an exemplary embodiment of the present invention, and FIG. 6 is a diagram illustrating a configuration of access right register logic according to an exemplary embodiment of the present invention.

전술한 바와 같이 본 발명의 바람직한 실시예에 따르면, A-포트(220) 및 B-포트(222)는 변형된 MRS 커맨드(EMRS 커맨드)를 이용하여 임의의 공유 블록에 대한 접근 권한을 가질 수 있다.As described above, according to a preferred embodiment of the present invention, the A-port 220 and the B-port 222 may have access to any shared block using a modified MRS command (EMRS command). .

접근 권한 레지스터 로직(240)은 MRS 커맨드가 들어올 때 설정 어드레스 파트가 임의의 키 어드레스이면(즉, 해당 MRS 커맨드가 도 4에 도시된 바와 같은 본 발명의 바람직한 실시예에 따른 EMRS 커맨드인 경우), 상응하는 세트(set), 리세트(reset) 또는 리드(read)를 수행하게 된다. 즉, 접근 권한 레지스터 로직(240)은 포트로부터 들어온 EMRS 커맨드가 세트 커맨드이면, 해당 접근 권한 플래그(flag)를 인에이블(enable)하여 당해 공유 블록에 대한 접근 권한을 해당 포트로 제공한다.The access rights register logic 240 is assuming that the set address part is any key address when an MRS command comes in (i.e., when the MRS command is an EMRS command according to a preferred embodiment of the present invention as shown in FIG. 4). The corresponding set, reset or read is performed. In other words, if the EMRS command from the port is a set command, the access right register logic 240 enables the corresponding access right flag to provide the access right for the shared block to the corresponding port.

도 5를 참조하면, 접근 권한 레지스터 로직(240)은 A-포트(220) 및 B-포트(222)와 각 공유 블록의 개수에 대응되도록 접근 권한 레지스터를 구비하여 접근 권한 플래그(flag)에 대한 값을 저장한다. 즉, N개의 공유 블록에 따른 A-포트(220)의 접근 권한 플래그 flagA<0>, flagA<1>, ..., flagA<N> 및 B-포트(222)의 접근 권한 플래그(flag) flagB<0>, flagB<1>, ..., flagB<N>가 구비된다. 예를 들어, 공유 블록0에 따른 접근 권한 플래그 flagA<0>이 A-포트(220)쪽을 컨트롤하며, flagB<0>이 B-포트(222)쪽을 컨트롤한다.Referring to FIG. 5, the access right register logic 240 includes an access right register so as to correspond to the number of each shared block with the A-port 220 and the B-port 222, and the access right flag for the access right flag. Save the value. That is, the access authority flags flagA <0>, flagA <1>, ..., flagA <N>, and B-port 222 of the A-port 220 according to the N shared blocks. flagB <0>, flagB <1>, ..., flagB <N> are provided. For example, the access right flag flagA <0> according to shared block 0 controls the A-port 220 side, and flagB <0> controls the B-port 222 side.

따라서, 임의의 포트로부터 세트(set) 커맨드에 따른 EMRS 커맨드가 들어오면, 접근 권한 레지스터 로직(240)은 키 어드레스의 공유 블록 주소 정보를 통해 해당 공유 블록을 인식하고, 키 어드레스의 공유 블록 커맨드 정보를 통해 세트(set) 커맨드를 인식하고, 접근 권한을 부여한다.Accordingly, when an EMRS command according to a set command is received from any port, the access right register logic 240 recognizes the corresponding shared block through the shared block address information of the key address, and the shared block command information of the key address. Recognizes the set command and grants access to it.

이해의 편의를 위해 하나의 예를 들면, A-포트(220)로부터 공유 블록1에 대한 세트 커맨드가 들어오면, 접근 권한 레지스터 로직(240)은 flagA<1> 및 flagB<1>을 참조하여, 두 접근 권한 플레그가 모두 디스에이블(disable) 상태이면 flagA<1>을 인에이블하여 A-포트(220)에게 공유 블록1에 대한 접근 권한을 부여한다.For convenience of understanding, for example, when a set command for shared block 1 is received from the A-port 220, the access right register logic 240 refers to flagA <1> and flagB <1>. If both access rights flags are disabled, flagA <1> is enabled to grant the A-port 220 access to shared block 1.

본 발명에 바람직한 실시예에 따른 접근 권한 레지스터 로직(240)의 구성을 도 6에 도시되어 있다.The configuration of access rights register logic 240 in accordance with a preferred embodiment of the present invention is shown in FIG.

도 6에 도시된 바와 같이, 접근 권한 레지스터 로직(240)은 컨트롤 로직(control logic, 241, 242), 플래그 로직(flag logic, 244) 및 리프레쉬 로직(refresh logic, 246)을 포함하고, 도면에는 도시되지 않았으나 각 공유 블록의 컨트롤을 위해, 공유 블록 개수만큼의 접근 권한 레지스터를 더 포함한다. 접근 권한 레지스터는 플래그 로직(244)에 포함될 수 있다.As shown in FIG. 6, the access rights register logic 240 includes control logic 241, 242, flag logic 244, and refresh logic 246. Although not shown, for the control of each shared block, it further includes as many access rights registers as the number of shared blocks. The access rights register may be included in the flag logic 244.

컨트롤 로직(241, 242)은 A-포트(220) 전용과 B-포트(222) 전용으로 두 개가 구비될 수 있다. 컨트롤 로직(241, 242)의 주된 기능은 전술하였으므로, 상세한 설명은 생략하기로 한다. 특히, 컨트롤 로직(241, 242)은 각 해당 포트로부터 수신되는 EMRS 커맨드에 따라 세트, 리세트, 리드 신호를 만들어 내는 기능을 수행한다. 즉, EMRS 커맨드의 키 어드레스를 디코딩(decoding)하여 해당 포트가 접근하고자 하는 공유 블록을 인식하고 상응하는 신호(세트, 리세트, 리드 중 어느 하나)를 만들어 낸다. 원하는 공유 블록의 접근 권한 레지스터를 컨트롤하기 위해서 만들어내는 신호가 block<0:N>(즉, 0 내지 N 공유 블록 중 해당 공유 블록을 식별하기 위한 공유 블록 주소 정보)이다. 여기서, 세트, 리세트, 리드는 동시에 이루어지는 것이 아니라, 한번의 커맨드에 하나씩 수행된다.Two control logics 241 and 242 may be provided for the A-port 220 and the B-port 222. Since the main functions of the control logic 241 and 242 have been described above, a detailed description thereof will be omitted. In particular, the control logic 241, 242 generates a set, reset, read signal in accordance with the EMRS command received from each corresponding port. In other words, the key address of the EMRS command is decoded to recognize the shared block to which the port is to be accessed, and to generate a corresponding signal (one of a set, a reset, and a read). The signal generated to control the access right register of the desired shared block is block <0: N> (that is, shared block address information for identifying the corresponding shared block among 0 to N shared blocks). Here, sets, resets, and reads are not performed at the same time, but are performed one by one command.

컨트롤 로직(241, 242)의 출력 중 세트는 접근 권한 플래그를 인에이블 시키는 커맨드로 해당 공유 블록에 접근할 수 있는 권한을 만들어 내는 역할을 한다. 리드는 접근 권한 레지스터에 저장되어 있는 값들을 출력 수단(예를 들어, DQ 핀)으로 출력하는 동작을 위한 것이다. 리드는 각 포트에서 접근 권한 레지스터를 세트 했을 경우 각 포트에서 원하는 공유 블록이 제대로 세트가 되어 접근 권한을 가지게 되었는지 확인하는 동작이다. 리세트는 공유 블록의 접근 권한을 반납하기 위한 것으로, 해당 접근 권한 레지스터의 값을 리세트시켜서 가지고 있던 접근 권한을 반납하여 다음에 다른 포트 또는 자신의 포트가 다시 사용할 수 있도록 만드는 동작이다.The set of outputs of the control logic 241 and 242 is a command for enabling the access right flag to create a right to access the corresponding shared block. The read is for outputting the values stored in the access right register to the output means (e.g., the DQ pin). Read is an operation that checks if the desired shared block is set properly in each port when the access right register is set in each port. The reset is to return the access right of the shared block. The reset operation resets the value of the access right register to return the access right and makes it available again to another port or one's own port.

따라서, 플래그 로직(244)은 컨트롤 로직(241, 242)으로부터 세트, 리세트 및 리드 신호 중 어느 하나와 해당 공유 블록에 대한 정보block<0:N>를 입력받으면 그에 따른 접근 권한 플래그를 인에이블 또는 디스에이블하거나 접근 권한 레지스터 값을 출력한다.Accordingly, the flag logic 244 enables the access right flag according to one of the set, reset and read signals and the information block <0: N> for the corresponding shared block from the control logic 241 and 242. Or disable or print the access register value.

상술한 경우들은 해당 공유 블록에 대한 접근 권한을 어느 포트도 가지고 있지 않은 경우에 일반적으로 동작하는 것을 표현한 것이다. 이미 어느 한쪽 포트(예를 들어, A-포트(220))가 접근 권한이 있는 경우, 다른 한쪽 포트(예를 들어, B-포트(222))에서 같은 공유 블록을 접근 하기 위해서 접근 권한 레지스터를 세트(set)하는 경우가 있을 수 있다. 이 경우, A-포트(220)가 이미 접근 권한을 가지고 있기 때문에 B-포트(222)에서 해당 접근 권한 레지스터를 세트하더라도 내부 동작은 아무런 변화를 일으키지 않고, 다만 B-포트(222)쪽의 출력 핀(예를 들어, DQ 핀)을 통해 "/busy"신호가 인에이블되어 출력된다. 이 /busy 신호는 접근 금지 신호의 역할을 할 수 있으며, 또는 현재 접근 금지가 수행 중이니 기다리라는 "wait"의 의미로 인식될 수도 있다. 따라서, /busy 신호가 인에이블되면, 해당 포트에 따른 프로세서는 해당 공유 블록에 대한 접근이 금지되거나, 접근이 가능하게 될 때까지 기다린다. 즉, 이 신호가 디스에이블(disable)될 경우에만 해당 포트의 접근이 가능하게 된다. /busy 신호가 인에이블되는 경우는 어느 한쪽 포트가 동일한 공유 블록에 대한 접근 권한을 가지고 있는 경우 발생된다. /busy 신호가 디스에이블되는 경우는 접근 권한을 가진 상대 포트가 동일한 공유 블록의 접근 권한 레지스터를 리세트하거나, /busy 신호가 인에이블된 포트쪽에서 리세트를 수행하는 경우이다. 즉, 접근 권한을 가진 상대 포트가 동일한 공유 블록의 접근 권한 레지스터 를 리세트하면, /busy 신호가 인에이블된 포트는 리세트를 수행한 후, 다시 세트 커맨드를 접근 권한 레지스터 로직(240)으로 전송하여 해당 공유 블록의 접근 권한을 부여받을 수 있다.The above cases represent the general operation when no port has access to the corresponding shared block. If one port (e.g., A-port 220) already has access rights, the access rights register is used to access the same shared block on the other port (e.g., B-port 222). There may be times when you set. In this case, since the A-port 220 already has access authority, even if the corresponding access authority register is set in the B-port 222, the internal operation does not cause any change, but the output of the B-port 222 side. A "/ busy" signal is enabled and output via a pin (e.g., a DQ pin). The / busy signal may serve as a prohibition signal, or may be recognized as "wait" to wait because a prohibition is currently being performed. Therefore, when the / busy signal is enabled, the processor according to the corresponding port waits until access to the shared block is prohibited or accessible. That is, the port is accessible only when this signal is disabled. The / busy signal is enabled when either port has access to the same shared block. When the / busy signal is disabled, the corresponding port having access authority resets the access right register of the same shared block or resets the port on which the / busy signal is enabled. That is, if the partner port having access authority resets the access right register of the same shared block, the port on which the / busy signal is enabled performs the reset, and then sends the set command back to the access right register logic 240. Access to the shared block can be granted.

상술한 바와 같이, 접근 권한 레지스터 로직(240)은 EMRS 커맨드에 따라 공유 뱅크(202)의 임의의 공유 블록에 대한 접근 권한을 부여한다.As discussed above, the access right register logic 240 grants access to any shared block in the shared bank 202 in accordance with the EMRS command.

여기서, 본 발명은 각 공유 뱅크(202) 및 공유 블록의 리프레쉬와 관련된 것이므로, 상술한 접근 권한 제어 방법 이외의 공유 블록에 대한 접근 권한 제어를 위한 모든 방법이 동일하게 적용될 수 있음은 이하의 설명을 통해 더욱 자명하게 될 것이다.Here, since the present invention is related to the refresh of each shared bank 202 and the shared block, all the methods for controlling access right to the shared block other than the above-described access right control method can be equally applied. Will become more self-evident.

이하, 본 발명의 바람직한 실시예에 따른 공유 저장영역(예를 들어, 공유 뱅크 또는 공유 블록)의 리프레쉬 방법에 대해 상세히 설명하기로 한다.Hereinafter, a refresh method of a shared storage area (eg, a shared bank or a shared block) according to an exemplary embodiment of the present invention will be described in detail.

도 6에는 공유 블록의 리프레쉬를 위한 수단(리프레쉬 로직(246))이 접근 권한 레지스터 로직(240)의 한 구성 요소로 포함된 것으로 도시되었으나, 리프레쉬 로직은 접근 권한 레지스터 로직(240)과 별도의 로직으로 구현될 수도 있음은 당연하다.Although FIG. 6 shows that the means for refreshing the shared block (refresh logic 246) is included as a component of the access rights register logic 240, the refresh logic is separate from the access rights register logic 240. Of course, it may be implemented as.

각 공유 블록은 리프레쉬 순서가 미리 지정된다. 리프레쉬 순서는 하드웨어적으로 구현된 순차적인 순서일 수 있다. 리프레쉬 로직(246)은 리프레쉬 순서에 따라 해당 공유 블록이 리프레쉬하도록 제어한다. 예를 들어, 공유 블록 1,2,3,4가 있을 경우, 현재 리프레쉬를 수행할 순서가 공유 블록2인 경우, 특정 포트(예를 들어, 접근 권한을 가진 포트)로부터 들어오는 오토 리프레쉬 커맨드에 따라 공유 블 록2가 리프레쉬를 수행한다. 여기서, 리프레쉬 로직(246)은 리프레쉬 커맨드(오토 리프레쉬 커맨드 및 셀프 리프레쉬 커맨드)는 접근 권한에 상관없이 각 포트로부터 수신될 수 있다. 해당 공유 블록의 리프레쉬를 위한 리프레쉬 커맨드는 접근 권한을 갖고 있는 포트로부터 수신할 경우 수행될 수 있으며, 만일 어떠한 포트로도 접근 권한이 부여되지 않은 상태이면 임의의 포트로부터 수신되는 오토 리프레쉬 커맨드에 따라 리프레쉬를 수행하거나, 각 포트의 셀프 리프레쉬에 진입한 포트의 매 셀프 리프레쉬 주기마다 리프레쉬를 수행할 수 있다. 접근 권한에 따른 리프레쉬 방법은 관련 도면(도 7 내지 도 16)을 참조하여 상세히 후술하기로 한다.Each shared block is assigned a refresh order in advance. The refresh order may be a sequential order implemented in hardware. The refresh logic 246 controls the shared block to be refreshed according to the refresh order. For example, if there are shared blocks 1, 2, 3, and 4, and the current refresh order is shared block 2, according to the auto refresh command from a specific port (for example, a port having access authority). Shared block 2 performs a refresh. Here, the refresh logic 246 may receive a refresh command (auto refresh command and self refresh command) from each port regardless of the access right. The refresh command for refreshing the shared block can be executed when receiving from a port having access authority. If the access authority is not granted to any port, it is refreshed according to the auto refresh command received from any port. The refresh may be performed at every self refresh period of the port that has entered the self refresh of each port. The refresh method according to the access right will be described later in detail with reference to the related drawings (FIGS. 7 to 16).

리프레쉬 로직(246)은 리프레쉬 순서를 카운팅하기 위한 리프레쉬 순서 레지스터(미도시)를 포함할 수 있다. 즉, 리프레쉬 로직(246)은 리프레쉬 순서 레지스터를 통해 리프레쉬할 해당 공유 블록을 인식할 수 있다.The refresh logic 246 may include a refresh order register (not shown) for counting the refresh order. That is, the refresh logic 246 may recognize the corresponding shared block to be refreshed through the refresh order register.

따라서, 리프레쉬 로직(246)은 리프레쉬 순서 레지스터를 통해 현재 리프레쉬할 해당 공유 블록을 인식하고, 플래그 로직(244)으로부터 접근 권한 플래그에 대한 정보를 수신함에 따라 당해 공유 블록에 대한 접근 권한 부여 여부 및 접근 권한을 부여한 포트를 인식할 수 있으며, 그에 상응하는 포트로부터의 리프레쉬 커맨드에 따라 해당 공유 블록이 리프레쉬하도록 제어할 수 있다.Accordingly, the refresh logic 246 recognizes the corresponding shared block to be currently refreshed through the refresh order register and receives information on the access right flag from the flag logic 244, and whether or not to grant access to the shared block. The authorized port can be recognized, and the shared block can be controlled to be refreshed according to the refresh command from the corresponding port.

이하, 접근 권한의 부여 여부 및 접근 권한 부여된 포트에 따른 리프레쉬 수행 방법을 설명하기로 한다.Hereinafter, a method of performing refresh according to whether access authority is granted and a port granted access authority will be described.

도 7 내지 도 11은 본 발명의 바람직한 실시예에 따른 공유 블록으로 분할 되지 않은 공유 뱅크의 리프레쉬 방법을 도시한 도면이고, 도 12 내지 도 16은 본 발명의 바람직한 실시예에 따른 공유 뱅크가 복수의 공유 블록으로 분할된 경우의 공유 블록의 리프레쉬 방법을 도시한 도면이다.7 to 11 illustrate a method of refreshing a shared bank that is not divided into shared blocks according to a preferred embodiment of the present invention. FIGS. 12 to 16 illustrate a plurality of shared banks according to a preferred embodiment of the present invention. It is a figure which shows the refresh method of a shared block when it is divided into shared blocks.

어떠한 포트에게도 접근 권한이 부여되지 않은 경우의 리프레쉬 방법이 도 7에 도시되어 있다. 이 경우, 공유 뱅크는 아이들(idle) 상태에서 두 포트 중 임의의 어느 한 포트로부터 수신되는 리프레쉬 커맨드(오토 리프레쉬 또는 셀프 리프레쉬)에 따라 리프레쉬를 수행한다. 도면에는 각 포트에서 곧바로 각 뱅크로 리프레쉬 커맨드가 전송되는 것으로 도시되었으나, 리프레쉬 로직(246)이 포트로부터 리프레쉬 커맨드를 수신하고, 그에 따라 해당 뱅크로 리프레쉬를 위한 커맨드를 전송하는 것임은 상술한 설명을 통해 자명하다 할 것이다. 다만, 설명의 편의를 위해, 이하에서는 각 포트가 직접 뱅크로 리프레쉬 커맨드를 전송하는 것으로 가정하여 설명하기로 한다.The refresh method in the case where no access right is granted to any port is shown in FIG. In this case, the shared bank performs the refresh in accordance with the refresh command (auto refresh or self refresh) received from any one of the two ports in the idle state. Although a refresh command is transmitted to each bank directly from each port in the figure, the refresh logic 246 receives a refresh command from a port, and accordingly, transmits a command for refresh to the corresponding bank. Will be self explanatory. However, for convenience of explanation, hereinafter, it will be assumed that each port directly transmits a refresh command to the bank.

도 8에는 어느 한 포트가 접근 권한을 가지고 있는 경우의 리프레쉬 방법이 도시되어 있다. 이 경우에는 접근 권한을 가진 포트로부터 수신되는 리프레쉬 커맨드에 따라서만 공유 뱅크의 리프레쉬가 수행된다.8 illustrates a refresh method when any one port has access authority. In this case, the refresh of the shared bank is performed only according to the refresh command received from the port having the access right.

도 9는 임의의 한 포트(A-포트)가 셀프 리프레쉬(S-Refresh : self refresh)에 진입하고(즉, A-포트로부터 수신된 셀프 리프레쉬 커맨드에 따라 일정 시간 주기로 셀프 리프레쉬가 수행되는 경우이며, 이에 따라 A-포트 전용 뱅크는 셀프 리프레쉬를 수행함), 다른 포트(B-포트)가 공유 뱅크에 대한 접근권한이 없는 경우를 도시한 것이며, 이 경우에는 A-포트의 매 셀프 리프레쉬 또는 B-포트의 오 토 리프레쉬 커맨드에 따라, 공유 뱅크가 아이들 상태일 때 리프레쉬가 수행된다.FIG. 9 is a case where any one port (A-port) enters self-refresh (S-Refresh: self refresh) (that is, self-refresh is performed at regular time intervals according to the self-refresh command received from the A-port. Therefore, the A-port dedicated bank performs self-refresh), and another port (B-port) does not have access to the shared bank. In this case, every self-refresh or B- of the A-port is shown. According to the port's auto refresh command, refresh is performed when the shared bank is idle.

도 10을 참조하면, 임의의 한 포트(A-포트)가 셀프 리프레쉬에 진입하더라도 다른 포트인 B-포트가 공유 뱅크에 대한 접근 권한을 가지고 있는 경우에는, B-포트의 오토 리프레쉬 커맨드에 의해서만 공유 뱅크의 리프레쉬가 수행된다.Referring to FIG. 10, even if any one port (A-port) enters self-refresh, when another port, B-port, has access to the shared bank, sharing is performed only by the auto-refresh command of the B-port. Refreshing of the bank is performed.

도 11을 참조하면 두 포트 모두 셀프 리프레쉬에 진입한 경우가 도시되어 있으며, 이 경우 미리 지정된 포트(예를 들어, 도면에 도시된 바와 같이 A-포트)의 셀프 리프레쉬에 따라서만 공유 뱅크의 리프레쉬가 수행될 수 있다.Referring to FIG. 11, a case in which both ports enter self refresh is illustrated. In this case, refresh of the shared bank is performed only according to self refresh of a predetermined port (for example, A-port as shown in the figure). Can be performed.

다수의 공유 블록으로 분할된 공유 뱅크의 각 공유 블록의 리프레쉬 방법도, 상술한 다수의 공유 블록으로 분할되지 않은 공유 뱅크의 리프레쉬 방법과 유사하게 수행될 수 있다. 다만, 공유 블록의 리프레쉬 방법은 각 공유 블록마다 리프레쉬 순서가 미리 지정되며, 해당 순서에 따른 공유 블록이 리프레쉬되는 것이다. The refresh method of each shared block of the shared bank divided into a plurality of shared blocks may also be performed similarly to the refresh method of the shared bank not divided into the plurality of shared blocks. However, in the method of refreshing a shared block, a refresh order is specified in advance for each shared block, and the shared block according to the order is refreshed.

도 12를 참조하면, 미리 지정된 리프레쉬 순서에 따라, 현재 리프레쉬될 공유 블록에 대한 접근 권한이 어느 포트에도 부여되지 않은 경우, 임의의 포트로부터 수신되는 리프레쉬 커맨드에 따라 당해 공유 블록의 리프레쉬가 수행된다.Referring to FIG. 12, according to a predetermined refresh order, when the access right to the shared block to be refreshed is not granted to any port, refresh of the shared block is performed according to the refresh command received from any port.

도 13을 참조하면, 현재 리프레쉬 순서가 공유 블록1이고, 공유 블록1의 접근 권한을 A-포트가 가지고 있는 경우의 리프레쉬 방법(즉, A-포트의 리프레쉬 커맨드에 따라 공유 블록1은 리프레쉬를 수행함)이 도시되어 있다.Referring to FIG. 13, in the case where the current refresh order is shared block 1 and the A-port has access authority of shared block 1 (ie, shared block 1 performs refresh according to the refresh command of A-port). ) Is shown.

도 14를 참조하면, 만일 A- 포트가 공유 블록1의 접근 권한을 가지고 있을 지라도 공유 블록2가 현재 리프레쉬 순서이고 공유 블록2에 대한 접근 권한이 어느 포트에도 부여되지 않은 경우에는, 도 12에 따른 경우와 같이 A-포트 또는 B-포트의 리프레쉬 커맨드에 따라 공유 블록2의 리프레쉬가 수행된다.Referring to FIG. 14, even if the A-port has access rights of the shared block 1, if the shared block 2 is in the current refresh order and access rights to the shared block 2 are not granted to any of the ports, according to FIG. 12. As in the case, the refresh of the shared block 2 is performed according to the refresh command of the A-port or the B-port.

도 15에는 A-포트가 셀프 리프레쉬에 진입하고 B-포트가 어느 공유 블록에도 접근 권한을 가지고 있지 않은 경우를 나타낸 것이며, 이 경우에는 현재의 순서에 해당되는 공유 블록이 A-포트의 셀프 리프레쉬 또는 B-포트의 리프레쉬 커맨드에 따라 리프레쉬를 수행한다.FIG. 15 illustrates a case in which the A-port enters self refresh and the B-port does not have access to any shared block. In this case, the shared block corresponding to the current sequence is the self-refresh or the A-port. Refresh is performed according to the refresh command of the B-port.

도 16은 두 포트 모두 셀프 리프레쉬에 진입한 경우를 나타낸 것이며, 이 경우에는 리프레쉬 순서에 해당되는 공유 블록이 미리 지정된 특정 포트(예를 들어, 도면에 도시된 바와 같이 A-포트)의 셀프 리프레쉬의 작동을 따라 리프레쉬한다.FIG. 16 illustrates a case in which both ports enter self refresh, in which case, a shared block corresponding to the refresh sequence is assigned to the self refresh of a specific port (for example, an A-port as shown in the figure). Refresh according to the operation.

전술한 바와 같이, 도면을 참조하여 설명한 내용 중 A-포트(220) 또는 B-포트(222)가 메모리 장치에 접근하는 것으로 표현한 것은, 단순히 설명의 편의를 위한 것이며, 실제적으로는 각 포트를 통해 프로세서가 메모리 장치에 접근하는 것임은 자명하다 할 것이다. 또한, 상술한 커맨드를 지정하는 신호(예를 들어, /RAS, /CAS, /CS 및 /WE를 모두 로우로 인에이블시키는 것)들은 각 메모리 장치마다 다르게 설정될 수 있음은 당연하다.As described above, the contents described with reference to the drawings that the A-port 220 or the B-port 222 accesses the memory device are merely for convenience of description, and in practice, through each port It is obvious that the processor accesses the memory device. In addition, it is obvious that the signals specifying the above-described commands (for example, enabling / RAS, / CAS, / CS, and / WE all low) may be set differently for each memory device.

또한, 특정 포트만을 통해 액세스 가능한 전용 저장 영역 및 다중 포트를 통해 복수의 프로세서가 액세스할 수 있는 공용 저장 영역을 뱅크 단위로 설명하였 으나, 이는 반드시 뱅크일 필요는 없으며, 하나의 뱅크에서 전용 영역 및 공용 영역으로 구분될 수도 있다. 따라서, 뱅크는 저장 영역에 대한 단위라 할 수 있으므로, 뱅크 이외의 저장 영역도 본 발명에 따른 공유 뱅크의 안정적인 리프레쉬를 수행하는 다중 포트 메모리 장치 및 그 리프레쉬 방법이 동일 또는 유사하게 적용될 수 있음은 당업자에게는 자명하다 할 것이다.In addition, although a dedicated storage area accessible only through a specific port and a common storage area accessible by a plurality of processors through multiple ports have been described in bank units, this does not necessarily need to be a bank. It may be divided into a common area. Therefore, since a bank may be a unit for a storage area, a multi-port memory device and a refresh method for performing a stable refresh of a shared bank according to the present invention may be applied to the storage area other than the bank in the same or similar manner. Will be self-evident.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented in a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).

본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.

이상에서 상술한 바와 같이 본 발명에 따르면, 다중 포트 메모리의 공유 뱅크와 같은 공유 저장영역이 안정적인 리프레쉬를 수행하도록 하는 다중 포트 메모리 장치 및 그 리프레쉬 방법을 제공할 수 있는 효과가 있다.As described above, according to the present invention, it is possible to provide a multi-port memory device and a refresh method thereof in which a shared storage area such as a shared bank of the multi-port memory performs stable refresh.

또한, 본 발명은 공유 저장영역에 다중 포트가 동시에 접근할 수 있는 다수의 공유 블록으로 구현된 공유 저장영역을 구비한 메모리 장치에 대해서도 각 공유 블록의 안정적인 리프레쉬를 수행할 수 있는 효과도 있다.In addition, the present invention also has the effect that it is possible to perform a stable refresh of each shared block even for a memory device having a shared storage area implemented by a plurality of shared blocks that multiple ports can simultaneously access the shared storage area.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art that various modifications of the present invention without departing from the spirit and scope of the invention described in the claims below And can be changed.

Claims (15)

둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서,A multi-port memory device having two or more ports, 상기 각 포트를 통해 복수의 프로세서가 액세스 가능한 하나 이상의 공유 저장영역; 및One or more shared storage areas accessible by a plurality of processors through each port; And 상기 프로세서가 상기 각 포트를 통해 상기 공유 저장영역에 액세스할 수 있는 접근 권한을 제어하는 접근 권한 레지스터 로직을 포함하되,Access rights register logic for controlling access rights for the processor to access the shared storage through each port, 상기 공유 저장영역은 접근 권한을 가진 특정 프로세서로부터 오토 리프레쉬 커맨드(refresh command)를 수신하거나, 모든 프로세서가 접근 권한이 없을 때 임의의 프로세서로부터의 오토 리프레쉬 커맨드 또는 셀프 리프레쉬 커맨드에 따라 리프레쉬하는 것을 특징으로 하는 다중 포트 메모리 장치.The shared storage area receives an auto refresh command from a specific processor having access authority or refreshes according to an auto refresh command or a self refresh command from an arbitrary processor when all processors do not have access authority. Multi-port memory device. 제 1항에 있어서,The method of claim 1, 특정 포트를 통해서만 액세스가 가능한 하나 이상의 전용 저장영역을 더 포함하는 다중 포트 메모리 장치.Multi-port memory device further comprising one or more dedicated storage accessible only through specific ports. 제 1항에 있어서,The method of claim 1, 둘 이상의 프로세서로부터 셀프 리프레쉬(self refresh) 커맨드를 수신할 경우, 상기 공유 저장영역은 미리 지정된 포트를 통해 수신된 셀프 리프레쉬 커맨드에 따라 셀프 리프레쉬하는 것을 특징으로 하는 다중 포트 메모리 장치.And receiving a self refresh command from two or more processors, wherein the shared storage area self refreshes according to a self refresh command received through a predetermined port. 제 1항에 있어서,The method of claim 1, 상기 공유 저장영역은 저장영역을 미리 설정된 단위로 분할한 하나 이상의 블록을 포함하고, 상기 프로세서는 상기 접근 권한 레지스터 로직에 의해 부여된 접근 권한에 따라 상기 블록 중 하나의 블록에 독립적으로 액세스하는 것을 특징으로 하는 다중 포트 메모리 장치.The shared storage area may include one or more blocks that divide a storage area into predetermined units, and the processor may independently access one of the blocks according to an access right granted by the access right register logic. Multiport memory device. 제 4항에 있어서,The method of claim 4, wherein 상기 프로세서에서 상기 공유 저장영역의 특정 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드인 것을 특징으로 하는 다중 포트 메모리 장치. And a command for accessing and using a specific block of the shared storage area in the processor is a command obtained by modifying an address part of a preset memory command. 제 5항에 있어서,The method of claim 5, 상기 변형된 어드레스 파트는 공유 저장영역 블록의 주소 정보 및 공유 저장영역 사용과 관련한 커맨드 정보를 포함하는 것을 특징으로 하는 다중 포트 메모 리 장치.And wherein the modified address part includes address information of a shared storage block and command information relating to use of the shared storage area. 제 6항에 있어서,The method of claim 6, 상기 공유 저장영역 사용과 관련한 커맨드는 상기 공유 저장영역의 특정 블록에 대한 접근 권한을 요청하는 세트(SET) 커맨드, 상기 공유 저장영역의 특정 블록에 대한 접근 권한이 부여됐는지의 확인을 위한 리드(READ) 커맨드 및 상기 공유 저장영역의 특정 블록에 대한 접근 권한 해제를 요청하는 리세트(RESET) 커맨드를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치. The command related to using the shared storage area may include a SET command for requesting access to a specific block of the shared storage area, and a read for checking whether access to the specific block of the shared storage area has been granted. Command) and a reset command for requesting release of access to a specific block of the shared storage area. 제 1항 내지 제 7항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 7, 상기 공유 저장영역 또는 상기 전용 저장영역은 뱅크(bank) 단위로 할당된 것을 특징으로 하는 다중 포트 메모리 장치.The shared storage area or the dedicated storage area is a multi-port memory device, characterized in that allocated in units of bank (bank). 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서,A multi-port memory device having two or more ports, 상기 각 포트를 통해 복수의 프로세서가 액세스 가능한 복수의 공유 블록을 포함하는 공유 저장영역;A shared storage area including a plurality of shared blocks accessible by a plurality of processors through the respective ports; 상기 프로세서가 상기 각 포트를 통해 상기 공유 블록에 액세스할 수 있는 접근 권한을 제어하는 접근 권한 레지스터 로직을 포함하되,Access rights register logic for controlling access rights for the processor to access the shared block through each of the ports, 상기 각 공유 블록은 미리 지정된 리프레쉬 순서에 따라, 접근 권한을 가진 임의의 프로세서로부터 오토 리프레쉬 커맨드(refresh command)를 수신하거나, 모든 프로세서가 접근 권한이 없을 때 임의의 프로세서로부터의 오토 리프레쉬 커맨드 또는 셀프 리프레쉬 커맨드에 따라 리프레쉬하는 것을 특징으로 하는 다중 포트 메모리 장치.Each shared block receives an auto refresh command from any processor having access authority according to a predetermined refresh order, or auto refresh commands or self refresh from any processor when all processors do not have access authority. And refresh according to a command. 제 9항에 있어서,The method of claim 9, 상기 접근 권한 레지스터 로직은 상기 리프레쉬 순서를 카운팅하기 위한 리프레쉬 순서 레지스터를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치. And the access right register logic includes a refresh order register for counting the refresh order. 제 9항에 있어서,The method of claim 9, 특정 포트를 통해서만 액세스가 가능한 하나 이상의 전용 저장영역을 더 포함하는 다중 포트 메모리 장치.Multi-port memory device further comprising one or more dedicated storage accessible only through specific ports. 다중 포트를 통해 복수의 프로세서가 접근 가능한 하나 이상의 공유 저장영역을 포함하는 다중 포트 메모리 장치에서의 상기 공유 블록의 리프레쉬 방법에 있 어서,A method of refreshing the shared block in a multi-port memory device comprising one or more shared storages accessible by a plurality of processors through multiple ports (a) 상응하는 포트를 통해 임의의 프로세서로부터 리프레쉬 커맨드를 수신하는 단계; 및(a) receiving a refresh command from any processor through a corresponding port; And (b) 상기 공유 저장영역에 대한 접근 권한이 부여된 상태이고 상기 임의의 프로세서가 상기 접근 권한을 가진 경우, 또는 상기 공유 저장영역에 대한 접근 권한이 부여되지 않은 상태인 경우 리프레쉬를 수행하는 단계를 포함하는 공유 저장영역의 리프레쉬 방법.(b) performing refresh when the access right to the shared storage is granted and the processor has the access right, or when the access right to the shared storage is not granted. Refresh method for containing shared storage. 제 12항에 있어서,The method of claim 12, 상기 리프레쉬 커맨드는 오토 리프레쉬 커맨드 또는 셀프 리프레쉬 커맨드인 것을 특징으로 하는 공유 저장영역의 리프레쉬 방법.And wherein the refresh command is an auto refresh command or a self refresh command. 제 12항에 있어서,The method of claim 12, 상기 공유 저장영역은 저장영역을 미리 설정된 단위로 분할한 하나 이상의 블록을 포함하고, 상기 각 프로세서는 부여된 접근 권한에 따라 상기 블록 중 하나의 블록에 독립적으로 액세스하는 것을 특징으로 하는 공유 저장영역의 리프레쉬 방법.The shared storage area includes at least one block that divides the storage area into predetermined units, and each processor independently accesses one of the blocks according to an granted access right. Refresh method. 제 14항에 있어서,The method of claim 14, 상기 단계 (b)는 미리 지정된 순서에 따라 현재 리프레쉬를 수행할 차례가 된 공유 블록을 인식하는 단계를 선행하는 것을 특징으로 하는 공유 저장영역의 리프레쉬 방법.The step (b) is a method for refreshing a shared storage area, characterized in that the step of recognizing the shared block that is the turn to perform the current refresh in a predetermined order.
KR1020060046847A 2006-05-25 2006-05-25 Refresh method of shared memory area and multi-port memory device performing the method KR100754358B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060046847A KR100754358B1 (en) 2006-05-25 2006-05-25 Refresh method of shared memory area and multi-port memory device performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060046847A KR100754358B1 (en) 2006-05-25 2006-05-25 Refresh method of shared memory area and multi-port memory device performing the method

Publications (1)

Publication Number Publication Date
KR100754358B1 true KR100754358B1 (en) 2007-09-03

Family

ID=38736176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060046847A KR100754358B1 (en) 2006-05-25 2006-05-25 Refresh method of shared memory area and multi-port memory device performing the method

Country Status (1)

Country Link
KR (1) KR100754358B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100931703B1 (en) * 2007-09-13 2009-12-14 엠텍비젼 주식회사 Multiprocessor data transfer method using multi-port memory, recording medium recording packet structure, multi-processor data transfer protocol using multi-port memory, and multi-processor system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329675A (en) * 1995-05-30 1996-12-13 Canon Inc Dram refresh control circuit
KR19980055984A (en) * 1996-12-28 1998-09-25 이우복 DRAM refresh unit in multi-master systems
JP2002216474A (en) 2001-01-19 2002-08-02 Nec Kofu Ltd Computer system and memory refresh method therefor
KR20040063404A (en) * 2003-01-07 2004-07-14 엘지전자 주식회사 Apparatus and Method for Controlling Refresh Operation of Data Processing System
KR100689863B1 (en) 2005-12-22 2007-03-08 삼성전자주식회사 Semiconductor memory device and method therefore

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329675A (en) * 1995-05-30 1996-12-13 Canon Inc Dram refresh control circuit
KR19980055984A (en) * 1996-12-28 1998-09-25 이우복 DRAM refresh unit in multi-master systems
JP2002216474A (en) 2001-01-19 2002-08-02 Nec Kofu Ltd Computer system and memory refresh method therefor
KR20040063404A (en) * 2003-01-07 2004-07-14 엘지전자 주식회사 Apparatus and Method for Controlling Refresh Operation of Data Processing System
KR100689863B1 (en) 2005-12-22 2007-03-08 삼성전자주식회사 Semiconductor memory device and method therefore

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100931703B1 (en) * 2007-09-13 2009-12-14 엠텍비젼 주식회사 Multiprocessor data transfer method using multi-port memory, recording medium recording packet structure, multi-processor data transfer protocol using multi-port memory, and multi-processor system

Similar Documents

Publication Publication Date Title
JP5063041B2 (en) Dynamic semiconductor memory with improved refresh mechanism
US8122186B2 (en) Memory device, memory system and dual port memory device with self-copy function
US7911825B2 (en) Multi-port memory based on DRAM core
JP5079279B2 (en) Refresh control method in multi-port DRAM and multi-port memory system using the method
US7180808B2 (en) Semiconductor memory device for performing refresh operation
TWI700585B (en) Memory device and memory system including the memory device
US7757061B2 (en) System and method for decoding commands based on command signals and operating state
US20090083479A1 (en) Multiport semiconductor memory device and associated refresh method
JP2007095054A (en) Arbitration for memory device by command
US20100077139A1 (en) Multi-port dram architecture
US7047371B2 (en) Integrated memory having a memory cell array containing a plurality of memory banks, and circuit configuration having an integrated memory
JP2008084426A (en) Semiconductor memory and system
US7313046B2 (en) Semiconductor memory devices in which the number of memory banks to be refreshed may be changed and methods of operating the same
JP4229958B2 (en) Memory control system and memory control circuit
US6026466A (en) Multiple row address strobe DRAM architecture to improve bandwidth
US7263021B2 (en) Refresh circuit for use in semiconductor memory device and operation method thereof
JP3708801B2 (en) Semiconductor memory device
KR100754358B1 (en) Refresh method of shared memory area and multi-port memory device performing the method
KR100781129B1 (en) Multi-port memory and method for outputing data from the same
KR100843580B1 (en) Multi-port memory device having register logic for providing access authority and control method thereof
KR100834373B1 (en) Multi-port memory and Method for control access right of v háµbjdá
KR100754360B1 (en) Multi-port memory device performing stable refresh of shared memory area and refresh method thereof
KR100715525B1 (en) Multi-port memory device including clk and dq power which are independent
JP5045337B2 (en) Semiconductor memory, semiconductor memory operating method and system
KR100754359B1 (en) Multi-port memory device including plurality of shared blocks

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: 20120710

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130731

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150729

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190725

Year of fee payment: 13