KR20150110100A - Method for fast booting and computting apparatus thereof - Google Patents
Method for fast booting and computting apparatus thereof Download PDFInfo
- Publication number
- KR20150110100A KR20150110100A KR1020140033983A KR20140033983A KR20150110100A KR 20150110100 A KR20150110100 A KR 20150110100A KR 1020140033983 A KR1020140033983 A KR 1020140033983A KR 20140033983 A KR20140033983 A KR 20140033983A KR 20150110100 A KR20150110100 A KR 20150110100A
- Authority
- KR
- South Korea
- Prior art keywords
- kernel
- data
- volatile memory
- nonvolatile memory
- area
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 고속부팅 방법 및 이를 위한 컴퓨팅 장치에 관한 것이다.The present invention relates to a fast boot method and a computing device therefor.
최근에 컴퓨터 등의 빠른 처리를 위해서 메모리에 대한 연구가 활발하게 진행되고 있다. 특히, 종래에 메인 메모리로 휘발성 메모리를 사용하였는데, 휘발성 메모리의 한계를 극복하기 위해 비휘발성 메모리의 연구가 활발하다.Recently, researches on memory have been actively conducted for fast processing of computers and the like. Particularly, although volatile memories have been used as main memories in the past, researches on nonvolatile memories have been actively conducted to overcome the limitations of volatile memories.
비휘발성 메모리는 전원의 차단에도 불구하고 데이터를 소실하지 않는 특성을 갖는 메모리이다. 이러한 비휘발성 메모리는 메모리 셀(memory cell)이 스스로 비휘발성을 띄고, 빠른 속도로 바이트 단위의 주소 접근이 가능하다.A non-volatile memory is a memory having characteristics that data is not lost in spite of interruption of power supply. Such a nonvolatile memory is a memory cell which is nonvolatile by itself, and can access addresses in bytes at a high speed.
현재의 시스템은 메인 메모리와 저장장치(스토리지)와 같은 2단계의 저장 시스템을 보유하고 있고, 시스템이 부팅할 때에는 커널과 이외의 기타 정보들을 저장장치로부터 메인 메모리로 읽어온 후, 여러 초기화 과정을 통해서 부팅이 완료된다. 따라서 부팅 시간은 최소 10초 이상의 시간을 필요로 하게 되므로 부팅 시간에 민감한 시스템에서는 되도록 부팅을 제한하고 있다. The current system has a two-level storage system such as main memory and storage (storage). When the system boots, it loads the kernel and other information from the storage device into the main memory, The booting is completed. Therefore, boot time is required to be at least 10 seconds, so boot-time-sensitive systems are restricted from booting as much as possible.
또한, 부팅 시간에 민감한 시스템은 항상 서비스를 제공해줘야 하므로 재부팅이 되도록 이루어지지 않는 것이 좋은 서버 시스템이 있고, 문자나 전화, 이외의 여러 정보를 전달받기 위하여 항상 대기 상태에 있어야 하는 스마트폰까지 현재 존재하는 모든 시스템이 부팅에는 민감한 상황이다.Also, there is a server system that is not to be rebooted because the system that is sensitive to boot time should always provide service, and there is a smart phone that should always be in standby mode in order to receive other information such as text, phone, All systems are sensitive to booting.
본 발명이 이루고자 하는 기술적인 과제는 비휘발성 메모리를 이용하여 시스템의 고속부팅을 위한 고속부팅 방법 및 이를 위한 컴퓨팅 장치에 관한 것이다.SUMMARY OF THE INVENTION The present invention is directed to a fast boot method for fast booting of a system using a nonvolatile memory and a computing device therefor.
본 발명의 제1실시예에 따른 고속부팅 방법은 제1비휘발성 메모리, 제2비휘발성 메모리, DRAM을 포함하는 컴퓨팅 장치에 있어서, 부팅 명령을 수신하는 단계, 고속부팅 수행이 가능하면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하는 단계, 상기 DRAM에 저장된 업데이트 데이터를 삭제하는 단계, 상기 제2비휘발성 메모리에 저장된 CPU 데이터와 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 단계를 포함한다. A fast boot method according to the first embodiment of the present invention is a computing device including a first nonvolatile memory, a second nonvolatile memory, and a DRAM, the method comprising: receiving a boot command; 2 restoring kernel data stored in a nonvolatile memory into a kernel area of the first nonvolatile memory, deleting update data stored in the DRAM, and transferring CPU data and device data stored in the second nonvolatile memory to a CPU And a device.
본 발명의 제2실시예에 따른 고속부팅 방법은 제1비휘발성 메모리, 제2비휘발성 메모리, DRAM을 포함하는 컴퓨팅 장치에 있어서, 부팅 명령을 수신하는 단계, 부팅 방식이 고속부팅이면, 콜드부팅이 기 수행 되었는지 확인하는 단계, 상기 콜드부팅이 기 수행 되었으면, CPU 데이터와 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었는지 확인하는 단계, 상기 CPU 데이터와 상기 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었으면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하는 단계, 상기 DRAM에 저장된 업데이트 데이터를 삭제하는 단계, 상기 제2비휘발성 메모리에 저장된 상기 CPU 데이터와 상기 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 단계를 포함한다.A fast boot method according to a second embodiment of the present invention is a computing device including a first nonvolatile memory, a second nonvolatile memory, and a DRAM, the method comprising the steps of: receiving a boot command; Determining whether read-only of the first nonvolatile memory has been performed, if the cold boot has been performed, checking whether the CPU and the device data are stored in the second nonvolatile memory, Data and the device data are stored in the second nonvolatile memory and when the read-only operation of the first nonvolatile memory is performed, the kernel data stored in the second nonvolatile memory is stored in the kernel area of the first nonvolatile memory , Deleting the update data stored in the DRAM, restoring the update data stored in the second nonvolatile memory And restoring the data and the device data to the CPU and the device, respectively.
본 발명의 제3실시예에 따른 고속부팅 방법은 제1비휘발성 메모리, 제2비휘발성 메모리, DRAM을 포함하는 컴퓨팅 장치에 있어서, 상기 제1비휘발성 메모리에 쓰기 명령을 수신하는 단계, 폴트 발생하는 단계, 상기 폴트 발생영역이 상기 커널영역이면, 상기 커널영역의 커널 원본데이터를 상기 제2비휘발성 메모리에 저장하는 단계, 상기 제1비휘발성 메모리의 커널 원본데이터 영역에 대한 읽기 전용화를 해제하는 단계, 상기 커널 원본데이터 영역에 쓰기를 수행하는 단계, 상기 폴트 발생영역이 상기 커널영역이 아니면, 상기 DRAM에 쓰기를 수행하는 단계를 포함한다. A fast boot method according to a third embodiment of the present invention is a computing device including a first non-volatile memory, a second non-volatile memory, and a DRAM, comprising: receiving a write command to the first non-volatile memory; Storing kernel source data of the kernel area in the second nonvolatile memory if the fault occurrence area is the kernel area; releasing read-only access to the kernel original data area of the first nonvolatile memory; Writing to the kernel original data area, and writing to the DRAM if the fault occurrence area is not the kernel area.
본 발명의 제1실시예에 따른 고속부팅을 위한 컴퓨팅 장치는 제1비휘발성 메모리, 제2비휘발성 메모리, DRAM, 부팅 명령을 수신하여, 고속부팅 수행이 가능하면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하고, 상기 DRAM에 저장된 업데이트 데이터를 삭제하고, 상기 제2비휘발성 메모리에 저장된 CPU 데이터와 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 것을 제어하는 제어모듈을 포함한다. The computing device for fast booting according to the first embodiment of the present invention receives a boot command from a first non-volatile memory, a second non-volatile memory, a DRAM, Volatile memory into the kernel area of the first nonvolatile memory, deletes the update data stored in the DRAM, and restores the CPU data and the device data stored in the second nonvolatile memory to the CPU and the device, respectively Lt; / RTI >
본 발명의 제2실시예에 따른 고속부팅을 위한 컴퓨팅 장치는 제1비휘발성 메모리, 제2비휘발성 메모리, DRAM, 부팅 명령을 수신하여, 부팅 방식이 고속부팅이면, 콜드부팅이 기 수행 되었는지 확인하고, 상기 콜드부팅이 기 수행 되었으면, CPU 데이터와 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었는지 확인하고, 상기 CPU 데이터와 상기 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었으면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하고, 상기 DRAM에 저장된 업데이트 데이터를 삭제하고, 상기 제2비휘발성 메모리에 저장된 상기 CPU 데이터와 상기 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 것을 제어하는 제어모듈을 포함한다. The computing device for fast booting according to the second embodiment of the present invention receives a boot command from a first non-volatile memory, a second non-volatile memory, a DRAM, and determines whether a cold boot has been performed Volatile memory, and when the cold boot has been performed, the CPU data and the device data are stored in the second nonvolatile memory, and it is confirmed whether the read-only operation of the first nonvolatile memory has been performed, Volatile memory and restoring the kernel data stored in the second nonvolatile memory into the kernel area of the first nonvolatile memory if the read-only operation of the first nonvolatile memory has been performed, And the CPU data and the device data stored in the second non- And a control module for controlling the restoration in a vice.
본 발명의 제3실시예에 따른 고속부팅을 위한 컴퓨팅 장치는 제1비휘발성 메모리, 제2비휘발성 메모리, DRAM, 상기 제1비휘발성 메모리에 쓰기 명령을 수신하고, 폴트가 발생하며, 상기 폴트 발생영역이 상기 커널영역이면, 상기 커널영역의 커널 원본데이터를 상기 제2비휘발성 메모리에 저장하고, 상기 제1비휘발성 메모리의 커널 원본데이터 영역에 대한 읽기 전용화를 해제하고, 상기 커널 원본데이터 영역에 쓰기를 수행하고, 상기 폴트 발생영역이 상기 커널영역이 아니면, 상기 DRAM에 쓰기를 수행하는 것을 제어하는 제어모듈을 포함한다. The computing device for fast booting according to the third embodiment of the present invention receives a write command to a first non-volatile memory, a second non-volatile memory, a DRAM, and the first non-volatile memory and generates a fault, Volatile memory of the first nonvolatile memory, the kernel original data of the kernel area is stored in the second nonvolatile memory if the occurrence area is the kernel area, the read-only operation of the kernel original data area of the first nonvolatile memory is released, And a control module that controls writing to the DRAM if the fault occurrence area is not the kernel area.
본 발명의 실시예에 따른 고속부팅 방법 및 이를 위한 컴퓨팅 장치에 의하면 다음과 같은 효과가 있다. The fast boot method according to the embodiment of the present invention and the computing apparatus therefor have the following effects.
첫째, 본 발명은 스마트폰과 같은 임베디드 시스템부터 PC, 그리고 서버 시장에까지 이 기술을 적용 가능하여, 사용자가 시스템을 사용하지 않을 때에 IDLE 상태로 두지 않고 시스템을 꺼둘 수 있기 때문에 에너지 절약할 수 있다. First, since the present invention can be applied to an embedded system such as a smart phone, a PC, and a server market, energy can be saved because a user can turn off the system without putting the system in the IDLE state when not using the system.
둘째, 본 발명은 부팅 시간이 길어서 꺼려지는 부팅작업을 고속부팅으로 인하여 자주 부팅할 수 있어, 시스템의 안정성을 높일 수 있다. Second, since the booting time is long, the booting operation can be booted frequently due to the high-speed boot, thereby improving the stability of the system.
도 1은 본 발명의 일 실시예에 따른 고속부팅 컴퓨팅 장치를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 콜드부팅 과정을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 콜드부팅 과정을 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 읽기 전용화 과정을 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 읽기 전용화 과정을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 커널영역에서 부팅 완료상태 유지방법을 도시한 블록도이다.
도 7은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 유저영역에서 부팅 완료상태 유지방법을 도시한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 부팅 완료 상태 유지방법을 도시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 도시한 블록도이다.
도 10은 본 발명의 제1실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 도시한 흐름도이다.
도 11은 본 발명의 제2실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 도시한 흐름도이다.1 illustrates a fast boot computing device in accordance with an embodiment of the present invention.
2 is a block diagram illustrating a cold boot process of a computing device according to an embodiment of the present invention.
3 is a flowchart illustrating a cold boot process of a computing device according to an embodiment of the present invention.
4 is a block diagram illustrating a read-only process of a computing device according to an embodiment of the present invention.
FIG. 5 is a flowchart illustrating a read-only process of a computing device according to an exemplary embodiment of the present invention.
6 is a block diagram illustrating a method of maintaining a booting completion state in a kernel area of a computing device according to an embodiment of the present invention.
7 is a block diagram illustrating a method of maintaining a booting completion state in a user area of a computing device according to an embodiment of the present invention.
8 is a flowchart illustrating a method of maintaining a booting completion state of a computing device according to an embodiment of the present invention.
9 is a block diagram illustrating a fast boot method of a computing device according to an embodiment of the present invention.
10 is a flowchart illustrating a fast boot method of a computing device according to the first embodiment of the present invention.
11 is a flowchart illustrating a fast boot method of a computing device according to a second embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. However, it is to be understood that the present invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. It is intended that the disclosure of the present invention be limited only by the terms of the appended claims.
또한, 본 발명에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 발명에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 이외의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 다른 정의가 없다면, 본 발명에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. In addition, the terms used in the present invention are intended to illustrate embodiments and are not intended to limit the present invention. In the present invention, the singular form includes plural forms unless otherwise specified in the specification. &Quot; comprises "and / or" comprising "used in the specification do not exclude the presence or addition of components other than the components mentioned. Unless defined otherwise, all terms (including technical and scientific terms) used herein are to be construed in a manner that is commonly understood by one of ordinary skill in the art to which this invention belongs.
이하, 본 발명을 보다 구체적으로 설명하기 위하여 본 발명에 따른 실시예들을 첨부 도면을 참조하면서 보다 상세하게 설명하고자 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 고속부팅 컴퓨팅 장치를 도시한 것이다. 1 illustrates a fast boot computing device in accordance with an embodiment of the present invention.
본 발명에서 고속부팅 컴퓨팅 장치는 컴퓨터, 휴대용 컴퓨터(Laptop), 핸드헬드 컴퓨터(Handheld computer), 태블릿(Tablet) 컴퓨터, 이동전화, 미디어 플레이어, PDA 등, 그리고 이러한 아이템 둘 이상의 결합을 포함하지만 이에 한정되지 않는 임의의 전자장치일 수 있다. 여기서, 고속부팅 컴퓨팅 장치는 전자장치의 한 예이고, 도 1에서 도시한 고속부팅 컴퓨팅 장치보다 많거나 적은 구성요소 또는 상이한 구성요소의 구성(Configuration)을 가질 수 있음을 인식하여야 한다. 도 1에 도시한 여러 구성요소는 하나 이상의 신호처리 및/또는 애플리케이션 전용 집적회로를 포함하여, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어 둘의 조합으로 구현될 수 있다.The fast boot computing device in the present invention includes but is not limited to a computer, a laptop computer, a handheld computer, a tablet computer, a mobile phone, a media player, a PDA, Lt; / RTI > It should be appreciated that the fast boot computing device is an example of an electronic device and may have more or fewer components or configurations of different components than the fast boot computing device shown in FIG. The various components shown in FIG. 1 may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.
도 1을 참조하면, 고속부팅 컴퓨팅 장치는 비휘발성 메모리인 제1비휘발성 메모리(10), 제2비휘발성 메모리(20)와 휘발성 메모리인 DRAM(30), 저장장치(60)를 포함한다.Referring to FIG. 1, the fast boot computing apparatus includes a first
제1비휘발성 메모리(10), 제2비휘발성 메모리(20), DRAM(30)는 중앙처리장치인 CPU(40)가 처리하는 적어도 하나 이상의 프로세스에 대한 컴퓨팅 연산 도중의 데이터, 결과 데이터를 저장하는 부분이다. 또한, 제1비휘발성 메모리(10), 제2비휘발성 메모리(20), DRAM(30)는 중앙처리장치가 프로세스에 대한 컴퓨팅 연산을 위해 저장장치(60)로부터 필요한 파일을 독출하여 임시로 저장하고, 프로세스에 대한 컴퓨팅 연산의 종료 등의 원인에 의해 저장장치(60)로 데이터가 옮겨지기 전까지 컴퓨팅 연산 도중의 데이터, 결과 데이터를 저장할 수 있다.The first
예를 들어, 비휘발성 메모리인 제1비휘발성 메모리(10), 제2비휘발성 메모리(20)는 비휘발성 램(Non-Volatile Random Access Memory, NVRAM)이 가능하고, 비휘발성 램은 스토리지 클래스 메모리(Storage Class Memory, SCM)일 수 있는데, 스토리지 클래스 메모리로 PCRAM(Phase Change RAM), MRAM(Magnetroresistive RAM), FeRAM(Ferroelectric RAM), STT-MRAM(Spin-Transfer Torque MRAM), FeRAM 등이 가능하고, 휘발성 메모리는 DRAM(30)(Dynamic Random Access Memory)이 가능한데, 본 발명에서는 휘발성 메모리로 DRAM(30)을 설명하나, 다른 실시예도 적용 가능함을 밝혀둔다.For example, the first
또한, 본 실시예에서는 비휘발성 메모리가 제1비휘발성 메모리(10)와 제2비휘발성 메모리(20)로 나누어진 경우이나, 다른 실시예로 비휘발성 메모리가 두 개로 나누어지지 않은 경우나, 비휘발성 메모리가 세 개 이상인 경우에도 본 발명은 적용 가능하다.In the present embodiment, the nonvolatile memory is divided into the first
제1비휘발성 메모리(10)는 메인 메모리 역할을 수행하고, 커널영역(11)과 유저영역(15)을 포함한다. The first
제2비휘발성 메모리(20)는 컴퓨팅 장치의 부팅 완료상태에서의 커널 원본 데이터를 저장하는 커널 원본 데이터 영역(21,22)을 포함한다.The second
DRAM(30)은 컴퓨팅 장치의 부팅 완료 이후에 유저영역(15)에 업데이트된 데이터인 유저 업데이트 데이터를 저장하는 유저 업데이트 데이터 영역(35)을 포함한다.The
즉, 컴퓨팅 장치(또는 제어모듈(70))는 커널영역(11)의 가상 메모리와 실제 물리 메모리가 1:1 매핑으로 이루어져 있기 때문에 커널의 실질 데이터는 항상 커널영역(11)에 있도록 한다. 따라서 컴퓨팅 장치는 부팅 이후의 유저영역(15)에 대한 업데이트인 유저 업데이트 데이터는 DRAM(30)의 유저 업데이트 데이터 영역(35)에 저장하고, 커널의 업데이트 데이터인 커널 업데이터 데이터는 커널영역(11)에 그대로 저장하며, 커널의 업데이트로 인해 사라질 부팅 완료 시의 커널 원본 데이터는 커널 원본 데이터 영역에 저장한다.That is, since the computing device (or the control module 70) has the 1: 1 mapping between the virtual memory of the
저장장치(60)는 임의의 데이터, 소프트웨어 등을 저장하는 부분으로, 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장장치(60), 플래시 메모리 장치와 같은 비휘발성 메모리, 또는 다른 비휘발성 반도체 메모리장치를 포함할 수 있다. The
일부 실시예에서, 저장장치(60)는 하나 이상의 중앙처리장치로부터 떨어져 위치하는 저장장치(60), 예를 들어 통신회로 또는 외부포트와 인터넷, 인트라넷, LAN(Local Area Network), WLAN(Wide LAN), SAN(Storage Area Network) 등이나 또는 이들의 적절한 조합과 같은 통신 네트워크를 통하여 액세스되는 네트워크 부착형(Attached) 저장장치(60)를 더 포함할 수 있다. In some embodiments, the
또한, 저장장치(60)는 제어모듈(70)을 포함할 수 있는데, 제어모듈(70)은 컴퓨팅 장치의 고속부팅, 콜드부팅 등을 제어한다. 실시예에 따라서 제어모듈(70)은 컴퓨팅 장치의 운영체제와 같은 역할을 수행한다.In addition, the
또한, 제어모듈(70)은 부팅 명령을 수신하여, 고속부팅 수행이 가능하면, 제2비휘발성 메모리(20)에 저장된 커널 데이터를 제1비휘발성 메모리(10)의 커널영역(11)에 복원하고, DRAM(30)에 저장된 업데이트 데이터를 삭제하고, 제2비휘발성 메모리(20)에 저장된 CPU 데이터와 디바이스 데이터를 각각 CPU(40)와 디바이스(50)로 복원하는 것을 제어한다.The
또한, 제어모듈(70)은 부팅 명령을 수신하여, 부팅 방식이 고속부팅이면, 콜드부팅이 기 수행 되었는지 확인하고, 콜드부팅이 기 수행 되었으면, CPU 데이터와 디바이스 데이터가 제2비휘발성 메모리(20)에 저장되고, 제1비휘발성 메모리(10)의 읽기 전용화가 수행되었는지 확인하고, CPU 데이터와 디바이스 데이터가 제2비휘발성 메모리(20)에 저장되고, 제1비휘발성 메모리(10)의 읽기 전용화가 수행되었으면, 제2비휘발성 메모리(20)에 저장된 커널 데이터를 제1비휘발성 메모리(10)의 커널영역(11)에 복원하고, DRAM(30)에 저장된 업데이트 데이터를 삭제하고, 제2비휘발성 메모리(20)에 저장된 CPU 데이터와 디바이스 데이터를 각각 CPU(40)와 디바이스(50)로 복원하는 것을 제어한다.The
또한, 제어모듈(70)은 제1비휘발성 메모리(10)에 쓰기 명령을 수신하고, 폴트가 발생하며, 폴트 발생영역이 커널영역(11)이면, 커널영역(11)의 커널 원본데이터를 제2비휘발성 메모리(20)에 저장하고, 제1비휘발성 메모리(10)의 커널 원본데이터 영역에 대한 읽기 전용화를 해제하고, 커널 원본데이터 영역에 쓰기를 수행하고, 폴트 발생영역이 커널영역(11)이 아니면, DRAM(30)에 쓰기를 수행하는 것을 제어한다.The
도 2는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 콜드부팅 과정을 도시한 블록도이고, 도 3은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 콜드부팅 과정을 도시한 흐름도이다. FIG. 2 is a block diagram illustrating a cold boot process of a computing device according to an embodiment of the present invention. FIG. 3 is a flowchart illustrating a cold boot process of a computing device according to an embodiment of the present invention.
도 2, 도 3을 참조하면, 컴퓨팅 장치는 시스템 부팅 명령을 수신한다(S310). Referring to FIGS. 2 and 3, the computing device receives a system boot command (S310).
컴퓨팅 장치는 메인 메모리가 제1비휘발성 메모리(10)인지 확인한다(S320).The computing device determines whether the main memory is the first nonvolatile memory 10 (S320).
컴퓨팅 장치는 메인 메모리가 제1비휘발성 메모리(10)이면, 저장장치(60)로부터 커널 이미지 파일(610)과 램디스크 파일(630)을 제1비휘발성 메모리(10)로 가져온다(S330). 여기서, 램디스크 파일(630)은 예를 들어, 컴퓨팅 장치와 같은 시스템이 부팅시 필요한 루트파일시스템을 이미지 형태로 만든 파일의 일 예로, 본 발명은 램디스크 파일(630) 이외에, 부팅시 필요한 루트파일시스템과 같은 기능을 수행하는 다른 파일도 가능하다. The computing device fetches the
여기서, 컴퓨팅 장치의 메인 메모리의 물리 시작 주소를 제1비휘발성 메모리(10)로 지정해 둔 경우에 컴퓨팅 장치는 저장장치(60)로부터 커널 이미지 파일(610)과 램디스크 파일(630)을 제1비휘발성 메모리(10)로 가져온다. 만약, 컴퓨팅 장치의 메인 메모리의 물리 시작 주소를 DRAM(30)으로 지정해 둔 경우에 컴퓨팅 장치는 저장장치(60)로부터 커널 이미지 파일(610)과 램디스크 파일(630)을 DRAM(30)으로 가져온다.In this case, when the physical start address of the main memory of the computing device is designated as the first
컴퓨팅 장치는 메인 메모리가 제1비휘발성 메모리(10)가 아니면, 단계 S320을 수행한다.If the main memory is not the first
컴퓨팅 장치는 커널 이미지 파일(610)과 램디스크 파일(630)의 압축을 해제하고, 커널의 초기화 과정을 완료한다(S340).The computing device decompresses the
도 2의 콜드부팅 과정의 목적은 컴퓨팅 장치인 시스템의 부팅을 위해 메인 메모리에 올려져야 할 데이터들을 제1비휘발성 메모리(10)에 올려두는 것이며, 이러한 데이터는 제1비휘발성 메모리(10)의 비휘발성 특성을 이용하여 보관하려는 것이다.The purpose of the cold boot process of FIG. 2 is to put the data to be loaded into the main memory for booting the system, which is a computing device, into the first
도 4는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 읽기 전용화 과정을 도시한 블록도이고, 도 5는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 읽기 전용화 과정을 도시한 흐름도이다.FIG. 4 is a block diagram illustrating a read-only process of a computing device according to an embodiment of the present invention, and FIG. 5 is a flowchart illustrating a read-only process of a computing device according to an embodiment of the present invention.
본 발명에서 읽기 전용화(Read-Only)는 MMU(Memory Management Unit, 이하 “MMU”라 한다.)가 사용하는 변환 테이블의 내용을 수정하는 것으로, 제1비휘발성 메모리(10)의 읽기 전용화란, 제1비휘발성 메모리(10) 전체 영역을 읽기 전용화한 것을 의미한다.In the present invention, the read-only mode is a mode of modifying the content of the conversion table used by the MMU (MMU), and the read-only operation of the first
도 4, 도 5를 참조하면, 컴퓨팅 장치는 제1비휘발성 메모리(10)의 읽기 전용화(Read-Only) 명령을 수신한다(S510).Referring to FIGS. 4 and 5, the computing device receives a read-only command of the first non-volatile memory 10 (S510).
컴퓨팅 장치는 CPU(40)의 CPU 데이터와 적어도 하나 이상의 디바이스(50)로부터 디바이스 데이터를 각각 제2비휘발성 메모리(20)의 CPU 데이터 영역(410)과 디바이스 데이터 영역(510)에 저장한다(S520). 이때, CPU 데이터와 디바이스 데이터는 컴퓨팅 장치의 전원이 꺼졌을 때 날아갈 수 있는 휘발성 데이터들이다. The computing device stores the CPU data of the
컴퓨팅 장치는 제1비휘발성 메모리(10)를 읽기 전용화로 변경한다(S530). 여기서, 제1비휘발성 메모리(10) 전체가 읽기 전용화된다.The computing device changes the first
이때, 본 발명은 실시예로 제1비휘발성 메모리(10)의 읽기 전용화를 위해서 MMU의 변환 테이블을 수정한다. MMU는 하드웨어적으로 동작하며, 변환 테이블은 메인 메모리 내에 존재한다.
At this time, the present invention modifies the conversion table of the MMU in order to make the first
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 커널영역(11)에서 부팅 완료상태 유지방법을 도시한 블록도이고, 도 7은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 유저영역(15)에서 부팅 완료상태 유지방법을 도시한 블록도이고, 도 8은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 부팅 완료 상태 유지방법을 도시한 흐름도이다.FIG. 6 is a block diagram illustrating a method of maintaining a booting completion state in a
여기서, 컴퓨팅 장치의 부팅 완료상태 유지방법은 부팅 이미지 유지방법으로 표현할 수 있으나, 그 개념은 동일함을 밝혀둔다.Here, the booting completion state maintenance method of the computing device can be expressed by the boot image maintenance method, but the concepts are the same.
도 6 ~ 도 8을 참조하면, 컴퓨팅 장치는 제1비휘발성 메모리(10)에 쓰기 명령을 수신한다(S810).Referring to FIGS. 6 to 8, the computing device receives a write command to the first nonvolatile memory 10 (S810).
컴퓨팅 장치는 쓰기 명령 수신 후, 폴트가 발생한다(S820). 이는 제1비휘발성 메모리(10)가 읽기 전용화되어 있기 때문이다.After receiving the write command, the computing device generates a fault (S820). This is because the first
컴퓨팅 장치는 폴트 발생영역이 커널영역(11)인지 확인한다(S830).The computing device determines whether the fault occurrence area is the kernel area 11 (S830).
컴퓨팅 장치는 폴트 발생영역이 커널영역(11)이면, 커널영역(11)의 커널 원본데이터 영역(110)에 있는 커널 원본데이터를 제2비휘발성 메모리(20)의 특정 영역(210)에 저장한다. The computing device stores the kernel original data in the kernel original data area 110 of the
컴퓨팅 장치는 제1비휘발성 메모리(10)의 커널 원본데이터 영역(110)에 대한 읽기 전용화를 해제한다. 즉, 커널 원본데이터 영역(110)은 읽기 전용화가 해제되어 데이터 쓰기가 가능하다.The computing device releases read-only access to the kernel original data area 110 of the first
컴퓨팅 장치는 커널 원본데이터 영역(110)에 쓰기를 수행한다(S860).The computing device writes to the kernel original data area 110 (S860).
컴퓨팅 장치는 폴트 발생영역이 커널영역(11)이 아니면, DRAM(30)의 쓰기 영역(310)에 쓰기를 수행한다(S870). If the fault occurrence area is not the
컴퓨팅 장치는 페이지 테이블을 수정한다(S880). 여기서 페이지 테이블은 가상 메모리에 존재한다.The computing device modifies the page table (S880). Here, the page table exists in the virtual memory.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 도시한 블록도이고, 도 10은 본 발명의 제1실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 도시한 흐름도이고, 도 11은 본 발명의 제2실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 도시한 흐름도이다.FIG. 9 is a block diagram illustrating a fast boot method of a computing device according to an embodiment of the present invention. FIG. 10 is a flowchart illustrating a fast boot method of a computing device according to the first embodiment of the present invention, Is a flowchart illustrating a fast boot method of a computing device according to a second embodiment of the present invention.
도 9, 도 10을 참조하여 본 발명의 제1실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 설명한다.9 and 10, a fast booting method of a computing apparatus according to the first embodiment of the present invention will be described.
컴퓨팅 장치는 부팅 명령을 수신한다(S1010).The computing device receives a boot command (S1010).
컴퓨팅 장치는 부팅 방식이 고속부팅인지 확인한다(S1020).The computing device determines whether the booting method is a fast boot (S1020).
컴퓨팅 장치는 부팅 방식이 고속부팅이면, 콜드부팅이 기 수행 되었는지 확인한다(S1030).If the boot method is a fast boot, the computing device checks whether a cold boot has been performed (S1030).
컴퓨팅 장치는 부팅 방식이 고속부팅이 아니면, 부팅 방식이 콜드부팅인지 확인한다(S1040). If the booting method is not the fast booting, the computing device checks whether the booting method is the cold booting (S1040).
컴퓨팅 장치는 콜드부팅이 기 수행 되었으면, CPU 데이터와 디바이스 데이터가 제2비휘발성 메모리(20)에 저장되고, 메인 메모리인 제1비휘발성 메모리(10)의 읽기 전용화가 수행되었는지 확인한다(S1060).When the cold boot has been performed, the computing device stores the CPU data and the device data in the second
컴퓨팅 장치는 콜드부팅이 기 수행 되지 않았으면, 콜드부팅을 수행한다(S1050). If the cold boot has not been performed, the computing device performs a cold boot (S1050).
또한, 컴퓨팅 장치는 부팅 방식이 콜드부팅인지 확인하여, 부팅 방식이 콜드부팅이면, 콜드부팅을 수행하고(S1050), 부팅 방식이 콜드부팅이 아니면, 단계 S1020을 수행한다.If the booting method is a cold boot, the computing device performs a cold boot (S1050). If the booting method is not a cold boot, the computing device performs step S1020.
컴퓨팅 장치는 CPU 데이터와 디바이스 데이터가 제2비휘발성 메모리(20)에 저장되지 않고, 메인 메모리인 제1비휘발성 메모리(10)의 읽기 전용화가 수행되지 않았으면, CPU 데이터와 디바이스 데이터와 제2비휘발성 메모리(20)에 저장하고, 메인 메모리인 제1비휘발성 메모리(10)의 읽기 전용화를 수행한다(S1070).If the CPU data and the device data are not stored in the second
컴퓨팅 장치는 CPU 데이터와 디바이스 데이터가 제2비휘발성 메모리(20)에 저장되고, 메인 메모리인 제1비휘발성 메모리(10)의 읽기 전용화가 수행되었으면, 제2비휘발성 메모리(20)의 특정 영역들(210, 220, 230, 240)에 저장된 커널 데이터를 제1비휘발성 메모리(10)의 커널영역(11)에 복원한다(S1080).
컴퓨팅 장치는 DRAM(30)에 저장된 업데이트 데이터를 삭제한다(S1090).The computing device deletes the update data stored in the DRAM 30 (S1090).
컴퓨팅 장치는 제2비휘발성 메모리(20)의 CPU 데이터 영역(410)에 저장된 CPU 데이터와 디바이스 데이터 영역(510)에 저장된 디바이스 데이터를 각각 CPU(40)와 디바이스(50)로 복원한다(S1100).The computing device restores the CPU data stored in the
도 9, 도 11을 참조하여 본 발명의 제2실시예에 따른 컴퓨팅 장치의 고속부팅 방법을 설명한다.9 and 11, a fast booting method of a computing device according to a second embodiment of the present invention will be described.
컴퓨팅 장치는 부팅 명령을 수신한다(S1110).The computing device receives a boot command (S1110).
컴퓨팅 장치는 고속부팅 수행이 가능한지 확인한다(S1120).The computing device checks whether a fast boot can be performed (S1120).
컴퓨팅 장치는 고속부팅 수행이 가능하면, 제2비휘발성 메모리(20)의 특정 영역들(210, 220, 230, 240)에 저장된 커널 데이터를 제1비휘발성 메모리(10)의 커널영역(11)에 복원한다(S1140).
컴퓨팅 장치는 고속부팅 수행이 가능하지 않으면, 콜드부팅을 수행한다(S1130).If the fast booting is not feasible, the computing device performs a cold boot (S1130).
컴퓨팅 장치는 DRAM(30)에 저장된 업데이트 데이터를 삭제한다(S1150).The computing device deletes the update data stored in the DRAM 30 (S1150).
컴퓨팅 장치는 제2비휘발성 메모리(20)의 CPU 데이터 영역(410)에 저장된 CPU 데이터와 디바이스 데이터 영역(510)에 저장된 디바이스 데이터를 각각 CPU(40)와 디바이스(50)로 복원한다(S1160).The computing device restores the CPU data stored in the
본 발명의 실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 기록매체에 기록될 수 있다. 컴퓨터 판독 가능 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램(프로그램 명령)은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic media), CDROM, DVD와 같은 광기록 매체(Optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(Magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination. The program (program instructions) to be recorded on the recording medium may be those specially designed and configured for the present invention or may be those known to those skilled in the computer software. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical media such as a CDROM and a DVD, magneto-optical media such as a floppy disk, Hardware devices that are specifically configured to store and execute program instructions such as magneto-optical media, ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명을 도면에 도시한 실시예를 참고하여 설명하였으나, 이는 발명을 설명하기 위한 것일 뿐이며, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면 발명의 상세한 설명으로부터 다양한 변형 또는 균등한 실시예가 가능하다는 것을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 권리범위는 특허청구범위의 기술적 사상에 의해 결정되어야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be appreciated that one embodiment is possible. Accordingly, the true scope of the present invention should be determined by the technical idea of the claims.
10: 제1비휘발성 메모리
11: 커널영역
15: 유저영역
20: 제2비휘발성 메모리
30: DRAM
40: CPU
50: 디바이스
60: 저장장치
70: 제어모듈10: first nonvolatile memory
11: kernel area
15: User area
20: second nonvolatile memory
30: DRAM
40: CPU
50: device
60: Storage device
70: Control module
Claims (16)
부팅 명령을 수신하는 단계,
고속부팅 수행이 가능하면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하는 단계,
상기 DRAM에 저장된 업데이트 데이터를 삭제하는 단계,
상기 제2비휘발성 메모리에 저장된 CPU 데이터와 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 단계를 포함하는 고속부팅 방법.A computing device comprising a first non-volatile memory, a second non-volatile memory, and a DRAM,
Receiving a boot command,
Restoring the kernel data stored in the second nonvolatile memory into the kernel area of the first nonvolatile memory if the fast boot execution is possible,
Deleting the update data stored in the DRAM,
And restoring the CPU data and the device data stored in the second nonvolatile memory to the CPU and the device, respectively.
상기 고속부팅 수행이 가능하지 않으면, 콜드부팅을 수행하는 단계를 더 포함하는 고속부팅 방법.The method according to claim 1,
And performing a cold boot if the fast boot execution is not possible.
상기 제1비휘발성 메모리에 쓰기 명령을 수신하는 단계,
폴트 발생하는 단계,
상기 폴트 발생영역이 상기 커널영역이면, 상기 커널영역의 커널 원본데이터를 상기 제2비휘발성 메모리에 저장하는 단계,
상기 제1비휘발성 메모리의 커널 원본데이터 영역에 대한 읽기 전용화를 해제하는 단계,
상기 커널 원본데이터 영역에 쓰기를 수행하는 단계를 더 포함하는 고속부팅 방법.The method according to claim 1,
Receiving a write command in the first non-volatile memory,
A step of generating a fault,
Storing the kernel original data in the kernel area in the second nonvolatile memory if the fault occurrence area is the kernel area,
Releasing read-only access to the kernel original data area of the first non-volatile memory,
And writing to the kernel source data area.
상기 폴트 발생영역이 상기 커널영역이 아니면, 상기 DRAM에 쓰기를 수행하는 단계를 더 포함하는 고속부팅 방법.The method of claim 3,
And writing to the DRAM if the fault occurrence area is not the kernel area.
상기 제1비휘발성 메모리의 상기 읽기 전용화 명령을 수신하는 단계,
상기 CPU 데이터와 상기 디바이스 데이터를 상기 제2비휘발성 메모리에 저장하는 단계,
상기 제1비휘발성 메모리를 읽기 전용화로 변경하는 단계를 더 포함하는 고속부팅 방법.5. The method of claim 4,
Receiving the read-only command of the first non-volatile memory,
Storing the CPU data and the device data in the second nonvolatile memory,
Further comprising changing the first non-volatile memory to read-only.
부팅 명령을 수신하는 단계,
부팅 방식이 고속부팅이면, 콜드부팅이 기 수행 되었는지 확인하는 단계,
상기 콜드부팅이 기 수행 되었으면, CPU 데이터와 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었는지 확인하는 단계,
상기 CPU 데이터와 상기 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었으면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하는 단계,
상기 DRAM에 저장된 업데이트 데이터를 삭제하는 단계,
상기 제2비휘발성 메모리에 저장된 상기 CPU 데이터와 상기 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 단계를 포함하는 고속부팅 방법.A computing device comprising a first non-volatile memory, a second non-volatile memory, and a DRAM,
Receiving a boot command,
If the booting method is the fast boot, checking whether or not the cold boot has been performed,
Determining whether read-only operation of the first nonvolatile memory has been performed, if the cold boot has been performed, checking whether CPU data and device data are stored in the second nonvolatile memory,
Volatile memory, wherein when the CPU data and the device data are stored in the second non-volatile memory and the read-only operation of the first non-volatile memory is performed, the kernel data stored in the second non- Restoring to the area,
Deleting the update data stored in the DRAM,
And restoring the CPU data and the device data stored in the second nonvolatile memory into a CPU and a device, respectively.
상기 부팅 방식이 상기 고속부팅이 아니면, 상기 부팅 방식이 상기 콜드부팅인지 확인하여 상기 부팅 방식이 상기 콜드부팅이면, 상기 콜드부팅을 수행하는 단계,
상기 콜드부팅이 기 수행 되지 않았으면, 상기 콜드부팅을 수행하는 단계를 더 포함하는 고속부팅 방법.The method according to claim 6,
Determining whether the booting method is the cold boot if the booting method is not the fast booting and performing the cold boot if the booting method is the cold booting;
And if the cold boot has not been performed, performing the cold boot.
상기 CPU 데이터와 상기 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되지 않고, 상기 제1비휘발성 메모리의 상기 읽기 전용화가 수행되지 않았으면, 상기 CPU 데이터와 상기 디바이스 데이터를 상기 제2비휘발성 메모리에 저장하고, 상기 제1비휘발성 메모리의 상기 읽기 전용화를 수행하는 단계를 더 포함하는 고속부팅 방법.8. The method of claim 7,
The CPU data and the device data are stored in the second nonvolatile memory if the CPU data and the device data are not stored in the second nonvolatile memory and the read- And performing the read-only operation of the first non-volatile memory.
상기 콜드부팅은,
메인 메모리가 상기 제1비휘발성 메모리이면, 저장장치로부터 커널 이미지 파일과 램디스크 파일을 상기 제1비휘발성 메모리로 가져오는 단계,
상기 커널 이미지 파일과 램디스크 파일의 압축을 해제하고, 커널의 초기화 과정을 완료하는 단계를 포함하는 고속부팅 방법.7. The method according to claim 2 or 6,
In the cold boot,
If the main memory is the first nonvolatile memory, bringing a kernel image file and a ramdisk file from the storage device into the first nonvolatile memory,
Decompressing the kernel image file and ramdisk file, and completing the kernel initialization process.
상기 제1비휘발성 메모리에 쓰기 명령을 수신하는 단계,
폴트 발생하는 단계,
상기 폴트 발생영역이 상기 커널영역이면, 상기 커널영역의 커널 원본데이터를 상기 제2비휘발성 메모리에 저장하는 단계,
상기 제1비휘발성 메모리의 커널 원본데이터 영역에 대한 읽기 전용화를 해제하는 단계,
상기 커널 원본데이터 영역에 쓰기를 수행하는 단계,
상기 폴트 발생영역이 상기 커널영역이 아니면, 상기 DRAM에 쓰기를 수행하는 단계를 포함하는 고속부팅 방법.A computing device comprising a first non-volatile memory, a second non-volatile memory, and a DRAM,
Receiving a write command in the first non-volatile memory,
A step of generating a fault,
Storing the kernel original data in the kernel area in the second nonvolatile memory if the fault occurrence area is the kernel area,
Releasing read-only access to the kernel original data area of the first non-volatile memory,
Writing to the kernel original data area,
And writing to the DRAM if the fault occurrence area is not the kernel area.
페이지 테이블을 수정하는 단계를 더 포함하는 고속부팅 방법.11. The method of claim 10,
Further comprising the step of modifying the page table.
상기 제1비휘발성 메모리가 메인 메모리인 고속부팅 방법.The method according to any one of claims 1, 6, and 10,
Wherein the first nonvolatile memory is a main memory.
제2비휘발성 메모리,
DRAM,
부팅 명령을 수신하여, 고속부팅 수행이 가능하면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하고, 상기 DRAM에 저장된 업데이트 데이터를 삭제하고, 상기 제2비휘발성 메모리에 저장된 CPU 데이터와 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 것을 제어하는 제어모듈을 포함하는 고속부팅을 위한 컴퓨팅 장치.A first non-volatile memory,
A second nonvolatile memory,
DRAM,
Volatile memory to the kernel area of the first nonvolatile memory and deletes the update data stored in the DRAM when the fast boot execution is possible, And a control module for controlling restoration of CPU data and device data stored in the non-volatile memory to the CPU and the device, respectively.
제2비휘발성 메모리,
DRAM,
부팅 명령을 수신하여, 부팅 방식이 고속부팅이면, 콜드부팅이 기 수행 되었는지 확인하고, 상기 콜드부팅이 기 수행 되었으면, CPU 데이터와 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었는지 확인하고, 상기 CPU 데이터와 상기 디바이스 데이터가 상기 제2비휘발성 메모리에 저장되고, 상기 제1비휘발성 메모리의 읽기 전용화가 수행되었으면, 상기 제2비휘발성 메모리에 저장된 커널 데이터를 상기 제1비휘발성 메모리의 커널영역에 복원하고, 상기 DRAM에 저장된 업데이트 데이터를 삭제하고, 상기 제2비휘발성 메모리에 저장된 상기 CPU 데이터와 상기 디바이스 데이터를 각각 CPU와 디바이스로 복원하는 것을 제어하는 제어모듈을 포함하는 고속부팅을 위한 컴퓨팅 장치.A first non-volatile memory,
A second nonvolatile memory,
DRAM,
Wherein the CPU determines whether a cold boot has been performed when the booting method is a fast boot if the booting method is a fast boot and stores CPU data and device data in the second nonvolatile memory when the cold booting has been performed, Volatile memory, and if the CPU data and the device data are stored in the second non-volatile memory and the read-only operation of the first non-volatile memory has been performed, Restoring the kernel data into the kernel area of the first nonvolatile memory, deleting the update data stored in the DRAM, and restoring the CPU data and the device data stored in the second nonvolatile memory into the CPU and the device, respectively And a control module for controlling the booting device.
제2비휘발성 메모리,
DRAM,
상기 제1비휘발성 메모리에 쓰기 명령을 수신하고, 폴트가 발생하며, 상기 폴트 발생영역이 상기 커널영역이면, 상기 커널영역의 커널 원본데이터를 상기 제2비휘발성 메모리에 저장하고, 상기 제1비휘발성 메모리의 커널 원본데이터 영역에 대한 읽기 전용화를 해제하고, 상기 커널 원본데이터 영역에 쓰기를 수행하고, 상기 폴트 발생영역이 상기 커널영역이 아니면, 상기 DRAM에 쓰기를 수행하는 것을 제어하는 제어모듈을 포함하는 고속부팅을 위한 컴퓨팅 장치.A first non-volatile memory,
A second nonvolatile memory,
DRAM,
Volatile memory, and when the fault occurrence area is the kernel area, storing the kernel original data of the kernel area in the second nonvolatile memory, A control module for controlling reading of the kernel original data area of the volatile memory, writing to the kernel original data area, and writing to the DRAM if the fault occurrence area is not the kernel area, Wherein the computing device is a computing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140033983A KR101566612B1 (en) | 2014-03-24 | 2014-03-24 | Method for fast booting and computting apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140033983A KR101566612B1 (en) | 2014-03-24 | 2014-03-24 | Method for fast booting and computting apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150110100A true KR20150110100A (en) | 2015-10-02 |
KR101566612B1 KR101566612B1 (en) | 2015-11-06 |
Family
ID=54341315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140033983A KR101566612B1 (en) | 2014-03-24 | 2014-03-24 | Method for fast booting and computting apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101566612B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11829315B2 (en) | 2020-12-16 | 2023-11-28 | Samsung Electronics Co., Ltd. | Electronic device including a structure in which an insertable device is insertable and method for operating the same |
US11892550B2 (en) | 2020-12-22 | 2024-02-06 | Samsung Electronics Co., Ltd. | Three-dimensional angle of arrival capability in electronic devices |
-
2014
- 2014-03-24 KR KR1020140033983A patent/KR101566612B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11829315B2 (en) | 2020-12-16 | 2023-11-28 | Samsung Electronics Co., Ltd. | Electronic device including a structure in which an insertable device is insertable and method for operating the same |
US11892550B2 (en) | 2020-12-22 | 2024-02-06 | Samsung Electronics Co., Ltd. | Three-dimensional angle of arrival capability in electronic devices |
Also Published As
Publication number | Publication date |
---|---|
KR101566612B1 (en) | 2015-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9141537B2 (en) | Magnetic random access memory journal | |
US8495628B2 (en) | Para-virtualization in a nested virtualization environment using reduced number of nested VM exits | |
US10817440B2 (en) | Storage device including reconfigurable logic and method of operating the storage device | |
US9886398B2 (en) | Implicit sharing in storage management | |
US10983913B2 (en) | Securing exclusive access to a copy of a metadata track via a process while the metadata track is held in a shared mode by another process | |
KR20160056380A (en) | Storage device and operating method of storage device | |
US10983702B2 (en) | Reducing data storage system I/O bandwidth via read-once point in time copy | |
US8683169B2 (en) | Selecting an auxiliary storage medium for writing data of real storage pages | |
CN105339909A (en) | Storage systems and aliased memory | |
CN105740413A (en) | File movement method by FUSE on Linux platform | |
KR101566612B1 (en) | Method for fast booting and computting apparatus thereof | |
US10339065B2 (en) | Optimizing memory mapping(s) associated with network nodes | |
US20150356108A1 (en) | Storage system and storage system control method | |
US20100017566A1 (en) | System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer | |
US20230129255A1 (en) | Reliability of computer memory with data movement and address re-mapping | |
US11586266B1 (en) | Persistent power enabled on-chip data processor | |
US8276041B2 (en) | Data integrity validation using hierarchical volume management | |
KR101430360B1 (en) | Method and terminal for version generating, version restoring process | |
JP2022184735A (en) | Program starting method and device, and storage medium | |
US9218407B1 (en) | Replication and intermediate read-write state for mediums | |
US20190324681A1 (en) | Storage device buffer in system memory space | |
US20190114249A1 (en) | Method of executing instructions of core, method of debugging core system, and core system | |
CN116578334B (en) | User online dynamic docking method and system based on configuration | |
US20100146236A1 (en) | System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command | |
US10910025B2 (en) | Flexible utilization of block storage in a computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right |