KR100772841B1 - 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치 - Google Patents

프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치 Download PDF

Info

Publication number
KR100772841B1
KR100772841B1 KR1020060071455A KR20060071455A KR100772841B1 KR 100772841 B1 KR100772841 B1 KR 100772841B1 KR 1020060071455 A KR1020060071455 A KR 1020060071455A KR 20060071455 A KR20060071455 A KR 20060071455A KR 100772841 B1 KR100772841 B1 KR 100772841B1
Authority
KR
South Korea
Prior art keywords
processors
area
input
data
shared memory
Prior art date
Application number
KR1020060071455A
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 KR1020060071455A priority Critical patent/KR100772841B1/ko
Priority to US11/819,601 priority patent/US7870326B2/en
Priority to TW096126410A priority patent/TW200813724A/zh
Priority to DE102007036547A priority patent/DE102007036547A1/de
Priority to US11/829,859 priority patent/US7941612B2/en
Priority to CN2007101367959A priority patent/CN101114271B/zh
Priority to JP2007197758A priority patent/JP2008034095A/ja
Application granted granted Critical
Publication of KR100772841B1 publication Critical patent/KR100772841B1/ko
Priority to US12/929,222 priority patent/US20110107006A1/en
Priority to US12/929,250 priority patent/US8756475B2/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Dram (AREA)

Abstract

프로세서들 간 인터페이싱 기능을 갖는 멀티패쓰 억세스블 반도체 메모리 장치가 개시되어 있다. 그러한 멀티패쓰 억세스블 반도체 메모리 장치는, 메모리 셀 어레이 내에 적어도 하나이상 할당된 공유 메모리 영역과; 상기 프로세서들로부터 인가되는 외부신호들에 응답하여 상기 포트들 중 선택된 하나의 포트와 상기 공유 메모리 영역간의 데이터 억세스 패쓰가 형성되도록 하는 억세스 패쓰 형성부와; 상기 복수의 프로세서들 간의 통신 시 인터페이스 기능의 제공을 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되는 세맵퍼 영역과 메일박스 영역들을 갖는 인터페이스 부를 구비함을 특징으로 한다. 본 발명의 반도체 메모리 장치에 따르면, 프로세서들 간 호스트 인터페이싱이 외부 인터페이싱 없이 메모리 내부를 통해 제공되어 할당된 공유 메모리 영역을 복수의 프로세서들이 원활히 억세스할 수 있게 되므로, 데이터 전송 및 처리속도가 개선되고 시스템 사이즈가 콤팩트하게 되며 시스템에서 차지하는 메모리의 코스트가 대폭 줄어드는 이점이 있다.
멀티 프로세서, 공유 메모리 영역, 멀티패쓰 억세스블 메모리, 인터페이스

Description

프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰 억세스블 반도체 메모리 장치{Multi-path accessible semiconductor memory device with host interfacing between processors}
도 1은 휴대용 통신 디바이스에 채용된 통상적인 멀티 프로세서 시스템의 블록도
도 2는 본 발명에 적용되는 메모리를 채용한 멀티 프로세서 시스템의 블록도
도 3은 전형적인 DRAM 메모리의 입출력 패쓰 구조를 보여주는 블록도
도 4는 종래기술에 따른 멀티 프로세서 시스템의 메모리 어레이 포션들을 보여주는 블록도
도 5는 본 발명의 일 실시예에 따라 멀티패쓰 억세스블 DRAM을 갖는 멀티 플로세서 시스템의 블록도
도 6은 도 5에서의 멀티패쓰 억세스블 DRAM의 메모리 영역들과 포트들 및 내부 버퍼의 배치관계를 보인 블록도
도 7 및 도 8은 도 5의 DRAM에서 호스트 인터페이싱 기능의 달성과 관련하여 공유 메모리 영역의 제어권을 획득하는 방법을 설명하기 위해 제시된 도면들
도 9는 도 5의 프로세서들이 도 6의 DRAM을 통하여 데이터를 수수하는 것을 보여주는 예시적 플로우 챠트
도 10 및 도 11은 호스트 인터페이싱 기능과 관련한 도 6의 DRAM의 라이트/리드 동작 관련 타이밍도들
도 12는 도 6의 구체적 회로블록도
본 발명은 반도체 메모리 장치에 관한 것으로, 특히 프로세서들 간 호스트 인터페이싱 기능을 갖는 멀티패쓰 억세스블 반도체 메모리 장치에 관한 것이다.
일반적으로, 복수의 억세스 포트를 가지는 반도체 메모리 소자는 멀티포트 메모리로 불려지고 특히 2개의 억세스 포트를 갖는 메모리 소자는 듀얼포트 메모리로 칭해지고 있다. 전형적인 듀얼포트 메모리는 본 분야에 널리 공지된 것으로서, 랜덤 시퀀스로 억세스 가능한 RAM포트와 시리얼 시퀀스만으로 억세스 가능한 SAM 포트를 가지는 이미지 프로세싱용 비디오 메모리이다.
한편, 후술될 본 발명의 설명에서 보다 명확하게 구별될 것이지만, 그러한 비디오 메모리의 구성과는 달리, SAM 포트를 가지지 않으며 DRAM 셀로 구성된 메모리 셀 어레이 중 공유 메모리 영역을 복수의 억세스 포트를 통하여 리드 또는 라이트 하기 위한 다이나믹 랜덤 억세스 메모리를 우리는 상기 멀티포트 메모리와 철저히 구별하기 위하여 본 발명에서 멀티패쓰 억세스블 반도체 메모리 장치라고 칭하 기로 한다.
오늘날 인간생활의 유비쿼터스 지향추세에 따라, 인간이 취급하게 되는 전자 시스템도 그에 부응하여 눈부시게 발전되어 지고 있다. 최근에 휴대용 전자 시스템 예를 들어 휴대용 멀티미디어 플레이어나 핸드 헬드 폰, 또는 PDA 등의 전자기기에서는 기능이나 동작 수행의 고속화 및 원활화를 도모하기 위하여 제조 메이커는 도 1에서 보여지는 바와 같이 복수의 프로세서를 채용한 멀티 프로세서 시스템을 구현해왔다.
도 1을 참조하면, 제1 프로세서(10)와 제2 프로세서(12)는 접속라인(L10)을 통해 서로 연결되어 있고, NOR 메모리(14)와 DRAM(16)은 설정된 버스들(B1-B3)을 통해 상기 제1 프로세서(10)에 버싱되고, DRAM(18)과 NAND 메모리(20)는 설정된 버스들(B4-B6)을 통해 상기 제2 프로세서(12)에 버싱되어 있다. 여기서, 상기 제1 프로세서(10)는 통신신호의 변조 및 복조를 수행하는 모뎀기능을 가질 수 있고, 상기 제2 프로세서(12)는 통신 데이터의 처리나 게임, 오락 등의 수행을 위한 어플리케이션 기능을 가질 수 있다. 셀 어레이의 구성이 NOR 구조를 갖게 되는 NOR 메모리(14)와 셀 어레이의 구성이 NAND 구성을 갖게 되는 NAND 메모리(20) 모두는 플로팅 게이트를 갖는 트랜지스터 메모리 셀을 갖는 불휘발성 메모리로서, 전원이 오프되더라도 지워져서는 아니되는 데이터 예컨대 휴대용 기기의 고유 코드 및 보존 데이터의 저장을 위해 탑재되며, DRAM들(16、18)은 프로세서의 데이터 처리를 위한 메인 메모리로서 기능한다.
그러나, 도 1과 같은 멀티 프로세서 시스템에서는 각 프로세서마다 DRAM이 각기 대응적으로 할당되고 상대적으로 저속의 UART,SPI,SRAM 인터페이스가 사용되기 때문에, 데이터 전송속도가 충분히 확보되기 어렵고 사이즈의 복잡성이 초래되며 메모리 구성 비용도 부담스럽다. 따라서, 점유 사이즈를 줄임은 물론 데이터 전송속도를 높이고 DRAM 메모리의 채용 개수를 줄이기 위한 스킴이 도 2에 도시되어 있다.
도 2를 참조하면, 도 1의 시스템에 비해 하나의 DRAM(17)이 제1 및 제2 프로세서(12)에 버스들(B1,B2)을 통해 연결되어 있는 것이 특이하게 보여진다. 도 2의 멀티 프로세서 시스템의 구조와 같이 2개의 패쓰를 통하여 하나의 DRAM(17)을 각각의 프로세서가 억세스 하는 것이 가능하게 될려면, 2개의 포트가 상기 버스들(B1,B2)에 대응적으로 연결될 것이 요구된다. 그렇지만, 통상의 DRAM 은 도 3에서 보여지는 바와 같이 단일 포트(PO)를 갖는 메모리(1)이다.
통상의 DRAM 구조를 보여주는 도 3을 참조하면, 메모리 셀 어레이는 로우 디코더(8)와 컬럼 디코더(7)에 각기 대응적으로 연결된 제1-4뱅크(3,4,5,6)로 구성된다. 상부 입출력 센스앰프 및 드라이버(13)는 멀티플렉서들(11,12)을 통해 상기 제1 뱅크(3) 또는 제3 뱅크(5)와 동작적으로 연결되고, 하부 입출력 센스앰프 및 드라이버(15)는 멀티플렉서들(13,14)을 통해 상기 제2 뱅크(4) 또는 제4 뱅크(6)와 동작적으로 연결된다. 예를 들어, 제1 뱅크(3)내의 메모리 셀이 선택되고 그 선택된 메모리 셀에 저장된 데이터가 리드되는 경우라고 하면 리드되는 데이터의 출력 과정은 다음과 같다. 먼저, 선택된 워드라인이 활성화 된 후 비트라인 센스앰프에 의해 감지 및 증폭되어진 메모리 셀의 데이터는 해당 컬럼 선택 라인(CSL)의 활성 화에 따라 로컬 입출력 라인(9)에 전달된다. 상기 로컬 입출력 라인(9)에 전달된 데이터는 제1 멀티플렉서(21)의 스위칭 동작에 의해 글로벌 입출력 라인(GIO)으로 전달되고, 글로벌 입출력 라인(GIO)에 연결된 제2 멀티플렉서(11)는 상기 글로벌 입출력 라인(GIO)의 데이터를 상부 입출력 센스앰프 및 드라이버(13)로 전달한다. 상기 입출력 센스앰프 및 드라이버(13)에 의해 재차로 감지 및 증폭된 데이터는 패쓰부(16)를 통해 데이터 출력라인(L5)으로 출력된다. 한편, 제4 뱅크(6)내의 메모리 셀에 저장된 데이터가 리드되는 경우에 멀티플렉서(24)-멀티플렉서(14)-하부 입출력 센스앰프 및 드라이버(15)-패쓰부(16)-데이터 출력라인(L5)을 차례로 거쳐 데이터가 출력단(DQ)으로 출력된다. 이와 같이, 도 3의 DRAM(1)은 두 뱅크가 하나의 입출력 센스앰프 및 드라이버를 공유하는 구조를 가지며 데이터의 입출력이 하나의 포트(PO)를 통해 수행되는 단일 포트 메모리임을 알 수 있다. 결국, 도 3의 DRAM(1)은 도 1의 시스템에 적용이 가능할 뿐이고 도 2와 같은 멀티 프로세서 시스템에는 메모리 뱅크의 구조나 포트의 구조에 기인하여 적용이 어렵게 된다.
도 2와 같은 멀티 프로세서 시스템에 적합한 메모리를 기본적으로 구현하려는 본 발명자들의 의도와 유사하게, 공유 메모리 영역이 복수의 프로세서에 의해 억세스될 수 있는 도 4의 구성을 갖는 선행기술이 에우지니 피.매터(Matter)외 다수에 의해 발명되어 2003년 5월 15일자로 미합중국에서 특허공개된 공개번호 US2003/0093628호에 개시되어 있다.
도 4를 참조하면, 메모리 어레이(35)는 제1,2,3 포션으로 이루어져 있고, 상기 메모리 어레이(35)의 제1 포션(33)은 포트(37)를 통해 제1 프로세서(70)에 의해 서만 억세스되고 상기 제2 포션(31)은 포트(38)를 통해 제2 프로세서(80)에 의해서만 억세스되며, 제3 포션(32)은 상기 제1,2 프로세서(70,80)모두에 의해 억세스 되는 멀티 프로세서 시스템(50)이 보여진다. 여기서, 상기 메모리 어레이(35)의 제1,2 포션(33,31)의 사이즈는 상기 제1,2 프로세서(70,80)의 동작 부하에 의존하여 유동적으로 변경될 수 있으며, 메모리 어레이(35)의 타입은 메모리 타입 또는 디스크 저장타입으로 구현되어지는 것이 나타나 있다.
DRAM 구조에서 제1,2 프로세서(70,80)에 의해 공유(shared)되는 제3 포션(32)을 메모리 어레이(35)내에 구현하기 위해서는 몇 가지의 과제들이 해결되어져야 한다. 그러한 해결 과제들 중의 하나로서, 메모리 어레이(35)내의 메모리 영역들 및 입출력 센스앰프의 배치와 각 포트에 대한 적절한 리드/라이트 패쓰(경로)제어 테크닉은 매우 중요한 과제이다.
또한, 종래의 프로세서들 예를 들어 모뎀과 애플리케이션 프로세서(혹은 멀티미디어 코프로세서)간의 통신을 위해서는 UART,SPI,혹은 SRAM 인터페이스가 사용되어 왔는데, 그러한 인터페이스는 속도의 제한, 핀 개수의 증가 등의 문제점이 수반된다. 특히, 3차원 게임이나 화상통신, HDPDA, 와이브로(wibro)등의 원활한 구현을 제공하기 위해서는 모뎀과 프로세서 간의 데이터 트래픽이 크게 늘어나야 하기 때문에, 프로세서들 간의 고속의 인터페이스의 필요성이 증가되는 실정이다.
따라서, 따라서 둘 이상의 프로세서들을 가지는 멀티 프로세서 시스템에서 DRAM 메모리 셀 어레이 내에 할당된 공유 메모리 영역을 공유하면서, 메모리 외부의 저속 인터페이싱에 따른 문제까지도 제거할 수 있는 보다 적절한 해결책이 요망 된다.
따라서, 본 발명의 목적은 DRAM 메모리 셀 어레이 내에 할당된 공유 메모리 영역을 원활히 억세스할 수 있는 멀티 프로세서 시스템을 제공함에 있다.
본 발명의 다른 목적은 하나이상의 프로세서들에 의해 공유되는 메모리 영역을 가지며, 메모리 외부의 인터페이스 대신에 디램 인터페이스를 프로세서들에게 제공할 수 있는 멀티패쓰 억세스블 반도체 메모리 장치를 제공함에 있다.
본 발명의 또 다른 목적은 공유 메모리 영역과, 공유 메모리 영역의 일부 영역을 가리키는 특정 어드레스에 응답하는 인터페이싱 부를 활용하여, 프로세서들 간의 데이터 통신이 고속으로 수행될 수 있도록 하는 멀티패쓰 억세스블 반도체 메모리 장치를 제공함에 있다.
본 발명의 또 다른 목적은 공유 메모리 영역의 설정된 워드라인을 인에이블 시키는 로우 어드레스를 디램 칩 내부에 마련된 레지스터에 변경적으로 할당하고, 이를 통해 호스트 인터페이싱 기능을 위한 공유 메모리 영역의 점유권, 점유권의 획득을 위한 점유 요청, 데이터 전달 메시지가 상대 프로세서에게 인식될 수 있도록 하는 멀티 프로세서 시스템 또는 디램을 제공함에 있다.
본 발명의 또 다른 목적은 공유 메모리 영역을 두 개 이상의 프로세서에서 공유할 경우에도 메모리 외부의 호스트 인터페이스의 사용 없이도 인터페이싱을 수행할 수 있는 멀티패쓰 억세스블 반도체 메모리 장치 및 프로세서들 간 인터페이싱 방법을 제공함에 있다.
상기한 본 발명의 목적들 가운데 일부의 목적들을 달성하기 위하여 본 발명의 일 구체화(embodiment)에 따른 반도체 메모리 장치는: 메모리 셀 어레이 내에 적어도 하나이상 할당된 공유 메모리 영역과; 상기 프로세서들로부터 인가되는 외부신호들에 응답하여 상기 포트들 중 선택된 하나의 포트와 상기 공유 메모리 영역간의 데이터 억세스 패쓰가 형성되도록 하는 억세스 패쓰 형성부와; 상기 복수의 프로세서들 간의 통신 시 인터페이스 기능의 제공을 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되는 세맵퍼 영역과 메일박스 영역들을 갖는 인터페이스 부를 구비함을 특징으로 한다.
본 발명의 다른 구체화에 따라 프로세서들 간 인터페이싱 방법은, 프로세서들 간의 통신 시 디램 인터페이스를 사용하고, 세맵퍼 영역과 메일박스 영역들을 갖는 디램 내의 인터페이스 부를 이용하여 상기 프로세서들이 공통으로 억세스 가능한 공유 메모리 영역을 통해 데이터 통신이 수행되도록 하는 것을 특징으로 한다.
본 발명의 또 다른 구체화에 따라, 휴대용 통신 시스템은,
제1 설정 타스크를 수행하는 제1 프로세서;
제2 설정 타스크를 수행하는 제2 프로세서; 및
상기 제1,2 프로세서 모두에 의해서 억세스되는 공유 메모리 영역과 상기 제1,2 프로세서 각각에 의해서 각기 억세스되는 전용 메모리 영역을 가지는 메모리 셀 어레이와, 상기 제1,2 프로세서의 버스와 각기 대응적으로 연결되는 제1,2 포트와, 상기 제1,2 프로세서들로부터 인가되는 외부신호들에 응답하여 상기 포트들 중 선택된 하나의 포트와 상기 공유 메모리 영역간의 데이터 억세스 패쓰가 형성되도록 하는 억세스 패쓰 형성부와, 상기 제1,2 프로세서들 간의 통신 시 인터페이스 기능의 제공을 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되는 세맵퍼 영역과 메일박스 영역들을 갖는 레지스터 부를 포함하는 다이나믹 랜덤 억세스 메모리를 구비한다.
상기한 바와 같은 본 발명의 실시예적 구성들에 따르면, 프로세서들 간 호스트 인터페이싱이 메모리 내부를 통해 제공되어 할당된 공유 메모리 영역을 복수의 프로세서들이 고속으로 억세스할 수 있게 된다. 따라서, 데이터 전송 및 처리속도가 개선되고 시스템 사이즈가 콤팩트하게 되며 필요 메모리의 개수를 감소시킴에 의해 시스템에서 차지하는 메모리의 코스트가 대폭 줄어드는 이점이 있다.
이하에서는 본 발명에 따라, 프로세서들 간 인터페이싱 기능을 갖는 멀티패쓰 억세스블 반도체 메모리 장치에 관한 바람직한 실시예가 첨부된 도면들을 참조로 설명될 것이다.
이하의 실시예에서 많은 특정 상세들이 도면을 따라 예를 들어 설명되고 있지만, 이는 본 분야의 통상의 지식을 가진 자에게 본 발명의 보다 철저한 이해를 돕기 위한 의도 이외에는 다른 의도 없이 설명되었음을 주목(note)하여야 한다. 그렇지만, 본 발명이 이들 특정한 상세들 없이도 실시될 수 있을 것임은 본 분야의 숙련된 자들에 의해 이해될 수 있을 것이다. 다른 예증, 공지 방법들, 프로시져들, 통상적인 다이나믹 랜덤 억세스 메모리 및 회로들은 본 발명을 모호하지 않도록 하기 위해 상세히 설명되지 않는다.
도 5는 본 발명의 일 실시예에 따라 멀티패쓰 억세스블 DRAM을 갖는 멀티 플로세서 시스템의 블록도이다. 도면을 참조하면, 휴대용 통신 시스템은, 제1 설정 타스크를 수행하는 제1 프로세서(10)와, 제2 설정 타스크를 수행하는 제2 프로세서(12)와, 상기 제1,2 프로세서들(10,20)에 의해 억세스되는 메모리 영역들을 메모리 셀 어레이 내에 가지는 DRAM(17)을 구비한다. 또한, 상기 휴대용 통신 시스템은 각각의 버스를 통해 제1,2 프로세서(10,12)와 연결되는 플래시 메모리들(101,102)을 포함한다.
한정되는 것은 아니지만, 도 5에서 보여지는 상기 DRAM(17)은 서로 독립적인 2개의 포트를 갖는다. 편의상 신호(INTa)가 출력되는 포트(A)를 제1 포트라고 하면 이는 범용입출력(GIPO)라인을 통하여 상기 제1 프로세서(10)와 연결된다. 신호(INTb)가 출력되는 포트(B)를 제2 포트라고 하면 이는 범용입출력(GIPO)라인을 통하여 상기 제2 프로세서(12)와 연결된다. 여기서, 상기 제1 프로세서(10)는 통신신호의 변조 및 복조를 수행하는 모뎀기능이나 베이스 밴드 처리 기능을 프로세싱 타스크로서 가질 수 있고, 상기 제2 프로세서(12)는 통신 데이터의 처리나 게임, 동영상, 오락 등의 수행을 위한 애플리케이션 기능을 프로세싱 타스크로서 가질 수 있다. 필요한 경우에 상기 제2 프로세서(12)는 멀티미디어 코프로세서일 수 있다.
또한, 상기 플래시 메모리들(101,102)은 메모리 셀 어레이의 셀 연결구성이 NOR 구조 또는 NAND 구조로 되어 있고 메모리 셀이 플로팅 게이트를 갖는 모오스 트랜지스터로 되어 있는 불휘발성 메모리이다. 상기 플래시 메모리들(101,102)은 전원이 오프되더라도 지워져서는 아니되는 데이터 예컨대 휴대용 기기의 고유 코드 및 보존 데이터의 저장을 위한 메모리로서 탑재된다.
도 5에서 보여지는 바와 같이 듀얼 포트를 갖는 상기 DRAM(17)은, 프로세서들(10,12)에 실행되어질 수 있는 명령들과 데이터를 저장하기 위해 사용될 수 있다. 또한, 상기 DRAM(17)은 상기 제1,2 프로세서들(10,12)간의 인터페이싱 기능을 담당한다. 보다 상세한 것은 후술될 것이지만, 프로세서들(10,12) 간의 통신 시 외부 인터페이스 대신에 디램 인터페이스가 사용된다. 세맵퍼 영역과 메일박스 영역들을 갖는 디램 내의 인터페이스 부를 활용함에 의해 상기 프로세서들(10,12)은 공통으로 억세스 가능한 공유 메모리 영역을 통해 데이터 통신을 수행한다. 프로세서들 간 호스트 인터페이싱이 메모리 내부를 통해 제공될 경우에 할당된 공유 메모리 영역을 복수의 프로세서들이 고속으로 억세스할 수 있게 되어, 데이터 전송 및 처리속도가 개선되고 시스템 사이즈가 콤팩트하게 된다.
상기 도 5의 시스템은 이동통신 디바이스(예 셀룰러 폰), 양방향 라디오 통신 시스템, 단방향 페이저, 양방향 페이저, 개인용 통신 시스템, 또는 휴대용 컴퓨터, 등과 같은 휴대용 컴퓨팅 디바이스 또는 휴대용 통신 디바이스가 될 수 있다.본 발명의 스코프와 응용이 이들에 한정되는 것이 아님은 이해되어야 한다.
상기 도 5의 시스템에서 프로세서들의 개수는 3개 이상으로 확장될 수 있다. 상기 시스템의 프로세서는 마이크로프로세서, CPU, 디지털 신호 프로세서, 마이크로 콘트롤러, 리듀스드 명령 세트 컴퓨터, 콤플렉스 명령 세트 컴퓨터, 또는 그와 유사한 것이 될 수 있다. 그러나 시스템 내의 프로세서들의 개수에 의해 본 발명의 범위가 제한되지 않음은 이해되어져야 한다. 부가하면, 본 발명의 범위는 프로세서들이 동일 또는 다르게 되는 경우에 프로세서들의 어느 특별한 조합에 한정되지 않는다.
이제부터는 상기 도 5의 DRAM(17)내의 인터페이스 부와 공유 메모리 영역의 배치관계 및 프로세서들 간의 데이터 통신 동작의 상세가 메모리 장치의 내부 일부를 보여주는 도면들을 참조로 본 발명의 이해를 돕기 위한 의도로서만 설명될 것이다.
도 6은 도 5에서의 멀티패쓰 억세스블 DRAM의 메모리 영역들과 포트들 및 내부 버퍼의 배치관계를 보인 블록도이다. 도면에서 4개의 메모리 영역들(B1-B4)이 메모리 셀 어레이 내에 배치되어 있다. 우선, A 뱅크 메모리 영역(B1)은 제1 포트(A)를 통하여 제1 프로세서(10)에 의해 억세스 되고, C 및 D 뱅크 메모리 영역(B3,B4)은 제2 포트(B)를 통하여 제2 프로세서(12)에 의해 억세스 되며, B 뱅크 메모리 영역(B2)은 제1,2 포트(A,B)를 통하여 제1,2프로세서들(10,12) 모두에 의해 억세스 된다. 결국, 상기 B 뱅크 메모리 영역(B2)은 공유 메모리 영역이고, A,C,D 뱅크 메모리 영역들(B1,B3,B4)은 각기 대응되는 프로세서에 의해서만 억세스되는 전용 메모리 영역이다. 상기 4개의 메모리 영역들(B1-B4)은 각기 DRAM의 뱅크 단위로 구성될 수 있으며, 하나의 뱅크는 예컨대 64MB, 128MB, 256MB, 512MB, 또는 1024MB 의 메모리 스토리지를 가질 수 있다.
도 6에서, 프로세스들 간의 인터페이스를 DRAM을 통해 제공하기 위해, DRAM 내부에는 레지스터나 버퍼 등과 같은 인터페이스 부가 마련된다. 상기 인터페이스 부는 프로세싱 시스템 개발자에게 익숙한 개념의 세맵퍼(semaphore) 영역과 메일박스(mail box)영역들을 갖는다. 여기서, DRAM 내의 공유 메모리 영역의 임의의 1행을 인에이블 시키는 특정 로우 어드레스(1FFF800h ~ 1FFFFFFh, 2KB 사이즈 = 1 로우 사이즈)가 상기 인터페이스 부로서의 내부 레지스터에 변경적으로 할당된다. 이에 따라, 상기 특정 로우 어드레스(1FFF800h ~ 1FFFFFFh)가 인가될 때, 공유 메모리 영역의 대응되는 특정 워드라인은 디세이블되며, 대신에 상기 인터페이스 부가 인에이블된다. 결국, 시스템적으로는 다이렉트 어드레스 매핑 방법을 사용하여 상기 인터페이스 부의 세맵퍼 영역과 메일박스 영역들이 억세스되도록 하는 것이고, 디램 내부적으로는 디세이블된 해당 어드레스로 접근하는 명령어를 해석하여 디램 내부의 레지스터로 매핑을 시키는 것이다. 따라서, 칩셋의 메모리 콘트롤러는 이 영역을 다른 메모리의 셀과 동일한 방법으로 코멘드를 발생시키게 되며, 이는 오픈 팔리시를 사용하는 콘트롤러로 인해 야기될 수 있는 프리차아지 미스 문제를 사전에 방지할 수 있게 한다.
도 6에서 상기 내부 레지스터내에 16비트로서 할당된 세맵퍼(semaphore)영역, 16비트로서 할당된 mail box A to B 영역, 16비트로서 할당된 mail box B to A 영역, 및 예비 영역(Rvd)들은 상기 특정 로우 어드레스에 의해 공통 인에이블 되며, 인가되는 컬럼 어드레스에 따라 개별적으로 억세스(매핑)된다. 결국, 상기 특정 로우 어드레스(1FFF800h ~ 1FFFFFFh)가 인가될 때, 공유 메모리 영역의 대응되는 일부 영역(A2)은 디세이블되며, 대신에 상기 디램내의 레지스터가 인에이블되 어, 프로세서들에게 디램 인터페이스가 제공된다.
상기 레지스터에 할당된 세맵퍼 영역에는 공유 메모리 영역에 대한 제어 권한이 표시되고, 메일박스 영역에는 미리 설정된 전송방향에 따라 상대 프로세서에게 주는 메시지(권한요청, 데이터 전달, 명령어 전송 등)가 쓰여진다. 특히, 메일 박스 영역을 통해 상대 프로세서에게 메시지를 전달하고자 할 경우에는 메일 박스 라이트 명령어가 사용된다. 상기 라이트 명령어가 발생되면 미리 정해진 방향으로 해당 프로세서의 인터럽트 처리 서비스를 실행하도록 디램은 출력신호(이하 INTa,INTb)를 생성하고, 이 출력신호는 하드웨어적으로 해당 프로세서의 GPIO, 혹은 UART 등으로 연결된다.
도 7 및 도 8은 도 5의 DRAM에서 호스트 인터페이싱 기능의 달성과 관련하여 공유 메모리 영역의 제어권을 획득하는 방법을 보여준다. 도 7 및 도 8의 예시는 세맵퍼와 메일박스를 활용하여 프로세서가 제어 권한을 획득하는 경우의 예로서, 이는 프로세서들의 공유자원인 공유 메모리 영역을 서로 충돌 없이 사용하기 위해 필요해지는 작업이다. 통상적인 디램 메모리의 초기화과정에서 2회의 오토 리프레쉬 수행 후 MRS(모드 레지스터 세트)신호가 세트되는데, 여기서는 메모리의 초기화가 완료되기 이전이므로 오토 리프레쉬가 수행되지 못한다. 오토 리프레쉬가 수행되지 못하는 것을 방지하기 위해 공유 메모리 영역(B2)의 제어권한을 디폴트로 한쪽 프로세서(이하 "AP/MC")에 할당한다. 이 후 권한이 없는 다른 프로세서(이하 "모뎀"으로 명명)가 상기 공유 메모리 영역(B2)을 사용하고 싶을 때에는 권한이 있는 프로세서에게 권한을 요청하는 메일박스를 화살 부호(1)의 경로를 통해 보내고, 모뎀(10)은 제어권한의 획득 유무를 확인하기 위해 주기적으로 상기 세맵퍼 영역을 화살 부호(2)의 경로를 통해 모니터링한다. 이 때 디램(17)은 해당 메일박스 라이트 명령어를 확인한 후 AP/MC(12)로 인터럽트를 발생시키도록 화살 부호(3)의 경로를 통해 출력을 활성화시키고, AP/MC(12)의 인터럽트 콘트롤러(15)에서는 화살 부호(4)의 경로를 통해 해당 메일박스 리드 명령어가 들어오면 활성화 신호를 비활성화 신호로 전환한다. 이후 AP/MC(12)의 CPU(14)는 인터럽트 서비스 루틴을 실행하여 본연의 작업이 완료되면 세맵퍼를 상대 프로세서(10)가 사용할 수 있도록 화살 부호(5)의 경로를 통해 놓아(방면)준다. 따라서, 이를 주기적으로 모니터링하고 있는 모뎀(10)은 화살 부호(5)의 경로를 통해 세맵퍼의 릴리즈를 확인하고 공유 자원인 공유 메모리 영역(B2)의 억세스 권한을 확보하게 된다.
도 9는 도 5의 프로세서들이 도 6의 DRAM을 통하여 데이터를 수수하는 것을 보여주는 예시적 플로우 챠트이다. 또한, 도 10 및 도 11은 호스트 인터페이싱 기능과 관련한 도 6의 DRAM의 라이트/리드 동작 관련 타이밍을 보여준다.
도 9 내지 도 11에서는 제2 프로세서가 공유 메모리 영역(B2)의 억세스 권한을 가진 경우에, 제1 프로세서인 모뎀(10)이 억세스 권한을 획득하는 것과, 모뎀(10)의 데이터가 제2 프로세서인 AP(12)로 전송되도록 하는 예가 나타나 있다. 여기서, 도 12에서 보여지는 공유 메모리 뱅크(A1)에 상기 모뎀(10)이 데이터를 쓰고 상기 AP(12)가 데이터를 리드하는 경우에, 도 12의 내부 레지스터(50)에 마련된 세맵퍼와/메일박스를 활용하는 예가 도 10 및 도 11의 타이밍을 통하여 구체적으로 보여진다.
디램 내부 인터페이스를 통해 데이터를 전송하는 과정을 설명하기 이전에, 도 6의 구체적 회로 블록도를 보여주는 도 12를 참조하여 멀티 패쓰 억세스블 디램의 멀티패쓰 억세스 동작에 대하여 설명한다.
도 12에서 예를 들어, 제1포트(500)를 통하여 제1 프로세서(10)가 상기 공유 메모리 뱅크(A1)를 억세스할 때 상기 제2 프로세서(12)는 실질적으로 동시에 상기 제2 포트(510)를 통하여 또 다른 메모리 영역을 억세스할 수 있는데, 이러한 멀티패쓰 억세스 동작은 도 12의 패쓰 결정부(200)를 기본적으로 포함하는 억세스 패쓰 형성부에 의해 구현된다.
상기 제1,2 프로세서(10,12) 모두에 의해서 억세스될 수 있는 공유 메모리 뱅크(A1)의 경우를 예를 들면, 공유 메모리 영역(A1)내의 글로벌 입출력 라인(GIO)은 상기 제1,2 프로세서들에 각기 대응적으로 연결되는 제1,2 포트(500,510)중의 하나에 선택적으로 연결될 수 있다. 그러한 선택적 연결은 패쓰 결정부(200)의 제어 동작에 의해 실현된다.
상기 억세스 패쓰 형성부에 포함되는 상기 패쓰 결정부(200)는 상기 제1,2 프로세서들(10,12)로부터 인가되는 외부신호들(IN_A,IN_B)에 응답하여 상기 포트들 (A,B)중 선택된 하나의 포트와 상기 공유 메모리 영역(A1)간의 데이터 억세스 패쓰가 형성되도록 하는 패쓰 결정신호(MA,MB)를 생성한다. 여기서, 상기 외부신호들은 상기 제1,2 포트(500,510)를 통해 각기 인가되는 로우 어드레스 스트로브 신호(RASB)와 라이트 인에이블 신호(WEB)및 뱅크 선택 어드레스(BA)를 포함할 수 있다.
상기 억세스 패쓰 형성부는 또한, 상기 패쓰 결정신호(MA,MB)에 응답하여 상기 제1,2 포트(500,510)를 통해 각기 인가되는 로우 및 컬럼 어드레스들(A_ADD,B_ADD,A_CADD,B_CADD)중에서 하나의 로우 및 컬럼 어드레스(A_ADD,A_CADD)를 선택하고 이를 상기 공유 메모리 영역(A1)과 연결되어 있는 로우 디코더(30) 및 컬럼 디코더(40)에 각기 인가하기 위한 로우 및 컬럼 어드레스 멀티플렉서(28,38)와,
상기 패쓰 결정신호(MA,MB)에 응답하여 상기 공유 메모리 영역(A1)의 글로벌 입출력 라인(GIO)을 제1 또는 제2 포트로 연결하기 위한 글로벌 제1,2 멀티플렉서(120,121)와,
상기 글로벌 제1 멀티플렉서(120)와 상기 제1 포트(500)간에 설치된 제1 입출력 관련회로(130,300)와 상기 글로벌 제2 멀티플렉서(121)와 상기 제2 포트(510)간에 설치된 제2 입출력 관련회로(131,310)를 포함하는 입출력 관련 패쓰부를 포함한다.
상기 제1 입출력 관련회로는, 상기 글로벌 제1 멀티플렉서(120)와 동작적으로 연결된 입출력 센스앰프와, 데이터 입출력 드라이버를 포함할 수 있다.
상기 공유 메모리 영역(A1)에 행과 열의 매트릭스 형태로 배치되는 복수의 메모리 셀은, 하나의 억세스 트랜지스터와 스토리지 커패시터로 이루어진 디램 메모리 셀일 수 있다.
도 12에서 보여지는 상기 공유 메모리 영역(A1) 하나에는 입출력 센스앰프 및 라이트 드라이버가 2개(130,131)로 배치되며, 상기 글로벌 제1,2 멀티 플렉 서(120,121)는 서로 상보적 스위칭 동작을 가진다.
제1,2 프로세서들(10,12)은, 억세스 동작시에 글로벌 입출력 라인(GIO)과 메모리 셀간에 존재하는 회로 소자들 및 라인들을 공통으로 사용하고, 각 포트에서 상기 글로벌 멀티플렉서(120,121)까지의 입출력 관련 회로 소자들 및 라인들을 독립적으로 사용한다.
보다 구체적으로, 상기 공유 메모리 영역(A1)의 글로벌 입출력 라인(GIO)과, 상기 글로벌 입출력 라인과 동작적으로 연결되는 로컬 입출력 라인(LIO)과, 상기 로컬 입출력 라인과는 컬럼 선택신호(CSL)에 의해 동작적으로 연결되는 비트라인 (BL)과, 상기 비트라인에 설치되어 비트라인의 데이터를 감지 증폭하는 비트라인 센스앰프와, 상기 비트라인에 메모리 셀을 형성하는 억세스 트랜지스터(AT)가 연결된 메모리 셀은 상기 제1,2 포트를 통하여 각기 상기 제1,2 프로세서들(10,12)에 의해 공유됨을 주목하여야 한다.
상기 패쓰 결정부(200)는 복수의 논리 게이트들로 구성되어 있고 상기 제1,2 포트(500,510)를 통해 각기 인가되는 로우 어드레스 스트로브 신호(RASB_A,B)와 라이트 인에이블 신호(WEB_A,B)및 뱅크 선택 어드레스(BA_A,B)를 수신한다. 상기 패쓰 결정부(200)는 포트들 중 하나의 포트에서 로우 어드레스 스트로브 신호(RASB)가 먼저 들어오게 되면, 그 들어온 포트에 상기 공유 메모리 영역(A1)이 어랜지되도록 패쓰 결정신호(MA,MB)를 생성한다. 만약, 동시에 로우 어드레스 스트로브 신호(RASB)가 인가될 경우는 시스템의 스펙시피케이션으로써 차단하여 우선권을 부여 받은 프로세서가 상기 공유 메모리 영역(A1)을 억세스할 수 있도록 하는 것이 바람 직하다.
상기 제1 프로세서(10)가 공유 뱅크인 상기 공유 메모리 영역(A1)을 억세하는 경우라고 가정하고, 그 때의 동작 모드를 리드동작이라고 가정하면, 도 12의 패쓰 결정부(200)는 제1 프로세서(10)로부터 인가되는 외부신호들을 논리 조합하여 패쓰 결정신호(MA)를 활성화하고, 패쓰 결정신호(MB)를 비활성화한다. 로우 어드레스 멀티플렉서(28)는 제1 포트(A)를 통해 인가되는 로우(row) 어드레스(A_ADD)를 선택하고 이를 로우 디코더(30)에 인가한다. 로우 디코더(30)는 상기 제1 프로세서(10)가 억세스하기를 원하는 상기 공유 메모리 영역(A1)내의 워드라인(WLi)이 활성화되도록 한다. 상기 워드라인(WLi)이 활성화되면 동일 워드라인에 억세스 트랜지스터의 게이트가 연결된 메모리 셀들의 데이터는 대응되는 비트라인에 디벨롭된다. 비트라인 센스앰프는 상기 디벨롭을 감지 및 증폭하여 출력하고, 이 비트라인 데이터는 컬럼 선택 신호(CSL)의 활성화에 응답하는 컬럼 게이트가 턴온될 때, 대응되는 로컬 입출력라인(LIO)에 비로서 전달된다. 상기 컬럼 게이트의 턴온과정은 다음과 같다. 상기 워드라인(WLi)이 활성화되어 상기 비트라인에 메모리 셀의 데이터가 하이 또는 로우 레벨의 포텐셜로서 나타난 이후에, 상기 컬럼 어드레스 멀티플렉서(38)는 제1 포트(A)의 컬럼 어드레스(A_CADD)를 선택하고 이를 컬럼 디코더(40)에 출력한다. 컬럼 디코더(40)는 결국 상기 제1 프로세서(10)가 억세스하기를 원하는 컬럼을 선택하는 컬럼 선택 신호를 활성화한다.
전위레벨로써 나타나는 상기 로컬 입출력 라인(LIO)의 데이터는, 제1멀티플렉서(20:LIO MUX))를 구성하는 트랜지스터들이 턴온될 때, 글로벌 입출력 라 인(GIO)으로 전달된다. 여기서, 상기 트랜지스터들의 게이트에 공통으로 인가되는 스위칭 신호는 상기 로우 디코더(30)에서 출력되는 디코딩 신호에 응답하여 생성되는 신호일 수 있다.
이 경우에는 패쓰 결정신호(MA)가 활성화 상태로 출력되는 경우이므로, 상기 글로벌 입출력 라인(GIO)으로 전달된 데이터는 상기 제2 멀티플렉서(120)를 통해 입출력 센스앰프 및 드라이버(130)로 전달된다. 입출력 센스앰프는, 지금까지의 경로를 통해 전달됨에 따라 레벨이 미약해진 데이터를 재차로 증폭하여 멀티플렉서 및 드라이버(300)를 통해 제1 포트(500)로 전달한다.
한편, 이 경우에 상기 제2 멀티플렉서(121)는 디세이블되므로 상기 공유 메모리 영역(A1)에 대한 제2 프로세서(12)의 억세스 동작은 차단된다. 그렇지만, 이 경우에 제2 프로세서(12)는 제2포트(510)를 통해 상기 공유 메모리 영역(A1)이외의 메모리 영역들을 억세스 할 수 있다. 여기서, 상기 메모리 영역들의 사이즈나 개수의 설정은 상기 제1,2 프로세서의 동작 부하에 의존하여 변경될 수 있음은 물론이다.
다시 도 9 내지 도 11로 돌아가서, 이제부터는 공유 메모리 뱅크(A1)에 상기 모뎀(10)이 데이터를 쓰고 상기 AP(12)가 데이터를 리드하는 경우의 예가 설명될 것이다.
먼저, 도 9의 단계 S91을 참조하면, B 포트가 디폴트로 억세스 권한을 갖는 다는 것을 알 수 있다. 따라서, 도 10에서 권한을 의미하는 신호 AUT 는 "B-마스터"로 표시되어 있다. 이 경우에 모뎀(10)은 도 12의 내부 레지스터(50)의 세맵퍼 영역(51)을 주기적으로 리드하여 보아도 AP(12)가 권한을 갖고 있는 것으로 확인된다. 이제, A 포트에 연결된 모뎀(10)이 억세스 권한을 요청하는 경우에, A to B의 메일박스(52)에 권한을 요청하는 데이터를 라이트한다. 이는 도 9의 단계 S94에 대응된다. 결국, 상기 단계 S94는 단계 S93의 억세스 권한의 체크 결과 B 포트가 권한을 가진 것으로 판명된 이후에 수행되는 것이다. 상기 억세스 요청의 결과에 따라 도 10의 화살부호 A1와 같이 AP(12)에는 디램(17)의 출력신호(INTb)가 로우레벨로서 인가된다(단계 S96). 이에 따라 AP(12)의 인터럽트 콘트롤러(15)는 상대 프로세서(10)로부터 억세스 요청이 들어 온 것을 인지하게 된다. 상기 AP(12)는 도 10의 타임 포인트 S1에서 공유 메모리 영역(A1)의 억세스 동작을 일단 정지하고 공유 메모리 영역(A1)의 메모리 셀들에 저장된 데이터의 멸실을 방지하기 위하여 프리차아지를 행한다. 단계 S97에서, 상기 AP(12)는 상기 모뎀(10)이 데이터를 쓴 A to B의 메일박스(52)를 리드하고 상기 디램(17)의 출력신호(INTb)를 하이레벨 상태로 클리어되게 한다. 따라서, 도 10의 화살부호 A2와 같이 파형 INTb의 레벨은 하이레벨로 복귀된다. 도 10의 타임 포인트 R1에서 타임 포인트 R2 구간 내에서 상기 AP(12)는 공유 메모리 영역(A1)에 대한 프리차아지 및 억세스 권한을 다시 회복하고 있다가, 타임 포인트 R2가 지나면 세맵퍼 영역(51)에 B 마스터 해제라는 데이터를 라이트한다. 이 경우에 예를 들어, 세맵퍼 영역(51)에 "1"로 표시되어 있던 데이터는 "0"으로 바뀌어 AP(12)가 억세스 권한을 넘긴다는 의미를 모뎀(10)이 알 수 있도록 할 수 있다. 상기 세맵퍼 영역(51)을 포함하는 내부 레지스터 또는 버퍼는 플립플롭이나 래치형태의 저장 셀을 가지고 있어 프리차아지 동작이 필요 없다. 도 9의 단계 S98은 상기 타임 포인트 R2가 지난 직후에 완료된다. 도 10의 타임 구간(a4)에서 상기 세맵퍼 영역(51)을 주기적으로 체크하던 상기 모뎀(10)은 상기 타임 포인트 R2 이후에 상기 세맵퍼 영역(51)을 리드하고 나서 이제 억세스 권한이 자기자신에게 있음을 비로서 인지한다. 도 10 및 도 11의 타이밍은 버스트 길이 4, 카스 레이턴스 3, 및 WL 1을 갖는 디램의 경우를 예를 든 것이며, 여기서, 상기 WL 은 도 10에서 보여지는 1클럭 주기에 대응되는 타임 구간(a2)을 가리킨다. 도 10에서 미설명된 타임 구간들(a1,a3,a4,a5,a6,a7)은 tRCD,BL/2+tWR, 억세스 권한 획득 소요구간, tRP,tRCD,CL+BL/2을 각기 가리킨다. 상기 타임 구간(a4)은 도 9의 모뎀(10)이 단계 S95를 행하는데 걸리는 타임에 대응된다. 여태까지는 도 9의 오너쉽에 포함되는 각 단계들과 도 10의 타이밍을 통하여 제1 프로세서인 모뎀(10)이 제2 프로세서인 AP(12)가 디폴트 타입으로 갖고 있던 억세스 권한을 획득하는 것에 대한 실시 예가 설명되었다.
이하에서는 억세스 권한을 획득한 모뎀(10)이 데이터를 라이트하고, 그 라이트된 데이터가 AP(12)로 전송되는 것에 대한 설명이 도 9의 데이터 프로세싱에 포함되어 있는 각 단계들과 도 11을 참조로 설명될 것이다.
도 9의 단계 S98이 수행됨에 따라 억세스 권한을 획득한 모뎀(10)은 도 9의 단계 S100,S101,S102를 차례로 수행한다. 상기 단계들 S100,S101,S102은 각기 차례로, 디램의 공유 메모리 영역에 데이터를 라이트 하는 단계, 상대 프로세서를 향한 메일 박스에 메시지 데이터를 라이트 하는 단계, 및 세맵퍼 영역(51)을 방면하는 단계이다. 도 11에서 권한을 의미하는 신호 AUT 는 전체 타임구간의 전반부에 "A-마스터"로, 전체 타임구간의 후반부에 "B-마스터"로서 표시된 것이 보여진다. 상기 모뎀(10)은 tRP를 가리키는 타임 구간(b1)이 지난 후에, 타임 구간(b2)내에서 전송할 데이터를 공유 메모리 영역(A1)에 라이트한다. 상기 라이트 동작은 전술한 멀티 패쓰 억세스 동작에 의해 실행된다. 라이트 동작의 종료 후에 상기 모뎀(10)은 타임 구간(b3)의 시작 시점 이전에 상기 B to A의 메일박스(53)에 예를 들어 "이보시오 내가 말이야 전송할 데이터를 써 둔게 있으니 시간 나면 가져가시지 않을래요?" 라는 의미를 담은 메시지 데이터를 라이트 한다. 그리고 나서 상기 모뎀(10)은 타임 구간(b3)의 종료 시점을 가리키는 타임 포인트 R3에서 세맵퍼 영역(51)의 점유권한 데이터를 변경한다.
상기 AP(12)는 상기 모뎀(10)이 상기 B to A의 메일박스(53)에 메시지를 라이트하면, 도 11에서 보여지는 디램(17)의 인터럽트 출력신호(INTb)를 로우레벨로서 수신하게 된다. 따라서, 타임 포인트 R4에서 상기 AP(12)는 인터럽트에 응답한다(단계 S104). 그리고, 상기 AP(12)는 단계 S105에서 B to A의 메일박스(53)를 리드하고 상기 디램(17)의 출력신호(INTb)를 하이레벨 상태로 클리어되게 한다. 따라서, 도 11의 화살부호 A4와 같이 파형 INTb의 레벨은 하이레벨로 복귀된다. 단계 S106에서 상기 AP(12)는 세맵퍼 영역(51)을 리드한다. 도 11의 타임 포인트 R5에서 상기 AP(12)는 공유 메모리 영역(A1)에 대한 프리차아지 및 억세스 권한을 다시 회복하게 된다. 단계 S107에서 상기 AP(12)는 공유 메모리 영역(A1)에 쓰여진 모뎀의 데이터를 리드한다. 상기 단계 S107의 수행은 도 11의 타임 구간(b5)내에서 행해진다. 공유 메모리 영역에 저장된 데이터의 리드 동작은 전술한 멀티 패쓰 억세스 동 작에 의해 B 포트를 통해 수행된다.
단계 S108은 AP(12)가 메일 박스에 메시지 데이터를 라이트하는 것을 나타내고, 단계 S109는 억세스 권한을 해제하기 위해 세맵퍼를 방면하는 것을 나타내는 것으로서, 데이터 전송 이후에 일어날 수 있는 단계들을 보여주고 있다. 상기 단계 S108에 응답하여, 상기 모뎀(10)에서는 디램에서 전송된 인터럽트를 받고(단계 S110), 메일 박스의 메시지 데이터를 리드하는 동작(단계 S111)이 실행된다.
상기한 바와 같이, 인터페이싱 동작이 디램 내부의 레지스터를 통해 수행되고, 어느 한쪽 프로세서가 쓴 데이터는 상대 쪽의 프로세서에 의해 리드되는 것을 알 수 있다.
또한, 여기서 메일 박스를 통해 데이터 혹은 코멘드를 전송하는 경우에 대한 이점을 설명한다. 공유 메모리 영역의 억세스는 공유 메모리 영역의 제어권한을 획득한 프로세서 만에 의해 허용되나, 메일박스 영역은 제어 권한과는 상관없이 언제든지 양쪽의 프로세서들 모두가 억세스할 수 있다. 따라서, 양쪽의 프로세서들은 특정 비트를 할당하여 상대 프로세서에게 데이터 전송 혹은 코멘드 전송을 행할 수 있는 것이다. 메일 박스를 통해 데이터 전송 혹은 코멘드를 전송한다면 제어 권한을 요청하는 시간 손실 없이 메일 박스 크기 만큼의 데이터를 담아 주고 받을 수 있는 장점도 있다.
상기한 설명에서는 본 발명의 실시예들을 위주로 도면을 따라 예를 들어 설명하였지만, 본 발명의 기술적 사상의 범위 내에서 본 발명을 다양하게 변형 또는 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게는 명백한 것이다. 예를 들 어, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이 메모리 내부의 레지스터 구성이나 뱅크 구성, 또는 회로 구성 및 억세스 방법을 다양하게 변형 또는 변경할 수 있음은 물론이다.
예를 들어, 4개의 메모리 영역중 1개를 공유 메모리 영역으로 나머지 3개를 전용 메모리 영역으로 지정하거나, 4개의 메모리 영역 모두를 공유 메모리 영역으로 설정할 수 있을 것이다. 또한, 2개의 프로세서를 사용하는 시스템의 경우를 위주로 예를 들었으나, 3개 이상의 프로세서가 시스템에 채용되는 경우에 하나의 디램에 3개 이상의 포트를 설치하고 특정한 타임에 3개 중의 하나의 프로세서가 설정된 공유 메모리를 억세스하도록 할 수 있을 것이다. 그리고, 디램의 경우를 예를 들었으나 여기에 한정됨이 없이 스태이틱 랜덤 억세스 메모리나 불휘발성 메모리 등에서도 본 발명의 기술적 사상이 확장가능 할 수 있을 것이다.
상술한 바와 같이, 본 발명의 반도체 메모리 장치에 따르면, 프로세서들 간 호스트 인터페이싱이 메모리 내부를 통해 제공되어 할당된 공유 메모리 영역을 복수의 프로세서들이 고속으로 억세스할 수 있는 효과가 있다. 따라서, 데이터 전송 및 처리속도가 개선되고 시스템 사이즈가 콤팩트하게 되며 필요 메모리의 개수를 감소시킴에 의해 시스템에서 차지하는 메모리의 코스트가 대폭 줄어드는 이점이 있다.

Claims (13)

  1. 반도체 메모리 장치에 있어서:
    복수의 프로세서들의 수에 대응하여 서로 독립적으로 설치된 포트들과 동작적으로 연결되어 상기 복수의 프로세서들에 의해 선택적으로 억세스 되며, 메모리 셀 어레이 내에 적어도 하나이상 할당된 공유 메모리 영역과;
    상기 프로세서들로부터 인가되는 외부신호들에 응답하여 상기 포트들 중 선택된 하나의 포트와 상기 공유 메모리 영역간의 데이터 억세스 패쓰가 형성되도록 하는 억세스 패쓰 형성부와;
    상기 복수의 프로세서들 간의 통신 시 인터페이스 기능의 제공을 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되는 세맵퍼 영역과 메일박스 영역들을 갖는 인터페이스 부를 구비함을 특징으로 하는 반도체 메모리 장치.
  2. 제1항에 있어서, 상기 억세스 패쓰 형성부는,
    상기 외부신호들을 논리 조합하여 패쓰 결정신호를 생성하는 패쓰 결정부와;
    상기 패쓰 결정신호에 응답하여 상기 포트들을 통해 각기 인가되는 로우 및 컬럼 어드레스들 중에서 하나의 로우 및 컬럼 어드레스를 선택하고 이를 상기 공유 메모리 영역과 연결되어 있는 로우 디코더 및 컬럼 디코더에 각기 인가하기 위한 로우 및 컬럼 어드레스 멀티플렉서와;
    상기 패쓰 결정신호에 응답하여 상기 공유 메모리 영역의 글로벌 입출력 라인쌍과 제1 데이터 입출력 라인쌍간 또는 상기 공유 메모리 영역의 글로벌 입출력 라인쌍과 제2 데이터 입출력 라인쌍간을 연결하기 위한 글로벌 제1,2 멀티플렉서와;
    상기 글로벌 제1 멀티플렉서와 상기 포트들 중 하나인 제1 포트간에 설치된 제1 입출력 관련회로와 상기 글로벌 제2 멀티플렉서와 상기 포트들 중 다른 하나인 제2 포트간에 설치된 제2 입출력 관련회로를 포함하는 입출력 관련 패쓰부를 포함함을 특징으로 하는 반도체 메모리 장치.
  3. 제2항에 있어서, 상기 제1 입출력 관련회로는,
    상기 글로벌 제1 멀티플렉서와 동작적으로 연결된 입출력 센스앰프와, 상기 입출력 센스앰프와 동작적으로 연결된 데이터 멀티플렉서와, 상기 데이터 멀티플렉서와 연결된 데이터 출력버퍼와, 상기 데이터 출력버퍼와 연결되어 출력 데이터를 드라이빙하는 데이터 출력 드라이버로 이루어진 데이터 출력 패쓰 회로와;
    상기 제1 포트에 연결된 데이터 입력버퍼와, 상기 데이터 입력버퍼에 연결되어 라이트 데이터를 1차적으로 드라이빙하는 제1 입력 드라이버와, 상기 제1 입력 드라이버에 연결되어 상기 라이트 데이터를 2차적으로 드라이빙하는 제2 입력 드라이버로 이루어진 데이터 입력 패쓰 회로를 포함함을 특징으로 하는 반도체 메모리 장치.
  4. 제3항에 있어서, 상기 공유 메모리 영역에 행과 열의 매트릭스 형태로 배치되는 복수의 메모리 셀은, 하나의 억세스 트랜지스터와 스토리지 커패시터로 이루어진 디램 메모리 셀임을 특징으로 하는 반도체 메모리 장치.
  5. 제3항에 있어서, 상기 공유 메모리 영역 하나에는 상기 입출력 센스앰프가 2개로 배치됨을 특징으로 하는 반도체 메모리 장치.
  6. 제3항에 있어서, 상기 글로벌 제1,2 멀티 플렉서는 서로 반대의 스위칭 동작을 가짐을 특징으로 하는 반도체 메모리 장치.
  7. 제4항에 있어서, 상기 패쓰 결정부는,
    상기 포트들을 통해 각기 인가되는 로우 어드레스 스트로브 신호와 라이트 인에이블 신호 및 뱅크 선택 어드레스를 논리 조합하여 상기 패쓰 결정신호를 생성함을 특징으로 하는 반도체 메모리 장치.
  8. 제4항에 있어서, 상기 복수의 프로세서들은,
    상기 공유 메모리 영역의 글로벌 입출력 라인쌍과, 상기 글로벌 입출력 라인쌍과 동작적으로 연결되는 로컬 입출력 라인쌍과, 상기 로컬 입출력 라인쌍과는 컬럼 선택신호에 의해 동작적으로 연결되는 비트라인 쌍과, 상기 비트라인 쌍에 설치되어 비트라인의 데이터를 감지 증폭하는 비트라인 센스앰프와, 상기 비트라인 쌍에 메모리 셀을 형성하는 억세스 트랜지스터가 연결된 메모리 셀을 상기 포트들을 통하여 공유함을 특징으로 하는 반도체 메모리 장치.
  9. 제1항에 있어서, 상기 특정 어드레스에 의해 상기 인터페이스 부가 억세스될 때 상기 공유 메모리 영역의 특정 워드라인에 연결된 메모리 셀들은 모두 디세이블 되는 것을 특징으로 하는 반도체 메모리 장치.
  10. 제2항에 있어서, 상기 인터페이스 부는 내부 버퍼로 이루어지며 상기 특정 어드레스가 행 어드레스인 경우에 상기 세맵퍼 영역과 메일박스 영역들은 컬럼 어드레스에 의해 억세스 됨을 특징으로 하는 반도체 메모리 장치.
  11. 제10항에 있어서, 상기 세맵퍼 영역과 메일박스 영역들은 각기 16비트 저장영역을 가짐을 특징으로 하는 반도체 메모리 장치.
  12. 휴대용 통신 시스템에 있어서:
    제1 설정 타스크를 수행하는 제1 프로세서;
    제2 설정 타스크를 수행하는 제2 프로세서; 및
    상기 제1,2 프로세서 모두에 의해서 억세스되는 공유 메모리 영역과 상기 제1,2 프로세서 각각에 의해서 각기 억세스되는 전용 메모리 영역을 가지는 메모리 셀 어레이와, 상기 제1,2 프로세서의 버스와 각기 대응적으로 연결되는 제1,2 포트와, 상기 제1,2 프로세서들로부터 인가되는 외부신호들에 응답하여 상기 포트들 중 선택된 하나의 포트와 상기 공유 메모리 영역간의 데이터 억세스 패쓰가 형성되도록 하는 억세스 패쓰 형성부와, 상기 제1,2 프로세서들 간의 통신 시 인터페이스 기능의 제공을 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되는 세맵퍼 영역과 메일박스 영역들을 갖는 레지스터 부를 포함하는 다이나믹 랜덤 억세스 메모리를 구비함을 특징으로 하는 휴대용 통신 시스템.
  13. 프로세서들 간의 통신 시 디램 인터페이스를 사용하고, 세맵퍼 영역과 메일 박스 영역들을 갖는 디램 내의 인터페이스 부를 이용하여 상기 프로세서들이 공통으로 억세스 가능한 공유 메모리 영역을 통해 데이터 통신이 수행되도록 하는 것을 특징으로 하는 프로세서들 간 인터페이싱 방법.
KR1020060071455A 2006-02-13 2006-07-28 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치 KR100772841B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020060071455A KR100772841B1 (ko) 2006-07-28 2006-07-28 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치
US11/819,601 US7870326B2 (en) 2006-07-28 2007-06-28 Multiprocessor system and method thereof
TW096126410A TW200813724A (en) 2006-07-28 2007-07-19 Multipath accessible semiconductor memory device with host interface between processors
DE102007036547A DE102007036547A1 (de) 2006-07-28 2007-07-26 Halbleiterspeicherelement, tragbares Kommunikationssystem und Verfahren zum Bereitstellen einer Hostschnittstelle zwischen Prozessoren
US11/829,859 US7941612B2 (en) 2006-07-28 2007-07-27 Multipath accessible semiconductor memory device with host interface between processors
CN2007101367959A CN101114271B (zh) 2006-07-28 2007-07-27 在处理器之间具有主接口的可多路径访问的半导体存储器
JP2007197758A JP2008034095A (ja) 2006-07-28 2007-07-30 プロセッサ間のホストインターフェイシング機能を有するマルチパスアクセス可能な半導体メモリ装置
US12/929,222 US20110107006A1 (en) 2006-07-28 2011-01-10 Multiprocessor system and method thereof
US12/929,250 US8756475B2 (en) 2006-02-13 2011-01-11 Method of detecting error in a semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060071455A KR100772841B1 (ko) 2006-07-28 2006-07-28 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치

Publications (1)

Publication Number Publication Date
KR100772841B1 true KR100772841B1 (ko) 2007-11-02

Family

ID=39022622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060071455A KR100772841B1 (ko) 2006-02-13 2006-07-28 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치

Country Status (2)

Country Link
KR (1) KR100772841B1 (ko)
CN (1) CN101114271B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781974B1 (ko) 2006-11-15 2007-12-06 삼성전자주식회사 레지스터 억세스회로를 가지는 멀티패스 억세스블 반도체메모리 장치
KR100921504B1 (ko) 2007-11-27 2009-10-13 한국전자통신연구원 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894082B (zh) * 2010-07-21 2014-09-10 中兴通讯股份有限公司 一种存储器装置及智能手机系统
KR101965125B1 (ko) * 2012-05-16 2019-08-28 삼성전자 주식회사 칩-투-칩 링크를 통해 공유 메모리로의 억세스를 지원하는 시스템 온칩, 상기 시스템온칩의 동작 방법, 및 상기 시스템온칩을 포함하는 전자 시스템
CN102855210B (zh) * 2012-08-27 2015-06-10 福建省力得自动化设备有限公司 一种实现两个单片机间相互通信且数据共享的方法
US9679615B2 (en) * 2013-03-15 2017-06-13 Micron Technology, Inc. Flexible memory system with a controller and a stack of memory
KR102127137B1 (ko) * 2013-12-03 2020-06-26 삼성전자주식회사 셀 트랜지스터들의 계면 상태를 제어하여 센싱 마진을 보상할 수 있는 저항성 메모리 장치
US9720861B2 (en) * 2014-12-02 2017-08-01 Qualcomm Incorporated Memory access by dual processor systems
KR20180094386A (ko) * 2017-02-15 2018-08-23 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US11169953B2 (en) * 2018-02-28 2021-11-09 SK Hynix Inc. Data processing system accessing shared memory by using mailbox
CN111078618A (zh) * 2019-12-12 2020-04-28 深圳市杰美康机电有限公司 电子设备以及双处理器的通信方法
CN112799587A (zh) * 2020-11-23 2021-05-14 哲库科技(北京)有限公司 处理器系统、核间通信方法、处理器以及存储单元
CN114228725A (zh) * 2021-11-23 2022-03-25 深圳元戎启行科技有限公司 车载控制系统以及无人驾驶车辆

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970029099A (ko) * 1995-11-22 1997-06-26 김광호 에뮬레이터와 호스트간의 실시간 인터페이싱 방법
KR20030069526A (ko) * 2002-02-21 2003-08-27 (주)씨앤에스 테크놀로지 비디오 코덱 프로세서와 프로토콜 프로세서간의인터페이싱 아키텍쳐
KR20030076052A (ko) * 2002-03-22 2003-09-26 (주)실리콘세븐 디램 셀을 사용하고 에스램 호환이 가능하며, 페이지억세스 구동이 가능한 반도체 메모리 장치 및 그 구동 방법
KR20050080704A (ko) * 2004-02-10 2005-08-17 삼성전자주식회사 프로세서간 데이터 전송 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159066B2 (en) * 2002-08-27 2007-01-02 Intel Corporation Precharge suggestion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970029099A (ko) * 1995-11-22 1997-06-26 김광호 에뮬레이터와 호스트간의 실시간 인터페이싱 방법
KR20030069526A (ko) * 2002-02-21 2003-08-27 (주)씨앤에스 테크놀로지 비디오 코덱 프로세서와 프로토콜 프로세서간의인터페이싱 아키텍쳐
KR20030076052A (ko) * 2002-03-22 2003-09-26 (주)실리콘세븐 디램 셀을 사용하고 에스램 호환이 가능하며, 페이지억세스 구동이 가능한 반도체 메모리 장치 및 그 구동 방법
KR20050080704A (ko) * 2004-02-10 2005-08-17 삼성전자주식회사 프로세서간 데이터 전송 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781974B1 (ko) 2006-11-15 2007-12-06 삼성전자주식회사 레지스터 억세스회로를 가지는 멀티패스 억세스블 반도체메모리 장치
KR100921504B1 (ko) 2007-11-27 2009-10-13 한국전자통신연구원 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법

Also Published As

Publication number Publication date
CN101114271B (zh) 2012-04-04
CN101114271A (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
KR100772841B1 (ko) 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치
US7941612B2 (en) Multipath accessible semiconductor memory device with host interface between processors
KR100745369B1 (ko) 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100887417B1 (ko) 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치
KR100735612B1 (ko) 멀티패쓰 억세스블 반도체 메모리 장치
US20080172516A1 (en) Multiprocessor system and method thereof
US7606982B2 (en) Multi-path accessible semiconductor memory device having data transmission mode between ports
KR100725099B1 (ko) 멀티패쓰 억세스블 반도체 메모리 장치에서의 메모리확장구조
US8122186B2 (en) Memory device, memory system and dual port memory device with self-copy function
US20090089487A1 (en) Multiport semiconductor memory device having protocol-defined area and method of accessing the same
KR20090008519A (ko) 공유 레지스터를 갖는 멀티패쓰 억세스블 반도체 메모리장치 및 그에 따른 공유 레지스터 운영방법
KR20090013342A (ko) 멀티 포트 반도체 메모리 장치 및 그에 따른 리프레쉬 방법
US11449441B2 (en) Multi-ported nonvolatile memory device with bank allocation and related systems and methods
KR101430687B1 (ko) 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법
KR100879463B1 (ko) 억세스 권한 이양 시 프리차아지 스킵을 방지하는 동작을갖는 멀티패쓰 억세스블 반도체 메모리 장치
KR100827704B1 (ko) 포트별 데이터 입출력 단위가 독립적인 경우에도 데이터 호환을 보장하는 멀티패쓰 억세스블 반도체 메모리 장치 및 그에 따른 데이터 호환방법
KR100781974B1 (ko) 레지스터 억세스회로를 가지는 멀티패스 억세스블 반도체메모리 장치
KR20090005786A (ko) 메모리 사용확장 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치 및 그에 따른 메모리 사용확장 방법
KR20080103183A (ko) 부트 램을 반도체 메모리 장치 내에 구비한 멀티 프로세서시스템 및 그를 이용한 프로세서 부팅 방법
KR100781983B1 (ko) 체크 정보 제공기능을 가지는 멀티패쓰 억세스블 반도체메모리 장치
KR20080063902A (ko) 멀티 포트 반도체 메모리 장치의 부팅방법
KR20080113896A (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

Payment date: 20120925

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee