[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100634436B1 - 멀티 칩 시스템 및 그것의 부트코드 페치 방법 - Google Patents

멀티 칩 시스템 및 그것의 부트코드 페치 방법 Download PDF

Info

Publication number
KR100634436B1
KR100634436B1 KR1020040076495A KR20040076495A KR100634436B1 KR 100634436 B1 KR100634436 B1 KR 100634436B1 KR 1020040076495 A KR1020040076495 A KR 1020040076495A KR 20040076495 A KR20040076495 A KR 20040076495A KR 100634436 B1 KR100634436 B1 KR 100634436B1
Authority
KR
South Korea
Prior art keywords
chip
dram
boot
boot code
nand flash
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020040076495A
Other languages
English (en)
Other versions
KR20060027619A (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 KR1020040076495A priority Critical patent/KR100634436B1/ko
Priority to US11/025,091 priority patent/US7533253B2/en
Publication of KR20060027619A publication Critical patent/KR20060027619A/ko
Application granted granted Critical
Publication of KR100634436B1 publication Critical patent/KR100634436B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/4403Processor initialisation

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 Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

본 발명은 멀티 칩 시스템 및 그것의 부트코드 페치 방법에 관한 것이다. 본 발명에 따른 멀티 칩 시스템은 휘발성 메모리 칩, 부트코드를 저장하고 있는 불휘발성 메모리 칩, 그리고 상기 부트코드를 페치하는 호스트를 포함한다. 본 발명은, 상기 호스트가 상기 불휘발성 메모리 칩에서 부트코드를 페치하기 전에, 상기 부트코드를 상기 휘발성 메모리 칩으로 전달(transfer)하고, 상기 휘발성 메모리 칩에서 부트코드를 페치하는 것을 특징으로 한다. 본 발명에 의하면, 종래 불휘발성 메모리 칩에 존재하던 부트램을 제거할 수 있기 때문에 불휘발성 메모리 칩의 면적을 줄일 수 있다.

Description

멀티 칩 시스템 및 그것의 부트코드 페치 방법{MULTI CHIP SYSTEM AND ITS BOOT CODE FETCH METHOD}
도 1은 종래 기술에 따른 멀티 칩 시스템을 보여주는 블록도이다.
도 2는 본 발명에 따른 멀티 칩 시스템의 제 1 실시예를 보여주는 블록도이다.
도 3은 도 2에 도시된 디램 부트 컨트롤러의 동작을 보여주는 순서도이다.
도 4는 본 발명에 따른 멀티 칩 시스템의 제 2 실시예를 보여주는 블록도이다.
*도면의 주요부분에 대한 부호의 설명*
10, 20, 30 : 멀티 칩 시스템 11, 12 : 시스템 버스
100 : 호스트 110 : 중앙처리장치
111 : 메모리 컨트롤러 120 : 플래시 메모리 컨트롤러
130 : 디램 컨트롤러 200 : 디램 칩
300, 400, 500 : 낸드 플래시 메모리 칩
310, 410, 510 : 낸드 플래시 메모리
320, 420, 520 : 낸드 플래시 인터페이스부
330 : 부트램 440, 541, 542 : 버퍼 메모리
350, 450, 550 : 부트로더 360, 460, 560 : 호스트 인터페이스부
470, 570 : 디램 부트 컨트롤러 480, 580 : 모드 레지스터
490, 590 : 디램 인터페이스부
본 발명은 멀티 칩 시스템에 관한 것으로, 더욱 상세하게는 휘발성 메모리 칩과 불휘발성 메모리 칩을 포함하는 멀티 칩 시스템 및 그것의 부트코드 페치 방법에 관한 것이다.
멀티 칩 시스템은 일반적으로 DRAM, SRAM 등과 같은 휘발성 메모리 칩과 PROM, EPROM, EEPROM, 플래시 메모리 등과 같은 불휘발성 메모리 칩으로 이루어진다. 휘발성 메모리 칩은 전원이 차단될 때 저장된 데이터를 잃어버린다. 그러나 불휘발성 메모리 칩은 전원이 차단되어도 저장된 데이터를 보존한다. 따라서 불휘발성 메모리 칩은 전원 공급이 차단될 가능성이 많은 여러 응용분야들(예를 들면, 컴퓨터 시스템 등)에서 BIOS(Basic Input/Output System), 부트코드(Boot Code) 등의 저장 매체로 사용되고 있다.
디램 칩 및 낸드 플래시 메모리 칩을 포함하는 멀티 칩 시스템의 일 예가 도 1에 도시되어 있다. 도 1을 참조하면, 상기 멀티 칩 시스템(10)은 호스트(100), 디램 칩(200), 낸드 플래시 메모리 칩(300), 그리고 시스템 버스(11)를 포함한다. 여기에서, 상기 낸드 플래시 메모리 칩(300)은 삼성전자에서 2003년 9월에 간행한 데 이터 북 (NAND Flash Memory & SmartMedia), 641 페이지에 게시되어 있다.
상기 호스트(100)는 중앙처리장치(110)와 메모리 컨트롤러(111)를 포함한다. 상기 중앙처리장치(CPU)(110)는 초기 파워-업(power-up) 동작 시에 상기 낸드 플래시 메모리 칩(300)에 저장되어 있는 부트코드를 페치(fetch)하여 초기화 동작을 수행한다. 상기 메모리 컨트롤러(111)는 상기 디램 칩(200) 및 상기 낸드 플래시 메모리 칩(300)의 제반 동작을 제어한다. 특히, 상기 메모리 컨트롤러(111)는 상기 낸드 플래시 메모리 칩(300) 내에 있는 호스트 인터페이스부(360)와 인터페이스를 하며, 상기 낸드 플래시 메모리 칩(300)에 각종 제어신호들(예를 들면, nCE, nOE, nWE 등)을 제공한다.
상기 낸드 플래시 메모리 칩(300)은, 낸드 플래시 메모리(310), 낸드 플래시 인터페이스부(320), 부트램(BootRAM)(330), 부트로더(BootLoader)(350), 그리고 호스트 인터페이스부(360)를 포함한다.
상기 낸드 플래시 메모리(310)는 많은 수의 메모리 셀들로 구성되며, 상기 메모리 셀들 중 일부에 부트코드를 저장하고 있다. 상기 낸드 플래시 메모리(310)에 저장되어 있는 부트코드는 상기 낸드 플래시 인터페이스부(320)를 통해 상기 부트램(330)에 전달된다. 상기 부트로더(350)는 상기 낸드 플래시 인터페이스부(320)에 읽기 명령(Flash Read command; FR)을 제공한다. 그리고 상기 부트로더(350)는 상기 부트램(330)에 쓰기 명령(Buffer Write command; BW)을 제공한다. 이때, 상기 낸드 플래시 메모리(310)에 저장되어 있는 부트코드는 상기 부트램(330)에 쓰여진다. 다음에, 상기 부트로더(350)는 상기 부트램(330)에 읽기 명령(Buffer Read; BR)을 제공한다. 이때, 상기 부트램(330)에 저장되어 있는 부트코드는 상기 호스트 인터페이스부(360)를 통해 상기 호스트(100)에 전달된다.
상기 멀티 칩 시스템(10)에서, 상기 호스트(100)는 초기 부팅 동작 시에 상기 낸드 플래시 메모리 칩(300)에 저장되어 있는 부트코드를 페치(fetch)한다. 이때, 부트코드는 지연시간 없이 빠른 시간 내에 상기 호스트(100)에 페치되어야 한다. 따라서, 상기 낸드 플래시 메모리 칩(200)은 그 내부에 동작 속도가 빠른 부트램(330)을 구비하고 있다. 상기 호스트(100)가 부트코드를 페치하기 전에, 상기 부트코드는 상기 부트램(330)에 저장된다. 상기 호스트(100)는 상기 부트램(330)에서 부트코드를 페치하기 때문에 빠른 시간 내에 부팅 동작을 수행할 수 있게 된다.
그러나 상기 부트램(예를 들면, SRAM)(330)은 상기 낸드 플래시 메모리 칩(300)의 면적을 증가시키는 문제점을 가지고 있다. 왜냐하면, 상기 부트램(예를 들면, SRAM)(330)은 상기 낸드 플래시 메모리 칩(300) 내에 존재하므로 낸드 플래시 메모리의 디자인 룰(design rule)에 따라 구현되어야 한다. 따라서 상기 부트램(330)은 SRAM 단품보다 그 면적이 커질 수밖에 밖에 없고, 이는 상기 낸드 플래시 메모리 칩(300)의 면적을 증가시키는 요인이 되고 있다. 특히, 최근에는 모바일 시스템이 점점 복잡해지면서 부트코드의 크기도 점점 증가하고 있는 추세에 있다. 이러한 추세에 따라 상기 부트코드를 저장하기 위한 부트램의 면적 증가는 큰 부담이 되고 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적 은 불휘발성 메모리 칩에 있는 부트램을 제거하여 불휘발성 메모리 칩의 면적을 줄이는 멀티 칩 시스템을 제공하는데 있다.
본 발명의 또 다른 목적은 불휘발성 메모리 칩에 있는 부트램을 제거할 수 있는 멀티 칩 시스템의 부트코드 페치 방법을 제공하는데 있다.
본 발명에 따른 멀티 칩 시스템은, 휘발성 메모리 칩; 부트코드를 저장하고 있는 불휘발성 메모리 칩; 및 상기 부트코드를 페치하는 호스트를 포함한다. 여기서, 상기 호스트가 상기 부트코드를 페치하기 전에, 상기 불휘발성 메모리 칩은 상기 부트코드를 상기 휘발성 메모리 칩으로 전달한다.
바람직한 실시예에 있어서, 상기 휘발성 메모리 칩은 디램 칩이고, 상기 불휘발성 메모리 칩은 낸드 플래시 메모리 칩인 것을 특징으로 한다. 여기서, 상기 낸드 플래시 메모리 칩은, 상기 부트코드를 저장하는 낸드 플래시 메모리; 상기 낸드 플래시 메모리에서 읽은 부트코드를 저장하는 버퍼 메모리; 상기 디램 칩에 대한 모드 레지스터 셋(MRS) 정보를 저장하는 모드 레지스터; 상기 낸드 플래시 메모리 칩이 상기 디램 칩과 호환되도록 하는 디램 인터페이스부; 및 상기 모드 레지스터 셋 정보에 응답하여, 상기 버퍼 메모리에 저장된 부트코드가 상기 디램 인터페이스부를 통하여 상기 디램 칩으로 전달되도록 제어하는 디램 부트 컨트롤러를 포함하는 것을 특징으로 한다.
본 발명에 따른 멀티 칩 시스템의 부트코드 페치 방법은 다음과 같다. 상기 멀티 칩 시스템은 휘발성 메모리 칩, 부트코드를 저장하고 있는 불휘발성 메모리 칩, 그리고 상기 부트코드를 페치하는 호스트를 포함하며, 상기 멀티 칩 시스템의 부트코드 페치 방법은, a) 상기 부트코드를 상기 휘발성 메모리 칩으로 전달하는 단계; 및 b) 상기 호스트가 상기 휘발성 메모리 칩으로부터 상기 부트코드를 페치하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 휘발성 메모리 칩은 디램 칩인 것을 특징으로 한다. 여기에서, 상기 a) 단계는, 상기 디램 칩에 있는 모드 레지스터를 셋팅하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 휘발성 메모리 칩은 디램 칩이고; 상기 불휘발성 메모리 칩은 버퍼 메모리와 디램 인터페이스부를 포함하는 낸드 플래시 메모리 칩인 것을 특징으로 한다. 여기에서, 상기 a) 단계는, a1) 상기 부트코드를 상기 버퍼 메모리에 저장하는 단계; a2) 상기 디램 칩에 있는 모드 레지스터를 셋팅하는 단계; a3) 상기 버퍼 메모리에 저장된 부트코드를 상기 디램 인터페이스부를 통해 상기 디램 칩으로 전달하는 단계를 포함한다.
본 발명에 따른 멀티 칩 시스템은, 호스트가 부트코드를 페치하기 전에 상기 부트코드를 불휘발성 메모리 칩에서 휘발성 메모리 칩으로 전달(transfer)하는 구성 수단들을 갖는다. 이렇게 하는 이유는, 종래 불휘발성 메모리 칩에 있던 부트램의 기능을 상기 휘발성 메모리 칩이 대신하도록 함으로써 불휘발성 메모리 칩의 면적을 줄이기 위함이다. 즉, 본 발명에 따른 멀티 칩 시스템은 종래 불휘발성 메모리 칩에 있던 부트램을 제거할 수 있기 때문에 불휘발성 메모리 칩의 면적을 크게 줄일 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 2는 본 발명의 바람직한 실시예에 따른 멀티 칩 시스템을 보여주는 블록도이다. 도 2를 참조하면, 상기 멀티 칩 시스템(20)은 호스트(100), 디램 칩(200), 그리고 낸드 플래시 메모리 칩(400)을 포함한다.
상기 호스트(100)는 중앙처리장치(110), 플래시 메모리 컨트롤러(120), 디램 컨트롤러(130), 그리고 내부 시스템 버스(12)를 포함한다. 상기 중앙처리장치(CPU)(110)는 초기 파워-업(power-up) 동작 시에 부트코드를 페치(fetch)하여 초기화 동작을 수행한다. 상기 플래시 메모리 컨트롤러(120)는 상기 낸드 플래시 메모리 칩(400)의 전반적인 동작을 제어한다. 특히, 상기 플래시 메모리 컨트롤러(120)는 상기 낸드 플래시 메모리 칩(400) 내에 있는 호스트 인터페이스부(460)와 인터페이스를 하며, 상기 낸드 플래시 메모리 칩(400)에 각종 제어신호들(예를 들면, nCE, nOE, nWE 등)을 제공한다. 상기 디램 컨트롤러(130)는 상기 디램 칩(200)의 전반적인 동작을 제어한다. 그리고 상기 디램 컨트롤러(130)는 상기 낸드 플래시 메모리 칩(400)에 있는 디램 인터페이스부(490)와 인터페이스를 하여, 부트코드가 상기 낸드 플래시 메모리 칩(400)에서 상기 디램 칩(200)으로 전달(transfer)되도록 한다.
상기 낸드 플래시 메모리 칩(400)은 낸드 플래시 메모리(410), 낸드 플래시 인터페이스부(420), 버퍼 메모리(440), 부트로더(450), 호스트 인터페이스부(460), 디램 부트 컨트롤러(470), 모드 레지스터(480), 그리고 디램 인터페이스부(490)를 포함한다.
상기 낸드 플래시 메모리(410)는 많은 수의 메모리 셀들로 구성되며, 상기 메모리 셀들 중 일부(411)에 부트코드를 저장하고 있다. 상기 낸드 플래시 메모리(410)에 저장되어 있는 부트코드는 상기 낸드 플래시 인터페이스부(420)를 통해 상기 버퍼 메모리(440)에 전달된다. 도 2를 살펴보면, 종래 낸드 플래시 메모리 칩(도 1 참조)(10)에 있던 부트램(330)이 제거된 것을 볼 수 있다. 도 2에서 종래 부트램이 있던 곳은 점선으로 표시되어 있다. 즉, 종래 부트램에 저장되던 부트코드가 본 발명에서는 상기 버퍼 메모리(440)에 저장된다. 여기에서, 상기 버퍼 메모리(440)는 상기 낸드 플래시 메모리(410)에 저장된 데이터를 임시적으로 저장하기 위한 메모리로서, 일반적으로 SRAM 등으로 구현된다.
초기에 전원이 인가되면, 상기 낸드 플래시 메모리 칩(400) 내에 있는 외부 파워 감지기(external power detector)(도시되지 않음)는 파워 온 리셋신호(Power On Reset signal; POR)를 인에이블한다. 상기 파워 온 리셋신호가 인에이블되면, 상기 부트로더(450)는 상기 낸드 플래시 인터페이스부(420)에 읽기 명령(Flash Read command; FR)을 제공한다. 그 다음에 상기 부트로더(450)는 상기 버퍼 메모리(440)에 쓰기 명령(Buffer Write command; BW)을 제공한다. 이때, 상기 낸드 플래시 메모리(410)에 저장되어 있는 부트코드는 상기 버퍼 메모리(440)에 쓰여진다.
상기 디램 부트 컨트롤러(470)는 상기 버퍼 메모리(440)와 상기 디램 인터페이스부(490)를 제어한다. 상기 디램 부트 컨트롤러(470)는 상기 버퍼 메모리(440) 에 읽기 명령(Buffer Read command; BR)을 제공하고, 상기 디램 인터페이스부(490)에 쓰기 명령(DRAM Write command; DW)을 제공한다. 그리하여 상기 버퍼 메모리(440)에 저장되어 있는 부트코드가 상기 디램 인터페이스부(490)를 통해 상기 디램 칩(200)에 전달(transfer)되도록 한다.
한편, 부트코드가 상기 디램 칩(200)에 전달되기 전에, 상기 디램 부트 컨트롤러(470)는 상기 디램 인터페이스부(490)에 MRS(Mode Register Set) 정보를 제공하여 상기 디램 칩(200)에 있는 모드 레지스터(도시되지 않음)를 셋팅해준다. 여기서, 상기 MRS 정보는 카스 레이턴시(CAS Latency; CL), Burst Length(BL) 등을 포함하는 정보로서, 상기 디램 칩(200)의 다양한 동작 모드를 제어하기 위한 정보이다.
일반적으로, 호스트는 파워-업 후에 모드 레지스터(도시되지 않음)에 카스 레이턴시(CAS Latency; CL), Burst Length(BL) 등의 MRS 정보를 셋팅한다. 그러나 본 발명에서, 부트코드의 전달과정이 호스트에 의한 부트코드 페치 이전에 이루어지기 때문에 호스트에 의한 MRS 셋팅은 이루어지지 않는다. 따라서 부트코드를 전달하기 전에, 디램 칩의 동작 조건을 결정하기 위해서 MRS 셋팅을 해주어야 한다.
다시 도 2를 참조하면, 상기 모드 레지스터(480)는 상기 디램 칩(200)에 대한 MRS 정보를 저장하고 있다. 상기 모드 레지스터(480)에 저장되어 있는 MRS 정보는 내에 퓨즈 또는 본딩 옵션 등으로 형태로 구현된다. 상기 디램 부트 컨트롤러(470)는 상기 모드 레지스터(480)에서 제공되는 MRS 정보에 응답하여 상기 디램 인터페이스부(490)에 MRS 신호를 인가한다.
도 3은 도 2에 도시된 디램 부트 컨트롤러의 동작을 보여주는 순서도이다. 도 2 및 도 3을 참조하여 상기 디램 부트 컨트롤러(470)의 동작을 설명한다.
우선, S310 단계는, 부트코드가 버퍼 메모리(440)에 모두 쓰여졌는가를 확인하는 단계이다. 상기 디램 부트 컨트롤러(470)는 부트로더(450)에 의한 플래시 읽기 명령(FR) 및 버퍼 메모리 쓰기 명령(BW)이 완료되었는지를 확인한다. 상기 버퍼 메모리(440)에 쓰기 동작이 완료되면, S320 단계를 진행한다.
S320 단계는, 디램 칩(200)에 있는 모드 레지스터를 셋팅하는 단계이다. 상기 디램 부트 컨트롤러(470)는 모드 레지스터(480)에서 제공되는 MRS 정보에 응답하여 디램 인터페이스부(490)에 MRS 신호를 제공한다. 상기 MRS 신호에 의해 상기 디램 칩(200)에 있는 모드 레지스터는 셋팅된다.
S330 단계는, 상기 버퍼 메모리(440)에 저장된 부트코드를 읽는 단계이다. 상기 디램 부트 컨트롤러(470)는 상기 버퍼 메모리(440)에 읽기 명령(BR)을 제공한다.
S340 단계는, 상기 버퍼 메모리(440)에서 읽은 부트코드를 상기 디램 칩(200)에 쓰는 단계이다. 상기 디램 부트 컨트롤러(470)는 디램 인터페이스부(490)에 쓰기 명령(DW)을 제공한다.
마지막으로, S350 단계는, 상기 디램 칩(200)에 부트코드가 모두 쓰여졌는가를 확인하는 단계이다. 만약, 부트코드가 상기 디램 칩(200)에 모두 쓰여지지 않았다면, 상기 디램 부트 컨트롤러(470)는 부트코드 읽기 동작(S330) 및 부트코드 쓰기 동작(S340)을 반복 수행한다. 그러나 부트코드가 상기 디램 칩(200)에 모두 쓰 여지면, 상기 디램 부트 컨트롤러(470)의 동작은 종료된다.
다시 도 2를 참조하면, 부트코드의 이동 경로를 확인할 수 있다. 도 2에서 부트코드의 이동 경로는 굵은 실선으로 표시되어 있다. 부트코드는 상기 낸드 플래시 인터페이스부(420)를 거쳐 상기 버퍼 메모리(440)에 저장된다(①, ②). 다음에, 상기 버퍼 메모리(440)에 저장된 부트코드는 상기 디램 인터페이스부(490)를 거쳐 상기 디램 칩(200)에 저장된다(③, ④). 상기 디램 칩(200)에 저장된 부트코드는 상기 디램 컨트롤러(130)를 거쳐 상기 중앙처리장치(110)에 페치된다.
도 4는 본 발명에 따른 멀티 칩 시스템의 다른 실시예를 보여주는 블록도이다. 이 실시예에 따르면, 상기 멀티 칩 시스템(30)은 낸드 플래시 메모리 칩(500) 내에 2개의 버퍼 메모리(541, 542)를 포함한다. 이것은 듀얼 버퍼링(dual buffering)을 하여 부트코드를 디램 칩(200)에 빠르게 전달하기 위함이다.
먼저, 부트로더(550)가 제 1 버퍼 메모리(541)에 쓰기 명령(BW1)을 제공하면, 부트코드는 낸드 플래시 인터페이스부(520)를 거쳐 상기 제 1 버퍼 메모리(541)에 쓰여진다(①,②). 다음에, 상기 부트로더(550)가 상기 제 2 버퍼 메모리(542)에 쓰기 명령(BW2)을 제공하고, 상기 제 1 버퍼 메모리(541)에 읽기 명령(BR1)을 제공한다. 부트코드가 제 2 버퍼 메모리(542)에 쓰여지는 동안에(①',②'), 상기 제 1 버퍼 메모리(541)에 저장된 부트코드는 읽혀져서 상기 디램 칩(200)에 전달된다(③,④). 다음에, 상기 부트로더(550)가 상기 제 2 버퍼 메모리(542)에 읽기 명령(BR2)을 제공하고, 상기 제 1 버퍼 메모리(541)에 쓰기 명령(BW1)을 제공한다. 이때, 상기 제 2 버퍼 메모리(542)에 저장된 부트코드가 읽혀져서 상기 디램 칩(200)에 전달되는 동안에(③',④), 부트코드가 상기 제 1 버퍼 메모리(541)에 쓰여진다(①,②). 이와 같은 듀얼 버퍼링에 의해, 부트코드는 상기 디램 칩(200)으로 빠르게 전달될 수 있다.
상기 멀티 칩 시스템(30)에 의하면, 부트램(도 1 참조)(330)이 제거되어 낸드 플래시 메모리 칩(500)의 면적을 줄일 수 있을 뿐만 아니라, 듀얼 버퍼링 동작에 의해 부트코드 전달 속도를 빠르게 할 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에 따른 멀티 칩 시스템 및 그것의 부트코드 페치 방법에 의하면, 호스트가 불휘발성 메모리 칩에 있는 부트코드를 페치하기 전에, 상기 부트코드를 휘발성 메모리 칩으로 전달하기 때문에, 상기 불휘발성 메모리 칩에 있던 부트램을 제거할 수 있다. 따라서 본 발명은 불휘발성 메모리 칩에 있는 부트램의 면적 증가로 인한 문제점을 해결할 수 있다.

Claims (18)

  1. 멀티 칩 시스템의 부트 코드 페치 방법에 있어서:
    상기 멀티 칩 시스템은
    휘발성 메모리 칩;
    부트 코드를 저장하며, 상기 휘발성 메모리 칩과의 데이터 전송을 위한 인터페이스부를 구비한 불휘발성 메모리 칩; 및
    상기 부트 코드를 페치함으로 상기 멀티 칩 시스템의 부팅 동작을 수행하기 위한 호스트를 포함하고,
    상기 멀티 칩 시스템의 부트 코드 페치 방법은
    상기 불휘발성 메모리 칩이 상기 인터페이스부를 통해 상기 휘발성 메모리 칩으로 상기 부트 코드를 직접 전송하는 단계; 및
    상기 호스트가 상기 휘발성 메모리 칩으로부터 상기 부트 코드를 페치하는 단계를 포함하되,
    상기 부트 코드 전송 단계에서, 상기 불휘발성 메모리 칩은 상기 휘발성 메모리 칩으로 상기 부트 코드를 전송하기 전에 상기 휘발성 메모리 칩의 모드 레지스터를 셋팅하는 부트 코드 페치 방법.
  2. 제 1 항에 있어서,
    상기 휘발성 메모리 칩은 디램 칩인 것을 특징으로 하는 부트 코드 페치 방법.
  3. 제 2 항에 있어서,
    상기 불휘발성 메모리 칩은 낸드 플래시 메모리 칩인 것을 특징으로 하는 부트 코드 페치 방법.
  4. 제 3 항에 있어서,
    상기 낸드 플래시 메모리 칩은
    상기 부트 코드를 저장하는 낸드 플래시 메모리;
    상기 디램 칩과의 데이터 전송을 위한 디램 인터페이스부; 및
    상기 부트 코드가 상기 디램 인터페이스부를 통해 상기 디램 칩으로 직접 전송되도록 상기 디램 인터페이스부를 제어하는 디램 부트 컨트롤러를 포함하는 부트 코드 페치 방법.
  5. 제 4 항에 있어서,
    상기 부트 코드 전송 단계는,
    파워 온 리셋 신호에 응답하여 상기 낸드 플래시 메모리에 저장된 부트 코드를 읽는 단계;
    상기 디램 부트 컨트롤러의 제어에 의해 상기 디램 칩의 모드 레지스터를 셋팅하는 단계; 및
    상기 읽은 부트 코드를 상기 디램 인터페이스부를 통해 상기 디램 칩으로 전송하는 단계를 포함하는 부트 코드 페치 방법.
  6. 제 4 항에 있어서,
    상기 낸드 플래시 메모리에서 읽은 부트 코드를 임시적으로 저장하기 위한 하나 또는 그 이상의 버퍼 메모리를 더 포함하는 부트 코드 페치 방법.
  7. 제 6 항에 있어서,
    상기 부트 코드 전송 단계는,
    파워 온 리셋 신호에 응답하여 상기 낸드 플래시 메모리에 저장된 부트 코드를 읽는 단계;
    상기 낸드 플래시 메모리로부터 읽은 부트 코드를 상기 버퍼 메모리에 저장하는 단계;
    상기 디램 부트 컨트롤러의 제어에 의해 상기 디램 칩의 모드 레지스터를 셋팅하는 단계; 및
    상기 버퍼 메모리에 저장된 부트 코드를 상기 디램 인터페이스부를 통해 상기 디램 칩으로 전송하는 단계를 포함하는 부트 코드 페치 방법.
  8. 제 7 항에 있어서,
    상기 버퍼 메모리 중에서 어느 하나의 버퍼 메모리에 부트 코드가 저장되는 동안에, 다른 버퍼 메모리에 저장된 부트 코드는 상기 디램 칩으로 전송되는 부트 코드 페치 방법.
  9. 멀티 칩 시스템에 있어서:
    휘발성 메모리 칩;
    부트 코드를 저장하며, 상기 휘발성 메모리 칩과의 데이터 전송을 위한 인터페이스부를 구비하며, 파워 업 시에 상기 인터페이스부를 통해 상기 부트 코드를 상기 휘발성 메모리 칩으로 직접 전송하는 불휘발성 메모리 칩; 및
    상기 휘발성 메모리 칩으로 전송된 부트 코드를 페치함으로 상기 멀티 칩 시스템의 부팅 동작을 수행하는 호스트를 포함하되,
    상기 불휘발성 메모리 칩은 상기 휘발성 메모리 칩으로 상기 부트 코드를 전송하기 전에, 상기 휘발성 메모리 칩의 모드 레지스터를 셋팅하는 멀티 칩 시스템.
  10. 제 9 항에 있어서,
    상기 휘발성 메모리 칩은 디램 칩인 것을 특징으로 하는 멀티 칩 시스템.
  11. 제 10 항에 있어서,
    상기 불휘발성 메모리 칩은 낸드 플래시 메모리 칩인 것을 특징으로 하는 멀티 칩 시스템.
  12. 제 11 항에 있어서,
    상기 낸드 플래시 메모리 칩은
    상기 부트 코드를 저장하는 낸드 플래시 메모리;
    상기 디램 칩과의 데이터 전송을 위한 디램 인터페이스부; 및
    상기 부트 코드가 상기 디램 인터페이스부를 통해 상기 디램 칩으로 직접 전송되도록 상기 디램 인터페이스부를 제어하는 디램 부트 컨트롤러를 포함하는 멀티 칩 시스템.
  13. 제 12 항에 있어서,
    상기 디램 부트 컨트롤러는 파워 온 리셋 신호에 응답하여 상기 낸드 플래시 메모리에 저장된 부트 코드를 읽고, 읽은 데이터가 상기 디램 인터페이스부를 통해 상기 디램 칩으로 전송되도록 하는 멀티 칩 시스템.
  14. 제 12 항에 있어서,
    상기 디램 부트 컨트롤러는 상기 낸드 플래시 메모리에 저장된 부트 코드가 상기 디램 칩으로 전송되기 전에, 상기 디램 칩의 모드 레지스터를 셋팅하는 멀티 칩 시스템.
  15. 제 12 항에 있어서,
    상기 낸드 플래시 메모리 칩은 상기 낸드 플래시 메모리에서 읽은 부트 코드를 임시적으로 저장하기 위한 하나 또는 그 이상의 버퍼 메모리를 더 포함하는 멀티 칩 시스템.
  16. 제 15 항에 있어서,
    상기 낸드 플래시 메모리 칩은 파워 온 리셋 신호에 응답하여 상기 낸드 플래시 메모리에 저장된 부트 코드가 상기 버퍼 메모리에 저장되도록 하는 부트 로더를 더 포함하는 멀티 칩 시스템.
  17. 제 15 에 있어서,
    상기 낸드 플래시 메모리 칩은 상기 디램 칩의 모드 레지스터 정보를 저장하는 모드 레지스터를 더 포함하며, 상기 디랩 부트 컨트롤러는 상기 모드 레지스터 정보에 응답하여 상기 디램 칩의 모드 레지스터를 셋팅하는 멀티 칩 시스템.
  18. 제 15 항에 있어서,
    상기 버퍼 메모리 중에서 어느 하나의 버퍼 메모리에 부트 코드가 저장되는 동안에, 다른 버퍼 메모리에 저장된 부트 코드는 상기 디램 칩으로 전송되는 멀티 칩 시스템.
KR1020040076495A 2004-09-23 2004-09-23 멀티 칩 시스템 및 그것의 부트코드 페치 방법 Expired - Fee Related KR100634436B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040076495A KR100634436B1 (ko) 2004-09-23 2004-09-23 멀티 칩 시스템 및 그것의 부트코드 페치 방법
US11/025,091 US7533253B2 (en) 2004-09-23 2004-12-28 System and method for fetching a boot code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040076495A KR100634436B1 (ko) 2004-09-23 2004-09-23 멀티 칩 시스템 및 그것의 부트코드 페치 방법

Publications (2)

Publication Number Publication Date
KR20060027619A KR20060027619A (ko) 2006-03-28
KR100634436B1 true KR100634436B1 (ko) 2006-10-16

Family

ID=36075346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040076495A Expired - Fee Related KR100634436B1 (ko) 2004-09-23 2004-09-23 멀티 칩 시스템 및 그것의 부트코드 페치 방법

Country Status (2)

Country Link
US (1) US7533253B2 (ko)
KR (1) KR100634436B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
KR100707308B1 (ko) * 2005-06-13 2007-04-12 삼성전자주식회사 엠엠씨 인터페이스를 갖는 플래시 메모리 장치 및 그것을포함한 메모리 시스템
KR100673013B1 (ko) * 2005-09-21 2007-01-24 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템
US7822958B1 (en) * 2006-03-10 2010-10-26 Altera Corporation Booting mechanism for FPGA-based embedded system
EP2027520A1 (en) * 2006-07-21 2009-02-25 Sony Service Centre (Europe) N.V. System having plurality of hardware blocks and method of operating the same
US7676683B2 (en) * 2006-08-24 2010-03-09 Sony Computer Entertainment Inc. Method and system for rebooting a processor in a multi-processor system
KR100851849B1 (ko) * 2006-10-12 2008-08-13 삼성전자주식회사 휴대용 단말기 및 그것의 데이터 기입 및 독출 방법
JP2008140027A (ja) * 2006-11-30 2008-06-19 Toshiba Corp 情報処理装置及び情報処理装置の電源制御方法
KR101595043B1 (ko) 2008-09-18 2016-02-17 마벨 월드 트레이드 리미티드 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법
KR101542878B1 (ko) * 2009-02-13 2015-08-07 삼성전자주식회사 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법
US8245024B2 (en) 2009-08-21 2012-08-14 Micron Technology, Inc. Booting in systems having devices coupled in a chained configuration
KR101033489B1 (ko) * 2009-11-30 2011-05-09 주식회사 하이닉스반도체 반도체 메모리 장치의 파워 온 리셋 신호 생성 회로
US8429391B2 (en) 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
US8555050B2 (en) * 2010-07-15 2013-10-08 Broadcom Corporation Apparatus and method thereof for reliable booting from NAND flash memory
US20120060023A1 (en) * 2010-09-06 2012-03-08 Samsung Electronics Co., Ltd. Methods for booting an operating system using non-volatile memory
US9323542B2 (en) 2011-12-27 2016-04-26 Intel Corporation Optimized cold boot for non-volatile memory
KR20140083530A (ko) * 2012-12-26 2014-07-04 삼성전자주식회사 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법
US9575768B1 (en) * 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
KR20140100008A (ko) * 2013-02-05 2014-08-14 삼성전자주식회사 휘발성 메모리 장치의 구동 방법 및 휘발성 메모리 장치의 테스트 방법
WO2015015305A1 (en) 2013-07-31 2015-02-05 Marvell Word Trade Ltd. Parallelizing boot operations
KR102645140B1 (ko) * 2018-12-06 2024-03-07 삼성전자주식회사 Fpga를 포함하는 메모리 시스템 및 이의 동작 방법
US11803643B2 (en) * 2020-02-07 2023-10-31 Intel Corporation Boot code load system
US12190120B2 (en) * 2022-06-21 2025-01-07 Stmicroelectronics Application Gmbh Processing system, related integrated circuit, device and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5875229A (ja) 1981-10-28 1983-05-06 Nec Corp デ−タ処理装置のプ−トロ−ド方式
JPS61147358A (ja) 1984-12-20 1986-07-05 Nec Corp 初期プログラムロ−デイング回路
JPS62272341A (ja) 1986-05-21 1987-11-26 Fanuc Ltd マルチプロセツサシステムにおけるブ−トロ−デイング方式
JPS6358560A (ja) 1986-08-29 1988-03-14 Toshiba Corp デ−タ処理システム
JPH11298550A (ja) 1998-04-09 1999-10-29 Toshiba Corp 通信システム及び通信装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479498A (en) * 1990-12-11 1995-12-26 Octel Communications Corporation Digital line card having universal port for upgrading electronic messaging system
JPH08314801A (ja) 1995-05-17 1996-11-29 Fanuc Ltd メモリ管理方式
US5559957A (en) * 1995-05-31 1996-09-24 Lucent Technologies Inc. File system for a data storage device having a power fail recovery mechanism for write/replace operations
US6016522A (en) * 1997-11-13 2000-01-18 Creative Labs, Inc. System for switching between buffers when receiving bursty audio by computing loop jump indicator plus loop start address for read operations in selected buffer
GB9805479D0 (en) * 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Microcomputer
JP3679249B2 (ja) * 1998-07-31 2005-08-03 富士通株式会社 Atmセル多重装置
KR100308479B1 (ko) 1998-08-11 2001-11-01 윤종용 컴퓨터 시스템 내에서 부트-업 메모리로 사용되는 플래시 메모리 장치 및 그것의 데이터 읽기 방법
JP3657149B2 (ja) 1999-08-18 2005-06-08 アルパイン株式会社 ナビゲーション装置
KR100316584B1 (ko) 1999-12-14 2001-12-12 서평원 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법
KR100360408B1 (ko) * 2000-09-16 2002-11-13 삼성전자 주식회사 독출동작시 데이터 스트로브 신호와 동일한 신호를출력하는 데이터 마스킹핀을 갖는 반도체 메모리장치 및이를 구비하는 메모리 시스템
JP2003037692A (ja) 2001-07-23 2003-02-07 Murata Mach Ltd 画像処理装置
US7032106B2 (en) * 2001-12-27 2006-04-18 Computer Network Technology Corporation Method and apparatus for booting a microprocessor
US6988182B2 (en) * 2002-02-13 2006-01-17 Power Measurement Ltd. Method for upgrading firmware in an electronic device
US7234052B2 (en) 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
KR100786603B1 (ko) * 2002-11-28 2007-12-21 가부시끼가이샤 르네사스 테크놀로지 메모리 모듈, 메모리시스템 및 정보기기
KR100493884B1 (ko) 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
US7177200B2 (en) * 2004-02-10 2007-02-13 Msystems Ltd. Two-phase programming of a flash memory
EP1851771A2 (en) * 2005-02-11 2007-11-07 M-Systems Flash Disk Pioneers Ltd. Nand flash memory system architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5875229A (ja) 1981-10-28 1983-05-06 Nec Corp デ−タ処理装置のプ−トロ−ド方式
JPS61147358A (ja) 1984-12-20 1986-07-05 Nec Corp 初期プログラムロ−デイング回路
JPS62272341A (ja) 1986-05-21 1987-11-26 Fanuc Ltd マルチプロセツサシステムにおけるブ−トロ−デイング方式
JPS6358560A (ja) 1986-08-29 1988-03-14 Toshiba Corp デ−タ処理システム
JPH11298550A (ja) 1998-04-09 1999-10-29 Toshiba Corp 通信システム及び通信装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020030074106 *
1020040064149 *

Also Published As

Publication number Publication date
US7533253B2 (en) 2009-05-12
US20060064575A1 (en) 2006-03-23
KR20060027619A (ko) 2006-03-28

Similar Documents

Publication Publication Date Title
KR100634436B1 (ko) 멀티 칩 시스템 및 그것의 부트코드 페치 방법
US7562180B2 (en) Method and device for reduced read latency of non-volatile memory
JP5290516B2 (ja) メモリ・デバイス、メモリ・デバイスを有するシステム、及び埋め込み型デバイスの動作方法
JP5547741B2 (ja) データをメモリ装置に再入力することなくページをプログラムするためのページバッファプログラムコマンド及び方法
KR100508087B1 (ko) 낸드 플래시 메모리를 이용한 부트 시스템 및 그 방법
US7411859B2 (en) Multi-port memory device for buffering between hosts
JP4593575B2 (ja) 埋め込み型コンピュータシステムの各構成部材のための共通化インターフェース
KR101105489B1 (ko) Nand 플래시 메모리의 커맨드 기반 제어
US20060206701A1 (en) Booting From Non-Linear Memory
US7287115B2 (en) Multi-chip package type memory system
KR100758301B1 (ko) 메모리 카드 및 그것의 데이터 저장 방법
WO2006081057A2 (en) Simultaneous pipelined read with dual level cache for improved system performance using flash technology
US20060174148A1 (en) Controller and method for power-down mode in memory card system
US7249253B2 (en) Booting from a re-programmable memory on an unconfigured bus
CN108538332B (zh) 与非门闪存的读取方法
EA039007B1 (ru) Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
KR101028855B1 (ko) 시리얼 플래시 컨트롤러
US10628322B2 (en) Memory system and operating method thereof
CN118072793A (zh) 用于改进命令输入操作的效率的存储器装置
JP2004133902A (ja) 信号バス上の通信を制御するシステム及び方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20040923

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20060421

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20060725

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20061009

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20061010

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20090914

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20101007

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20110930

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20120925

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20120925

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20130930

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20141001

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20160909