KR20070095136A - Programable apparatus and method for supporting booting - Google Patents

Programable apparatus and method for supporting booting Download PDF

Info

Publication number
KR20070095136A
KR20070095136A KR1020060025445A KR20060025445A KR20070095136A KR 20070095136 A KR20070095136 A KR 20070095136A KR 1020060025445 A KR1020060025445 A KR 1020060025445A KR 20060025445 A KR20060025445 A KR 20060025445A KR 20070095136 A KR20070095136 A KR 20070095136A
Authority
KR
South Korea
Prior art keywords
programmable
copying
booting
memory
information
Prior art date
Application number
KR1020060025445A
Other languages
Korean (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 KR1020060025445A priority Critical patent/KR20070095136A/en
Publication of KR20070095136A publication Critical patent/KR20070095136A/en

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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Abstract

A programmable booting support apparatus and a method thereof are provided to enable a memory like an existing NAND/AND flash memory which can not support booting in itself to be used as a storage device capable of booting, and easily deal with various types of memories conventionally used or a new type of memory. A programmable booting support apparatus comprises the followings: a control chip(480) which includes a CPU(Central Processing Unit)(460) for controlling and managing the system, a controller(450) for setting up a non-volatile memory, a bootable region, and a copy machine(420) for copying a code to the bootable region; and a programmable storage device(410,400,470) which includes information that the copy machine copies the code to the bootable region and information about controller setting and is positioned at the outside of the control chip.

Description

프로그램이 가능한 부팅 지원 장치 및 방법{Programable apparatus and method for supporting booting}Programmable apparatus and method for supporting booting

도 1은 외부 낸드 플래시에 저장된 코드의 이동경로를 나타낸 도면이다.1 is a diagram illustrating a movement path of a code stored in an external NAND flash.

도 2는 종래기술인 전용하드웨어를 사용하여 부팅 하는 방법에 관한 블럭 구성도이다.2 is a block diagram of a booting method using a conventional hardware.

도 3은 종래기술인 내장 롬 코드 영역을 사용하여 부팅 하는 방법에 관한 블럭 구성도이다.3 is a block diagram of a booting method using a built-in ROM code area according to the related art.

도 4는 본 발명의 바람직한 일 실시 예에 대한 블럭 구성도이다.4 is a block diagram of a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 일 실시 예에 대한 절차 흐름도이다.5 is a flowchart illustrating a preferred embodiment of the present invention.

본원 발명은 부팅(booting)을 하기 위한 명령어(code)를 별도의 비휘발성 메모리에 저장하는 장치에 관한 것으로서, 보다 구체적으로, 상기 메모리 영역 내에서 부팅 실행이 불가능한 경우에 부팅을 지원하는 장치에 관한 것이다.The present invention relates to a device for storing a command (code) for booting in a separate nonvolatile memory, and more particularly, to a device that supports booting when booting is impossible in the memory area. will be.

일반적으로 휴대용 임베디드(embedded) 시스템에서는 노어(NOR)나 낸드(NAND) 타입 메모리를 저장장치(storage drvice)로 주로 사용하고, 동기식 동적 램 (SDRAM: synchronous dynamic random access memory)을 주기억장치(main memory)로 사용한다. In general, in a portable embedded system, NOR or NAND type memory is mainly used as a storage device, and synchronous dynamic random access memory (SDRAM) is used as main memory. To be used.

도 1은 외부 낸드 플래시에 저장된 코드의 이동경로를 나타낸 도면이다. 이하, 도 1을 참고하여 상기 코드의 이동경로를 설명한다 1 is a diagram illustrating a movement path of a code stored in an external NAND flash. Hereinafter, the movement path of the code will be described with reference to FIG. 1.

도 1을 참고하면 외부 낸드 플래시(100)에 저장된 부트로더(boot loader)와 그밖에 시스템 운용시 필요한 명령어의 이동 경로를 알 수 있다. 상기 부트로더(boot loader)는 컴퓨터를 부팅 하거나 시동시킬 때 사용자가 컴퓨터를 사용할 수 있도록 외부 기억 장치로부터 운영 체계를 읽어와 주기억 장치에 설치해 주는 프로그램이다. 휴대용 시스템에서는 상기 부트로더가 노어나 낸드 플래시 메모리 같은 비휘발성 메모리에 저장된다. 상기 외부 낸드 플래시(100)는 PC의 하드디스크 역할을 하며, 초기부분에 상기 부트로더가 적재되고 나머지 부분에 각종 드라이버를 포함한 운영 시스템(OS: Operating System) 및 응용 프로그램(application program)이 적재된다. 노어 타입 플래시는 부팅 명령어(booting code)를 직접 수행할 수 있지만, 낸드 타입 플래시는 비순차적 접근(random access)이 불가능하기 때문에 부팅 명령어를 직접 수행할 수 없다. 따라서 정적 램(SRAM: Static Random Access Memory)(110)과 같이 직접 부팅 수행 가능 영역(booting region)으로 상기 부트로더를 복사하는 작업(S111)이 필요하다. Referring to FIG. 1, a boot loader stored in the external NAND flash 100 and other movement paths of commands required for operating the system may be known. The boot loader is a program that reads an operating system from an external storage device and installs it in a main memory device so that a user can use the computer when booting or starting up the computer. In a portable system, the boot loader is stored in a nonvolatile memory such as NOR or NAND flash memory. The external NAND flash 100 serves as a hard disk of a PC, and the boot loader is loaded at an initial part and an operating system (OS) and application programs including various drivers are loaded at the remaining part. . NOR-type flash can directly execute a booting command, but NAND-type flash cannot directly execute a booting command because no random access is possible. Accordingly, an operation (S111) of copying the boot loader to a direct bootable region, such as static random access memory (SRAM) 110, is required.

이러한 작업을 위해 두 가지 방법이 제안된다. 첫 번째는 전용하드웨어를 사용하는 방법이다. 상기 전용하드웨어는 낸드 플래시 제어기(controller)를 통해서 낸드 플래시에 존재하는 상기 부트로더를 상기 정적 램(SRAM) 영역으로 복사하는 역할을 한다. 두 번째는 칩 내의 롬 코드(ROM code)를 사용하는 방법이다. 상기 롬 코드는 상기 낸드 플래시에서 부팅 수행 가능 영역으로 상기 부트로더를 복사하는 역할을 한다. 첫 번째 방법은 퀄컴이 최근의 MSM칩에서 낸드 플래시를 지원하기 위해 적용되었으며, 두 번째 방법은 일종의 소프트웨어적인 방법으로 기존의 특별한 하드웨어 추가 없이 외부에 사용하던 롬(ROM)을 칩의 내부로 가져온 개념이다. Two methods are proposed for this task. The first is to use dedicated hardware. The dedicated hardware is responsible for copying the boot loader existing in the NAND flash to the static RAM (SRAM) area through a NAND flash controller. The second is to use ROM code in the chip. The ROM code copies the boot loader from the NAND flash to a bootable region. The first method was applied by Qualcomm to support NAND flash on the latest MSM chip, and the second method is a software method, which brought the internal ROM into the chip without adding special hardware. to be.

첨부된 도면을 통해서 상기 부팅 지원 방법을 살펴본다.The boot support method will be described with reference to the accompanying drawings.

첫 번째, 도 2를 참조하여 전용하드웨어를 사용한 낸드 플래시 부팅 지원 방법을 설명한다. 도 2는 종래기술인 전용하드웨어를 사용하여 부팅하는 방법에 관한 블럭 도면이다.First, a method of supporting NAND flash booting using dedicated hardware will be described with reference to FIG. 2. 2 is a block diagram of a booting method using a conventional hardware.

시스템이 전원투입 리셋(power-on reset)되면 중앙처리장치(240)의 리셋은 계속 유지된 채로, 칩(270)의 내부에 존재하는 상기 전용하드웨어(250)는 상기 낸드 플래시 제어기(210)를 세팅(seting)하고 상기 낸드/앤드 플래시(200)에 존재하는 부트로더 부분을 내부 정적 램(SRAM)(220)으로 복사한다. 상기 전용하드웨어(250)가 상기 복사를 한 후 상기 중앙처리장치(240)를 동작시킨다. 상기 중앙처리장치(240)는 상기 전용하드웨어(250)에 의해 복사된 내부 정적 램(SRAM)(220)으로 복사된 상기 부트로더를 수행한다. 상기 중앙처리장치(240)가 상기의 수행을 통해 낸드 플래시 제어기(210) 및 외부 버스 제어기(230)를 세팅하고 상기 낸드/앤드 플래시(200)에 존재하는 운영시스템 및 응용 프로그램을 주기억장치인 동기식 동적 램(SDRAM)(260)으로 복사한 다음 시스템을 운용한다.When the system is power-on reset, the reset of the central processing unit 240 is maintained, and the dedicated hardware 250 present in the chip 270 operates the NAND flash controller 210. Setting and copying the bootloader portion present in the NAND / AND flash 200 to an internal static RAM (SRAM) 220. The dedicated hardware 250 operates the central processing unit 240 after the copy. The CPU 240 performs the boot loader copied to the internal static RAM (SRAM) 220 copied by the dedicated hardware 250. The CPU 240 sets the NAND flash controller 210 and the external bus controller 230 through the above operation, and synchronizes the operating system and the application programs existing in the NAND / AND flash 200 as a main memory. Copy to dynamic RAM (SDRAM) 260 and then operate the system.

두 번째, 도 3을 참조하여 내부 롬 코드를 사용한 낸드 플래시 부팅 지원 방 법을 설명한다. 도 3은 종래기술인 내장된 롬 코드 영역을 사용하여 부팅 하는 방법에 관한 블럭 도면이다.Second, the NAND flash booting support method using the internal ROM code will be described with reference to FIG. 3. 3 is a block diagram of a method of booting using a conventional ROM code area.

시스템이 전원투입 리셋(power-on reset)되면 중앙처리장치(350)가 바로 동작해서 상기 내부 롬 코드 영역(310)의 코드를 바로 수행한다. 상기 롬 코드 영역(310)에 구현된 코드는 상기 플래시 메모리 제어기(320)를 세팅하고 상기 낸드/앤드 플래시(300)에 존재하는 부트로더를 내부 정적 램(SRAM)(330)으로 복사하는 작업을 하도록 한다. 즉, 첫 번째 방법에서 상기 전용하드웨어(250)의 역할을 상기 내부 롬 영역(310)에 프로그래밍해서 상기 중앙처리장치(350)가 상기 코드를 직접 복사하도록 하는 것이다. 상기 중앙처리장치(350)는 복사를 한 후에 상기 칩 내부의 정적 램(SRAM)(330)으로 접근하여 복사된 부트로더를 수행한다. 상기 중앙처리장치는 상기 부트로더의 수행을 통해 낸드 플래시 제어기(320) 및 외부 버스 제어기(340)를 세팅하고 상기 낸드/앤드 플래시(300)에 존재하는 운영시스템 및 응용 프로그램을 주기억장치인 동기식 동적 램(SDRAM)(360)으로 복사한 다음 시스템을 운용한다.When the system is powered on, the central processing unit 350 immediately operates to immediately execute the code of the internal ROM code area 310. The code implemented in the ROM code area 310 sets up the flash memory controller 320 and copies a boot loader existing in the NAND / AND flash 300 into an internal static RAM (SRAM) 330. Do it. That is, in the first method, the central hardware 350 directly copies the code by programming the role of the dedicated hardware 250 in the internal ROM region 310. After copying, the CPU 350 accesses the static RAM (SRAM) 330 inside the chip and performs a copied boot loader. The central processing unit sets the NAND flash controller 320 and the external bus controller 340 through execution of the boot loader, and synchronizes operating systems and applications present in the NAND / AND flash 300 as main memory. Copy to RAM (SDRAM) 360 and operate the system.

이상에서 설명한 종래기술은 지원하는 낸드/앤드 플래시 타입(I/O width, page size, access time)이 고정되어 사용할 수 있는 플래시 메모리가 제한되는 한계가 있다. 시스템에서 사용한 낸드/앤드 플래시 메모리 타입에 따라서 낸드 플래시 제어기를 세팅하는 코드가 달라져야 하는데, 종래기술에 의하면 낸드 플래시 제어기를 세팅하고 부트로더를 복사하는 부분이 하드웨어적으로 구현되거나 내부의 롬 코드로 고정이 된다. 그래서, 사용할 수 있는 플래시가 제한되는 단점이 있다. 즉, 사용할 수 있는 플래시가 제한될 경우 사용자가 사용할 수 있는 부품의 선정범위가 제한된다. 또한, 종래기술에 따르면 하드웨어나 롬 코드를 변경하는 복잡한 절차를 거치지 않는 이상 새로운 타입의 낸드 플래시가 상용화되는 경우에 대해 대응할 수 없다.The conventional technology described above has a limitation in that the NAND / AND flash type (I / O width, page size, and access time) to be supported is fixed and the flash memory that can be used is limited. According to the NAND / AND flash memory type used in the system, the code for setting the NAND flash controller should be different. According to the related art, the part for setting the NAND flash controller and copying the boot loader is hardware-implemented or fixed by internal ROM code. Becomes Thus, there is a disadvantage in that the flash that can be used is limited. In other words, when the flash that can be used is limited, the selection range of the parts that the user can use is limited. In addition, according to the prior art, it is not possible to cope with the case where a new type of NAND flash is commercialized without a complicated procedure of changing hardware or ROM code.

내부 롬 코드를 외부로 끌어내어 외부 롬을 사용하는 경우를 생각해본다. 예를들면, 내부 롬 코드를 외부로 끌어내어 외부 롬을 사용하는 경우에는 8-bit 또는 16-bit의 외부 부수적인(peripheral) 인터페이스를 소모해야 한다. 또한, 외부 병렬(parallel) 인터페이스를 갖는 롬의 경우에는 시그널 라인(signal line)수가 늘어나면 롬의 외부로 나가는 핀(pin)의 수가 증가하게 된다. 그래서, 롬 자체가 차지하는 면적 넓어지게 되고 상기 롬을 포함하는 장치의 부피도 커지게 되어 모바일 폰과 같은 소형화를 추구하는 시스템에 부담이 된다.Consider using an external ROM by pulling the internal ROM code to the outside. For example, using external ROM by drawing internal ROM code externally requires consuming 8-bit or 16-bit external peripheral interfaces. In addition, in the case of a ROM having an external parallel interface, as the number of signal lines increases, the number of pins going out of the ROM increases. Therefore, the area occupied by the ROM itself becomes wider and the volume of the device including the ROM becomes larger, which is a burden on a system for miniaturization such as a mobile phone.

본 발명은 상기와 같은 종래의 부팅 지원 방법과 비교하여 개선된 방법을 제공한다. 본 발명의 목적은 기존에 사용되던 다양한 타입의 메모리나 앞으로 나올 새로운 타입의 메모리에 대해서 쉽게 대응할 수 있는 프로그램이 가능한 부팅 지원 장치 및 방법을 제공하는 것이다.The present invention provides an improved method compared to the conventional boot support method as described above. SUMMARY OF THE INVENTION An object of the present invention is to provide a bootable bootable device and method that can easily cope with various types of memory or new types of memory.

상기 목적을 달성하기 위해서 본 발명에서 제시한 프로그램이 가능한 부팅 지원 장치는 부팅(booting)을 하기 위한 명령어(code)를 별도의 비휘발성 메모리에 저장하는 시스템에 있어서, 상기 시스템을 제어 관리하는 중앙처리장치(CPU: Central Processing Unit)와, 상기 비휘발성 메모리를 세팅하는 제어기와, 부팅 수행 가능한 영역(bootable region) 및 상기 명령어를 상기 영역으로 복사하는 복사 장치(copy machine)을 포함하는 제어 칩; 및 상기 복사장치가 상기 명령어를 상기 영역으로 복사하는 정보 및 상기 제어기를 세팅하는 정보를 포함하고, 상기 칩의 외부에 위치하는 프로그램 가능 저장장치를 포함하여 이루어진다.In order to achieve the above object, the programmable boot support apparatus according to the present invention is a system for storing a command code for booting in a separate nonvolatile memory, the central processing for controlling and controlling the system. A control chip including a Central Processing Unit (CPU), a controller for setting the nonvolatile memory, a bootable region, and a copy machine for copying the instructions to the region; And a programmable storage device, wherein the copying device includes information for copying the command to the area and information for setting the controller, and is located outside of the chip.

본 발명의 또 다른 양상인 프로그램이 가능한 부팅 지원 방법은 별도의 비휘발성 메모리에 저장된 부팅(booting)을 하기 위한 명령어(code)를 사용하고, 상기 명령어를 부팅 수행 가능한 영역(bootable region)으로 복사하는 복사 장치(copy machine)을 포함하는 제어 칩에 있어서, 상기 칩의 외부에 위치한 프로그램 가능 저장장치에 저장된 상기 비휘발성 메모리의 제어기를 세팅하는 것을 지시하는 세팅정보와, 상기 명령어를 상기 영역으로 복사하는 것을 지시하는 복사정보를 획득하는 단계와, 상기 획득한 세팅정보 및 복사정보를 처리하는 단계 및 상기 복사정보의 처리에 따라, 상기 부팅을 하기 위한 명령어를 상기 부팅 수행 가능한 영역으로 복사하는 단계를 포함하여 수행된다.In another aspect of the present invention, a programmable boot support method uses a code for booting stored in a separate nonvolatile memory, and copies the command to a bootable region. A control chip comprising a copy machine, the control chip comprising: setting information instructing to set a controller of the nonvolatile memory stored in a programmable storage device located outside of the chip, and copying the command to the area; Acquiring copy information indicating that the data is copied; processing the obtained setting information and copy information; and copying a command for booting to the bootable region according to the processing of the copy information. Is performed.

본 발명은 비순차적 접근(random location access)이 불가능하여 자체적으로 부팅 실행이 안 되는 메모리에 부트로더(boot loader)를 저장한 경우, 부팅이 가능하도록 하는 방법을 제공하기 위한 것이다. 나아가, 하드웨어를 수정할 필요가 없이 다양한 메모리 타입(data width, page size, and access timing)을 지원할 수 있다는 특징이 있다.The present invention provides a method for enabling booting when a boot loader is stored in a memory in which random location access is not possible and thus cannot be booted by itself. Furthermore, it can support various memory types (data width, page size, and access timing) without modifying the hardware.

본 발명의 다른 목적, 특징 및 개선된 점들은 첨부된 도면을 참조한 실시 예 의 상세한 설명을 통해 명백해질 것이다. 이하, 본 발명에 따른 부팅 지원 장치에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.Other objects, features and improvements of the present invention will become apparent from the detailed description of the embodiments with reference to the accompanying drawings. Hereinafter, a preferred embodiment of a boot support apparatus according to the present invention will be described with reference to the accompanying drawings.

도 4는 본 발명의 바람직한 일 실시 예에 따른 블럭 구성도이다. 이하, 도 4를 참조하여 상기 구성에 대해서 상세히 설명한다. 각 구성에 대한 설명은 본 발명의 일 실시 예에 대해서 구체적이고 한정적으로 설명된 것으로 각 구성은 이하 기술된 기능 이외의 기능도 수행할 수 있다.4 is a block diagram according to an embodiment of the present invention. Hereinafter, the configuration will be described in detail with reference to FIG. 4. Description of each component is specifically and limitedly described with respect to an embodiment of the present invention, each configuration may perform functions other than the functions described below.

상기 도 4의 장치는 낸드/앤드 플래시(400), 소거 및 프로그램 가능 읽기용 기억 장치(EPROM: erasable and programable read only memory)(410), 동기식 동적 램(SDRAM: synchronous dynamic random access memory)(470) 및 중앙처리장치(CPU: central processing unit)(460), 복사장치(copy machine)(420), 낸드 플래시 제어기(430), 정적 램(SRAM: static RAM)(440) 및 외부 버스(BUS) 제어기(450)를 포함하는 제어 칩(480)을 포함하여 이루어진다.The device of FIG. 4 includes NAND / AND flash 400, erasable and programmable read only memory (EPROM) 410, and synchronous dynamic random access memory (SDRAM) 470. ) And central processing unit (CPU) 460, copy machine 420, NAND flash controller 430, static RAM (SRAM) 440 and external bus (BUS) And a control chip 480 including a controller 450.

상기 낸드/앤드 플래시(400)는, 소비전력이 작고, 전원이 꺼지더라도 저장된 정보가 사라지지 않고 유지된다. 상기 낸드/앤드 플래시(400)에 부트로더, 운영 시스템 및 응용 프로그램이 적재된다. 상기 소거 및 프로그램 가능 읽기용 기억 장치(EPROM)(410)는, 전기적으로 정보를 기록할 수 있고 자외선을 비춤으로써 정보를 지울 수 있기 때문에 반복해서 여러 번 정보를 기록할 수 있다. 상기 소거 및 프로그램 가능 읽기용 기억 장치(EPROM)(410)에 상기 낸드 플래시 제어기(430)가 세팅되고, 상기 부트로더가 상기 낸드/앤드 플래시(400)에서 상기 칩(480)에 내장된 정적 램(SRAM)(440)으로 복사되는 코드가 저장된다. 따라서, 상기 낸드/앤드 플래시 (400)의 타입에 따라 사용자가 상기 소거 및 프로그램 가능 읽기용 기억 장치(EPROM)(410)에 저장된 코드를 수정할 수 있다. 이로써, 상기 낸드 플래시 제어기(430)의 세팅값이 변경될 수 있고 다양한 플래시 타입에 대해서 부팅이 가능하게 된다. 상기 동기식 동적 램(SDRAM)(470)은, 상기 중앙처리장치(CPU)(460)가 사용하는 주 클록을 직접 받아서 동작되는 기억장치이다. 상기 동기식 동적 램(SDRAM)(470)에서 상기 낸드/앤드 플래시(400)로부터 복사된 운영 시스템(OS) 및 응용 프로그램이 수행된다. 상기 중앙처리장치(CPU)(460)는, 프로그램의 명령을 해독하여 그에 따라 실행하는 장치이다. 상기 중앙처리장치(CPU)(460)는 상기 복사되어 정적 램(SRAM)에 저장된 부트로더를 수행하고, 상기 복사되어 동기식 동적 램(SDRAM)(470)에 저장된 운용 시스템(OS) 및 응용 프로그램을 수행한다. 상기 복사장치(420)는, 상기 소거 및 프로그램 가능 읽기용 기억 장치(EPROM)(410)에 저장된 코드를 해독하며, 상기 낸드 플래시 제어기(430)를 세팅하고 상기 낸드 플래시에 저장된 부트로더를 상기 정적 램(SRAM)(440)으로 복사하는 동작을 수행한다. 또한, 상기 부트로더가 상기 동기식 동적 램(SDRAM)(470)으로 복사가 되면 상기 중앙처리장치(CPU)(460)의 리셋(reset)을 해제하는 동작도 수행한다. 상기 낸드 플래시 제어기(430) 및 외부 버스 제어기(450)는, 낸드/앤드 플래시(400) 및 상기 칩(480) 외부에 연결된 장치에 대한 접근을 적절히 통제하는 동작을 수행한다. 상기 정적 램(SRAM)(440)은, 상기 칩(480)의 내부에 위치하고 부팅수행이 가능한 영역(bootable region)에 해당한다. 상기 정적 램(SRAM)(440)에서 낸드/앤드 플래시(400)로부터 복사된 부트로더가 수행된다.The NAND / end flash 400 has low power consumption and is stored without losing information even when the power is turned off. A boot loader, an operating system, and an application program are loaded in the NAND / AND flash 400. The erasable and programmable read memory device (EPROM) 410 can record information repeatedly, since it can electrically record information and erase information by shining ultraviolet light. The NAND flash controller 430 is set in the erasable and programmable read memory (EPROM) 410, and the boot loader is embedded in the chip 480 in the NAND / AND flash 400. Code copied to (SRAM) 440 is stored. Accordingly, the user may modify the code stored in the erasable and programmable read memory (EPROM) 410 according to the type of the NAND / AND flash 400. As a result, a setting value of the NAND flash controller 430 may be changed and booting may be performed for various flash types. The synchronous dynamic RAM (SDRAM) 470 is a memory device which operates by directly receiving a main clock used by the CPU 460. An operating system (OS) and an application program copied from the NAND / AND flash 400 are performed in the synchronous dynamic RAM (SDRAM) 470. The central processing unit (CPU) 460 is a device for decoding a command of a program and executing it accordingly. The central processing unit (CPU) 460 performs a boot loader that is copied and stored in a static RAM (SRAM), and stores an operating system (OS) and an application program that is copied and stored in the synchronous dynamic RAM (SDRAM) 470. Perform. The copying device 420 decrypts the code stored in the erasable and programmable read memory (EPROM) 410, sets the NAND flash controller 430, and sets the statically loaded boot loader in the NAND flash. Copying to the RAM 440 is performed. In addition, when the boot loader is copied to the synchronous dynamic RAM (SDRAM) 470, an operation of releasing the reset of the CPU 460 is performed. The NAND flash controller 430 and the external bus controller 450 perform an operation of properly controlling access to the NAND / AND flash 400 and a device connected to the outside of the chip 480. The static RAM (SRAM) 440 is located in the chip 480 and corresponds to a bootable region. The boot loader copied from the NAND / AND flash 400 in the static RAM (SRAM) 440 is performed.

직접 부팅 실행이 불가능한 낸드 플래시같은 저장장치에 상기 부트로더가 있는 경우, 본 발명에서 제안하는 부팅을 지원하는 장치는 직렬 인터페이스(serial interface)를 가지는 것이 바람직하다. 직렬 인터페이스는 모든 데이터가 같은 통신선을 따라 한 비트가 보내지고 그 다음의 한 비트가 보내지도록 된 인터페이스를 의미한다. 또한, 상기 직렬 인터페이스는 I2C(Inter Integrated Circuit) 인터페이스(490)인 것이 보다 바람직하다. 상기 I2C 인터페이스(490)는 필립스(Philips)사가 제안한 직렬 인터페이스를 말한다. 상기 I2C 인터페이스(490)는 여러 장치가 직접 제어할 수 있으며, I2C는 버스를 통하여 로칼(local) 또는 원격으로 시스템을 분석하는 기능을 제공한다. 시스템 분석 내용은 프로세서의 상태, FAN, 온도, UPS의 상태 등이며 이러한 상태를 감시하여 시스템 다운을 방지할 수 있다는 특징이 있다.In the case where the boot loader is located in a storage device such as NAND flash which cannot directly execute booting, the boot supporting device proposed in the present invention preferably has a serial interface. A serial interface is an interface in which all data is sent one bit along the same communication line and the next one. In addition, the serial interface is more preferably an Inter Integrated Circuit (I2C) interface 490. The I2C interface 490 refers to a serial interface proposed by Philips. The I2C interface 490 can be directly controlled by various devices, and I2C provides a function of analyzing a system locally or remotely through a bus. System analysis includes the status of the processor, FAN, temperature, and the status of the UPS, which can be monitored to prevent system down.

이상에서 본 발명의 일 실시 예의 구성에 대해 살펴보았다. The configuration of an embodiment of the present invention has been described above.

도 5는 본 발명의 방법의 바람직한 일 실시 예에 따른 절차 흐름도이다. 이하, 도 4 및 도 5를 참조하여 상기 절차에 대해서 상세히 설명한다. 상기 설명을 통해서 각 구성요소간의 연결관계를 알 수 있다. 이하 절차에 대한 설명은 본 발명의 일 실시 예에 대해서 구체적이고 한정적으로 설명된 것으로 본 발명은 상기 설명에 한정되지 않는다.5 is a process flow diagram according to one preferred embodiment of the method of the present invention. Hereinafter, the procedure will be described in detail with reference to FIGS. 4 and 5. Through the above description, it is possible to know a connection relationship between each component. The following description of the procedure is specifically and specifically described with respect to one embodiment of the present invention, the present invention is not limited to the above description.

시스템에 전원이 들어오면, 시스템이 전원투입 리셋(POR: power-on reset)된다(S500). 상기 전원투입 리셋은 전원투입 후에 상기 중앙처리장치(460)가 특정한 상태에서 동작을 시작하도록 하기 위해 리셋 신호가 인가되도록 하는 것을 의미한 다. 상기 전원투입 리셋되면 상기 중앙처리장치(460)의 리셋이 유지된다. 상기 S500의 동작이 수행되면, 상기 복사장치(420)가 소거 및 프로그램 가능 읽기용 기억 장치(EPROM)(410)에 저장된 코드를 해독한다(S510). 그리고, 상기 복사장치(420)는 상기 코드의 내용대로 수행한다. 상기 복사장치(420)가 상기 코드를 수행하면, 상기 낸드 플래시 제어기(430)가 세팅되고(S511), 상기 낸드/앤드 플래시(400)에 적재된 부트로더가 상기 정적 램(SRAM)(440)으로 복사된다(S512). 사용자는 상기 낸드/앤드 플래시(400)의 타입에 따라서 소거 및 프로그램 가능 읽기용 기억 장치(EPROM)(410)에 저장된 코드를 수정함으로써 상기 낸드 플래시 제어기(430)의 세팅 값을 변경할 수 있다. 따라서, 다양한 낸드/앤드 플래시 타입에 대해서 부팅이 가능하다. 상기 S511 및 상기 S512의 동작이 완료되면, 상기 복사장치(420)는 상기 중앙처리장치(460)에 유지되고 있는 리셋을 해제한다(S520). 상기 리셋이 해제된 중앙처리장치(460)는 상기 정적 램(SRAM)(440)에 복사된 부트로더를 수행한다(S530). 상기 S530의 동작이 완료되면, 상기 낸드 플래시 제어기(430)와 동기식 동적 램(SDRAM)(470)과 연결된 외부 버스 제어기(450)가 세팅된다(S531). 상기 S531의 동작이 완료되면, 상기 낸드/앤드 플래시(400)에 적재된 운영시스템 및 응용 프로그램이 상기 동기식 동적 램(SDRAM)(470)으로 복사된다(S532). 상기 S532의 동작이 완료되면, 상기 복사된 운영시스템 및 응용 프로그램이 수행된다(S540). 그 결과 상기 시스템이 운용된다(S550).When the system is powered on, the system is powered-on reset (POR) (S500). The power on reset means that a reset signal is applied to the CPU 460 to start operation in a specific state after power on. When the power supply is reset, the reset of the CPU 460 is maintained. When the operation of S500 is performed, the copying device 420 decrypts the code stored in the erasable and programmable read memory (EPROM) 410 (S510). Then, the copying apparatus 420 performs as described in the code. When the copying device 420 executes the code, the NAND flash controller 430 is set (S511), and the boot loader loaded on the NAND / AND flash 400 is the static RAM (SRAM) 440. Is copied (S512). A user may change a setting value of the NAND flash controller 430 by modifying a code stored in an erasable and programmable read memory device (EPROM) 410 according to the type of the NAND / AND flash 400. Therefore, booting is possible for various NAND / end flash types. When the operations of S511 and S512 are completed, the copying device 420 releases the reset held in the CPU 460 (S520). The CPU 460 in which the reset is canceled performs the boot loader copied to the static RAM 440 (S530). When the operation of S530 is completed, an external bus controller 450 connected to the NAND flash controller 430 and the synchronous dynamic RAM (SDRAM) 470 is set (S531). When the operation of S531 is completed, the operating system and the application program loaded on the NAND / AND flash 400 are copied to the synchronous dynamic RAM (SDRAM) 470 (S532). When the operation of S532 is completed, the copied operating system and application program are performed (S540). As a result, the system is operated (S550).

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상에 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발 명의 기술적 범위는 실시 예에 기재된 내용으로 한정하는 것이 아니라 특허청구범위에 의해서 정해져야 한다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

본 발명은 기존의 낸드/앤드 플래시같이 자체적으로 부팅을 지원하지 않는 메모리를 부팅이 가능한 저장장치로 사용 가능하게 하는 효과가 있다. The present invention has the effect of enabling a memory that does not support booting as a conventional NAND / AND flash as a bootable storage device.

외장된 저장장치 내의 정보를 수정함으로써, 기존에 사용되던 다양한 타입의 메모리나 앞으로 나올 새로운 타입의 메모리에 대해서 쉽게 대응할 수 있다는 효과가 있다.By modifying the information in the external storage device, it is possible to easily cope with various types of memory that are being used or new types of memory that will be introduced.

또한, 외장된 저장장치를 칩에 연결할 경우에 8-bit 또는 16-bit의 외부 부수적인(peripheral) 인터페이스를 하나 소모해야 하는데 직렬 인터페이스(serial interface)로 대체하여 차지하는 면적을 줄이는 효과가 있다.In addition, when an external storage device is connected to a chip, an external peripheral interface of 8-bit or 16-bit must be consumed, and the area occupied by replacing the serial interface is reduced.

나아가, 부팅영역이나 버스넓이(bus width)가 고정되어 있기 때문에 사용가능한 메모리의 유형이 제한되는 경우에도 외부 프로그램 가능한 저장장치에 기록된 내용을 변경함으로써, 다양한 메모리 타입에 대해서 대응할 수 있다.Furthermore, since the boot area or bus width is fixed, even if the type of available memory is limited, the contents recorded in the external programmable storage device can be changed to cope with various memory types.

따라서, 노어 플래시 같이 자체적으로 부팅이 되는 메모리에 비해서 가격의 면에서 저렴하고 저장할 수 있는 용량도 큰 낸드 타입의 플래시 메모리에 쉽게 메모리 세팅 코드를 변경할 수 있는 방법을 제시함으로써 그 활용을 넓히는 효과가 있게 된다.Therefore, it is effective to broaden its application by suggesting a method that can easily change the memory setting code in NAND type flash memory which is cheap in terms of cost and has a large storage capacity compared to the self-booting memory such as NOR Flash. do.

Claims (13)

부팅(booting)을 하기 위한 명령어(code)를 별도의 비휘발성 메모리에 저장하는 시스템에 있어서,In a system that stores a code for booting in a separate nonvolatile memory, 상기 시스템을 제어 관리하는 중앙처리장치(CPU: Central Processing Unit)와, 상기 비휘발성 메모리를 세팅하는 제어기와, 부팅 수행 가능한 영역(bootable region) 및 상기 명령어를 상기 영역으로 복사하는 복사 장치(copy machine)을 포함하는 제어 칩; 및A central processing unit (CPU) for controlling and controlling the system, a controller for setting the nonvolatile memory, a bootable region, and a copying machine for copying the command to the region. A control chip comprising a; And 상기 복사장치가 상기 명령어를 상기 영역으로 복사하는 정보 및 상기 제어기를 세팅하는 정보를 포함하고, 상기 칩의 외부에 위치하는 프로그램 가능 저장장치A programmable storage device external to the chip, the copy device including information for copying the command to the area and information for setting the controller 를 포함하는 프로그램이 가능한 부팅 지원 장치.Programmable boot support device including a. 제 1 항에 있어서,The method of claim 1, 상기 복사장치는, 상기 중앙처리장치의 리셋(reset)을 해제하는 동작을 수행하는 것을 특징으로 하는 프로그램이 가능한 부팅 지원 장치. And the copying apparatus is operable to release a reset of the CPU. 제 1 항에 있어서,The method of claim 1, 상기 명령어를 저장하는 비휘발성 메모리는, 낸드/앤드(NAND/AND) 플래시 메모리인 것을 특징으로 하는 프로그램이 가능한 부팅 지원 장치.And a nonvolatile memory storing the command is a NAND / AND flash memory. 제 1 항에 있어서,The method of claim 1, 상기 프로그램 가능 저장장치는, EPROM(erasable and programmable-read only memory)인 것을 특징으로 하는 프로그램이 가능한 부팅 지원 장치.The programmable storage device is a programmable boot support device, characterized in that the EPROM (erasable and programmable-read only memory). 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 4, 상기 제어 칩의 외부에 위치하는 프로그램 가능 저장장치가 직렬 인터페이스(serial interface)로 상기 복사 장치와 연결되는 것을 특징으로 하는 프로그램이 가능한 부팅 지원 장치.And a programmable storage device external to the control chip is connected to the copying device via a serial interface. 제 5 항에 있어서,The method of claim 5, 상기 직렬 인터페이스는, I2C(Inter Integrated Circuit) 인터페이스인 것을 특징으로 하는 프로그램이 가능한 부팅 지원 장치.The serial interface is a programmable boot support device, characterized in that the I2C (Inter Integrated Circuit) interface. 별도의 비휘발성 메모리에 저장된 부팅(booting)을 하기 위한 명령어(code)를 사용하고, 상기 명령어를 부팅 수행 가능한 영역(bootable region)으로 복사하는 복사 장치(copy machine)을 포함하는 제어 칩에 있어서,A control chip comprising a copying machine for copying the command to a bootable region using a code for booting stored in a separate nonvolatile memory, 상기 칩의 외부에 위치한 프로그램 가능 저장장치에 저장된 상기 비휘발성 메모리의 제어기를 세팅하는 것을 지시하는 세팅정보와, 상기 명령어를 상기 영역으로 복사하는 것을 지시하는 복사정보를 획득하는 단계;Obtaining setting information instructing to set a controller of the nonvolatile memory stored in a programmable storage device located outside of the chip, and copy information instructing to copy the command to the area; 상기 획득한 세팅정보 및 복사정보를 처리하는 단계; 및Processing the obtained setting information and copy information; And 상기 복사정보의 처리에 따라, 상기 부팅을 하기 위한 명령어를 상기 부팅 수행 가능한 영역으로 복사하는 단계Copying the command for booting to the bootable area according to the processing of the copy information; 를 포함하는 프로그램이 가능한 부팅 지원 방법.Programmable boot support method including a. 제 7 항에 있어서,The method of claim 7, wherein 상기 제어 칩에 전원이 인가되면, 중앙처리장치가 전원투입 리셋(POR: power-on reset)되는 단계를 더 포함하는 것을 특징으로 하는 프로그램이 가능한 부팅 지원 방법. And a power-on reset (POR) of the central processing unit when power is applied to the control chip. 제 8 항에 있어서,The method of claim 8, 상기 복사하는 단계 이후에, 상기 중앙처리장치의 리셋(reset)을 해제하는 단계를 더 포함하는 것을 특징으로 하는 프로그램이 가능한 부팅 지원 방법.And after the copying step, releasing the reset of the central processing unit. 제 7 항에 있어서,The method of claim 7, wherein 상기 명령어를 저장하는 상기 비휘발성 메모리는, 낸드/앤드(NAND/AND) 플래시 메모리인 것을 특징으로 하는 프로그램이 가능한 부팅 지원 방법.And the nonvolatile memory storing the command is a NAND / AND flash memory. 제 7 항에 있어서,The method of claim 7, wherein 상기 제어 칩의 외부에 위치한 프로그램 가능 저장장치는, EPROM(erasable and programmable-read only memory)인 것을 특징으로 하는 프로그램이 가능한 부팅 지원 방법.The programmable storage device located outside the control chip is an EPROM (erasable and programmable-read only memory). 제 7 항 내지 제 11 항 중 어느 한 항에 있어서,The method according to any one of claims 7 to 11, 상기 정보를 처리하는 단계는, 상기 정보를 직렬 인터페이스를 통하여 처리하는 단계인 것을 특징으로 하는 프로그램이 가능한 부팅 지원 방법.The processing of the information may include processing the information through a serial interface. 제 12 항에 있어서,The method of claim 12, 상기 직렬 인터페이스는, I2C(Inter Integrated Circuit) 인터페이스인 것을 특징으로 하는 프로그램이 가능한 부팅 지원 방법.The serial interface is a programmable boot support method, characterized in that the I2C (Inter Integrated Circuit) interface.
KR1020060025445A 2006-03-20 2006-03-20 Programable apparatus and method for supporting booting KR20070095136A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060025445A KR20070095136A (en) 2006-03-20 2006-03-20 Programable apparatus and method for supporting booting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060025445A KR20070095136A (en) 2006-03-20 2006-03-20 Programable apparatus and method for supporting booting

Publications (1)

Publication Number Publication Date
KR20070095136A true KR20070095136A (en) 2007-09-28

Family

ID=38688556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060025445A KR20070095136A (en) 2006-03-20 2006-03-20 Programable apparatus and method for supporting booting

Country Status (1)

Country Link
KR (1) KR20070095136A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158475B2 (en) 2009-05-22 2015-10-13 Samsung Electronics Co., Ltd. Memory apparatus and method therefor

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535357A (en) * 1993-03-15 1996-07-09 M-Systems Flash Disk Pioneers Ltd. Flash memory system providing both BIOS and user storage capability
WO2001052062A2 (en) * 2000-01-14 2001-07-19 Advanced Micro Devices, Inc. Computer system initialization via boot code stored in sequential access memory
JP2002278781A (en) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd Storage device, method for controlling storage device and program
KR20020089812A (en) * 2001-05-24 2002-11-30 주식회사 하이닉스반도체 Method for updating of flash memory in mobile communication system
KR20030014127A (en) * 2001-08-06 2003-02-15 엠-시스템스 플래쉬 디스크 파이오니어스 리미티드 Novel flash memory arrangement
KR20030074106A (en) * 2002-03-08 2003-09-19 삼성전자주식회사 System boot using nand flash memory and method thereof
KR20040055427A (en) * 2002-12-21 2004-06-26 한국전자통신연구원 Renewal method of operation setup and user interface of carrying information terminal
JP2005010942A (en) * 2003-06-17 2005-01-13 Matsushita Electric Ind Co Ltd Apparatus with sequential access memory device in which boot code is stored, and method for starting the same
KR20050028157A (en) * 2003-09-17 2005-03-22 삼성전자주식회사 Booting and boot code update method and system thereof
KR20050119569A (en) * 2004-06-16 2005-12-21 엘지전자 주식회사 Mobile communication terminal with dual operating system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535357A (en) * 1993-03-15 1996-07-09 M-Systems Flash Disk Pioneers Ltd. Flash memory system providing both BIOS and user storage capability
WO2001052062A2 (en) * 2000-01-14 2001-07-19 Advanced Micro Devices, Inc. Computer system initialization via boot code stored in sequential access memory
JP2002278781A (en) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd Storage device, method for controlling storage device and program
KR20020089812A (en) * 2001-05-24 2002-11-30 주식회사 하이닉스반도체 Method for updating of flash memory in mobile communication system
KR20030014127A (en) * 2001-08-06 2003-02-15 엠-시스템스 플래쉬 디스크 파이오니어스 리미티드 Novel flash memory arrangement
KR20030074106A (en) * 2002-03-08 2003-09-19 삼성전자주식회사 System boot using nand flash memory and method thereof
KR20040055427A (en) * 2002-12-21 2004-06-26 한국전자통신연구원 Renewal method of operation setup and user interface of carrying information terminal
JP2005010942A (en) * 2003-06-17 2005-01-13 Matsushita Electric Ind Co Ltd Apparatus with sequential access memory device in which boot code is stored, and method for starting the same
KR20050028157A (en) * 2003-09-17 2005-03-22 삼성전자주식회사 Booting and boot code update method and system thereof
KR20050119569A (en) * 2004-06-16 2005-12-21 엘지전자 주식회사 Mobile communication terminal with dual operating system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158475B2 (en) 2009-05-22 2015-10-13 Samsung Electronics Co., Ltd. Memory apparatus and method therefor

Similar Documents

Publication Publication Date Title
TWI361350B (en) Firmware rom patch method
TWI515660B (en) Firmware variable update method
JP5220747B2 (en) Nonvolatile storage device and nonvolatile storage system
US8484631B2 (en) Supporting hardware configuration changes in a UEFI firmware component
TWI710952B (en) Firmware update method and computer system
US20120191961A1 (en) Computer System and Operating System Switching Method Thereof
JP2007206885A (en) Computer system and system starting method
KR20080001268A (en) Portable device and method supporting multi operating system
TW201931111A (en) Memory device and associated boot code loading method of electronic device
CN104123153A (en) Apparatus and method for firmware upgrade using USB
JP2008287505A (en) Information processor and legacy emulation processing stop control method
KR100604877B1 (en) Apparatus and method for controlling memory address mapping in embedded system
CN105760191A (en) Embedded system equipment programming mass production method
CN110874237A (en) Software upgrading method, device, terminal and readable storage medium
KR20060122064A (en) Electronic device and booting method thereof
JP2015060411A (en) Firmware update method of information processor
TWI431530B (en) Embedded system and program updating method of the same
JP2005182812A (en) System and method for storing image file in computer system
CN110825421A (en) Firmware upgrading method and system and readable storage medium
KR20070095136A (en) Programable apparatus and method for supporting booting
JP6192089B2 (en) Information processing apparatus, control method and control program for information processing apparatus
KR20110078171A (en) Bootable volatile memory appratus, memory module having it, and processing system, and method for booting processing system using it
JP2007193505A (en) Device for integrating partition size variable firmware, and method for updating its firmware
JP2007148695A (en) Information processor and method of rewriting boot program
US20150317181A1 (en) Operating system switching method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application