KR100843580B1 - 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법 - Google Patents

접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법 Download PDF

Info

Publication number
KR100843580B1
KR100843580B1 KR1020060046425A KR20060046425A KR100843580B1 KR 100843580 B1 KR100843580 B1 KR 100843580B1 KR 1020060046425 A KR1020060046425 A KR 1020060046425A KR 20060046425 A KR20060046425 A KR 20060046425A KR 100843580 B1 KR100843580 B1 KR 100843580B1
Authority
KR
South Korea
Prior art keywords
access
command
port
processor
register
Prior art date
Application number
KR1020060046425A
Other languages
English (en)
Other versions
KR20070113493A (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 KR1020060046425A priority Critical patent/KR100843580B1/ko
Publication of KR20070113493A publication Critical patent/KR20070113493A/ko
Application granted granted Critical
Publication of KR100843580B1 publication Critical patent/KR100843580B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Dram (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및 그 제어 방법이 개시된다. 본 발명의 실시예에 따르면, 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서, 각 포트를 통해 복수의 프로세서가 액세스 가능한 하나 이상의 공유 저장영역 및 프로세서가 각 포트를 통해 공유 저장영역에 액세스할 수 있는 접근 권한을 제어하는 접근 권한 레지스터 로직을 포함하는 다중 포트 메모리 장치 및 그 제어방법이 제공된다. 따라서, 본 발명에 따르면, 다중 포트 메모리 장치에 접근 권한을 제어하는 접근 권한 레지스터 로직을 구비하여 메모리에 액세스하고자 하는 복수의 프로세서의 접근 권한을 안정적으로 제어하는 효과가 있다.
Figure R1020060046425
메모리, 다중포트, 접근, 권한, 로직

Description

접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및 그 제어 방법{Multi-port memory device having register logic for providing access authority and control method thereof}
도 1은 종래의 다중 포트 메모리 중 듀얼 포트 메모리의 뱅크 구조를 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 다중 포트 메모리 장치를 개략적으로 도시한 구성도.
도 3은 일반적인 MRS 커맨드 및 어드레스 조합의 구조를 도시한 도면.
도 4는 본 발명의 바람직한 일 실시예에 따른 변형된 MRS 커맨드의 일례를 도시한 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 공유 뱅크와 접근 권한 레지스터 로직을 도시한 도면.
도 6은 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터 로직의 구성을 도시한 도면.
도 7은 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터 플래그 로직의 구성을 도시한 도면.
도 8은 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터의 구성을 도시한 도면.
도 9는 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터의 구성을 논리회로로 도시한 도면.
<도면의 주요 부분에 대한 부호 설명>
200 : A포트 전용 뱅크
202 : 공유 뱅크
204 : B포트 전용 뱅크
220 : A포트
222 : B포트
240 : 접근 권한 레지스터 로직
610, 620 : 접근 권한 컨트롤 로직
630 : 접근 권한 플래그 로직
631, 632 : 접근 권한 레지스터
본 발명은 다중 포트 메모리 장치에 관한 것으로서, 더욱 상세하게는 접근 권한 레지스터 로직을 구비하여 접근 권한을 제어하는 다중 포트 메모리 장치 및 그 제어방법에 관한 것이다.
일반적으로 메모리는 그 구분 방법에 따라 다양하게 나누어진다. 예를 들어, 전원의 수행여부에 따라 저장된 내용이 유지되는지 여부에 따라 휘발성 메모리와 비휘발성 메모리로 구분될 수 있으며, 일반적으로 휘발성 메모리는 RAM(Random Access Memory), 비휘발성 메모리는 ROM(READ Only Memory)이라고 지칭된다.
휘발성 메모리는 다시 주기적으로 메모리를 구성하는 셀(cell)을 재생(refresh)시켜 주어야 하는지 여부에 따라 DRAM(Dynamic RAM)과 SRAM(Static RAM)으로 구분된다.
또한 이러한 분류 방법뿐만 아니라 메모리에 접근(access) 가능한 포트의 수에 따라 싱글 포트(single 포트) 메모리와 듀얼 포트(dual 포트) 메모리 등으로 나뉜다.
싱글 포트 메모리는 하나의 포트로 메모리를 구성하는 모든 셀(cell)들에 접근 가능한 반면, 싱글 포트 메모리를 제외한 복수개의 포트 메모리는 각각의 포트에서 접근 가능한 셀(cell)이 제한될 수 있다.
그러나 최근의 디지털 처리 장치는 각각 미리 설정된 기능을 수행하기 위한 복수의 프로세서(processor)를 구비하고 각각의 프로세서는 오퍼레이션(operation)을 위한 데이터, 처리하기 위한 데이터, 처리한 데이터 등을 저장하기 위한 메모리와 결합된다.
이러한 복수의 프로세서가 하나의 메모리를 공유하는 메모리 시스템에서는 싱글 포트(single 포트) 메모리보다 복수개의 포트를 포함하는 다중 포트 메모리가 더욱 효율적이므로 최근 다중 포트 메모리가 널리 사용되고 있다.
도 1은 종래의 다중 포트 메모리 중 듀얼 포트 메모리의 뱅크 구조를 도시한 도면이다.
도 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)를 통해서만 접근하여 데이터를 읽거나 기록하는 뱅크이다.
공유 뱅크(102)는 A포트(110) 또는 B포트(112)를 통해서 각각 접근하여 데이터를 읽거나 기록할 수 있는 뱅크이다.
공유 뱅크(102)는 A포트(110) 및 B포트(112)를 통해 모두 사용할 수 있는 뱅크이나, A포트(110) 및 B포트(112) 중 어느 한 포트를 통해 공유 뱅크(102)가 사용되는 경우에는 다른 포트를 통해서는 공유 뱅크(102)를 사용할 수 없다. 즉, A포트(110)가 공유 뱅크(102)에 접근하여 데이터를 읽는 동안은 B포트(112)를 통해서는 공유 뱅크(102)에 접근할 수 없도록 제한된다. 따라서, A포트(110)를 통해서 공유 뱅크(102)가 사용되고 있는 동안에는 B포트(112)를 통해서 공유 뱅크(102)를 사용할 수 없다.
만일 복수의 포트를 통해 공유된 메모리를 동시에 접근(access)할 경우, 이 접근하는 부분을 컨트롤해주지 않으면 오동작이 발생할 뿐만 아니라, 가장 나쁜 경우에는 셀 데이터까지 훼손 될 수 있는 위험성이 있다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 접근 권한을 제어하는 접근 권한 레지스터 로직을 구비하여 메모리에 액세스하고자 하는 복수의 프로세서의 접근 권한을 안정적으로 제어하는 다중 포트 메모리 장치 및 그 제어방법을 제공하는 데 그 목적이 있다.
또한, 변형된 MRS 커맨드를 이용하여 접근 권한 레지스터 로직을 더욱 효율적으로 제어하여 복수의 프로세서의 접근 권한을 안정적으로 제어하는 다중 포트 메모리 장치 및 그 제어방법을 제공하는 데 그 목적이 있다.
또한, 임의의 프로세서가 공유된 메모리에 접근 권한을 요청한 경우, 접근 권한에 대한 정보가 확인되는 동안 다른 프로세서의 접근 권한 요청 또는 접근 권한 해제 커맨드에 의해 접근 권한에 대한 정보가 변경되지 않도록 제어하여 오동작이 발생하는 것을 방지하는 다중 포트 메모리 장치 및 그 제어방법을 제공하는 데 그 목적이 있다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
상술한 목적들을 달성하기 위한 본 발명의 제1 측면에 따르면, 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서, 각 포트를 통해 복수의 프로세서가 액세스 가능한 하나 이상의 공유 저장영역 및 프로세서가 각 포트를 통해 공유 저장영역에 액세스할 수 있는 접근 권한을 제어하는 접근 권한 레지스터 로직을 포함하는 다중 포트 메모리 장치가 제공된다.
여기서, 특정 포트를 통해서만 액세스가 가능한 하나 이상의 전용 저장영역을 더 포함할 수 있다.
공유 저장영역은 저장영역을 미리 설정된 단위로 분할한 하나 이상의 블록을 포함하고, 프로세서는 접근 권한 레지스터 로직에 의해 부여된 접근 권한에 따라 블록 중 하나의 블록에 독립적으로 액세스할 수 있다.
접근 권한 레지스터 로직은 프로세서로부터 커맨드를 수신하고 커맨드에 포함된 주소에 상응하는 블록의 접근 권한에 대한 정보를 저장하는 접근 권한 레지스터에 커맨드를 전달하는 접근 권한 컨트롤 로직 및 컨트롤 로직으로부터 수신되는 커맨드에 상응하여 접근 권한 레지스터를 제어하는 접근 권한 플래그 로직을 포함할 수 있다.
여기서, 접근 권한 컨트롤 로직은 상기 포트 수만큼 구비될 수 있다.
또한, 접근 권한 플래그 로직은 블록에 대한 접근 권한 부여 여부를 판단하여 접근 권한에 대한 정보를 저장하는 접근 권한 레지스터, 블록에 대한 접근 권한 에 대한 정보를 프로세서로 출력하는 접근 권한 정보 출력부 및 프로세서가 각 블록에 접근 권한이 없는 경우, 접근 권한 거부 신호를 프로세서로 출력하는 비지(BUSY)신호 출력부를 포함할 수 있다.
또한, 프로세서에서 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드일 수 있다. 여기서, 변형된 어드레스 파트는 공유 저장영역의 블록의 주소 정보 및 공유 저장영역 사용과 관련한 커맨드 정보를 포함할 수 있으며, 공유 저장영역 사용과 관련한 커맨드는 공유 저장영역의 특정 블록에 대한 접근 권한을 요청하는 세트(SET) 커맨드, 공유 저장영역의 특정 블록에 대한 접근 권한이 부여되었는지의 확인을 위한 리드(READ) 커맨드 및 공유 저장영역의 특정 블록에 대한 접근 권한 해제를 요청하는 리세트(RESET) 커맨드를 포함할 수 있다,
또한, 접근 권한 정보 출력부는 프로세서로부터 세트(SET) 커맨드 수행 후 리드(READ) 커맨드 수행에 의해 블록에 대한 접근 권한에 대한 정보를 프로세서로 출력할 수 있다.
또한, 접근 권한 레지스터는 프로세서로부터 세트(SET) 커맨드 또는 리세트(RESET) 커맨드가 수행되고 상응하는 접근 권한에 대한 정보를 저장하는 제 1 접근 권한 레지스터 저장부, 접근 권한에 대한 정보를 제어하여 제 2 접근 권한 레지스터 저장부에 전달하는 접근 권한 레지스터 전달부 및 전달된 접근 권한에 대한 정보를 접근 권한 플래그 값으로 출력하는 제 2 접근 권한 레지스터 저장부를 포함하되, 접근 권한 레지스터 전달부는 상기 프로세서로부터 리드(READ) 커맨드에 의 해 프로세서로 접근 권한에 대한 정보의 전달을 제어될 수 있다.
여기서, 접근 권한 레지스터 전달부는 프로세서로부터 리드(READ) 커맨드가 수행되는 동안, 다른 프로세서로부터 세트(SET) 커맨드 또는 리세트(RESET) 커맨드가 수행되어 다른 프로세서의 접근 권한에 대한 정보가 변경되는 경우, 이에 상응하도록 프로세서의 접근 권한에 대한 정보가 변경되는 것을 일시 보류하도록 제어될 수 있다.
본 발명의 제 2 측면에 따르면, 다중 포트를 통해 복수의 프로세서가 접근 가능한 공유 저장영역을 포함하는 다중 포트 메모리 장치에서 공유 저장영역의 접근 권한을 제어하는 방법에 있어서, (a) 상응하는 포트를 통해 임의의 프로세서로부터 제공된 메모리 커맨드가 상기 공유 저장영역에 대한 접근 권한 요청인지를 판단하는 단계, (b) 제공된 메모리 커맨드가 공유 저장영역에 대한 접근 권한 요청인 경우, 임의의 프로세서로 공유 저장영역에 대한 접근 권한의 부여 여부를 판단하는 단계 및 (c) 판단 결과, 임의의 프로세서로 접근 권한에 대한 정보를 출력하는 단계를 포함하되, 다중 포트 메모리 장치는 접근 권한을 부여 여부를 판단하는 접근 권한 레지스터 로직을 구비하여 프로세서는 접근 권한 레지스터 로직에 의해 접근 권한이 부여된 경우 공유 저장영역에 독립적으로 액세스할 수 있다.
여기서, 공유 저장영역은 저장영역을 미리 설정된 단위로 분할한 하나 이상의 블록을 포함할 수 있다
또한, 프로세서에서 공유 저장영역의 특정 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드일 수 있 다. 변형된 어드레스 파트는 공유 저장영역 블록의 주소 정보 및 공유 저장영역 사용과 관련한 커맨드 정보를 포함할 수 있다. 공유 저장영역 사용과 관련한 커맨드는 공유 저장영역의 특정 블록에 대한 접근 권한을 요청하는 세트(SET) 커맨드, 공유 저장영역의 특정 블록에 대한 접근 권한이 부여됐는지의 확인을 위한 리드(READ) 커맨드 및 공유 저장영역의 특정 블록에 대한 접근 권한 해제를 요청하는 리세트(RESET) 커맨드를 포함할 수 있다.
또한, (b) 단계는 복수의 프로세서 중 가장 먼저 접근 권한 요청인 세트(SET) 커맨드를 실행한 프로세서에게 접근 권한을 부여할 수 있다.
또한, (c) 단계는 접근 권한 요청인 세트(SET) 커맨드 한 프로세서가 접근 권한 확인을 위한 리드(READ) 커맨드를 실행하여 접근 권한에 대한 정보를 입력 받을 수 있다.
또한, (c) 단계에서 판단 결과, 접근 권한을 요청한 프로세서가 접근 권한이 없는 경우, 접근 거부 신호(BUSY) 신호를 입력 받을 수 있다.
또한, (c) 단계는 프로세서로부터 상기 리드(READ) 커맨드가 수행되는 동안, 다른 프로세서로부터 세트(SET) 커맨드 또는 리세트(RESET) 커맨드가 수행되어 다른 프로세서의 접근 권한에 대한 정보가 변경되는 경우, 이에 상응하도록 프로세서의 접근 권한에 대한 정보가 변경되는 것을 일시 보류하도록 제어될 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지 다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명의 바람직한 실시예에 따른 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치를 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 상관없이 동일하거나 대응하는 구성요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 설명의 편의를 위해 본 발명의 바람직한 실시예에 따른 다중 포트는 두 개의 포트를 가진 듀얼 포트인 것을 예로 들어 설명하기로 하되, 세 개 이상의 포트를 가진 다중 포트에서도 동일하게 적용될 수 있음은 이하의 설명을 통해 더욱 자명하게 될 것이다.
또한, 이하에서는 저장영역이 뱅크인 것을 예로 들어 설명하기로 하되, 이 는 반드시 뱅크일 필요는 없으며, 하나의 뱅크에서 전용 저장영역 및 공용 저장영역으로 구분될 수도 있다. 따라서, 뱅크 이외의 저장영역도 본 발명에 따른 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및 그 제어 방법이 동일 또는 유사하게 적용될 수 있음은 이하의 설명을 통해 더욱 자명하게 될 것이다.
도 2는 본 발명의 바람직한 각 실시예에 따른 다중 포트 메모리 장치를 개략적으로 도시한 구성도이다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 다중 포트 메모리 장치(이하, 메모리 장치)는 A포트(220), B포트(222), A포트 전용 뱅크(200), 공유 뱅크(202), B포트 전용 뱅크(204) 및 접근 권한 레지스터 로직(240)을 포함한다. 물론, 다중 포트 메모리 장치는 공유 뱅크(202)만을 포함하거나, A포트 전용 뱅크(200) 또는 B포트 전용 뱅크(204)와 공유 뱅크(202)만을 포함할수도 있을 것이다.
A포트(220) 및 B포트(222)는 메모리 장치를 사용하는 제1, 제2 프로세서가 임의의 뱅크에 액세스하도록 하는 연결 포트이다. 즉, 본 발명의 바람직한 실시예에 따른 메모리 장치는 A포트(220) 및 B포트(222)를 통해 두 개의 프로세서가 각각 결합될 수 있다.
이하, 각 포트를 통해 공용 뱅크(202) 등에 접속하는 주체는 프로세서이나, 설명의 편의상 해당 포트가 공용 뱅크에 접속하는 것으로 표현하기로 하며, 이에 의해 본 발명이 한정되지 않음은 이하의 설명을 통해 자명할 것이다.
A포트 전용 뱅크(200)는 A포트(220)만이 접근하여 데이터를 쓰고, 읽을 수 있는 저장 영역이며, B포트 전용 뱅크(204)는 B포트(222)만이 접근할 수 있는 저장 영역이다.
이와 달리, 공유 뱅크(202)는 A포트(220) 및 B포트(222) 모두 접근이 가능하며, 특히, 본 발명의 바람직한 실시예에 따른 공유 뱅크(202)는 하나 이상의 공유 블록(block)으로 형성될 수 있다. 즉, 공유 뱅크(202)는 하나 이상의 공유 블록으로 형성되어 A포트(220) 및 B포트(222)는 독립적으로 각 공유 블록에 데이터를 쓰고(write), 읽을(read) 수 있는 권한을 가질 수 있다. 다만, 동일한 공유 블록에 동시에 접근할 수는 없다.
접근 권한 레지스터 로직(240)은 A포트(220) 또는 B포트(222)가 공유 뱅크(202)에 접근할 수 있는 접근 권한을 제어하는 기능을 수행한다. 즉, 접근 권한 레지스터 로직(240)은 임의의 포트로부터 공유 뱅크(202)로의 접근 권한을 요청받으면, 해당 공유 뱅크에 대한 접근 권한이 현재 부여된 상태인지를 판단하고, 부여된 상태이면 접근 권한을 제공하지 않고, 부여되지 않은 상태이면 해당 포트로 접근 권한을 부여한다.
접근 권한 레지스터 로직(240)의 기능은 관련 도면(도 5 내지 도 9)을 참조하여 상세히 설명하기로 한다.
상응하는 포트를 통해 메모리 장치에 접근하는 프로세서는 메모리 장치에 커맨드(COMMAND) 및 어드레스(Address) 정보를 제공함으로써, 커맨드에 상응하여 처리된 처리 데이터(예를 들어, 임의의 뱅크에 저장된 데이터를 읽기 위한 커맨드 에 상응하는 저장된 데이터)를 메모리 장치로부터 제공받을 수 있다. 프로세서의 어플리케이션(application)과 메모리 장치와의 커맨드 정보는 미리 설정되어 있다.
프로세서의 어플리케이션은, 예를 들어, 액트(ACT), 리드(READ), 라이트(WRITE), 프리차지(Precharge), 리프레쉬(Refresh), 모드 레지스터 세트(Mode Register Set: MRS) 등 중 하나 이상과 같은 커맨드 정보를 메모리 장치에 제공한다.
상술한 커맨드들은 /RAS, /CAS, /CS 및 /WE 정보의 조합으로 이루어질 수 있다. 각 신호의 로우 또는 하이 상태에 따라 의미하도록 미리 지정된 정보는 각각 상이할 수 있으며, 용이하게 변경될 수 있으나, 이하에서는 일 예로서 각 신호 또는 신호의 조합에 의해 의미하는 정보를 설명하기로 한다.
예를 들어, 액트 커맨드는 /RAS가 로우로 인에이블(enable)되는 커맨드로서, 행(Row) 주소에 맞는 워드(WORD)를 인에이블시키는 커맨드이다.
리드 커맨드는 /CAS가 로우로 인에이블(enable)되는 커맨드로서, READ 커맨드와 함께 전송되는 셀 어드레스에 상응하는 데이터를 읽어 DQ 핀(즉, 데이터 핀)을 통해 출력하도록 하는 커맨드이다.
라이트 커맨드는 /CAS 및 /WE가 로우로 인에이블되는 커맨드로서, 라이트 커맨드와 함께 전송되는 셀 어드레스에 입출력 단자(예를 들어, DQ 핀)를 통해 입력되는 데이터를 라이트하는 커맨드이다.
프리차지 커맨드는 /RAS 및 /WE가 로우로 인에이블되는 커맨드로서, 액트(ACT) 커맨드에서 인에이블된 워드 라인을 디스에이블(Disable)시키는 커맨드이 다.
리프레쉬 커맨드는 /RAS 및 /CAS가 로우로 인에이블되는 커맨드로서 메모리의 데이터가 유실되지 않도록 주기적으로 리프레쉬하도록 하는 커맨드이다. 각 포트 전용 뱅크는 각 포트로부터 전송되는 리프레쉬 커맨드에 의해 리프레쉬를 수행한다. 또한, 종래 기술에 따르면 공유 뱅크(202)는 접근 권한을 가진 포트로부터 수신되는 리프레쉬 커맨드에 의해 리프레쉬를 수행한다.
모드 레지스터 세트(Mode Register Set, MRS) 커맨드는 /RAS, /CAS, /CS 및 /WE를 모두 로우로 인에이블시키는 커맨드로서, 메모리 장치의 동기 스펙을 설정하는 커맨드이며, 동기를 설정하기 위한 값은 커맨드와 함께 전송되는 어드레스 필드에 포함된다. 여기서, 상술한 커맨드를 지정하는 신호(예를 들어, /RAS, /CAS, /CS 및 /WE를 모두 로우로 인에이블시키는 것)들은 각 메모리 장치마다 다르게 설정될 수 있음은 당연하다.
프로세서의 어플리케이션은 상술한 바와 같이 /RAS, /CAS, /CS 및 /WE의 조합에 의해 미리 설정된 커맨드 및 어드레스를 컨트롤 레지스터(미도시)로 제공한다. 여기서, 컨트롤 레지스터는 프로세서로부터의 커맨드를 수신하고 커맨드에 포함된 주소에 상응하는 뱅크에 커맨드를 전달하는 기능을 한다. 여기서, 컨트롤 레지스터는 복수개의 프로세서를 커버할 수도 있으나, 보다 바람직하게는 각 프로세서 별로 각각 구비되어 독립적으로 기능할 수 있다. 이하에서는, 본 발명에 따른 접근 권한 레지스터 로직(240)이 컨트롤 레지스터의 기능을 함께 수행하는 경우를 예로 들어 설명하기로 하되, 컨트롤 레지스터가 별도로 구비될 수도 있음은 당연하 다.
뱅크(200, 202, 204)는 메모리에서 데이터를 읽거나 데이터를 쓸 수 있는 단위로서, SDRAM의 경우, JEDEC 표준에 의하면, 뱅크 주소로 두 개의 비트가 할당된다. 따라서, 통상적으로 4개의 뱅크로 구분해서 다중 동작을 수행하는 것이 일반적이다.
도 2에서, A포트 전용 뱅크(200)는 A포트(220)만이 접근하여 데이터를 읽거나 데이터 기록이 가능한 영역이다. 따라서, B포트(222)를 통해 결합된 프로세서는 A포트 전용 뱅크(200)에 접근하는 것이 불가능하다.
B포트 전용 뱅크(204)는 B포트(222)만이 접근하여 데이터를 읽거나 데이터 기록이 가능한 영역이다. 따라서, A포트(220)를 통해 결합된 프로세서는 B포트 전용 뱅크(204)에 접근하는 것이 불가능하다.
공유 뱅크(202)는 A포트(220) 및 B포트(222)가 모두 접근하여 데이터의 읽기 및 데이터의 쓰기가 가능한 영역이다. 종래에는 공유 뱅크(202)에 A포트 및 B포트 중 어느 포트도 접근할 수 있으나, A 포트가 공유 뱅크(202)를 점유하고 있는 동안은 B포트가 공유 뱅크(202)에 접근할 수 없었으며, B포트가 공유 뱅크(202)를 점유하고 있는 동안은 A 포트가 공유 뱅크(202)에 접근할 수 없었다.
본 발명의 바람직한 실시예에 따르면, 이러한 종래의 문제점을 해결하기 위해 도면에 도시된 바와 같이 독립적으로 접근이 가능한 하나 이상의 공유 블록(블록0, 블록1, ..., 블록N)이 공유 뱅크(202)에 구비된다. 물론, 공유 블록이 하나인 경우는 블록으로 구분될 필요가 없는 경우이며, 둘 이상일 경우에만 공유 뱅 크(202)에 다중 포트가 접근할 수 있음은 당연하다. 이하에서는, 도면에 도시된 바와 같이, 공유 뱅크(202)가 다수의 공유 블록으로 형성된 것을 예로 들어 설명하기로 하되, 본 발명에 따른 공유 뱅크의 리프레쉬를 수행하는 방법은 하나의 공유 블록으로 이루어진 공유 뱅크에서도 동일하게 수행될 수 있음은 이하의 설명을 통해 더욱 자명하게 될 것이다.
공유 뱅크(202) 내의 각 공유 블록은 접근 권한 레지스터 로직(240)의 접근 권한 레지스터 세트(SET)에 의해 자유롭게 선택될 수 있으며, A포트(220) 및 B포트(222)는 각각 선택한 공유 블록에 대해 다중 동작이 가능하다. 공유 뱅크(202) 내에서 동일한 공유 블록은 A포트(220)와 B포트(222)가 동시에 접근 할 수 없도록 해당 공유 블록에 대한 세트(SET), 리세트(RESET) 및 리드(READ)라는 커맨드를 수행한다. 세트(SET)은 해당 공유 블록에 접근 권한을 요청하기 위한 동작이고, 리세트(RESET)은 접근 권한을 해제하는 동작이다. 리드(READ)는 해당 공유 블록이 다른 포트에게 권한이 있는지, 자신의 포트가 해당 공유 블록의 접근 권한을 가지고 있는지 여부를 확인하기 위한 것이다. 즉, 리드 커맨드에 따라 접근 권한 레지스터 로직(240)은 접근 권한 레지스터에 저장된 접근 권한에 대한 정보(접근 권한 레지스터에 저장된 데이터)를 출력해주어 접근 권한 부여 여부를 해당 포트(즉, 해당 포트에 결합된 프로세서)로 알려준다.
따라서, 공유 뱅크(202)의 각 공유 블록(블록0, 블록1, ..., 블록N)은 독립적으로 동작이 가능하며, A포트(220) 및 B포트(222)는 각각의 공유 블록 중 하나에 독립적으로 접근이 가능하다. 예를 들어, A 포트(220)가 공유 블록0(211)에 접근하 여 데이터를 읽기 또는 쓰기를 하는 경우, B포트(222)는 공유 블록1(212)에 접근하여 데이터를 읽기 또는 쓰기를 하는 것이 가능하다. 다만, A 포트(220)가 점유하여 사용하는 특정 공유 블록을 점유하여 사용하는 동안 B포트(222)는 A 포트(220)가 점유하여 사용하는 공유 블록에 대해서는 사용할 수 없다.
도 3은 일반적인 MRS 커맨드 및 어드레스 조합의 구조를 도시한 도면이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 변형된 MRS 커맨드의 일례를 도시한 도면이다.
본 발명의 바람직한 실시예에 따르면, 종래의 SDRAM의 MRS를 변형한 EMRS(Extended MRS)를 이용하여 접근 권한 레지스터 로직(240)을 컨트롤한다. EMRS는 PASR(partial Array Self Refresh)나 Driver Strength(DS)등과 같은 추가적인 기능(function)을 제어하는 것으로, MRS를 확장한 개념이다. 도 3을 참조하면, 일반적인 MRS 커맨드는 커맨드 타입을 설정하는 파트(300)와 설정 어드레스 파트(302)로 구분될 수 있다. 또한, 도 3에 도시된 바와 같이, 커맨드 타입을 설정하는 파트(302)에서 /CAS, /RAS. /CS 및 /WE는 모두 로우로 설정되며, 컨트롤 레지스터(도면 미도시)는 이를 통해 MRS 커맨드임을 식별한다
설정 어드레스 파트(302에는 메모리의 동작 스펙을 설정하기 위한 정보가 기록된다. 설정되는 스펙은 버스트 길이(Burst Length), 버스트(Burst) 타입, CAS 레이턴시(Latency), 동작 모드 및 기록 버스트 모드(Write Burst Mode)를 포함한다. MRS 커맨드에 의해 설정된 스펙은 새로운 스펙이 설정되거나 메모리 장치에 전원을 잃기 전까지 유지된다.
버스트 길이를 설정하기 위해 통상적으로 3비트를 할당하며, 버스트 길이를 1, 2, 4, 8 중 하나로 설정한다. CAS 레이턴시를 설정하기 위해 3비트를 할당하고, 통상적으로 세 종류의 CAS 레이턴시를 설정한다. 동작 모드를 설정하기 위해 2개의 비트를 할당하고, 라이트 버스트 모드 및 버스트 타입을 설정하기 위해 1개의 비트를 할당한다.
본 발명은 상술한 MRS의 커맨드의 커맨드 타입 파트(300)의 형태는 그대로 유지하되 일반 MRS 커맨드와는 다른 어드레스 비트를 사용함으로써 A포트(220) 및 B포트(222)가 독립적으로 공유 블록을 사용할 수 있도록 한다. 이와 같이, 변형된 MRS 커맨드가 공유 뱅크(202)의 공유 블록을 사용하기 위한 커맨드로 사용된다는 점은 프로세서의 어플리케이션과 메모리 장치 사이에 미리 설정된다.
여기서, 도면에는 MRS 커맨드가 하나의 데이터인 것처럼 도시되었으나, 커맨드 타입을 설정하는 파트(300)의 /CAS, /RAS. /CS 및 /WE와 설정 어드레스 파트(302)에 따른 신호는 포트의 각 입력 핀 등을 통해 각각 입력될 수 있으며, 이는 당업자에게는 자명하다 할 것이므로 상세한 설명은 생략하기로 한다.
도 4를 참조하면, 공유 블록 사용을 위한 변형된 MRS 커맨드(이하 'EMRS(Extended Mode Register Set) 커맨드'라 함)의 커맨드 타입 파트(400)는 통상의 MRS 커맨드와 동일하고, 설정 어드레스 파트(302)에는 공유 블록 커맨드 정보(402)와 공유 블록 주소 정보(404)가 포함된다. 이하, 본 발명의 실시예에 따른 EMRS 커맨드의 공유 블록 커맨드 정보(402) 및 공유 블록 주소 정보(404)를"키 어드레스(key address)"라 칭하기로 한다.
도 4에 도시된 바와 같이, 커맨드 타입 파트(400)는 통상의 MRS 커맨드의 커맨드 타입 파트와 동일하므로 접근 권한 레지스터 로직(240)은 키 어드레스 파트(402, 403)의 정보를 통해 공유 블록 사용을 위해 EMRS 커맨드인지 또는 통상의 MRS 커맨드인지 여부를 판단한다. 물론, 공유 블록 사용을 위해 EMRS 커맨드인지를 판단하기 위한 별도의 식별 파트(미도시)가 키 어드레스 파트(402, 404)에 더 포함될 수도 있다. 즉, EMRS 커맨드의 키 어드레스 파트(402, 404)의 정보를 통해 해당 EMRS 커맨드가 공유 뱅크(202) 사용을 위한 것임을 인식하여 EMRS 커맨드를 접근 권한 레지스터 로직(240)으로 전달할 수 있다.
키 어드레스 파트(402, 404)의 공유 블록 커맨드 정보(402)는 공유 블록 사용을 위해 설정된 커맨드 정보를 포함한다. 본 발명의 바람직한 실시예에 따르면, 공유 블록 사용을 위해 설정된 커맨드는 세트(SET), 리드(READ), 리세트(RESET) 커맨드를 포함한다. 예를 들어, 공유 블록 커맨드 정보에 따른 두 개의 비트(bit)가 어드레스로 할당된 경우, "10"이면 세트, "00"이면 리드, "01"이면 리세트로 설정될 수 있다.
세트 커맨드는 공유 뱅크(202)의 특정 공유 블록을 점유하기 위한 커맨드이다. 즉, 세트 커맨드는 접근 권한 레지스터 로직(240)으로 접근 권한을 요청하는 커맨드이다. 따라서, A포트(220) 또는 B포트(222)에서 특정 공유 블록을 사용하고자 하는 경우, 우선 세트 커맨드를 이용하여 공유 블록의 점유를 시도한다. 접근 권한 레지스터 로직(240)은 세트 커맨드에 따라 해당 포트 및 해당 공유 블록에 따른 접근 권한 플래그 로직(도 6 참조)를 인에이블 하여, 접근 권한을 해당 포트에 부여한다.
리드 커맨드는 특정 공유 블록을 점유하고 있는 상태(즉, 접근 권한을 부여 받은 상태)인지 확인하기 위한 커맨드이다. 리드 커맨드가 전달될 경우, 접근 권한 레지스터 로직(240)은 현재 리드(READ) 커맨드를 전송한 포트(즉, 해당 포트를 통해 결합된 프로세서)가 해당 공유 블록을 점유하고 있는지 여부를 확인할 수 있는 정보를 제공한다. 즉, A포트(220) 또는 B포트(222)가 메모리 장치의 특정 공유 블록을 사용하고자 하는 경우, 세트 커맨드를 이용하여 해당 공유 블록을 점유하고, 리드 커맨드를 이용하여 해당 공유 블록을 정상적으로 점유하였는지 여부를 확인할 수 있다. 접근 권한 레지스터 로직(240)은 리드 커맨드에 따라 접근 권한 플래그에 대한 값이 저장된 접근 권한 레지스터의 데이터(접근 권한에 대한 정보)를 DQ핀을 통해 해당 포트로 제공한다(도 6 참조).
리세트 커맨드는 특정 공유 블록에 대한 점유를 해제하기 위한 커맨드이다. 공유 뱅크(202)의 메모리 공유 블록에 대한 사용을 마칠 경우, 리세트 커맨드를 통해 해당 공유 블록에 대한 점유를 해제한다.
공유 블록 사용을 위한 커맨드의 종류가 상술한 바와 같이, 세 종류인 경우 커맨드를 설정하기 위한 비트로 상술한 바와 같이 두 개의 비트가 사용될 수 있다. 그러나, 상술한 세 종류의 커맨드 이외에 다양한 종류의 커맨드가 추가적으로 설정될 수 있으며, 이 경우 커맨드 설정을 위한 추가적인 비트가 사용될 수 있다는 점 은 당업자에게 있어 자명할 것이다.
세트 커맨드 및 리드 커맨드에 의해 특정 공유 블록의 점유 및 점유 확인이 이루어진 후에는 통상의 리드(Read) 커맨드, 라이트(Write) 커맨드 등을 통해 특정 공유 블록의 데이터를 읽거나 데이터를 기록하는 것이 가능하다.
공유 블록 주소 정보(404)에는 공유 블록 커맨드(402)와 관련한 공유 블록 주소 정보가 포함된다. 도 1과 같이, 4개의 공유 블록이 공유 뱅크(202)에 구비되는 경우, 공유 블록 주소를 위해 2개의 비트가 할당될 수 있으며, 예를 들어 8개의 공유 블록이 공유 뱅크(202)에 구비되는 경우, 공유 블록 주소를 위해 3개의 비트가 할당될 수 있을 것이다.
EMRS 커맨드는 키 어드레스 파트(402, 404)의 비트수가 통상의 MRS 커맨드와 동일하여야 하므로, 상술한 공유 블록 커맨드와 공유 블록 주소를 설정하기 위한 비트 이외의 여분의 비트는 미리 설정된 값이 되도록 한다. 예를 들어, 여분의 비트에 대해서는 모두 로우 값을 가지도록 설정할 수 있다.
상기에서는 MRS 커맨드를 변형하여 공유 뱅크(202)의 특정 공유 블록을 사용하는 커맨드로 활용하는 경우에 대해 설명하였으나, 본 발명이 공유 뱅크(202)의 특정 공유 블록 사용을 위해 MRS 커맨드를 변형하는 것에 한정되는 것은 아니며, 다른 커맨드를 변형하여 특정 공유 블록을 사용하는 커맨드로 활용할 수도 있다.
예를 들어, 리드 커맨드, 라이트 커맨드 등을 변형하여 특정 공유 블록을 사용하기 위한 커맨드로 활용할 수도 있다.
도 5는 본 발명의 바람직한 일 실시예에 따른 공유 뱅크와 접근 권한 레지스터 로직을 도시한 도면이고, 도 6은 본 발명의 바람직한 일 실시예에 따른 접근 권한 레지스터 로직의 구성을 도시한 도면이다.
전술한 바와 같이 본 발명의 바람직한 실시예에 따르면, A포트(220) 및 B포트(222)는 EMRS 커맨드를 이용하여 임의의 공유 블록에 대한 접근 권한을 가질 수 있다.
접근 권한 레지스터 로직(240)은 해당 포트를 통해 임의의 프로세서로부터EMRS 커맨드가 들어오면 공유 블록 커맨드 정보(402)에 의해 상응하는 세트, 리세트, 리드 커맨드를 수행하게 된다. 즉, 접근 권한 레지스터 로직(240)은 포트로부터 들어온 공유 블록 커맨드 정보(402)가 세트 커맨드이면, 해당 접근 권한 플래그(flag)를 인에이블(enable)하여 당해 공유 블록에 대한 접근 권한을 해당 포트로 부여한다.
도 5를 참조하면, 접근 권한 레지스터 로직(240)은 A포트(220) 및 B포트(222)를 통하여 각 공유 블록에 접근 권한 부여를 위하여 각 공유 블록의 개수에 대응되도록 접근 권한 플래그(flag) 신호를 만든다. 즉, N+1개의 공유 블록에 따른 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)쪽을 컨트롤한다.
따라서, 임의의 포트로부터 세트 커맨드에 따른 EMRS 커맨드가 들어오면, 접근 권한 레지스터 로직(240)은 공유 블록 주소 정보(404)를 통해 해당 공유 블록을 인식하고, 공유 블록 커맨드 정보(402)를 통해 세트 커맨드를 인식하고, 접근 권한을 부여한다.
이해의 편의를 위해 하나의 예를 들면, A포트(220)로부터 공유 블록1에 대한 세트 커맨드가 들어오면, 접근 권한 레지스터 로직(240)은 flagA<1> 및 flagB<1>을 참조하여, 두 접근 권한 플레그가 모두 디스에이블(disable) 상태이면 flagA<1>을 인에이블하여 A포트(220)에게 공유 블록1에 대한 접근 권한을 부여한다.
도 6을 참조하여, 본 발명에 바람직한 실시예에 따른 접근 권한 레지스터 로직(240)의 구성을 설명하기로 한다.
도 6에 도시된 바와 같이, 접근 권한 레지스터 로직(240)은 접근 권한 컨트롤 로직(610, 620), 접근 권한 플래그 로직(630)을 포함한다. 각 공유 블록의 접근 권한 부여에 대한 컨트롤을 위해, 공유 블록 개수만큼의 접근 권한 레지스터(도 7참조)가 접근 권한 플래그 로직(244)에 포함된다.
접근 권한 컨트롤 로직(610, 620)은 A포트(220) 전용과 B포트(222) 전용으로 두 개의 로직이 구비될 수 있다. 접근 권한 컨트롤 로직(610, 620)은 각 해당 포트로부터 수신되는 EMRS 커맨드의 공유 블록 커맨드 정보(402)에 따라 세트, 리세트, 리드 커맨드를 생성하는 기능을 수행한다. 즉, EMRS 커맨드의 공유 블록 주소 정보(404) 및 공유 블록 커맨드 정보(402)를 해석(decoding)하여 해당 포트가 접근하고자 하는 공유 블록을 인식하고 상응하는 커맨드 신호(세트, 리세트, 리드 중 어느 하나)를 만들어 낸다. 사용하고자 원하는 공유 블록의 주소에 접근 권한을 신청하기 위해 만들어내는 신호가 block<0:N>(즉, 0 내지 N 공유 블록 중 해당 공유 블록을 식별하기 위한 공유 블록 주소 정보)이다. 여기서, 세트, 리세트, 리드 커맨드는 동시에 이루어지는 것이 아니라, 한번의 커맨드에 하나씩 수행된다.
접근 권한 컨트롤 로직(610, 620)의 출력 중 세트 커맨드는 접근 권한 플래그를 인에이블 시키는 커맨드로 해당 공유 블록에 접근할 수 있는 권한을 만들어 내는 역할을 한다. 리드 커맨드는 접근 권한 레지스터에 저장되어 있는 데이터들(접근 권한에 대한 정보)을 DQ 핀으로 출력하는 동작을 위한 커맨드이다. 리드 커맨드는 각 포트에서 접근 권한 레지스터를 세트 커맨드 했을 경우 각 포트에서 원하는 공유 블록이 제대로 세트가 되어 접근 권한을 가지게 되었는지 확인하는 동작을 수행하기 위한 커맨드이다. 리세트 커맨드는 공유 블록의 접근 권한을 해제하기 위한 것으로, 해당 접근 권한 레지스터의 값을 리세트 시켜서 가지고 있던 접근 권한을 해제하여 다음에 다른 포트 또는 자신의 포트가 다시 사용할 수 있도록 만드는 동작을 수행하기 위한 커맨드이다.
접근 권한 플래그 로직(630)은 접근 권한 컨트롤 로직(610, 620)으로부터 세트, 리세트 및 리드 커맨드 중 어느 하나와 해당 공유 블록에 대한 정보 block<0>, ..., block<N>를 입력 받으면 그에 따른 접근 권한 플래그를 인에이블 또는 디스에이블한다. 즉, N+1개의 공유 블록에 따른 A포트(220)의 접근 권한 플래그 flagA<0>, flagA<1>, ..., flagA<N> 및 B포트(222)의 접근 권한 플래그(flag) flagB<0>, flagB<1>, ..., flagB<N>가 구비되어 공유 블록<0:N>에 따른 접근 권한 플래그 flagA<0:N>이 A포트(220) 쪽을 컨트롤하며, flagB<0:N>이 B포트(222) 쪽을 컨트롤한다.
접근 권한 플래그 로직(630)은 A포트(220) 또는 B포트(222)가 메모리 장치의 특정 공유 블록을 사용하고자 하는 경우, 세트 커맨드를 통해 해당 공유 블록을 점유하고, 리드 커맨드를 통해 해당 공유 블록을 정상적으로 점유하였는지 여부를 확인하여 접근 권한 플래그에 대한 값이 저장된 접근 권한에 대한 정보를 데이터를 해당 포트의 DQ 핀을 통해 프로세서에 제공한다. 접근 권한 플래그 로직(630)의 구성 및 기능에 대해서는 다음 도 7에서 더욱 상세히 서술하기로 한다.
상술한 바와 같이, 접근 권한 레지스터 로직(240)은 EMRS 커맨드에 따라 공유 뱅크(202)의 임의의 공유 블록에 대한 접근 권한을 부여한다.
도 7을 참조하여, 본 발명에 바람직한 실시예에 따른 접근 권한 레지스터 플래그 로직(630)의 구성을 설명하기로 한다.
도 7에 도시된 바와 같이, 접근 권한 레지스터 플래그 로직(630)은 각 공유 블록의 접근 권한 레지스터 플래그에 대한 값을 생성하는 접근 권한 레지스터(631, 632), 접근 권한 플래그에 대한 값이 저장된 접근 권한에 대한 정보를 DQ 핀을 통해 출력하기 위한 접근 권한 정보 출력부(635, 636, 637, 638) 및 각 공유블록에 대한 접근 권한 거부 신호를 출력하는 비지(BUSY) 신호 출력부(633, 634)를 포함한다.
접근 권한 레지스터(631, 632)는 접근 권한 플래그 로직(630)에 포함되어 A포트(220) 또는 B포트(222)가 메모리 장치의 공유 블록을 사용하고자 하는 경우, 각 공유 블록에 접근 권한 부여를 위하여 각 공유 블록의 개수에 대응되도록 구비된다. 접근 권한 레지스터(631, 632)는 각 공유 블록에 대응하여 세트 커맨드를 통해 해당 공유 블록을 점유하고, 리드 커맨드를 통해 해당 공유 블록을 정상적으로 점유하였는지 여부를 확인하여 접근 권한 플래그에 대한 값을 출력한다. 접근 권한 정보 출력부(635, 636, 637, 638)는 접근 권한 플래그에 대한 값이 저장된 접근 권한에 대한 정보를 해당 포트의 DQ 핀을 통해 프로세서에 제공한다. 접근 권한 레지스터(631, 632)는 접근 권한 컨트롤 로직(610, 620)으로부터 세트, 리세트 및 리드 커맨드 중 어느 하나와 해당 공유 블록에 대한 정보 block<0:N>를 입력 받으면 각 공유 블록에 대응하여 접근 권한 플래그를 인에이블 또는 디스에이블한다.
상술한 경우들은 해당 공유 블록에 대한 접근 권한을 어느 포트도 가지고 있지 않은 경우에 일반적으로 동작하는 것을 가정한 것이다. 이미 어느 한쪽 포트(예를 들어, A포트(220))가 해당 공유 블록에 접근 권한이 있는 경우, 다른 한쪽 포트(예를 들어, B포트(222))에서 같은 공유 블록을 접근하기 위해서 접근 권한 레지스터를 세트 커맨드를 수행하는 경우가 있을 수 있다. 이 경우, A포트(220)가 이미 접근 권한을 가지고 있기 때문에 B포트(222)에서 해당 접근 권한 레지스터(631, 632)는 세트 B 커맨드를 수행하더라도 내부 동작은 아무런 변화를 일으키지 않고, 다만 B포트(222)쪽에 "/BUSY"신호가 인에이블(enable)되어 출력된다. 이 /BUSY 신호는 접근 거부 신호의 역할을 할 수 있으며, 또는 현재 접근 금지가 수행 중이니 기다리라는 대기신호의 역할을 수행할 수도 있다. 따라서, /BUSY 신호가 디스에이블(disable)될 경우에만 접근이 가능하게 된다. /BUSY 신호가 인에이블 되는 경우는 어느 한쪽 포트가 동일한 공유 블록에 대한 접근 권한을 가지고 있는 경우 발생을 한다. /BUSY 신호가 디스에이블되는 경우는 접근 권한을 가진 상대 포트가 동일한 공유 블록의 접근 권한 레지스터를 리세트 커맨드를 수행하거나, /BUSY 신호가 인에이블된 포트 쪽에서 리세트 커맨드를 수행하는 경우이다. 즉, 접근 권한을 가진 상대 포트가 동일한 공유 블록의 접근 권한 레지스터를 리세트 커맨드를 수행하면, /BUSY 신호가 인에이블된 포트는 리세트 커맨드를 수행한 후, 다시 세트 커맨드를 수행하여 해당 공유 블록의 접근 권한을 부여 받을 수 있다.
접근 권한 정보 출력부(635, 636, 637, 638)는 A포트(220) 또는 B포트(222)가 세트 커맨드를 통해 해당 공유 블록을 점유하고, 리드 커맨드에 의해 해당 공유 블록의 접근 권한 레지스터(631, 632)에 저장된 접근 권한 플래그 값이 저장된 접근 권한에 대한 정보를 해당 포트에 제공된다.
BUSY 신호 출력부(633,634)는 해당 블록에 대해 접근 권한에 대한 커맨드를 수행하는 경우, 해당 포트에 대해 접근 권한이 부여되지 않았다면 접근 권한 거부 신호인 /BUSY 신호가 인에이블되며, 이러한 /BUSY 신호를 해당 포트로 출력하는 동작을 한다. /BUSY 신호는 별도의 핀을 더 구비하여 이를 통해 출력될 수 있으며, DQ 핀을 공유하여 해당 프로세서에 출력될 수 있다. DQ 핀을 공유하여 해당 프로세서에 출력이 가능한 이유는 /BUSY 신호는 세트 커맨드 또는 리세트 커맨드에 의해 접근 권한 요청 또는 해제하는 경우 생성되어 접근 권한에 대한 정보와 함께 출력 되지 않기 때문이다.
도 8은 본 발명의 바람직한 실시예에 따른 접근 권한 레지스터(632)의 구성을 나타낸 도면이며, 도 9는 도 8의 바람직한 실시예에 따른 접근 권한 레지스터(632)의 논리회로를 나타낸 도면이다.
도 8 및 도 9에 도시된 바와 같이, 접근 권한 레지스터(632)는 A포트(220)의 세트 또는 리세트 커맨드를 한 경우 A포트(220)의 세트 또는 리세트 커맨드에 대한 접근 권한 부여 신청 또는 해제를 나타내는 정보를 입력 받는 RS 래치부(810), B포트(222)의 세트 또는 리세트 커맨드를 한 경우 B포트(222)의 세트 또는 리세트 커맨드에 대한 접근 권한 신청 또는 해제를 나타내는 정보를 저장하는 RS 래치부(820), A포트(220)와 B포트(222)의 접근 권한 레지스터에 저장된 접근권한 레지스터 데이터(접근 권한에 대한 정보) 중 입력된 값을 저장하는 제 1 레지스터 데이터 저장부 (830), 제 1 레지스터 데이터 저장부(830)에 저장된 접근 권한 레지스터에 저장된 접근권한 레지스터 데이터를 다음 단의 제 2 레지스터 데이터 저장부(850)로 전달하는 역할을 하는 레지스터 데이터 전달부(840), 최종적으로 접근 권한 레지스터에 저장된 접근 권한 플래그 값을 출력하는 제 2 레지스터 저장부(850), 접근 거부 신호(BUSY) 생성부(860, 870)로 구성된다.
RS 래치부(810, 820)는 A포트(220) 및 B포트(222)의 세트 또는 리세트 커맨드 한 경우 해당 포트의 접근 권한 부여 신청 또는 해제를 나타내는 정보를 입력 받고 이를 저장한다. 원하는 공유 블록 주소 정보인 block A<N> 또는 block B<N>에 의해 해당 블록의 접근 권한 레지스터(632)가 인에이블 되고, 세트 커맨드가 인에이블되면 Qa 또는 Qb(도 9 참조)가 "하이"로 인에이블 되고, 리세트가 인에이블 되면, Qa 또는 Qb가 "로우"로 디스에이블 된다. 만약 Qa가 세트 A에 의해서 "하이"가 되면 접근권한 레지스터(632)에서 해당 블록에 대한 접근 권한 부여 여부를 나타내는 신호인 접근권한 플래그 A는 "로우"에서 "하이"로 천이(shift)된다. 반대쪽 출력인 접근권한 플래그 B는 "로우"로 변화가 없다.
제 1 레지스터 데이터 저장부(830)는 1차적으로 양쪽 포트에서 세트 또는 리세트 커맨드에 의해서 해당 포트의 RS 래치부(810, 820)에 해당 블록에 접근 권한 부여 신청 또는 해제를 나타내는 정보가 입력되면, 먼저 입력된 순서에 의해 조정되어 접근권한 레지스터 데이터(접근 권한에 대한 정보)가 저장된다.
레지스터 데이터 전달부(840)는 제 1 레지스터 저장부(830)에 저장된 접근권한 레지스터 데이터를 제 2 레지스터 저장부(850)로 전달한다. 이 때, 레지스터 데이터 전달부(840)는 리드 커맨드가 수행되는 동안은 접근권한 레지스터 데이터가 변경되지 않도록 제어된다. 즉, 레지스터 데이터 전달부(840)는 RS 래치부에 저장된 값 중 먼저 들어와 접근 권한을 가지는 해당 포트를 통해 리드 커맨드를 수행하면, 반대편 포트의 접근 권한 레지스터 데이터가 리드 커맨드 수행 동안 변경되어도 해당 포트의 접근권한 레지스터 데이터가 영향을 받지 않도록 접근 권한 레지스터 데이터의 변화를 일시 보류하는 기능을 수행한다.
예를 들면, 먼저 A포트(220)가 세트 A 커맨드가 수행되어 접근권한을 가지고 있는 경우, Qa는 "하이"인 상태가 되고, 접근권한 플래그 A는 "하이"인 상태이 다. 그리고 난 후 B포트(222)에서 세트 B 커맨드를 실행하여 Qb는 "하이"로 바뀌나 내부 값들은 바뀌지 않고, /BUSY B만 인에이블된다. 그리고 난 후, B포트(222)에서 접근 권한 레지스터 플래그 값을 리드 커맨드 하는 중간에 A포트(220)에서 레지스터 리세트 커맨드 하게 되면, 레지스터 데이터 전달부(840)가 없다면, 리드 커맨드를 수행하는 중간에 A포트(220)가 접근 권한을 해제하여 접근 권한 레지스터 데이터가 변경된다. 그러므로 A포트(220)의 접근 권한 레지스터 데이터와 연결된 B포트(222)의 접근 권한 레지스터 데이터도 영향을 받게 된다. 리드 커맨드 중간에 접근 권한 레지스터 데이터가 바뀌게 된다면, 제 2 레지스터 데이터 저장부(850)를 통하여 출력되는 접근 권한 플래그 값이 저장된 접근 권한 데이터(접근 권한에 대한 정보)가 DQ 핀을 통하여 외부로 출력될 때(도 7 참조) 원치 않는 다른 값이 출력되고, 권한이 없는 것으로 판단을 하여 다시 액세스를 하지 않을 수 있는 경우가 생길 수 있다.
도 9를 참조하여 레지스터 데이터 전달부(840)의 기능을 더욱 자세히 설명하면, B포트(222) 접근 권한 레지스터 데이터의 리드 B 커맨드를 수행하는 경우, 제 1 패스게이트(842)가 스위칭 오프(off)되고, 제 2 패스게이트(844)가 스위칭 온(on) 되어 그 전의 접근 권한 레지스터 데이터가 계속 저장된다. A포트(220) 접근 권한 레지스터 데이터에 대해 리드 A 커맨드 수행시에는 제 3 패스게이트(841)가 스위칭 오프되고 제 4 패스게이트(843)이 스위칭 온(on) 되어 그전에 저장된 접근 권한 레지스터 데이터를 계속 저장하게 된다.
제 2 레지스터 저장부(850)은 각 포트의 접근 권한 레지스터 데이터가 최종 적으로 저장되고 이를 접근 권한 플래그 값으로 출력한다. 접근 권한 플래그 값은 접근 권한 정보 출력부(635, 636, 637, 638)를 통하여 해당 포트로부터 리드 커맨드 수행시 접근 권한 플래그 값이 저장된 접근 권한 데이터(접근 권한에 대한 정보)를 DQ 핀을 통하여 상응하는 프로세서에 제공된다.
BUSY 생성부(860, 870)는 A포트(220) 및 B포트(222)의 세트 또는 리세트 커맨드 한 경우 상응하는 포트에 접근 권한이 부여되지 않았다면, 접근 권한 거부 신호인 BUSY 신호를 생성한다. BUSY 생성부(860, 870)는 접근 권한 레지스터 데이터에 의한 Qa 또는 Qb 값과 flag #A 또는 flag #B(접근 권한 flag의 인버터 값)에 의해 BUSY 신호를 생성한다. 만약 Qa가 세트 A 커맨드에 의해서 "하이"가 되면 접근권한 레지스터의 출력인 접근권한 플래그 A는 "하이"가 되고 flag #A는 "로우"이 되므로, /BUSY A는 "하이"로 디스에이블 된다. 만약 이때, B포트(222)로부터 세트 B 커맨드 하면, Qb는 "하이"가 되고, flag #B(접근 권한 flag의 인버터 값)는 "하이"였기 때문에 /BUSY B가 "로우"로 인에이블 된다.
전술한 바와 같이, 도면을 참조하여 설명한 내용 중 A포트(220) 또는 B포트(222)가 메모리 장치에 접근하는 것으로 표현한 것은, 단순히 설명의 편의를 위한 것이며, 실제적으로는 각 포트를 통해 프로세서가 메모리 장치에 접근하는 것임은 자명하다 할 것이다. 또한, 상술한 커맨드를 지정하는 신호들은 각 메모리 장치마다 다르게 설정될 수 있음은 당연하다.
또한, 특정 포트만을 통해 액세스 가능한 전용 저장 영역 및 다중 포트를 통해 복수의 프로세서가 액세스할 수 있는 공용 저장 영역을 뱅크 단위로 설명하였으나, 이는 반드시 뱅크일 필요는 없으며, 하나의 뱅크에서 전용 영역 및 공용 영역으로 구분될 수도 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
이상에서 상술한 바와 같이 본 발명에 따르면, 다중 포트 메모리 장치에 접근 권한을 제어하는 접근 권한 레지스터 로직을 구비하여 메모리에 액세스하고자 하는 복수의 프로세서의 접근 권한을 안정적으로 제어하는 효과가 있다.
또한, 다중 포트 메모리 장치에서 변형된 MRS 커맨드를 이용하여 접근 권한 레지스터 로직을 더욱 효율적으로 제어하여 복수의 프로세서의 접근 권한을 안정적으로 제어하는 효과가 있다.
또한, 다중 포트 메모리 장치에서 임의의 프로세서가 공유된 메모리에 접근 권한을 요청한 경우, 접근 권한에 대한 정보가 확인되는 동안 다른 프로세서의 접근 권한 요청 또는 접근 권한 해제 커맨드에 의해 접근 권한에 대한 정보가 변경되 지 않도록 제어하여 오동작이 발생하는 것을 방지하는 효과가 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (21)

  1. 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서,
    상기 각 포트를 통해 복수의 프로세서가 액세스 가능하고, 저장영역을 미리 설정된 단위로 분할한 하나 이상의 블록을 포함하는 하나 이상의 공유 저장영역; 및
    상기 프로세서가 상기 각 포트를 통해 상기 공유 저장영역의 블록에 액세스할 수 있는 접근 권한을 제어하는 접근 권한 레지스터 로직;
    을 포함하되,
    상기 접근 권한 레지스터 로직은
    상기 프로세서로부터 커맨드를 수신하고 커맨드에 포함된 주소에 상응하는 상기 블록의 접근 권한에 대한 정보를 저장하는 접근 권한 레지스터에 커맨드를 전달하는 접근 권한 컨트롤 로직; 및
    상기 접근 권한 컨트롤 로직으로부터 수신되는 커맨드에 상응하여 상기 접근 권한 레지스터를 제어하는 접근 권한 플래그 로직을 포함하는 것을 특징으로 하는 다중 포트 메모리 장치.
  2. 제 1항에 있어서,
    특정 포트를 통해서만 액세스가 가능한 하나 이상의 전용 저장영역을 더 포함하는 다중 포트 메모리 장치.
  3. 삭제
  4. 삭제
  5. 제 4항에 있어서,
    상기 접근 권한 컨트롤 로직은 상기 포트 수만큼 구비되는 것을 특징으로 하는 다중 포트 메모리 장치.
  6. 제 4항에 있어서,
    상기 접근 권한 플래그 로직은
    상기 블록에 대한 접근 권한 부여 여부를 판단하여 접근 권한에 대한 정보 를 저장하는 접근 권한 레지스터;
    상기 블록에 대한 상기 접근 권한에 대한 정보를 상기 프로세서로 출력하는 접근 권한 정보 출력부; 및
    상기 프로세서가 상기 각 블록에 접근 권한이 없는 경우, 접근 권한 거부 신호를 상기 프로세서로 출력하는 비지(BUSY)신호 출력부;
    를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치.
  7. 제 1항에 있어서,
    상기 프로세서에서 상기 블록을 액세스하여 사용하기 위한 커맨드는 모드 레지스터 세트(Mode Register Set, MRS) 커맨드의 어드레스 파트를 변형한 커맨드인 것을 특징으로 하는 다중 포트 메모리 장치.
  8. 제 7항에 있어서,
    상기 변형된 어드레스 파트는 공유 저장영역의 블록의 주소 정보 및 공유 저장영역 사용과 관련한 커맨드 정보를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치.
  9. 제 8항에 있어서,
    상기 공유 저장영역 사용과 관련한 커맨드는 상기 공유 저장영역의 특정 블록에 대한 접근 권한을 요청하는 세트(SET) 커맨드, 상기 공유 저장영역의 특정 블록에 대한 접근 권한이 부여되었는지의 확인을 위한 리드(READ) 커맨드 및 상기 공유 저장영역의 특정 블록에 대한 접근 권한 해제를 요청하는 리세트(RESET) 커맨드를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치.
  10. 제 6항에 있어서,
    상기 접근 권한 정보 출력부는 상기 프로세서로부터 세트(SET) 커맨드 수행 후 리드(READ) 커맨드 수행에 의해 상기 블록에 대한 접근 권한에 대한 정보를 상기 프로세서로 출력하는 것을 특징으로 하는 다중 포트 메모리 장치.
  11. 제 6항에 있어서,
    상기 접근 권한 레지스터는
    상기 프로세서로부터 세트(SET) 커맨드 또는 리세트(RESET) 커맨드가 수행되고 상응하는 접근 권한에 대한 정보를 저장하는 제 1 접근 권한 레지스터 저장부;
    상기 접근 권한에 대한 정보를 제어하여 제 2 접근 권한 레지스터 저장부에 전달하는 접근 권한 레지스터 전달부; 및
    상기 전달된 접근 권한에 대한 정보를 접근 권한 플래그 값으로 출력하는 제 2 접근 권한 레지스터 저장부를 포함하되,
    상기 접근 권한 레지스터 전달부는 상기 프로세서로부터 리드(READ) 커맨드에 의해 상기 프로세서로 접근 권한에 대한 정보의 전달을 제어되는 것을 특징으로 하는 다중 포트 메모리 장치.
  12. 제 11항에 있어서,
    상기 접근 권한 레지스터 전달부는
    상기 프로세서로부터 상기 리드(READ) 커맨드가 수행되는 동안, 다른 프로세서로부터 세트(SET) 커맨드 또는 리세트(RESET) 커맨드가 수행되어 다른 프로세서의 접근 권한에 대한 정보가 변경되는 경우, 이에 상응하도록 상기 프로세서의 접근 권한에 대한 정보가 변경되는 것을 일시 보류하도록 제어되는 것을 특징으로 하는 다중 포트 메모리 장치.
  13. 다중 포트를 통해 복수의 프로세서가 접근 가능한 공유 저장영역을 포함하는 다중 포트 메모리 장치에서 상기 공유 저장영역의 접근 권한을 제어하는 방법에 있어서,
    (a) 상응하는 포트를 통해 임의의 프로세서로부터 제공된 메모리 커맨드가 상기 공유 저장영역에 대한 접근 권한 요청인지를 판단하는 단계;
    (b) 상기 제공된 메모리 커맨드가 상기 공유 저장영역에 대한 접근 권한 요청인 경우, 상기 임의의 프로세서로 상기 공유 저장영역에 대한 접근 권한의 부여 여부를 판단하는 단계; 및
    (c) 상기 판단 결과, 상기 임의의 프로세서로 접근 권한에 대한 정보를 출력하는 단계를 포함하되,
    상기 다중 포트 메모리 장치는
    상기 프로세서로부터 커맨드를 수신하고 커맨드에 포함된 주소에 상응하는 상기 블록의 접근 권한에 대한 정보를 저장하는 접근 권한 레지스터에 커맨드를 전달하는 접근 권한 컨트롤 로직 및 상기 접근 권한 컨트롤 로직으로부터 수신되는 커맨드에 상응하여 상기 접근 권한 레지스터를 제어하는 접근 권한 플래그 로직을 포함하는 접근 권한 레지스터 로직을 구비하는 것을 특징으로 하는 다중 포트 메모리 장치에서 접근 권한 제어 방법.
  14. 삭제
  15. 제 13항에 있어서,
    상기 프로세서에서 상기 공유 저장영역의 특정 블록을 액세스하여 사용하기 위한 커맨드는 모드 레지스터 세트(Mode Register Set, MRS) 커맨드의 어드레스 파트를 변형한 커맨드인 것을 특징으로 하는 다중 포트 메모리 장치에서 접근 권한 제어 방법.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제 15항에 있어서,
    상기 변형된 어드레스 파트는 공유 저장영역 블록의 주소 정보 및 공유 저장영역 사용과 관련한 커맨드 정보를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치에서 접근 권한 제어 방법.
  17. 청구항 17은(는) 설정등록료 납부시 포기되었습니다.
    제 16항에 있어서,
    상기 공유 저장영역 사용과 관련한 커맨드는 상기 공유 저장영역의 특정 블록에 대한 접근 권한을 요청하는 세트(SET) 커맨드, 상기 공유 저장영역의 특정 블록에 대한 접근 권한이 부여됐는지의 확인을 위한 리드(READ) 커맨드 및 상기 공유 저장영역의 특정 블록에 대한 접근 권한 해제를 요청하는 리세트(RESET) 커맨드를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치에서 접근 권한 제어 방법.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제 13항에 있어서,
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제 13항에 있어서
    상기 (c) 단계는 접근 권한 요청인 세트(SET) 커맨드 한 프로세서가 접근 권한 확인을 위한 리드(READ) 커맨드를 실행하여 접근 권한에 대한 정보를 입력 받는 것을 특징으로 하는 다중 포트 메모리 장치에서 접근 권한 제어 방법.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제 19항에 있어서,
    상기 (c) 단계에서 판단 결과, 상기 접근 권한을 요청한 프로세서가 접근 권한이 없는 경우, 접근 거부 신호(BUSY) 신호를 입력 받는 것을 특징으로 하는 다중 포트 메모리 장치에서 접근 권한 제어 방법.
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    제 19항에 있어서,
    상기 (c) 단계는 상기 프로세서로부터 상기 리드(READ) 커맨드가 수행되는 동안, 다른 프로세서로부터 세트(SET) 커맨드 또는 리세트(RESET) 커맨드가 수행되 어 다른 프로세서의 접근 권한에 대한 정보가 변경되는 경우, 이에 상응하도록 상기 프로세서의 접근 권한에 대한 정보가 변경되는 것을 일시 보류하도록 제어되는 것을 특징으로 하는 다중 포트 메모리 장치에서 접근 권한 제어 방법.
KR1020060046425A 2006-05-24 2006-05-24 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법 KR100843580B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060046425A KR100843580B1 (ko) 2006-05-24 2006-05-24 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060046425A KR100843580B1 (ko) 2006-05-24 2006-05-24 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법

Publications (2)

Publication Number Publication Date
KR20070113493A KR20070113493A (ko) 2007-11-29
KR100843580B1 true KR100843580B1 (ko) 2008-07-04

Family

ID=39091305

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060046425A KR100843580B1 (ko) 2006-05-24 2006-05-24 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법

Country Status (1)

Country Link
KR (1) KR100843580B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769213B2 (en) 2009-08-24 2014-07-01 Micron Technology, Inc. Multi-port memory and operation
CN103617127B (zh) * 2013-12-04 2017-04-05 杭州华澜微电子股份有限公司 带分区的存储装置及存储器分区的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940022284A (ko) * 1993-03-31 1994-10-20 이헌조 공유메모리의 액세스 제어 방법
WO1996012286A1 (en) 1994-10-14 1996-04-25 Micron Technology, Inc. Multi-port memory device with multiple sets of columns
KR19980026521A (ko) * 1996-10-10 1998-07-15 조진영 멀티 포트 메모리 비동기 중재 방법
KR19980044103A (ko) * 1996-12-05 1998-09-05 김광호 프로그램 메모리를 공유하는 멀티 프로세서 시스템
JPH11149555A (ja) 1997-08-11 1999-06-02 Digital Equip Corp <Dec> 空間・時間メモリ
KR20040093167A (ko) * 2002-04-04 2004-11-04 인피니온 테크놀로지스 아게 공유 메모리를 갖는 향상된 아키텍처
US20050216767A1 (en) 2004-03-29 2005-09-29 Yoshio Mitsuoka Storage device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940022284A (ko) * 1993-03-31 1994-10-20 이헌조 공유메모리의 액세스 제어 방법
WO1996012286A1 (en) 1994-10-14 1996-04-25 Micron Technology, Inc. Multi-port memory device with multiple sets of columns
KR19980026521A (ko) * 1996-10-10 1998-07-15 조진영 멀티 포트 메모리 비동기 중재 방법
KR19980044103A (ko) * 1996-12-05 1998-09-05 김광호 프로그램 메모리를 공유하는 멀티 프로세서 시스템
JPH11149555A (ja) 1997-08-11 1999-06-02 Digital Equip Corp <Dec> 空間・時間メモリ
KR20040093167A (ko) * 2002-04-04 2004-11-04 인피니온 테크놀로지스 아게 공유 메모리를 갖는 향상된 아키텍처
US20050216767A1 (en) 2004-03-29 2005-09-29 Yoshio Mitsuoka Storage device

Also Published As

Publication number Publication date
KR20070113493A (ko) 2007-11-29

Similar Documents

Publication Publication Date Title
JP5063041B2 (ja) 向上されたリフレッシュメカニズムを有するダイナミック半導体メモリ
US8001334B2 (en) Bank sharing and refresh in a shared multi-port memory device
US6381190B1 (en) Semiconductor memory device in which use of cache can be selected
KR100816053B1 (ko) 셀프 카피 기능을 가지는 메모리 장치, 메모리 시스템 및듀얼 포트 메모리 장치
US7539825B2 (en) Multi-port memory device providing protection signal
KR101746735B1 (ko) 고신뢰성 동작을 위한 메모리 제어기를 갖는 데이터 프로세서 및 방법
US7405992B2 (en) Method and apparatus for communicating command and address signals
KR100689863B1 (ko) 반도체 메모리 장치 및 그에 따른 방법
US8711652B2 (en) Arbitration for memory device with commands
US8914589B2 (en) Multi-port DRAM architecture for accessing different memory partitions
MX2010009991A (es) Multiplexion de direccion en memoria de puerto pseudo-doble.
KR20090013342A (ko) 멀티 포트 반도체 메모리 장치 및 그에 따른 리프레쉬 방법
US20030191912A1 (en) Integrated memory having a memory cell array containing a plurality of memory banks, and circuit configuration having an integrated memory
JP4229958B2 (ja) メモリ制御システムおよびメモリ制御回路
US20050268050A1 (en) Multi-port memory device providing protection signal
KR20020090904A (ko) 혼합 모드 메모리 액세스의 수행 방법 및 메모리
KR100843580B1 (ko) 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법
US20080282042A1 (en) Multi-path accessible semiconductor memory device with prevention of pre-charge skip
KR100834373B1 (ko) 다중 포트 메모리 장치 및 그 접근 권한의 제어 방법
KR100781129B1 (ko) 다중 포트 메모리 장치 및 그 데이터의 출력 방법
KR100754358B1 (ko) 공유 저장영역의 리프레쉬 방법 및 그 방법을 수행하는다중 포트 메모리 장치
KR100754360B1 (ko) 공유 저장영역의 안정적인 리프레쉬를 수행하는 다중 포트메모리 장치 및 그 리프레쉬 방법
US20100332712A1 (en) Apparatuses for register file with novel bit cell implementation
JP5045337B2 (ja) 半導体メモリ、半導体メモリの動作方法およびシステム
KR100754359B1 (ko) 복수의 공유 블록을 포함하는 다중 포트 메모리 장치

Legal Events

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

Payment date: 20130530

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140528

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180528

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 12