KR101639946B1 - 듀얼 포트 메모리 시스템의 접근 제어 방법 - Google Patents

듀얼 포트 메모리 시스템의 접근 제어 방법 Download PDF

Info

Publication number
KR101639946B1
KR101639946B1 KR1020150051999A KR20150051999A KR101639946B1 KR 101639946 B1 KR101639946 B1 KR 101639946B1 KR 1020150051999 A KR1020150051999 A KR 1020150051999A KR 20150051999 A KR20150051999 A KR 20150051999A KR 101639946 B1 KR101639946 B1 KR 101639946B1
Authority
KR
South Korea
Prior art keywords
processor
access
dual port
port memory
signal
Prior art date
Application number
KR1020150051999A
Other languages
English (en)
Inventor
이수강
권대현
Original Assignee
엘에스산전 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스산전 주식회사 filed Critical 엘에스산전 주식회사
Priority to KR1020150051999A priority Critical patent/KR101639946B1/ko
Priority to US14/989,734 priority patent/US9766821B2/en
Priority to ES16151357.7T priority patent/ES2650074T3/es
Priority to EP16151357.7A priority patent/EP3089044B1/en
Priority to JP2016021534A priority patent/JP6105768B2/ja
Priority to CN201610214548.5A priority patent/CN106057226B/zh
Application granted granted Critical
Publication of KR101639946B1 publication Critical patent/KR101639946B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

실시 예에 따른 듀얼 포트 메모리 시스템의 접근 제어 방법은 제 1 프로세서에서 듀얼 포트 메모리로 액세스가 요청되는 단계; 및 상기 듀얼 포트 메모리에서 상기 제 1 프로세서로 상기 액세스 요청에 따른 결과 신호가 전송되는 단계;를 포함하며, 상기 결과 신호는, 액세스 성공을 알리는 제 1 결과 신호, 액세스 실패를 알리는 제 2 결과 신호 및 액세스 홀드를 알리는 제 3 결과 신호를 포함한다.

Description

듀얼 포트 메모리 시스템의 접근 제어 방법{METHOD OF CONTROLLING ACCESS OF DUAL PORT MEMORY SYSTEM}
실시 예는 듀얼 포트 메모리 시스템에 관한 것으로, 특히 듀얼 포트 메모리 시스템의 접근 제어 방법에 관한 것이다.
요즘, 핸드폰, PDA(Personal Digital Assistant) 등과 같은 이동 통신 단말기는 무선통신 기능 이외에 디지털 카메라, 화상통신, 멀티미디어 재생 등의 다양한 부가서비스 기능을 포함하고 있다.
이동 통신 단말기는 무선통신 및 다양한 부가서비스 기능을 처리하기 위해 베이스밴드 프로세서(baseband processor), 어플리케이션 프로세서(application processor) 등과 같은 적어도 하나 이상의 프로세서를 구비하고, 각 프로세서의 데이터 처리 속도 및 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(dual port memory)를 사용한다.
즉, 두 개의 프로세서가 듀얼 포트 메모리를 사용하게 되면 각 프로세서가 자신의 포트를 사용해 메모리 셀 어레이에 접근하여 데이터를 읽고 쓸 수 있기 때문에 두 개의 프로세서가 각각 서로 다른 메모리에 연결되어 호스트 프로세서간 인터페이스(Host Porcessor Interface: HPI)를 통해 처리 데이터를 주고 받는 경우보다 데이터의 전송 및 처리 속도가 더 빠르고 이로 인해 시스템의 전체적인 성능이 향상된다.
도 1은 종래 기술에 따른 듀얼 포트 메모리 시스템의 구성을 나타낸 도면이고, 도 2는 도 1의 듀얼 포트 메모리 시스템의 액세스 타이밍도이다.
도 1을 참조하면, 듀얼 포트 메모리 시스템은, 듀얼 포트 메모리(1), 제 1 프로세서(2) 및 제 2 프로세서(3)를 포함한다.
상기 듀얼 포트 메모리(1)는 SDRAM(Synchronous Dynamic Random Access Memory)일 수 있다.
여기에서, 상기 듀얼 포트 메모리(1)가 이동 통신 단말기에 적용되는 경우에 상기 제 1 프로세서(2)는 베이스밴드(baseband) 프로세서로 동작되고, 제2 프로세서(3)는 어플리케이션(application) 프로세서로 동작될 수 있다.
이동 통신 단말기에서의 베이스밴드 프로세서는 통신 기능을 수행할 뿐 아니라, 특정 기능(예를 들어, 멀티미디어 재생, 카메라 기능 등)의 수행을 위한 어플리케이션 프로세서들의 동작을 제어한다. 또한, 베이스밴드 프로세서는 이동 통신 단말기에 구비된 부가 장치들(예를 들어, 디스플레이부, 외장형 저장장치 등)의 동작을 제어할 수도 있다.
제 1 프로세서(2)는 제1 외부 버스 인터페이스(External BUS Interface)(도시하지 않음)를 통하여 듀얼 포트 메모리(1)에 대해 데이터를 읽고 쓰고, 제2 프로세서(3)는 제2 외부 버스 인터페이스(도시하지 않음)를 통하여 듀얼 포트 메모리(1)에 대해 데이터를 읽고 쓴다.
제 1 프로세서(2) 및 제 2 프로세서(3)는 각각 클록(CLK) 신호, 칩 선택(CS) 신호, 어드레스(Address) 신호, 데이터(data) 신호, 쓰기(WR) 신호 및 액세스 요청 결과 신호(예를 들어, Busy)를 상기 듀얼 프토 메모리(1)와 주고 받는다.
이때, 제 1 프로세서(2) 및 제 2 프로세서(3)는 상기 듀얼 포트 메모리(1)에 액세스하고자 하는 경우, 상기 듀얼 포트 메모리(1)에 액세스를 요청한다.
여기에서, 듀얼 포트 메모리(1)는 제 1 프로세서(2) 또는 제 2 프로세서(3)로부터 액세스 요청이 있는 경우, 현재 다른 프로세서의 액세스 여부를 판단하고, 상기 액세스 여부에 따라 상기 액세스 요청 결과 신호를 출력한다.
즉, 듀얼 포트 메모리(1)는 현재 다른 프로세서가 이미 액세스를 하고 있으면, 상기 액세스 요청 결과 신호로 바쁨(busy) 신호를 출력하여, 상기 액세스를 요청한 프로세서로 액세스 실패를 알린다. 이때, 상기 바쁨 신호는 액티브 로우 형태를 가지며, 그에 따라 상기와 같이 액세스 실패를 알리고자 하는 경우에는 도 2에 도시된 바와 같이 액세스 요청 결과 신호로 로우(LOW) 신호를 출력한다.
또한, 듀얼 포트 메모리(1)는 현재 다른 프로세서가 액세스 하고 있지 않은 경우, 상기 액세스를 요청한 프로세서의 액세스를 허용한다.
상기와 같은 종래 기술에 따른 듀얼 포트 메모리(1)로의 접근 방법은, 제 1 프로세서(2)가 듀얼 포트 메모리(1)에 액세스 하고자 하는 시점에 제 2 프로세서(3)가 이미 상기 듀얼 포트 메모리(1)에 액세스하고 있으면, 상기 듀얼 포트 메모리(1)는 바쁨 신호를 상기 제 1 프로세서(2)로 출력하여 액세스 실패를 상기 제 1 프로세서(2)에 알린다.
그러나, 상기와 같이 종래 기술에 따른 접근 방법에 의하면, 상기 듀얼 포트 메모리로의 액세스 실패 시에 어플리케이션 레벨(application level)에서 상기 액세스 실패를 알리는 바쁨 신호를 확인하고, 그에 따라 추후 상기 듀얼 포트 메모리(1)에 다시 액세스를 요청해야 하므로 상기 액세스를 재시도하기 까지 많은 시간이 소요되는 문제점이 있다.
실시 예에서는 새로운 방식의 듀얼 포트 메모리 시스템의 접근 방법을 제공한다.
또한, 실시 예에서는 타임아웃 기능과 홀드 기능을 추가하여 액세스 재시도 시간을 획기적으로 줄이면서 최적화된 액세스가 가능하도록 한 듀얼 포트 메모리 시스템의 접근 방법을 제공한다.
제안되는 실시 예에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 제안되는 실시 예가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
실시 예에 따른 듀얼 포트 메모리 시스템의 접근 제어 방법은 제 1 프로세서에서 듀얼 포트 메모리로 액세스가 요청되는 단계; 및 상기 듀얼 포트 메모리에서 상기 제 1 프로세서로 상기 액세스 요청에 따른 결과 신호가 전송되는 단계;를 포함하며, 상기 결과 신호는, 액세스 성공을 알리는 제 1 결과 신호, 액세스 실패를 알리는 제 2 결과 신호 및 액세스 홀드를 알리는 제 3 결과 신호를 포함한다.
또한, 상기 결과 신호가 전송되는 단계는, 제 2 프로세서의 액세스 상태를 확인하는 단계와, 상기 제 2 프로세서가 액세스 중이지 않으면, 상기 제 1 프로세서로 상기 제 1 결과 신호를 전송하는 단계와, 상기 제 2 프로세서가 액세스 중이면, 기설정된 허용 시간의 경과 여부를 확인하는 단계와, 상기 기설정된 허용 시간이 경과하였다면, 상기 제 1 프로세서로 상기 제 2 결과 신호를 전송하는 단계와, 상기 기설정된 허용 시간이 경과하지 않았다면, 상기 제 1 프로세서로 상기 제 3 결과 신호를 전송하는 단계를 포함한다.
또한, 상기 듀얼 포트 메모리는, 상기 제 1 프로세서로 제 3 결과 신호를 전송한 경우, 상기 제 2 프로세서의 액세스 종료 여부를 확인하고, 상기 액세스 종료 여부에 따라 상기 제 1 프로세서로 상기 결과 신호를 재전송한다.
또한, 상기 듀얼 포트 메모리는, 상기 허용 시간의 경과 이전에 상기 제 2 프로세서의 액세스가 종료된 경우, 상기 제 1 프로세서로 상기 제 1 결과 신호를 재전송한다.
또한, 상기 제 1 프로세서는, 상기 제 3 결과 신호가 수신되면, 기설정된 허용 시간의 경과 전까지 상기 듀얼 포트 메모리로부터 재전송되는 결과 신호를 수신하기 위해 대기한다.
또한, 상기 제 1 프로세서는, 상기 제 3 결과 신호가 수신되고, 상기 기설정된 허용 시간이 경과하였다면, 상기 수신된 제 3 결과 신호를 상기 제 2 결과 신호에 대응하는 액세스 실패로 인식한다.
또한, 상기 제 1 내지 제 3 결과 신호는, 상기 듀얼 포트 메모리 사이에서 제 1 프로세서로 전송되는 제 1 신호 및 제 2 신호의 하이 및 로우 상태에 의해 결정된다.
한편, 실시 예에 따른 듀얼 포트 메모리 시스템의 접근 제어 방법은 제 1 프로세서에서 듀얼 포트 메모리로 액세스가 요청되는 단계; 상기 듀얼 포트 메모리에서 제 2 프로세서의 액세스 상태가 확인되는 단계; 상기 제 2 프로세서가 액세스 중이지 않으면, 상기 제 1 프로세서의 액세스를 허용하는 단계; 상기 제 2 프로세서가 액세스 중이면, 상기 듀얼 포트 메모리에서 상기 제 1 프로세서로 액세스 거부를 알리는 바쁨 신호가 전송되는 단계를 포함하며, 상기 바쁨 신호는, 기설정된 허용 시간을 기준으로 상기 허용 시간이 경과되지 전에는 액세스 대기를 알리는 신호로 사용되고, 상기 허용 시간이 경과된 후에는 액세스 실패를 알리는 신호로 사용된다.
또한, 상기 듀얼 포트 메모리는, 상기 제 1 프로세서로 전송한 바쁨 신호가 액세스 대기를 알리는 신호인 경우, 상기 제 2 프로세서의 액세스 종료 여부를 확인하며, 상기 제 2 프로세서의 액세스가 종료된 경우, 상기 제 1 프로세서의 액세스를 허용하고, 상기 제 2 프로세서의 액세스가 종료되지 않은 경우, 상기 허용 시간의 경과 여부에 따른 바쁨신호를 재전송한다.
또한, 상기 제 1 프로세서는, 상기 액세스 대기를 알리는 바쁨 신호가 수신되면, 기설정된 허용 시간의 경과 전까지 상기 듀얼 포트 메모리로부터 재전송되는 액세스 결과 신호를 수신하기 위해 대기한다.
또한, 상기 제 1 허용 시간은, 상기 듀얼 포트 메모리에 설정된 시간이고, 상기 제 2 허용 시간은, 상기 제 1 프로세서에 설정된 시간이다.
본 발명에 따른 실시 예에 의하면, 듀얼 포트 인터페이스 로직에 의하여 하드웨어에 의한 홀드 기능이 추가됨으로써, 어플리케이션에 의한 액세스 재시도 과정을 생략할 수 있어 액세스 재시도 시간을 획기적으로 줄이면서 최적화된 제어를 할 수 있다.
도 1은 종래 기술에 따른 듀얼 포트 메모리 시스템의 구성을 나타낸 도면이다.
도 2는 도 1의 듀얼 포트 메모리 시스템의 액세스 타이밍도이다.
도 3은 본 발명의 제 1 실시 예에 따른 듀얼 포트 메모리 시스템의 구성을 나타낸 도면이다.
도 4 내지 도 6은 실시 예에 따른 듀얼 포트 메모리 시스템의 상태별 액세스 타이밍도이다.
도 7은 본 발명의 제 1 실시 예에 따른 듀얼 포트 메모리 시스템에서 프로세서의 동작을 단계별로 설명하기 위한 흐름도이다.
도 8은 본 발명의 제 1 실시 예에 따른 듀얼 포트 메모리 시스템에서 듀얼 포트 메모리(110)의 동작을 단계별로 설명하기 위한 흐름도이다.
도 9는 본 발명의 제 2 실시 예에 따른 듀얼 포트 메모리 시스템의 구성을 나타낸 도면이다.
도 10은 본 발명의 제 2 실시 예에 따른 듀얼 포트 메모리 시스템에서 프로세서의 동작을 단계별로 설명하기 위한 흐름도이다.
도 11은 본 발명의 제 2 실시 예에 따른 듀얼 포트 메모리 시스템에서 듀얼 포트 메모리(210)의 동작을 단계별로 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 도면의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 도면의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 도면의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 도면의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 3은 본 발명의 제 1 실시 예에 따른 듀얼 포트 메모리 시스템의 구성을 나타낸 도면이고, 도 4 내지 도 6은 실시 예에 따른 듀얼 포트 메모리 시스템의 상태별 액세스 타이밍도이다.
도 3을 참조하면, 듀얼 포트 메모리 시스템은, 듀얼 포트 메모리(110), 제1 프로세서(120) 및 제 2 프로세서(130)를 포함한다.
제 1 프로세서(120)는 제 1 포트(도시하지 않음)를 통해 상기 듀얼 포트 메모리(110)에 액세스하고, 제 2 프로세서(130)는 제 2 포트(도시하지 않음)를 통해 상기 듀얼 포트 메모리(110)에 액세스한다.
제 1 프로세서(120)는 예를 들어, 이동 통신 단말기의 베이스밴드 프로세서로 구성될 수 있다.
제 2 프로세서(130)는 예를 들어, 이동 통신 단말기의 어플리케이션 프로세서가 될 수 있다.
듀얼 포트 메모리(110)는 제 1 포트를 통해 상기 제 1 프로세서(120)와 연결되고, 제 2 포트를 통해 상기 제 2 프로세서(130)와 연결된다.
또한, 듀얼 포트 메모리(110)는 메모리 인터페이스(도시하지 않음)와, 메모리 영역(도시하지 않음)를 포함할 수 있다.
메모리 인터페이스는 각각 SDRAM 또는 PSRAM 인터페이스로 구성될 수 있고, 각각의 인터페이스에 상응하는 명령 디코더, 로우 디코더, 컬럼 디코더 및 입출력 버퍼 등을 포함할 수 있다.
상기 각각의 메모리 인터페이스는, 각각 대응되는 포트를 통해 주소, 제어 신호, 클럭 및 데이터를 입력받고, 주소를 로우 어드레스와 컬럼 어드레스로 디코딩하여 읽기 또는 쓰기 동작을 수행할 메모리 영역을 결정하고, 소정의 메모리 영역에 대한 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터를 소정 메모리 영역으로부터 독출하거나 소정 메모리 영역에 기록한다.
듀얼 포트 메모리(110)는 전용 메모리 영역과 공용 메모리 영역으로 구분될 수 있다. 전용 메모리 영역은 상기 제 1 프로세서(120) 및 제 2 프로세서(130)가 제 1 포트 및 제 2 포트를 통해 액세스할 수 있는 메모리 영역으로, 제 1 프로세서(120) 및 제 2 프로세서(130)의 액세스 충돌을 방지하기 위해 배타적인 액세스가 보장되도록 한다.
공용 메모리 영역은 상기 제 1 프로세서(120) 및 제 2 프로세서(130)가 공통으로 액세스하여 데이터를 읽기거나 기록할 수 있는 영역이다.
상기와 같은 메모리 영역은 각각 DRAM의 단위 메모리 셀 구조를 가질 수 있고, 소정 뱅크(bank) 단위로 구성될 수 있다. 또는 하나의 뱅크 내에서 소정 크기를 가지는 블록(block) 단위로 각각의 메모리 영역이 구성될 수도 있다.
듀얼 포트 메모리(110)의 제 1 메모리 인터페이스(도시하지 않음)는 SDRAM(Synchronous DRAM) 메모리 인터페이스로 구성될 있다. 이에 따라, 듀얼 포트 메모리(110)의 제 1 메모리 인터페이스는 제 1 포트를 통해 제 1 프로세서(120)로부터 어드레스(Address), 제어신호(Control signal), 클럭(CLK) 및 데이터(data)를 각각 입력받고, 그에 따라 어드레스를 로우 어드레스와 컬럼 어드레스에서 디코딩한 후, 상기 디코딩된 어드레스에 기초하여 메모리 영역의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터를 메모리 영역으로부터 독출하거나, 기록한다.
이를 위해, 제 1 메모리 인터페이스는 일반적인 SDRAM에서 사용되는 명령 디코더(Command decoder)(미도시), 로우 디코더(Row decoder) (미도시), 컬럼 디코더(Column decoder) (미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.
또한, 듀얼 포트 메모리(110)의 제 2 메모리 인터페이스(도시하지 않음)는 SDRAM 메모리 인터페이스로 구성되고, 제 2 를 통하여 제 2 프로세서(130)와 연결되어, 상기 제 2 프로세서(130)로부터 어드레스(Address), 제어신호(Control signal), 클럭(Clock) 및 데이터(Data)를 입력받는다.
또한, 듀얼 포트 메모리(110)의 제 2 메모리 인터페이스는 상기 입력받은 어드레스(address)를 로우 어드레스와 컬럼 어드레스에서 디코딩한 후 상기 디코딩된 어드레스에 기초하여 메모리 영역의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터를 메모리 영역으로부터 독출하거나 기록한다.
이를 위해 제 2 메모리 인터페이스는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(미도시), 로우 디코더(미도시), 컬럼 디코더(미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.
한편, 듀얼 포트 메모리(110)는 제 1 프로세서(120)나 제 2 프로세서(130)를 통해 액세스 요청이 있다면, 현재 다른 프로세서를 통해 상기 듀얼 포트 메모리(110)의 메모리 영역이 사용되고 있는지를 확인한다.
한편, 듀얼 포트 메모리(110)는 상기 메모리 영역의 사용 여부에 따라 상기 액세스를 요청한 프로세서로 상기 액세스 요청에 따른 액세스 결과 신호를 출력한다.
이때, 듀얼 포트 메모리(110)는 상기 액세스 요청에 따른 액세스 결과 신호를 제 1 결과 신호, 제 2 결과 신호 및 제 3 결과 신호를 구분하고, 그에 따라 이 중 어느 하나의 결과 신호를 상기 액세스 요청에 따른 결과 신호로 출력한다.
상기 제 1 결과 신호는, 액세스 성공을 알리는 신호이고, 제 2 결과 신호는 액세스 실패를 알리는 신호이며, 제 3 결과 신호는 액세스 홀드를 알리는 신호이다.
이때, 일반적으로 상기 듀얼 포트 메모리(110)는 하나의 신호 라인을 통해 하이 신호 또는 로우 신호를 출력하여, 상기 결과 신호를 출력하였다. 다시 말해서, 상기 액세스 결과 신호는 로우 액티브 형태의 신호일 수 있다. 이에 따라, 상기 신호가 로우이면, 액세스 실패를 알리는 것이고, 상기 신호가 하이이면, 액세스 성공을 알리는 신호로 사용되었다.
그러나, 본 발명의 제 1 실시 예에서는, 2개의 신호 라인을 통해 상기 액세스 결과 신호를 출력하여, 상기 2개의 신호의 조합에 의해 상기 액세스 성공, 액세스 실패 및 액세스 홀드 신호가 각각 출력될 수 있도록 한다.
이때, 상기 액세스 홀드 신호는 기설정된 허용 시간에 의해 결정된다.
이를 위해, 듀얼 포트 메모리(110)에는 제 3 타이머(115)가 구비된다.
상기 제 3 타이머(115)는 기설정된 허용 시간에 따라 상기 제 1 결과 신호, 제 2 결과 신호 및 제 3 결과 신호 중 어느 하나의 결과 신호를 상기 액세스를 요청한 프로세서로 출력한다.
이하에서는, 액세스를 요청한 프로세서를 제 1 프로세서로 하여 설명하기로 한다. 그러나, 이는 일 실시 예에 불과할 뿐, 상기 제 1 프로세서에서 하는 동작이 제 2 프로세서에서도 동일하게 이루어질 수 있을 것이다.
제 1 프로세서(120)는 액세스가 필요함에 따라 상기 듀얼 포트 메모리(110)에 액세스 요청신호를 전송한다.
듀얼 포트 메모리(110)는 상기 액세스 요청 신호에 따라 현재 제 2 프로세서(130)가 액세스 중인지 아닌지 여부를 판단한다.
그리고, 듀얼 포트 메모리(110)는 상기 제 2 프로세서(130)의 액세스가 이루어지지 않은 상태이면, 상기 제 1 프로세서(120)로 액세스 성공을 알리는 제 1 결과 신호를 출력한다.
한편, 듀얼 포트 메모리(110)는 상기 제 2 프로세서(130)의 액세스가 이루어진 상태이면, 상기 제 3 타이머(115)를 통해 상기 제 1 프로세서(120)로부터 액세스가 요청된 시점부터 기설정된 허용 시간이 경과하였는지를 확인하고, 상기 허용 시간의 경과 여부에 따라 액세스 실패를 알리는 제 2 결과 신호 또는 액세스 홀드를 알리는 제 3 결과 신호를 출력한다.
즉, 듀얼 포트 메모리(110)는 상기 제 1 프로세서(120)로부터 액세스가 요청된 시점부터 기설정된 허용 시간이 경과되었다면, 상기 제 1 프로세서(120)로 상기 액세스 실패를 알리는 제 2 결과 신호를 출력하고, 그에 따라 추후에 다시 재 액세스를 요청하도록 한다.
또한, 듀얼 포트 메모리(110)는 상기 제 1 프로세서(120)로부터 액세스가 요청된 시점부터 기설정된 허용 시간이 경과되지 않았다면, 상기 제 1 프로세서(120)로 상기 액세스 홀드를 알리는 제 3 결과 신호를 출력한다.
상기 액세스 홀드는, 상기 듀얼 포트 메모리(110)와 제 1 프로세서(120) 사이의 연결이 끊어지지 않은 상태에서, 상기 액세스 요청이 상기 요청 시간 동안 유지될 수 있도록 하기 위함이다.
또한, 듀얼 포트 메모리(110)는 상기 제 3 결과 신호를 출력한 상태에서, 상기 요청 시간이 경과되기 이전까지는 상기 제 2 프로세서(130)의 액세스 종료 여부를 확인하며, 상기 제 2 프로세서(130)의 액세스가 종료되었다면, 상기 제 1 프로세서(120)로 상기 액세스 성공을 알리는 제 1 결과 신호를 출력한다.
이에 따라, 본 실시 예에서는 상기와 같은 액세스 홀드 기능을 추가하여, 기설정된 허용 시간 동안에는 상기 액세스를 요청한 상태가 계속 유지될 수 있도록 하여, 추가적인 액세스 요청을 시도해야 하는 불편함을 해소시켜준다.
한편, 상기 결과 신호는 ACK 신호와, NAK 신호의 상태에 의해 결정된다.
도 4를 참조하면, ACK 신호는 로우 상태에 있고, NAK 신호는 하이 상태에 있음을 알 수 있다. 이때, 상기 ACK 신호와 NAK 신호는 액티브 로우 형태를 가질 수 있다.
이에 따라, 상기 도 4의 신호는 ACK 신호가 활성화되어 있음을 알리는 것이고, 이는 상기 액세스 요청에 따른 긍정을 나타내는 액세스 성공을 알리는 신호로 사용된다.
또한, 도 5를 참조하면, ACK 신호는 하이 상태에 있고, NAK 신호는 로우 상태에 있음을 알 수 있다.
이에 따라, 상기 도 5의 신호는 NAK 신호가 활성화되어 있음을 알리는 것이며, 이는 상기 액세스 요청에 따른 부정을 나타내는 액세스 실패를 알리는 신호로 사용된다.
또한, 도 6을 참조하면, ACK 신호와 NAK 신호는 모두 로우 상태에 있음을 알 수 있다. 이에 따라, 도 6의 신호는 ACK 신호와 NAK 신호가 모두 활성화되어 있음을 알리는 것이며, 이는 액세스 요청에 따른 긍정 및 부정을 모두 나타내는 액세스 홀드 신호로 사용된다.
한편, 제 1 프로세서(120)는 상기 듀얼 포트 메모리(110)로부터 전송되는 결과 신호를 수신한다, 그리고, 상기 결과 신호가 제 1 결과 신호이면, 상기 제 1 프로세서(120)는 상기 듀얼 포트 메모리(110)에 정상적으로 액세스하여, 데이터 읽기 또는 쓰기 동작을 수행한다.
또한, 제 1 프로세서(120)는 상기 듀얼 포트 메모리(110)로부터 전송되는 결과 신호가 제 2 결과 신호이면, 현재 상기 듀얼 포트 메모리(110)에 액세스 할 수 없음을 인식하고, 그에 따라 추후 상기 액세스를 재시도한다.
또한, 제 1 프로세서(120)는 상기 듀얼 포트 메모리(110)로부터 전송되는 결과 신호가 제 3 결과 신호이면, 상기 제 3 결과 신호는 액세스 실패 또는 액세스 홀드 신호로 인식한다.
다시 말해서, 상기 제 1 프로세서(120)는 상기 제 3 결과 신호가 수신되면, 상기 액세스를 요청한 시점부터 기설정된 허용 시간이 경과되었는지 여부를 판단한다.
그리고, 제 1 프로세서(120)는 상기 기설정된 허용 시간이 경과되었다면, 상기 제 3 결과 신호를 액세스 실패 신호로 인식한다.
또한, 제 1 프로세서(120)는 상기 기설정된 허용 시간이 경과되지 않았다면, 상기 제 3 결과 신호를 액세스 홀드 신호로 인식하고, 그에 따라 상기 듀얼 포트 메모리(110)로부터 재전송되는 결과 신호를 수신하기 위하여 대기한다.
다시 말해서, 상기 제 1 프로세서(120)는 상기 액세스 요청에 따라 액세스가 불가한 경우, 기설정된 허용 시간까지는 대기하여 액세스 결과가 변경되는 상황에 대비한다.
다시 말해서, 제 1 프로세서(120)에서 액세스가 요청된 시점에는 제 2 프로세서(130)의 액세스에 의해 상기 제 1 프로세서(120)의 액세스가 불가할 수 있다. 이때, 상기 제 2 프로세서(130)의 액세스는 기설정된 허용 시간 이내에 종료될 수 있다.
따라서, 본 발명에서는 상기 제 2 프로세서(130)의 액세스가 종료되는 것에 대비하여, 기설정된 허용 시간 동안에는 상기 제 1 프로세서(120)의 액세스 요청 상태가 계속 유지될 수 있도록 하여 상기 액세스 요청을 다시 해야하는 번거로움을 해소할 수 있도록 한다.
도 7은 본 발명의 제 1 실시 예에 따른 듀얼 포트 메모리 시스템에서 프로세서의 동작을 단계별로 설명하기 위한 흐름도이고, 도 8은 본 발명의 제 1 실시 예에 따른 듀얼 포트 메모리 시스템에서 듀얼 포트 메모리(110)의 동작을 단계별로 설명하기 위한 흐름도이다.
도 7을 참조하면, 제 1 프로세서(120)는 액세스가 필요함에 따라 듀얼 포트 메모리(110)에 액세스를 요청한다(101단계).
그리고, 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호를 수신한다(102단계).
상기 액세스 결과 신호는 ACK 신호 및 NAK 신호를 포함할 수 있으며, 상기 ACK 신호와 NAK 신호의 조합에 의해 상기 액세스 요청에 따른 결과가 결정된다.
제 1 프로세서(120)는 상기 수신한 결과 신호가 ACK 신호 및 NAK 신호가 모두 로우 상태(0의 값)인지 여부를 판단한다(103단계).
즉, 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 액세스 홀드를 알리는 제 3 결과신호인지 여부를 판단한다.
그리고, 상기 제 1 프로세서(120)는 상기 수신한 결과 신호가 제 3 결과 신호이면, 기설정된 요청 시간을 체크하고(104단계), 그에 따라 상기 기설정된 요청 시간을 경과하였는지 여부를 판단한다(105단계).
이어서, 상기 제 1 프로세서(120)는 상기 기설정된 요청 시간이 경과하지 않았다면, 상기 단계(102단계)로 복귀하여, 상기 액세스 요청에 따른 결과 신호를 재수신한다.
또한, 상기 제 1 프로세서(120)는 상기 기설정된 요청 시간이 경과하였다면, 상기 제 3 결과 신호를 액세스 실패 신호로 인식한다.
한편, 상기 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 제 1 3 결과 신호가 아니면, 제 1 프로세서(120)는 상기 수신한 결과 신호가 ACK 신호가 하이로우이고, NAK 신호가 로우하이인지 여부를 판단한다(107단계).
즉, 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 액세스 홀드성공를 알리는 제 1 결과신호인지 여부를 판단한다.
그리고, 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 제 1 결과 신호이면, 액세스가 허용되었음을 인식한다(108단계).
한편, 상기 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 제 3 1 결과 신호가 아니면, 제 1 프로세서(120)는 상기 수신한 결과 신호가 ACK 신호가 로우하이이고, NAK 신호가 하이로우인지 여부를 판단한다(109단계).
즉, 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 액세스 홀드실패를 알리는 제 2 결과신호인지 여부를 판단한다.
그리고, 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 제 2 결과 신호이면, 액세스가 거부되었음을 인식한다(106단계).
또한, 상기 제 1 프로세서(120)는 상기 액세스 요청에 따른 결과 신호가 무응답 상태에 대응하는 하이 상태의 ACK 신호 및 NAK 신호가 수신되는 경우(110단계), 상기 듀얼 포트 메모리(110)와의 연결 상태를 확인하여 상기 액세스 요청을 재시도한다(111단계).
상기와 같이 본 발명에 따른 실시 예에서는, 기설정된 허용 시간을 설정하고, 상기 허용 시간 이내에서는 액세스 홀드가 이루어질 수 있도록 한다.
도 8을 참조하면, 듀얼 포트 메모리(110)는 제 1 프로세서(120)로부터의 액세스 요청 신호를 수신한다(201단계).
그리고, 듀얼 포트 메모리(110)는 상기 액세스 요청에 따라 다른 프로세서(제2 프로세서)의 액세스 상태를 확인한다(202단계).
그리고, 듀얼 포트 메모리(110)는 상기 확인한 액세스 상태에 따라, 상기 다른 프로세서가 현재 액세스 중인지 여부를 판단한다(203단계).
상기 듀얼 포트 메모리(110)는 상기 다른 프로세서가 현재 액세스 중이면, 기설정된 허용 시간을 확인한다(204단계).
이어서, 듀얼 포트 메모리(110)는 상기 확인한 기설정된 허용 시간이 경과되었는지 여부를 판단한다(205단계).
상기 판단 결과, 기설정된 허용 시간이 경과하지 않았다면, 상기 듀얼 포트 메모리(110)는 제 3 결과 신호(ACK와 NAK 신호가 모두 로우 상태)를 출력하고(206단계), 아니면 제 2 결과 신호(ACK신호는 하이, NAK 신호는 로우 상태)를 출력한다(207단계).
또한, 듀얼 포트 메모리(110)는 상기 다른 프로세서의 액세스가 이루어지지 않은 상태이면, 제 1 결과 신호(ACK는 로우, NAK 신호는 하이 상태)를 출력한다(208단계).
이때, 듀얼 포트 메모리(110)는 상기 제 3 결과 신호를 전송하였다면, 상기 다른 프로세서의 액세스 종료를 주기적으로 확인하고, 상기 액세스가 종료되었다면, 제 1 결과 신호를 상기 제 1 프로세서(120)로 다시 전송한다.
또한, 이와 다르게 듀얼 포트 메모리(110)는 상기 액세스 종료가 이루어지지 않은 상태에서 상기 허용 시간이 경과하였다면, 제 2 결과 신호를 상기 제 1 프로세서(120)로 다시 전송한다.
도 9는 본 발명의 제 2 실시 예에 따른 듀얼 포트 메모리 시스템의 구성을 나타낸 도면이다.
본 발명의 제 2 실시 예에 따른 듀얼 포트 메모리 시스템은, 제 3 타이머(215)를 포함하는 듀얼 포트 메모리(210), 제 2 타이머(225)를 포함하는 제 1 프로세서(220) 및 제 2 타이머(235)를 포함하는 제 2 프로세서(230)를 포함한다.
도 9를 참조하면, 듀얼 포트 메모리 시스템은 도 3에 도시된 듀얼 포트 메모리 시스템의 전반적인 구성이 동일하다.
다만, 본 발명의 제 1 실시 예에서는 2개의 라인을 통해 상기 액세스 요청에 따른 결과 신호가 전송되었지만, 제 2 실시 예에서는 1개의 라인을 통해 액세스 요청에 따른 결과 신호가 전송된다.
상기 1개의 라인은 일반적인 듀얼 포트 메모리 시스템에서 바쁨 신호(busy signal)가 출력되는 라인이다.
상기 듀얼 포트 메모리(210)는 제 1 프로세서(220)로부터 액세스 요청이 있다면, 현재 다른 프로세서에 의해 액세스가 이루어진 상태인지를 확인하고, 그에 따라 상기 액세스 여부에 따른 액세스 거부를 나타내는 바쁨 신호를 출력한다.
이때, 상기 바쁨 신호는 액세스 실패를 알리는 신호로 사용될 수 있고, 액세스 홀드를 알리는 신호로도 사용될 수 있다.
즉, 상기 다른 프로세서가 액세스 중이면, 상기 듀얼 포트 메모리(210)는 기설정된 제 1 허용 시간이 경과되었는지 여부를 판단한다.
여기에서, 상기 제 1 허용 시간은, 상기 듀얼 포트 메모리(210)에 설정된 시간이며, 예를 들어 1초, 2초와 같은 시간으로 설정될 수 있다.
그리고, 듀얼 포트 메모리(210)는 기설정된 제 1 허용 시간이 경과되었다면, 액세스 실패를 알리는 신호로 바쁨 신호를 출력한다.
또한, 듀얼 포트 메모리(210)는 기설정된 제 1 허용 시간이 경과하지 않았다면, 상기 액세스 홀드를 알리는 신호로 바쁨 신호를 출력한다.
이때, 상기 듀얼 포트 메모리(210)는 액세스 홀드를 알리는 신호로 바쁨 신호를 출력한 경우, 상기 다른 프로세서의 액세스 종료 여부를 주기적으로 확인하여, 상기 액세스 종료가 이루어졌다면, 상기 제 1 프로세서(220)로 액세스 성공을 알린다.
제 1 프로세서(220)는 상기 듀얼 포트 메모리(210)로 액세스를 요청하고, 상기 듀얼 포트 메모리(210)로부터 액세스 허용에 따른 액세스 성공이 인식되면, 상기 듀얼 포트 메모리(210)로 액세스하여 데이터의 읽기 또는 쓰기 동작을 수행한다.
또한, 제 1 프로세서(220)는 상기 듀얼 포트 메모리(210)로 액세스를 요청하고, 그에 따라 상기 듀얼 포트 메모리(210)로부터 액세스 거부에 따른 바쁨 신호가 수신되면, 상기 바쁨 신호가 액세스 실패를 알리는 신호인지, 아니면 액세스 대기를 알리는 신호인지를 파악한다.
여기에서, 상기 바쁨 신호가 액세스 실패 및 액세스 대기를 알리는 신호인지의 파악은 기설정된 제 2 허용 시간의 경과 여부에 의해 이루어진다.
즉, 제 1 프로세서(220)는 상기 바쁨 신호가 수신되면, 기설정된 제 2 허용 시간의 경과 여부를 확인한다. 그리고, 상기 기설정된 제 2 허용 시간이 경과하였다면, 상기 제 1 프로세서(220)는 상기 바쁨 신호를 액세스 실패 신호로 인식한다. 또한, 상기 기설정된 제 2 허용 시간이 경과하지 않았다면, 상기 제 1 프로세서(220)는 상기 바쁨 신호를 액세스 대기 신호로 인식하고, 그에 따라 상기 듀얼 포트 메모리(210)로부터 재전송되는 상기 결과 신호가 수신하기 위해 대기한다.
여기에서, 상기 제 2 허용 시간은 상기 제 1 프로세서(220)에 설정된 시간이다.
이때, 상기 제 1 허용 시간과 제 2 허용 시간은 서로 동일할 수 있으며, 이와 다르게 서로 다른 시간으로 설정될 수도 있다.
도 10은 본 발명의 제 2 실시 예에 따른 듀얼 포트 메모리 시스템에서 프로세서의 동작을 단계별로 설명하기 위한 흐름도이다.
도 10을 참조하면, 제 1 프로세서(220)를 듀얼 포트 메모리(210)로 액세스 요청 신호를 전송한다(301단계).
그리고, 제 1 프로세서(220)는 상기 액세스 요청 신호에 따른 액세스 요청 결과 신호를 수신한다(302단계).
상기 제 1 프로세서(220)는 상기 수신된 액세스 요청 결과 신호가 바쁨 신호인지 여부를 판단한다(303단계). 다시 말해서, 제 1 프로세서(220)는 로우 상태의 바쁨 신호가 수신되었는지 여부를 판단한다.
이어서, 상기 제 1 프로세서(220)는 상기 바쁨 신호가 수신되었다면, 기설정된 제 2 요청허용 시간을 체크한다(304단계).
이어서, 상기 제 1 프로세서(220)는 상기 체크한 요청제 2 허용 시간의 경과 여부를 판단한다(305단계). 즉, 제 1 프로세서(220)는 상기 액세스를 요청한 시점을 기준으로 현 시점이 상기 제 2 허용 시간을 경과한 시점인지 여부를 판단한다.
이후, 제 1 프로세서(220)는 상기 제 2 허용 시간을 경과하지 않았다면, 상기 제 1 프로세서(220)는 상기 바쁨 신호를 액세스 홀드 신호로 인식하고, 그에 따라 상기 단계(302단계)로 복귀한다. 즉, 제 1 프로세서(220)는 상기 바쁨 신호가 액세스 홀드 신호이면, 상기 듀얼 포트 메모리(210)로부터 다른 프로세서의 액세스 종료 여부에 따라 변경되는 결과 신호를 수신하기 위해 대기한다.
또한, 상기 제 1 프로세서(220)는 상기 제 2 허용 시간을 경과하였다면, 상기 바쁨 신호를 액세스 실패로 인식한다(306단계).
또한, 상기 제 1 프로세서(220)는 상기 바쁨 신호가 하이 상태이면, 액세스가 허용됨에 따라 액세스가 성공한 것으로 인식한다(307단계).
도 11은 본 발명의 제 2 실시 예에 따른 듀얼 포트 메모리 시스템에서 듀얼 포트 메모리(210)의 동작을 단계별로 설명하기 위한 흐름도이다.
도 11을 참조하면, 듀얼 포트 메모리(210)는 제 1 프로세서(220)로부터 전송되는 액세스 요청 신호를 수신한다(401단계).
이어서, 듀얼 포트 메모리(210)는 상기 액세스 요청 신호가 수신됨에 따라 현재 다른 프로세서, 다시 말해서 제 2 프로세서(230)가 액세스 중인지 여부를 판단한다(403단계).
상기 판단 결과, 상기 제 2 프로세서(230)가 액세스 중이면, 상기 듀얼 포트 메모리(210)는 기설정된 제 1 허용 시간을 확인한다(404단계).
이어서, 상기 듀얼 포트 메모리(210)는 상기 확인한 제 1 허용 시간을 기준으로, 상기 액세스가 요청된 시점부터 기설정된 제 1 허용 시간이 경과하였는지 여부를 판단한다(405단계).
상기 기설정된 제 1 허용 시간이 경과하지 않았다면, 상기 듀얼 포트 메모리(210)는 액세스 홀드 신호로 바쁨 신호를 출력한다(406단계).
또한, 상기 기설정된 제 1 허용 시간이 경과하였다면, 상기 듀얼 포트 메모리(210)는 액세스 실패 신호로 바쁨 신호를 출력한다(406단계).
또한, 상기 듀얼 포트 메모리(210)는 상기 다른 프로세서가 액세스 중이지 않으면, 상기 제 1 프로세서(220)의 액세스를 허용한다(408단계).
한편, 상기에서 출력된 바쁨 신호가 액세스 홀드 신호인 경우, 상기 듀얼 포트 메모리(210)는 현재 액세스 중인 다른 프로세서의 액세스 종료 여부에 따라 상기 제 1 프로세서(220)로 결과 신호를 재전송한다.
다시 말해서, 듀얼 포트 메모리(210)는 상기 다른 프로세서의 액세스가 종료되었다면, 상기 듀얼 포트 메모리(210)는 상기 제 1 프로세서(220)의 액세스를 허용한다.
또한, 듀얼 포트 메모리(210)는 상기 다른 프로세서의 액세스가 종료되지 않았다면, 상기 단계(404단계)로 진입하여, 상기 단계를 계속적으로 반복 수행한다.
본 발명에 따른 실시 예에 의하면, 듀얼 포트 인터페이스 로직에 의하여 하드웨어에 의한 홀드 기능이 추가됨으로써, 어플리케이션에 의한 액세스 재시도 과정을 생략할 수 있어 액세스 재시도 시간을 획기적으로 줄이면서 최적화된 제어를 할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (11)

  1. 제 1 프로세서에서 듀얼 포트 메모리로 액세스가 요청되는 단계; 및
    상기 듀얼 포트 메모리에서 상기 제 1 프로세서로 상기 액세스 요청에 따른 결과 신호가 전송되는 단계;를 포함하며,
    상기 결과 신호는,
    액세스 성공을 알리는 제 1 결과 신호, 액세스 실패를 알리는 제 2 결과 신호 및 액세스 홀드를 알리는 제 3 결과 신호를 포함하며,
    상기 제 1 프로세서는,
    상기 제 3 결과 신호가 수신되면, 기설정된 허용 시간의 경과 전까지 상기 듀얼 포트 메모리로부터 재전송되는 결과 신호를 수신하기 위해 대기하는,
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  2. 제 1항에 있어서,
    상기 결과 신호가 전송되는 단계는,
    제 2 프로세서의 액세스 상태를 확인하는 단계와,
    상기 제 2 프로세서가 액세스 중이지 않으면, 상기 제 1 프로세서로 상기 제 1 결과 신호를 전송하는 단계와,
    상기 제 2 프로세서가 액세스 중이면, 기설정된 허용 시간의 경과 여부를 확인하는 단계와,
    상기 기설정된 허용 시간이 경과하였다면, 상기 제 1 프로세서로 상기 제 2 결과 신호를 전송하는 단계와,
    상기 기설정된 허용 시간이 경과하지 않았다면, 상기 제 1 프로세서로 상기 제 3 결과 신호를 전송하는 단계를 포함하는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  3. 제 2항에 있어서,
    상기 듀얼 포트 메모리는,
    상기 제 1 프로세서로 제 3 결과 신호를 전송한 경우, 상기 제 2 프로세서의 액세스 종료 여부를 확인하고, 상기 액세스 종료 여부에 따라 상기 제 1 프로세서로 상기 결과 신호를 재전송하는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  4. 제 3항에 있어서,
    상기 듀얼 포트 메모리는,
    상기 허용 시간의 경과 이전에 상기 제 2 프로세서의 액세스가 종료된 경우, 상기 제 1 프로세서로 상기 제 1 결과 신호를 재전송하는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  5. 삭제
  6. 제 1항에 있어서,
    상기 제 1 프로세서는,
    상기 제 3 결과 신호가 수신되고, 상기 기설정된 허용 시간이 경과하였다면, 상기 수신된 제 3 결과 신호를 상기 제 2 결과 신호에 대응하는 액세스 실패로 인식하는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  7. 제 1항에 있어서,
    상기 제 1 내지 제 3 결과 신호는,
    상기 듀얼 포트 메모리 사이에서 제 1 프로세서로 전송되는 제 1 신호 및 제 2 신호의 하이 및 로우 상태에 의해 결정되는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  8. 제 1 프로세서에서 듀얼 포트 메모리로 액세스가 요청되는 단계;
    상기 듀얼 포트 메모리에서 제 2 프로세서의 액세스 상태가 확인되는 단계;
    상기 제 2 프로세서가 액세스 중이지 않으면, 상기 제 1 프로세서의 액세스를 허용하는 단계;
    상기 제 2 프로세서가 액세스 중이면, 상기 듀얼 포트 메모리에서 상기 제 1 프로세서로 액세스 거부를 알리는 바쁨 신호가 전송되는 단계를 포함하며,
    상기 바쁨 신호는,
    기설정된 제 1 허용 시간을 기준으로 상기 제 1 허용 시간이 경과되지 전에는 액세스 대기를 알리는 신호로 사용되고, 상기 제 1 허용 시간이 경과된 후에는 액세스 실패를 알리는 신호로 사용되는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  9. 제 8항에 있어서,
    상기 듀얼 포트 메모리는,
    상기 제 1 프로세서로 전송한 바쁨 신호가 액세스 대기를 알리는 신호인 경우, 상기 제 2 프로세서의 액세스 종료 여부를 확인하며,
    상기 제 2 프로세서의 액세스가 종료된 경우, 상기 제 1 프로세서의 액세스를 허용하고,
    상기 제 2 프로세서의 액세스가 종료되지 않은 경우, 상기 제 1 허용 시간의 경과 여부에 따른 바쁨신호를 재전송하는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  10. 제 8항에 있어서,
    상기 제 1 프로세서는,
    상기 액세스 대기를 알리는 바쁨 신호가 수신되면, 기설정된 제 2 허용 시간의 경과 전까지 상기 듀얼 포트 메모리로부터 재전송되는 액세스 결과 신호를 수신하기 위해 대기하는
    듀얼 포트 메모리 시스템의 접근 제어 방법.
  11. 제 10항에 있어서,
    상기 제 1 허용 시간은,
    상기 듀얼 포트 메모리에 설정된 시간이고,
    상기 제 2 허용 시간은,
    상기 제 1 프로세서에 설정된 시간인
    듀얼 포트 메모리 시스템의 접근 방법.
KR1020150051999A 2015-04-13 2015-04-13 듀얼 포트 메모리 시스템의 접근 제어 방법 KR101639946B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020150051999A KR101639946B1 (ko) 2015-04-13 2015-04-13 듀얼 포트 메모리 시스템의 접근 제어 방법
US14/989,734 US9766821B2 (en) 2015-04-13 2016-01-06 Access controlling method of dual port memory system
ES16151357.7T ES2650074T3 (es) 2015-04-13 2016-01-14 Procedimiento de control de acceso de sistema de memoria de doble puerto
EP16151357.7A EP3089044B1 (en) 2015-04-13 2016-01-14 Access controlling method of dual port memory system
JP2016021534A JP6105768B2 (ja) 2015-04-13 2016-02-08 デュアルポートメモリシステムの接近制御方法
CN201610214548.5A CN106057226B (zh) 2015-04-13 2016-04-07 双端口存储系统的存取控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150051999A KR101639946B1 (ko) 2015-04-13 2015-04-13 듀얼 포트 메모리 시스템의 접근 제어 방법

Publications (1)

Publication Number Publication Date
KR101639946B1 true KR101639946B1 (ko) 2016-07-14

Family

ID=55229529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150051999A KR101639946B1 (ko) 2015-04-13 2015-04-13 듀얼 포트 메모리 시스템의 접근 제어 방법

Country Status (6)

Country Link
US (1) US9766821B2 (ko)
EP (1) EP3089044B1 (ko)
JP (1) JP6105768B2 (ko)
KR (1) KR101639946B1 (ko)
CN (1) CN106057226B (ko)
ES (1) ES2650074T3 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214425B (zh) * 2020-08-24 2022-07-15 Oppo广东移动通信有限公司 数据发送方法、装置、计算机设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960025066A (ko) * 1994-12-30 1996-07-20 정장호 상용디램을 이용한 듀얼포트 메모리 시스템
KR100686304B1 (ko) * 2005-09-26 2007-02-22 엠텍비젼 주식회사 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법
KR20080072411A (ko) * 2007-02-02 2008-08-06 엠텍비젼 주식회사 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU601784B2 (en) 1986-12-18 1990-09-20 Honeywell Bull Inc. Data processing system having a bus command generated by one subsystem on behalf of another subsystem
JPH04192192A (ja) 1990-11-27 1992-07-10 Mitsubishi Electric Corp マルチポートメモリ制御回路
US6122706A (en) 1993-12-22 2000-09-19 Cypress Semiconductor Corporation Dual-port content addressable memory
JPH0962640A (ja) 1995-08-18 1997-03-07 Yaskawa Electric Corp 共有メモリのアクセス制御方法
US5845130A (en) 1996-09-11 1998-12-01 Vlsi Technology, Inc. Mailbox traffic controller
US6163828A (en) * 1998-05-22 2000-12-19 Lucent Technologies Inc. Methods and apparatus for providing multi-processor access to shared memory
KR100432218B1 (ko) 2001-07-28 2004-05-22 삼성전자주식회사 데이타 액세스 타이밍을 조정하는 듀얼 포트 메모리콘트롤러
KR101077215B1 (ko) 2005-02-07 2011-10-27 삼성전자주식회사 듀얼 포트 메모리 장치
US6711081B1 (en) * 2002-09-19 2004-03-23 Infineon Technologies Aktiengesellschaft Refreshing of multi-port memory in integrated circuits
JP2005242929A (ja) 2004-02-27 2005-09-08 Fujitsu Ltd 共有メモリのアクセス方法及びデータ処理装置
WO2014053074A1 (en) 2012-10-04 2014-04-10 Qualcomm Incorporated Method and apparatus using high-efficiency atomic operations
WO2015104193A1 (en) * 2014-01-10 2015-07-16 Koninklijke Philips N.V. Multi-master bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960025066A (ko) * 1994-12-30 1996-07-20 정장호 상용디램을 이용한 듀얼포트 메모리 시스템
KR100686304B1 (ko) * 2005-09-26 2007-02-22 엠텍비젼 주식회사 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법
KR20080072411A (ko) * 2007-02-02 2008-08-06 엠텍비젼 주식회사 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치

Also Published As

Publication number Publication date
JP2016201100A (ja) 2016-12-01
EP3089044A1 (en) 2016-11-02
US20160299701A1 (en) 2016-10-13
CN106057226B (zh) 2019-08-09
CN106057226A (zh) 2016-10-26
JP6105768B2 (ja) 2017-03-29
EP3089044B1 (en) 2017-09-13
US9766821B2 (en) 2017-09-19
ES2650074T3 (es) 2018-01-16

Similar Documents

Publication Publication Date Title
KR101558482B1 (ko) 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬
US10509670B2 (en) Data storage device and operating method thereof
US8364872B2 (en) Slave and communicating method between a master and the same
CN107908589B (zh) I3c验证从设备、主从设备的通信验证系统及方法
US20100185811A1 (en) Data processing system and method
US10372338B2 (en) Memory controller and data processing circuit with improved system efficiency
CN110858188A (zh) 具有分布式信箱结构的多处理器系统及其沟通方法
KR20110013868A (ko) 멀티 코멘드 셋 동작 및 우선처리 동작 기능을 갖는 멀티 프로세서 시스템
US20140372669A1 (en) Memory control system and memory interface method using the same
US8832407B2 (en) Communication device with storage function
US20130282971A1 (en) Computing system and data transmission method
KR101103619B1 (ko) 멀티 포트 메모리 및 그 억세스 제어 방법
KR101639946B1 (ko) 듀얼 포트 메모리 시스템의 접근 제어 방법
KR100748191B1 (ko) 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법
KR101110550B1 (ko) 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법
KR100736902B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 장치
CN108153485B (zh) 一种多设备协同访问sram的方法及系统
US20100002099A1 (en) Method and apparatus for sharing memory
KR100874169B1 (ko) 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법
US7302529B2 (en) Method for comparing contents of memory components
US20210026736A1 (en) Memory system re-performing access operation and operating method thereof
US7814282B2 (en) Memory share by a plurality of processors
KR100886179B1 (ko) 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치
KR20080046067A (ko) 메모리 시스템 및 듀얼 포트 메모리의 접근 제어 방법
CN115098428B (zh) Spi数据传输方法、装置、电子设备及存储介质

Legal Events

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

Payment date: 20190701

Year of fee payment: 4