KR20100011012A - 듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근제어방법 - Google Patents

듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근제어방법 Download PDF

Info

Publication number
KR20100011012A
KR20100011012A KR1020080072042A KR20080072042A KR20100011012A KR 20100011012 A KR20100011012 A KR 20100011012A KR 1020080072042 A KR1020080072042 A KR 1020080072042A KR 20080072042 A KR20080072042 A KR 20080072042A KR 20100011012 A KR20100011012 A KR 20100011012A
Authority
KR
South Korea
Prior art keywords
access
processor
bank
shared bank
command
Prior art date
Application number
KR1020080072042A
Other languages
English (en)
Other versions
KR100964154B1 (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 KR1020080072042A priority Critical patent/KR100964154B1/ko
Publication of KR20100011012A publication Critical patent/KR20100011012A/ko
Application granted granted Critical
Publication of KR100964154B1 publication Critical patent/KR100964154B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 듀얼 포트 메모리에 있어서, 어드레스 입출력포트, 데이터 입출력 포트, 상기 제 1 및 제 2 프로세서로 상기 공유 뱅크 접근을 허용하는 접근 권한 부여 신호를 출력하는 접근 권한 부여 신호 출력 포트 및 하나의 프로세서에서 상기 공유 뱅크 접근 프로세스가 완료된 경우 나머지 프로세서로 이를 통지하는 인터럽트 신호 출력 포트를 포함하는 한 쌍의 포트부, 상기 제 1 프로세서 및 제 2 프로세서로부터 공유 뱅크 접근 요청 커맨드가 수신되는 경우 미리 설정된 중재 로직에 따라 결정된 하나의 프로세서로 상기 접근 권한 부여 신호를 전송하고, 접근 권한이 주어진 프로세서에서 상기 공유 뱅크로의 접근이 가능하도록 하는 선택 제어신호를 출력하며, 상기 공유 뱅크에 접근중인 프로세서가 상기 공유 뱅크 접근 프로세스를 완료한 경우 상기 인터럽트 신호를 나머지 프로세서로 전송하는 컨트롤 로직부 및 상기 컨트롤 로직부의 선택 제어신호에 따라 접근 권한이 주어진 프로세서를 상기 공유 뱅크로 연결하는 먹스부를 포함하는 것을 특징으로 한다.
상기와 같은 본 발명에 따르면, 프로세서로부터 공유 뱅크 접근 권한 부여 신호 출력을 위한 포트와 프로세서의 공유 뱅크 접근 프로세스 완료 시 나머지 프로세서로 이를 통지하는 인터럽트 신호를 전송하는 포트를 구비함으로써 접근 권한 표시 및 공유 뱅크 사용 가능 통지가 출력 포트를 통해 프로세서로 전송되어 시스템 성능이 현저하게 향상되는 효과가 있다.
듀얼, 포트, 메모리, DRAM, SDRAM, 중재, 공유, 뱅크.

Description

듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근 제어방법{A Dual Port Memory and An Method For Controlling Access of Shared Bank of Dual Port Memory}
본 발명은 듀얼 포트 메모리에 관한 것으로서, 보다 상세하게는 2개의 입출력 포트를 갖는 듀얼 포트 메모리에서 2개의 프로세서가 동시에 공유 뱅크를 접근하는 것을 방지하도록 하는 방법으로서 프로세서로부터 공유 뱅크 접근 권한 부여 신호 출력을 위한 포트와 프로세서의 공유 뱅크 접근 프로세스 완료 시 나머지 프로세서로 이를 통지하는 인터럽트 신호를 전송하는 포트를 구비함으로써 시스템 성능이 현저하게 향상될 수 있도록 하는 듀얼 포트 메모리에 관한 것이다.
듀얼 포트 메모리 장치는 하나로 형성된 패키지 안에 공유 메모리와 입출력 장치로 구성되며 읽기 및 쓰기 신호를 받아 들여 데이터를 독출하거나 기입하는 장치로서 외부 프로세서와 연결되는 2개의 입출력 포트와 메모리가 구비되어 있다.
이 중 메모리는 특정 프로세서가 전용해서 접근할 수 있는 전용 뱅크와 2개 의 프로세서가 모두 접근가능한 공유 뱅크로 이루어져 있다.
이러한 일반적인 듀얼 포트 메모리는 2개의 프로세서가 동시에 공유 뱅크를 접근하고자 하는 경우 충돌 현상이 발생할 수 있다.
국내공개특허 제2006-90083호에는 이러한 충돌 현상을 방지할 수 있도록 하는 듀얼 포트 메모리가 제안된 바 있는데 이것이 도 1에 도시되어 있다.
도 1을 참조하면, 종래 듀얼 포트 메모리 장치(400)는 복수개의 뱅크들(401, 402, 403, 404), 선택회로(430), 레지스터(440),그리고 인터페이스부들 (또는 제 1 및 제 2 포트)(450, 452)를 포함한다.
복수개의 뱅크들(401, 402, 403, 404)은 제 1 포트(450)를 통해 접근 가능한 제 1 그룹의 전용뱅크(401), 제 2 포트(452)를 통해 접근 가능한 제 2 그룹의 전용뱅크(402, 403), 그리고 제 1 및 제 2 포트(450, 452)에 공유되어 있으며 제 1 및 제 2 포트(450, 452)를 통해 접근 가능한 제 3 그룹의 공유 뱅크(404)로 구분된다.
선택회로(430)는 세부적으로 우선 순위 결정부와 접근 금지 신호 발생부로 구성되는데, 우선 순위 결정부는 제 1 및 제 2 뱅크 선택신호를 입력받고, 설정된 우선 순위에 따라 제 1 및 제 2 용인신호(ACCT1,ACCT2)를 발생한다. 접근 금지 신호 발생부는 제 1 및 제 2 용인신호(ACCT1, ACCT2)에 각각 응답하여 제 1 및 제 2 접근 금지 신호(PROT1, PROT2)를 발생한다. 여기에서, 제 1 뱅크 선택신호는 제 1 포트(450)에 입력되는 제 1 어드레스(ADDR1)에 포함된 신호이다. 그리고 제 2 뱅크 선택신호는 제 2 포트(452)에 입력되는 제 2 어드레스(ADDR2)에 포함된 신호이다.
제 3 그룹의 뱅크들이 복수개인 경우에, 선택회로(430)는 제 1 및 2 뱅크 선 택신호를 비교하여 동일한 뱅크를 선택하고 있는지를 판단한다. 제 1 및 제 2 뱅크 선택신호가 동일한 뱅크를 선택하지 않으면, 선택회로(430)는 로직 "1"의 제 1 및 제 2 접근 금지 신호(PROT1, PROT2)를 발생한다. 이러한 경우에, 제 1 및 제 2 프로세서(410, 420)는 제 1 및 제 2 포트(450, 452)를 통해 듀얼 포트 메모리 장치(400)에 접근(access)할 수 있다.
한편, 제 1 및 제 2 뱅크 선택신호가 동일한 뱅크(예를 들면, 404)를 선택하면, 선택회로(430)는 레지스터(440)에 하드웨어적으로 고정된 우선 순위에 따라 로직 "1"의 제 1 또는 제 2 접근 금지 신호(PROT1, PROT2)를 선택적으로 발생한다.
예를 들어, 제 1 접근 금지 신호(PROT1)가 로직 "1"이고 제 2 접근 금지 신호(PROT2)가 로직 "0"이면, 제 1 프로세서(410)는 제 1 포트(450)를 통해 제 4 뱅크(404)에 접근(access)할 수 있지만 제 2 프로세서(420)는 제 4 뱅크(404)에 접근(access)할 수 없게 된다.
레지스터(440)는 제 3 그룹의 뱅크들의 접근 가능성에 대한 우선 순위를 저장하고 있다. 여기에서, 접근 가능성에 대한 우선 순위를 저장하는 비트를 세마포어 비트(semaphore bit)라고 부른다. 예를 들면, 제 4 뱅크(404)가 제 1 포트(450)에 대해 우선 순위를 가지고 있으면, 세마포어 비트는 "1"을 저장한다. 제 4 뱅크(404)가 제 2 포트(452)에 대해 우선 순위를 가지고 있으면, 세마포어 비트는 "0"을 저장한다. 선택회로(430)는 레지스터(440)의 세마포어 비트에 저장된 값에 따라, 제 4 뱅크(404)가 제 1 포트(450) 또는 제 2 포트(452)에 선택적으로 접근되도록 하여, 제 1 및 제 2 포트들(450, 452)에 의한 충돌을 방지한다.
상기 종래 듀얼 포트 메모리는 선택회로(430)에서 프로세서(410, 420)들에서 접근하고자 하는 어드레스들을 분석하고 양자가 일치하는지를 비교하여야 하므로 소프트웨어가 복잡해지고 성능이 저하되는 문제점이 있다.
또한, 상기 종래 듀얼 포트 메모리는 듀얼 포트 메모리가 주도적으로 공유 뱅크 접근을 제어하므로 프로세서(410, 420)에서 주도적으로 공유 뱅크를 접근할 수 없으므로 프로세서(410, 420)가 원하는 시간에 공유 뱅크를 접근할 수 없게 되는 문제점이 있다.
한편, 현재 상용화된 기술은 상기 기술과 유사한 구성으로서 외부의 프로세서(410, 420)가 레지스터(440)에 기록된 값을 읽어 현재 공유 뱅크(404)에 접근 가능한 상태인지를 확인한 후 가능한 경우 공유 뱅크(404)를 접근하여 읽기 또는 기록 동작이 수행되도록 하는 방식을 취하여 프로세서(410, 420)에서 주도적으로 공유 뱅크를 접근할 수 있도록 하고 있다.
그러나, 이러한 듀얼 포트 메모리는 접근을 원하는 프로세서(410, 420)가 듀얼 포트 메모리의 내부 상황을 지켜보다가 유휴상태에서 접근요구 비트를 세팅하는 방식으로서 이 또한 원하는 타이밍에 공유 뱅크(404)를 접근할 수 없는 문제점이 있으며, 접근 권한이 레지스터(440)에 표시되므로 프로세서(410, 420)가 접근 권한을 취득하기 위해 수시로 접근 포트를 이용하여 레지스터(440)에 기록된 값을 읽어야 하므로 성능이 저하되는 큰 요인이 되고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 프로세서로부터 공유 뱅크 접근 권한 부여 신호 출력을 위한 포트와 프로세서의 공유 뱅크 접근 프로세스 완료 시 나머지 프로세서로 이를 통지하는 인터럽트 신호를 전송하는 포트를 구비함으로써 접근 권한 표시 및 공유 뱅크 사용 가능 통지가 출력 포트를 통해 프로세서로 전송되어 시스템 성능이 현저하게 향상될 수 있도록 하는 것이다.
본 발명의 다른 목적은 종래의 모드 레지스터 세트 또는 확장모드 레지스터 세트의 커맨드를 이용하여 공유 뱅크 접근 요청을 함으로써 원하는 시점에 언제든지 공유 뱅크를 접근할 수 있도록 함으로써 시스템 성능을 현저하게 향상시키도록 하는 것이다.
본 발명의 또 다른 목적은 프로세서의 공유 뱅크 접근 프로세스가 완료된 경우 인터럽트 신호 형태로 다른 프로세서로 이를 통지함으로써 다른 프로세서가 공유 뱅크 접근 가능 여부를 인식할 수 있도록 하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일측면에 따르면, 제 1 프로세서 전용 뱅크, 제 2 프로세서 전용 뱅크 및 제 1 및 제 2 프로세서에서 모두 접근 가능한 공유 뱅크를 갖는 듀얼 포트 메모리에 있어서, 어드레스 입출력포트, 데이 터 입출력 포트, 상기 제 1 및 제 2 프로세서로 상기 공유 뱅크 접근을 허용하는 접근 권한 부여 신호를 출력하는 접근 권한 부여 신호 출력 포트 및 하나의 프로세서에서 상기 공유 뱅크 접근 프로세스가 완료된 경우 나머지 프로세서로 이를 통지하는 인터럽트 신호 출력 포트를 포함하는 한 쌍의 포트부, 상기 제 1 프로세서 및 제 2 프로세서로부터 공유 뱅크 접근 요청 커맨드가 수신되는 경우 미리 설정된 중재 로직에 따라 결정된 하나의 프로세서로 상기 접근 권한 부여 신호를 전송하고, 접근 권한이 주어진 프로세서에서 상기 공유 뱅크로의 접근이 가능하도록 하는 선택 제어신호를 출력하며, 상기 공유 뱅크에 접근중인 프로세서가 상기 공유 뱅크 접근 프로세스를 완료한 경우 상기 인터럽트 신호를 나머지 프로세서로 전송하는 컨트롤 로직부 및 상기 컨트롤 로직부의 선택 제어신호에 따라 접근 권한이 주어진 프로세서를 상기 공유 뱅크로 연결하는 먹스부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리가 제공된다.
여기서, 상기 공유 뱅크를 접근중인 프로세서는 공유 뱅크 접근 프로세스가 완료되는 경우 접근 완료 커맨드를 포트부로 전송하는 것이 바람직하다.
또한, 상기 인터럽트 신호 출력포트로부터 인터럽트 신호를 수신한 프로세서는 인터럽트 서비스 루틴을 구동하여 인터럽트 승인 커맨드를 생성하여 상기 포트부로 전송하는 것이 보다 바람직하다.
또한, 상기 공유 뱅크 접근 요청 커맨드, 접근 완료 커맨드 및 인터럽트 승인 커맨드는 모드 레지스터 세트 커맨드 또는 확장 모드 레지스터 세트 커멘드인 것이 더욱 바람직하다.
또한, 상기 공유 뱅크를 접근중인 프로세서는 공유 뱅크 리프레쉬 제어신호를 상기 포트부로 전송하여 상기 공유 뱅크의 리프레쉬 동작이 수행되는 것이 바람직하다.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 일 측면에 따르면, 제 1 프로세서 전용 뱅크, 제 2 프로세서 전용 뱅크 및 제 1 및 제 2 프로세서에서 모두 접근 가능한 공유 뱅크를 갖는 듀얼 포트 메모리에서 공유 뱅크의 접근을 제어하는 방법에 있어서, 상기 제 1 및 제 2 프로세서로부터 커맨드를 입력받는 단계, 상기 커맨드를 분석하여 상기 커맨드가 공유 뱅크 접근 요청 커맨드인 경우 미리 설정된 중재 로직에 따라 접근 권한을 부여할 프로세서를 결정하는 단계, 상기 접근 권한이 결정된 프로세서로 상기 접근 권한 부여 신호를 전송하는 단계, 접근 권한이 주어진 프로세서에서 상기 공유 뱅크로의 접근이 가능하도록 동작하는 단계, 상기 공유 뱅크에 접근중인 프로세서로부터 접근 완료 커맨드를 수신하는 단계, 상기 공유 뱅크에 접근중인 프로세서로부터 접근 완료 커맨드를 수신하는 경우 이를 통지하는 인터럽트 신호를 나머지 프로세서로 전송하는 단계를 포함하는 것을 특징으로 하는 듀얼 포트 메모리의 공유 뱅크 접근 제어방법이 제공된다.
상기와 같은 본 발명에 따르면, 프로세서로부터 공유 뱅크 접근 권한 부여 신호 출력을 위한 포트와 프로세서의 공유 뱅크 접근 프로세스 완료 시 나머지 프로세서로 이를 통지하는 인터럽트 신호를 전송하는 포트를 구비함으로써 접근 권한 표시 및 공유 뱅크 사용 가능 통지가 출력 포트를 통해 프로세서로 전송되어 시스템 성능이 현저하게 향상되는 효과가 있다.
또한, 종래의 모드 레지스터 세트 또는 확장모드 레지스터 세트의 커맨드를 이용하여 공유 뱅크 접근 요청을 함으로써 원하는 시점에 언제든지 공유 뱅크를 접근할 수 있도록 함으로써 시스템 성능을 현저하게 향상시킬 수 있는 효과도 있다.
또한, 프로세서의 공유 뱅크 접근 프로세스가 완료된 경우 인터럽트 신호 형태로 다른 프로세서로 이를 통지함으로써 다른 프로세서가 공유 뱅크 접근 가능 여부를 인식할 수 있도록 하는 효과도 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세하게 설명하기로 한다.
도 2는 본 발명에 따른 듀얼 포트 메모리의 입출력 포트 구성을 도시한 것이다. 본 발명의 듀얼 포트 메모리는 SDRAM 또는 DRAM일 수 있다.
도 2에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리는 프로세서1(3)에 연결되는 A-포트와 프로세서2(5)에 연결되는 B-포트가 구비되어 있으며, 각 포트는 종래 SDRAM이나 DRAM과 동일한 신호 포트인 CK, CS, RAS, WE, DQ, ADDR 포트들을 구비함과 아울러 공유 뱅크를 다른 포트와 충돌없이 동작하도록 하기 위해 인터럽트 신호 출력 포트(INTa, INTb)와 접근 권한 부여 신호 출력 포트(OWNa, OWNb) 를 구비하는 것이 특징이다.
인터럽트 신호 출력 포트(INTa, INTb)는 현재 공유 뱅크에 접근 중인 프로세서(예를 들면 프로세서1)가 공유 뱅크 접근 프로세스를 완료한 경우 이를 통지하는 인터럽트 신호를 나머지 프로세서(예를 들면 프로세서2)로 전송하여 공유 뱅크에 접근이 가능함을 알려주는 기능을 수행한다.
접근 권한 부여 신호 출력 포트(OWNa, OWNb)는 프로세서들(3, 5)로부터 공유 뱅크 접근 요청이 있는 경우 미리 설정된 중재 로직에 의해 공유 뱅크 접근 권한이 결정된 프로세서로 접근 권한 부여 신호를 전송하기 위한 것이다.
본 발명에서는 공유 뱅크 접근 권한 부여 통지 및 공유 뱅크 접근 완료 통지를 소프트웨어적으로 수행하지 않고 별도의 하드웨어 포트의 신호 형태로 출력되도록 하는 것이 종래와 다른 특징이며, 이로써 해당 처리를 위한 소프트웨어가 간단해지고 처리 시간을 단축함으로써 시스템 성능이 개선되는 장점이 있다.
도 3은 본 발명에 따른 듀얼 포트 메모리의 내부 구성을 도시한 블록도이다.
도 3에서 종래와 동일한 일반적인 구성은 그 설명을 생략하고 본 발명과 관련된 구성요소만을 설명하기로 한다.
도 3에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리(1)는 커맨드 디텍터(10a, 10b), 컨트롤 로직부(20), 먹스/로우디텍터부(30), 먹스부(40, 60), 디먹스부(50)를 포함하여 구성된다.
커맨드 디텍터(10a, 10b)는 각 입출력 포트를 통해 프로세서들(3, 5)로부터 입력되는 커맨드를 검출하는 것이다.
컨트롤 로직부(20)는 공유 뱅크 접근 동작을 제어하는 것으로서 내부에 2개의 프로세서(3, 5) 간의 공유 뱅크 접근을 중재하는 중재 로직, 메모리 리프레시를 위한 리프레시 카운터 및 스테이트 머신이 구비되어 있다. 리프레시 카운터는 공유 뱅크를 접근중인 프로세서로부터의 공유 뱅크 리프레쉬 제어신호에 따라 공유 뱅크의 리프레쉬 동작이 수행된다. 즉, 전용 뱅크(B0, B1, B3)는 각각 해당 프로세서에 의해 메모리의 리프레쉬 동작이 수행되나, 공유 뱅크(B2)는 현재 접근 권한이 주어진 프로세서에 의해 리프레쉬 동작이 제어된다.
컨트롤 로직부(20)는 커맨드 디텍터(10a, 10b)에서 검출된 커맨드를 분석하여 수신된 커맨드가 공유 뱅크 접근 요청 커맨드인 경우 미리 설정된 중재 로직에 따라 하나의 프로세서에게 공유 뱅크 접근 권한을 부여하여 해당 프로세서로 접근 권한 부여 신호를 접근 권한 부여 신호 출력 포트(/OWN)를 통해 전송하는 한편, 먹스/로우디코더부(30), 먹스부(40, 60) 및 디먹스부(50)로 선택 제어신호를 전송한다.
또한, 컨트롤 로직부(20)는 공유 뱅크(B2)에 접근중인 프로세서가 공유 뱅크 접근 프로세스를 완료한 경우 인터럽트 신호 출력 포트(/INT)를 통해 인터럽트 신호를 나머지 프로세서로 전송하여 공유 뱅크(B2)의 접근이 가능함을 통지한다.
먹스/로우디텍터부(30)는 컨트롤 로직부(20)의 선택 제어신호에 따라 2 개의 포트 중 어느 하나의 포트를 선택하여 공유 뱅크(B2)에 연결함과 아울러 지정된 로우(행)를 선택한다.
먹스부(40)는 컨트롤 로직부(20)의 선택 제어신호에 따라 2 개의 포트 중 어느 하나의 포트를 선택하여 공유 뱅크(B2)에 연결함과 아울러 지정된 열(컬럼)을 선택한다.
접근 권한이 주어진 프로세서는 먹스/로우디텍터부(30) 및 먹스부(40)에 의해 공유 뱅크(B2)의 해당 블록에 접근하여 데이터의 읽기 및 기록 동작이 가능하게 된다.
디먹스부(50)는 읽기 동작에서 컨트롤 로직부(20)의 선택 제어신호에 따라 공유 뱅크(B2)로부터 독출된 데이터를 2 개의 포트 중 어느 하나의 포트를 통해 출력한다.
먹스부(60)는 기록 동작에서 컨트롤 로직부(20)의 선택 제어신호에 따라 선택된 프로세서로부터 수신된 데이터를 공유 뱅크(B2)로 전송하여 데이터 기록이 이루어지도록 한다.
도 4는 듀얼 포트 메모리의 공유 뱅크 접근 제어방법이 수행되는 과정을 도시한 흐름도이고, 도 5는 도 3의 컨트롤 로직부의 동작 상태 다이어그램이다.
도 4 및 도 5를 참조하면, 컨트롤 로직부(20)가 유휴 상태(IDLE)에서 프로세서들(3, 5)로부터 공유 뱅크 접근 요청 커맨드를 수신한다(S405, S410).
컨트롤 로직부(20)는 중재 로직에 의해 2개의 프로세서 중 프로세서1(3)에게 접근 권한을 주도록 결정한다(S415). 이때, 컨트롤 로직부(20)의 스테이트 머신은 ARBIT 상태에 있게 된다.
컨트롤 로직부(20)는 프로세서1(3)로 접근 권한 부여 신호를 전송하고(S420), 접근 권한 부여 신호를 수신한 프로세서1(3)은 공유 뱅크(B2)에 접근하여 읽기 또는 기록 등의 접근 프로세스를 수행하게 된다(S425). 이때, 컨트롤 로직부(20)의 스테이트 머신은 A-Port Ownership 상태에 있게 된다.
프로세서1(3)은 공유뱅크 접근 프로세스가 완료되면 접근 완료 커맨드를 듀얼 포트 메모리(1)로 전송한다(S430).
컨트롤 로직부(20)는 프로세서1(3)로부터 접근 완료 커맨드를 수신하면 인터럽트 신호를 생성하여 프로세서2(5)로 전송하여 프로세서1(3)의 공유 뱅크 접근 프로세스가 완료되었음을 통지한다(S435, S440).
인터럽트 신호를 수신한 프로세서2(5)는 인터럽트 서비스 루틴을 구동하여 인터럽트 신호 수신을 승인하고(S445), 응답 신호를 듀얼 포트 메모리(1)로 전송한다(S450). 이때, 컨트롤 로직부(20)의 스테이트 머신은 B Port RESP 상태에 있다가 유휴 상태(IDLE) 상태로 복귀하게 된다.
여기서, 프로세서2(5)로부터 공유 뱅크 접근 요청 커맨드가 수신되지 않은 경우에는 계속 유휴 상태를 유지하며, S410단계에서 프로세서2(5)로부터 공유 뱅크 접근 요청 커맨드가 수신되었으므로 스테이트 머신은 바로 중재 상태(ARBIT)로 이동하고, 중재 로직이 구동되어 프로세서2(5)에게 접근 권한을 주도록 결정한다.
컨트롤 로직부(20)는 프로세서2(5)로 접근 권한 부여 신호를 전송하고(S455), 접근 권한 부여 신호를 수신한 프로세서2(5)는 공유 뱅크(B2)에 접근하여 읽기 또는 기록 등의 접근 프로세스를 수행하게 된다(S460). 이때, 컨트롤 로직 부(20)의 스테이트 머신은 B-Port Ownership 상태에 있게 된다.
프로세서2(5)는 공유뱅크 접근 프로세스가 완료되면 접근 완료 커맨드를 듀얼 포트 메모리(1)로 전송한다(S465).
컨트롤 로직부(20)는 프로세서2(5)로부터 접근 완료 커맨드를 수신하면 인터럽트 신호를 생성하여 프로세서1(3)로 전송하여 프로세서2(5)의 공유 뱅크 접근 프로세스가 완료되었음을 통지한다(S470, S475).
도 6 및 도 7은 타이밍도로서, 도 6은 2개의 프로세서에서 순차적으로 공유 뱅크 접근 요청이 있는 경우의 타이밍도이고 도 7은 2개의 프로세서에서 동시에 공유 뱅크 접근 요청이 있는 경우의 타이밍도이다.
도 6을 참조하면, 컨트롤 로직부(20)의 유휴 상태에서 공유 뱅크(B2)의 접근을 원하는 프로세서2(5)가 공유 뱅크 접근 요청 커맨드(R)를 생성하여 듀얼 포트 메모리(1)로 전송하면, 컨트롤 로직부(20)는 중재 상태로 전환되어 프로세서2(5)에 접근 권한을 부여하고 접근 권한 부여 신호를 접근 권한 부여 신호 출력 포트(/OWNb)를 통해 프로세서2(5)로 출력한다.
프로세서2(5)는 /OWNb의 신호가 로우로 하강하는 시점에서 공유 뱅크(B2)의 접근을 개시하고, 접근 프로세스가 완료되면 접근 완료 커맨드(D)를 생성하여 듀얼 포트 메모리(1)로 전송한다.
컨트롤 로직부(20)는 접근 완료 커맨드(D)가 수신되면, 인터럽트 신호 출력 포트(/INTa)를 통해 인터럽트 신호를 프로세서1(3)로 전송하게 되고, 프로세서1(3) 은 /INTa 신호의 하강 에지에서 인터럽트 서비스 루틴을 구동하여 인터럽트 승인 커맨드(A)를 생성하여 듀얼 포트 메모리(1)로 전송하고, 이를 수신한 컨트롤 로직부(20)는 /INTa 신호를 다시 하이 상태로 상승시키게 된다.
이후, 컨트롤 로직부(20)의 유휴 상태에서 공유 뱅크(B2)의 접근을 원하는 프로세서1(3)이 공유 뱅크 접근 요청 커맨드(R)를 생성하여 듀얼 포트 메모리(1)로 전송하면, 상기와 동일한 과정이 다시 수행되게 된다.
상기에서 프로세서(3, 5)에서 생성하여 듀얼 포트 메모리(1)로 전송되는 커맨드들(R, D, A)은 종래 DRAM 등에서 사용되는 커맨드 세트인 모드 레지스터 세트(MRS) 또는 확장모드 레지스터 세트(EMRS) 커맨드인 것이 바람직하다.
종래의 경우 어드레스를 분석하여 공유 뱅크의 동시 사용 여부를 판단하게 되는데 반해, 본 발명에서는 프로세서(3, 5)로부터 전송되는 커맨드를 통해 공유 뱅크 접근 여부를 판단하게 되는 점이 큰 차이이며, 이로써 프로세서(3, 5)가 주도적으로 공유 뱅크를 접근할 수 있게 된다.
즉, 본 발명에서는 프로세서(3, 5)가 공유 뱅크(B2)를 접근하고자 하는 경우, 공유 뱅크(B2) 접근이 완료된 경우, 인터럽트 신호를 승인하는 경우 등에 있어 종래의 커맨드 세트를 이용함으로써 구현이 용이하고 종래와 같은 어드레스를 분석하는 과정이 필요하지 않으며, 프로세서(3, 5)가 주도적으로 공유 뱅크(B2)를 접근할 수 있는 장점이 있다.
도 7은 2개의 프로세서에서 동시에 공유 뱅크 접근 요청이 있는 경우로서 컨트롤 로직부(20)의 중재 동작에 의해 프로세서2(5)에 먼저 접근 권한을 준 후, 접 근 프로세스가 종료되면 프로세서1(3)로 인터럽트 신호를 전송하고, 프로세서1(3)로부터 승인 신호(A)가 수신되면 프로세서1(3)로 접근 권한을 부여하여 공유 뱅크(B)를 접근하도록 한다.
비록 본 발명이 상기 언급된 바람직한 실시예와 관련하여 설명되어졌지만, 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나 변형을 포함할 것이다.
도 1은 종래 듀얼 포트 메모리의 내부 구성을 도시한 블록도이다.
도 2는 본 발명에 따른 듀얼 포트 메모리의 입출력 포트 구성을 도시한 것이다.
도 3은 본 발명에 따른 듀얼 포트 메모리의 내부 구성을 도시한 블록도이다.
도 4는 듀얼 포트 메모리의 공유 뱅크 접근 제어방법이 수행되는 과정을 도시한 흐름도이다.
도 5는 도 3의 컨트롤 로직부의 동작 상태 다이어그램이다.
도 6 및 도 7은 타이밍도로서, 도 6은 2개의 프로세서에서 순차적으로 공유 뱅크 접근 요청이 있는 경우의 타이밍도이고 도 7은 2개의 프로세서에서 동시에 공유 뱅크 접근 요청이 있는 경우의 타이밍도이다.
<주요도면부호에 관한 설명>
1 : 듀얼 포트 메모리 3 : 프로세서1
5 : 프로세서2 10a, 10b : 커맨드 디텍터
20 : 컨트롤 로직부 30 : 먹스/로우 디코더부
40 : 먹스부 50 : 디먹스부
60 : 먹스부 B : 뱅크

Claims (6)

  1. 제 1 프로세서 전용 뱅크, 제 2 프로세서 전용 뱅크 및 제 1 및 제 2 프로세서에서 모두 접근 가능한 공유 뱅크를 갖는 듀얼 포트 메모리에 있어서,
    어드레스 입출력포트, 데이터 입출력 포트, 상기 제 1 및 제 2 프로세서로 상기 공유 뱅크 접근을 허용하는 접근 권한 부여 신호를 출력하는 접근 권한 부여 신호 출력 포트 및 하나의 프로세서에서 상기 공유 뱅크 접근 프로세스가 완료된 경우 나머지 프로세서로 이를 통지하는 인터럽트 신호 출력 포트를 포함하는 한 쌍의 포트부;
    상기 제 1 프로세서 및 제 2 프로세서로부터 공유 뱅크 접근 요청 커맨드가 수신되는 경우 미리 설정된 중재 로직에 따라 결정된 하나의 프로세서로 상기 접근 권한 부여 신호를 전송하고, 접근 권한이 주어진 프로세서에서 상기 공유 뱅크로의 접근이 가능하도록 하는 선택 제어신호를 출력하며, 상기 공유 뱅크에 접근중인 프로세서가 상기 공유 뱅크 접근 프로세스를 완료한 경우 상기 인터럽트 신호를 나머지 프로세서로 전송하는 컨트롤 로직부; 및
    상기 컨트롤 로직부의 선택 제어신호에 따라 접근 권한이 주어진 프로세서를 상기 공유 뱅크로 연결하는 먹스부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
  2. 제 1 항에 있어서,
    상기 공유 뱅크를 접근중인 프로세서는 공유 뱅크 접근 프로세스가 완료되는 경우 접근 완료 커맨드를 포트부로 전송하는 것을 특징으로 하는 듀얼 포트 메모리.
  3. 제 1 항에 있어서,
    상기 인터럽트 신호 출력포트로부터 인터럽트 신호를 수신한 프로세서는 인터럽트 서비스 루틴을 구동하여 인터럽트 승인 커맨드를 생성하여 상기 포트부로 전송하는 것을 특징으로 하는 듀얼 포트 메모리.
  4. 제 1 항 내지 3 항 중 어느 한 항에 있어서,
    상기 공유 뱅크 접근 요청 커맨드, 접근 완료 커맨드 및 인터럽트 승인 커맨드는 모드 레지스터 세트 커맨드 또는 확장 모드 레지스터 세트 커멘드인 것을 특징으로 하는 듀얼 포트 메모리.
  5. 제 1 항에 있어서,
    상기 공유 뱅크를 접근중인 프로세서는 공유 뱅크 리프레쉬 제어신호를 상기 포트부로 전송하여 상기 공유 뱅크의 리프레쉬 동작이 수행되는 것을 특징으로 하는 듀얼 포트 메모리.
  6. 제 1 프로세서 전용 뱅크, 제 2 프로세서 전용 뱅크 및 제 1 및 제 2 프로세서에서 모두 접근 가능한 공유 뱅크를 갖는 듀얼 포트 메모리에서 공유 뱅크의 접근을 제어하는 방법에 있어서,
    상기 제 1 및 제 2 프로세서로부터 커맨드를 입력받는 단계;
    상기 커맨드를 분석하여 상기 커맨드가 공유 뱅크 접근 요청 커맨드인 경우 미리 설정된 중재 로직에 따라 접근 권한을 부여할 프로세서를 결정하는 단계;
    상기 접근 권한이 결정된 프로세서로 상기 접근 권한 부여 신호를 전송하는 단계;
    접근 권한이 주어진 프로세서에서 상기 공유 뱅크로의 접근이 가능하도록 동작하는 단계;
    상기 공유 뱅크에 접근중인 프로세서로부터 접근 완료 커맨드를 수신하는 단계;
    상기 공유 뱅크에 접근중인 프로세서로부터 접근 완료 커맨드를 수신하는 경우 이를 통지하는 인터럽트 신호를 나머지 프로세서로 전송하는 단계를 포함하는 것을 특징으로 하는 듀얼 포트 메모리의 공유 뱅크 접근 제어방법.
KR1020080072042A 2008-07-24 2008-07-24 듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근제어방법 KR100964154B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080072042A KR100964154B1 (ko) 2008-07-24 2008-07-24 듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080072042A KR100964154B1 (ko) 2008-07-24 2008-07-24 듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근제어방법

Publications (2)

Publication Number Publication Date
KR20100011012A true KR20100011012A (ko) 2010-02-03
KR100964154B1 KR100964154B1 (ko) 2010-06-17

Family

ID=42085528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080072042A KR100964154B1 (ko) 2008-07-24 2008-07-24 듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근제어방법

Country Status (1)

Country Link
KR (1) KR100964154B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019035597A1 (ko) * 2017-08-14 2019-02-21 한국 한의학 연구원 아파민을 유효성분으로 포함하는 통풍성 관절염의 예방 또는 치료용 조성물

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101077215B1 (ko) * 2005-02-07 2011-10-27 삼성전자주식회사 듀얼 포트 메모리 장치
KR100745369B1 (ko) * 2005-12-22 2007-08-02 삼성전자주식회사 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100872196B1 (ko) * 2006-11-21 2008-12-09 엠텍비젼 주식회사 메모리 시스템 및 듀얼 포트 메모리의 접근 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019035597A1 (ko) * 2017-08-14 2019-02-21 한국 한의학 연구원 아파민을 유효성분으로 포함하는 통풍성 관절염의 예방 또는 치료용 조성물

Also Published As

Publication number Publication date
KR100964154B1 (ko) 2010-06-17

Similar Documents

Publication Publication Date Title
KR101153712B1 (ko) 멀티-포트 sdram 엑세스 제어장치와 제어방법
US9343127B1 (en) Memory device having an adaptable number of open rows
KR100551480B1 (ko) 프로세서와 비휘발성 메모리 사이에 위치하는 메모리장치, 이를 포함한 시스템 및 상기 시스템 내의 데이터송수신 방법
US5201036A (en) Data processor having wait state control unit
EP3082048B1 (en) Memory configured to provide simultaneous read/write access to multiple banks
US7373453B2 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
JP4560498B2 (ja) 共有メモリ装置のための仲裁スキーム
KR100964154B1 (ko) 듀얼 포트 메모리 및 듀얼 포트 메모리의 공유 뱅크 접근제어방법
KR101110550B1 (ko) 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법
US7380083B2 (en) Memory controller capable of locating an open command cycle to issue a precharge packet
KR20050079862A (ko) 접근 금지 신호를 갖는 듀얼 포트 메모리 장치
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
JPS5927938B2 (ja) 多重処理装置
JPH0330175B2 (ko)
JP2007323113A (ja) メモリ制御回路
KR20000026338A (ko) Arm 중앙처리장치를 내장한 마이크로 컨트롤러의 버스제어방법
JPH07114496A (ja) 共有メモリ制御回路
KR960007835B1 (ko) 다중 프로세서의 공통 메모리 억세스 장치
KR20080046066A (ko) 동기 제어 장치를 가지는 듀얼 포트 메모리, 동기 제어장치를 가지는 듀얼 포트 메모리 시스템 및 듀얼 포트메모리 시스템의 동기 제어 방법
JPH09311812A (ja) マイクロコンピュータ
KR20070113493A (ko) 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법
JPH0721113A (ja) マルチプロセッサシステム
JPS59229662A (ja) 共有メモリ制御回路
JPH04254985A (ja) Dram制御装置
JPH08249289A (ja) メモリ制御装置およびその制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee