KR20100039182A - Solid state disk, computing system including the same and operating method thereof - Google Patents

Solid state disk, computing system including the same and operating method thereof Download PDF

Info

Publication number
KR20100039182A
KR20100039182A KR1020080101098A KR20080101098A KR20100039182A KR 20100039182 A KR20100039182 A KR 20100039182A KR 1020080101098 A KR1020080101098 A KR 1020080101098A KR 20080101098 A KR20080101098 A KR 20080101098A KR 20100039182 A KR20100039182 A KR 20100039182A
Authority
KR
South Korea
Prior art keywords
boot image
storage device
memory
power
address
Prior art date
Application number
KR1020080101098A
Other languages
Korean (ko)
Other versions
KR101546072B1 (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 US12/585,935 priority Critical patent/US8327066B2/en
Publication of KR20100039182A publication Critical patent/KR20100039182A/en
Priority to US13/067,436 priority patent/US20110238900A1/en
Priority to US13/067,434 priority patent/US8904088B2/en
Priority to US14/508,393 priority patent/US9542199B2/en
Application granted granted Critical
Publication of KR101546072B1 publication Critical patent/KR101546072B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0692Multiconfiguration, e.g. local and global addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/0615Address space extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Abstract

PURPOSE: A semiconductor disk device, a computing system which includes the same, and an operation method thereof are provided to load a boot image in an operation memory during power on self test. CONSTITUTION: A storage unit(140) stores a boot image. A BIOS(Basic Input Output System) storage device(120) loads the boot image on an operation memory(130) of a computing system during power on self test. During power on operation, the storage device loads the boot image in the buffer memory of the storage device. During the power on self test, the boot image is transfer to the operation memory from the buffer memory of the storage device.

Description

반도체 디스크 장치, 그것을 포함하는 컴퓨팅 시스템, 그리고 그것의 동작 방법{SOLID STATE DISK, COMPUTING SYSTEM INCLUDING THE SAME AND OPERATING METHOD THEREOF}A semiconductor disk device, a computing system including the same, and a method of operating the same {SOLID STATE DISK, COMPUTING SYSTEM INCLUDING THE SAME AND OPERATING METHOD THEREOF}

본 발명은 컴퓨팅 시스템에 관한 것이다.The present invention relates to a computing system.

반도체 메모리 장치(semiconductor memory device)는 데이터를 저장해 두고 필요할 때 꺼내어 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile mmory device)로 구분된다.A semiconductor memory device is a memory device that stores data and can be read out when needed. Semiconductor memory devices are largely classified into volatile memory devices and nonvolatile memory devices.

휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM, DRAM, SDRAM 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터가 소멸하지 않는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등이 있다. 플래시 메모리 장치는 크게 노어 타입과 낸드 타입으로 구분된다.Volatile memory devices lose their stored data when their power supplies are interrupted. Volatile memory devices include SRAM, DRAM, SDRAM, and the like. Nonvolatile memory devices are memory devices that do not lose their stored data even when their power supplies are interrupted. Nonvolatile memory devices include ROM, PROM, EPROM, EEPROM, flash memory devices, PRAM, MRAM, RRAM, FRAM, and the like. Flash memory devices are roughly divided into NOR type and NAND type.

근래에, 반도체 메모리 장치를 이용한 반도체 디스크 장치가 개발되고 있다. 반도체 디스크 장치는 신뢰성 및 속도 측면에서 회전식 디스크를 이용하는 하드 디스크보다 우수하다. 따라서, 하드 디스크를 대신하여 반도체 디스크 장치를 저장 장치로 사용하는 컴퓨팅 시스템이 개발되고 있다.In recent years, semiconductor disk devices using semiconductor memory devices have been developed. Semiconductor disk devices are superior to hard disks using rotating disks in terms of reliability and speed. Accordingly, a computing system using a semiconductor disk device as a storage device in place of a hard disk has been developed.

본 발명의 목적은 향상된 부팅 속도를 갖는 컴퓨팅 시스템 및 반도체 디스크 장치를 제공하는 데에 있다.An object of the present invention is to provide a computing system and a semiconductor disk device having an improved boot speed.

본 발명의 실시 예에 따른 컴퓨팅 시스템은 부트 이미지를 저장하는 저장 장치; 그리고 파워-온 셀프 테스트 시에 상기 부트 이미지를 상기 컴퓨팅 시스템의 동작 메모리에 로딩하는 바이오스를 포함한다.A computing system according to an embodiment of the present invention includes a storage device for storing a boot image; And a BIOS that loads the boot image into the operating memory of the computing system during power-on self test.

실시 예로서, 파워-온 동작 시에, 상기 저장 장치는 상기 부트 이미지를 상기 저장 장치의 버퍼 메모리에 로딩한다. 상기 파워-온 셀프 테스트 시에, 상기 부트 이미지는 상기 저장 장치의 버퍼 메모리로부터 상기 동작 메모리로 전달된다.In an embodiment, during the power-on operation, the storage device loads the boot image into the buffer memory of the storage device. During the power-on self test, the boot image is transferred from the buffer memory of the storage device to the operating memory.

실시 예로서, 상기 저장 장치는 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 미리 설정된 영역에 저장한다. 상기 파워-온 셀프 테스트 시에, 상기 바이오스는 상기 어드레스를 읽고, 상기 어드레스를 이용하여 상기 부트 이미지를 상기 동작 메모리에 로딩한다.In an embodiment, the storage device stores an address corresponding to an area in which the boot image is stored in a preset area. In the power-on self test, the bios reads the address and uses the address to load the boot image into the operating memory.

실시 예로서, 파워-온 동작 시에, 상기 저장 장치는 상기 어드레스를 읽고, 상기 어드레스를 이용하여 상기 부트 이미지를 상기 저장 장치의 버퍼 메모리에 로 딩한다.In an embodiment, in a power-on operation, the storage device reads the address and loads the boot image into the storage device's buffer memory using the address.

실시 예로서, 상기 미리 설정된 영역에 저장되어 있는 어드레스가 상기 부트 이미지가 저장되어 있는 영역에 대응하지 않는 경우, 상기 바이오스는 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 검출하여 상기 미리 설정된 영역에 저장되어 있는 어드레스를 갱신한다. 상기 바이오스는 상기 포스트 동작 후에 상기 부트 이미지를 상기 동작 메모리에 로딩하는 동작을 수행함으로써, 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 검출한다.In an embodiment, when the address stored in the preset area does not correspond to the area in which the boot image is stored, the BIOS detects an address corresponding to the area in which the boot image is stored and the preset area. Update the address stored in. The BIOS detects an address corresponding to an area in which the boot image is stored by performing an operation of loading the boot image into the operation memory after the post operation.

실시 예로서, 상기 저장 장치는 반도체 디스크 장치이다.In an embodiment, the storage device is a semiconductor disk device.

실시 예로서, 상기 컴퓨팅 시스템은 적어도 하나의 주변 장치를 더 포함하고, 상기 파워-온 셀프 테스트 시에 상기 바이오스는 상기 저장 장치 및 상기 동작 메모리의 상기 파워-온 셀프 테스트를 수행하고, 상기 적어도 하나의 주변 장치에 상기 파워-온 셀프 테스트를 요청하고, 상기 부트 이미지를 상기 동작 메모리에 로딩한다. 상기 부트 이미지의 로딩이 완료되면 상기 바이오스는 상기 적어도 하나의 주변 장치로부터의 상기 파워-온 셀프 테스트의 응답에 따른 동작을 수행한다. 상기 부트 이미지의 로딩이 완료되면, 상기 바이오스는 상기 적어도 하나의 주변 장치 중 상기 저장 장치와 버스를 공유하는 장치에 상기 파워-온 셀프 테스트를 요청한다.In an embodiment, the computing system further includes at least one peripheral device, wherein the bios performs the power-on self-test of the storage device and the operating memory upon the power-on self-test, and the at least one Request the power-on self-test to a peripheral device of and load the boot image into the operating memory. When loading of the boot image is completed, the BIOS performs an operation according to a response of the power-on self test from the at least one peripheral device. When loading of the boot image is completed, the BIOS requests the power-on self test from a device sharing a bus with the storage device among the at least one peripheral device.

본 발명의 실시 예에 따른 반도체 디스크 장치는 버퍼 메모리; 부트 이미지를 저장하는 저장 장치; 그리고 상기 저장 장치를 제어하기 위한 컨트롤러를 포함하고, 파워-온 동작 시에, 상기 컨트롤러는 상기 부트 이미지를 상기 버퍼 메모리 에 로딩한다.In an embodiment, a semiconductor disk device may include a buffer memory; A storage device for storing a boot image; And a controller for controlling the storage device, wherein during the power-on operation, the controller loads the boot image into the buffer memory.

실시 예로서, 상기 저장 장치는 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 미리 설정된 영역에 저장한다. 상기 파워-온 시에, 상기 컨트롤러는 상기 어드레스를 상기 버퍼 메모리에 로딩한다. 상기 파워-온 시에, 상기 컨트롤러는 상기 어드레스를 이용하여 상기 부트 이미지를 상기 버퍼 메모리에 로딩한다.In an embodiment, the storage device stores an address corresponding to an area in which the boot image is stored in a preset area. At the power-on, the controller loads the address into the buffer memory. At the power-on, the controller loads the boot image into the buffer memory using the address.

본 발명의 실시 예에 따른 컴퓨팅 시스템의 동작 방법은 파워-온 셀프 테스트를 수행하되, 상기 파워-온 셀프 테스트 시에, 저장 장치에 저장되어 있는 데이터를 시스템 버스를 통해 전송한다.An operating method of a computing system according to an exemplary embodiment of the present invention performs a power-on self test, and transmits data stored in a storage device through a system bus during the power-on self test.

실시 예로서, 상기 데이터는 부트 이미지이고, 상기 부트 이미지는 상기 저장 장치로부터 상기 컴퓨팅 시스템의 동작 메모리로 전송된다.In example embodiments, the data is a boot image, and the boot image is transferred from the storage device to an operating memory of the computing system.

본 발명에 따르면, 파워-온 셀프 테스트 시에 부트 이미지가 동작 메모리에 로딩된다. 따라서, 컴퓨팅 시스템의 부팅 속도가 향상된다.According to the present invention, a boot image is loaded into the working memory upon power-on self test. Thus, the booting speed of the computing system is improved.

본 발명의 실시 예에 따른 컴퓨팅 시스템은 부트 이미지를 저장하는 저장 장치, 그리고 파워-온 셀프 테스트를 수행하며 파워-온 셀프 테스트 시에 부트 이미지를 컴퓨팅 시스템의 동작 메모리에 로딩하는 바이오스를 포함한다. 이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부 된 도면을 참조하여 설명하기로 한다.The computing system according to an embodiment of the present invention includes a storage device that stores a boot image, and a BIOS that performs a power-on self test and loads the boot image into the operating memory of the computing system during the power-on self test. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. .

도 1은 본 발명의 제 1 실시 예에 따른 컴퓨팅 시스템(100)을 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 제 1 실시 예에 따른 컴퓨팅 시스템(100)은 프로세서(110), 바이오스(BIOS, Basic Input Output System) 저장 장치(120), 메모리(130), 저장 장치(140), 그리고 시스템 버스(150)를 포함한다.1 is a block diagram illustrating a computing system 100 according to a first embodiment of the present invention. Referring to FIG. 1, the computing system 100 according to the first embodiment of the present invention may include a processor 110, a basic input output system (BIOS) storage device 120, a memory 130, and a storage device 140. And a system bus 150.

프로세서(110)는 시스템 버스(110)에 연결된다. 프로세서(110)는 시스템 버스(150)를 통해 전달되는 데이터에 대해 연산을 수행할 것이다. 프로세서(110)는 시스템 버스(150)를 통해 전달되는 커맨드를 수행할 것이다.The processor 110 is connected to the system bus 110. The processor 110 may perform an operation on data transferred through the system bus 150. The processor 110 may execute a command transmitted through the system bus 150.

바이오스 저장 장치(120)는 바이오스를 저장한다. 바이오스 저장 장치(120)는 시스템 버스(150)에 연결된다. 컴퓨팅 시스템에 전원이 공급되면, 바이오스는 컴퓨팅 시스템(100)을 초기화하고 부팅을 수행할 것이다. 바이오스가 수행하는 초기화 동작은 파워-온 셀프 테스트(POST, Power-On Self Test)를 포함할 것이다. 파워-온 셀프 테스트는 메모리(130), 저장 장치(140), 그래픽 디바이스(미도시) 등과 같은 컴퓨팅 시스템(100)의 구성 요소들을 초기화하고 이상 유무를 진단하는 동작이다.The bios storage device 120 stores the bios. The BIOS storage device 120 is connected to the system bus 150. When the computing system is powered on, the BIOS will initialize and boot up the computing system 100. Initialization operations performed by the BIOS will include a power-on self test (POST). The power-on self test is an operation of initializing the components of the computing system 100 such as the memory 130, the storage device 140, the graphics device (not shown), and diagnosing an abnormality.

예시적으로, 바이오스 저장 장치(120)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리 장치를 포함할 것이다. 예시적으로, 바이오스는 바이오스 저장 장치(120)로부터 메모리(130)에 로딩된 후에 동작할 것이다.In exemplary embodiments, the BIOS storage device 120 may include a nonvolatile memory device such as a ROM, a PROM, an EPROM, an EEPROM, a flash memory device, a PRAM, an MRAM, an RRAM, an FRAM, and the like. By way of example, the BIOS will operate after being loaded from the BIOS storage device 120 into the memory 130.

메모리(130)는 시스템 버스(150)에 연결된다. 메모리(130)는 컴퓨팅 시스템(100)의 동작 메모리일 것이다. 예시적으로, 메모리(130)는 SRAM, DRAM, SDRAM 등과 같은 휘발성 메모리 장치를 포함할 것이다.The memory 130 is connected to the system bus 150. Memory 130 may be an operating memory of computing system 100. In exemplary embodiments, the memory 130 may include a volatile memory device such as SRAM, DRAM, SDRAM, or the like.

저장 장치(140)는 시스템 버스(150)에 연결된다. 예시적으로, 저장 장치(140)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 프로토콜들을 이용하여 시스템 버스(150)와 데이터를 교환할 것이다.Storage device 140 is connected to system bus 150. In exemplary embodiments, the storage device 140 may use various protocols such as USB, MMC, PCI-E, Advanced Technology Attachment (ATA), Serial-ATA, Parallel-ATA, SCSI, ESDI, and Integrated Drive Electronics (IDE). Will exchange data with the system bus 150.

저장 장치(140)는 전원이 제거되어도 데이터를 유지하는 불휘발성 저장 장치일 것이다. 예시적으로, 저장 장치(140)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리 장치에 데이터를 저장하는 반도체 디스크 장치(SSD, Solid State Disk)일 것이다.The storage device 140 may be a nonvolatile storage device that retains data even when power is removed. In exemplary embodiments, the storage device 140 may include a solid state disk (SSD) that stores data in a nonvolatile memory device such as a ROM, a PROM, an EPROM, an EEPROM, a flash memory device, a PRAM, an MRAM, an RRAM, and an FRAM. would.

저장 장치(140)는 메모리들(141~145) 및 컨트롤러(149)를 포함한다. 메모리들(141~145)은 n 개의 채널들로 분할되며, 각각의 메모리는 컨트롤러(147)에 의해 독립적으로 제어될 것이다. 도 1에서, 각각의 채널은 하나의 메모리를 포함하는 것으로 도시되어 있다. 그러나, 각각의 채널은 하나의 메모리를 포함하는 것으로 한정되지 않는다. 예를 들면, 저장 장치(140)의 각각의 채널은 적어도 하나의 메모리를 포함할 것이다. 이하에서, 각각의 채널에 연결되어 있는 메모리들, 그리고 각각의 채널들은 동일한 참조 번호(141~145)로 인용될 것이다.The storage device 140 includes memories 141 to 145 and a controller 149. The memories 141-145 are divided into n channels, and each memory will be independently controlled by the controller 147. In FIG. 1, each channel is shown to contain one memory. However, each channel is not limited to including one memory. For example, each channel of storage device 140 will include at least one memory. In the following, memories connected to each channel, and each channel will be referred to by the same reference numerals (141 to 145).

도 1에서, 저장 장치(140)는 n 개의 채널(141~145)을 포함하는 것으로 도시되어 있다. 그러나, 저장 장치(140)는 n 개의 채널(141~145)을 포함하는 것으로 한정되지 않는다. 예를 들면, 저장 장치(140)는 적어도 하나의 채널을 포함할 것이다.In FIG. 1, the storage device 140 is shown to include n channels 141-145. However, the storage device 140 is not limited to include n channels 141 to 145. For example, storage device 140 may include at least one channel.

각각의 채널은 복수의 블록들을 포함한다. 각각의 채널의 블록들 중 0번 블록(BLK0)은 특정한 목적을 위해 할당될 것이다. 예시적으로, 채널들(141~145)의 0번 블록들(BLK0)은 저장 장치(140)를 동작시키기 위한 코드들을 저장하기 위해 할당될 것이다. 할당되었다는 것은 고유하게 사용된다는 것을 의미하며, 이하에서도 같은 의미로 사용될 것이다.Each channel includes a plurality of blocks. Block 0 of the blocks of each channel BLK0 will be allocated for a specific purpose. In exemplary embodiments, blocks 0 BLK0 of the channels 141 to 145 may be allocated to store codes for operating the storage device 140. Assigned means used uniquely and will be used in the same sense below.

저장 장치(140)는 부트 이미지(BI)를 저장할 것이다. 부트 이미지(BI)는 운영 체제(OS, Operating System)를 동작시키기 위해 요구되는 코드들을 포함할 것이다. 즉, 부트 이미지(BI)가 메모리(130)에 로딩되어 프로세서(110)에 의해 실행된 후에 운영 체제(OS)가 동작될 것이다. 도 1에서, 부트 이미지(BI)는 채널(143)에 저장되어 있는 것으로 도시되어 있다. 그러나, 부트 이미지(BI)가 저장되는 영역은 채널(143)로 한정되지 않음이 이해될 것이다.The storage device 140 will store the boot image BI. The boot image BI may include codes required for operating an operating system (OS). That is, after the boot image BI is loaded into the memory 130 and executed by the processor 110, the operating system OS will be operated. In FIG. 1, boot image BI is shown stored in channel 143. However, it will be appreciated that the area in which the boot image BI is stored is not limited to the channel 143.

부트 이미지(BI)가 저장되어 있는 영역에 대응하는 어드레스는 저장 장치(140)의 미리 설정된 영역에 저장될 것이다. 예시적으로, 채널들(141~145)의 0번 블록들(BLK0) 중 일부는 저장 장치(140)를 동작 시키기 위한 코드들을 저장하기 위해 할당되고, 채널들(141~145)의 0번 블록들(BLK0) 중 일부는 부트 이미지(BI)가 저장되어 있는 영역에 대응하는 어드레스를 저장하기 위해 할당될 것이다. 예시적으로, 저장 장치(140)의 메모리들(141~145)이 플래시 메모리 장치를 포함하는 경우, 채널들(141~145)의 0번 블록들(BLK0) 중 일부에 저장되는 어드레스는 부트 이미지(BI)가 저장되어 있는 영역에 대응하는 논리적 블록 어드레스(LBA, Logical Block Address)일 것이다.The address corresponding to the area where the boot image BI is stored may be stored in the preset area of the storage device 140. For example, some of the block 0 blocks BLK0 of the channels 141 to 145 may be allocated to store codes for operating the storage device 140 and block 0 of the channels 141 to 145. Some of these BLK0 will be allocated to store an address corresponding to the area where the boot image BI is stored. For example, when the memories 141 to 145 of the storage device 140 include a flash memory device, an address stored in some of the 0 blocks BLK0 of the channels 141 to 145 may be a boot image. It may be a logical block address (LBA) corresponding to an area in which (BI) is stored.

이하에서, 간결한 설명을 위하여, 부트 이미지(BI)가 저장되어 있는 영역에 대응하는 어드레스를 부트 이미지 어드레스(BIA)라 부르기로 한다. 그리고, 저장 장치(140)의 메모리들(141~145)은 플래시 메모리인 것으로 가정한다. 즉, 저장 장치(140)는 플래시 메모리를 포함하는 반도체 디스크 장치(SSD)인 것으로 가정한다. 이때, 부트 이미지 어드레스(BIA)는 부트 이미지(BI)가 저장되어 있는 영역에 대응하는 논리적 블록 어드레스(LBA)일 것이다.Hereinafter, for the sake of brevity, an address corresponding to an area in which the boot image BI is stored will be referred to as a boot image address BIA. In addition, it is assumed that the memories 141 to 145 of the storage device 140 are flash memories. That is, it is assumed that the storage device 140 is a semiconductor disk device (SSD) including a flash memory. In this case, the boot image address BIA may be a logical block address LBA corresponding to an area in which the boot image BI is stored.

그러나, 본 발명의 실시 예에 따른 저장 장치(140)의 메모리들(141~145)은 플래시 메모리로 한정되지 않음이 이해될 것이다. 또한 본 발명의 실시 예에 따른 저장 장치(140)는 플래시 메모리를 포함하는 반도체 디스크 장치인 것으로 한정되지 않음이 이해될 것이다. 예를 들면, 저장 장치(140)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등의 불휘발성 메모리 장치를 포함하는 반도체 디스크 장치일 수 있음이 이해될 것이다. However, it will be understood that the memories 141 to 145 of the storage device 140 according to the embodiment of the present invention are not limited to the flash memory. In addition, it will be understood that the storage device 140 according to the embodiment of the present invention is not limited to being a semiconductor disk device including a flash memory. For example, it will be appreciated that the storage device 140 may be a semiconductor disk device including a nonvolatile memory device such as a ROM, PROM, EPROM, EEPROM, flash memory device, PRAM, MRAM, RRAM, FRAM, and the like.

이하에서, 간결한 설명을 위하여, 채널들(141~145)의 0번 블록(BLK0)에 저장되어 있는 그리고 저장 장치(140)를 동작시키기 위한 코드들을 저장 장치 코드라 부르기로 한다.Hereinafter, for the sake of brevity, codes stored in the 0 block BLK0 of the channels 141 to 145 and for operating the storage device 140 will be referred to as storage device codes.

컨트롤러(147)는 버퍼 메모리(149)를 포함한다. 예시적으로, 버퍼 메모리(149)는 두 개의 영역으로 분할될 것이다. 예시적으로, 버퍼 메모리(149)의 제 1 영역은 코드 메모리일 것이다. 즉, 버퍼 메모리(149)의 제 1 영역은 저장 장치 코드를 저장 및 동작시키기 위해 할당될 것이다. 예시적으로, 버퍼 메모리(149) 의 제 2 영역은 데이터 메모리일 것이다. 즉, 버퍼 메모리(149)의 제 2 영역은 저장 장치(140) 및 시스템 버스(150) 사이에서 교환되는 데이터를 저장하기 위해 할당될 것이다.The controller 147 includes a buffer memory 149. In exemplary embodiments, the buffer memory 149 may be divided into two regions. In an exemplary embodiment, the first area of the buffer memory 149 may be a code memory. That is, the first area of buffer memory 149 will be allocated for storing and operating storage code. In exemplary embodiments, the second area of the buffer memory 149 may be a data memory. That is, the second area of the buffer memory 149 will be allocated to store data exchanged between the storage device 140 and the system bus 150.

예시적으로, 버퍼 메모리(149)의 제 1 영역 및 제 2 영역의 속도는 상이할 것이다. 예를 들면, 버퍼 메모리(149)의 제 1 영역의 동작 속도는 제 2 영역의 동작 속도보다 빠를 것이다. 예시적으로, 버퍼 메모리(149)의 제 1 영역은 SRAM으로 구성될 것이고, 버퍼 메모리(149)의 제 2 영역은 DRAM 또는 SDRAM으로 구성될 것이다.In exemplary embodiments, the speeds of the first area and the second area of the buffer memory 149 may be different. For example, the operating speed of the first region of the buffer memory 149 may be faster than the operating speed of the second region. In exemplary embodiments, the first area of the buffer memory 149 may be configured as an SRAM, and the second area of the buffer memory 149 may be configured as a DRAM or an SDRAM.

도 2는 도 1의 컴퓨팅 시스템(100)의 동작을 설명하기 위한 순서도이다. 도 2에서, 좌측에 배치된 순서도는 프로세서(110), 바이오스 저장 장치(120), 그리고 메모리(130)의 동작을 나타낸다. 즉, S110~S170으로 구성되는 순서도는 프로세서(110), 바이오스 저장 장치(120), 그리고 메모리(130)의 동작을 나타낸다. 도 2에서, 우측에 배치된 순서도는 저장 장치(140)의 동작을 나타낸다. 즉, S210~S250으로 구성되는 순서도는 저장 장치(140)의 동작을 나타낸다. 따라서, S110~S170 및 S210~S250으로 구성되는 순서도는 컴퓨팅 시스템(100)의 동작을 나타낼 것이다.2 is a flowchart for describing an operation of the computing system 100 of FIG. 1. In FIG. 2, a flowchart disposed on the left side illustrates the operation of the processor 110, the BIOS storage device 120, and the memory 130. That is, the flowchart consisting of S110 to S170 indicates the operation of the processor 110, the BIOS storage device 120, and the memory 130. In FIG. 2, the flowchart disposed on the right side shows the operation of the storage device 140. That is, the flowchart consisting of S210 to S250 represents the operation of the storage device 140. Thus, a flowchart comprised of S110-S170 and S210-S250 will represent the operation of the computing system 100.

도 3 내지 5는 도 2에 도시되어 있는 프로세스가 도 1의 컴퓨팅 시스템(100)에서 수행되는 형태를 설명하기 위한 블록도이다. 도 3 내지 5에서, 점선은 데이터의 이동을 나타낸다.3 to 5 are block diagrams for describing a form in which the process illustrated in FIG. 2 is performed in the computing system 100 of FIG. 1. 3 to 5, dotted lines represent the movement of data.

도 2를 참조하면, S110 및 S210 단계에서, 컴퓨팅 시스템(100)에 전원이 공 급된다. 프로세서(110), 바이오스 저장 장치(120), 메모리(130), 그리고 저장 장치(140) 모두에 전원이 공급될 것이다.2, in operation S110 and S210, power is supplied to the computing system 100. Power will be supplied to the processor 110, the bios storage 120, the memory 130, and the storage 140.

도 2 및 3을 참조하면, S120 및 S220 단계에서, 바이오스 저장 장치(120)에 저장되어 있는 바이오스가 메모리(130)에 로딩된다. 그리고, 저장 장치(140)의 메모리들(141~145)의 0번 블록들(BLK0)에 저장되어 있는 데이터가 컨트롤러(147)의 버퍼 메모리(149)에 로딩된다. 예시적으로, 메모리들(141, 143)의 0번 블록들(BLK0)로부터 저장 장치 코드가 로딩되고, 메모리(145)의 0번 블록(BLK0)으로부터 부트 이미지 어드레스(BIA)가 로딩될 것이다. 예시적으로, 저장 장치 코드 및 부트 이미지 어드레스(BIA)는 버퍼 메모리(149)의 제 1 영역, 즉 코드 메모리에 로딩될 것이다.2 and 3, in steps S120 and S220, a bios stored in the bios storage device 120 is loaded into the memory 130. Data stored in the 0 blocks BLK0 of the memories 141 to 145 of the storage device 140 is loaded into the buffer memory 149 of the controller 147. In exemplary embodiments, the storage device code may be loaded from the block 0 blocks BLK0 of the memories 141 and 143, and the boot image address BIA may be loaded from the block 0 block BLK0 of the memory 145. In exemplary embodiments, the storage device code and the boot image address BIA may be loaded into a first area of the buffer memory 149, that is, the code memory.

도 2 및 4를 참조하면, S230 단계에서, 메모리(143)에 저장되어 있는 부트 이미지(BI)가 버퍼 메모리(149)에 로딩된다. 예시적으로, 부트 이미지(BI)는 버퍼 메모리(149)의 제 2 영역, 즉 데이터 메모리에 로딩될 것이다.2 and 4, in operation S230, the boot image BI stored in the memory 143 is loaded into the buffer memory 149. In exemplary embodiments, the boot image BI may be loaded into the second area of the buffer memory 149, that is, the data memory.

부트 이미지(BI)의 로딩은 저장 장치(140)의 펌웨어(firmware)에 의해 수행될 것이다. 예시적으로, S220 단계에서 버퍼 메모리(149)에 로딩된 저장 장치 코드가 저장 장치(140)의 펌웨어 기능을 수행할 것이다. 즉, S220 단계에서 저장 장치 코드 및 부트 이미지 어드레스(BIA)가 버퍼 메모리에 로딩될 것이다. S230 단계에서, 저장 장치 코드들은 부트 이미지 어드레스(BIA)를 이용하여 부트 이미지(BI)를 버퍼 메모리(149)에 로딩할 것이다.Loading of the boot image BI may be performed by firmware of the storage device 140. In exemplary embodiments, the storage device code loaded in the buffer memory 149 may perform a firmware function of the storage device 140 in operation S220. That is, in operation S220, the storage device code and the boot image address BIA may be loaded into the buffer memory. In operation S230, the storage device codes may load the boot image BI into the buffer memory 149 using the boot image address BIA.

S120 단계는 S110 단계의 파워-온에 수반되는 동작이고, S220 및 S230 단계 는 S210 단계의 파워-온에 수반되는 동작이다. 즉, S120 단계, S220 단계, 그리고 S230 단계는 이 분야에 숙련된 자들에게 잘 알려져 있는 파워-온 리셋(power-on reset) 동작 또는 파워-온 읽기(power-on read) 동작과 같이, 전원이 공급됨에 따라 수행되는 동작들이다. 도 2에서, S110 단계 및 S120 단계가 분리되어 있고, S210 단계와 S220 및 S230 단계가 분리되어 있는 것으로 도시되어 있지만, S110, S120, S210~S230 단계가 파워-온 동작을 구성함이 이해될 것이다. 즉, 파워-온 동작 시에 바이오스 저장 장치(120)로부터 메모리(130)에 바이오스가 로딩된다. 그리고, 파워-온 동작 시에 메모리들(141~145)로부터 버퍼 메모리(149)에 저장 장치 코드 및 부트 이미지 어드레스(BIA)가 로딩되고, 메모리들(141~145)로부터 버퍼 메모리(149)에 부트 이미지(BI)가 로딩된다.Step S120 is an operation accompanying power-on of step S110, and steps S220 and S230 are operations accompanying power-on of step S210. That is, steps S120, S220, and S230 may be powered up, such as a power-on reset operation or a power-on read operation, which is well known to those skilled in the art. Operations performed as supplied. In FIG. 2, steps S110 and S120 are separated, and steps S210 and S220 and S230 are shown to be separated, but it will be understood that steps S110, S120, and S210 to S230 constitute a power-on operation. . That is, the BIOS is loaded from the BIOS storage device 120 into the memory 130 during the power-on operation. In the power-on operation, the storage device code and the boot image address BIA are loaded from the memories 141 to 145 into the buffer memory 149, and from the memories 141 to 145 to the buffer memory 149. The boot image BI is loaded.

다시 도 2를 참조하면, S140 단계에서, 파워-온 셀프 테스트(Power-On Self Test, 이하 POST라 칭함)가 시작된다. POST는 바이오스에 의해 제어될 것이다. POST 시에, 바이오스는 메모리(130), 저장 장치(140), 그래픽 디바이스(미도시) 등과 같이 컴퓨팅 시스템(100)을 구성하는 구성 요소들을 초기화하고, 이상 유무를 진단할 것이다.Referring back to FIG. 2, in step S140, a power-on self test (hereinafter, referred to as POST) is started. POST will be controlled by the BIOS. At POST, the BIOS initializes the components constituting the computing system 100, such as the memory 130, the storage device 140, the graphics device (not shown), and diagnoses whether there is an abnormality.

도 2 및 5를 참조하면, 메모리(130) 및 저장 장치(140)의 초기화가 완료되면, 메모리(130) 및 저장 장치(140)는 동작 가능한 상태가 된다. 메모리(130) 및 저장 장치(140)가 동작 가능한 상태가 되면, 바이오스는 저장 장치(140)에 부트 이미지(BI)를 요청한다. 저장 장치(140)는 부트 이미지(BI)를 전송하고, 전송된 부트 이미지(BI)는 시스템 버스(150)를 통해 메모리(130)에 로딩된 다. 부트 이미지(BI)가 저장 장치(140)로부터 메모리(130)에 로딩되는 동안, 바이오스는 메모리(130) 및 저장 장치(140) 이외의 다른 구성 요소들이 POST를 수행하도록 요청한다. 즉, 메모리(130) 및 저장 장치(140) 이외의 다른 구성 요소들에 대해 POST가 수행되는 동안 부트 이미지(BI)가 메모리(130)에 로딩되므로, 부팅 시간이 감소된다.2 and 5, when initialization of the memory 130 and the storage device 140 is completed, the memory 130 and the storage device 140 are in an operable state. When the memory 130 and the storage device 140 are in an operable state, the BIOS requests the boot image BI from the storage device 140. The storage device 140 transmits the boot image BI, and the transmitted boot image BI is loaded into the memory 130 through the system interface 150. While the boot image BI is loaded from the storage device 140 to the memory 130, the BIOS requests that components other than the memory 130 and the storage device 140 perform the POST. That is, the boot image BI is loaded into the memory 130 while the POST is performed on components other than the memory 130 and the storage device 140, thereby reducing the boot time.

부트 이미지(BI)는 파워-온 동작 시에 저장 장치(140)의 버퍼 메모리(149)에 로딩되어 있다. 부트 이미지(BI)를 저장 장치(140)의 메모리들(141~145)로부터 메모리(130)에 로딩하는 시간보다 저장 장치(140)의 버퍼 메모리(149)로부터 메모리(130)에 로딩하는 시간이 더 짧다. 따라서, 부팅 시간이 감소된다.The boot image BI is loaded into the buffer memory 149 of the storage device 140 during a power-on operation. The time for loading the boot image BI to the memory 130 from the buffer memory 149 of the storage device 140 is greater than the time for loading the boot image BI to the memory 130 from the memories 141 to 145 of the storage device 140. Shorter Thus, boot time is reduced.

이하에서, 바이오스가 POST 및 부팅 이미지(BI)의 로딩을 수행하는 방법이 설명된다. 바이오스는 다른 구성요소들보다 메모리(130) 및 저장 장치(140)에 우선적으로 POST를 요청할 것이다. 메모리(130) 및 저장 장치(140)의 POST가 완료되면, 바이오스는 메모리(130) 및 저장 장치(140)의 POST가 완료되었다는 응답(response)을 수신할 것이다.In the following, a method is described in which a BIOS performs loading of a POST and a boot image (BI). The BIOS will request POST prior to memory 130 and storage 140 over other components. When the POST of the memory 130 and the storage device 140 is completed, the BIOS will receive a response indicating that the POST of the memory 130 and the storage device 140 is completed.

메모리(130) 및 저장 장치(140)의 POST 응답이 수신되면, 바이오스는 컴퓨팅 시스템(100)을 구성하는 다른 구성요소들(예를 들면, 그래픽 디바이스, 사운드 디바이스 등) 중 적어도 하나에 POST 요청을 전달할 것이다. 예시적으로, 바이오스는 저장 장치(140) 및 시스템 버스(150)를 연결되어 있는 버스(예를 들면, S-ATA 버스)를 저장 장치(140)와 공유하는 디바이스(예를 들면, ODD(Optical Disk Drive), 부팅을 위한 드라이브로 설정되어 있지 않은 HDD(Hard Disk Drive) 또는 SDD(Solid State Disk))를 제외한 나머지 모든 구성 요소들에 POST 요청을 전달할 것이다.When the POST response of the memory 130 and the storage device 140 is received, the BIOS sends a POST request to at least one of the other components (eg, graphics device, sound device, etc.) that make up the computing system 100. Will deliver. For example, the BIOS may include a device (eg, an optical system (ODD) that shares a bus (eg, an S-ATA bus) connected to the storage device 140 and the system bus 150 with the storage device 140. It will send POST requests to all components except Disk Drives, Hard Disk Drives (HDDs), or Solid State Disks (SDDs) that are not configured as drives for booting.

나머지 모든 구성 요소들에 POST 요청을 전달한 후, 바이오스는 저장 장치(140)에 부트 이미지(BI)를 요청할 것이다. 바이오스로부터의 요청에 응답하여, 부트 이미지(BI)는 저장 장치(140)로부터 시스템 버스(150)를 통해 메모리(130)에 로딩될 것이다.After forwarding the POST request to all remaining components, the BIOS will request a boot image (BI) from the storage device 140. In response to a request from the BIOS, the boot image BI will be loaded from the storage device 140 to the memory 130 via the system bus 150.

부트 이미지(BI)가 저장 장치(140)로부터 메모리(130)에 로딩되는 동안, POST가 완료되는 구성 요소들은 POST 응답들을 전송할 것이다. 바이오스는 구성 요소들로부터 전달되는 POST 응답들을 미리 설정된 저장 영역(예를 들면, 인터럽트 변수)에 저장할 것이다. 부트 이미지(BI)의 로딩이 완료되면, 바이오스는 구성 요소들로부터 수신된 POST 응답들에 따른 동작을 수행할 것이다.While the boot image BI is loaded from the storage device 140 to the memory 130, the components upon which POST is completed will send POST responses. The BIOS will store the POST responses from the components in a preset storage area (eg, interrupt variable). Once the loading of the boot image BI is complete, the BIOS will perform the operation according to the POST responses received from the components.

부트 이미지(BI)의 로딩이 완료되면, 저장 장치(140)는 로딩이 완료되었다는 응답을 송신할 것이다. 예시적으로, 부트 이미지(BI)의 로딩이 완료되었다는 응답은 인터럽트들의 하나일 것이다. 바이오스는 저장 장치(140)로부터의 인터럽트에 응답하여, 저장 장치(140)와 버스를 공유하는 구성 요소들에 POST 요청을 전달할 것이다.When the loading of the boot image BI is completed, the storage device 140 will transmit a response that the loading is completed. In an example, the response that the loading of the boot image BI is completed may be one of interrupts. The bios will send a POST request to components sharing the bus with the storage device 140 in response to an interrupt from the storage device 140.

상술한 실시 예에서, 바이오스는 메모리(130) 및 저장 장치(140)에 대한 POST가 완료된 후에 주변 장치들에 대한 POST를 수행하는 것으로 설명되었다. 그러나, 본 발명의 기술적 사상은 메모리(130) 및 저장 장치(140)에 대한 POST 후에 주변 장치들에 대한 POST를 수행하는 것으로 한정되지 않는다. 본 발명의 기술적 사 상에 따르면, 바이오스는 부트 이미지(BI)를 저장 장치(140)로부터 메모리(130)에 로딩하기 위해 요구되는 구성 요소들에 대한 POST를 수행하고, 주변 장치들에 대한 POST를 요청하고, 부트 이미지(BI)를 로딩한다는 것이 이해될 것이다.In the above-described embodiment, the BIOS has been described as performing a POST for the peripheral devices after the POST for the memory 130 and the storage device 140 is completed. However, the technical idea of the present invention is not limited to performing POST for peripheral devices after POST for the memory 130 and the storage device 140. According to the technical concept of the present invention, the BIOS performs a POST on components required for loading a boot image (BI) from the storage device 140 to the memory 130, and performs a POST on peripheral devices. It will be appreciated that the request and the boot image BI are loaded.

요약하면, 바이오스는 컴퓨팅 시스템(100)의 복수의 구성 요소들에 POST 요청을 송신한 후 부트 이미지(BI)를 요청한다. 부트 이미지(BI)가 로딩되는 동안 바이오스는 구성 요소들로부터의 POST 응답을 저장하며, POST 응답에 따른 동작을 수행하지는 않는다. 부트 이미지(BI)의 로딩이 완료되면, 바이오스는 저장되어 있는 POST 응답에 따른 동작을 수행한다. 따라서, 부트 이미지(BI)는 구성 요소들의 POST 응답에 따른 오류 없이 메모리(130)에 로딩될 것이며, 부트 이미지(BI)가 로딩되는 동안 POST가 수행될 것이다. 즉, 부팅 시간이 단축될 것이다.In summary, the BIOS requests a boot image BI after sending a POST request to a plurality of components of the computing system 100. While the boot image (BI) is loading, the BIOS stores the POST response from the components, and does not perform operations according to the POST response. When loading of the boot image BI is completed, the BIOS performs an operation according to a stored POST response. Accordingly, the boot image BI may be loaded into the memory 130 without an error according to the POST response of the components, and the POST may be performed while the boot image BI is loaded. In other words, the boot time will be shortened.

S140~S160, 그리고 S250은 컴퓨팅 시스템(100)의 POST를 나타낸다. POST가 완료된 후, S170 단계에서, 메모리(130)에 로딩되어 있는 부트 이미지(BI)가 수행된다. 부트 이미지(BI)가 수행되면 운영 체제(OS)가 수행되어 컴퓨팅 시스템(100)이 준비(stand-by) 상태가 될 것이다.S140 to S160 and S250 represent the POST of the computing system 100. After the POST is completed, in step S170, the boot image BI loaded in the memory 130 is performed. When the boot image (BI) is performed, the operating system (OS) will be performed to put the computing system 100 in a stand-by state.

요약하면, 본 발명의 제 1 실시 예에 따른 컴퓨팅 시스템(100)은 파워-온 셀프 테스트 시에 저장 장치(140)에 저장되어 있는 데이터, 즉 부트 이미지(BI)를 시스템 버스(150)를 통해 전송한다. 컴퓨팅 시스템(100)은 부트 이미지(BI)를 저장하는 저장 장치(140), 그리고 파워-온 셀프 테스트를 수행하며 파워-온 셀프 테스트 시에 부트 이미지(BI)를 메모리(130)에 로딩하는 바이오스(120)를 포함한다. 반도체 디스크 장치(140)는 버퍼 메모리(149), 부트 이미지(BI)를 저장하는 저장 장치, 즉 메모리들(141~145), 그리고 저장 장치(141~145)를 제어하기 위한 컨트롤러(147)를 포함하고, 파워-온 동작 시에, 컨트롤러(147)는 부트 이미지(BI)를 버퍼 메모리(149)에 로딩한다. 따라서, 부팅 시간이 단축된다.In summary, the computing system 100 according to the first embodiment of the present invention transmits data stored in the storage device 140, that is, the boot image BI, through the system bus 150 during power-on self-test. send. The computing system 100 performs a storage device 140 storing the boot image BI, and a BIOS that performs a power-on self test and loads the boot image BI into the memory 130 at power-on self-test. 120. The semiconductor disk device 140 may include a buffer memory 149, a storage device for storing the boot image BI, that is, memories 141 to 145, and a controller 147 for controlling the storage devices 141 to 145. And in the power-on operation, the controller 147 loads the boot image BI into the buffer memory 149. Thus, the boot time is shortened.

도 6은 본 발명의 제 2 실시 예에 따른 컴퓨팅 시스템(200)을 보여주는 블록도이다. 도 1 및 6에서, 유사한 참조 번호들은 유사한/동일한 구성 요소들을 나타낸다. 도 6을 참조하면, 본 발명의 제 2 실시 예에 따른 컴퓨팅 시스템(200)은 프로세서(210), 바이오스 저장 장치(220), 메모리(230), 저장 장치(240), 그리고 시스템 버스(250)를 포함한다. 프로세서(210), 바이오스 저장 장치(220), 메모리(230), 그리고 시스템 버스(250)는 도 1 내지 5를 참조하여 설명된 바와 동일하게 구성된다. 따라서, 상세한 설명은 생략된다.6 is a block diagram illustrating a computing system 200 according to a second exemplary embodiment of the present invention. 1 and 6, like reference numerals refer to like / identical components. Referring to FIG. 6, the computing system 200 according to the second embodiment of the present invention may include a processor 210, a BIOS storage device 220, a memory 230, a storage device 240, and a system bus 250. It includes. The processor 210, the BIOS storage device 220, the memory 230, and the system bus 250 are configured in the same manner as described with reference to FIGS. 1 to 5. Therefore, detailed description is omitted.

저장 장치(240)는 메모리들(241~245) 및 컨트롤러(247)를 포함한다. 메모리들(241~245)은 도 1 내지 5를 참조하여 설명된 메모리들(141~145)과 동일한 구성을 가질 것이다. 즉, 메모리들(241~245)은 n 개의 채널들로 분할된다. 각각의 채널은 적어도 하나의 메모리를 포함한다. 메모리들(241~245)은 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리로 구성될 것이다. 즉, 저장 장치(240)는 불휘발성 메모리를 포함하는 반도체 디스크 장치(SSD)일 것이다.The storage device 240 includes memories 241 to 245 and a controller 247. The memories 241 ˜ 245 may have the same configuration as the memories 141 ˜ 145 described with reference to FIGS. 1 through 5. That is, the memories 241 to 245 are divided into n channels. Each channel includes at least one memory. The memories 241 to 245 may be configured as nonvolatile memories such as a ROM, a PROM, an EPROM, an EEPROM, a flash memory device, a PRAM, an MRAM, an RRAM, and an FRAM. That is, the storage device 240 may be a semiconductor disk device (SSD) including a nonvolatile memory.

컨트롤러(247)는 도 1 내지 5를 참조하여 설명된 컨트롤러(147)와 동일하게 구성된다. 따라서, 컨트롤러(247)에 대한 상세한 설명은 생략된다.The controller 247 is configured in the same manner as the controller 147 described with reference to FIGS. 1 to 5. Therefore, detailed description of the controller 247 is omitted.

채널들(241~245)의 0번 블록들(BLK0)은 저장 장치 코드를 저장한다. 메모리 들(241~245)은 부트 이미지(BI)를 저장한다. 도 6에서, 부트 이미지(BI)는 메모리(243)에 저장되는 것으로 도시되어 있다. 그러나, 부트 이미지(BI)가 저장되는 영역은 메모리(243)로 한정되지 않음이 이해될 것이다. 메모리들(241~245)은 부트 이미지 어드레스(BIA)를 저장한다.The 0 block BLK0 of the channels 241 to 245 stores a storage device code. The memories 241 to 245 store the boot image BI. In FIG. 6, the boot image BI is shown to be stored in the memory 243. However, it will be understood that the area where the boot image BI is stored is not limited to the memory 243. The memories 241 to 245 store a boot image address BIA.

도 1 내지 5를 참조하여 설명된 본 발명의 제 1 실시 예에서, 부트 이미지 어드레스(BIA)는 채널들(141~145)의 0번 블록들(BLK)에 저장된다. 본 발명의 제 2 실시 예에서, 부트 이미지 어드레스(BIA)는 미리 설정된 영역(reserved area)에 저장된다. 부트 이미지 어드레스가 저장되는 미리 설정된 영역은 부트 이미지 어드레스를 저장하기 위해 할당된 저장 영역일 것이다.In the first embodiment of the present invention described with reference to FIGS. 1 to 5, the boot image address BIA is stored in blocks 0 through BLK of the channels 141 to 145. In a second embodiment of the present invention, the boot image address BIA is stored in a reserved area. The preset area in which the boot image address is stored will be a storage area allocated for storing the boot image address.

도 6에서, 부트 이미지 어드레스(BIA)는 메모리(245)에 저장되는 것으로 도시되어 있다. 그러나, 부트 이미지 어드레스(BIA)가 저장되는 영역은 메모리(245)로 한정되지 않음이 이해될 것이다. 부트 이미지 어드레스(BIA)가 저장되는 영역은 메모리들(241~245) 중 어느 하나이며, 그 영역은 부트 이미지 어드레스(BIA)만을 저장하도록 할당될 것이다. 예를 들면, 부트 이미지 어드레스(BIA)가 저장되는 영역은 사용자에 의해 액세스될 수 없을 것이다. In FIG. 6, the boot image address BIA is shown to be stored in the memory 245. However, it will be understood that the area where the boot image address BIA is stored is not limited to the memory 245. The area in which the boot image address BIA is stored is any one of the memories 241 to 245, and the area will be allocated to store only the boot image address BIA. For example, the area where the boot image address BIA is stored may not be accessible by the user.

파워-온 동작 시에, 저장 장치 코드 및 부트 이미지 어드레스(BIA)가 버퍼 메모리(249)에 로딩될 것이다. 저장 장치 코드는 메모리들(241~245)의 0번 블록(BLK)에 저장되어 있고, 부트 이미지 어드레스(BIA)는 할당된 미리 설정된 영역에 저장되어 있다. 즉, 저장 장치 코드 및 부트 이미지 어드레스(BIA)가 저장되어 있는 영역은 이미 알려져 있으므로, 파워-온 동작 시에 버퍼 메모리(249)에 로 딩하는 것이 가능하다.In a power-on operation, storage code and boot image address (BIA) will be loaded into the buffer memory 249. The storage device code is stored in the block 0 block BLK of the memories 241 to 245, and the boot image address BIA is stored in the allocated preset area. That is, since the area where the storage device code and the boot image address BIA are stored is already known, it is possible to load the buffer memory 249 in the power-on operation.

저장 장치 코드는 부트 이미지 어드레스(BIA)를 이용하여 부트 이미지(BI)를 버퍼 메모리(249)에 로딩할 것이다. 이후에, 도 1 내지 5를 참조하여 설명된 바와 마찬가지로, 파워-온 셀프 테스트가 수행되고, 파워-온 셀프 테스트 시에 부트 이미지(BI)가 메모리(230)에 로딩될 것이다. 설명의 중복을 피하기 위하여, 상세한 설명은 생략된다.The storage device code will load the boot image BI into the buffer memory 249 using the boot image address BIA. Thereafter, as described with reference to FIGS. 1 to 5, a power-on self test is performed, and the boot image BI will be loaded into the memory 230 during the power-on self test. In order to avoid duplication of explanation, detailed description is omitted.

도 7은 본 발명의 제 3 실시 예에 따른 컴퓨팅 시스템(300)을 보여주는 블록도이다. 도 1 내지 7에서, 유사한 참조 번호는 유사한/동일한 구성 요소를 나타낸다. 도 7을 참조하면, 본 발명의 제 3 실시 예에 따른 컴퓨팅 시스템(300)은 프로세서(310), 바이오스 저장 장치(320), 메모리(330), 저장 장치(340), 그리고 시스템 버스(350)를 포함한다. 프로세서(310), 바이오스 저장 장치(320), 메모리(330), 그리고 시스템 버스(350)는 도 1 내지 6을 참조하여 설명된 바와 동일하게 구성된다. 따라서, 상세한 설명은 생략된다.7 is a block diagram illustrating a computing system 300 according to a third embodiment of the present invention. 1 to 7, like reference numerals refer to like / identical components. Referring to FIG. 7, the computing system 300 according to the third embodiment of the present invention may include a processor 310, a BIOS storage device 320, a memory 330, a storage device 340, and a system bus 350. It includes. The processor 310, the BIOS storage device 320, the memory 330, and the system bus 350 are configured in the same manner as described with reference to FIGS. 1 to 6. Therefore, detailed description is omitted.

저장 장치(340)는 메모리들(341~345) 및 컨트롤러(347)를 포함한다. 메모리들(341~345)는 도 1 내지 6을 참조하여 설명된 메모리들(141~145/241~245)과 동일한 구성을 갖는다. 즉, 메모리들(341~345)은 n 개의 채널들로 분할된다. 각각의 채널은 적어도 하나의 메모리를 포함한다. 메모리들(341~345)은 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리로 구성될 것이다. 즉, 저장 장치(340)는 불휘발성 메모리를 포함하는 반도체 디스크 장치(SSD)일 것이다.The storage device 340 includes memories 341 to 345 and a controller 347. The memories 341 to 345 have the same configuration as the memories 141 to 145/241 to 245 described with reference to FIGS. 1 to 6. That is, the memories 341 to 345 are divided into n channels. Each channel includes at least one memory. The memories 341 to 345 may be configured of nonvolatile memory such as a ROM, a PROM, an EPROM, an EEPROM, a flash memory device, a PRAM, an MRAM, an RRAM, an FRAM, and the like. That is, the storage device 340 may be a semiconductor disk device (SSD) including a nonvolatile memory.

채널들(341~345)의 0번 블록들(BLK0)에 저장 장치 코드가 저장된다. 메모리들(341~345)은 미리 설정된 영역에 부트 이미지(BI)를 저장한다. 즉, 메모리들(341~345)에서 미리 설정된 저장 영역이 부트 이미지(BI)를 저장하기 위해 할당될 것이다.The storage device code is stored in the 0 block BLK0 of the channels 341 to 345. The memories 341 to 345 store the boot image BI in a preset area. That is, a preset storage area in the memories 341 to 345 may be allocated to store the boot image BI.

컨트롤러(347)는 버퍼 메모리(349) 및 부트 이미지 로더(348)를 포함한다. 버퍼 메모리(349)는 도 1 내지 6을 참조하여 설명된 버퍼 메모리(149/249)와 동일하게 구성될 것이다. 부트 이미지 로더(348)는 부트 이미지(BI)를 버퍼 메모리(349)에 로딩하도록 구성된다.The controller 347 includes a buffer memory 349 and a boot image loader 348. The buffer memory 349 may be configured identically to the buffer memory 149/249 described with reference to FIGS. 1 to 6. The boot image loader 348 is configured to load the boot image BI into the buffer memory 349.

파워-온 동작 시에, 채널들(341~345)의 0번 블록들(BLK0)에 저장되어 있는 저장 장치 코드가 버퍼 메모리(349)에 로딩될 것이다. 또한, 미리 설정된 영역에 저장되어 있는 부트 이미지(BI)가 부트 이미지 로더(348)에 의해 버퍼 메모리(349)에 로딩될 것이다. 예시적으로, 부트 이미지 로더(348)는 부트 이미지(BI)를 버퍼 메모리(349)의 제 2 영역, 즉 데이터 메모리에 로딩할 것이다. 예시적으로, 저장 장치 코드 및 부트 이미지(BI)의 로딩은 파워-온 시에 동시에 수행될 것이다. 예시적으로, 부트 이미지 로더(348)는 하드웨어로 구성될 것이다.In the power-on operation, the storage device code stored in the 0 block BLK0 of the channels 341 to 345 may be loaded into the buffer memory 349. In addition, the boot image BI stored in the preset area may be loaded into the buffer memory 349 by the boot image loader 348. In exemplary embodiments, the boot image loader 348 may load the boot image BI into the second area of the buffer memory 349, that is, the data memory. In exemplary embodiments, the loading of the storage device code and the boot image BI may be performed simultaneously at power-on. By way of example, boot image loader 348 may be configured in hardware.

이후에, 도 1 내지 6을 참조하여 설명된 바와 마찬가지로, 파워-온 셀프 테스트가 수행되고, 파워-온 셀프 테스트 시에 부트 이미지(BI)가 메모리(330)에 로딩될 것이다. 설명의 중복을 피하기 위하여, 더 상세한 설명은 생략된다.Thereafter, as described with reference to FIGS. 1 through 6, a power-on self test is performed, and the boot image BI will be loaded into the memory 330 upon power-on self test. In order to avoid duplication of explanation, more detailed description is omitted.

도 8은 본 발명의 제 4 실시 예에 따른 컴퓨팅 시스템(400)을 보여주는 블록도이다. 도 1 내지 8에서, 유사한 참조 번호는 유사한/동일한 구성 요소를 나타낸 다. 도 8을 참조하면, 본 발명의 제 4 실시 예에 따른 컴퓨팅 시스템(400)은 프로세서(410), 바이오스 저장 장치(420), 메모리(430), 저장 장치(440), 그리고 시스템 버스(450)를 포함한다. 프로세서(410), 메모리(430), 그리고 시스템 버스(450)는 도 1 내지 7을 참조하여 설명된 바와 동일하게 구성된다. 따라서, 상세한 설명은 생략된다.8 is a block diagram illustrating a computing system 400 according to a fourth embodiment of the present invention. 1-8, like reference numerals refer to similar / identical components. Referring to FIG. 8, the computing system 400 according to the fourth embodiment of the present invention may include a processor 410, a BIOS storage device 420, a memory 430, a storage device 440, and a system bus 450. It includes. The processor 410, the memory 430, and the system bus 450 are configured in the same manner as described with reference to FIGS. 1 to 7. Therefore, detailed description is omitted.

저장 장치(440)는 컨트롤러(447) 및 메모리들(441~445)을 포함한다. 메모리들(441~445)은 도 1 내지 7을 참조하여 설명된 메모리들(141~145, 241~245, 341~345)과 동일한 구성을 갖는다. 즉, 메모리들(441~445)은 n 개의 채널들로 분할된다. 각각의 채널은 적어도 하나의 메모리를 포함한다. 메모리들(441~445)은 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리로 구성될 것이다. 즉, 저장 장치(440)는 불휘발성 메모리를 포함하는 반도체 디스크 장치(SSD)일 것이다.The storage device 440 includes a controller 447 and memories 441 to 445. The memories 441 to 445 have the same configuration as the memories 141 to 145, 241 to 245, and 341 to 345 described with reference to FIGS. 1 to 7. That is, the memories 441 to 445 are divided into n channels. Each channel includes at least one memory. The memories 441 to 445 may be composed of nonvolatile memories such as a ROM, a PROM, an EPROM, an EEPROM, a flash memory device, a PRAM, an MRAM, an RRAM, an FRAM, and the like. In other words, the storage device 440 may be a semiconductor disk device (SSD) including a nonvolatile memory.

저장 장치(440)는 부트 이미지(BI)를 저장한다. 도면에서, 부트 이미지(BI)는 메모리(441)에 저장되는 것으로 도시되어 있다. 그러나, 부트 이미지(BI)가 저장되는 영역은 메모리(441)로 한정되지 않음이 이해될 것이다.The storage device 440 stores the boot image BI. In the figure, boot image BI is shown to be stored in memory 441. However, it will be understood that the area where the boot image BI is stored is not limited to the memory 441.

저장 장치(440)는 미리 설정된 영역에 부트 이미지 어드레스(BIA)를 저장한다. 부트 이미지 어드레스(BIA)가 저장되는 영역은 부트 이미지 어드레스(BIA)를 저장하기 위해 할당된 저장 영역일 것이다.The storage device 440 stores the boot image address BIA in a preset area. The area where the boot image address BIA is stored may be a storage area allocated for storing the boot image address BIA.

컨트롤러(447)는 버퍼 메모리(449)를 포함한다. 버퍼 메모리(449)는 도 1 내지 7을 참조하여 설명된 버퍼 메모리(149/249/349)와 동일하게 구성될 것이다. 따 라서, 버퍼 메모리(449)의 상세한 설명은 생략된다.The controller 447 includes a buffer memory 449. The buffer memory 449 will be configured in the same manner as the buffer memory 149/249/349 described with reference to FIGS. 1 to 7. Thus, detailed description of the buffer memory 449 is omitted.

바이오스(420)는 전원이 공급된 후에 파워-온 셀프 테스트를 수행한다. 그리고, 파워-온 셀프 테스트 시에 저장 장치(440)로부터 부트 이미지(BI)를 메모리(430)에 로딩한다.The bios 420 performs a power-on self test after power is supplied. The boot image BI is loaded into the memory 430 from the storage device 440 at the power-on self test.

도 9는 도 8의 컴퓨팅 시스템의 동작을 설명하기 위한 순서도이다. 도 9에서, 좌측에 배치되는 순서도는 프로세서(410), 바이오스 저장 장치(420), 그리고 메모리(430)의 동작을 나타낸다. 즉, S310~S360은 프로세서(410), 바이오스 저장 장치(420), 그리고 메모리(430)의 동작을 나타낸다.9 is a flowchart for describing an operation of the computing system of FIG. 8. In FIG. 9, a flowchart disposed on the left side illustrates operations of the processor 410, the BIOS storage device 420, and the memory 430. That is, S310 to S360 indicate operations of the processor 410, the BIOS storage device 420, and the memory 430.

도 9에서, 우측에 배치되는 순서도는 저장 장치(440)의 동작을 나타낸다. 즉, S410~S440은 저장 장치(440)의 동작을 나타낸다. 따라서, S310~S360 및 S410~S440은 컴퓨팅 시스템(400)의 동작을 나타낼 것이다.In FIG. 9, a flowchart disposed on the right side shows an operation of the storage device 440. That is, S410 to S440 indicate the operation of the storage device 440. Thus, S310-S360 and S410-S440 will represent the operation of computing system 400.

도 10 및 11은 도 9에 도시되어 있는 프로세스가 도 8의 컴퓨팅 시스템(400)에서 수행되는 형태를 설명하기 위한 블록도이다. 도 10 및 1에서, 점선은 데이터의 이동을 나타낸다.10 and 11 are block diagrams for describing how the process illustrated in FIG. 9 is performed in the computing system 400 of FIG. 8. In Figures 10 and 1, the dotted lines represent the movement of the data.

도 9를 참조하면, S310 및 S410 단계에서, 컴퓨팅 시스템(400)에 전원이 공급된다. 예시적으로, 파워-온 동작 시에 바이오스가 바이오스 저장 장치(420)로부터 메모리(430)에 로딩될 수 있음이 이해될 것이다. S320 단계에서, 바이오스는 POST를 시작한다.9, power is supplied to the computing system 400 in steps S310 and S410. By way of example, it will be appreciated that a bios may be loaded from the bios storage device 420 into the memory 430 during a power-on operation. In step S320, the BIOS starts the POST.

부트 이미지(BI)를 로딩하기 위해 요구되는 장치들(예를 들면, 메모리(430) 및 저장 장치(440))에 대한 POST가 수행된 후, 바이오스는 주변 장치들에 POST를 요청한다.After the POST to the devices (eg, memory 430 and storage 440) required to load the boot image BI is performed, the BIOS requests a POST from the peripheral devices.

도 9 및 10을 참조하면, 주변 장치들에 POST를 요청한 후, S330 및 S430 단계에서, 바이오스는 저장 장치(440)에서 부트 이미지 어드레스(BIA)를 읽는다. 예시적으로, 읽어진 부트 이미지 어드레스(BIA)는 메모리(430)에 저장될 것이다.9 and 10, after requesting POST to peripheral devices, in step S330 and S430, the bios reads the boot image address BIA from the storage device 440. In exemplary embodiments, the read boot image address BIA may be stored in the memory 430.

도 9 및 11을 참조하면, S340 및 S440 단계에서, 바이오스는 부트 이미지 어드레스(BIA)를 이용하여, 저장 장치(440)로부터 부트 이미지(BI)를 읽는다. 읽어진 부트 이미지(BI)는 메모리(430)에 로딩될 것이다.9 and 11, in steps S340 and S440, the bios reads the boot image BI from the storage device 440 using the boot image address BIA. The read boot image BI will be loaded into the memory 430.

다시 도 9를 참조하면, 부트 이미지(BI)의 로딩이 완료되면, S350 단계에서, 바이오스는 주변 장치들로부터 전달된 응답(예를 들면, 인터럽트)에 따른 행동을 수행할 것이다. 그리고, 저장 장치(440)와 버스를 공유하는 주변 장치(예를 들면, ODD, 부팅을 위해 설정되지 않은 HDD 또는 SDD)에 POST를 요청할 것이다. 모든 구성 요소들에 대한 초기화가 완료되면, POST가 종료된다. 그리고, S360 단계에서, 부트 이미지(BI)가 구동되면, 운영 체제(OS)가 구동되고, 컴퓨팅 시스템(400)은 대기(stand-by) 상태가 될 것이다.Referring back to FIG. 9, when loading of the boot image BI is completed, in step S350, the bios will perform an action according to a response (eg, an interrupt) transmitted from peripheral devices. It will then request a POST to a peripheral device that shares the bus with the storage device 440 (eg, ODD, HDD or SDD not configured for booting). After all components have been initialized, POST will terminate. In operation S360, when the boot image BI is driven, the operating system OS is driven, and the computing system 400 may be in a stand-by state.

상술한 바와 같이, S320~S350 및 S430~S440은 파워-온 셀프 테스트를 구성한다. 파워-온 셀프 테스트 시에 바이오스는 부트 이미지(BI)를 저장 장치(440)로부터 시스템 버스(450)를 통해 메모리(430)에 로딩한다. 따라서, 부팅 속도가 향상된다.As described above, S320 to S350 and S430 to S440 constitute a power-on self test. Upon power-on self test, the BIOS loads the boot image BI from the storage device 440 to the memory 430 via the system bus 450. Thus, the boot speed is improved.

부트 이미지 어드레스(BIA)는 채널들의 0번 블록(BLK0) 또는 미리 설정된 영역(reserved area)에 저장된다. 부트 이미지 어드레스(BIA)는 부트 이미지(BI)가 저장되어 있는 영역에 대응하는 어드레스이다. 컴퓨팅 시스템의 사용 중에, 부트 이미지가 저장되어 있는 영역이 변경되는 경우가 있다. 이때, 저장 장치는 부트 이미지 어드레스(BIA)를 저장하고 있지만, 부트 이미지 어드레스(BIA)를 이용하여 부트 이미지(BI)를 액세스할 수 없다. 즉, 부트 이미지(BI)가 저장되어 있는 영역이 변경되는 경우, 부트 이미지 어드레스(BIA)를 갱신할 수 있는 수단이 요구된다.The boot image address BIA is stored in a block 0 of the channels BLK0 or a reserved area. The boot image address BIA is an address corresponding to an area in which the boot image BI is stored. During use of the computing system, the area in which the boot image is stored may change. At this time, the storage device stores the boot image address BIA, but cannot access the boot image BI using the boot image address BIA. In other words, when the area where the boot image BI is stored is changed, a means for updating the boot image address BIA is required.

본 발명의 실시 예에 따른 컴퓨팅 시스템은 부트 이미지(BI)가 저장되어 있는 영역이 변경되는 경우, 변경된 영역의 어드레스를 검출한다. 그리고, 검출된 어드레스를 이용하여, 부트 이미지 어드레스(BIA)를 갱신한다.When the region in which the boot image BI is stored is changed, the computing system detects an address of the changed region. The boot image address BIA is then updated using the detected address.

설명의 편의를 위하여, 본 발명의 실시 예들에 따른 컴퓨팅 시스템들(100, 200, 300, 400) 중 도 1 내지 5에 도시되어 있는 본 발명의 제 1 실시 예에 따른 컴퓨팅 시스템(100)을 참조하여, 부트 이미지(BI)의 변경된 어드레스를 검출하는 방법 및 부트 이미지 어드레스(BIA)를 갱신하는 방법을 설명하기로 한다. 그러나, 부트 이미지(BI)의 변경된 어드레스를 검출하는 방법 및 부트 이미지 어드레스(BIA)를 갱신하는 방법은 본 발명의 다른 실시 예들에 따른 컴퓨터 시스템(200, 300, 400)에 적용될 수 있으며, 본 발명의 기술적 사상으로부터 단절되지 않으면서 다양하게 변형 및 응용될 수 있음이 이해될 것이다.For convenience of description, refer to the computing system 100 according to the first embodiment of the present invention shown in FIGS. 1 to 5 of the computing systems 100, 200, 300, 400 according to the embodiments of the present invention. A method of detecting a changed address of the boot image BI and a method of updating the boot image address BIA will be described. However, the method of detecting the changed address of the boot image BI and the method of updating the boot image address BIA may be applied to the computer system 200, 300, 400 according to other embodiments of the present invention. It will be understood that various modifications and applications can be made without departing from the spirit of the invention.

설명의 편의를 위하여, 노멀 부팅 모드 및 패스트 부팅 모드를 정의하기로 한다. 노멀 부팅 모드는 POST가 완료된 후에 저장 장치(140)로부터 부트 이미지를 읽어오는 종래의 부팅 방법을 나타내는 것으로 정의한다. 패스트 부팅 모드는 본 발명의 기술적 사상에 따라 POST 동작 시에 메모리(130)에 부트 이미지(BI)를 로딩 하는 부팅 방법을 나타내는 것으로 정의한다.For convenience of description, a normal boot mode and a fast boot mode will be defined. The normal boot mode is defined as representing a conventional booting method that reads a boot image from the storage device 140 after the POST is completed. The fast boot mode is defined as representing a booting method for loading the boot image BI into the memory 130 during the POST operation according to the spirit of the present invention.

도 12는 본 발명의 실시 예에 따른 컴퓨팅 시스템(100)이 부트 이미지(BI)의 변경된 어드레스를 검출하는 방법을 보여주는 순서도이다. 도 1 및 12를 참조하면, S510 단계에서, 부팅 모드는 노멀 부팅 모드로 설정된다.12 is a flowchart illustrating a method of detecting, by the computing system 100, a changed address of a boot image BI, according to an exemplary embodiment. 1 and 12, in step S510, the boot mode is set to a normal boot mode.

S520 단계에서, 노멀 부팅이 수행된다. 그리고, S530 단계에서, 부팅 패턴이 판별되지 않았으면, 이후의 부팅도 노멀 부팅 모드로 수행된다. S530 단계에서, 부팅 패턴이 판별되면, S540 단계가 수행된다. 부팅 패턴은 부트 이미지(BI)가 저장되어 있는 영역에 대응하는 어드레스를 포함할 것이다. 노멀 부팅 모드에서, POST가 완료되면 저장 장치(140)로부터 부트 이미지(BI)가 로딩될 것이다. 이때, 부트 이미지(BI)가 저장 장치(140)로부터 읽어지는 어드레스가 검출될 것이다. 미리 설정된 횟수 만큼 노멀 부팅을 수행하고, 각각의 노멀 부팅 시에 검출되는 부트 이미지(BI)의 어드레스가 미리 설정된 횟수 만큼 일치하면, 부팅 패턴이 판별된 것으로 인식될 것이다. 그리고, 검출된 어드레스는 새로운 부트 이미지 어드레스(BIA)로 인식될 것이다.In step S520, a normal boot is performed. In operation S530, if the booting pattern is not determined, subsequent booting is performed in a normal booting mode. In operation S530, when the booting pattern is determined, operation S540 is performed. The boot pattern will include an address corresponding to the area where the boot image BI is stored. In normal boot mode, the boot image BI will be loaded from the storage device 140 when the POST is complete. In this case, an address at which the boot image BI is read from the storage device 140 may be detected. If a normal boot is performed a preset number of times, and an address of the boot image BI detected at each normal boot coincides with a preset number of times, the boot pattern will be recognized as determined. The detected address will be recognized as a new boot image address (BIA).

S540 단계에서, 부트 이미지 어드레스(BIA)가 갱신된다. 예시적으로, 새로운 부트 이미지 어드레스(BIA)는 채널들(141~145)의 0번 블록들(BLK0) 중 일부 또는 메모리들(141~145)의 미리 설정된 영역(reserved area)에 기입될 것이다.In operation S540, the boot image address BIA is updated. In example embodiments, the new boot image address BIA may be written in some of the block 0 blocks BLK0 of the channels 141 to 145 or in a reserved area of the memories 141 to 145.

S550 단계에서, 부팅 모드는 패스트 부팅 모드로 설정된다. 이후에 수행되는 부팅은 새로운 부트 이미지 어드레스(BIA)를 이용하여 POST 시에 부트 이미지(BI)를 메모리(130)에 로딩하는 패스트 부팅 방법으로 수행될 것이다.In operation S550, the boot mode is set to the fast boot mode. Subsequent booting may be performed by a fast boot method in which the boot image BI is loaded into the memory 130 at the time of POST using the new boot image address BIA.

상술한 바와 같이, 부트 이미지(BI)가 저장되어 있는 저장 영역이 변경되어도, 본 발명의 실시 예에 따른 컴퓨팅 시스템(100)은 변경된 저장 영역의 어드레스를 검출하여 부트 이미지 어드레스(BIA)를 갱신하는 것이 가능하다.As described above, even when the storage area in which the boot image BI is stored is changed, the computing system 100 may detect the address of the changed storage area and update the boot image address BIA. It is possible.

도 13은 패스트 부팅 모드에서 부팅 페일이 발생한 경우의 본 발명의 실시 예에 따른 컴퓨팅 시스템(100)의 동작을 보여주는 순서도이다. 도 1 및 13을 참조하면, S610 단계에서, 부팅 모드는 패스트 부팅 모드로 설정된다. 즉, 저장 장치(140)는 부트 이미지 어드레스(BIA)를 저장하고 있으며, 부트 이미지 어드레스(BIA)에 대응하는 저장 영역에 부트 이미지(BI)가 저장되어 있는 상태이다.13 is a flowchart illustrating an operation of the computing system 100 according to an exemplary embodiment of the present invention when a boot fail occurs in the fast boot mode. 1 and 13, in step S610, the boot mode is set to a fast boot mode. That is, the storage device 140 stores the boot image address BIA, and the boot image BI is stored in a storage area corresponding to the boot image address BIA.

S620 단계에서, 패스트 부팅이 수행된다. 부트 이미지 어드레스(BIA)에 대응하는 저장 영역에 부트 이미지(BI)가 저장되어 있는 한, 패스트 부팅은 정상적으로 수행될 것이다.In operation S620, fast booting is performed. As long as the boot image BI is stored in the storage area corresponding to the boot image address BIA, the fast boot will be normally performed.

S630 단계에서, 패스트 부팅이 페일되면 S640 단계가 수행된다. S640 단계에서, 부팅 모드는 노멀 부팅 모드로 수행된다. 이후에, 도 12를 참조하여 설명된 바와 같이 부트 이미지(BI)의 변경된 저장 영역에 대응하는 어드레스가 검출될 때까지 노멀 부팅이 수행될 것이고, 새로운 부트 이미지 어드레스(BIA)가 판별되면 부팅 모드는 패스트 부팅 모드로 설정될 것이다.In the S630 stage, if the fast boot fails, the S640 stage may be performed. In operation S640, the boot mode is performed in a normal boot mode. Subsequently, as described with reference to FIG. 12, normal booting will be performed until an address corresponding to the changed storage area of the boot image BI is detected, and if a new boot image address BIA is determined, the boot mode is performed. It will be set to fast boot mode.

상술한 바와 같이, 본 발명의 실시 예에 따른 컴퓨팅 시스템(100, 200, 300, 400)은 POST 시에 부트 이미지(BI)를 로딩하는 패스트 부팅 기능을 제공한다. 부트 이미지(BI)가 저장되는 영역이 변경되면 패스트 부팅이 페일될 것이다. 이 경우에, 새로운 부트 이미지 어드레스(BIA)가 판별될 때까지 노멀 모드 부팅이 수행된다. 새로운 부트 이미지 어드레스(BIA)가 판별되면, 부트 이미지 어드레스(BIA)가 갱신되고 패스트 부팅 모드로 설정될 것이다.As described above, the computing system 100, 200, 300, 400 according to an embodiment of the present invention provides a fast booting function for loading a boot image BI at the time of POST. If the area where the boot image BI is stored is changed, fast boot will fail. In this case, normal mode booting is performed until a new boot image address BIA is determined. Once the new boot image address BIA is determined, the boot image address BIA will be updated and set to the fast boot mode.

본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 자명하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.In the detailed description of the present invention, specific embodiments have been described, but it is obvious that various modifications can be made without departing from the scope and spirit of the present invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the claims equivalent to the claims of the present invention as well as the claims of the following.

도 1은 본 발명의 제 1 시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다.1 is a block diagram illustrating a computing system according to a first example embodiment of the present invention.

도 2는 도 1의 컴퓨팅 시스템의 동작을 설명하기 위한 순서도이다.2 is a flow chart for explaining the operation of the computing system of FIG.

도 3 내지 5는 도 2에 도시되어 있는 프로세스가 도 1의 컴퓨팅 시스템에서 수행되는 형태를 설명하기 위한 블록도이다.3 through 5 are block diagrams for describing a form in which the process illustrated in FIG. 2 is performed in the computing system of FIG. 1.

도 6은 본 발명의 제 2 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다.6 is a block diagram illustrating a computing system according to a second exemplary embodiment of the present invention.

도 7은 본 발명의 제 3 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다.7 is a block diagram illustrating a computing system according to a third exemplary embodiment of the present invention.

도 8은 본 발명의 제 4 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다.8 is a block diagram illustrating a computing system according to a fourth exemplary embodiment of the present invention.

도 9는 도 8의 컴퓨팅 시스템의 동작을 설명하기 위한 순서도이다.9 is a flowchart for describing an operation of the computing system of FIG. 8.

도 10 및 11은 도 9에 도시되어 있는 프로세스가 도 8의 컴퓨팅 시스템에서 수행되는 형태를 설명하기 위한 블록도이다.10 and 11 are block diagrams for describing how the process illustrated in FIG. 9 is performed in the computing system of FIG. 8.

도 12는 본 발명의 실시 예에 따른 컴퓨팅 시스템이 부트 이미지의 변경된 어드레스를 검출하는 방법을 보여주는 순서도이다.12 is a flowchart illustrating a method of detecting, by a computing system, a changed address of a boot image, according to an exemplary embodiment.

도 13은 패스트 부팅 모드에서 부팅 페일이 발생한 경우의 본 발명의 실시 예에 따른 컴퓨팅 시스템의 동작을 보여주는 순서도이다.13 is a flowchart illustrating an operation of a computing system according to an exemplary embodiment of the present invention when a boot failure occurs in the fast boot mode.

Claims (18)

컴퓨팅 시스템에 있어서:In a computing system: 부트 이미지를 저장하는 저장 장치; 그리고A storage device for storing a boot image; And 파워-온 셀프 테스트 시에 상기 부트 이미지를 상기 컴퓨팅 시스템의 동작 메모리에 로딩하는 바이오스를 포함하는 컴퓨팅 시스템.And a BIOS that loads the boot image into the operating memory of the computing system upon power-on self test. 제 1 항에 있어서,The method of claim 1, 파워-온 동작 시에, 상기 저장 장치는 상기 부트 이미지를 상기 저장 장치의 버퍼 메모리에 로딩하는 컴퓨팅 시스템.In a power-on operation, the storage device loads the boot image into a buffer memory of the storage device. 제 2 항에 있어서,The method of claim 2, 상기 파워-온 셀프 테스트 시에, 상기 부트 이미지는 상기 저장 장치의 버퍼 메모리로부터 상기 동작 메모리로 전달되는 컴퓨팅 시스템.Upon the power-on self test, the boot image is transferred from the buffer memory of the storage device to the operating memory. 제 1 항에 있어서,The method of claim 1, 상기 저장 장치는 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 미리 설정된 영역에 저장하는 컴퓨팅 시스템.The storage device stores an address corresponding to an area in which the boot image is stored in a preset area. 제 4 항에 있어서,The method of claim 4, wherein 상기 파워-온 셀프 테스트 시에, 상기 바이오스는 상기 어드레스를 읽고, 상기 어드레스를 이용하여 상기 부트 이미지를 상기 동작 메모리에 로딩하는 컴퓨팅 시스템.And upon said power-on self-test, said BIOS reads said address and uses said address to load said boot image into said operating memory. 제 4 항에 있어서,The method of claim 4, wherein 파워-온 동작 시에, 상기 저장 장치는 상기 어드레스를 읽고, 상기 어드레스를 이용하여 상기 부트 이미지를 상기 저장 장치의 버퍼 메모리에 로딩하는 컴퓨팅 시스템.In a power-on operation, the storage device reads the address and uses the address to load the boot image into a buffer memory of the storage device. 제 4 항에 있어서,The method of claim 4, wherein 상기 미리 설정된 영역에 저장되어 있는 어드레스가 상기 부트 이미지가 저장되어 있는 영역에 대응하지 않는 경우, 상기 바이오스는 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 검출하여 상기 미리 설정된 영역에 저장되어 있는 어드레스를 갱신하는 컴퓨팅 시스템.If the address stored in the preset area does not correspond to the area in which the boot image is stored, the BIOS detects an address corresponding to the area in which the boot image is stored and is stored in the preset area. Computing system to update the address. 제 7 항에 있어서,The method of claim 7, wherein 상기 바이오스는 상기 포스트 동작 후에 상기 부트 이미지를 상기 동작 메모리에 로딩하는 동작을 수행함으로써, 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 검출하는 컴퓨팅 시스템.And the BIOS detects an address corresponding to an area in which the boot image is stored by performing an operation of loading the boot image into the operation memory after the post operation. 제 1 항에 있어서,The method of claim 1, 상기 저장 장치는 반도체 디스크 장치인 컴퓨팅 시스템.The storage device is a semiconductor disk device. 제 1 항에 있어서,The method of claim 1, 상기 컴퓨팅 시스템은 적어도 하나의 주변 장치를 더 포함하고,The computing system further comprises at least one peripheral device, 상기 파워-온 셀프 테스트 시에 상기 바이오스는The bios during the power-on self test 상기 저장 장치 및 상기 동작 메모리의 상기 파워-온 셀프 테스트를 수행하고, 상기 적어도 하나의 주변 장치에 상기 파워-온 셀프 테스트를 요청하고, 상기 부트 이미지를 상기 동작 메모리에 로딩하는 컴퓨팅 시스템.And perform the power-on self test of the storage device and the operating memory, request the power-on self test from the at least one peripheral device, and load the boot image into the working memory. 제 10 항에 있어서,The method of claim 10, 상기 부트 이미지의 로딩이 완료되면 상기 바이오스는 상기 적어도 하나의 주변 장치로부터의 상기 파워-온 셀프 테스트의 응답에 따른 동작을 수행하는 컴퓨팅 시스템.And when the loading of the boot image is completed, the BIOS performs an operation in response to the power-on self test from the at least one peripheral device. 제 11 항에 있어서,The method of claim 11, 상기 부트 이미지의 로딩이 완료되면, 상기 바이오스는 상기 적어도 하나의 주변 장치 중 상기 저장 장치와 버스를 공유하는 장치에 상기 파워-온 셀프 테스트를 요청하는 컴퓨팅 시스템.And when the loading of the boot image is completed, the BIOS requests the power-on self test from a device sharing a bus with the storage device of the at least one peripheral device. 버퍼 메모리;Buffer memory; 부트 이미지를 저장하는 저장 장치; 그리고A storage device for storing a boot image; And 상기 저장 장치를 제어하기 위한 컨트롤러를 포함하고,A controller for controlling the storage device, 파워-온 동작 시에, 상기 컨트롤러는 상기 부트 이미지를 상기 버퍼 메모리에 로딩하는 반도체 디스크 장치.And the controller loads the boot image into the buffer memory during a power-on operation. 제 13 항에 있어서,The method of claim 13, 상기 저장 장치는 상기 부트 이미지가 저장되어 있는 영역에 대응하는 어드레스를 미리 설정된 영역에 저장하는 반도체 디스크 장치.The storage device stores an address corresponding to an area in which the boot image is stored in a preset area. 제 14 항에 있어서,The method of claim 14, 상기 파워-온 시에, 상기 컨트롤러는 상기 어드레스를 상기 버퍼 메모리에 로딩하는 반도체 디스크 장치.At the power-on, the controller loads the address into the buffer memory. 제 15 항에 있어서,The method of claim 15, 상기 파워-온 시에, 상기 컨트롤러는 상기 어드레스를 이용하여 상기 부트 이미지를 상기 버퍼 메모리에 로딩하는 반도체 디스크 장치.And upon the power-on, the controller loads the boot image into the buffer memory using the address. 컴퓨팅 시스템의 동작 방법에 있어서:In the method of operation of a computing system: 파워-온 셀프 테스트를 수행하되,Do a power-on self test, 상기 파워-온 셀프 테스트 시에, 저장 장치에 저장되어 있는 데이터를 시스템 버스를 통해 전송하는 동작 방법.And transmitting data stored in a storage device through a system bus during the power-on self test. 제 17 항에 있어서,The method of claim 17, 상기 데이터는 부트 이미지이고, 상기 부트 이미지는 상기 저장 장치로부터 상기 컴퓨팅 시스템의 동작 메모리로 전송되는 동작 방법.The data is a boot image, wherein the boot image is transferred from the storage device to an operating memory of the computing system.
KR1020080101098A 2008-09-30 2008-10-15 Solid state disk computing system including the same and operating method thereof KR101546072B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/585,935 US8327066B2 (en) 2008-09-30 2009-09-29 Method of managing a solid state drive, associated systems and implementations
US13/067,436 US20110238900A1 (en) 2008-09-30 2011-06-01 Method of managing a solid state drive, associated systems and implementations
US13/067,434 US8904088B2 (en) 2008-09-30 2011-06-01 Method of managing a solid state drive, associated systems and implementations
US14/508,393 US9542199B2 (en) 2008-09-30 2014-10-07 Method of managing a solid state drive, associated systems and implementations

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13682208P 2008-10-07 2008-10-07
US61/136,822 2008-10-07

Publications (2)

Publication Number Publication Date
KR20100039182A true KR20100039182A (en) 2010-04-15
KR101546072B1 KR101546072B1 (en) 2015-08-21

Family

ID=42215784

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020080101093A KR20100039179A (en) 2008-09-30 2008-10-15 Memory system, storage device and memory controller checking status of memory device
KR1020080101097A KR101552207B1 (en) 2008-09-30 2008-10-15 Semiconductor memory device with reserved area
KR1020080101095A KR101522402B1 (en) 2008-09-30 2008-10-15 Solid state disk and data manage method thereof
KR1020080101098A KR101546072B1 (en) 2008-09-30 2008-10-15 Solid state disk computing system including the same and operating method thereof

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020080101093A KR20100039179A (en) 2008-09-30 2008-10-15 Memory system, storage device and memory controller checking status of memory device
KR1020080101097A KR101552207B1 (en) 2008-09-30 2008-10-15 Semiconductor memory device with reserved area
KR1020080101095A KR101522402B1 (en) 2008-09-30 2008-10-15 Solid state disk and data manage method thereof

Country Status (1)

Country Link
KR (4) KR20100039179A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120035388A (en) * 2010-10-05 2012-04-16 삼성전자주식회사 Method of parallel processing of data copy and device hardware initialization for boot time reduction

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101300443B1 (en) * 2011-09-22 2013-08-27 서울대학교산학협력단 Flash memory device capable of verifying reliability using bypass path, and system and method of verifying reliability using that device
KR20140066391A (en) 2012-11-23 2014-06-02 삼성전자주식회사 Nonvolatile memory device including detection circuit for sudden power off and method for detecting sudden power off thereof
KR102147628B1 (en) * 2013-01-21 2020-08-26 삼성전자 주식회사 Memory system
KR102098697B1 (en) 2013-03-15 2020-04-08 삼성전자주식회사 Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same
KR102291507B1 (en) * 2014-05-20 2021-08-20 삼성전자주식회사 Operating method of memory controller
US9766818B2 (en) * 2014-12-31 2017-09-19 Samsung Electronics Co., Ltd. Electronic system with learning mechanism and method of operation thereof
WO2017026861A1 (en) * 2015-08-13 2017-02-16 주식회사 바른전자 Memory card of which color varies according to temperature
KR101708236B1 (en) 2015-10-23 2017-02-20 전자부품연구원 Local processing apparatus and method for transmitting/receiving data thereof
KR102450555B1 (en) * 2015-11-09 2022-10-05 삼성전자주식회사 Storage device and operating method thereof
KR102656190B1 (en) * 2016-11-24 2024-04-11 삼성전자주식회사 Storage device including nonvolatile memory device and access method for nonvolatile memory device
US10445195B2 (en) 2017-08-07 2019-10-15 Micron Technology, Inc. Performing data restore operations in memory
KR102568896B1 (en) * 2018-04-19 2023-08-21 에스케이하이닉스 주식회사 Memory controller and memory system having the same
KR102518095B1 (en) 2018-09-12 2023-04-04 삼성전자주식회사 Storage device and system
KR20200072854A (en) 2018-12-13 2020-06-23 에스케이하이닉스 주식회사 Data processing system and operating method thereof
KR102211122B1 (en) 2018-12-20 2021-02-02 삼성전자주식회사 Storage device and storage system
KR20220036468A (en) 2020-09-16 2022-03-23 에스케이하이닉스 주식회사 Storage device and operating method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260156B1 (en) 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US8549226B2 (en) * 2004-05-14 2013-10-01 Hewlett-Packard Development Company, L.P. Providing an alternative caching scheme at the storage area network level
JP4151977B2 (en) * 2005-03-16 2008-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Prefetching device, prefetching method, and prefetching program
US7596656B2 (en) 2006-09-28 2009-09-29 Sandisk Corporation Memory cards with end of life recovery and resizing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120035388A (en) * 2010-10-05 2012-04-16 삼성전자주식회사 Method of parallel processing of data copy and device hardware initialization for boot time reduction

Also Published As

Publication number Publication date
KR20100039179A (en) 2010-04-15
KR101546072B1 (en) 2015-08-21
KR20100039181A (en) 2010-04-15
KR20100039180A (en) 2010-04-15
KR101552207B1 (en) 2015-09-14
KR101522402B1 (en) 2015-05-26

Similar Documents

Publication Publication Date Title
KR101546072B1 (en) Solid state disk computing system including the same and operating method thereof
JP5234473B2 (en) Turboboot system and method
US9728277B2 (en) Method of repairing non-volatile memory based storage device and method of operating electronic system including the storage device
KR20120132820A (en) Storage device, storage system and method of virtualizing a storage device
US11644994B2 (en) Data migration method, host, and solid state disk
KR20170068373A (en) Electronic system with memory data protection mechanism and method of operation thereof
KR102225313B1 (en) Data storage device and operating method thereof
KR20080084082A (en) Memory card and memory system including the same and operating method thereof
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US20130254455A1 (en) Solid state drive interface controller and method of controlling solid state drive interface
CN111399752B (en) Control device and method for different types of storage units
JP2004295865A (en) Automatic booting system and automatic booting method
US10585822B2 (en) Operation method of host system including storage device and operation method of storage device controller
US9870162B2 (en) Method to virtualize PCIe controllers to support boot/hibernation/crash-dump from a spanned virtual disk
US11294780B2 (en) Memory controller and operating method thereof
US10467018B2 (en) System and method for booting a host device from a mobile device
KR20200089939A (en) Memory system and operating method thereof
US20140359263A1 (en) Boot from logical volume spanning plurality of pci devices
WO2013115767A1 (en) Booting a server using a remote read-only memory image
TWI662419B (en) A network system with local disks for pooled physical resources
JP2019053616A (en) Memory system
US8209452B2 (en) External device having a virtual storage device
KR20210016191A (en) Storage device
US11960749B2 (en) Data migration method, host, and solid state disk
CN110968441B (en) Memory card access device and method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 5