KR100790168B1 - 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치 - Google Patents

프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치 Download PDF

Info

Publication number
KR100790168B1
KR100790168B1 KR1020060066597A KR20060066597A KR100790168B1 KR 100790168 B1 KR100790168 B1 KR 100790168B1 KR 1020060066597 A KR1020060066597 A KR 1020060066597A KR 20060066597 A KR20060066597 A KR 20060066597A KR 100790168 B1 KR100790168 B1 KR 100790168B1
Authority
KR
South Korea
Prior art keywords
nand flash
flash memory
boot
memory
boot code
Prior art date
Application number
KR1020060066597A
Other languages
English (en)
Inventor
김진우
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060066597A priority Critical patent/KR100790168B1/ko
Application granted granted Critical
Publication of KR100790168B1 publication Critical patent/KR100790168B1/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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation

Abstract

본 발명은 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을 수행하는 방법 및 장치를 제공한다.
이러한 본 발명은 오버트래픽의 방지를 위해 제어포트와 데이터포트를 가지는 부팅 제어부에서 다수의 입/출력포트를 가지는 메모리 컨트롤러를 이용하여 낸드플래시 메모리에 저장되어 있는 부트코드를 내부 메모리로 이동시켜 프로세싱 시스템이 응용 프로그램을 수행 할 수 있는 토대를 만드는 것이다.
Boot, Sequencer, Nand, Flash, Memory, 부트, 낸드, 부팅

Description

프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을 수행하는 방법 및 장치{Booting Method and apparatus for using Nand Flash Memory in a processing system}
도 1은 본 발명의 바람직한 실시예에 따라 부팅을 수행하는 프로세싱 시스템의 전체적인 구성도.
도 2는 본 발명의 바람직한 실시예에 따른 멀티포트 메모리 컨트롤러에 제어신호와 부트코드에 대한 정보를 전달하는 부팅 제어부의 상세구성을 보인도면.
도 3은 본 발명의 바람직한 실시예에 따른 낸드플래시 메모리를 이용한 프로세싱 시스템에서 부팅을 수행하는 흐름도.
본 발명은 프로세싱 시스템에 대한 것으로서 특히, 낸드플래시 메모리를 이용하여 부팅을 수행하는 방법 및 장치에 대한 것이다.
프로세싱 시스템의 구성에 있어서, 메모리를 사용하자면 메모리 컨트롤러가 필요하다. 플래시 메모리 또한 어떤 프로세싱 시스템의 구성을 이루고 동작을 하자 면 메모리 컨트롤러가 필요한데, 상기 플래시 메모리의 내부구성에 따라 다른 종류의 메모리 컨트롤러가 사용된다.
상기 플래시 메모리는 데이타의 저장 및 삭제가 자유로운데, 내부구성에 따라 낸드플래시 메모리(Nand Flash Memory)와 노아플래시 메모리(Nor Flash Memory)로 나누어진다. 상기 노아플래시 메모리는 데이터가 저장되는 셀들이 병렬로 연결된 방식이고 상기 낸드플래시 메모리는 데이터가 저장되는 셀들이 직렬로 연결된 구조를 가지고 있다.
상기 낸드플래시 메모리는, 데이터를 액세스 하려면 먼저 해당 데이터가 있는 셀들의 블록을 찾은 다음, 상기 블록 내의 직렬로 연결된 각 셀 중에서 상기 데이터를 액세스하는 방식을 사용한다.
상기 노아플래시 메모리는 순서에 관계없이 임의의 셀을 액세스 하는 것(Random Access)이 가능하며 쓰기, 읽기 동작 시 내부의 어드레스를 인식하는 과정이 간단한 방식을 사용한다. 상기 노아플래시 메모리는 어드레스를 인식하는 과정이 간단하기 때문에 메모리 컨트롤러의 제작 또한 간단하지만, 병렬로 연결된 각 셀을 개별적으로 액세스하기 위한 전극 포인트가 필요하기 때문에 상기 각 셀의 면적이 낸드플래시 메모리에 비해 커져서 집적도가 하락한다.
상기 낸드플래시 메모리와 상기 노아플래시 메모리는 데이터를 저장하는 것뿐만 아니라, 부팅코드를 저장하였다가 프로세싱 시스템이 동작시에 부팅을 수행하게 하는데 사용될 수 있다. 상기 노아플래시 메모리는 부트코드를 내장하여 프로세싱 시스템의 부팅에 이용될 시에, 상기 낸드플래시 메모리에 비해 다소 빠른 데이 터 처리속도를 장점으로 상기 프로세싱 시스템의 부팅속도를 높일수가 있으나, 일정용량의 메모리 용량 이상으로 늘리는 것이 불가능하여 사용빈도가 점차 낮아지고 있다. 따라서, 상기 노아플래시 메모리 보다 다소 처리속도는 떨어지지만, 제조단가가 싸고 가격대 용량비가 뛰어나서 대용량의 메모리를 조성할 수 있는 상기 낸드플래시 메모리를 이용해서 부팅을 수행하는 프로세싱 시스템의 구성이 대안이 된다.
하지만, 기존의 낸드플래시 메모리를 이용한 프로세싱 시스템의 부팅은 제어부와 메모리 컨트롤러가 주고받는 부트코드와 제어신호가 하나의 라인으로 연결되어 오버 트래픽(Traffic)이 쉽게 발생하므로 처리속도가 떨어지는 문제점이 있었다.
이러한 문제점을 해소하기 위해 창안된 본 발명은, 부팅 제어부가 부트코드와 제어신호를 분리하여 출력하고, 상기 분리되어 출력되는 신호를 입/출력하는 멀티포트 메모리 컨트롤러를 이용하여 프로세싱 시스템의 부팅을 수행는 방법 및 장치를 제공한다.
본 발명의 바람직한 실시예는, 낸드 플래시 메모리를 이용하여 프로세싱 시스템을 부팅하는 방법에 있어서,
메모리 컨트롤러와 낸드플래시 메모리사이의 버스 폭을 결정하고, 상기 버스 폭을 나타내는 제어신호를 제어포트를 통해 상기 메모리 컨트롤러로 전달하는 과정 과,
상기 낸드플래시 메모리를 액세스하는 단위인 페이지 크기를 설정하고, 상기 낸드플래시 메모리에서 액세스할 시작어드레스를 데이터포트를 통해 상기 메모리 컨트롤러로 전달하는 과정과,
상기 시작어드레스를 이용하여 상기 낸드플래시 메모리로부터 액세스한 부트코드를 상기 메모리 컨트롤러로부터 상기 데이터포트를 통해 입력받아, 상기 입력받은 부트코드를 부팅을 위해 사용될 수 있도록 내부 메모리에 저장하는 과정과,
상기 낸드플래시 메모리의 현재 액세스하는 어드레스(이하 현재 어드레스라 한다.)가 상기 페이지 크기의 배수에 도달하였는지를 판단하는 과정과,
상기 현재 어드레스가 상기 페이지 크기의 배수에 도달하면, 상기 현재 어드레스가 상기 내부 메모리의 저장한계에 도달하였는지 판단하는 과정과,
상기 현재 어드레스가 상기 저장한계에 도달하였으면, 상기 내부 메모리에 저장된 상기 부트코드를 이용하여 프로세싱 시스템을 부팅시켜 응용 프로그램을 구동시키는 과정을 포함하는 것을 특징으로 한다.
본 발명의 장치는, 프로세싱 시스템을 부팅하는 장치에 있어서,
부트코드를 저장하는 낸드플래시 메모리와,
제어포트와 데이터포트를 구비하며, 상기 제어포트로부터의 제어신호 및 상기 데이터포트로부터의 부트코드에 대한 정보에 따라 상기 낸드플래시 메모리로부터 상기 부트코드를 액세스하여 상기 데이터포트를 통해 출력하는 메모리 컨트롤러와,
상기 메모리 컨트롤러와 연결된 상기 제어포트를 통해 상기 제어신호를 출력하는 제1부트시퀸서 마스터와, 상기 메모리 컨트롤러와 연결된 상기 데이터포트를 통해 상기 부트코드에 대한 정보를 입/출력하는 제2부트시퀸서 마스터를 구비하며, 상기 낸드플래시 메모리를 액세스하는 단위인 페이지 크기를 결정하고, 상기 낸드플래시 메모리에서 액세스할 시작어드레스를 상기 데이터포트를 통해 상기 메모리 컨트롤러로 전달하는 부팅 제어부와,
상기 부팅 제어부로부터 상기 부트코드를 전달받아 저장하고, 상기 부트코드를 실행시켜 프로세싱 시스템을 구동시키는 내부 메모리를 포함하여 구성되며,
상기 부팅 제어부는, 상기 시작어드레스를 이용하여 상기 낸드플래시 메모리로부터 액세스한 부트코드를 상기 메모리 컨트롤러로부터 상기 데이터포트를 통해 입력받아, 상기 입력받은 부트코드를 부팅을 위해 사용될 수 있도록 내부 메모리에 저장하고, 상기 낸드플래시 메모리의 현재 액세스하는 어드레스(이하 현재 어드레스라 한다.)가 상기 페이지 크기의 배수에 도달하였는지를 판단하며, 상기 현재 어드레스가 상기 페이지 크기의 배수에 도달하고, 상기 현재 어드레스가 상기 내부 메모리의 저장한계에 도달하였으면, 상기 내부 메모리에 저장된 상기 부트코드를 이용하여 프로세싱 시스템을 부팅시켜 응용 프로그램을 구동시키는 것을 특징으로 한다.
전술한 바와 같은 내용은 당해 분야 통상의 지식을 가진 자는 후술되는 본 발명의 구체적인 설명으로 보다 잘 이해할 수 있도록 하기 위하여 본 발명의 특징들 및 기술적인 장점들을 다소 넓게 약술한 것이다.
본 발명의 청구범위의 주제를 형성하는 본 발명의 추가적인 특징들 및 장점들이 후술될 것이다. 당해 분야에서 통상의 지식을 가진 자는 본 발명의 동일한 목적들을 달성하기 위하여 다른 구조들을 변경하거나 설계하는 기초로서 발명의 개시된 개념 및 구체적인 실시예가 용이하게 사용될 수도 있다는 사실을 인식하여야 한다. 당해 분야에서 통상의 지식을 가진 자는 또한 발명과 균등한 구조들이 본 발명의 가장 넓은 형태의 사상 및 범위로부터 벗어나지 않는다는 사실을 인식하여야 한다.
이하 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 또한 본 발명의 요지를 흐릴 수 있는 공지기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명의 주요한 요지는 프로세싱 시스템에서 낸드 플래시 메모리를 이용하여 부팅을 수행하는 것이다. 이를위해 본 발명은 교체가 편리하고 입/출력이 가능한 다수의 포트를 가지는 멀티포트 메모리 컨트롤러와, 제어신호 및 부트코드에 대한 정보를 따로 출력하여 부팅을 수행하는 부팅 제어부를 사용한다. 상기 부트코드에 대한 정보는 부팅을 수행하는데 사용되는 부트코드, 또는 상기 부트코드가 저장된 위치를 알려주는 어드레스, 부트코드 용량을 나타내는 어드레스의 크기중 적어도 하나를 의미한다.
도 1은 본 발명의 바람직한 실시예에 따른 부팅을 수행하는 프로세싱 시스템 의 전체적인 구성도이다.
부팅 제어부(100)는 프로세싱 시스템의 부팅을 수행하기 위한 제어신호를 출력하는 제어포트와 부트코드에 대한 정보를 출력하는 데이터포트를 구비하며, 상기 제어포트는 멀티포트 메모리 컨트롤러(Multi Port Memory Controller; 이하 MPMC 라 한다)(110)에 연결되어 상기 MPMC(110)의 동작을 제어하기 위한 제어신호를 전달한다. 상기 데이터포트는 상기 MPMC(110)와 내부 메모리(130)에 연결되어, 상기 제어신호에 따라 상기 MPMC(110)가 수행하는데 필요한 부트코드에 대한 정보를 입/출력하고, 상기 부팅 제어부(100)가 낸드플래시 메모리(120)에서 액세스한 부트코드를 상기 내부메모리(130)에 전달한다.
상기 MPMC(110)는 마찬가지로 제어포트와 데이터포트를 구비하며, 상기 제어신호에 따라 상기 낸드플래시 메모리(120)의 부트코드 입/출력을 위해 액세스를 수행한다.
상기 낸드플래시 메모리(120)는 부트코드를 저장하고 있으며, 상기 부팅 제어부(100)의 제어신호에 따라, 페이지 단위로 저장되어 있는 부트코드를 출력한다. 낸드플래시 메모리(120)는 복수의 셀들로 각 페이지를 이루고, 페이지들이 모여서 블록을 이룬다.
상기 내부 메모리(130)는 상기 낸드플래시 메모리(120)에서 액세스된 부트코드를 부팅제어부(100)를 통해 입력받아 저장하며, 프로세싱 시스템은 상기 부트코드를 상기 내부 메모리(130)에서 액세스하여 실행된다.
상기 프로세싱 시스템의 구동순서를 서술하면 다음과 같다. 부팅 제어 부(100)가 MPMC(110)로 연결되는 낸드플래시 메모리(120)와의 버스 폭(8bit, 16bit, 32bit…)을 결정하고 상기 버스 폭을 나타내는 제어신호를 제어포트로부터 출력하면, 상기 제어신호에 따른 부트코드에 대한 정보가 데이터포트로부터 출력된다. 또한, 상기 부팅 제어부(100)는 상기 낸드플래시 메모리(210)에서 한번에 액세스 할 어드레스의 범위인 페이지 크기를 결정하고, 액세스를 시작할 시작어드레스(본 발명에서는 0)를 상기 MPMC(110)에 전달한다.
상기 MPMC(110)는 상기 부팅 제어부(100)의 제어를 받아 낸드플래시 메모리(120)를 상기 시작어드레스부터 액세스하기 시작하여, 상기 낸드플래시 메모리(120)로부터 액세스한 부트코드를 내부 메모리(130)로 전달한다. 상기 내부 메모리(130)는 상기 전달받은 상기 부트코드를 차례대로 저장한다. 한편, 상기 부팅 제어부(100)는 상기 낸드플래시 메모리(120)에서 현재 액세스한 어드레스(이하 현재 어드레스라 한다.)가 상기 페이지 크기의 배수가 되고, 상기 내부 메모리(130)의 저장한계에 이르렀는지를 비교하여, 상기 비교결과에 따라, 상기 내부 메모리(130)에 부트코드의 저장이 완료되었는지를 판단한다.
도 2는 본 발명의 바람직한 실시예에 따른 멀티포트 메모리 컨트롤러에 제어신호와 부트코드에 대한 정보를 전달하는 부팅 제어부이다.
부팅 제어부(200)는 두 개의 제1부트시퀸서 마스터(Boot Sequencer Master1; 이하 BSM1이라 한다.)(210)와 제2부트시퀸서 마스터(Boot Sequencer Master2; 이하 BSM2라 한다.)(220)로 이루어져 있으며, 상기 BSM0(210)은 제어포트를 통해 MPMC(110)와 연결되어 제어신호를 출력하고, 상기 BSM1(220)은 데이터포트를 통해 상기 MPMC(110)와 연결되어 부트코드에 대한 정보를 출력한다. 상기 BSM0(210)에서는 상기 MPMC(110)의 비지(Busy)여부를 체크한 후, 비지상태가 아니면 낸드플래시 메모리(120)내의 부트코드를 액세스 하라는 제어신호를 출력하여 상기 MPMC(110)를 독출모드로 전환시키고 낸드플래시 메모리(120)의 어드레스 사이클 수(예를들어 3,4,5 사이클)를 설정한다. 또한, 상기 BSM0(210)은 상기 낸드플래시 메모리(120)를 액세스할 페이지 크기를 설정한다. 그러면, 상기 BSM1(220)은 상기 낸드플래시 메모리(120)에서 액세스를 시작할 시작어드레스를 상기 MPMC(110)로 출력한다.
상기 BSM0(210)과 상기 BSM1(220)은 상기 제어신호의 출력과 상기 부트코드에 대한 정보의 출력이 끝날 때 마다 서로에게 완료신호(Token)를 전달하여 출력이 끝났음을 통보하고, 서로가 다음 동작을 실행 할 수 있도록 한다.
도 3은 본 발명의 바람직한 실시예에 따른 낸드플래시 메모리를 이용한 프로세싱 시스템에서 부팅을 수행하는 흐름도로서, 부팅 제어부(200)가 프로세싱 시스템을 제어하는 것을 나타낸 것이다.
(300)단계에서 BSM1(210)은 낸드플래시 메모리 컨트롤러(210)와 낸드플래시 메모리(220)사이의 버스 폭을 결정하고, (310)단계에서는 BSM1(210)이 낸드플래시 메모리(120)를 액세스 할 페이지 크기 및 액세스를 시작할 시작어드레스를 설정하여 MPMC(110)로 전달한다.
(320)단계에서 상기 MPMC(110)는 상기 시작어드레스를 참조하여 상기 낸드플래시 메모리(120)로부터 부트코드를 액세스하여 BSM1(220)로 전달하기 시작하고, (330)단계에서 상기 BSM1(220)은 상기 MPMC(110)가 액세스한 상기 부트코드를 내부 메모리(130)에 전달하여 저장시킨다.
(340)단계에서 상기 부팅 제어부(200)는 상기 낸드플래시 메모리(120)의 현재 액세스한 어드레스(이하 현재 어드레스라 한다.)가, 상기 페이지 크기의 배수인지를 비교하여, 상기 배수이면 (360)단계로 진행하고, 상기 배수가 아니라면 (350)단계로 진행하여 현재 어드레스를 소정 값만큼 증가시킨 후, 상기 낸드플래시 메모리(120)를 다시 액세스 하기위해 (330)단계로 복귀한다.
상기 (360)단계에서는 상기 현재 어드레스가 내부 메모리(130)의 저장한계에 도달했는지를 검사한다. 상기 저장한계에 도달하지 않았다면, (370)단계로 진행하여 다음 페이지를 액세스 하기위해 (310)단계로 복귀한다. 상기 저장한계에 도달하면, (380)단계에서 내부 메모리에 저장된 상기 부트코드는 프로세싱 시스템을 부팅시키는데 이용됨으로서, 프로세싱 시스템이 응용 프로그램을 수행하는 토대를 만들어준다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다.
그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
본 발명은 낸드플래시를 이용하고 부팅 제어부의 출력을 제어신호와 부트코드에 대한 정보로 이원화하여 프로세싱 시스템을 부팅시키는 것이 특징이다.
이와 같은 본 발명은 부팅 제어부가 이원화된 제어신호와 부트코드에 대한 정보처리를 수행함으로서 트래픽의 과다를 방지하고, 가격대 용량비가 저렴하여 대용량의 부트코드를 저장하는 낸드플래시 메모리를 이용하여 부팅을 수행할 수 있는 이점이 있다.

Claims (6)

  1. 낸드 플래시 메모리를 이용하여 프로세싱 시스템을 부팅하는 방법에 있어서,
    메모리 컨트롤러와 낸드플래시 메모리사이의 버스 폭을 결정하고, 상기 버스 폭을 나타내는 제어신호를 제어포트를 통해 상기 메모리 컨트롤러로 전달하는 과정과,
    상기 낸드플래시 메모리를 액세스하는 단위인 페이지 크기를 설정하고, 상기 낸드플래시 메모리에서 액세스할 시작어드레스를 데이터포트를 통해 상기 메모리 컨트롤러로 전달하는 과정과,
    상기 시작어드레스를 이용하여 상기 낸드플래시 메모리로부터 액세스한 부트코드를 상기 메모리 컨트롤러로부터 상기 데이터포트를 통해 입력받아, 상기 입력받은 부트코드를 부팅을 위해 사용될 수 있도록 내부 메모리에 저장하는 과정과,
    상기 낸드플래시 메모리의 현재 액세스하는 어드레스(이하 현재 어드레스라 한다.)가 상기 페이지 크기의 배수에 도달하였는지를 판단하는 과정과,
    상기 현재 어드레스가 상기 페이지 크기의 배수에 도달하면, 상기 현재 어드레스가 상기 내부 메모리의 저장한계에 도달하였는지 판단하는 과정과,
    상기 현재 어드레스가 상기 저장한계에 도달하였으면, 상기 내부 메모리에 저장된 상기 부트코드를 이용하여 프로세싱 시스템을 부팅시켜 응용 프로그램을 구동시키는 과정을 포함하는 것을 특징으로 하는 낸드플래시 메모리를 이용한 부팅방법.
  2. 제1항에 있어서, 상기 현재 어드레스가 상기 페이지 크기의 배수에 도달하지 않았다면, 상기 현재 어드레스를 증가시키고, 상기 현재 어드레스를 이용하여 상기 낸드플래시 메모리로부터 상기 부트코드를 액세스하도록 상기 메모리 컨트롤러를 제어하는 과정을 더 포함하는 것을 특징으로 하는 낸드플래시 메모리를 이용한 부팅방법.
  3. 제1항에 있어서, 상기 현재 어드레스가 상기 내부 메모리의 저장한계에 도달하지 못했다면, 상기 시작어드레스와 상기 페이지 크기를 재설정하여 상기 낸드플래시 메모리를 액세스하도록 상기 메모리 컨트롤러를 제어하는 과정을 더 포함하는 것을 특징으로 하는 낸드플래시 메모리를 이용한 부팅방법.
  4. 프로세싱 시스템을 부팅하는 장치에 있어서,
    부트코드를 저장하는 낸드플래시 메모리와,
    제어포트와 데이터포트를 구비하며, 상기 제어포트로부터의 제어신호 및 상기 데이터포트로부터의 부트코드에 대한 정보에 따라 상기 낸드플래시 메모리로부터 상기 부트코드를 액세스하여 상기 데이터포트를 통해 출력하는 메모리 컨트롤러와,
    상기 메모리 컨트롤러와 연결된 상기 제어포트를 통해 상기 제어신호를 출력하는 제1부트시퀸서 마스터와, 상기 메모리 컨트롤러와 연결된 상기 데이터포트를 통해 상기 부트코드에 대한 정보를 입/출력하는 제2부트시퀸서 마스터를 구비하며, 상기 낸드플래시 메모리를 액세스하는 단위인 페이지 크기를 결정하고, 상기 낸드플래시 메모리에서 액세스할 시작어드레스를 상기 데이터포트를 통해 상기 메모리 컨트롤러로 전달하는 부팅 제어부와,
    상기 부팅 제어부로부터 상기 부트코드를 전달받아 저장하고, 상기 부트코드를 실행시켜 프로세싱 시스템을 구동시키는 내부 메모리를 포함하여 구성되며,
    상기 부팅 제어부는, 상기 시작어드레스를 이용하여 상기 낸드플래시 메모리로부터 액세스한 부트코드를 상기 메모리 컨트롤러로부터 상기 데이터포트를 통해 입력받아, 상기 입력받은 부트코드를 부팅을 위해 사용될 수 있도록 내부 메모리에 저장하고, 상기 낸드플래시 메모리의 현재 액세스하는 어드레스(이하 현재 어드레스라 한다.)가 상기 페이지 크기의 배수에 도달하였는지를 판단하며, 상기 현재 어드레스가 상기 페이지 크기의 배수에 도달하고, 상기 현재 어드레스가 상기 내부 메모리의 저장한계에 도달하였으면, 상기 내부 메모리에 저장된 상기 부트코드를 이용하여 프로세싱 시스템을 부팅시켜 응용 프로그램을 구동시키는 것을 특징으로 하는 낸드플래시 메모리를 이용한 부팅장치.
  5. 제4항에 있어서, 상기 부팅 제어부는,
    상기 현재 어드레스가 상기 페이지 크기의 배수에 도달하지 않았다면, 상기 현재 어드레스를 증가시키고, 상기 증가된 현재 어드레스를 이용하여 상기 낸드플래시 메모리로부터 상기 부트코드를 액세스하도록 상기 메모리 컨트롤러를 제어하는 것을 특징으로 하는 낸드플래시 메모리를 이용한 부팅장치.
  6. 제4항에 있어서, 상기 부팅 제어부는,
    상기 현재 어드레스가 상기 내부 메모리의 저장한계에 도달하지 못했다면, 상기 시작어드레스와 상기 페이지 크기를 재설정하여 상기 낸드플래시 메모리를 액세스하도록 상기 메모리 컨트롤러를 제어하는 것을 특징으로 하는 낸드플래시 메모리를 이용한 부팅장치.
KR1020060066597A 2006-07-14 2006-07-14 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치 KR100790168B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060066597A KR100790168B1 (ko) 2006-07-14 2006-07-14 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060066597A KR100790168B1 (ko) 2006-07-14 2006-07-14 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100790168B1 true KR100790168B1 (ko) 2008-01-02

Family

ID=39216177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060066597A KR100790168B1 (ko) 2006-07-14 2006-07-14 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100790168B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040026461A (ko) * 2002-09-24 2004-03-31 삼성전자주식회사 플래시 메모리를 이용하여 부팅되는 시스템 장치 및 그시스템 부팅 방법
KR20040064149A (ko) * 2003-01-09 2004-07-16 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
KR20050065576A (ko) * 2002-10-02 2005-06-29 쌘디스크 코포레이션 비선형 메모리로부터의 부팅

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040026461A (ko) * 2002-09-24 2004-03-31 삼성전자주식회사 플래시 메모리를 이용하여 부팅되는 시스템 장치 및 그시스템 부팅 방법
KR20050065576A (ko) * 2002-10-02 2005-06-29 쌘디스크 코포레이션 비선형 메모리로부터의 부팅
KR20040064149A (ko) * 2003-01-09 2004-07-16 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩

Similar Documents

Publication Publication Date Title
EP3403184B1 (en) Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
KR101702280B1 (ko) 명령어 큐잉
CN101308698B (zh) 存储装置
US7937523B2 (en) Memory system with nonvolatile semiconductor memory
US9965208B1 (en) Memory device having a controller to enable and disable mode control circuitry of the controller
CN109901790A (zh) 存储器系统及控制方法
CN108121672A (zh) 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
CN109947362B (zh) 管理闪存存储器读取操作
KR20070118533A (ko) 불휘발성 메모리
US20130254467A1 (en) System and method for scanning flash memories
CN109471819B (zh) 为来自主机的读取请求提供短的读取响应时间的存储设备
US20220129206A1 (en) Resource allocation in memory systems based on operation modes
US8266361B1 (en) Access methods and circuits for devices having multiple buffers
KR20210045507A (ko) 데이터 버스 모드에 기초하는 읽기 작업 및 쓰기 작업의 스케줄링
KR102219759B1 (ko) 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법
CN207008602U (zh) 一种基于NandFlash存储器多通道的存储阵列控制装置
US7272692B2 (en) Arbitration scheme for memory command selectors
CN102591823A (zh) 一种具有指令队列功能的Nandflash控制器
KR101270179B1 (ko) 캐스케이드 메모리를 위한 방법 및 장치
KR20050035836A (ko) 다중 낸드 플래시 메모리 인터페이스 장치
KR100790168B1 (ko) 프로세싱 시스템에서 낸드플래시 메모리를 이용하여 부팅을수행하는 방법 및 장치
CN106980513A (zh) 一种双引导文件的切换方法及装置
US7345914B2 (en) Use of flash memory blocks outside of the main flash memory array
KR100685324B1 (ko) 듀얼포트 디램을 이용한 낸드 플래시 메모리의 임의 접근시스템 및 제어장치
CN103119573A (zh) Dma控制器以及数据读出装置

Legal Events

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

Payment date: 20121129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee