KR101275752B1 - 메모리 시스템 및 그것의 부팅 방법 - Google Patents

메모리 시스템 및 그것의 부팅 방법 Download PDF

Info

Publication number
KR101275752B1
KR101275752B1 KR1020050118326A KR20050118326A KR101275752B1 KR 101275752 B1 KR101275752 B1 KR 101275752B1 KR 1020050118326 A KR1020050118326 A KR 1020050118326A KR 20050118326 A KR20050118326 A KR 20050118326A KR 101275752 B1 KR101275752 B1 KR 101275752B1
Authority
KR
South Korea
Prior art keywords
processor
memory
code
modem
booting
Prior art date
Application number
KR1020050118326A
Other languages
English (en)
Other versions
KR20070059462A (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 KR1020050118326A priority Critical patent/KR101275752B1/ko
Priority to US11/553,201 priority patent/US7882344B2/en
Priority to JP2006325859A priority patent/JP2007157150A/ja
Priority to TW095145113A priority patent/TWI358640B/zh
Priority to DE102006058875.4A priority patent/DE102006058875B4/de
Publication of KR20070059462A publication Critical patent/KR20070059462A/ko
Priority to US13/014,328 priority patent/US8423755B2/en
Priority to US13/234,173 priority patent/US8984237B2/en
Application granted granted Critical
Publication of KR101275752B1 publication Critical patent/KR101275752B1/ko
Priority to JP2014006842A priority patent/JP6000292B2/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F15/177Initialisation or configuration control
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)

Abstract

본 발명은 메모리 시스템 및 그것의 부팅 방법에 관한 것이다. 본 발명에 따른 메모리 시스템은 제 1 및 제 2 코드를 저장하는 불휘발성 메모리; 상기 불휘발성 메모리에 연결되며, 상기 제 1 코드를 통해 부팅하는 제 1 프로세서; 상기 제 2 코드를 통해 부팅하는 제 2 프로세서; 및 상기 제 1 및 제 2 프로세서 사이에 연결된 듀얼 포트 메모리를 포함한다. 그리고 상기 메모리 시스템의 부팅 방법은 상기 제 1 프로세서가 상기 제 1 코드를 통해 부팅하는 단계; 상기 제 1 프로세서가 상기 제 2 프로세서를 리셋 상태로 설정하고, 상기 제 2 코드를 상기 듀얼 포트 메모리에 복사하는 단계; 상기 제 1 프로세서가 상기 제 2 프로세서의 리셋 상태를 해제하는 단계; 상기 제 2 프로세서가 상기 듀얼 포트 메모리로부터 상기 제 2 코드를 페치하는 단계; 및 상기 제 2 프로세서가 상기 제 2 코드를 통해 부팅하는 단계를 포함한다. 본 발명에 의하면, 종래의 메모리 시스템에 비해 메모리의 수를 줄일 수 있고, 메모리 칩의 면적을 줄일 수 있고, 비용을 절감할 수 있다.

Description

메모리 시스템 및 그것의 부팅 방법 {MEMORY SYSTEM AND BOOTING METHOD THEREOF}
도 1은 일반적인 듀얼 포트 메모리 장치를 보여주는 블록도이다.
도 2는 본 발명의 제 1 실시예에 따른 메모리 시스템을 나타낸 블록도이다.
도 3은 도 2에 도시된 메모리 시스템의 부팅 방법을 보여주는 순서도이다.
도 4는 본 발명의 제 2 실시예에 따른 메모리 시스템을 나타낸 블록도이다.
도 5는 도 4에 도시된 메모리 시스템의 부팅 방법을 보여주는 순서도이다.
도 6은 본 발명의 제 3 실시예에 따른 메모리 시스템을 나타낸 블록도이다.
도 7은 도 6에 도시된 메모리 시스템의 부팅 방법을 보여주는 순서도이다.
도 8은 본 발명의 제 4 실시예에 따른 메모리 시스템을 나타낸 블록도이다.
*도면의 주요 부분에 대한 부호 설명*
100, 200, 300, 400 : 메모리 시스템
101, 201, 301, 401 : 낸드 플래시 메모리(불휘발성 메모리)
120, 220, 320 : 응용 프로세서(AP)
130, 230, 330 : 모뎀
140, 240, 340 : 듀얼 포트 메모리
본 발명은 메모리 시스템에 관한 것으로, 더욱 상세하게는 복수의 프로세서를 사용하는 메모리 시스템 및 그것의 부팅 방법에 관한 것이다.
메모리 시스템은 일반적으로 두 개 이상의 프로세서를 포함한다. 예를 들면, 모바일 시스템(mobile system)은 모뎀(modem)과 응용 프로세서(Application Processor; AP) (혹은 멀티미디어 코프로세서)를 포함한다. 두 개 이상의 프로세서를 포함하는 메모리 시스템은 각각의 프로세서를 구동하기 위해 최소한 두 개 이상의 메모리를 필요로 한다.
위의 예에서, 모뎀은 코드 저장을 위한 노어 플래시 메모리(NOR flash memory)와 코드 실행을 위한 디램(DRAM)을 동반한다. 그리고 응용 프로세서(AP)는 코드 및 데이터 저장을 위한 낸드 플래시 메모리(NAND flash memory)와 코드 실행을 위한 디램(DRAM)을 동반한다. 모뎀과 응용 프로세서는 UART(Universal Asynchronous Receiver Transmitter), SPI(Serial Peripheral Interface), SRAM 인터페이스 등을 통해 코드 및 데이터를 주고 받는다.
그러나 종래의 메모리 시스템은 각각의 프로세서에 코드 실행을 위한 디램(DRAM)을 동반하기 때문에, 메모리 시스템 내에 메모리의 수가 많고 비용이 많이 드는 문제점이 있다. 이러한 문제점을 극복하기 위해 듀얼 포트 메모리(dual port memory)를 사용하는 방법이 연구되고 있다. 이 방법은 종래의 모뎀과 응용 프로세서에 각각 사용하던 디램을 듀얼 포트 메모리 한 개로 대체하는 것이다. 이를 통해 메모리의 수를 줄이고 비용 절감을 가져올 수 있게 되었고, 듀얼 포트 메모리를 통해 고속의 데이터 전송도 가능하게 되었다.
듀얼 포트 메모리는 두 개의 프로세서에 의해 접근(access)될 수 있도록 공유 메모리(share memory)를 갖는다. 두 개의 프로세서는 각각 다른 포트를 통해 공유 메모리에 접근할 수 있다. 두 개의 프로세서는 서로 다른 포트를 통해 듀얼 포트 메모리에 대한 읽기 및 쓰기 동작을 수행할 수 있다.
도 1은 일반적인 듀얼 포트 메모리를 보여주는 블록도이다. 도 1을 참조하면, 듀얼 포트 메모리(10)는 외부 프로세서(도시되지 않음)와 연결되는 두 개의 포트(12, 14), 두 개의 포트(12, 14)를 통해 입출력되는 신호들을 제어하는 제어부(16), 그리고 제어부(16)로부터 입출력되는 데이터를 저장하거나 독출하는 메모리부(18)를 포함한다.
각각의 포트(12, 14)는 외부 프로세서로부터 인가되는 칩 인에이블 신호들(
Figure 112005071261781-pat00001
,
Figure 112005071261781-pat00002
), 읽기 및 쓰기 신호들(
Figure 112005071261781-pat00003
,
Figure 112005071261781-pat00004
), 어드레스들(
Figure 112005071261781-pat00005
,
Figure 112005071261781-pat00006
)을 입력받아 제어부(16)로 전달한다. 제어부(16)는 어드레스들(
Figure 112005071261781-pat00007
,
Figure 112005071261781-pat00008
)를 입력받고, 데이터(
Figure 112005071261781-pat00009
,
Figure 112005071261781-pat00010
)를 메모리부(18)에 저장하거나 메모리부(18)로부터 독출한다. 기재된 첨자 부호 중에서 'L'은 듀얼 포트 메모리(10)의 좌측 포트를 나타내고 'R'은 우측 포트를 나타낸다.
종래의 메모리 시스템은 모뎀과 응용 프로세서 사이에 연결된 듀얼 포트 메모리, 모뎀의 코드 저장을 위한 노어 플래시 메모리, 응용 프로세서의 코드 저장을 위한 낸드 플래시 메모리를 포함한다. 종래의 메모리 시스템에 있어서, 모뎀은 노어 플래시 메모리에 저장된 코드를 통해 부팅하며, 응용 프로세서는 낸드 플래시 메모리에 저장된 코드를 통해 부팅한다.
종래의 메모리 시스템에 의하면, 모뎀의 코드를 저장하기 위한 노어 플래시 메모리와 응용 프로세서의 코드를 저장하기 위한 낸드 플래시 메모리를 사용한다. 즉, 종래의 복수의 프로세서를 사용하는 메모리 시스템은 각각의 프로세서의 코드를 저장하기 위한 메모리를 별도로 포함하고 있다. 그러나 각각의 프로세서마다 코드 저장용 메모리를 별도로 두는 것은 메모리 시스템의 면적, 비용 등의 측면에서 비효율적이다. 또한 메모리 시스템이 점점 복잡화, 고집적화, 소형화됨에 따라 메모리의 수와 비용을 줄이고자 하는 추세에 부합되지 못한다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 복수의 프로세서를 사용하는 메모리 시스템에서, 메모리의 수를 줄임으로써 메모리 시스템의 면적 및 비용을 줄일 수 있는 메모리 시스템 및 그것의 부팅 방법을 제공하는 데 있다.
본 발명에 따른 메모리 시스템은 제 1 및 제 2 코드를 저장하는 불휘발성 메모리; 상기 불휘발성 메모리에 연결되며, 상기 제 1 코드를 통해 부팅하는 제 1 프로세서; 상기 제 2 코드를 통해 부팅하는 제 2 프로세서; 및 상기 제 1 및 제 2 프로세서 사이에 연결되는 듀얼 포트 메모리를 포함한다.
실시예로서, 상기 불휘발성 메모리는 낸드 플래시 메모리이다. 상기 듀얼 포트 메모리는 상기 제 1 프로세서에 전달된 상기 제 2 코드를 상기 제 2 프로세서로 전달한다.
다른 실시예로서, 상기 제 1 프로세서는 응용 프로세서이고, 상기 제 2 프로세서는 모뎀이다. 상기 제 2 코드는 모뎀 부트 코드 및 모뎀 O/S 코드를 포함한다. 상기 응용 프로세서는 상기 모뎀 부트 코드를 저장하기 위한 부트 램을 포함한다. 상기 부트 램에 저장된 상기 모뎀 부트 코드를 상기 모뎀으로 전송하기 위한 채널을 더 포함한다. 상기 듀얼 포트 메모리는 상기 응용 프로세서에 전달된 상기 모뎀 O/S 코드를 상기 모뎀으로 전달한다.
본 발명에 따른 메모리 시스템의 다른 일면은 불휘발성 메모리; 상기 불휘발성 메모리에 저장된 코드를 통해 부팅하는 복수의 프로세서; 및 상기 복수의 프로세서 사이에 연결되는 멀티 포트 메모리를 포함한다.
실시예로서, 상기 멀티 포트 메모리는 복수의 뱅크를 포함하며, 상기 복수의 뱅크 중에서 적어도 하나는 상기 복수의 프로세서와 접근 가능하다. 상기 복수의 프로세서 중에서 적어도 하나는 모뎀이다. 상기 불휘발성 메모리는 낸드 플래시 메모리이고, 상기 멀티 포트 메모리는 디램이다.
본 발명에 따른 메모리 시스템의 부팅 방법에 있어서, 상기 메모리 시스템은
제 1 및 제 2 코드를 저장하는 불휘발성 메모리; 상기 불휘발성 메모리에 연결되며, 상기 제 1 코드를 통해 부팅하는 제 1 프로세서; 상기 제 2 코드를 통해 부팅하는 제 2 프로세서; 및 상기 제 1 및 제 2 프로세서 사이에 연결된 듀얼 포트 메모리를 포함한다. 그리고 상기 메모리 시스템의 부팅 방법은 상기 제 1 프로세서가 상기 제 1 코드를 통해 부팅하는 단계; 상기 제 1 프로세서가 상기 제 2 프로세서를 리셋 상태로 설정하고, 상기 제 2 코드를 상기 듀얼 포트 메모리에 복사하는 단계; 상기 제 1 프로세서가 상기 제 2 프로세서의 리셋 상태를 해제하는 단계; 상기 제 2 프로세서가 상기 듀얼 포트 메모리로부터 상기 제 2 코드를 페치하는 단계; 및 상기 제 2 프로세서가 상기 제 2 코드를 통해 부팅하는 단계를 포함한다.
실시예로서, 상기 제 1 프로세서는 응용 프로세서(AP)이고, 상기 제 2 프로세서는 모뎀이다. 상기 제 1 코드는 AP 부트 코드이고, 상기 제 2 코드는 모뎀 부트 코드 및 모뎀 O/S 코드이다.
여기에서, 상기 복사하는 단계는 상기 응용 프로세서가 상기 모뎀 부트 코드를 상기 응용 프로세서 내의 부트 램에 복사하는 단계; 상기 응용 프로세서가 상기 듀얼 포트 메모리의 제 1 포트 사용을 위해 제 1 모드 레지스터 셋(MRS1)을 셋팅하는 단계; 및 상기 응용 프로세서가 상기 모뎀 O/S 코드를 상기 듀얼 포트 메모리에 복사하는 단계를 포함한다. 그리고 상기 페치하는 단계는 상기 모뎀이 채널을 통해 상기 부트 램으로부터 상기 모뎀 부트 코드를 페치하는 단계; 상기 모뎀이 상기 듀얼 포트 메모리의 제 2 포트 사용을 위해 제 2 모드 레지스터 셋(MRS2)을 셋팅하는 단계; 및 상기 모뎀이 상기 듀얼 포트 메모리로부터 상기 모뎀 O/S 코드를 페치하는 단계를 포함한다.
다른 실시예로서, 상기 듀얼 포트 메모리는 상기 제 1 포트를 통해 상기 응용 프로세서와 접근 가능한 제 1 그룹 뱅크; 상기 제 2 포트를 통해 상기 모뎀과 접근 가능한 제 2 그룹 뱅크; 및 상기 제 1 포트 또는 상기 제 2 포트를 통해 선택적으로 상기 응용 프로세서 또는 상기 모뎀과 접근 가능한 제 3 그룹 뱅크를 포함한다. 여기에서, 상기 응용 프로세서는 상기 모뎀 O/S 코드를 상기 제 3 그룹 뱅크에 복사한다. 상기 모뎀은 상기 제 3 그룹 뱅크에 복사된 상기 모뎀 O/S 코드를 상기 제 2 그룹 뱅크로 복사하고, 상기 제 2 그룹 뱅크로부터 상기 모뎀 O/S 코드를 페치한다.
또 다른 실시예로서, 상기 응용 프로세서는 상기 제 2 그룹 뱅크에 접근할 수 있는 스페셜 모드를 사용하여 상기 모뎀 O/S 코드를 상기 제 2 그룹 뱅크에 복사한 다음에, 상기 스페셜 모드를 해제한다. 상기 모뎀은 상기 제 2 그룹 뱅크로부터 상기 모뎀 O/S 코드를 페치한다.
또 다른 실시예로서, 상기 복사하는 단계는 상기 응용 프로세서가 상기 듀얼 포트 메모리의 제 1 포트 및 제 2 포트 사용을 위해 제 1 및 제 2 모드 레지스터 셋(MRS1, MRS2)을 셋팅하는 단계; 및 상기 응용 프로세서가 상기 모뎀 부트 코드 및 상기 모뎀 O/S 코드를 상기 듀얼 포트 메모리에 복사하는 단계를 포함한다. 그리고 상기 페치하는 단계는 상기 모뎀이 상기 듀얼 포트 메모리로부터 상기 모뎀 부트 코드 및 상기 모뎀 O/S 코드를 페치한다.
여기에서, 상기 듀얼 포트 메모리는 상기 제 1 포트를 통해 상기 응용 프로세서와 접근 가능한 제 1 그룹 뱅크; 상기 제 2 포트를 통해 상기 모뎀과 접근 가능한 제 2 그룹 뱅크; 및 상기 제 1 포트 또는 상기 제 2 포트를 통해 선택적으로 상기 응용 프로세서 또는 상기 모뎀과 접근 가능한 제 3 그룹 뱅크를 포함한다. 상 기 응용 프로세서는 상기 제 2 그룹 뱅크에 접근할 수 있는 스페셜 모드를 사용하여 상기 모뎀 부트 코드 및 상기 모뎀 O/S 코드를 상기 제 2 그룹 뱅크에 복사한 다음에, 상기 스페셜 모드를 해제한다. 상기 모뎀은 상기 제 2 그룹 뱅크로부터 상기 모뎀 부트 코드 및 모뎀 O/S 코드를 페치한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 2는 본 발명의 제 1 실시예에 따른 메모리 시스템(100)을 보여주는 블록도이다. 도 2를 참조하면, 메모리 시스템(100)은 낸드 플래시 메모리(101), 응용 프로세서(Application Processor; AP)(120), 모뎀(130), 듀얼 포트 메모리(140), 그리고 채널(160)을 포함한다. 본 발명에 따른 메모리 시스템(100)은 휴대 전화기, PDA 등 모바일 시스템(mobile system)에 효율적으로 사용될 수 있다.
본 발명에 따른 메모리 시스템(100)은 듀얼 포트 메모리(140)를 사용하며, 모뎀(130)을 부팅하기 위한 별도의 코드 저장용 메모리(예를 들면, 노어 플래시 메모리)를 구비하지 않다. 모뎀(130)의 부트 코드는 낸드 플래시 메모리(101)에 저장되며, 듀얼 포트 메모리(140) 및 채널(160)을 통해 모뎀(130)에 전달된다.
낸드 플래시 메모리(101)는 복수의 블록(110~11n)을 포함한다. 복수의 블록(110~11n)은 부트 코드, O/S 코드, 데이터 등을 저장한다. 예를 들면, 도 2에서 볼 수 있듯이, 블록0(110)은 AP 부트 코드(제1 코드)를 저장하고, 블록1(111)은 모뎀 부트 코드를 저장하고, 블록2(112)는 모뎀 O/S 코드를 저장하고, 블록3~N(113~11n)은 데이터를 저장한다.
응용 프로세서(120)는 낸드 플래시 메모리(101)와 직접 연결되어 있다. 응용 프로세서(120)는 낸드 플래시 메모리(101)의 블록0(110)에 저장된 AP 부트 코드를 직접 읽어와서 부팅한다. 또한, 응용 프로세서(120)는 모뎀 부트 코드를 저장하기 위한 부트 램(121)을 포함하고 있다. 부트 램(121)은 SRAM 등으로 구현될 수 있다.
한편, 응용 프로세서(120)는 듀얼 포트 메모리(140)를 사용할 때, 모뎀(130)과의 충돌을 방지하기 위해 모뎀(130)에 모뎀 리셋 신호(Modem Reset)를 제공한다. 응용 프로세서(120)는 모뎀 리셋 신호(Modem Reset)를 통해 모뎀(130)을 리셋 상태로 설정하거나 리셋 상태로부터 해제할 수 있다.
모뎀(130)은 외부 장치와 통신을 하기 위한 프로세서이다. 일반적으로 모뎀(130)은 노어 플래시 메모리 등에 연결되며, 노어 플래시 메모리에 저장된 코드를 읽어와서 부팅한다. 그러나 본 발명에 따른 메모리 시스템(100)은 도 2에서 볼 수 있듯이, 모뎀 코드(스타트 코드)를 저장하기 위한 노어 플래시 메모리 등을 별도로 구비하고 있지 않다. 모뎀 코드는 낸드 플래시 메모리(101)에 저장되며, 모뎀(130)은 낸드 플래시 메모리(101)에 저장된 모뎀 코드(모뎀 부트 코드, 모뎀 O/S 코드)를 통해 부팅한다. 여기에서, 모뎀 부트 코드는 부트 램(121) 및 채널(160)을 통하여 모뎀(130)에 전달된다. 그리고 모뎀 O/S 코드는 듀얼 포트 메모리(140)를 통하여 모뎀(130)에 전달된다.
듀얼 포트 메모리(140)는 제 1 포트(141), 제 2 포트(142), 그리고 메모리부(143)를 포함한다. 제 1 포트(141)는 응응 프로세서(120)와 연결되고, 제 2 포트 (142)는 모뎀(130)과 연결된다. 메모리부(143)는 복수의 뱅크(150~153)를 포함한다. 듀얼 포트 메모리(140)는 SDRAM 등으로 구현될 수 있다.
도 2를 참조하면, 뱅크0(150)는 모뎀(130)의 전용 뱅크이며, 제 2 포트(142)를 통해 모뎀(130)과 접근 가능하다. 뱅크1(151)는 응용 프로세서(120) 및 모뎀(130)의 공유 뱅크(share bank)이며, 제 1 및 제 2 포트(141, 142)를 통해 선택적으로 응용 프로세서(120) 또는 모뎀(130)과 접근 가능하다. 그리고 뱅크2(152)와 뱅크3(153)은 응용 프로세서(120)의 전용 뱅크이며, 제 1 포트(141)를 통해 응용 프로세서(120)와 접근 가능하다.
도 2에 도시된 메모리 시스템(100)은 듀얼 포트 메모리(140)를 사용하며, 모뎀(130)의 부트 코드를 낸드 플래시 메모리(101)에 저장한다. 도 2에 도시된 메모리 시스템(100)에 의하면, 응용 프로세서(120) 및 모뎀(130)의 코드를 실행하기 위한 디램(DRAM)의 수와 모뎀(130)의 부트 코드를 저장하기 위한 노어 플래시 메모리를 줄일 수 있다. 도 2에 도시된 메모리 시스템(100)의 부팅 방법은 도 3을 참조하여 상세히 설명된다.
도 3은 도 2에 도시된 메모리 시스템(100)의 부팅 방법을 보여주는 순서도이다. 도 2 및 도 3을 참조하여, 도 2에 도시된 메모리 시스템(100)의 부팅 방법을 설명한다.
S110 단계에서는 응용 프로세서(120)가 AP 부트 코드를 통해 부팅한다. 응용 프로세서(120)는 낸드 플래시 메모리(101)의 블록0(110)에 저장된 AP 부트 코드를 직접 읽어와서 부팅을 한다.
S120 단계에서는 응용 프로세서(120)가 모뎀(130)을 리셋 상태로 설정하고, 모뎀 코드를 듀얼 포트 메모리(140)에 복사한다. 여기에서, 모뎀 코드는 모뎀 부트 코드 및 모뎀 O/S 코드를 포함한다. 응용 프로세서(120)는 낸드 플래시 메모리(101)의 블록1(111)에 저장된 모뎀 부트 코드를 부트 램(121)에 복사한다(S121). 응용 프로세서(120)는 듀얼 포트 메모리(140)의 제 1 포트(141)를 사용하기 위해 제 1 모드 레지스터 셋(MRS1)을 셋팅한다(S123). 응용 프로세서(120)는 낸드 플래시 메모리(101)의 블록2(112)에 저장된 모뎀 O/S 코드를 메모리부(143)의 공유 뱅크(Bank1, 151)에 복사한다(S125).
S130 단계에서는 응용 프로세서(120)가 모뎀 리셋 상태를 해제(release)한다. 응용 프로세서(120)가 모뎀(130)을 리셋 상태로 설정하거나 해제하는 이유는 듀얼 포트 메모리(140)의 사용 시에 모뎀(130)과의 충돌을 방지하기 위함이다. 즉, 응용 프로세서(120)와 모뎀(130)이 공유 뱅크(Bank1, 151)를 동시에 사용하는 것을 방지하기 위함이다. 응용 프로세서(120)가 공유 뱅크(Bank1, 151)에 모뎀 코드를 복사하는 동안에는 모뎀(130)은 리셋 상태로 설정되기 때문에 듀얼 포트 메모리(140)에 접근할 수 없게 된다. 응용 프로세서(120)가 모뎀 리셋 상태를 해제하면, 모뎀(130)은 듀얼 포트 메모리(140)에 접근할 수 있다.
S140 단계에서는 모뎀(130)이 듀얼 포트 메모리(140)로부터 모뎀 코드를 페치한다. 모뎀(130)은 채널(160)을 통해 응용 프로세서(120) 내의 부트 램(121)으로부터 모뎀 부트 코드를 페치한다(S141). 모뎀(130)은 듀얼 포트 메모리(140)의 제 2 포트(142)를 사용하기 위해 제 2 모드 레지스터 셋(MRS2)을 셋팅한다(S143). 모 뎀(130)은 메모리부(143)의 공유 뱅크(Bank1, 151)에 저장된 모뎀 O/S 코드를 모뎀 전용 뱅크(Bank0, 150)에 복사한다(145). 모뎀(130)은 전용 뱅크(Bank0, 150)로부터 모뎀 O/S 코드를 페치한다(S147).
S150 단계에서는 모뎀(130)이 모뎀 코드(모뎀 부트 코드, 모뎀 O/S 코드)를 통해 부팅한다.
도 2 및 도 3을 참조하면, 본 발명에 따른 메모리 시스템(100)은 응용 프로세서(120)와 모뎀(130)의 워킹 메모리(working memory)로서 하나의 듀얼 포트 메모리(140)를 사용하고, 부트 코드 저장 메모리로서 하나의 낸드 플래시 메모리(101)를 사용한다. 본 발명에 의하면, 종래의 메모리 시스템에 비해 메모리의 수를 줄일 수 있고, 메모리 칩의 면적을 줄일 수 있고, 비용을 절감할 수 있다.
도 4는 본 발명의 제 2 실시예에 따른 메모리 시스템(200)을 보여주는 블록도이다. 메모리 시스템(200)은 낸드 플래시 메모리(201), 응용 프로세서(AP, 220), 모뎀(230), 듀얼 포트 메모리(240), 그리고 채널(260)을 포함한다. 이들에 대한 설명은 도 2에서 설명한 바와 동일하다.
다만, 도 4에서, 응용 프로세서(220)는 스페셜 모드(Special Mode)를 사용하여 듀얼 포트 메모리(243)의 모뎀 전용 뱅크(Bank0, 250)에 접근할 수 있다. 모뎀 전용 뱅크(Bank0, 250)는 본래 모뎀(230)만이 접근할 수 있지만, 본 발명에 따른 메모리 시스템(200)은 스페셜 모드를 사용하여 응용 프로세서(220)도 예외적으로 접근할 수 있다. 응용 프로세서(220)의 모뎀 전용 뱅크(Bank0, 250)에 대한 접근은 부팅 동작 등 예외적인 경우에만 제한적으로 이용된다.
도 5는 도 4에 도시된 메모리 시스템(200)의 부팅 방법을 보여주는 순서도이다. 도 4에 도시된 메모리 시스템(200)의 부팅 방법과 도 2에 도시된 메모리 시스템(100)의 부팅 방법의 차이점은 응용 프로세서(220)가 스페셜 모드를 사용하여 모뎀 전용 뱅크(Bank0, 250)에 직접 모뎀 O/S 코드를 복사한다는 점이다. 도 4 및 도 5를 참조하여, 메모리 시스템(200)의 부팅 방법을 설명한다.
S210 단계에서는 응용 프로세서(220)가 AP 부트 코드를 통해 부팅한다. 응용 프로세서(220)는 낸드 플래시 메모리(201)의 블록0(210)에 저장된 AP 부트 코드를 직접 읽어와서 부팅을 한다.
S220 단계에서는 응용 프로세서(220)가 모뎀(230)을 리셋 상태로 설정하고, 모뎀 코드를 듀얼 포트 메모리(240)에 복사한다. 응용 프로세서(220)는 낸드 플래시 메모리(201)의 블록1(211)에 저장된 모뎀 부트 코드를 부트 램(221)에 복사한다(S221). 응용 프로세서(220)는 듀얼 포트 메모리(240)의 제 1 포트(241)를 사용하기 위해 제 1 모드 레지스터 셋(MRS1)을 셋팅한다(S223). 응용 프로세서(220)는 스페셜 모드를 사용하여 낸드 플래시 메모리(201)의 블록2(212)에 저장된 모뎀 O/S 코드를 모뎀 전용 뱅크(Bank0, 250)에 복사한다(S225). 그 다음에, 응용 프로세서(220)는 스페셜 모드를 해제한다.
S230 단계에서는 응용 프로세서(220)가 모뎀 리셋 상태를 해제(release)한다.
S240 단계에서는 모뎀(230)이 듀얼 포트 메모리(240)로부터 모뎀 코드를 페치한다. 모뎀(230)은 채널(260)을 통해 응용 프로세서(220) 내의 부트 램(221)으로 부터 모뎀 부트 코드를 페치한다(S241). 모뎀(230)은 듀얼 포트 메모리(240)의 제 2 포트(242)를 사용하기 위해 제 2 모드 레지스터 셋(MRS2)을 셋팅한다(S243). 모뎀(230)은 모뎀 전용 뱅크(Bank0, 250)로부터 모뎀 O/S 코드를 페치한다.
S250 단계에서는 모뎀(130)이 모뎀 코드(모뎀 부트 코드, 모뎀 O/S 코드)를 통해 부팅한다.
도 4 및 도 5를 참조하면, 응용 프로세서(220)는 스페셜 모드(Special Mode)를 사용하여 듀얼 포트 메모리(240)의 모뎀 전용 뱅크(Bank0, 250)에 접근할 수 있다. 본 발명에 따른 메모리 시스템(200)은 스페셜 모드를 사용하여, 도 3의 S125 단계 및 S145 단계를 생략할 수 있다.
도 6은 본 발명의 제 3 실시예에 따른 메모리 시스템(300)을 보여주는 블록도이다. 메모리 시스템(300)은 낸드 플래시 메모리(301), 응용 프로세서(320), 모뎀(330), 그리고 듀얼 포트 메모리(340)를 포함한다. 이들에 대한 설명은 도 2에서 설명한 바와 동일하다.
다만, 도 6에 도시된 메모리 시스템(300)은 채널(도 2 참조, 160)과 응용 프로세서(320) 내에 부트 램(도 2 참조, 121)을 포함하고 있지 않다. 응용 프로세서(320)는 스페셜 모드(Special Mode)를 사용하여 모뎀 전용 뱅크(Bank0, 350)에 접근할 수 있다. 여기에서, 응용 프로세서(320)의 모뎀 전용 뱅크(Bank0, 350)에 대한 접근은 부팅 동작 등 예외적인 경우에만 제한적으로 이용된다.
도 7은 도 6에 도시된 메모리 시스템(300)의 부팅 방법을 보여주는 순서도이다. 도 6에 도시된 메모리 시스템(300)의 부팅 방법과 도 4에 도시된 메모리 시스 템(200)의 부팅 방법의 차이점은 응용 프로세서(320)가 스페셜 모드를 사용하여 모뎀 전용 뱅크(Bank0, 350)에 모뎀 코드(모뎀 부트 코드, 모뎀 O/S 코드)를 직접 복사한다는 점이다. 도 6에 도시된 메모리 시스템(300)의 부팅 방법에 의하면, 채널과 부트 램을 필요로 하지 않게 된다. 도 6 및 도 7을 참조하여, 메모리 시스템(300)의 부팅 방법을 설명한다.
S310 단계에서는 응용 프로세서(320)가 AP 부트 코드를 통해 부팅한다. 응용 프로세서(320)는 낸드 플래시 메모리(301)의 블록0(310)에 저장된 AP 부트 코드를 직접 읽어와서 부팅을 한다.
S320 단계에서는 응용 프로세서(320)가 모뎀(330)을 리셋 상태로 설정하고, 듀얼 포트 메모리(340)의 제 1 및 제 2 모드 레지스터 셋(MRS1, MRS2)을 셋팅한다(S321). 응용 프로세서(320)는 스페셜 모드를 사용하여 모뎀 코드를 모뎀 전용 뱅크(Bank0, 350)에 복사한다(S323). 여기에서, 모뎀 코드는 모뎀 부트 코드 및 모뎀 O/S 코드를 포함한다. 응용 프로세서(320)는 스페셜 모드를 해제한다(S325).
S330 단계에서는 응용 프로세서(320)가 모뎀 리셋 상태를 해제(release)한다. S340 단계에서는 모뎀(330)이 듀얼 포트 메모리(340)의 모뎀 전용 뱅크(Bank0, 350)로부터 모뎀 코드를 페치(fetch)한다. S350 단계에서는 모뎀(330)이 모뎀 코드(모뎀 부트 코드, 모뎀 O/S 코드)를 통해 부팅(스타트)한다.
도 6 및 도 7을 참조하면, 응용 프로세서(320)는 스페셜 모드(Special Mode)를 사용하여 듀얼 포트 메모리(340)의 모뎀 전용 뱅크(Bank0, 350)에 접근할 수 있다. 또한, 응용 프로세서(320)는 듀얼 포트 메모리(340)의 제 1 및 제 2 모드 레지 스터 셋(MRS1, MRS2)을 셋팅할 수 있다. 도 6에 도시된 메모리 시스템(300)에 의하면, 응용 프로세서(320)와 모뎀(330) 사이에 별도의 채널 없이도 듀얼 포트 메모리(340)를 사용하여 모뎀 부트 코드를 모뎀(330)에 전송할 수 있다.
도 8은 본 발명의 제 4 실시예에 따른 메모리 시스템(400)을 보여주는 블록도이다. 도 8을 참조하면, 메모리 시스템(400)은 불휘발성 메모리(401), 복수의 프로세서(420, 430, 435), 그리고 멀티 포트 메모리(440)를 포함한다. 도 8에서는 3 개의 프로세서만을 도시하고 있지만, 본 발명에 따른 메모리 시스템(400)은 이보다 더 많은 수의 프로세서를 포함하는 경우에도 적용될 수 있다.
불휘발성 메모리(401)는 복수의 블록(410~41n)을 포함한다. 블록0(410)은 메인 프로세서(420)의 부트 코드(boot code 0)를 저장한다. 블록1(411)은 제 1 프로세서(430)의 부트 코드(boot code 1)를 저장한다. 블록2(412)는 제 2 프로세서(435)의 부트 코드(boot code 2)를 저장한다.
멀티 포트 메모리(440)는 복수의 뱅크(Bank0~Bank3, 450~453)를 포함한다. 뱅크0(450)는 제 1 프로세서(430)의 전용 뱅크이고, 뱅크1(451)은 메인 프로세서(420), 제 1 및 제 2 프로세서(430, 435)의 공용 뱅크이고, 뱅크2(452)는 메인 프로세서(420)의 전용 뱅크이고, 뱅크3(453)은 제 2 프로세서(435)의 전용 뱅크이다.
복수의 프로세서(420, 430, 435)는 불휘발성 메모리(401)에 저장된 코드를 통해 부팅한다. 메인 프로세서(420)는 불휘발성 메모리(401)의 블록0(410)에 저장된 부트 코드를 통해 직접 부팅된다. 제 1 및 제 2 프로세서(430, 435)는 앞서 설명한 제 1 내지 제 3 실시예와 동일한 방법에 의해 부팅한다.
도 8에 도시된 메모리 시스템(400)에 의하면, 제 1 및 제 2 프로세서(430, 435)는 별도의 부트 코드 저장용 메모리를 구비하지 않는다. 제 1 및 제 2 프로세서(430, 435)의 부트 코드는 메인 프로세서(420)의 부트 코드 저장용 메모리(401)에 저장한다. 제 1 및 제 2 프로세서(430, 435)의 부트 코드는 멀티 포트 메모리(440)를 통해 전송된다. 도 8에서는 채널, 스페셜 모드, 리셋 신호를 도시하지 않았지만, 제 1 내지 제 3 실시예에서 설명한 방법들이 도 8에서도 동일하게 적용될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에 의하면, 모뎀 코드 저장용 메모리를 별도로 구비하지 않아도 되기 때문에 종래의 메모리 시스템에 비해 메모리의 수를 줄일 수 있고, 메모리 칩의 면적을 줄일 수 있고, 비용을 절감할 수 있다.

Claims (27)

  1. 제1 프로세서와;
    상기 제1 프로세서와 통신 가능한 제2 프로세서와;
    상기 제1 프로세서와 통신가능하며, 상기 제1 프로세서를 부팅하기 위한 제1 코드들 및 상기 제2 프로세서를 부팅하기 위한 스타트 코드를 저장하는 제1 메모리와;
    상기 제1 프로세서에 의해서 액세스되는 제2 메모리와;
    상기 제2 프로세서에 의해서 액세스되는 제3 메모리; 그리고
    상기 제1 및 제2 프로세서들에 의해서 공유되는 제4 메모리를 포함하되;
    상기 제1 프로세서는 상기 제1 메모리로부터 상기 스타트 코드를 페치하고, 상기 제2 프로세서를 부팅하기 위해 상기 제2 프로세서의 리셋 상태를 해제한 후 상기 제1 프로세서와 상기 제2 프로세서 사이의 통신 채널를 통해 상기 제1 프로세서로부터 상기 제2 프로세서로 상기 스타트 코드를 전송하는 것을 특징으로 하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 제3 메모리는 상기 제1 메모리로부터 페치된 상기 제2 메모리의 부팅을 위한 상기 스타트 코드를 저장하는 것을 특징으로 하는 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 제4 메모리는 상기 제1 메모리로부터 페치된 상기 제2 프로세서의 동작을 위한 제2 코드들을 저장하는 것을 특징으로 하는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 제2 프로세서의 동작을 위한 상기 제2 코드들은 상기 제4 메모리로부터 상기 제3 메모리로 복사되는 것을 특징으로 하는 메모리 시스템.
  5. 청구항 5은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서,
    상기 제3 메모리 및 상기 제4 메모리는 상기 제1 프로세서 및 상기 제2 프로세서와 연결된 휘발성 메모리의 일부이고, 상기 제1 메모리는 상기 제1 프로세서와 연결된 불휘발성 메모리인 것을 특징으로 하는 메모리 시스템.
  6. 청구항 6은(는) 설정등록료 납부시 포기되었습니다.
    제 5 항에 있어서,
    상기 불휘발성 메모리는 NAND 플래시 메모리인 것을 특징으로 하는 메모리 시스템.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    제 5 항에 있어서,
    상기 휘발성 메모리는 DRAM(Dynamic random access memory)인 것을 특징으로 하는 메모리 시스템.
  8. 제1 프로세서와;
    제2 프로세서와;
    상기 제1 프로세서와 연결되고, 상기 제1 프로세서를 부팅하기 위한 제1 코드들 및 상기 제2 프로세서를 부팅하기 위한 스타트 코드를 저장하는 제1 메모리; 그리고
    상기 제1 프로세서 및 상기 제2 프로세서와 연결되고, 상기 제1 프로세서에 의해서 액세스되는 제1 메모리 영역, 상기 제2 프로세서에 의해서 액세스되는 제2 메모리 영역 그리고 상기 제1 및 제2 프로세서들에 의해서 공유된 제3 메모리 영역을 포함하는 소자를 포함하되;
    상기 제1 프로세서는 상기 제1 메모리로부터 상기 스타트 코드를 페치하고, 상기 제2 프로세서가 리셋 상태에서 해제된 후 상기 제2 프로세서를 부팅하기 위해 상기 스타트 코드는 상기 제1 프로세서와 상기 제2 프로세서 사이에 연결된 통신 채널을 통하여 상기 제1 프로세서로부터 상기 제2 프로세서로 전송되는 것을 특징으로 하는 메모리 시스템.
  9. 제 8 항에 있어서,
    상기 소자의 상기 제3 메모리 영역은 상기 제1 메모리로부터 페치된 상기 제2 프로세서의 동작을 위한 제2 코드들을 저장하는 것을 특징으로 하는 메모리 시스템.
  10. 제 9 항에 있어서,
    상기 제2 프로세서의 동작을 위한 상기 제2 코드들은 상기 제3 메모리 영역으로부터 상기 제2 메모리 영역으로 복사되는 것을 특징으로 하는 메모리 시스템.
  11. 삭제
  12. 제 8 항에 있어서,
    상기 제1 메모리는 불휘발성 메모리이고, 상기 소자는 휘발성 메모리인 것을 특징으로 하는 메모리 시스템.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제 12 항에 있어서,
    상기 소자는 DRAM(Dynamic random access memory)인 것을 특징으로 하는 메모리 시스템.
  14. 제1 프로세서 그리고 제2 프로세서를 포함하는 메모리 시스템의 부팅 방법에 있어서:
    상기 제1프로세서를 부팅하기 위해 제1 메모리 내 제1 코드를 페치하는 단계와;
    상기 제1 프로세서에 의해서 상기 제1 메모리 내 스타트 코드를 페치하는 단계와;
    상기 제2 프로세서의 리셋 상태를 해제하는 단계와;
    상기 제1 프로세서 및 상기 제2 프로세서 사이에 연결된 통신 채널을 통하여 상기 제1 프로세서로부터의 상기 스타트 코드를 상기 제2 프로세서로 전송하는 단계와;
    상기 제1 프로세서에 의해서 상기 제1 메모리 내 상기 제2 코드를 페치하는 단계와;
    상기 페치된 제2 코드를 제2 메모리에 저장하는 단계; 그리고
    상기 스타트 코드에 근거해서 상기 제2 프로세서가 스타트하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  15. 제 14 항에 있어서,
    상기 제2 코드는 상기 제2 프로세서를 위한 오퍼레이팅 시스템 코드를 포함하는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  16. 제 14 항에 있어서,
    상기 페치된 제2 코드를 상기 제2 메모리에 저장하는 단계는,
    상기 제1 프로세서에 의해서 상기 페치된 제2 코드를 제3 메모리에 저장하는 단계; 그리고
    상기 제2 프로세서에 의해서 상기 제3 메모리로부터 상기 제2 메모리로 상기 페치된 제2 코드를 복사하는 단계를 포함하되;
    상기 제3 메모리는 상기 제1 프로세서 및 상기 제2 프로세서에 의해서 공유되며 그리고 상기 제2 메모리는 상기 제2 프로세서에 의해서 액세스되는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  17. 제 14 항에 있어서,
    상기 페치된 제2 코드를 상기 제2 메모리에 저장하는 단계는,
    제1 모드에서 상기 제1 프로세서가 상기 제2 메모리를 액세스하도록 상기 제2 메모리를 설정하는 단계와;
    상기 제1 프로세서에 의해서 상기 페치된 제2 코드를 상기 제2 메모리에 저장하는 단계; 그리고
    제2 모드에서 상기 제2 프로세서가 상기 제2 메모리를 액세스하도록 상기 제2 메모리를 설정하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  18. 제 14 항에 있어서,
    상기 제2 프로세서의 리셋 상태를 해제한 후 상기 제2 프로세서에 의해서 상기 제2 코드를 페치하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  19. 제 14 항에 있어서,
    상기 페치된 스타트 코드를 저장하기 전에 상기 제2 메모리를 초기화하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  20. 제 14 항에 있어서,
    상기 통신 채널은 USB(universal serial bus) 인터페이스인 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  21. 제 14 항에 있어서,
    상기 통신 채널은 UART(universal asynchronous receiver/transmitter) 인터페이스인 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  22. 청구항 22은(는) 설정등록료 납부시 포기되었습니다.
    제 14 항에 있어서,
    상기 제1 메모리는 NAND 플래시 메모리인 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  23. 제1 프로세서 및 제2 프로세서를 포함하는 메모리 시스템의 부팅 방법에 있어서:
    제1 메모리에 저장된 제1 코드에 근거해서 상기 제1 프로세서를 부팅하는 단계와;
    상기 제1 메모리로부터 스타트 코드를 페치하기 위해 상기 제1 프로세서에 의해서 상기 제1 메모리를 액세스하는 단계와;
    상기 제1 프로세서 및 상기 제2 프로세서와 통신가능한 소자를 초기화하는 단계와;
    상기 제1 메모리로부터 제2 코드를 페치하기 위해 제1 프로세서에 의해서 상기 제1 메모리를 액세스하는 단계와;
    상기 페치된 제2 코드를 상기 소자에 저장하기 위해 상기 제1 프로세서에 의해서 상기 소자를 액세스하는 단계와;
    상기 제2 프로세서를 부팅하기 위하여 상기 제1 프로세서와 상기 제2 프로세서 사이의 통신 채널을 통하여 상기 스타트 코드를 제2 프로세서로 전송하는 단계; 그리고
    상기 저장된 제2 코드에 근거하여 상기 제2 프로세서의 동작을 위해 상기 제2 프로세서에 의해서 상기 소자를 액세스하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  24. 제 23 항에 있어서,
    상기 제1 프로세서로부터 상기 제2 프로세서로 리셋 신호를 전송하는 단계를 더 포함하며, 상기 리셋 신호는 상기 소자의 공유된 영역을 액세스할 권한에 대응하는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  25. 제 23 항에 있어서,
    상기 제2 프로세서에 의해서 상기 소자를 액세스하는 단계는,
    상기 제2 코드를 저장하기 위하여 상기 제2 프로세서에 의해서 상기 소자의 제1 메모리 영역을 액세스하는 단계; 그리고
    상기 제1 메모리 영역에 저장된 상기 제2 코드를 상기 소자의 제2 메모리 영역으로 복사하는 단계를 포함하되;
    상기 제1 메모리 영역은 상기 제1 프로세서 및 상기 제2 프로세서에 의해서 공유되어 액세스되고, 상기 제2 메모리 영역은 상기 제2 프로세서에 의해서 액세스되는 것을 특징으로 하는 메모리 시스템의 부팅 방법.
  26. 제 23 항에 있어서,
    상기 페치된 제2 코드를 상기 소자에 저장하기 위해 상기 제1 프로세서에 의해서 상기 소자를 액세스하는 단계는,
    제1 모드에서 상기 제1 프로세서가 상기 소자의 상기 제2 메모리 영역을 액세스하기 위해 상기 제1 메모리 내 상기 소자를 설정하는 단계와;
    상기 페치된 제2 코드를 상기 제1 프로세서에 의해서 상기 제2 메모리 영역에 저장하는 단계; 그리고
    제2 모드에서 상기 제2 프로세서가 상기 제2 메모리 영역을 액세스하도록 상기 소자를 설정하는 단계를 포함하는 메모리 시스템의 부팅 방법.
  27. 삭제
KR1020050118326A 2005-12-06 2005-12-06 메모리 시스템 및 그것의 부팅 방법 KR101275752B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020050118326A KR101275752B1 (ko) 2005-12-06 2005-12-06 메모리 시스템 및 그것의 부팅 방법
US11/553,201 US7882344B2 (en) 2005-12-06 2006-10-26 Memory system having a communication channel between a first processor and a second processor and memory management method that uses the communication channel
JP2006325859A JP2007157150A (ja) 2005-12-06 2006-12-01 メモリシステム及びそれを含むメモリ処理方法
TW095145113A TWI358640B (en) 2005-12-06 2006-12-05 Memory system and memory management method includi
DE102006058875.4A DE102006058875B4 (de) 2005-12-06 2006-12-06 System und Verfahren zum Booten eines Systems
US13/014,328 US8423755B2 (en) 2005-12-06 2011-01-26 Memory system and memory management method including the same
US13/234,173 US8984237B2 (en) 2005-12-06 2011-09-16 Memory system and memory management method including the same
JP2014006842A JP6000292B2 (ja) 2005-12-06 2014-01-17 メモリシステム及びそれを含むメモリ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050118326A KR101275752B1 (ko) 2005-12-06 2005-12-06 메모리 시스템 및 그것의 부팅 방법

Publications (2)

Publication Number Publication Date
KR20070059462A KR20070059462A (ko) 2007-06-12
KR101275752B1 true KR101275752B1 (ko) 2013-06-17

Family

ID=38140845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050118326A KR101275752B1 (ko) 2005-12-06 2005-12-06 메모리 시스템 및 그것의 부팅 방법

Country Status (4)

Country Link
US (3) US7882344B2 (ko)
JP (1) JP6000292B2 (ko)
KR (1) KR101275752B1 (ko)
TW (1) TWI358640B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101275752B1 (ko) * 2005-12-06 2013-06-17 삼성전자주식회사 메모리 시스템 및 그것의 부팅 방법
KR20070112950A (ko) * 2006-05-24 2007-11-28 삼성전자주식회사 멀티-포트 메모리 장치, 멀티-포트 메모리 장치를 포함하는멀티-프로세서 시스템, 및 멀티-프로세서 시스템의 데이터전달 방법
KR100822468B1 (ko) * 2006-09-11 2008-04-16 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법
US20080113525A1 (en) * 2006-11-15 2008-05-15 Sandisk Il Ltd. Compact solid state drive and processor assembly
US8296581B2 (en) * 2007-02-05 2012-10-23 Infineon Technologies Ag Secure processor arrangement having shared memory
US8327057B1 (en) * 2007-04-16 2012-12-04 Juniper Networks, Inc. Ordering write bursts to memory
KR101456593B1 (ko) * 2007-06-22 2014-11-03 삼성전자주식회사 플래시 메모리 장치를 포함하는 메모리 시스템
KR20090005786A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 메모리 사용확장 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치 및 그에 따른 메모리 사용확장 방법
JP2009080747A (ja) * 2007-09-27 2009-04-16 Panasonic Corp マルチプロセッサ装置および情報処理装置
KR101430687B1 (ko) * 2007-09-28 2014-08-18 삼성전자주식회사 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법
US9674176B2 (en) * 2007-12-26 2017-06-06 Intel Deutschland Gmbh Radio communication device and method for booting a radio communication device
KR20090095955A (ko) 2008-03-07 2009-09-10 삼성전자주식회사 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템
KR20100034415A (ko) * 2008-09-24 2010-04-01 삼성전자주식회사 메모리 링크 아키텍쳐를 활용한 부팅기능을 갖는 멀티 프로세서 시스템
KR101524602B1 (ko) * 2008-12-30 2015-06-01 삼성전자주식회사 듀얼 스탠바이 휴대단말기의 표시 방법 및 장치
KR20100100395A (ko) * 2009-03-06 2010-09-15 삼성전자주식회사 복수의 프로세서를 포함하는 메모리 시스템
US8254199B1 (en) 2009-12-29 2012-08-28 Micron Technology, Inc. Multi-channel memory and power supply-driven channel selection
JP5200085B2 (ja) * 2010-11-04 2013-05-15 レノボ・シンガポール・プライベート・リミテッド コンピュータを短時間で起動する方法およびコンピュータ
CN102654858B (zh) * 2011-03-04 2015-02-04 国基电子(上海)有限公司 双处理器***及双处理器***的通信方法
CN103946824B (zh) 2011-11-22 2016-08-24 英特尔公司 一种用于非易失性随机访问存储器的访问控制方法、装置及***
US8868876B2 (en) * 2011-12-28 2014-10-21 International Business Machines Corporation Dedicated large page memory pools
JP5824472B2 (ja) * 2013-04-25 2015-11-25 京セラドキュメントソリューションズ株式会社 メモリーアクセス制御システム及び画像形成装置
JP6038828B2 (ja) * 2014-03-17 2016-12-07 京セラドキュメントソリューションズ株式会社 電子機器およびデータ管理プログラム
US20180074959A1 (en) * 2014-07-22 2018-03-15 Hewlett Packard Enterprise Development Lp Node-based computing devices with virtual circuits
US10445240B2 (en) * 2014-08-01 2019-10-15 Analog Devices Global Unlimited Company Bus-based cache architecture
KR20160054850A (ko) 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US9952967B2 (en) 2015-03-10 2018-04-24 Toshiba Memory Corporation Method for controlling nonvolatile memory and storage medium storing program
US9983885B2 (en) * 2015-05-06 2018-05-29 Elbit Systems Of America, Llc BIOS system with non-volatile data memory
US10908614B2 (en) 2017-12-19 2021-02-02 Here Global B.V. Method and apparatus for providing unknown moving object detection
KR102504332B1 (ko) * 2018-02-21 2023-02-28 삼성전자주식회사 서로 이격되어 배치되는 범프 어레이들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US11385829B2 (en) * 2019-08-05 2022-07-12 Cypress Semiconductor Corporation Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods
CN116305060A (zh) * 2021-12-20 2023-06-23 戴尔产品有限公司 用于对管理控制器的os访问的安全通信通道

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943911A (en) * 1986-11-20 1990-07-24 Alcatel N.V. System for loading initial program loader routine into secondary computer without bootstrap ROM
JPH08161283A (ja) * 1994-12-07 1996-06-21 Sony Corp 複数プロセツサシステム
KR970002882B1 (ko) * 1992-06-11 1997-03-12 엘지전보통신 주식회사 다중 프로세서 시스템의 부트 스트랩 프로그램 로딩 방법 및 장치
US20010052067A1 (en) * 1997-10-30 2001-12-13 Klein Dean A. Method and apparatus for improved storage of computer system configuration information

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
US5155833A (en) 1987-05-11 1992-10-13 At&T Bell Laboratories Multi-purpose cache memory selectively addressable either as a boot memory or as a cache memory
JPH02166549A (ja) 1988-12-21 1990-06-27 Mitsubishi Electric Corp 共有メモリ制御装置
JPH03192460A (ja) * 1989-12-22 1991-08-22 Matsushita Electric Ind Co Ltd 共通メモリ制御装置
JPH0410050A (ja) 1990-04-26 1992-01-14 Nec Corp 計算機システム
JPH06195310A (ja) 1992-12-22 1994-07-15 Fujitsu Ltd マルチcpuに対する制御データ書換え方法
JPH0736373A (ja) 1993-07-16 1995-02-07 Omron Corp プログラマブルコントローラ
KR0178215B1 (ko) 1995-06-30 1999-04-15 배순훈 회전체의 신호전달 장치
US6385704B1 (en) 1997-11-14 2002-05-07 Cirrus Logic, Inc. Accessing shared memory using token bit held by default by a single processor
KR19990055450A (ko) 1997-12-27 1999-07-15 윤종용 듀얼포트 메모리를 사용하는 프로세서의 인터페이스 장치
JP2000020492A (ja) 1998-06-29 2000-01-21 Yaskawa Electric Corp サブcpuへのプログラムダウンロード方法およびそのnc装置
US6308264B1 (en) 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Dual use master boot record
US6401110B1 (en) 1998-11-30 2002-06-04 International Business Machines Corporation Method for managing concurrent processes using dual locking
JP4123315B2 (ja) 1999-02-19 2008-07-23 株式会社安川電機 デュアルポートramのデータ受け渡し装置および方法
US6584560B1 (en) * 2000-04-19 2003-06-24 Dell Usa, L.P. Method and system for booting a multiprocessor computer
JP2002091934A (ja) 2000-09-12 2002-03-29 Mitsubishi Electric Corp デュアルポートメモリを用いたデータ伝送システム、及びデュアルポートメモリ
JP4154855B2 (ja) 2000-12-07 2008-09-24 富士電機システムズ株式会社 データ伝送制御装置
CN1818894B (zh) 2001-01-31 2013-07-31 株式会社日立制作所 数据处理***和数据处理器
JP2003280980A (ja) 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd 共有メモリ排他制御装置及び共有メモリ排他制御方法
EP1548601A1 (fr) * 2003-12-23 2005-06-29 Stmicroelectronics SA Contrôle d'accès mémoire dans un appareil électronique
DE102004009497B3 (de) 2004-02-27 2005-06-30 Infineon Technologies Ag Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
US7623543B2 (en) * 2004-03-19 2009-11-24 Fujitsu Limited Token-controlled data transmissions in communication networks
JP4669673B2 (ja) 2004-07-02 2011-04-13 株式会社リコー メモリ排他制御装置、画像処理装置、及び画像形成装置
EP1653331B8 (en) * 2004-10-29 2012-03-14 ST-Ericsson SA An apparatus and method for entering and exiting low power mode
US7305544B2 (en) * 2004-12-10 2007-12-04 Intel Corporation Interleaved boot block to support multiple processor architectures and method of use
KR101275752B1 (ko) 2005-12-06 2013-06-17 삼성전자주식회사 메모리 시스템 및 그것의 부팅 방법
US8270732B2 (en) * 2009-08-31 2012-09-18 Behavioral Recognition Systems, Inc. Clustering nodes in a self-organizing map using an adaptive resonance theory network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943911A (en) * 1986-11-20 1990-07-24 Alcatel N.V. System for loading initial program loader routine into secondary computer without bootstrap ROM
KR970002882B1 (ko) * 1992-06-11 1997-03-12 엘지전보통신 주식회사 다중 프로세서 시스템의 부트 스트랩 프로그램 로딩 방법 및 장치
JPH08161283A (ja) * 1994-12-07 1996-06-21 Sony Corp 複数プロセツサシステム
US20010052067A1 (en) * 1997-10-30 2001-12-13 Klein Dean A. Method and apparatus for improved storage of computer system configuration information

Also Published As

Publication number Publication date
US7882344B2 (en) 2011-02-01
US8423755B2 (en) 2013-04-16
KR20070059462A (ko) 2007-06-12
US20120011323A1 (en) 2012-01-12
US8984237B2 (en) 2015-03-17
JP2014096173A (ja) 2014-05-22
JP6000292B2 (ja) 2016-09-28
TW200736908A (en) 2007-10-01
US20110119477A1 (en) 2011-05-19
US20070136536A1 (en) 2007-06-14
TWI358640B (en) 2012-02-21

Similar Documents

Publication Publication Date Title
KR101275752B1 (ko) 메모리 시스템 및 그것의 부팅 방법
US8291211B2 (en) System embedding plural controller sharing nonvolatile memory
US8650388B2 (en) Multi-processor systems and booting methods thereof
US7941612B2 (en) Multipath accessible semiconductor memory device with host interface between processors
US7840762B2 (en) Multi-path accessible semiconductor memory device having mailbox areas and mailbox access control method thereof
KR100725100B1 (ko) 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
US7596666B2 (en) Multi-path accessible semiconductor memory device having port state signaling function
KR100758301B1 (ko) 메모리 카드 및 그것의 데이터 저장 방법
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
US20080256305A1 (en) Multipath accessible semiconductor memory device
KR100772841B1 (ko) 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치
KR20110013867A (ko) 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
US7386653B2 (en) Flash memory arrangement
KR20100133649A (ko) 메모리 링크 아키텍쳐에서 파워 오프 시 데이터 로스를 방지하는 기능을 갖는 멀티 프로세서 시스템
KR20100041309A (ko) 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템
US8171233B2 (en) Multi port semiconductor memory device with direct access function in shared structure of nonvolatile memory and multi processor system thereof
US20100070691A1 (en) Multiprocessor system having multiport semiconductor memory device and nonvolatile memory with shared bus
KR20100034415A (ko) 메모리 링크 아키텍쳐를 활용한 부팅기능을 갖는 멀티 프로세서 시스템
JP2007157150A (ja) メモリシステム及びそれを含むメモリ処理方法
KR20090092370A (ko) 프로세서들 간의 데이터 이동 이벤트를 감소시키는멀티포트 반도체 메모리 장치 및 그를 채용한 멀티프로세서 시스템과 멀티포트 반도체 메모리 장치의구동방법
KR20080111745A (ko) 다중 포트 메모리를 이용한 다중 프로세서의 부팅 방법,다중 포트 메모리 및 다중 포트 메모리를 가지는 다중프로세서 시스템
JP2004078396A (ja) メモリ装置
KR20070081597A (ko) 내부 메모리만을 가지는 시스템의 부팅 장치 및 방법
KR20080103183A (ko) 부트 램을 반도체 메모리 장치 내에 구비한 멀티 프로세서시스템 및 그를 이용한 프로세서 부팅 방법
KR20080063902A (ko) 멀티 포트 반도체 메모리 장치의 부팅방법

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160531

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 7