KR20090032416A - 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법 - Google Patents

다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법 Download PDF

Info

Publication number
KR20090032416A
KR20090032416A KR1020070097644A KR20070097644A KR20090032416A KR 20090032416 A KR20090032416 A KR 20090032416A KR 1020070097644 A KR1020070097644 A KR 1020070097644A KR 20070097644 A KR20070097644 A KR 20070097644A KR 20090032416 A KR20090032416 A KR 20090032416A
Authority
KR
South Korea
Prior art keywords
processor
memory
processors
semiconductor memory
multiprocessor system
Prior art date
Application number
KR1020070097644A
Other languages
English (en)
Other versions
KR101430687B1 (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 KR1020070097644A priority Critical patent/KR101430687B1/ko
Priority to US12/211,183 priority patent/US8171279B2/en
Publication of KR20090032416A publication Critical patent/KR20090032416A/ko
Application granted granted Critical
Publication of KR101430687B1 publication Critical patent/KR101430687B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Dram (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

복수의 프로세서들을 채용한 멀티 프로세서 시스템에서 메모리 링크 아키텍쳐를 형성하지 않는 프로세서의 부팅 에러를 최소화 또는 줄이기 위하여 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및 그에 따른 다이렉트 억세스 부팅방법이 개시된다. 본 발명에 따른 멀티 프로세서 시스템은, 제1 프로세서; 제2 프로세서; 상기 제1,2 프로세서 모두에 의해 억세스 되는 반도체 메모리 장치; 및 상기 제2 프로세서 및 상기 반도체 메모리 장치와 함께 메모리 링크 아키텍쳐를 형성하며, 상기 제1 프로세서의 부팅동작 시에 상기 제1 프로세서로 부팅 관련 데이터를 직접적으로 제공하고, 상기 제2 프로세서에 의해 억세스 되는 불휘발성 반도체 메모리 장치를 구비한다. 본 발명에 따르면, 멀티프로세서 시스템에서 메모리 링크 아키텍쳐를 구성하지 않는 프로세서의 부팅 동작속도를 높이는 효과가 있으며 부팅 에러가 줄어들거나 최소화된다. 또한, 초기 부팅 동작 시에 멀티포트 DRAM등과 같은 휘발성 메모리의 사용 의존도를 줄이는 장점이 있다.
Figure P1020070097644
멀티 프로세서 시스템, 공유 메모리 영역, 메모리 링크 아키텍쳐, 다이렉트 억세스 부팅

Description

다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및 그에 따른 다이렉트 억세스 부팅방법{Multi processor system having direct access booting operation and direct access booting method therefore}
본 발명은 멀티 프로세서 시스템에 관한 것으로, 특히 다중경로를 통하여 공유 메모리 영역들을 억세스 할 수 있는 반도체 메모리 장치를 구비한 멀티 프로세서 시스템에서의 다이렉트 억세스 부팅에 관한 것이다.
오늘날 인간생활의 유비쿼터스 지향추세에 따라, 인간들이 취급하게 되는 전자 시스템도 그에 부응하여 눈부시게 발전되고 있다. 최근에 모바일 통신 시스템, 예를 들어 휴대용 멀티미디어 플레이어(PMP), 핸드 헬드 폰(HHP), 또는 PDA 등의 멀티미디어 전자기기에서는 기능이나 동작 수행의 고속화 및 원활화를 도모하기 위하여 하나의 시스템 내에 복수의 프로세서를 채용한 멀티 프로세서 시스템이 선호된다.
그러한 멀티 프로세서 시스템에서 프로세싱 데이터를 저장하기 위해 채용되는 반도체 메모리는 동작이나 기능 면에서 다양하게 변화된다. 예컨대, 복수의 억 세스 포트를 가지고서 그 억세스 포트들 각각을 통해 동시에 데이터를 입출력할 것이 요구될 수 있다.
일반적으로, 2개의 억세스 포트를 갖는 반도체 메모리 소자는 듀얼포트 메모리로 칭해지고 있다. 전형적인 듀얼포트 메모리는 널리 공지된 것으로서, 랜덤 시퀀스로 억세스 가능한 RAM포트와 시리얼 시퀀스만으로 억세스 가능한 SAM 포트를 가지는 이미지 프로세싱용 비디오 메모리이다. 한편, 후술될 본 발명의 설명에서 보다 명확하게 구별될 것이지만, 그러한 비디오 메모리의 구성과는 달리, SAM 포트를 가지지 않으며, DRAM 셀로 구성된 메모리 셀 어레이 중 공유 메모리 영역을 복수의 억세스 포트를 통하여 각각의 프로세서들이 억세스 할 수 있도록 하는 다이나믹 랜덤 억세스 메모리를 우리는 상기 듀얼포트 메모리와 보다 철저히 구별하기 위하여 본 명세서 내에서 멀티포트 반도체 메모리 장치 또는 멀티패쓰 억세스블 반도체 메모리 장치라고 칭하기로 한다.
상기한 멀티 프로세서 시스템에 적합한 멀티포트 반도체 메모리를 개시하는 선행 기술의 일 예는, 에우지니 피.매터(Matter)외 다수에 의해 발명되어 2003년 5월 15일자로 미합중국에서 특허공개된 공개번호 US2003/0093628호에 개시되어 있다. 상기 선행기술은 공유 메모리 영역이 복수의 프로세서에 의해 억세스될 수 있게 하는 기술로서, 메모리 어레이는 제1,2,3 포션으로 이루어져 있고, 상기 메모리 어레이의 제1 포션은 제1 프로세서에 의해서만 억세스되고 상기 제2 포션은 제2 프로세서에 의해서만 억세스되며, 제3 포션은 공유 메모리 영역으로서 상기 제1,2 프로세서들 모두에 의해 억세스 된다.
상기한 선행기술과는 대조적으로, 전형적인 멀티 프로세서 시스템에서는 프로세서의 부트 코드가 저장되어 있는 불휘발성 메모리 예컨대 플래시 메모리가 프로세서 당 1개씩 구비되어 있으며, 휘발성 메모리로서의 디램도 각기 대응되는 프로세서마다 연결되어 있다. 따라서, 각 프로세서마다 디램 및 플래시 메모리가 각기 채용되어 있는 구조이므로, 멀티 프로세서 시스템의 구성이 복잡하고 시스템 구현시 가격이 상승됨은 분명하다.
따라서, 본 분야에서의 컨벤셔날 기술로서, 모바일 통신 디바이스에 채용될 수 있는 멀티 프로세서 시스템이 도 1과 같이 제안되었다. 도 1은 컨벤셔날 기술에 따라 멀티포트 반도체 메모리 장치(원디램)을 갖는 멀티 프로세서 시스템의 개략적 블록도이다.
도 1에서 보여지는 바와 같이, 제1,2 프로세서들(100,200)을 가지는 멀티 프로세서 시스템에서, 하나의 멀티포트 DRAM(400)과 하나의 플래시 메모리(300)가 공유적으로 사용된다. 여기서, 상기 제1 프로세서(100)는 설정된 타스크(Task) 예컨대 통신신호의 변조 및 복조를 수행하는 모뎀(MODEM) 프로세서의 기능을 담당할 수 있으며, 상기 제2 프로세서(200)는 통신 데이터의 처리나 게임, 오락 등의 사용자 편의 기능을 수행하기 위한 어플리케이션 프로세서의 기능을 담당할 수 있다. 그러나, 사안이 다른 경우에 상기 프로세서들의 기능은 서로 반대로 되거나 추가될 수 있다.
상기 플래시 메모리(300)는, 셀 어레이의 구성이 NOR 구조를 갖게 되는 NOR 플래시 메모리나 셀 어레이의 구성이 NAND 구조를 갖게 되는 NAND 플래시 메모리일 수 있다. NOR 플래시 메모리나 NAND 플래시 메모리 모두는 플로팅 게이트를 갖는 모오스 트랜지스터로 이루어진 메모리 셀을 어레이 형태로서 갖는 불휘발성 메모리로서, 전원이 오프되더라도 지워져서는 아니되는 데이터 예컨대 휴대용 기기의 부트 코드 및 보존용 데이터의 저장을 위해 탑재된다.
또한, 원디램(oneDRAM)으로 명명된 멀티포트 DRAM(400)은 프로세서들(100,200)의 데이터 처리를 위한 메인 메모리로서 기능한다. 도 1에서 보여지는 바와 같이, 하나의 멀티포트 DRAM(400)이 서로 다른 2개의 억세스 패쓰를 통하여 제1,2 프로세서들(100,200)에 의해 각기 억세스 될 수 있도록 하기 위해, 상기 멀티포트 DRAM(400)의 내부에는 시스템 버스들(B1,B2)에 각기 대응적으로 연결되는 포트들과 메모리 뱅크들이 도 4에서 보여지는 바와 같이 마련된다. 그러한 복수의 포트 구성은 단일 포트를 갖는 통상의 DRAM과는 상이함을 알 수 있다.
도 1에서 제1,2 프로세서들(100,200)간에 연결된 라인(L1)은 상기 제1,2 프로세서들끼리 설정된 인터페이스를 통하여 데이터 통신이 이루어지는 것을 보여주고 있는 라인인데, 상기 라인(L1)을 제거하고 디램 인터페이스를 통하여 프로세서들간의 데이터 통신이 이루어지도록 한다면 이는 동작 속도 측면이나 단일 인터페이스 측면에서 매우 바람직한 일이다. 결국, 상기 제1,2 프로세서들(100,200)간의 데이터 인터페이스가 멀티포트 DRAM(400)을 통해 구현되는 경우라면 시스템 동작상의 이점이 기대되고, 플래시 메모리(300)와 직접적으로 연결되어 있지 아니한 제1 프로세서(100)가 상기 멀티포트 DRAM(400)을 통하여 플래시 메모리(300)를 간접적으로 억세스 하는 것이 가능하게 된다.
도 1의 멀티포트 DRAM(400)내에서 4개의 메모리 영역들(10,11,12,13)이 메모리 셀 어레이를 구성하는 것이 보여진다. 예를 들어, 제1 뱅크(10)는 제1 포트를 통하여 제1 프로세서(100)에 의해 전용으로 억세스 되고, 제3 뱅크 및 제4 뱅크(12,13)는 제2 포트를 통하여 제2 프로세서(200)에 의해 전용으로 억세스 될 수 있다. 한편, 제2 뱅크(11)는 서로 다른 포트인 제1,2 포트를 통하여 상기 제1,2프로세서들(100,200) 모두에 의해 억세스 될 수 있다. 결국, 메모리 셀 어레이 내에서 제2 뱅크(11)는 공유 메모리 영역으로서 할당되고, 제1,3, 및 4 뱅크들(10,12,13)은 각기 대응되는 프로세서에 의해서만 억세스되는 전용 메모리 영역으로서 할당되었음을 알 수 있다.
상술한 바와 같이 공유 메모리 영역을 갖는 멀티포트 DRAM(400)을 구비한 도 1의 멀티 프로세서 시스템에서는 각 프로세서마다 DRAM 및 플래시 메모리가 각기 대응적으로 할당될 필요 없이 공유적으로 사용되므로, 시스템 사이즈의 복잡성이 제거되며 메모리들의 채용 개수가 줄어듬을 알 수 있다.
도 1 내에서 보여지는 멀티포트 DRAM(400)은 메모리 반도체 메이커로서 세계적으로 유명한 대한민국의 삼성전자에 의해 등록제품명 "원디램" 으로서 제조되는 디램 타입 메모리의 기능과 실질적으로 유사하다. 그러한 원디램은 모바일 디바이스 내에서 통신 프로세서와 미디어 프로세서 간의 데이터 처리 속도를 현저히 증가시킬 수 있는 퓨전 메모리 칩이다. 일반적으로 두 프로세서들이 있는 경우에 두 개의 메모리 버퍼들이 통상적으로 요구된다. 그렇지만, 원디램 솔루션은, 프로세서들간의 데이터를 단일 칩을 통하여 라우팅할 수 있기 때문에, 두 개의 메모리 버퍼들 에 대한 필요성을 제거할 수 있다. 또한 듀얼 포트 어프로치를 취함에 의해, 원 디램은 프로세서들 간의 데이터 전송에 걸리는 시간을 상당히 감소시킨다. 단일 원디램 모듈은 고성능 스마트 폰 및 다른 멀티미디어 리치 핸드 셋(rich-handset)내에서 적어도 2개의 모바일 메모리 칩들을 대치할 수 있다. 프로세서들 간의 데이터 처리 속도가 보다 빨라짐에 따라 원디램은 전력 소모를 약 30퍼센트 정도 감소시키며, 필요해지는 칩 수를 줄이고, 토탈 다이 에리어 커버리지를 약 50퍼센트 축소시킬 수 있다. 이 결과는 셀룰러 폰의 속도를 약 5배 증가시키고 배터리 수명을 길게 하고 핸드셋 디자인을 슬림하게 하는 결과를 야기한다.
그러나, 도 1의 멀티 프로세서 시스템에서, 제1 프로세서(100)는 부트 코드가 저장된 플래시 메모리(300)와는 직접적으로 연결되어 있지 않고, 멀티포트 DRAM(400)과 제2 프로세서(200)를 통해 간접적으로 연결되어 있기 때문에, 부팅 동작의 속도가 느린 단점이 있다. 또한, 부팅 절차가 복잡하고, 시스템의 파워 업 시 일정시간 동안에 자신의 부트 코드를 리드하지 못한 경우에는 제1 프로세서에서 부팅 페일이 발생될 수도 있다.
보다 구체적으로, 상기 제1 프로세서(100)의 부팅 방법들 중 하나는 호스트 인터페이스를 통해 플래시 메모리(300)에 저장되어 있는 초기 부트 코드를 상기 제2 프로세서(200)를 통해 받은 후 멀티포트 DRAM(400)의 공유 영역을 통해 나머지 부트 코드를 받아 부팅을 완료하는 방법이다. 상기한 방법은 부팅의 절차가 비교적 복잡하고 부팅 속도 면에서 느린 문제가 있다.
호스트 인터페이스를 이용하는 또 다른 부팅 방법은, 플래시 메모리(300)에 저장되어 있는 모든 부트 코드를 상기 제2 프로세서(200)를 통해 받아 부팅을 수행하는 방법이 있을 수 있다. 이는 부팅 시의 인터페이스와 데이터 전송 시의 인터페이스가 각기 다르고 제2 프로세서의 부팅이 완료 된 후에 제1 프로세서의 부팅동작이 시작되어야 하는 제한이 있다.
또 다른 부팅 방법으로서는 멀티포트 DRAM(400)을 통한 부팅을 수행하기 위해 상기 제1 프로세서(100)의 내부 저장영역에 DRAM 부트 코드를 불휘발적으로 저장 해두고 자신의 부트 코드를 DRAM을 통해 받아 부팅을 수행하는 방법이 강구될 수 있다. 이 방법 또한, 절차나 속도 면에서 바람직하지 못하다. 더구나 제1 프로세서의 내부에 DRAM의 부트 코드를 저장해두는 불휘발성 저장부를 설계하여야 하는 부담이 있다.
결국, 컨벤셔날 기술에서는 부팅 동작의 속도가 느리고, 부팅 절차가 복잡하며, 시스템의 파워 업 시 일정시간 동안에 자신의 부트 코드를 리드하지 못한 경우에는 페일이 발생될 수도 있는 문제가 있다.
본 발명의 목적은 복수의 프로세서들을 채용한 멀티 프로세서 시스템에서 초기 부팅 시 부팅 절차를 단순화하고 부팅 속도를 빠르게 할 수 있는 멀티 프로세서 시스템을 제공함에 있다.
본 발명의 다른 목적은 호스트 인터페이스나 디램 인터페이스를 이용함이 없 이 초기 부팅 시에 메모리 링크 아키텍쳐를 형성하지 않는 프로세서의 부팅동작 속도를 높이고 부팅 에러를 줄일 수 있는 멀티 프로세서 시스템 및 그에 따른 다이렉트 억세스 부팅방법을 제공함에 있다.
본 발명의 또 다른 목적은 복수의 프로세서들을 채용한 멀티 프로세서 시스템에서 메모리 링크 아키텍쳐를 형성하지 않는 프로세서의 부팅 에러를 최소화 또는 줄이기 위하여 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및 그에 따른 다이렉트 억세스 부팅방법을 제공함에 있다.
상기한 본 발명의 목적들을 달성하기 위하여 발명의 일 양상(aspect)에 따른 멀티 프로세서 시스템은, 제1 프로세서; 제2 프로세서; 상기 제1,2 프로세서 모두에 의해 억세스 되는 반도체 메모리 장치; 및 상기 제2 프로세서 및 상기 반도체 메모리 장치와 함께 메모리 링크 아키텍쳐를 형성하며, 상기 제1 프로세서의 부팅동작 시에 상기 제1 프로세서로 부팅 관련 데이터를 직접적으로 제공하고, 상기 제2 프로세서에 의해 억세스 되는 불휘발성 반도체 메모리 장치를 구비한다.
본 발명의 실시예에서 상기 불휘발성 반도체 메모리 장치는 낸드 타입의 메모리 셀 구조를 갖는 낸드 타입 플래시 메모리이며, 상기 반도체 메모리 장치는, 상기 제1,2 프로세서들에 의해 각기 다른 포트를 통해 공유적으로 억세스 되며 메모리 셀 어레이의 일부에 설정된 메모리 용량단위로 할당된 적어도 하나 이상의 공유 메모리 영역을 가진다. 바람직하기로, 상기 메모리 셀 어레이 내에는 상기 프로 세서들 각각에 의해 전용으로 억세스 되는 전용 메모리 영역들이 더 구비될 수 있으며, 상기 설정된 메모리 용량단위는 메모리 뱅크 단위일 수 있다.
또한, 바람직하기로, 상기 프로세서들 간의 데이터 인터페이스 기능을 제공하기 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되며, 상기 메모리 셀 어레이의 외부에 위치된 내부 레지스터를 더 구비될 수 있다.
본 발명의 다른 양상에 따라, 불휘발성 반도체 메모리와 휘발성 반도체 메모리를 각기 하나씩 가지며, 상기 휘발성 반도체 메모리를 통해 제1 프로세서와 제2 프로세서가 데이터 인터페이싱을 행하는 멀티 프로세서 시스템에서의 시스템 초기 부팅 시 제1 프로세서의 부팅동작 제어방법은,
상기 불휘발성 반도체 메모리에 저장된 상기 제1 프로세서의 부트코드를 상기 휘발성 메모리를 경유함이 없이 상기 제1 프로세서로 직접적으로 제공하는 것을 특징으로 한다.
본 발명의 다른 양상에 따라, 불휘발성 반도체 메모리와 휘발성 반도체 메모리를 각기 하나씩 가지며, 상기 휘발성 반도체 메모리를 통해 제1 프로세서와 제2 프로세서가 데이터 인터페이싱을 행하는 멀티 프로세서 시스템에서의 시스템 초기 부팅동작 제어방법은,
시스템 초기 부팅이 시작되고 나서 상기 제2 프로세서가 부팅되어지는 일정시간 동안에는 상기 휘발성 반도체 메모리의 리셋 핀을 통해 생성된 리셋 인에이블 신호를 상기 제1 프로세서로 인가하고;
상기 제2 프로세서의 부팅이 완료된 후에는 상기 리셋 인에이블 신호를 해제하는 리셋 디세이블 신호를 상기 휘발성 반도체 메모리의 상기 리셋 핀을 통해 상기 제1 프로세서로 인가하고;
상기 불휘발성 반도체 메모리에 저장된 상기 제1 프로세서의 부트코드를 상기 휘발성 메모리를 경유함이 없이 상기 제1 프로세서로 직접적으로 인가하는 것을 특징으로 한다.
본 발명의 실시예에서, 상기 멀티 프로세서 시스템은 모바일 폰, PMP, PSP, PDA, 또는 휴대용 전화기 중의 하나이다.
상기한 바와 같은 본 발명의 장치적 방법적 구성들에 따르면, 멀티프로세서 시스템에서 메모리 링크 아키텍쳐를 구성하지 않는 프로세서의 부팅 동작속도를 높이는 효과가 있으며 부팅 에러가 줄어들거나 최소화된다. 또한, 초기 부팅 동작 시에 멀티포트 DRAM등과 같은 휘발성 메모리의 사용 의존도를 줄이는 장점이 있다.
이하에서는 본 발명에 따라, 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및 그에 따른 다이렉트 억세스 부팅방법에 관한 바람직한 실시예가 첨부된 도면들을 참조로 설명될 것이다.
이하의 실시예에서 많은 특정 상세들이 도면을 따라 예를 들어 설명되고 있지만, 이는 본 분야의 통상의 지식을 가진 자에게 본 발명의 보다 철저한 이해를 돕기 위한 의도 이외에는 다른 의도 없이 설명되었음을 주목(note)하여야 한다. 그렇지만, 본 발명이 이들 특정한 상세들 없이도 실시될 수 있을 것임은 본 분야의 숙련된 자들에 의해 이해될 수 있을 것이다. 다른 예증, 공지 방법들, 프로시져들, 통상적인 다이나믹 랜덤 억세스 메모리 및 회로들은 본 발명을 모호하지 않도록 하기 위해 상세히 설명되지 않는다.
도 2는 본 발명에 따른 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템의 개략적 블록도이다.
모바일 폰, PMP, PSP, PDA, 또는 휴대용 전화기 중의 하나를 구성할 수 있는 도 2를 참조하면, 제1,2 프로세서들(100,200)을 가지는 멀티 프로세서 시스템에서, 하나의 멀티포트 DRAM(400)과 하나의 플래시 메모리(300)가 공유적으로 사용되는 시스템 연결 구조가 보여진다.
도 2의 멀티 프로세서 시스템에서는 도 1의 연결구조와는 달리, 제1 프로세서(100)는 버스(B1)를 통해 멀티포트 DRAM(400)과 연결됨과 아울러, 부트 코드가 저장된 플래시 메모리(300)에도 버스(B4)를 통해 직접적으로 연결되어 있다. 따라서, 초기 부팅 시에 부트 코드를 상기 플래시 메모리(300)를 통해 직접적으로 받으으므로 부팅 동작의 속도가 종래에 비해 빠르며, 부팅 절차가 간소화된다. 더구나, 시스템의 파워 업 시 일정시간 동안에 자신의 부트 코드를 리드하지 못하는 경우가 발생되기 어려워, 제1 프로세서(100)에서 부팅 페일이 발생될 여지는 줄어든다.
도 2에서 제1,2 프로세서들(100,200)간에는 도 1과 같은 연결라인(L1)이 제거됨을 알 수 있다. 상기 제1 프로세서(100)는 디램 인터페이스와, 플래시 인터페이스를 통해 데이터의 전송과 수신을 하게된다.
도 2의 멀티포트 DRAM(400)내에서도 4개의 메모리 영역들(10,11,12,13)이 메모리 셀 어레이를 구성할 수 있다. 이 경우에 예를 들어, 제1 뱅크(10)는 제1 포트를 통하여 제1 프로세서(100)에 의해 전용으로 억세스 되고, 제3 뱅크 및 제4 뱅크(12,13)는 제2 포트를 통하여 제2 프로세서(200)에 의해 전용으로 억세스 될 수 있다. 한편, 제2 뱅크(11)는 서로 다른 포트인 제1,2 포트를 통하여 상기 제1,2프로세서들(100,200) 모두에 의해 억세스 될 수 있다. 결국, 메모리 셀 어레이 내에서 제2 뱅크(11)는 공유 메모리 영역으로서 할당되고, 제1,3, 및 4 뱅크들(10,12,13)은 각기 대응되는 프로세서에 의해서만 억세스되는 전용 메모리 영역으로서 할당된다.
여기서, 상기 4개의 메모리 영역들(10,11,12,13)은 각기 DRAM의 뱅크 단위로 구성될 수 있으며, 하나의 뱅크는 예컨대 64Mb(메가비트), 128Mb, 256Mb, 512Mb, 또는 1024Mb 의 메모리 스토리지를 가질 수 있다.
도 3은 도 2중 플래시 메모리의 억세스 영역들을 보다 구체적으로 보여주는 도면이다.
도 3을 참조하면, 도 2의 플래시 메모리(300)의 영역들이 저장 데이터의 종류별로 나뉘어져 있는 것을 알 수 있다. 부트 코드 저장 영역(310)은 상기 제1 프로세서(100)에 의해 전용으로 억세스되는 메모리 영역이고, 사용 저장 영역(320)은 상기 제2 프로세서(200)에 의해 전용으로 억세스되는 메모리 영역이다. 물론, 상기 제1 프로세서(10)는 상기 사용 저장 영역(320)을 노말 동작 모드에서는 디램 인터페이스를 통해 간접적으로 억세스할 수 있다. 상기 부트 코드 저장 영역(310)은 초기 부트 코드가 저장된 저장영역(312), 2차 부트 코드가 저장된 저장영역(314), 및 오퍼레이팅 시스템 저장 영역(316)을 포함한다.
도 3에서 상기 멀티포트 반도체 메모리 장치로서의 원디램(400), 제2 프로세서(200), 및 플래시 메모리(300)의 연결 구조는 메모리 링크 아키텍쳐(MLA) 팩키지 구조를 형성한다. 상기 메모리 링크 아키텍쳐 구성에 포함되지 않는 상기 제1 프로세서(100)의 부팅 동작 페일을 줄이기 위하여, 상기 버스(B4)를 통해 상기 제1 프로세서(100)는 상기 플래시 메모리(300)의 부트 코드 저장 영역(310)을 직접적으로 억세스한다. 결국, 초기 부팅 시에 상기 제1 프로세서(100)는 플래시 인터페이스(혹은 원낸드 인터페이스)를 통해 상기 플래시 메모리(300)의 특정영역을 다이렉트로 억세스하는 것이다.
이에 따라, 제1 프로세서(100)의 부팅 동작속도는 종래에 비해 빨라지며, 부팅 에러가 줄어들거나 최소화된다. 또한, 초기 부팅 동작 시에 멀티포트 DRAM등과 같은 휘발성 메모리의 사용 의존도가 낮아진다.
도 3에서 버스(B4)는 초기 시스템 부팅 시에 부트 코드만을 전송하는 신호라인이며, 상기 제1 프로세서(100)의 부팅이 완료된 후에는 버스(B1)를 통하여 노말 동작이 수행된다. 여기서, 상기 제1 프로세서(100)는 노말 동작은 부트코드를 제외한 노말 데이터의 억세스 동작을 의미하며, 이는 멀티포트 디램(400)을 통하여 디 램 인터페이스에 의해 수행된다.
도 4는 도 2에 따른 멀티 포트 반도체 메모리 장치의 동작적 특징을 설명하기 위한 회로 블록도이다.
도 4에서, 전용 메모리 영역 A(10)은 제1 포트(60)를 통하여 도 2의 제1 프로세서(100)에 의해 억세스 되고, 전용 메모리 영역들 B(12,13)는 제2 포트(61)를 통하여 도 2의 제2 프로세서(200)에 의해 억세스 되며, 공유 메모리 영역(11)은 서로 다른 포트인 제1,2 포트(60,61)를 통하여 제1,2프로세서들(100,200) 모두에 의해 억세스 된다.
도 4에서 프로세스들 간의 인터페이스를 제공하기 위해 인터페이스 부로서 기능하는 내부 레지스터(50)는 상기 제1 및 제2 프로세서(100,200) 모두에 의해 억세스 되며, 플립플롭, 데이터 래치, 또는 SRAM 셀로 구성된다. 상기 내부 레지스터(50)는 세맵퍼(semaphore)영역(51), 제1 메일 박스 영역(mail box A to B :52), 제2 메일 박스 영역(mail box B to A:53), 체크 비트 영역(54), 및 예비 영역(55)으로 구별될 수 있다. 상기 영역들(51-55)은 상기 특정 로우 어드레스에 의해 공통적으로 인에이블 될 수 있으며, 인가되는 컬럼 어드레스에 따라 각기 개별적으로 억세스된다. 예를 들어, 상기 공유 메모리 영역(11)의 특정한 로우 영역(121)를 가리키는 로우 어드레스(0x7FFFFFFFh ~ 0x8FFFFFFFh)가 인가될 때, 공유 메모리 영역 내의 일부 영역(121)은 디세이블되며, 대신에 상기 내부 레지스터(50)가 인에이블된다.
프로세싱 시스템 개발자에게 익숙한 개념의 상기 세맵퍼 영역(51)에는 공유 메모리 영역(11)에 대한 제어 권한이 라이트되고, 상기 제1,2 메일박스 영역들(52,53)에는 미리 설정된 전송방향에 따라 상대 프로세서에게 주는 메시지(권한 요청, 드레스나 데이터 사이즈 또는 데이터가 저장될 공유 메모리의 어드레스를 나타내는 전송 데이터, 및 명령어 등)가 쓰여질 수 있다.
콘트롤 유닛(30)은, 상기 공유 메모리 영역(11)을 상기 제1 및 제2 프로세서(100,200) 중의 하나에 동작적으로 연결하는 패쓰를 제어한다. 상기 제1 포트(60)에서 콘트롤 유닛(30)으로 연결된 신호라인(R1)은 상기 제1 프로세서(100)에서 버스(B1)를 통해 인가되는 제1 외부신호를 전달하고, 상기 제2 포트(61)에서 콘트롤 유닛(30)으로 연결된 신호라인(R2)은 상기 제2 프로세서(200)에서 버스(B2)를 통해 인가되는 제2 외부신호를 전달한다. 여기서, 제1,2 외부신호들은 상기 제1,2 포트(60,61)를 통해 각기 인가되는 로우 어드레스 스트로브 신호(RASB)와 라이트 인에이블 신호(WEB)및 뱅크 선택 어드레스(BA)를 포함할 수 있다. 상기 콘트롤 유닛(30)에서 상기 멀티플렉서들(40,41)로 연결된 신호라인들(C1,C2)은 공유 메모리 영역(11)을 제1 포트(60) 또는 제2 포트(61)에 동작적으로 연결되도록 하기 위한 패쓰 결정신호(MA,MB)를 각기 전달하는 라인들이다.
도 5에는 도 4중 콘트롤 유닛의 세부 회로 구성도 및 동작 타이밍도가 보여진다. 도 5를 참조하면, 게이팅부(30a)를 포함하는 회로구성이 보여진다. 상기 게이팅부(30a)는 복수의 논리 게이트들로 구성되어 있고 상기 제1,2 포트(60,61)를 통해 각기 인가되는 로우 어드레스 스트로브 신호(RASB_A, RASB_B)와 라이트 인에이블 신호(WEB_A,WEB_B)및 뱅크 선택 어드레스(BA_A,BA_B)를 수신하여 도면의 하부 에 보여지는 타이밍을 갖는 게이팅 신호들(PA,PB)을 생성한다. 예를 들어, 상기 게이팅 신호(PA)가 논리 로우레벨로 출력되는 경우에 상기 패쓰 결정신호(MA)는 논리 로우레벨로서 출력된다. 한편, 상기 게이팅 신호(PA)가 논리 로우레벨로 출력되는 경우에 상기 게이팅 신호(PB)는 논리 하이레벨로 유지되며, 상기 패쓰 결정신호(MB)는 논리 하이레벨로서 출력된다. 상기 게이팅부(30a)는 포트들 중 하나의 포트에서 로우 어드레스 스트로브 신호(RASB)가 먼저 들어오게 되면, 그 들어온 포트에 상기 공유 메모리 영역(11)이 할당되도록 한다. 만약, 동시에 로우 어드레스 스트로브 신호(RASB)가 인가될 경우는 시스템의 스펙시피케이션으로써 차단하여 우선권을 부여받은 프로세서가 상기 공유 메모리 영역(11)을 억세스할 수 있도록 하는 것이 바람직하다.
상기 콘트롤 유닛(30)은 또한, 인버터들(30b,30c,3j, 및 30k), 낸드 게이트들(30d,30e)로 구성된 래치(LA), 딜레이 소자들(30f,30g), 및 낸드 게이트들(30h,30i)을 포함하며, 도 5에서 보여지는 바와 같은 와이어링 구조를 갖는다. 상기 구성에 의해, 상기 패쓰 결정신호(MA)는 상기 게이팅 신호(PA)가 일정시간 지연 및 래치된 신호로서 나타나고, 상기 패쓰 결정신호(MB)는 상기 게이팅 신호(PB)가 일정시간 지연 및 래치된 신호로서 나타난다.
도 6은 도 4의 메모리 뱅크 들과 내부 레지스터의 구성 및 억세스 관계를 보여주는 도면이다. 도 6에서, 각 뱅크들(10-13)이 16메가 비트의 용량으로 되어 있다고 가정하면, 공유 메모리 영역인 B 뱅크(11)내의 일정 영역은 디세이블 영역으로 설정된다. 즉, DRAM 내의 공유 메모리 영역(11)의 임의의 1행을 인에이블 시키 는 특정 로우 어드레스(0x7FFFFFFFh ~ 0x8FFFFFFFh, 2KB 사이즈 = 1 로우 사이즈)가 상기 인터페이스 부로서의 내부 레지스터(50)에 변경적으로 할당된다. 이에 따라, 상기 특정 로우 어드레스(0x7FFFFFFFh ~ 0x8FFFFFFFh)가 인가될 때, 공유 메모리 영역(11)의 대응되는 특정 워드라인(121)은 디세이블되며, 대신에 상기 내부 레지스터(50)가 인에이블된다. 결국, 시스템적으로는 다이렉트 어드레스 매핑 방법을 사용하여 상기 세맵퍼 영역(51)과 메일박스 영역들(52,53)이 억세스되도록 하는 것이고, 디램 내부적으로는 디세이블된 해당 어드레스로 접근하는 명령어를 해석하여 디램 내부의 레지스터로 매핑을 시키는 것이다. 따라서, 칩셋의 메모리 콘트롤러는 이 영역에 대하여 다른 메모리의 셀과 동일한 방법으로 코멘드를 발생한다. 도 6에서, 상기 세맵퍼 영역(51), 제1 메일 박스 영역(52), 및 제2 메일 박스 영역(53)은 각기 16비트로 할당될 수 있으며, 체크 비트 영역(54)은 4비트로 할당될 수 있다.
도 7은 도 4중 공유 메모리 영역에 대한 멀티패쓰 억세싱을 보여주는 도면이다. 도 7을 설명하기 전에 도 8을 먼저 설명한다.
도 8은 도 7중 어드레스 멀티플렉서의 구현 예를 보여주는 세부 회로도이다. 도 8은 도 7에서 보여지는 로우 어드레스 멀티플렉서(71) 또는 컬럼 어드레스 멀티 플렉서(70) 중의 하나를 예로써 보여준다. 결국, 동일한 회로소자들을 이용하여 하나의 어드레스 멀티플렉서가 구현되고, 이는 입력되는 신호의 종류에 따라 로우 어드레스 멀티플렉서 또는 컬럼 어드레스 멀티플렉서로서 기능하게 된다.
도 8을 참조하면, 컬럼 어드레스 멀티플렉서(70)는 두 포트들을 통해 두 개의 컬럼 어드레스 (A_CADD,B_CADD)를 두 입력단으로 각기 수신하고 상기 패쓰 결정 신호(MA,MB)의 논리 상태에 따라 두 입력 중 하나를 선택하여 선택 컬럼 어드레스(SCADD)로서 출력하기 위해, 피형 및 엔형 모오스 트랜지스터들(P1-P4,N1-N4)로 이루어진 클럭드 씨모오스 인버터들과, 인버터들(INV1,INV2)로 구성된 인버터 래치(LA1)를 포함한다. 엔형 모오스 트랜지스터(N5)와 노아 게이트(NOR1)는 상기 인버터 래치(LA1)의 입력단과 접지 간에 방전경로를 형성하기 위해 마련된다. 또한, 인버터들(IN1,IN2)은 상기 패쓰 결정신호(MA,MB)의 논리 상태를 각기 반전하는 역할을 하기 위해 채용된다.
도 8에서, 예를 들어, 상기 패쓰 결정신호(MA)가 논리 로우레벨로 인가되면, 제1 포트(60)를 통해 인가되는 컬럼 어드레스(A_CADD)가 피형 및 엔형 모오스 트랜지스터(P2,N1)로 구성된 인버터를 통해 반전되고 이는 인버터(INV1)에 의해 다시 인버팅되어 선택 컬럼 어드레스(SCADD)로서 출력된다. 한편, 이 경우에 상기 패쓰 결정신호(MB)는 논리 하이레벨로 인가되기 때문에, 제2 포트(61)를 통해 인가될 수 있는 컬럼 어드레스(B_CADD)는 피형 및 엔형 모오스 트랜지스터(P4,N3)로 구성된 인버터가 비활성화 상태이므로 상기 래치(LA1)의 입력단에 제공되지 못한다. 결국, 제2 포트(61)를 통해 인가될 수 있는 컬럼 어드레스(B_CADD)는 선택 컬럼 어드레스(SCADD)로서 출력되지 못한다. 한편, 도 8에서, 상기 노아 게이트(NOR1)의 출력이 하이 레벨로 되면 상기 엔형 모오스 트랜지스터(N5)가 턴온되고 상기 래치(LA1)에 래치된 논리 레벨은 로우 레벨로 초기화된다.
이제 도 7을 참조하여, 상기 제1 프로세서(100)의 노말 동작 시 데이터 억세스 동작이 설명될 것이다.
도 7에서 메모리 셀(4)은 도 4의 공유 메모리 영역(11)에 소속된 메모리 셀이다. 도면을 참조하면, 상기 공유 메모리 영역(11)을 중심으로 A포트용 제2 멀티플렉서(40)와 B포트용 제2 멀티플렉서(41)가 서로 대칭적으로 배치되고, A 포트용 입출력 센스앰프 및 드라이버(22)와 B 포트용 입출력 센스앰프 및 드라이버(23)가 서로 대칭적으로 배치된 것이 보여진다. 상기 공유 메모리 영역(11)내에서, 하나의 억세스 트랜지스터(AT)와 스토리지 커패시터(C)로 구성된 상기 디램 셀(4)은 단위 메모리 소자를 형성한다. 상기 디램 셀(4)은 복수의 워드라인과 복수의 비트라인의 교차점에 연결되어 매트릭스 형태의 뱅크 어레이가 형성되도록 한다. 도 7에서 보여지는 워드라인(WL)은 상기 디램 셀(4)의 억세스 트랜지스터(AT)의 게이트와 로우 디코더(75)간에 배치된다. 상기 로우 디코더(75)는 로우 어드레스 멀티 플렉서(71)의 선택 로우 어드레스(SADD)에 응답하여 로우 디코딩 신호를 상기 워드라인 및 상기 레지스터(50)로 인가한다. 비트라인 페어를 구성하는 비트라인(BLi)은 상기 억세스 트랜지스터(AT)의 드레인과 컬럼 선택 트랜지스터(T1)에 연결된다. 상보(컴플리멘터리)비트라인(BLBi)은 컬럼 선택 트랜지스터(T2)에 연결된다. 상기 비트라인 페어(BLi,BLBi)에 연결된 피형 모오스 트랜지스터들(P1,P2)과 엔형 모오스 트랜지스터들(N1,N2)은 비트라인 센스앰프(5)를 구성한다. 센스앰프 구동용 트랜지스터들(PM1,NM1)은 구동 신호(LAPG,LANG)를 각기 수신하여 상기 비트라인 센스앰프(5)를 구동한다. 상기 컬럼 선택 트랜지스터들(T1,T2)로 구성된 컬럼 선택 게이트(6)는 컬럼 디코더(74)의 컬럼 디코딩 신호를 전달하는 컬럼 선택 라인(CSL)에 연결된다. 상기 컬럼 디코더(74)는 컬럼 어드레스 멀티 플렉서(70)의 선택 컬럼 어드레 스(SCADD)에 응답하여 컬럼 디코딩 신호를 상기 컬럼 선택라인 및 상기 레지스터(50)로 인가한다.
도 7에서 로컬 입출력 라인 페어(LIO,LIOB)는 제1 멀티 플렉서(7)와 연결된다. 상기 제1 멀티플렉서(7:F-MUX))를 구성하는 트랜지스터들(T10,T11)이 로컬 입출력 라인 제어신호(LIOC)에 의해 턴온될 때, 로컬 입출력 라인 페어(LIO,LIOB)는 글로벌 입출력 라인 페어(GIO,GIOB)와 연결된다. 이에 따라 데이터의 리드 동작 모드에서는 로컬 입출력 라인 페어(LIO,LIOB)에 나타나는 데이터가 상기 글로벌 입출력 라인 페어(GIO,GIOB)로 전달된다. 한편, 반대로 데이터의 라이트 동작 모드에서는 상기 글로벌 입출력 라인 페어(GIO,GIOB)에 인가된 라이트 데이터가 상기 로컬 입출력 라인 페어(LIO,LIOB)로 전달된다. 여기서, 상기 로컬 입출력 라인 제어신호(LIOC)는 상기 로우 디코더(75)에서 출력되는 디코딩 신호에 응답하여 생성되는 신호일 수 있다.
콘트롤 유닛(30)으로부터 출력되는 패쓰 결정신호(MA)가 활성화 상태인 경우에, 상기 글로벌 입출력 라인 페어(GIO,GIOB)으로 전달된 리드 데이터는 상기 제2 멀티플렉서(40)를 통해 입출력 센스앰프 및 드라이버(22)로 전달된다. 입출력 센스앰프(22)는, 지금까지의 데이터 경로를 통해 전달됨에 따라 레벨이 미약해진 데이터를 재차로 증폭하는 역할을 담당한다. 상기 입출력 센스앰프(22)로부터 출력된 리드 데이터는 멀티플렉서 및 드라이버(26)를 통해 제1 포트(60)로 전달된다. 한편, 이 경우에 패쓰 결정신호(MB)는 비활성화 상태이므로 상기 제2 멀티플렉서(41)는 디세이블된다. 따라서, 상기 공유 메모리 영역(11)에 대한 제2 프로세서(200)의 억세스 동작은 차단된다. 그렇지만, 이 경우에 제2 프로세서(200)는 제2포트(61)를 통해 상기 공유 메모리 영역(11)이외의 전용 메모리 영역들(12,13)을 억세스 할 수 있다.
상기 콘트롤 유닛(30)으로부터 출력되는 패쓰 결정신호(MA)가 활성화 상태인 경우에, 제1 포트(60)를 통해 인가되는 라이트 데이터는 멀티플렉서 및 드라이버(26), 입출력 센스앰프 및 드라이버(22), 및 상기 제2 멀티플렉서(40)를 차례로 거쳐서 상기 글로벌 입출력 라인 페어(GIO,GIOB)로 전달된다. 상기 제1 멀티플렉서(7:F-MUX))가 활성화되면 상기 라이트 데이터는 로컬 입출력 라인 페어(LIO,LIOB)로 전달되어, 선택된 메모리 셀(4)에 저장된다.
도 7에서 보여지는 출력 버퍼 및 드라이버(60-1)와 입력 버퍼(60-2)는 도 2의 제1 포트(60)에 대응되거나 포함될 수 있다. 또한, 입출력 센스앰프 및 드라이버가 2개(22,23)로 배치되며, 상기 제2 멀티 플렉서(40,41)는, 2개의 프로세서가 동시에 공유 메모리 영역(11)의 데이터를 억세스하는 경우를 방지하기 위해, 서로 상보적 동작을 가짐을 알 수 있다.
제1,2 프로세서들(100,200)은, 억세스 동작시에 글로벌 입출력 라인 페어(GIO,GIOB)와 메모리 셀(4)간에 존재하는 회로 소자들 및 라인들을 공통으로 사용하고, 각 포트에서 상기 제2 멀티플렉서(40,41)까지의 입출력 관련 회로 소자들 및 라인들을 독립적으로 사용한다.
보다 구체적으로, 상기 공유 메모리 영역(11)의 글로벌 입출력 라인 페어(GIO,GIOB)와, 상기 글로벌 입출력 라인 페어와 동작적으로 연결되는 로컬 입출 력 라인 페어(LIO,LIOB)와, 상기 로컬 입출력 라인 페어와는 컬럼 선택신호(CSL)에 의해 동작적으로 연결되는 비트라인 페어(BL,BLB)와, 상기 비트라인 페어(BL,BLB)에 설치되어 비트라인의 데이터를 감지 증폭하는 비트라인 센스앰프(5)와, 상기 비트라인(BL)에 억세스 트랜지스터(AT)가 연결된 메모리 셀(4)은, 상기 제1,2 포트(60,61)를 통하여, 각기 상기 제1,2 프로세서들(100,200)에 의해 공유됨을 주목하여야 한다.
상기한 바와 같이, 도 7에서 보여진 바와 같은 세부 구성을 갖는 본 발명의 반도체 메모리 장치에 의해, 프로세서들(100,200)간의 디램 인터페이싱 기능이 달성된다. 인터페이스 부로서 기능하는 내부 레지스터(50)를 활용함에 의해 상기 프로세서들(100,200)은 공통으로 억세스 가능한 공유 메모리 영역을 통해 데이터 통신을 수행하며, 억세스 권한 이양시 프리차아지 스킵 문제도 해결할 수 있게 된다. 또한, 제1 프로세서(100)에게 디램 인터페이스를 제공함에 의해 노말 동작 모드에서 데이터 수수가 가능해진다.
결국, 제1 프로세서(100)의 부팅 동작 시에 플래시 메모리(300)는 상기 부트 코드를 직접적으로 제공하고, 노말 동작 모드에서는 상기 제2 프로세서(200)에 의해 억세스된다. 그러한 노말 동작 모드에서 상기 제1 프로세서(100)는 상기 디램 인터페이스를 통하여 상기 플래시 메모리에 저장된 데이터를 상기 제2 프로세서(200)의 도움을 받아 간접적으로 억세스할 수 있다.
상기 불휘발성 반도체 메모리(300)에 저장된 상기 제1 프로세서(100)의 부트코드를 상기 휘발성 메모리를 경유함이 없이 상기 제1 프로세서(100)로 직접적으로 인가하는 시점은, 상기 제2 프로세서(200)의 부팅이 완료된 후일 수 있다. 이 경우에, 시스템의 파워 업이 시작되고 나서 상기 제2 프로세서(200)가 부팅되어지는 일정시간 동안에는 상기 휘발성 반도체 메모리(400)의 리셋 핀을 통해 생성된 리셋 인에이블 신호를 상기 제1 프로세서(100)로 인가할 수 있다. 그리고, 상기 제2 프로세서(200)의 부팅이 완료된 후에는 상기 리셋 인에이블 신호를 해제하는 리셋 디세이블 신호를 상기 휘발성 반도체 메모리(400)의 상기 리셋 핀을 통해 상기 제1 프로세서(100)로 인가할 수 있다.
상기한 바와 같이, 본 발명의 실시예에 따르면, 멀티프로세서 시스템에서 메모리 링크 아키텍쳐를 구성하지 않는 프로세서의 부팅 동작속도를 높이는 효과가 있으며 부팅 에러가 줄어들거나 최소화된다. 또한, 초기 부팅 동작 시에 멀티포트 DRAM등과 같은 휘발성 메모리의 사용 의존도도 줄어든다.
본 발명이 적용되는 멀티 프로세서 시스템에서 프로세서들의 개수는 3개 이상으로 확장될 수 있다. 상기 멀티 프로세서 시스템의 프로세서는 마이크로프로세서, CPU, 디지털 신호 프로세서, 마이크로 콘트롤러, 리듀스드 명령 세트 컴퓨터, 콤플렉스 명령 세트 컴퓨터, 또는 그와 유사한 것이 될 수 있다. 그러나 시스템 내의 프로세서들의 개수에 의해 본 발명의 범위가 제한되지 않음은 이해되어져야 한다. 부가하면, 본 발명의 범위는 프로세서들이 동일 또는 다르게 되는 경우에 프로세서들의 어느 특별한 조합에 한정되지 않는다.
상기한 설명에서는 본 발명의 실시예들을 위주로 도면을 따라 예를 들어 설명하였지만, 본 발명의 기술적 사상의 범위 내에서 본 발명을 다양하게 변형 또는 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게는 명백한 것이다. 예를 들어, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이 불휘발성 메모리의 영역 할당변경이나, 멀티포트 반도체 메모리의 공유 메모리 뱅크 구성, 또는 회로 구성 및 억세스 방법을 다양하게 변형 또는 변경할 수 있음은 물론이다.
예를 들어, 프로세서들의 역할을 바꾸어, 상기 제1 프로세서를 메모리 링크 아키텍쳐에 포함시키고, 제2 프로세서가 불휘발성 메모리의 부트코드 영역을 다이렉트로 억세스하도록 할 수 있을 것이다. 그리고, 불휘발성 메모리로서 플래시 메모리의 경우와, 휘발성 메모리로서 멀티포트 디램의 경우를 예를 들었으나 여기에 한정됨이 없이 스태이틱 랜덤 억세스 메모리나 PRAM 등과 같은 타의 불휘발성 메모리 등에서도 본 발명의 기술적 사상이 확장가능 할 수 있을 것이다.
도 1은 컨벤셔날 기술에 따른 멀티 프로세서 시스템의 개략적 블록도
도 2는 본 발명에 따른 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템의 개략적 블록도
도 3은 도 2중 플래시 메모리의 억세스 영역들을 보다 구체적으로 보여주는 도면
도 4는 도 2에 따른 멀티 포트 반도체 메모리 장치의 동작적 특징을 설명하기 위한 회로 블록도
도 5는 도 4중 콘트롤 유닛의 세부 회로 구성도 및 동작 타이밍도
도 6은 도 4의 메모리 뱅크 들과 내부 레지스터의 구성 및 억세스 관계를 보여주는 도면
도 7은 도 4중 공유 메모리 영역에 대한 멀티패쓰 억세싱을 보여주는 도면
도 8은 도 7중 어드레스 멀티플렉서의 구현 예를 보여주는 세부 회로도

Claims (18)

  1. 제1 프로세서;
    제2 프로세서;
    상기 제1,2 프로세서 모두에 의해 억세스 되는 반도체 메모리 장치; 및
    상기 제2 프로세서 및 상기 반도체 메모리 장치와 함께 메모리 링크 아키텍쳐를 형성하며, 상기 제1 프로세서의 부팅동작 시에 상기 제1 프로세서로 부팅 관련 데이터를 직접적으로 제공하고, 상기 제2 프로세서에 의해 억세스 되는 불휘발성 반도체 메모리 장치를 구비함을 특징으로 하는 멀티 프로세서 시스템.
  2. 제1항에 있어서, 상기 불휘발성 반도체 메모리 장치는 플래시 메모리임을 특징으로 하는 멀티 프로세서 시스템.
  3. 제2항에 있어서, 상기 플래시 메모리는 낸드 타입의 메모리 셀 구조를 갖는 낸드 타입 플래시 메모리임을 특징으로 하는 멀티 프로세서 시스템.
  4. 제1항에 있어서, 상기 반도체 메모리 장치는, 상기 제1,2 프로세서들에 의해 각기 다른 포트를 통해 공유적으로 억세스 되며 메모리 셀 어레이의 일부에 설정된 메모리 용량단위로 할당된 적어도 하나 이상의 공유 메모리 영역을 가짐을 특징으로 하는 멀티 프로세서 시스템.
  5. 제4항에 있어서, 상기 메모리 셀 어레이 내에는 상기 프로세서들 각각에 의해 전용으로 억세스 되는 전용 메모리 영역들이 더 구비됨을 특징으로 하는 멀티 프로세서 시스템.
  6. 제4항에 있어서, 상기 설정된 메모리 용량단위는 메모리 뱅크 단위임을 특징으로 하는 멀티 프로세서 시스템.
  7. 제4항에 있어서, 상기 프로세서들 간의 데이터 인터페이스 기능을 제공하기 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되며, 상기 메모리 셀 어레이의 외부에 위치된 내부 레지스터를 더 구비함을 특징으로 하는 멀티 프로세서 시스템.
  8. 멀티 프로세서 시스템에 있어서:
    각기 설정된 타스크를 수행하는 적어도 둘 이상의 프로세서들과;
    상기 프로세서들 간에서 데이터 인터페이싱을 수행하고, 상기 프로세서들에 의해 각기 다른 포트를 통해 공유적으로 억세스 되며 메모리 셀 어레이의 일부에 할당된 공유 메모리 영역을 가지는 멀티포트 반도체 메모리 장치와;
    상기 프로세서들의 부트 코드들을 불휘발적으로 저장하고 있으며 상기 프로세서들의 부팅 동작 시에 상기 프로세서들로 상기 부트 코드들을 직접적으로 제공하고, 노말 동작 모드에서는 상기 프로세서들 중 하나의 프로세서에 의해 직접적으로 억세스되고 나머지 프로세서들에 의해서는 상기 멀티포트 반도체 메모리 장치를 통해 간접적으로 억세스 되는 불휘발성 반도체 메모리 장치를 구비함을 특징으로 하는 멀티 프로세서 시스템.
  9. 제8항에 있어서, 상기 불휘발성 반도체 메모리 장치는 낸드 플래시 메모리임을 특징으로 하는 멀티 프로세서 시스템.
  10. 제8항에 있어서, 상기 멀티 포트 반도체 메모리 장치는, 메모리 뱅크 단위로 할당된 공유 메모리 영역과, 상기 프로세서들 각각에 의해 전용으로 억세스 되는 전용 메모리 영역들을 포함함을 특징으로 하는 멀티 프로세서 시스템.
  11. 멀티 프로세서 시스템에 있어서:
    제1 및 제2 프로세서와;
    상기 제1,2 프로세서에 연결되며 상기 제1,2 프로세서들의 부트코드를 저장하는 제1,2 부트코드 저장영역과 상기 제2 프로세서에 의해 전용으로 억세스되는 데이터 저장영역을 가지는 플래시 메모리와;
    상기 제2 프로세서 및 상기 플래시 메모리와 함께 메모리 링크 아키텍쳐를 형성하고 있으며, 휘발성 메모리 셀 어레이 내에 전용 메모리 영역들 및 공유 메모리 영역을 가지고, 노말 동작 모드에서는 상기 제1 및 제2 프로세서 간의 데이터 통신이 디램 인터페이스를 통해 제공되도록 하며, 상기 제1 프로세서의 초기 부팅 시 상기 제1 부트코드에 저장된 상기 제1 프로세서의 부트코드가 상기 제1 프로세서로 직접적으로 제공되도록 하기 위해 상기 플래시 메모리의 부트코드 저장영역과는 동작적으로 미연결되는 반도체 메모리 장치를 구비함을 특징으로 하는 멀티 프로세서 시스템.
  12. 제11항에 있어서, 상기 제1 프로세서와 상기 플래시 메모리 간의 데이터 통신 인터페이스는 낸드 플래시 인터페이스임을 특징으로 하는 멀티 프로세서 시스템.
  13. 제12항에 있어서, 상기 제1,2 프로세서들 간의 데이터 인터페이스 기능을 제공하기 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스 되며, 상기 메모리 셀 어레이의 외부에 위치된 내부 레지스터를 더 구비함을 특징으로 하는 멀티 프로세서 시스템.
  14. 제13항에 있어서, 상기 내부 레지스터는 세맵퍼 영역, 메일박스 영역들을 구비함을 특징으로 하는 멀티 프로세서 시스템.
  15. 불휘발성 반도체 메모리와 휘발성 반도체 메모리를 각기 하나씩 가지며, 상기 휘발성 반도체 메모리를 통해 제1 프로세서와 제2 프로세서가 데이터 인터페이싱을 행하는 멀티 프로세서 시스템에서의 시스템 초기 부팅 시 제1 프로세서의 부팅동작 제어방법에 있어서:
    상기 불휘발성 반도체 메모리에 저장된 상기 제1 프로세서의 부트코드를 상기 휘발성 메모리를 경유함이 없이 상기 제1 프로세서로 직접적으로 제공하는 것을 특징으로 하는 부팅동작 제어방법.
  16. 불휘발성 반도체 메모리와 휘발성 반도체 메모리를 각기 하나씩 가지며, 상기 휘발성 반도체 메모리를 통해 제1 프로세서와 제2 프로세서가 데이터 인터페이싱을 행하는 멀티 프로세서 시스템에서의 시스템 초기 부팅동작 제어방법에 있어서:
    시스템 초기 부팅이 시작되고 나서 상기 제2 프로세서가 부팅되어지는 일정시간 동안에는 상기 휘발성 반도체 메모리의 리셋 핀을 통해 생성된 리셋 인에이블 신호를 상기 제1 프로세서로 인가하고;
    상기 제2 프로세서의 부팅이 완료된 후에는 상기 리셋 인에이블 신호를 해제하는 리셋 디세이블 신호를 상기 휘발성 반도체 메모리의 상기 리셋 핀을 통해 상기 제1 프로세서로 인가하고;
    상기 불휘발성 반도체 메모리에 저장된 상기 제1 프로세서의 부트코드를 상기 휘발성 메모리를 경유함이 없이 상기 제1 프로세서로 직접적으로 인가하는 것을 특징으로 하는 부팅동작 제어방법.
  17. 제16항에 있어서, 상기 멀티 프로세서 시스템은 휴대용 멀티미디어 디바이스임을 특징으로 하는 부팅동작 제어방법.
  18. 제17항에 있어서, 상기 멀티 프로세서 시스템은 모바일 폰, PMP, PSP, PDA, 또는 휴대용 전화기 중의 하나임을 특징으로 하는 부팅동작 제어방법.
KR1020070097644A 2007-09-28 2007-09-28 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법 KR101430687B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070097644A KR101430687B1 (ko) 2007-09-28 2007-09-28 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법
US12/211,183 US8171279B2 (en) 2007-09-28 2008-09-16 Multi processor system having direct access boot and direct access boot method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070097644A KR101430687B1 (ko) 2007-09-28 2007-09-28 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법

Publications (2)

Publication Number Publication Date
KR20090032416A true KR20090032416A (ko) 2009-04-01
KR101430687B1 KR101430687B1 (ko) 2014-08-18

Family

ID=40509739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070097644A KR101430687B1 (ko) 2007-09-28 2007-09-28 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법

Country Status (2)

Country Link
US (1) US8171279B2 (ko)
KR (1) KR101430687B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100822468B1 (ko) * 2006-09-11 2008-04-16 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법
US20090171650A1 (en) * 2007-12-27 2009-07-02 Unity Semiconductor Corporation Non-Volatile memories in interactive entertainment systems
KR20110013868A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 멀티 코멘드 셋 동작 및 우선처리 동작 기능을 갖는 멀티 프로세서 시스템
US20130173901A1 (en) * 2010-11-01 2013-07-04 Raphael Gay Multi-processor computer systems and methods
KR101222082B1 (ko) * 2010-12-08 2013-01-14 삼성전자주식회사 Mla의 소비 전력을 줄이기 위한 멀티 포트 메모리 장치의 전원제어방법
US10120815B2 (en) * 2015-06-18 2018-11-06 Microchip Technology Incorporated Configurable mailbox data buffer apparatus
US9678865B1 (en) 2016-09-23 2017-06-13 International Business Machines Corporation Pre-allocating save areas of a memory

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993000628A1 (en) 1991-06-26 1993-01-07 Ast Research, Inc. Multiprocessor distributed initialization and self-test system
US6438683B1 (en) * 1992-07-28 2002-08-20 Eastman Kodak Company Technique using FIFO memory for booting a programmable microprocessor from a host computer
JPH08339353A (ja) * 1995-06-09 1996-12-24 Hitachi Ltd マルチプロセッサ装置
US5696949A (en) * 1995-06-15 1997-12-09 Intel Corporation System for PCI slots expansion using asynchronous PCI-to-PCI bridge with clock generator for providing clock signal to the expansion mother board and expansion side of bridge
JP3247330B2 (ja) * 1997-12-25 2002-01-15 株式会社神戸製鋼所 複数プロセッサシステム
KR19990086858A (ko) * 1998-05-30 1999-12-15 강병호 프로세서 중재 장치
US6400717B1 (en) * 1998-10-16 2002-06-04 Samsung Electronics Co., Ltd. Device for booting a multiprocessor embedded system and method of operation
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
JP2005010942A (ja) 2003-06-17 2005-01-13 Matsushita Electric Ind Co Ltd ブートコードが格納されるシーケンシャルアクセス・メモリデバイスを備えた装置及び前記装置の起動方法
JP2006099704A (ja) 2004-09-30 2006-04-13 Toshiba Corp 情報処理装置および起動制御方法
JP2006155303A (ja) 2004-11-30 2006-06-15 Canon Inc 制御装置
US7493460B2 (en) * 2005-09-07 2009-02-17 Intel Corporation Preboot memory of a computer system
KR20070044268A (ko) 2005-10-24 2007-04-27 삼성전자주식회사 메인 보드의 부팅 처리 방법 및 그 장치
KR101275752B1 (ko) * 2005-12-06 2013-06-17 삼성전자주식회사 메모리 시스템 및 그것의 부팅 방법
US7600109B2 (en) * 2006-06-01 2009-10-06 Dell Products L.P. Method and system for initializing application processors in a multi-processor system prior to the initialization of main memory
KR100746364B1 (ko) * 2006-07-28 2007-08-06 엠텍비젼 주식회사 메모리 공유 방법 및 장치
KR100799687B1 (ko) * 2006-09-19 2008-02-01 삼성전자주식회사 비휘발성 메모리를 공유하는 두 개 이상의 콘트롤러를내장한 시스템
US8176498B2 (en) * 2007-09-11 2012-05-08 Hewlett-Packard Development Company, L.P. Power setting adjustments by mission operating system in response to requests from platform manager

Also Published As

Publication number Publication date
US8171279B2 (en) 2012-05-01
US20090089573A1 (en) 2009-04-02
KR101430687B1 (ko) 2014-08-18

Similar Documents

Publication Publication Date Title
KR100887417B1 (ko) 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치
KR20090033539A (ko) 프로토콜 정의영역을 갖는 멀티포트 반도체 메모리 장치 및그를 채용한 멀티 프로세서 시스템과 멀티포트 반도체메모리 장치의 억세스 방법
KR100735612B1 (ko) 멀티패쓰 억세스블 반도체 메모리 장치
KR100745369B1 (ko) 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100725100B1 (ko) 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR20090008519A (ko) 공유 레지스터를 갖는 멀티패쓰 억세스블 반도체 메모리장치 및 그에 따른 공유 레지스터 운영방법
KR20100133649A (ko) 메모리 링크 아키텍쳐에서 파워 오프 시 데이터 로스를 방지하는 기능을 갖는 멀티 프로세서 시스템
US8171233B2 (en) Multi port semiconductor memory device with direct access function in shared structure of nonvolatile memory and multi processor system thereof
KR20100041309A (ko) 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템
KR20090013342A (ko) 멀티 포트 반도체 메모리 장치 및 그에 따른 리프레쉬 방법
KR101430687B1 (ko) 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법
US8078838B2 (en) Multiprocessor system having multiport semiconductor memory with processor wake-up function responsive to stored messages in an internal register
KR20090092371A (ko) 래치타입 메모리 셀들로 이루어진 공유 메모리 영역을 갖는멀티포트 반도체 메모리 장치 및 그를 채용한 멀티프로세서 시스템과 멀티포트 반도체 메모리 장치의구동방법
US20100077130A1 (en) Multiprocessor system with booting function using memory link architecture
US20100070691A1 (en) Multiprocessor system having multiport semiconductor memory device and nonvolatile memory with shared bus
KR100855580B1 (ko) 프로세서 리셋 기능을 갖는 반도체 메모리 장치 및 그를 채용한 멀티 프로세서 시스템과 그에 따른 프로세서 리셋 제어방법
US8886915B2 (en) Multiprocessor system having direct transfer function for program status information in multilink architecture
KR100879463B1 (ko) 억세스 권한 이양 시 프리차아지 스킵을 방지하는 동작을갖는 멀티패쓰 억세스블 반도체 메모리 장치
KR20090022007A (ko) 멀티포트 반도체 메모리 장치
US20090216961A1 (en) Multi-port semiconductor memory device for reducing data transfer event and access method therefor
US20090019237A1 (en) Multipath accessible semiconductor memory device having continuous address map and method of providing the same
KR20080103183A (ko) 부트 램을 반도체 메모리 장치 내에 구비한 멀티 프로세서시스템 및 그를 이용한 프로세서 부팅 방법
KR20080113896A (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
FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 6