KR20080034313A - 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법 - Google Patents
접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법 Download PDFInfo
- Publication number
- KR20080034313A KR20080034313A KR1020060100400A KR20060100400A KR20080034313A KR 20080034313 A KR20080034313 A KR 20080034313A KR 1020060100400 A KR1020060100400 A KR 1020060100400A KR 20060100400 A KR20060100400 A KR 20060100400A KR 20080034313 A KR20080034313 A KR 20080034313A
- Authority
- KR
- South Korea
- Prior art keywords
- access
- processor
- signal
- shared memory
- processors
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Abstract
공유 메모리 영역의 액세스 속도를 향상시킬 수 있는 접근제어 장치를 가지는 듀얼 포트 메모리 및 듀얼 포트 메모리의 접근 제어 방법이 개시된다. 메모리 어레이는 제1 및 제2 프로세서가 액세스하는 적어도 하나의 공유 메모리 영역을 가진다. 제1 메모리 인터페이스는 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하고, 제2 메모리 인터페이스는 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행한다. 그리고, 접근 제어 장치는 적어도 하나의 공유 메모리 영역 각각에 대한 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 저장된 액세스 상태에 기초하여 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고 제1 및 제2 프로세서에게 저장된 액세스 상태를 제공한다. 따라서, 듀얼 포트 메모리의 공유 메모리 영역에 대한 복수의 프로세서의 액세스 속도를 향상시킬 수 있다.
Description
도 1은 두 개의 프로세서들에 의해 액세스되는 종래의 듀얼 포트 메모리를 나타내는 개념도이다.
도 2는 본 발명의 일실시예에 따른 접근 제어 장치를 가지는 듀얼 포트 메모리의 구성을 나타내는 블록도이다.
도 3은 도 2에 도시된 접근 제어 장치의 상세한 구성을 나타내는 블록도이다.
도 4a 및 4b는 도 3에 도시된 신호변환부의 상세한 구성을 나타내는 블록도 및 신호변환부의 출력을 나타내는 타이밍도이다.
도 5는 본 발명의 일실시예에 따른 듀얼 포트 메모리의 접근 제어 방법을 나타내는 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
200 : 메모리 셀 어레이 210 : 제1 메모리 인터페이스
230 : 제2 메모리 인터페이스 300 : 접근 제어 장치
310 : 세마포 제어부 330 : 인터럽트 제어부
331 : 액세스 권한 제어부
333 : 제1 인터럽트 마스크 레지스터
335 : 제2 인터럽트 마스크 레지스터
337 : 제1 인터럽트 상태 레지스터
339 : 제2 인터럽트 상태 레지스터
341 : 제1 인터럽트 제어 레지스터
343 : 제2 인터럽트 제어 레지스터
350 : 신호 변환부
본 발명은 듀얼 포트 메모리 장치에 관한 것으로, 더욱 상세하게는 휴대용 단말기에 적용할 수 있는 접근제어 장치를 가지는 듀얼포트 메모리에 관한 것이다.
최근 들어 이동통신 단말 및 PDA(Personal Digital Assistant) 등과 같은 휴대용 단말기는 음성통화와 같은 무선통신 기능 이외에도 디지털 카메라, 화상통신, 멀티미디어 데이터 재생 등과 같은 다양한 부가기능을 포함하고 있다.
휴대용 단말기는 상기와 같은 무선통신 및 다양한 부가기능을 처리하기 위해 베이스밴드 프로세서(baseband processor), 어플리케이션 프로세서(application processor) 등과 같은 적어도 하나 이상의 프로세서를 구비하고 있다.
그리고 상기와 같이 적어도 하나 이상의 프로세서가 구비된 휴대용 단말기에서는 각각의 프로세서의 데이터 처리 속도 및 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(dual port memory)가 사용된다.
즉, 두 개의 프로세서가 듀얼 포트 메모리를 사용하게 되면 각 프로세서가 자신의 포트를 사용하여 메모리 영역에 접근하여 데이터를 읽고 쓸 수 있기 때문에 두 개의 프로세서가 각각 서로 다른 메모리에 연결되어 호스트 프로세서간 인터페이스(Host Porcessor Interface: HPI)를 통해 처리 데이터를 주고 받는 경우보다 데이터의 전송 및 처리 속도가 더 빠르고 이로 인해 시스템의 전체적인 성능이 향상된다.
그러나, 상기와 같이 두 개의 프로세서가 듀얼 포트 메모리를 사용하는 경우 각 프로세서가 자신의 포트를 통해 동시에 동일한 메모리 영역에 액세스하게 되면 충돌이 발생하게 되어 두 개의 프로세서가 모두 메모리에 액세스할 수 없게 되므로 전체적인 시스템의 성능이 떨어지게 된다.
또한, 두 개의 프로세서 중에서 하나의 프로세서가 메모리 영역에 액세스하여 데이터를 읽거나 쓰고 있는 도중에 다른 프로세서가 동일한 메모리 영역에 액세스하여 데이터를 읽거나 쓰게 되면 메모리 영역에 저장된 데이터가 부정확하게 되어 프로세서의 처리 과정 또는 처리 결과에 오류가 발생할 수 있다.
따라서, 적어도 하나 이상의 프로세서가 듀얼 포트 메모리를 사용하는 경우에는 듀얼 포트 메모리에 대한 각 프로세서 간의 액세스를 제어하는 장치가 필요하다.
도 1은 두 개의 프로세서들에 의해 액세스되는 종래의 듀얼 포트 메모리를 나타내는 개념도이다.
도 1을 참조하면, 종래의 듀얼 포트 메모리(50)는 메모리 영역(10), 제1 메모리 인터페이스(20), 제2 메모리 인터페이스(30) 및 액세스 제어부(40)로 구성된다.
메모리 영역(10)은 일반적으로 메모리 셀의 집적도가 좋은 DRAM 셀 어레이로 구성된다. 듀얼 포트 메모리(50)는 SDRAM 듀얼 포트 메모리가 될 수 있으며, 이 경우 메모리 영역은 복수의 뱅크(bank)로 구성될 수 있고, 복수의 뱅크 전체 또는 복수의 뱅크 중 일부의 뱅크는 제1 프로세서(60) 및 제2 프로세서(80)에게 공유될 수 있다.
제1 메모리 인터페이스(20)는 제1 프로세서(60)로부터 제1 외부 버스 인터페이스(External Bus Interface: EBI)(70)를 통해 어드레스(address), 제어 신호, 클럭 및 데이터를 입력받고, 읽기, 쓰기 및 리프레쉬(refresh) 등의 동작 타이밍에 따라 메모리 영역(10)과 데이터의 입출력을 수행한다. 제1 메모리 인터페이스(20)는 명령 디코더(command decoder), 로우 디코더(row decoder), 컬럼 디코더(column decoder) 및 입출력 버퍼 등을 포함한다.
제2 메모리 인터페이스(30)는 제2 프로세서(80)로부터 제2 외부 버스 인터페이스(90)를 통해 어드레스, 제어 신호, 클럭 및 데이터를 입력받고, 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 메모리 영역(10)과 데이터의 입출력을 수행한다. 제2 메모리 인터페이스(30)는 명령 디코더, 로우 디코더, 컬럼 디코더 및 입출 력 버퍼 등을 포함한다.
액세스 제어부(40)는 액세스 허용 신호(READY)를 통해 제1 프로세서(60) 및 제2 프로세서(80)에게 공유 메모리 영역에 대한 액세스 권한을 알려준다.
예를 들면, 액세스 제어부(40)는 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 하나의 프로세서로부터 소정의 공유 메모리 영역에 대한 액세스 요청을 받고 요청받은 공유 메모리 영역이 다른 프로세서에 의해 액세스되지 않은 경우에는 액세스 허용 신호(READY)를 활성화시킴으로써 해당 영역에 대한 액세스가 가능하도록 한다.
또한, 액세스 제어부(40)는 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 하나의 프로세서로부터 소정의 공유 메모리 영역에 대한 액세스 요청을 받고 요청받은 공유 메모리 영역이 이미 다른 프로세서에 의해 액세스 되어 사용되고 있는 경우에는 액세스 허용 신호(READY)를 비활성화시킴으로써 해당 공유 영역에 대한 액세스를 차단한다. 그리고, 상기 해당 공유 영역에 액세스한 프로세서가 작업을 종료하면 액세스 허용 신호(READY)를 활성화시킴으로써 액세스 대기 중인 프로세서가 액세스 할 수 있도록 한다.
도 1에 도시된 바와 같은 종래의 듀얼 포트 메모리(50)에서는 제1 프로세서(60) 및 제2 프로세서(80)에 의해 공유되는 공유 메모리 영역이 복수인 경우, 복수의 공유 메모리 영역에 대한 액세스 상태가 각각 다른 경우에도 액세스 허용 신호(READY)에 의해서만 액세스 상태를 표시하기 때문에 액세스를 요청한 프로세서가 각 공유영역에 대한 액세스 상태를 한번에 알 수 없다는 단점이 있다.
예를 들면, 메모리 영역(10)에 4개의 공유 메모리 영역이 있고, 그 중 2개의 메모리 영역을 제1 프로세서(60)가 액세스하여 사용하고 있는 도중에 제2 프로세서(80)가 제1 프로세서(60)가 사용중인 2개의 메모리 영역을 포함하여 3개의 메모리 영역에 대해 액세스 요청을 한 경우, 액세스 제어부(40)는 제1 프로세서(60)가 사용중인 2개의 공유 메모리 영역이 액세스 가능한 상태가 될 때마다 액세스 허용 신호(READY)를 활성화시키고 제2 프로세서(80)는 액세스 허용 신호(READY)가 활성화될 때마다 액세스 제어부(40)를 통해 액세스 상태를 확인하기 때문에 과도한 액세스 확인으로 인하여 제2 프로세서(80)의 처리 속도가 저하된다.
따라서, 본 발명의 제1 목적은 공유 메모리 영역의 액세스 속도를 향상시킬 수 있는 접근제어 장치를 가지는 듀얼 포트 메모리를 제공하는 것이다.
또한, 본 발명의 제2 목적은 상기 듀얼 포트 메모리를 가지는 메모리 시스템을 제공하는 것이다.
또한, 본 발명의 제3 목적은 공유 메모리 영역의 액세스 속도를 향상시킬 수 있는 듀얼 포트 메모리의 접근 제어 방법을 제공하는 것이다.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일측면에 따른 접근제어 장치를 가지는 듀얼 포트 메모리는 제1 및 제2 프로세서가 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽 기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함한다. 상기 접근 제어 장치는 상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공 받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부 및 상기 세마포 신호와 마스크 신호를 마스크 연산하여 소정의 공유 메모리 영역에 대한 액세스를 차단하고, 상기 마스크 연산한 결과를 액세스 상태로 저장하고, 상기 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 상기 액세스 허용 신호를 제공하는 인터럽트 제어부를 포함할 수 있다. 상기 세마포 제어부는 상기 요청된 공유 메모리 영역에 상기 제1 및 제2 프로세서 중 어느 프로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력할 수 있다. 상기 인터럽트 제어부는 상기 마스크 신호를 저장하기 위한 마스크 레지스터와, 상기 액세스 상태를 저장하기 위한 상태 레지스터 및 상기 마스크 연산을 수행하고 상기 마스크 연산을 수행한 결과를 액세스 권한 신호로 출력하는 액세스 권한 제어부를 포함할 수 있다. 상기 인터럽트 제어부는 변환 제어 신호를 저장하기 위한 제어 레지스터를 더 포함할 수 있다. 상기 인터럽트 제어부는 상기 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 상기 액세스 허용 신호로 출력하는 신호 변환부를 더 포함할 수 있다. 상기 접근 제어 장치는 상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부 및 상기 세마포 제어부로부터 제공된 세마포 신호를 상기 제1 프로세서 및 제2 프로세서의 각각의 액세스 상태로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 인터럽트 제어부를 포함할 수 있다. 상기 메모리 어레이는 DRAM 셀 구조를 가질 수 있다. 상기 듀얼 포트 메모리는 SDRAM 듀얼 포트 메모리가 될 수 있다.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 다른 측면에 따른 접근제어 장치를 가지는 듀얼 포트 메모리는 제1 및 제2 프로세서가 공동으로 액세스 하는 제1 공유 메모리 및 제2 공유 메모리 영역을 포함하는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공 유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 제1 및 제2 공유 메모리 영역에 대한 상기 제1 프로세서의 액세스 상태 및 상기 제2 프로세서의 액세스 상태를 각각 저장하고 상기 제1 프로세서 및 제2 프로세서의 요청시 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함한다.
상술한 본 발명의 제2 목적을 달성하기 위한 본 발명의 일측면에 따른 듀얼 포트 메모리를 가지는 메모리 시스템은 제1 프로세서와, 제2 프로세서 및 상기 제1 및 제2 프로세서가 공동으로 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 가지는 듀얼 포트 메모리를 포함한다. 상기 제1 프로세서는 베이스 밴드 프로세서이고, 상 기 제2 프로세서는 응용프로그램을 수행하는 프로세서가 될 수 있다.
상술한 본 발명의 제3 목적을 달성하기 위한 본 발명의 일측면에 따른 듀얼 포트 메모리의 접근 제어 방법은 적어도 하나의 공유 메모리 영역에 대한 복수의 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하는 단계와, 상기 저장된 액세스 상태에 기초하여 상기 복수의 프로세서에 대한 액세스 허용 신호를 제공하는 단계 및 상기 복수의 프로세서에게 상기 저장된 액세스 상태를 제공하는 단계를 포함한다. 상기 복수의 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하는 단계는 상기 적어도 하나의 공유 메모리 영역에 대한 액세스 요청이 발생되면 상기 적어도 하나의 공유 메모리 영역의 액세스 상태에 따라 세마포 신호를 출력하는 단계와, 상기 세마포 신호와 마스크 신호의 마스크 연산을 수행하는 단계 및 상기 마스크 연산을 수행한 결과를 액세스 상태로서 저장하는 단계를 포함할 수 있다. 상기 세마포 신호를 출력하는 단계는 상기 액세스가 요청된 공유 메모리 영역에 복수의 프로세서 중 어느 프로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력할 수 있다. 상기 마스크 신호는 소정의 공유 메모리 영역에 대한 액세스를 차단하기 위한 신호일 수 있다. 상기 액세스 허용 신호를 제공하는 단계는 상기 마스크 연산을 수행한 결과에 기초하여 액세스 권한 신호를 출력하는 단계 및 기저장된 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 액세스 허용 신호를 출력하는 단계를 포함할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것 으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 2는 본 발명의 일실시예에 따른 접근 제어 장치를 가지는 듀얼 포트 메모리의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일실시에에 따른 듀얼 포트 메모리(400)는 메모리 셀 어레이(200), 제1 메모리 인터페이스(210), 제2 메모리 인터페이스(230) 및 접근 제어 장치(300)를 포함한다.
듀얼 포트 메모리(400)는 제1 포트(110)를 통해 제1 외부 버스 인터페이스(External Bus Interface: EBI)(70)를 가지는 제1 프로세서(60)와 연결되고, 제2 포트(130)를 통해 제2 외부 버스 인터페이스(90)를 가지는 제2 프로세서(80)와 연결된다.
제1 프로세서(60)는 핸드폰과 같은 휴대용 단말기에 사용되는 베이스 밴드 프로세서가 될 수 있고, 제2 프로세서(80)는 각각 휴대용 단말기에서 사용되는 비디오 프로세서, 멀티미디어 프로세서 등과 같은 응용프로그램을 수행하기 위한 프로세서가 될 수 있다.
제1 프로세서(60)는 듀얼 포트 메모리(400)의 제1 포트(110)를 통하여 어드레스(ADD1), 복수의 제어신호들(CTR1) 및 클럭(CLK1)을 듀얼 포트 메모리(400)에 제공하고, 듀얼 포트 메모리는 제1 포트(110) 및 제1 외부 버스 인터페이스(70)를 사용하여 제1 프로세서(60)와 데이터(DQ1)의 입출력을 수행한다.
또한, 제2 프로세서(80)는 듀얼 포트 메모리(400)의 제2 포트(130)를 통하여 어드레스(ADD2), 복수의 제어신호들(CTR2) 및 클럭(CLK2)을 듀얼 포트 메모리(400)에 제공하고, 듀얼 포트 메모리(400)는 제2 포트(130) 및 제2 외부 버스 인터페이스(90)를 사용하여 제2 프로세서(80)와 데이터(DQ2)의 입출력을 수행한다.
제1 외부 버스 인터페이스(70) 및 제2 외부 버스 인터페이스(90)는 일종의 메모리 컨트롤러(memory controller) 역할을 수행하며 SDRAM(Synchronous DRAM) 또는 PSRAM(Pseudo SRAM)의 외부 버스 인터페이스가 사용될 수 있다. 이하 본 발명의 일실시예에서는 제1 외부 버스 인터페이스(70) 및 제2 외부 버스 인터페이스(90)는 SDRAM 외부 버스 인터페이스인 것으로 가정한다.
메모리 셀 어레이(200)는 DRAM의 단위 메모리 셀 구조를 가지고 복수의 공유 메모리 영역(240 내지 270)을 포함한다. 복수의 공유 메모리 영역(240 내지 270) 각각은 소정 크기의 뱅크(Bank) 단위로 형성될 수 있다. 또한, 하나의 뱅크내에서 소정 크기를 갖는 블록(block) 단위로 복수의 공유 메모리 영역(240 내지 270)이 구성될 수도 있다. 또한, 메모리 셀 어레이(200)는 제1 프로세서(60) 및 제2 프로세서(80)가 각각 독립적으로 액세스할 수 있는 복수의 전유 메모리 영역(미도시)을 포함할 수도 있다.
제1 메모리 인터페이스(210)는 SDRAM 메모리 인터페이스로 구성되고, 제1 포트(110)를 통하여 제1 프로세서(60)로부터 어드레스(ADD1), 제어신호(CTR1), 클럭(CLK1) 및 데이터(DQ1)를 입력받고 어드레스(ADD1)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스(I_AD1)를 메모리 셀 어레이(200)로 출력하고 메모리 셀 어레이(200)의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터(I_DQ1)를 메모리 셀 어레이(200)로부터 독출하거나 메모리 셀 어레이(200)에 기록한다.
이를 위해 제1 메모리 인터페이스(210)는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(Command decoder)(미도시), 로우 디코더(Row decoder) (미도시), 컬럼 디코더(Column decoder) (미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.
제2 메모리 인터페이스(230)는 SDRAM 메모리 인터페이스로 구성되고, 제2 포트(130)를 통하여 제2 프로세서(80)로부터 어드레스(ADD2), 제어신호(CTR2), 클럭(CLK2) 및 데이터(DQ2)를 입력받고 어드레스(ADD2)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스(I_AD2)를 메모리 셀 어레이(200)로 출력하고 메모리 셀 어레이(200)의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터(I_DQ2)를 메모리 셀 어레이(200)로부터 독출하거나 메모리 셀 어레이(200)에 기록한다.
이를 위해 제2 메모리 인터페이스(230)는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(미도시), 로우 디코더(미도시), 컬럼 디코더(미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.
접근 제어 장치(300)는 복수의 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스 허용 신호(READY1 및 READY2)를 출력한다.
또한, 접근 제어 장치(300)는 사용자의 설정에 기초하여 액세스 권한을 표시하는 액세스 허용 신호(READY1 및 READY2)의 출력 형식을 변환하고, 소정의 공유 메모리 영역에 대해 마스크를 설정함으로써 마스크가 설정된 소정의 공유 메모리 영역에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스를 차단한다.
도 3은 도 2에 도시된 접근 제어 장치의 상세한 구성을 나타내는 블록도이다.
도 3을 참조하면, 접근 제어 장치(300)는 크게 세마포 제어부(310) 및 인터럽트 제어부(330)를 포함한다.
세마포 제어부(310)는 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 하나의 프로세서로부터 소정의 공유 메모리 영역에 대한 액세스 요청 신호(REQ1, REQ2)를 입력받고 액세스가 요청된 공유 메모리 영역에 대한 현재의 액세스 여부에 따라 세마포 신호(SMP)를 출력한다.
여기서, 제1 프로세서(60)는 제1 메모리 인터페이스(210)를 통해 액세스 요 청 신호(REQ1)를 전송하고, 제2 프로세서(80)는 제2 메모리 인터페이스(230)를 통해 액세스 요청 신호(REQ2)를 전송한다.
액세스 요청 신호(REQ1, REQ2)는 논리값 '0' 또는 '1'을 가질 수 있으며, 제1 프로세서(60) 및 제2 프로세서(80)가 소정의 공유 메모리 영역에 대해 액세스 요청을 하는 경우에는 액세스 요청 신호는 논리값 '0'이 될 수 있고, 제1 프로세서(60) 및 제2 프로세서(80)가 소정의 공유 메모리 영역에서 작업을 마친 경우에는 액세스 요청 신호는 논리값 '1'이 될 수 있다.
또한, 본 발명의 다른 실시예에서는 소정의 공유 메모리 영역에 대해 액세스 요청을 하는 경우에는 액세스 요청 신호는 논리값 '1'이 되고, 제1 프로세서(60) 및 제2 프로세서(80)가 소정의 공유 메모리 영역에서 작업을 마친 경우에는 액세스 요청 신호는 논리값 '0'이 되도록 액세스 요청 신호(REQ1, REQ2)를 구성할 수도 있다.
세마포 제어부(310)는 제1 프로세서(60) 및 제2 프로세서(80)로부터 소정 공유 메모리 영역에 대한 액세스 요청시 논리값 '0'을 입력받고, 요청된 소정 공유 메모리 영역의 현재의 액세스 상태에 따라 액세스가 가능한 경우는 논리값 '0'을 세마포 신호(SMP)로 출력하고, 액세스가 가능하지 않은 경우는 논리값 '1'을 세마포 신호(SMP)로 출력한다.
예를 들어, 세마포 제어부(310)는 제1 공유 메모리 영역(240)에 대해 제1 프로세서(60) 및 제2 프로세서(80) 중 어느 프로세서도 액세스를 하지 않은 경우에는 제1 공유 메모리 영역(240)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 세마 포 신호(SMP)로 각각 논리값 '1'을 출력한다. 그리고, 제1 프로세서(60)가 제1 공유 메모리 영역(240)에 대해 액세스를 요청하기 위해 논리값 '0'을 입력하면, 제1 공유 메모리 영역(240)에 대한 제1 프로세서(60)의 세마포 신호(SMP)로 논리값 '0'을 출력하고, 제2 프로세서(80)의 세마포 신호(SMP)로 논리값 '1'을 출력한다.
그리고 상기와 같은 제1 프로세서(60)가 제1 공유 메모리 영역(240)에 액세스 하여 읽기 또는 쓰기를 수행하는 도중에 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 액세스를 요청하기 위해 논리값 '0'을 입력하게 되면 세마포 제어부(310)는 제1 공유 메모리 영역(240)이 현재 제1 프로세서(60)에 의해 액세스 되고 있기 때문에 제1 프로세서(60)의 세마포 신호(SMP)는 논리값 '0'을 출력하고, 제2 프로세서(80)의 세마포 신호(SMP)는 논리값 '1'을 출력한다.
이후 제1 프로세서(60)가 제1 메모리 공유 영역(240)에서 작업을 종료하고, 작업 종료를 표시하는 논리값 '1'을 입력하게 되면 세마포 제어부(310)는 제1 프로세서(60)의 세마포 신호(SMP)는 논리값 '1'을 출력하고, 제2 프로세서(80)의 세마포 신호(SMP)는 논리값 '0'을 출력함으로써 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 액세스 할 수 있도록 한다.
인터럽트 제어부(330)는 도 3에 도시된 바와 같이 액세스 권한 제어부(331), 제1 인터럽트 마스크 레지스터(333), 제2 인터럽트 마스크 레지스터(335), 제1 인터럽트 상태 레지스터(337), 제2 인터럽트 상태 레지스터(339), 제1 인터럽트 제어 레지스터(341), 제2 인터럽트 제어 레지스터(343) 및 신호 변환부(350)를 포함할 수 있다.
액세스 권한 제어부(331)는 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)와 세마포 제어부(310)에서 출력된 세마포 신호(SMP)를 기초로 소정 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스를 차단한다.
제1 인터럽트 마스크 레지스터(333)는 소정 공유 메모리 영역에 대한 제1 프로세서(60)의 액세스를 차단하기 위해 사용자로부터 제공된 마스크 신호(MASK1)가 저장되고, 제2 인터럽트 마스크 레지스터(335)는 소정 공유 메모리 영역에 대한 제2 프로세서(80)의 액세스를 차단하기 위해 사용자로부터 제공된 마스크 신호(MASK2)가 저장된다.
제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)들은 동일할 수도 있고 상이할 수도 있다. 즉, 제1 프로세서(60) 및 제2 프로세서(80)에 대해 액세스가 차단된 공유 메모리 영역(240 내지 270)은 동일할 수도 있고 상이할 수도 있다.
액세스 권한 제어부(331)는 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스트 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)와 세마포 제어부(310)에서 출력된 세마포 신호(SMP)와 마스크 연산을 수행함으로써, 소정 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및/또는 제2 프로세서(80)의 액세스를 차단할 수 있다.
예를 들어, 제1 공유 메모리 영역(240)에 대해 제1 프로세서(60)의 액세스를 차단하고자 하는 경우, 제1 인터럽트 마스크 레지스터(333)에 저장된 마스크 신 호(MASK1) 중에서 제1 공유 메모리 영역(240)에 해당하는 마스크 비트를 논리값'0'으로 저장하고, 제1 인터럽트 마스크 레지스터(240)의 제2 내지 제4 공유 메모리 영역(250 내지 270)에 대한 마스크 신호(MASK1)를 논리값 '1'로 저장한 후, 세마포 제어부(310)에서 출력된 제1 공유 메모리 영역(240)에 대한 세마포 신호(SMP)와 논리곱 하여 항상 논리값 '0'이 출력되도록 함으로써 세마포 신호(SMP)에 상관없이 제1 공유 메모리 영역(240)에 대한 액세스를 차단할 수 있다.
또는, 제1 공유 메모리 영역(240)에 대한 마스크 신호(MASK1)를 제1 인터럽트 마스크 레지스터(333)의 해당 비트에 논리값 '1'로 저장하고, 제1 인터럽트 마스크 레지스터(333)의 제2 내지 제4 공유 메모리 영역(250 내지 270)에 대한 마스크 신호(MASK1)를 논리값 '0'으로 저장한 후, 세마포 제어부(310)에서 출력된 제1 공유 메모리 영역(240)에 대한 세마포 신호(SMP)와 논리합 하여 항상 '1'이 출력되도록 함으로써 세마포 신호(SMP)에 상관없이 제1 공유 메모리 영역(240)에 대한 액세스를 차단할 수 있다.
또한, 액세스 권한 제어부(331)는 세마포 제어부(310)로부터 출력된 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK1, MASK2)를 마스크 연산한 결과인 액세스 상태 신호(STE1, STE2)를 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)에 각각 저장한다.
즉, 액세스 권한 제어부(331)는 제1 프로세서(60)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333)에 저장된 마스크 신 호(MASK1)를 마스크 연산한 결과인 액세스 상태 신호(STE1)를 제1 인터럽트 상태 레지스터(337)에 저장하고, 제1 프로세서(80)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK2)를 마스크 연산한 결과인 액세스 상태 신호(STE2)를 제2 인터럽트 상태 레지스터(339)에 저장한다.
그리고, 액세스 권한 제어부(331)는 제1 프로세서(60) 및/또는 제2 프로세서(80)가 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 액세스 상태를 요청하면 제1 인터럽트 상태 레지스터(337) 및/또는 제2 인터럽트 상태 레지스터(339)에 저장된 액세스 상태 신호(STE1, STE2)를 제공함으로써 제1 프로세서(60) 및/또는 제2 프로세서(80)가 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 액세스 상태를 파악할 수 있도록 한다.
또한, 액세스 권한 제어부(331)는 세마포 제어부(310)에서 출력된 세마포 신호(SMP)에 기초하여 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 제1 프로세서(60) 및 제2 프로세서(80)의 액세스 권한 나타내는 액세스 권한 신호(ACC1, ACC2) 및 액세스 권한 신호를 변환하기 위한 액세스 변환 제어 신호(AMC1, AMC2) 를 출력한다.
예를 들어, 제1 프로세서(60)가 제1 공유 메모리 영역(240)에서 읽기 또는 쓰기 작업을 수행하고 있는 도중 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 대해 액세스를 요청하게 되면 액세스 권한 제어부(331)는 제2 프로세서(80)가 제1 공유 메모리 영역(240)에 액세스할 수 없음을 나타내는 액세스 권한 신호(ACC2)를 출력한다.
또한, 액세스 권한 제어부(331)는 제1 인터럽트 제어 레지스터(341) 또는 제2 인터럽트 제어 레지스터(343)로부터 액세스 변환 제어 신호(AMC1, AMC2)를 각각 수신하고 신호 변환부(350)에 제공함으로써 액세스 변환 제어 신호(AMC1, AMC2)에 상응하여 액세스 권한 신호(ACC1, ACC2)의 형태가 변환될 수 있도록 한다.
제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)에는 액세스 권한 제어부(331)로부터 출력된 액세스 권한 신호(ACC1, ACC2)를 변경하기 위한 액세스 변환 제어 신호(AMC1, AMC2)가 각각 저장된다.
제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)에 저장된 액세스 변환 제어 신호(AMC1, AMC2)는 동일할 수도 있고, 서로 상이할 수도 있다. 즉, 신호 변환부(350)에서 제1 프로세서(60) 및 제2 프로세서(80)로 각각 출력되는 액세스 허용 신호(READY1, READY2)의 출력 형식은 서로 동일할 수도 있고, 서로 상이할 수도 있다.
신호 변환부(350)는 액세스 권한 제어부(331)로부터 액세스 변환 제어 신호(AMC1, AMC2) 및 액세스 권한 신호(ACC1, ACC2)를 입력 받고 액세스 변환 제어 신호(AMC1, AMC2)에 상응하여 액세스 권한 신호(ACC1, ACC2)를 액세스 허용 신호(READY1, READY2)로 그대로 출력하거나 변환된 액세스 권한 신호를 액세스 허용 신호(READY1, READY2)로 출력한다.
본 발명의 다른 실시예에서는 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)가 하나의 마스크 레지스터로 구현될 수도 있고, 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)가 하나의 상태 레지스터로 구현될 수도 있다. 또한, 제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)가 하나의 제어 레지스터로 구현될 수도 있다.
또한, 본 발명의 다른 실시예에서 인터럽트 제어부(330)는 액세스 권한 제어부(331), 제1 인터럽트 마스크 레지스터(333), 제2 인터럽트 마스크 레지스터(335), 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)를 포함할 수도 있고, 액세스 권한 제어부(331), 제1 인터럽트 상태 레지스터(337), 제2 인터럽트 상태 레지스터(339), 제1 인터럽트 제어 레지스터(341), 제2 인터럽트 제어 레지스터(343) 및 신호 변환부(350)를 포함할 수도 있다.
또한, 본 발명의 또 다른 실시예에서는 인터럽트 제어부(330)를 액세스 권한 제어부(331), 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)만으로 구성함으로써 접근 제어 장치(300)가 제1 프로세서(60) 및 제2 프로세서(80)에 액세스 상태 신호(STE1, STE2) 및 액세스 허용 신호(READY1, READY2)만을 제공하도록 구현할 수도 있다.
도 4a는 도 3에 도시된 신호 변환부의 상세한 구성을 나타내는 블록도이고, 도 4b는 도 3에 도시된 신호 변환부의 출력을 나타내는 타이밍도이다.
도 4a 및 4b를 참조하면, 신호 변환부(350)는 인버터(351, 352), 지연회로(353, 354), 에지검출회로(355, 356) 및 멀티플렉서(357, 358)를 포함하여 구성된다.
인버터(351, 352)는 액세스 권한 제어부(331)로부터 제공된 액세스 권한 신 호(ACC1, ACC2)를 반전시켜 반전된 액세스 권한 제어 신호(I_ACC1, I_ACC2)를 출력하고, 지연회로(353, 354)는 액세스 권한 신호(ACC1, ACC2)를 기설정된 소정 시간(또는 클럭)만큼 지연시킨 후 지연된 액세스 권한 신호(D_ACC1, D_ACC2)를 출력한다. 에지검출회로(355, 356)는 액세스 권한 신호가 로우 레벨에서 하이 레벨로 또는 하이 레벨에서 로우 레벨로 천이시 이를 검출하여 펄스 형태의 액세스 권한 신호(P_ACC1, P_ACC2)를 출력한다.
멀티플렉서(357, 358)는 액세스 권한 신호(ACC1, ACC2), 인버트된 액세스 권한 신호(I_ACC1, I_ACC2), 지연된 액세스 권한 신호(D_ACC1, D_ACC2) 및 펄스 형태의 액세스 권한 신호(P_ACC1, P_ACC2)를 입력받고 액세스 권한 제어부(331)에서 제공된 액세스 변환 제어 신호(AMC1, AMC2)에 상응하여 입력된 네 개의 신호중 하나를 선택하여 액세스 허용 신호(READY1, READY2)로 출력한다.
도 4a와 같이 본 발명의 일실시예에 따른 접근 제어 장치를 가지는 듀얼 포트 메모리에서는 제1 인터럽트 제어 레지스터(341) 및 제2 인터럽트 제어 레지스터(343)에 액세스 변환 제어 신호(AMC1, AMC2)를 저장하고, 액세스 권한 제어부(331)에서 출력된 액세스 권한 신호(ACC1, ACC2)를 액세스 변환 제어 신호(AMC1, AMC2)에 따라 그대로 출력하거나 변환하여 출력함으로써 사용자의 의도에 맞게 액세스 허용 신호(READY1, READY2)를 출력할 수 있다.
도 5는 본 발명의 일실시예에 따른 듀얼 포트 메모리의 접근 제어 방법을 나타내는 흐름도를 나타낸다.
도 5를 참조하면 먼저, 세마포 제어부(310)는 제1 프로세서(60) 및 제2 프로 세서(80) 중 어느 하나의 프로세서로부터 제1 내지 제4 공유 메모리 영역(240 내지 270) 중 적어도 하나의 공유 메모리 영역에 대한 액세스 요청을 기다리고(단계 501), 소정의 공유 메모리 영역에 대한 액세스 요청이 발생되면 상기 소정의 공유 메모리 영역의 액세스 상태에 따라 세마포 신호(SMP)를 출력한다(단계 503).
예를 들어, 제2 프로세서(80)가 제2 공유 메모리 영역(250)에 액세스 하여 읽기 또는 쓰기 작업을 수행하는 도중에 제1 프로세서(60)가 제1 공유 메모리 영역(240)에 대한 액세스를 요청하면, 세마포 제어부(310)는 제1 프로세서(60)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호(SMP)로서 논리값 '0', '1', '1', '1'를 출력하고, 동시에 제2 프로세서(80)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호로서 논리값 '1', '0', '1', '1'를 출력한다.
여기서, 논리값 '0'은 액세스가 가능함을 나타내고, 논리값 '1'은 엑세스가 가능하지 않음을 나타낸다. 즉, 세마포 제어부(310)는 제1 공유 메모리 영역(240)에 대해 제1 프로세서(60)가 액세스 할 수 있음을 나타내는 논리값 '0'을 제1 프로세서(60)의 제1 공유 메모리 영역(240)에 대한 세마포 신호로 출력한다.
다른 예를 들면, 제2 프로세서(80)가 제2 공유 메모리 영역(250)에 액세스 하여 읽기 또는 쓰기 작업을 수행하는 도중 제1 프로세서(60)가 제2 공유 메모리 영역(250)에 대한 액세스를 요청하면, 세마포 제어부(310)는 제1 프로세서(60)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호(SMP)로서 논리값 '1', '1', '1', '1'를 출력하고, 동시에 제2 프로세서(80)에 대해 제1 내지 제4 공유 메모리 영역(240 내지 270)에 대한 각각의 세마포 신호로서 논리값 '1', '0', '1', '1'을 출력한다.
즉, 세마포 제어부는 제2 공유 메모리 영역에 대해 제1 프로세서(60)가 액세스 할 수 없음을 나타내는 논리값 '1'을 제1 프로세서(60)의 제2 공유 메모리 영역(250)에 대한 세마포 신호로 출력한다.
다음으로 액세스 권한 제어부(331)는 세마포 제어부(310)에서 출력된 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333) 및 제2 인터럽트 마스크 레지스터(335)에 저장된 각각의 마스크 신호(MASK1, MASK2) 비트를 마스크 연산한다(단계 507).
예를 들어, 세마포 제어부(310)에서 출력된 제2 프로세서(80)에 대한 제1 내지 제4 공유 메모리 영역(240 내지 270)의 세마포 신호(SMP)가 논리값 '1', '0', '1', '1'이고, 제2 인터럽트 마스크 레지스터(335)에 마스크 신호(MASK2)로 논리값 '0', '1', '0', '0'이 저장된 경우, 액세스 권한 제어부(331)는 세마포 신호(SMP) '1', '0', '1', '1'과 제2 인터럽트 마스크 레지스터에 저장된 마스크 신호(MASK2) 논리값 '0', '1', '0', '0'의 각각의 비트를 논리합 연산하여 '1', '1', '1', '1'을 얻는다. 여기서, 논리값 '0'은 액세스가 가능함을 나타내고, 논리값 '1'은 액세스가 가능하지 않음을 나타낸다.
즉, 세마포 제어부(310)에서 제2 공유 메모리 영역(250)에 대한 제2 프로세서(80)의 액세스가 가능함을 나타내는 세마포 신호로 논리값 '0'이 출력되었음에도 불구하고, 세마포 신호인 논리값 '0' 과 마스크 비트 '1'의 논리합 연산을 통해 액 세스 권한 신호로 논리값 '1'을 출력함으로써 제2 공유 메모리 영역(250)에 대한 제2 프로세서(80)의 액세스를 차단할 수 있다.
액세스 권한 제어부(331)는 단계 507에서 마스크 연산한 결과를 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)에 각각 저장함으로써 제1 인터럽트 상태 레지스터(337) 및 제2 인터럽트 상태 레지스터(339)를 갱신하고(단계 509), 단계 507에서 마스크 연산한 결과를 액세스 권한 신호(ACC1, ACC2)로 출력한다(단계 511).
즉, 액세스 권한 제어부(331)는 제1 프로세서(60)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제1 인터럽트 마스크 레지스터(333)에 저장된 마스크 신호(MASK1)를 마스크 연산한 결과를 제1 인터럽트 상태 레지스터(337)에 저장하고, 제1 프로세서(80)의 액세스 상태에 해당하는 세마포 신호(SMP)와 제2 인터럽트 마스크 레지스터(335)에 저장된 마스크 신호(MASK2)를 마스크 연산한 결과를 제2 인터럽트 상태 레지스터(339)에 저장한다.
이후, 신호 변환부(345)는 액세스 권한 제어부(331)로부터 액세스 권한 신호(ACC1, ACC2)와, 액세스 변환 제어 신호(AMC1, AMC2)를 입력받고, 액세스 변환 제어 신호(AMC1, AMC2)에 따라 제1 프로세서(60) 및 제2 프로세서(80)의 액세스 권한 신호(ACC1, ACC2)를 변환한 후(단계 513), 액세스 권한 신호 또는 변환된 액세스 권한 신호를 액세스 허용 신호(READY1, READY2)로 제1 프로세서(60) 및 제2 프로세서(80)에 제공한다(단계 515).
그리고, 액세스 권한 제어부(331)는 제1 프로세서(60) 및/또는 제2 프로세 서(80)로부터 액세스 상태에 대한 요청 여부를 판단하고(단계 517), 액세스 상태에 대한 요청이 있는 것으로 판단되면, 제1 프로세서(60) 및/또는 제2 프로세서(80)에 제1 인터럽트 상태 레지스터(337) 및/또는 제2 인터럽트 상태 레지스터(339)에 저장된 액세스 상태 신호(STE1, STE2)를 제공한다(단계 519).
그리고, 액세스 권한 제어부(331)는 제1 프로세서(60) 및/또는 제2 프로세서(80)의 액세스 상태에 변화가 있는지를 판단하고(단계 521), 변화가 있는 것으로 판단되면 단계 503으로 되돌아가서 이후의 단계들을 순차적으로 수행한다.
단계 521에서 판단결과, 액세스 상태에 변화가 없는 것으로 판단되면 액세스 권한 제어부(331)는 접근 제어 과정의 종료에 해당하는 제어 신호가 입력되었는지를 판단하고(단계 523), 접근 제어 과정의 종료에 해당하는 제어 신호가 입력된 것으로 판단되면 접근 제어 과정을 종료하고, 접근 제어 과정의 종료에 해당하는 제어 신호가 입력되지 않은 것으로 판단되면 단계 501으로 되돌아가서 이후의 단계들을 순차적으로 수행한다.
본 발명의 다른 실시예에서는 도 5에 도시된 듀얼 포트 메모리의 접근 제어 방법의 흐름도에서 마스크 연산 수행 단계(단계 507), 액세스 권한 신호 출력 단계(단계 511) 및 액세스 권한 신호 변환 단계(단계 513)는 생략될 수도 있다.
상기와 같은 접근 제어 장치를 가지는 듀얼 포트 메모리 및 듀얼 포트 메모리의 접근 제어 방법에 따르면, 접근 제어 장치는 공유 메모리 영역에 대한 복수의 프로세서 각각의 액세스 상태를 저장하고, 프로세서의 요청시 저장된 액세스 상태 를 제공한다. 또한, 접근 제어 장치는 마스크 연산을 통해 소정의 공유 메모리 영역에 대한 프로세서의 액세스를 차단하고, 액세스 허용 신호를 다양하게 변환하여 출력한다.
따라서, 상기와 같은 접근 제어 장치를 가지는 듀얼 포트 메모리를 핸드폰과 같은 휴대용 단말기에 적용함으로써 듀얼 포트 메모리의 공유 메모리 영역에 대한 복수의 프로세서의 액세스 속도를 향상시킬 수 있고, 사용자의 설정에 따라 소정의 공유 메모리 영역에 대한 액세스를 차단할 수 있다. 또한, 설계자의 의도에 맞게 액세스 허용 신호를 변화시킬 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (17)
- 제1 및 제2 프로세서가 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이;상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스;상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스; 및상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함하는 듀얼 포트 메모리.
- 제1항에 있어서, 상기 접근 제어 장치는상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공 받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부; 및상기 세마포 신호와 마스크 신호를 마스크 연산하여 소정의 공유 메모리 영역에 대한 액세스를 차단하고, 상기 마스크 연산한 결과를 액세스 상태로 저장하고, 상기 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 상기 액세스 허용 신호를 제공하는 인터럽트 제어부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
- 제2항에 있어서, 상기 세마포 제어부는상기 요청된 공유 메모리 영역에 상기 제1 및 제2 프로세서 중 어느 프로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력하는 것을 특징으로 하는 듀얼 포트 메모리.
- 제2항에 있어서, 상기 인터럽트 제어부는상기 마스크 신호를 저장하기 위한 마스크 레지스터;상기 액세스 상태를 저장하기 위한 상태 레지스터; 및상기 마스크 연산을 수행하고 상기 마스크 연산을 수행한 결과를 액세스 권한 신호로 출력하는 액세스 권한 제어부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
- 제2항에 있어서, 상기 인터럽트 제어부는변환 제어 신호를 저장하기 위한 제어 레지스터를 더 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
- 제5항에 있어서, 상기 인터럽트 제어부는상기 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 상기 액세스 허용 신호로 출력하는 신호 변환부를 더 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
- 제1항에 있어서, 상기 접근 제어 장치는상기 적어도 하나의 공유 메모리 영역에 대해 상기 제1 및 제2 프로세서 중 적어도 하나의 프로세서로부터 상기 제1 및 제2 메모리 인터페이스 중 상기 적어도 하나의 프로세서에 상응하는 메모리 인터페이스를 통해 액세스 요청 신호를 제공 받고 상기 액세스 요청된 공유 메모리 영역의 현재의 액세스 유무에 따라 세마포 신호를 출력하는 세마포 제어부; 및상기 세마포 제어부로부터 제공된 세마포 신호를 상기 제1 프로세서 및 제2 프로세서의 각각의 액세스 상태로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 인터럽트 제어부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
- 제1항에 있어서, 상기 메모리 어레이는 DRAM 셀 구조를 가지는 것을 특징으로 하는 듀얼 포트 메모리.
- 제1항에 있어서, 상기 듀얼 포트 메모리는 SDRAM 듀얼 포트 메모리인 것을 특징으로 하는 듀얼 포트 메모리.
- 제1 및 제2 프로세서가 공동으로 액세스 하는 제1 공유 메모리 및 제2 공유 메모리 영역을 포함하는 메모리 어레이;상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스;상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 제1 및 제2 공유 메모리 영역 중 적어도 하나의 공유 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스; 및상기 제1 및 제2 공유 메모리 영역에 대한 상기 제1 프로세서의 액세스 상태 및 상기 제2 프로세서의 액세스 상태를 각각 저장하고 상기 제1 프로세서 및 제2 프로세서의 요청시 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 포함하 는 듀얼 포트 메모리.
- 제1 프로세서;제2 프로세서; 및상기 제1 및 제2 프로세서가 공동으로 액세스하는 적어도 하나의 공유 메모리 영역을 가지는 메모리 어레이와, 상기 제1 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제1 메모리 인터페이스와, 상기 제2 프로세서로부터 제공된 어드레스 및 제어신호에 기초하여 상기 두 개 이상의 메모리 영역 중 적어도 하나의 메모리 영역에 읽기 또는 쓰기 동작을 수행하는 제2 메모리 인터페이스 및 상기 적어도 하나의 공유 메모리 영역 각각에 대한 상기 제1 프로세서 및 제2 프로세서 각각의 액세스 상태를 각 프로세서별로 저장하고 상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하고, 상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 접근 제어 장치를 가지는 듀얼 포트 메모리를 포함하는 메모리 시스템.
- 제11항에 있어서, 상기 제1 프로세서는 베이스 밴드 프로세서이고, 상기 제2 프로세서는 응용프로그램을 수행하는 응용 프로세서인 것을 특징으로 하는 메모리 시스템.
- 적어도 하나의 공유 메모리 영역을 가지는 듀얼 포트 메모리에 대한 제1 및 제2 프로세서의 액세스 방법에 있어서,상기 적어도 하나의 공유 메모리 영역에 대한 상기 제1 및 제2 프로세서 각각의 액세스 상태를 각 프로세서 별로 저장하는 단계;상기 저장된 액세스 상태에 기초하여 상기 제1 및 제2 프로세서에 대한 액세스 허용 신호를 제공하는 단계; 및상기 제1 및 제2 프로세서에게 상기 저장된 액세스 상태를 제공하는 단계를 포함하는 듀얼 포트 메모리의 접근 제어 방법.
- 제13항에 있어서, 상기 제1 및 제2 프로세서 각각의 액세스 상태를 각 프로세서 별로 저장하는 단계는상기 적어도 하나의 공유 메모리 영역에 대한 액세스 요청이 발생되면 상기 적어도 하나의 공유 메모리 영역의 액세스 상태에 따라 세마포 신호를 출력하는 단계;상기 세마포 신호와 마스크 신호의 마스크 연산을 수행하는 단계; 및상기 마스크 연산을 수행한 결과를 액세스 상태로서 저장하는 단계를 포함하는 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.
- 제14항에 있어서, 상기 세마포 신호를 출력하는 단계는상기 액세스가 요청된 공유 메모리 영역에 제1 및 제2 프로세서 중 어느 프 로세서도 액세스를 하지 않으면 액세스가 가능함을 나타내는 세마포 신호를 출력하고, 상기 요청된 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스가 가능하지 않음을 나타내는 세마포 신호를 출력하는 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.
- 제14항에 있어서, 상기 마스크 신호는 소정의 공유 메모리 영역에 대한 액세스를 차단하기 위한 신호인 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.
- 제14항에 있어서, 상기 액세스 허용 신호를 제공하는 단계는상기 마스크 연산을 수행한 결과에 기초하여 액세스 권한 신호를 출력하는 단계; 및기저장된 변환 제어 신호에 상응하여 상기 액세스 권한 신호를 변환하여 액세스 허용 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 듀얼 포트 메모리의 접근 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060100400A KR100827720B1 (ko) | 2006-10-16 | 2006-10-16 | 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060100400A KR100827720B1 (ko) | 2006-10-16 | 2006-10-16 | 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080034313A true KR20080034313A (ko) | 2008-04-21 |
KR100827720B1 KR100827720B1 (ko) | 2008-05-07 |
Family
ID=39573799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060100400A KR100827720B1 (ko) | 2006-10-16 | 2006-10-16 | 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100827720B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141579B2 (en) | 2010-04-13 | 2015-09-22 | Samsung Electronics Co., Ltd. | Apparatus and method for routing data among multiple cores |
KR20190094778A (ko) * | 2018-02-06 | 2019-08-14 | 엘에스산전 주식회사 | 이중 메모리 구조 및 이를 이용한 plc의 메시지 처리 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100460108B1 (ko) * | 2000-12-29 | 2004-12-03 | 엘지전자 주식회사 | 듀얼 포트 메모리를 이용한 프로세서의 제어코드 운용방법 |
JP4182321B2 (ja) | 2001-04-17 | 2008-11-19 | 株式会社安川電機 | デュアルポートメモリシステム |
US6684305B1 (en) | 2001-04-24 | 2004-01-27 | Advanced Micro Devices, Inc. | Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence |
JP2003167752A (ja) | 2001-11-29 | 2003-06-13 | Nec Yonezawa Ltd | プログラム更新システム、プログラム更新方法、および、プログラム更新プログラム |
JP2003280980A (ja) | 2002-03-20 | 2003-10-03 | Matsushita Electric Ind Co Ltd | 共有メモリ排他制御装置及び共有メモリ排他制御方法 |
US7346746B2 (en) | 2002-04-26 | 2008-03-18 | Infineon Technologies Aktiengesellschaft | High performance architecture with shared memory |
-
2006
- 2006-10-16 KR KR1020060100400A patent/KR100827720B1/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141579B2 (en) | 2010-04-13 | 2015-09-22 | Samsung Electronics Co., Ltd. | Apparatus and method for routing data among multiple cores |
KR20190094778A (ko) * | 2018-02-06 | 2019-08-14 | 엘에스산전 주식회사 | 이중 메모리 구조 및 이를 이용한 plc의 메시지 처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100827720B1 (ko) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7349285B2 (en) | Dual port memory unit using a single port memory core | |
US9158683B2 (en) | Multiport memory emulation using single-port memory devices | |
US20050204111A1 (en) | Command scheduling for dual-data-rate two (DDR2) memory devices | |
EP3082048B1 (en) | Memory configured to provide simultaneous read/write access to multiple banks | |
JPH07182870A (ja) | シンクロナスランダムアクセスメモリ | |
JP4827399B2 (ja) | 半導体記憶装置 | |
KR100827720B1 (ko) | 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법 | |
KR101110550B1 (ko) | 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법 | |
JP2008140078A (ja) | バスブリッジ装置、情報処理装置、およびデータ転送制御方法 | |
US7898880B2 (en) | Dual port memory device, memory device and method of operating the dual port memory device | |
KR100872196B1 (ko) | 메모리 시스템 및 듀얼 포트 메모리의 접근 제어 방법 | |
CN112100098B (zh) | Ddr控制系统及ddr存储系统 | |
KR100874169B1 (ko) | 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법 | |
KR20230145254A (ko) | 적응형 메모리 액세스 관리 | |
US8971145B2 (en) | Synchronous multiple port memory with asynchronous ports | |
JPWO2006132006A1 (ja) | メモリ制御装置及びメモリ制御方法 | |
US7224622B2 (en) | Method for writing data into memory and the control device | |
KR20080046065A (ko) | 공유 메모리 접근 제어 장치를 가지는 듀얼 포트 메모리,공유 메모리 접근 제어 장치를 가지는 멀티 프로세서시스템 및 멀티 프로세서 시스템의 공유 메모리 접근 제어방법 | |
KR100863541B1 (ko) | 동기 제어 장치를 가지는 듀얼 포트 메모리, 동기 제어장치를 가지는 듀얼 포트 메모리 시스템 및 듀얼 포트메모리 시스템의 동기 제어 방법 | |
KR100886179B1 (ko) | 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치 | |
US8074096B2 (en) | Semiconductor integrated circuit, memory system, memory controller and memory control method | |
KR100877972B1 (ko) | 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리및 데이터 직접 전달 방법 | |
JPH05151769A (ja) | マルチポートメモリ | |
US20170075571A1 (en) | Memory device and control method thereof | |
KR100813133B1 (ko) | 듀얼 포트 메모리 장치, 이를 가지는 메모리 시스템 및듀얼 포트 메모리 장치의 공유 메모리 영역의 적응적사용방법 |
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 | ||
FPAY | Annual fee payment | ||
FPAY | Annual fee payment |
Payment date: 20170329 Year of fee payment: 10 |