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 PDFInfo
- 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
Links
Images
Classifications
-
- 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/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/0615—Address space extension
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
Abstract
Description
본 발명은 컴퓨팅 시스템에 관한 것이다.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
프로세서(110)는 시스템 버스(110)에 연결된다. 프로세서(110)는 시스템 버스(150)를 통해 전달되는 데이터에 대해 연산을 수행할 것이다. 프로세서(110)는 시스템 버스(150)를 통해 전달되는 커맨드를 수행할 것이다.The
바이오스 저장 장치(120)는 바이오스를 저장한다. 바이오스 저장 장치(120)는 시스템 버스(150)에 연결된다. 컴퓨팅 시스템에 전원이 공급되면, 바이오스는 컴퓨팅 시스템(100)을 초기화하고 부팅을 수행할 것이다. 바이오스가 수행하는 초기화 동작은 파워-온 셀프 테스트(POST, Power-On Self Test)를 포함할 것이다. 파워-온 셀프 테스트는 메모리(130), 저장 장치(140), 그래픽 디바이스(미도시) 등과 같은 컴퓨팅 시스템(100)의 구성 요소들을 초기화하고 이상 유무를 진단하는 동작이다.The
예시적으로, 바이오스 저장 장치(120)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리 장치를 포함할 것이다. 예시적으로, 바이오스는 바이오스 저장 장치(120)로부터 메모리(130)에 로딩된 후에 동작할 것이다.In exemplary embodiments, the
메모리(130)는 시스템 버스(150)에 연결된다. 메모리(130)는 컴퓨팅 시스템(100)의 동작 메모리일 것이다. 예시적으로, 메모리(130)는 SRAM, DRAM, SDRAM 등과 같은 휘발성 메모리 장치를 포함할 것이다.The
저장 장치(140)는 시스템 버스(150)에 연결된다. 예시적으로, 저장 장치(140)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 프로토콜들을 이용하여 시스템 버스(150)와 데이터를 교환할 것이다.
저장 장치(140)는 전원이 제거되어도 데이터를 유지하는 불휘발성 저장 장치일 것이다. 예시적으로, 저장 장치(140)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리 장치에 데이터를 저장하는 반도체 디스크 장치(SSD, Solid State Disk)일 것이다.The
저장 장치(140)는 메모리들(141~145) 및 컨트롤러(149)를 포함한다. 메모리들(141~145)은 n 개의 채널들로 분할되며, 각각의 메모리는 컨트롤러(147)에 의해 독립적으로 제어될 것이다. 도 1에서, 각각의 채널은 하나의 메모리를 포함하는 것으로 도시되어 있다. 그러나, 각각의 채널은 하나의 메모리를 포함하는 것으로 한정되지 않는다. 예를 들면, 저장 장치(140)의 각각의 채널은 적어도 하나의 메모리를 포함할 것이다. 이하에서, 각각의 채널에 연결되어 있는 메모리들, 그리고 각각의 채널들은 동일한 참조 번호(141~145)로 인용될 것이다.The
도 1에서, 저장 장치(140)는 n 개의 채널(141~145)을 포함하는 것으로 도시되어 있다. 그러나, 저장 장치(140)는 n 개의 채널(141~145)을 포함하는 것으로 한정되지 않는다. 예를 들면, 저장 장치(140)는 적어도 하나의 채널을 포함할 것이다.In FIG. 1, the
각각의 채널은 복수의 블록들을 포함한다. 각각의 채널의 블록들 중 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
저장 장치(140)는 부트 이미지(BI)를 저장할 것이다. 부트 이미지(BI)는 운영 체제(OS, Operating System)를 동작시키기 위해 요구되는 코드들을 포함할 것이다. 즉, 부트 이미지(BI)가 메모리(130)에 로딩되어 프로세서(110)에 의해 실행된 후에 운영 체제(OS)가 동작될 것이다. 도 1에서, 부트 이미지(BI)는 채널(143)에 저장되어 있는 것으로 도시되어 있다. 그러나, 부트 이미지(BI)가 저장되는 영역은 채널(143)로 한정되지 않음이 이해될 것이다.The
부트 이미지(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
이하에서, 간결한 설명을 위하여, 부트 이미지(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
그러나, 본 발명의 실시 예에 따른 저장 장치(140)의 메모리들(141~145)은 플래시 메모리로 한정되지 않음이 이해될 것이다. 또한 본 발명의 실시 예에 따른 저장 장치(140)는 플래시 메모리를 포함하는 반도체 디스크 장치인 것으로 한정되지 않음이 이해될 것이다. 예를 들면, 저장 장치(140)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등의 불휘발성 메모리 장치를 포함하는 반도체 디스크 장치일 수 있음이 이해될 것이다. However, it will be understood that the
이하에서, 간결한 설명을 위하여, 채널들(141~145)의 0번 블록(BLK0)에 저장되어 있는 그리고 저장 장치(140)를 동작시키기 위한 코드들을 저장 장치 코드라 부르기로 한다.Hereinafter, for the sake of brevity, codes stored in the 0 block BLK0 of the
컨트롤러(147)는 버퍼 메모리(149)를 포함한다. 예시적으로, 버퍼 메모리(149)는 두 개의 영역으로 분할될 것이다. 예시적으로, 버퍼 메모리(149)의 제 1 영역은 코드 메모리일 것이다. 즉, 버퍼 메모리(149)의 제 1 영역은 저장 장치 코드를 저장 및 동작시키기 위해 할당될 것이다. 예시적으로, 버퍼 메모리(149) 의 제 2 영역은 데이터 메모리일 것이다. 즉, 버퍼 메모리(149)의 제 2 영역은 저장 장치(140) 및 시스템 버스(150) 사이에서 교환되는 데이터를 저장하기 위해 할당될 것이다.The
예시적으로, 버퍼 메모리(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
도 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
도 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
도 2를 참조하면, S110 및 S210 단계에서, 컴퓨팅 시스템(100)에 전원이 공 급된다. 프로세서(110), 바이오스 저장 장치(120), 메모리(130), 그리고 저장 장치(140) 모두에 전원이 공급될 것이다.2, in operation S110 and S210, power is supplied to the
도 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
도 2 및 4를 참조하면, S230 단계에서, 메모리(143)에 저장되어 있는 부트 이미지(BI)가 버퍼 메모리(149)에 로딩된다. 예시적으로, 부트 이미지(BI)는 버퍼 메모리(149)의 제 2 영역, 즉 데이터 메모리에 로딩될 것이다.2 and 4, in operation S230, the boot image BI stored in the
부트 이미지(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
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
다시 도 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
도 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
부트 이미지(BI)는 파워-온 동작 시에 저장 장치(140)의 버퍼 메모리(149)에 로딩되어 있다. 부트 이미지(BI)를 저장 장치(140)의 메모리들(141~145)로부터 메모리(130)에 로딩하는 시간보다 저장 장치(140)의 버퍼 메모리(149)로부터 메모리(130)에 로딩하는 시간이 더 짧다. 따라서, 부팅 시간이 감소된다.The boot image BI is loaded into the
이하에서, 바이오스가 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
메모리(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
나머지 모든 구성 요소들에 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
부트 이미지(BI)가 저장 장치(140)로부터 메모리(130)에 로딩되는 동안, POST가 완료되는 구성 요소들은 POST 응답들을 전송할 것이다. 바이오스는 구성 요소들로부터 전달되는 POST 응답들을 미리 설정된 저장 영역(예를 들면, 인터럽트 변수)에 저장할 것이다. 부트 이미지(BI)의 로딩이 완료되면, 바이오스는 구성 요소들로부터 수신된 POST 응답들에 따른 동작을 수행할 것이다.While the boot image BI is loaded from the
부트 이미지(BI)의 로딩이 완료되면, 저장 장치(140)는 로딩이 완료되었다는 응답을 송신할 것이다. 예시적으로, 부트 이미지(BI)의 로딩이 완료되었다는 응답은 인터럽트들의 하나일 것이다. 바이오스는 저장 장치(140)로부터의 인터럽트에 응답하여, 저장 장치(140)와 버스를 공유하는 구성 요소들에 POST 요청을 전달할 것이다.When the loading of the boot image BI is completed, the
상술한 실시 예에서, 바이오스는 메모리(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
요약하면, 바이오스는 컴퓨팅 시스템(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
S140~S160, 그리고 S250은 컴퓨팅 시스템(100)의 POST를 나타낸다. POST가 완료된 후, S170 단계에서, 메모리(130)에 로딩되어 있는 부트 이미지(BI)가 수행된다. 부트 이미지(BI)가 수행되면 운영 체제(OS)가 수행되어 컴퓨팅 시스템(100)이 준비(stand-by) 상태가 될 것이다.S140 to S160 and S250 represent the POST of the
요약하면, 본 발명의 제 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
도 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
저장 장치(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
컨트롤러(247)는 도 1 내지 5를 참조하여 설명된 컨트롤러(147)와 동일하게 구성된다. 따라서, 컨트롤러(247)에 대한 상세한 설명은 생략된다.The
채널들(241~245)의 0번 블록들(BLK0)은 저장 장치 코드를 저장한다. 메모리 들(241~245)은 부트 이미지(BI)를 저장한다. 도 6에서, 부트 이미지(BI)는 메모리(243)에 저장되는 것으로 도시되어 있다. 그러나, 부트 이미지(BI)가 저장되는 영역은 메모리(243)로 한정되지 않음이 이해될 것이다. 메모리들(241~245)은 부트 이미지 어드레스(BIA)를 저장한다.The 0 block BLK0 of the
도 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
도 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
파워-온 동작 시에, 저장 장치 코드 및 부트 이미지 어드레스(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
저장 장치 코드는 부트 이미지 어드레스(BIA)를 이용하여 부트 이미지(BI)를 버퍼 메모리(249)에 로딩할 것이다. 이후에, 도 1 내지 5를 참조하여 설명된 바와 마찬가지로, 파워-온 셀프 테스트가 수행되고, 파워-온 셀프 테스트 시에 부트 이미지(BI)가 메모리(230)에 로딩될 것이다. 설명의 중복을 피하기 위하여, 상세한 설명은 생략된다.The storage device code will load the boot image BI into the
도 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
저장 장치(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
채널들(341~345)의 0번 블록들(BLK0)에 저장 장치 코드가 저장된다. 메모리들(341~345)은 미리 설정된 영역에 부트 이미지(BI)를 저장한다. 즉, 메모리들(341~345)에서 미리 설정된 저장 영역이 부트 이미지(BI)를 저장하기 위해 할당될 것이다.The storage device code is stored in the 0 block BLK0 of the
컨트롤러(347)는 버퍼 메모리(349) 및 부트 이미지 로더(348)를 포함한다. 버퍼 메모리(349)는 도 1 내지 6을 참조하여 설명된 버퍼 메모리(149/249)와 동일하게 구성될 것이다. 부트 이미지 로더(348)는 부트 이미지(BI)를 버퍼 메모리(349)에 로딩하도록 구성된다.The
파워-온 동작 시에, 채널들(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
이후에, 도 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
도 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
저장 장치(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
저장 장치(440)는 부트 이미지(BI)를 저장한다. 도면에서, 부트 이미지(BI)는 메모리(441)에 저장되는 것으로 도시되어 있다. 그러나, 부트 이미지(BI)가 저장되는 영역은 메모리(441)로 한정되지 않음이 이해될 것이다.The
저장 장치(440)는 미리 설정된 영역에 부트 이미지 어드레스(BIA)를 저장한다. 부트 이미지 어드레스(BIA)가 저장되는 영역은 부트 이미지 어드레스(BIA)를 저장하기 위해 할당된 저장 영역일 것이다.The
컨트롤러(447)는 버퍼 메모리(449)를 포함한다. 버퍼 메모리(449)는 도 1 내지 7을 참조하여 설명된 버퍼 메모리(149/249/349)와 동일하게 구성될 것이다. 따 라서, 버퍼 메모리(449)의 상세한 설명은 생략된다.The
바이오스(420)는 전원이 공급된 후에 파워-온 셀프 테스트를 수행한다. 그리고, 파워-온 셀프 테스트 시에 저장 장치(440)로부터 부트 이미지(BI)를 메모리(430)에 로딩한다.The
도 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
도 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
도 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
도 9를 참조하면, S310 및 S410 단계에서, 컴퓨팅 시스템(400)에 전원이 공급된다. 예시적으로, 파워-온 동작 시에 바이오스가 바이오스 저장 장치(420)로부터 메모리(430)에 로딩될 수 있음이 이해될 것이다. S320 단계에서, 바이오스는 POST를 시작한다.9, power is supplied to the
부트 이미지(BI)를 로딩하기 위해 요구되는 장치들(예를 들면, 메모리(430) 및 저장 장치(440))에 대한 POST가 수행된 후, 바이오스는 주변 장치들에 POST를 요청한다.After the POST to the devices (eg,
도 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
도 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
다시 도 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
상술한 바와 같이, 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
부트 이미지 어드레스(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
설명의 편의를 위하여, 노멀 부팅 모드 및 패스트 부팅 모드를 정의하기로 한다. 노멀 부팅 모드는 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
도 12는 본 발명의 실시 예에 따른 컴퓨팅 시스템(100)이 부트 이미지(BI)의 변경된 어드레스를 검출하는 방법을 보여주는 순서도이다. 도 1 및 12를 참조하면, S510 단계에서, 부팅 모드는 노멀 부팅 모드로 설정된다.12 is a flowchart illustrating a method of detecting, by the
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
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
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
상술한 바와 같이, 부트 이미지(BI)가 저장되어 있는 저장 영역이 변경되어도, 본 발명의 실시 예에 따른 컴퓨팅 시스템(100)은 변경된 저장 영역의 어드레스를 검출하여 부트 이미지 어드레스(BIA)를 갱신하는 것이 가능하다.As described above, even when the storage area in which the boot image BI is stored is changed, the
도 13은 패스트 부팅 모드에서 부팅 페일이 발생한 경우의 본 발명의 실시 예에 따른 컴퓨팅 시스템(100)의 동작을 보여주는 순서도이다. 도 1 및 13을 참조하면, S610 단계에서, 부팅 모드는 패스트 부팅 모드로 설정된다. 즉, 저장 장치(140)는 부트 이미지 어드레스(BIA)를 저장하고 있으며, 부트 이미지 어드레스(BIA)에 대응하는 저장 영역에 부트 이미지(BI)가 저장되어 있는 상태이다.13 is a flowchart illustrating an operation of the
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
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 자명하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.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)
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)
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)
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)
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 |
-
2008
- 2008-10-15 KR KR1020080101093A patent/KR20100039179A/en not_active Application Discontinuation
- 2008-10-15 KR KR1020080101097A patent/KR101552207B1/en active IP Right Grant
- 2008-10-15 KR KR1020080101095A patent/KR101522402B1/en active IP Right Grant
- 2008-10-15 KR KR1020080101098A patent/KR101546072B1/en active IP Right Grant
Cited By (1)
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 |