KR20110033066A - Fast speed computer system power-on & power-off method - Google Patents

Fast speed computer system power-on & power-off method Download PDF

Info

Publication number
KR20110033066A
KR20110033066A KR1020100092274A KR20100092274A KR20110033066A KR 20110033066 A KR20110033066 A KR 20110033066A KR 1020100092274 A KR1020100092274 A KR 1020100092274A KR 20100092274 A KR20100092274 A KR 20100092274A KR 20110033066 A KR20110033066 A KR 20110033066A
Authority
KR
South Korea
Prior art keywords
computer system
pages
hibernation
memory
main memory
Prior art date
Application number
KR1020100092274A
Other languages
Korean (ko)
Other versions
KR101392062B1 (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 내셔널 충 쳉 유니버시티
Publication of KR20110033066A publication Critical patent/KR20110033066A/en
Application granted granted Critical
Publication of KR101392062B1 publication Critical patent/KR101392062B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Abstract

PURPOSE: A high computer system power on/off method is provided to drastically reduce the amount of a memory which is used in a system among hibernation, thereby increases the speed restoring to a full-speed operation. CONSTITUTION: A computer system divides a main memory into a clean and dirty pages when a computer system enters a hibernation. The clean pages swap outs without I/O access. The dirty pages is stored in a swap space and a file system of a secondary storing device and records in a hibernation file(S30). If the computer system reactivates, the computer system restores the hibernation file to the main memory from a swap space and a file system(S32).

Description

고속 컴퓨터 시스템 파워 온 및 파워 오프 방법{FAST SPEED COMPUTER SYSTEM POWER-ON & POWER-OFF METHOD}High-speed computer system power on and power off method {FAST SPEED COMPUTER SYSTEM POWER-ON & POWER-OFF METHOD}

본 발명은 컴퓨터 시스템 파워 온(power-on) 및 파워 오프(power-off) 방법에 관한 것으로서, 특히 컴퓨터 시스템이 절전 모드에 진입할 때 적용 가능한 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법에 관한 것이다.The present invention relates to a computer system power-on and power-off method, and more particularly, to a high-speed computer system power-on and power-off method applicable when a computer system enters a power saving mode.

일반적으로, 통상의 컴퓨터 시스템의 동작 상태는 운영 시스템 및 다양한 애플리케이션 프로그램들을 수행하는 정상 모드 외에, 절전 모드를 포함한다. 컴퓨터가 하이버네이션(hibernation)으로 진입하는 목적은 한편으로는 에너지를 절약하는 것이고, 한편으로는 시스템의 소음을 감소시키는 것이다.In general, the operational state of a typical computer system includes a power saving mode, in addition to the normal mode of running the operating system and various application programs. The purpose of the computer entering hibernation is to save energy on the one hand and to reduce the noise of the system on the one hand.

ACIP(Advanced Configuration and Power Interface)의 설계 분류에 따르면, 컴퓨터 시스템을 위한 두 유형의 하이버네이션이 존재한다: 이들 중 하나는 서스펜드-투-램(Suspend-To-RAM: STR) 상태(또한 S3 상태로 칭해진다)이고, 다른 하나는 스펜드-투-디스크(Spend-To-Disk: STD) 상태(또한 S4 상태로 칭해진다)이다. S3 상태에서, 컴퓨터 시스템은 단지 계속해서 전력을 프레임 버퍼(Frame Buffer)들, 주 메모리(Main Memory) 등을 포함하는 휘발성 메모리의 부분으로 공급하고, 나머지 부분들로의 전력을 차단한다. S3 상태에 대해 2가지의 장점들이 존재한다: 이들 중 하나는 컴퓨터 시스템이 전속력 동작으로 복귀하는 것이 더 빠를 것이라는 점이고; 다른 하나는 사용자가 사적이고 비밀 데이터를 동작하고 있고 이 데이터를 하드 디스크 내에 저장하고자 원하지 않을 때 더 양호한 보안을 위해 S3 상태가 사용된다는 점이다. 다른 유형의 하이버네이션은 스펜드-투-디스크(STD) 상태(또한 S4 상태로 칭해진다)이다. S4 상태에서, 동작 중인 데이터는 모두 저장을 위해 비휘발성 메모리 내에 기록되고나서, 전체 컴퓨터 시스템이 전력이 파워 오프되므로, S4 상태의 장점은 더 나은 전력 절약이다.According to the design classification of the Advanced Configuration and Power Interface (ACIP), there are two types of hibernation for computer systems: one of them is in the Suspend-To-RAM (STR) state (also in the S3 state). The other is in the Spend-To-Disk (STD) state (also called the S4 state). In the S3 state, the computer system only continues to supply power to a portion of volatile memory including frame buffers, main memory, and the like, and cuts power to the remaining portions. There are two advantages to the S3 state: one of these is that it will be faster for the computer system to return to full speed operation; The other is that the S3 state is used for better security when the user is operating private and secret data and does not want to store it on the hard disk. Another type of hibernation is a suspended-to-disk (STD) state (also called an S4 state). In the S4 state, the data in operation is all written to non-volatile memory for storage, and then the whole computer system is powered off, so the advantage of the S4 state is better power savings.

그러나, 하이버네이션의 상술한 상태 S3 및 S4의 효과 및 성능은 아주 만족스럽지 않다. 왜냐하면 컴퓨터 시스템이 S3 상태로 진입하면, 시스템 저장 생태를 유지하기 위해 전력이 계속해서 컴퓨터 시스템 내의 휘발성 메모리에 제공되어야 하기 때문이다. S4 상태가 채용되는 경우, S3 상태보다 전력이 더 절약될지라도, 컴퓨터 시스템이 전속도 동작으로 복귀하는 속도가 S3 상태의 속도보다 훨씬 더 느리다.However, the effects and performances of the above described states S3 and S4 of hibernation are not very satisfactory. Because when the computer system enters the S3 state, power must continue to be provided to volatile memory within the computer system to maintain the system storage ecology. If the S4 state is employed, the rate at which the computer system returns to full-speed operation is much slower than the speed of the S3 state, although more power is saved than the S3 state.

종래 기술의 문제점들 및 단점들을 고려하여, 본 발명은 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법을 개시하여, 컴퓨터 시스템이 하이버네이션으로 진입할 때, 사용되는 메모리가 감소하여, 컴퓨터 시스템이 전속도 동작으로 재활성화되는 반응 속도 및 효율을 증가시킬 수 있도록 한다.In view of the problems and drawbacks of the prior art, the present invention discloses a high speed computer system power on and power off method, such that when the computer system enters hibernation, the memory used is reduced so that the computer system runs at full speed operation. It is possible to increase the reaction rate and the efficiency of reactivation.

본 발명의 주목적은 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법을 제공하여, 컴퓨터 시스템이 하이버네이션으로 진입할 때 시스템에서 사용되는 메모리의 양이 과감하게 감소될 수 있도록 함으로써, 주 메모리에서 2차 저장 디바이스로 전달되는 데이터의 양을 감소시켜서, 전속도 동작으로 복귀하는 컴퓨터 시스템의 속도를 증가시키는 것이다.SUMMARY OF THE INVENTION The primary object of the present invention is to provide a high speed computer system power on and power off method such that the amount of memory used in the system can be drastically reduced when the computer system enters hibernation, thereby reducing the main memory to secondary storage device. By reducing the amount of data that is transferred, it increases the speed of the computer system returning to full speed operation.

본 발명의 다른 목적은 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법을 제공하여, 컴퓨터 시스템의 임시 전력 공급 중기 동안에 데이터 손실 및 손상의 정도가 감소될 수 있도록 할 수 있는 것이다.It is another object of the present invention to provide a high speed computer system power on and power off method such that the degree of data loss and corruption can be reduced during the temporary powering of the computer system.

본 발명의 부가적인 목적은 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법을 제공하는 것으로서, 여기서 데이터 기록 및 데이터 검색은 랜덤 액세스(random access) 방식으로 수행되어, 컴퓨터 시스템이 하이버네이션으로 진입할 때, 또는 전속도 동작으로 재활성화될 때, 데이터 액세스 속도를 크게 증가시킬 수 있다.It is a further object of the present invention to provide a high speed computer system power on and power off method wherein data recording and data retrieval are performed in a random access manner such that the computer system enters hibernation, or is full speed. When reactivated with the diagram operation, the data access speed can be greatly increased.

상술한 목적을 달성하기 위해, 본 발명은 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법을 제공하여, 컴퓨터 시스템이 하이버네이션에 진입할 때, 상기 컴퓨터 시스템 내부에 포함되는 주 메모리의 적어도 일부는 복수의 크린 페이지(clean page)들 및 복수의 더티 페이지(dirty page)들로 분류되고, 상기 크린 페이지들은 스왑 아웃(swap out)되고 버려진 저장소이고, 상기 더티 페이지들은 하이버네이션 파일로 기록되고 적어도 2차 저장 디바이스의 스왑 공간 및 파일 시스템으로 저장된다. 그러므로, 상기 컴퓨터 시스템이 재활성화되면, 이 더티 페이지들은 상기 스왑 공간 및 파일 시스템으로부터 상기 하이버네이션 파일로, 그리고 역으로 상기 주 메모리로 재로딩됨으로써, 상기 컴퓨터 시스템은 상기 2차 저장 디바이스로부터 필요한 데이터를 판독하고나서 이를 역으로 상기 주 메모리로 로딩할 수 있다. 이와 같으므로, 상기 컴퓨터 시스템은 컴퓨터 시스템 재활성 및 최대 동작 속도로의 복귀의 속도를 높이는데 있어서, 전송되는 데이터의 양 및 상기 주 메모리로부터 상기 2차 저장 디바이스로 저장되는 데이터의 양을 감소시킬 수 있다.In order to achieve the above object, the present invention provides a high-speed computer system power on and power off method, so that when the computer system enters hibernation, at least a portion of the main memory included in the computer system is a plurality of clean pages (clean pages) and a plurality of dirty pages, the clean pages are swapped out and discarded storage, the dirty pages are written to a hibernation file and swap at least of secondary storage devices Stored in space and file system. Therefore, when the computer system is reactivated, these dirty pages are reloaded from the swap space and file system into the hibernation file and vice versa into the main memory so that the computer system retrieves the necessary data from the secondary storage device. It can then be read and loaded back into the main memory. As such, the computer system may reduce the amount of data transferred and the amount of data stored from the main memory to the secondary storage device in speeding up computer system reactivation and return to maximum operating speed. Can be.

본 발명의 부가적인 적용 가능성의 범위는 이후에 제공되는 상세한 설명으로부터 명백해질 것이다. 그러나, 상세한 설명 및 특정한 예들이 본 발명의 바람직한 실시예들을 나타낼지라도, 단지 예를 통하여 제공되는 것임이 이해되어야 하는데, 왜냐하면 본 발명의 정신 및 범위 내에 다양한 변형들 및 수정들이 본 상세한 설명으로부터 당업자에게 명확할 것이기 때문이다.Further scope of applicability of the present invention will become apparent from the detailed description provided hereinafter. However, it should be understood that the detailed description and specific examples represent preferred embodiments of the invention, which are provided by way of example only, since various modifications and modifications within the spirit and scope of the invention will be apparent to those skilled in the art from this description. Because it will be clear.

상술한 바와 같은 구성으로 인해, 본 발명은, 컴퓨터 시스템이 하이버네이션으로 진입할 때 시스템에서 사용되는 메모리의 양이 과감하게 감소될 수 있도록 하여, 주 메모리에서 2차 저장 디바이스로 전달되는 데이터의 양을 감소시켜서, 전속도 동작으로 복귀하는 컴퓨터 시스템의 속도를 증가시킨다. 또한, 본 발명은 컴퓨터 시스템의 임시 전력 공급 중기 동안에 데이터 손실 및 손상의 정도가 감소될 수 있고, 컴퓨터 시스템이 하이버네이션으로 진입할 때, 또는 전속도 동작으로 재활성화될 때, 데이터 액세스 속도가 증가될 수 있다.Due to the configuration as described above, the present invention allows the amount of memory used in the system to be drastically reduced when the computer system enters hibernation, thereby reducing the amount of data transferred from the main memory to the secondary storage device. Reducing the speed of the computer system returning to full speed operation. In addition, the present invention can reduce the degree of data loss and corruption during the temporary powering of the computer system, and increase the data access speed when the computer system enters hibernation, or when reactivated at full speed operation. Can be.

이후에 행해지는 본 발명의 상세한 설명과 관련되는 관련 도면들은 다음과 같이 설명된다:
도 1은 본 발명에 따른 고속 컴퓨터 시스템 파워 온 및 파워 오프 디바이스의 개략적인 도면; 및
도 2는 본 발명에 따른 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법의 단계들의 흐름도.
The relevant drawings in connection with the following detailed description of the invention, which is made hereafter, are described as follows:
1 is a schematic diagram of a high speed computer system power on and power off device in accordance with the present invention; And
2 is a flow chart of the steps of a high speed computer system power on and power off method in accordance with the present invention.

본 발명의 목적, 구성, 특성들, 기능들 및 장점들은 첨부된 도면들을 참조하여 다음의 상세한 설명들을 통해 더욱 철저하게 인식되고 이해될 수 있다.The objects, configurations, features, functions and advantages of the present invention may be more thoroughly recognized and understood through the following detailed description with reference to the accompanying drawings.

본 발명에서, 고속 컴퓨터 파워 온 및 파워 오프 방법이 제안됨으로써, 사용되는 메모리의 양은 컴퓨터 시스템이 하이버네이션에 진입할 때 감소함으로써, 2차 저장 디바이스로 기록되는 데이터의 양을 감소시키고, 하이버네이션으로 진입하는 컴퓨터 시스템의 속도를 증가시키거나, 또는 전속도 동작으로 재활성화되거나 복구된다. 다음에서, 바람직한 실시예들은 본 발명의 기술적인 특징들을 설명하기 위해서 기술된다. 우선, 본 발명의 고속 컴퓨터 시스템 파워 온 및 파워 오프 디바이스의 개략도를 나타내는 도 1 을 참조한다. 도 1에 도시되는 바와 같이, 컴퓨터 시스템(10)은 중앙 처리 장치(CPU)(12), 주 메모리(14), 및 2차 저장 디바이스(16)를 포함한다. 2차 저장 디바이스(16)는 플래시 메모리(flash memory)와 같은 고속 랜덤 액세스 메모리(RAM) 디바이스일 수 있고, 주로, 파일 시스템(18), 스왑 공간(20), 및 하이버네이션 파일(22)에 대해 이용된다.In the present invention, a high speed computer power on and power off method is proposed, so that the amount of memory used decreases when the computer system enters hibernation, thereby reducing the amount of data written to the secondary storage device and entering hibernation. Speed up the computer system, or reactivate or recover to full speed operation. In the following, preferred embodiments are described to explain the technical features of the present invention. First, reference is made to FIG. 1 which shows a schematic diagram of a high speed computer system power on and power off device of the present invention. As shown in FIG. 1, computer system 10 includes a central processing unit (CPU) 12, a main memory 14, and a secondary storage device 16. Secondary storage device 16 may be a fast random access memory (RAM) device, such as flash memory, and is primarily for file system 18, swap space 20, and hibernation file 22. Is used.

다음으로, 본 발명의 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법의 단계들의 흐름도에 대한 도 2를 참조하고, 한편 도 1을 참조하라. 도 2에 도시되는 바와 같이, 우선, 단계 S30에서 도시되는 것처럼, 컴퓨터 시스템(10)의 운영 시스템(OS)은 하이버네이션 모드로 진입하고, 섹션(section) 또는 페이지를 단위로 사용하여 주 메모리(14)를 크린 페이지들 및 더티 페이지들로 분할한다. 2차 저장 디바이스(16)에 크린 페이지들과 정확히 동일한 내용을 갖는 카피본이 저장되므로, 스왑 아웃된 크린 페이지들은 폐기된 저장소일 수 있다. 그러므로, 커널(kernel) 기능(function)은 주 메모리(14)를 할당하고 크린 페이지들의 스왑 아웃을 제어하는데 사용된다. 상기 커널 기능은 스왑 아웃하는데 필요한 크린 페이지들의 양에 기반하여 주 메모리(14)를 할당할 수 있고 크린 페이지들의 스왑 아웃 이후에 주 메모리를 릴리스(release)할 것이다. 기계 상태에서의 더티 페이지들은 하이버네이션 파일(22) 내에 저장되고나서, 2차 저장 디바이스(16)의 스왑 공간(20) 및 파일 시스템(18) 내에 저장된다. 여기서, 더티 페이지들은 자신의 주소들에 따라 저장될 수 있고, 연속적인 어드레스들의 더티 페이지들은 단일 기록 명령에 병합될 수 있다. 그리고나서, 단계 S32에서, 컴퓨터 시스템(10)이 재활성화되면, 컴퓨터 시스템(10)은 스왑 공간(20) 및 파일 시스템(18)으로부터 하이버네이션 파일(22)을 판독하고 하이버네이션 파일을 주 메모리(14)로 역으로 복구하여 시스템 상태를 복구할 것이다. 마지막으로, S34에 도시된 바와 같이, 컴퓨터 시스템(10)은 2차 저장 디바이스(16)로부터 데이터를 판독하고 이를 주 메모리(14)로 역으로 로딩할 것이다.Next, refer to FIG. 2 for a flow chart of the steps of the high speed computer system power on and power off method of the present invention, while referring to FIG. 1. As shown in FIG. 2, first, as shown in step S30, the operating system OS of the computer system 10 enters the hibernation mode and uses the section or page in units of main memory 14. ) Is divided into clean pages and dirty pages. Since the copy having the same contents as the clean pages is stored in the secondary storage device 16, the swapped out clean pages may be discarded storage. Therefore, a kernel function is used to allocate main memory 14 and to control the swap out of clean pages. The kernel function may allocate main memory 14 based on the amount of clean pages needed to swap out and will release main memory after swapping out the clean pages. Dirty pages in the machine state are stored in the hibernation file 22 and then in the swap space 20 and file system 18 of the secondary storage device 16. Here, dirty pages can be stored according to their addresses, and dirty pages of consecutive addresses can be merged into a single write command. Then, in step S32, when the computer system 10 is reactivated, the computer system 10 reads the hibernation file 22 from the swap space 20 and the file system 18 and stores the hibernation file in main memory 14. Will restore the system state. Finally, as shown in S34, computer system 10 will read data from secondary storage device 16 and load it back into main memory 14.

컴퓨터 시스템이 서스펜드-투-플래시(Suspend-To-Flash) 기능(function)을 수행하고 데이터를 플래시 메모리와 같은 2차 저장 디바이스(16)로 송신하는 것을 중단하는 속도는 주로 비휘발성 메모리에 기록될 필요가 있는 데이터의 양에 좌우된다. 스와핑 비포어 하이버레이팅(Swapping-Before-Hibernating)은 내부에 포함되는 기존 메모리 관리 기술을 통한 운영 시스템(OS)에 의해 실행됨으로써 메모리 페이지들의 대부분은 어떤 기록동작을 행하지 않고 직접 폐기되도록 함으로써 이는 서스펜드 속도를 증가시킬 수 있다. 재현 기능(resume function)을 실행하자마자, 데이터는 세 위치들로부터 각각 역으로 검색될 수 있다: 하이버네이션 파일(22), 스왑 공간(20), 및 파일 시스템(18). 커널에 속하는 시스템의 주 데이터 및 코드는 컴퓨터 시스템의 재활성화를 하자마자 즉시 역으로 검색될 것이고, 나머지 데이터는 사용자들이 현재 단계에서 필요로 하는 부분에 대한 페이징 온 디멘드(paging-on-demand) 방식으로 역으로 검색된다. 사용자에 의해 필요한 데이터의 양은 시스템의 서스펜션(suspension) 이전에 주 메모리 내의 모든 데이터 양보다 훨씬 적으므로, 재현 속도가 증가할 수 있다.The speed at which a computer system performs a Suspend-To-Flash function and stops sending data to a secondary storage device 16, such as flash memory, is often recorded in nonvolatile memory. It depends on the amount of data you need. Swapping-Before-Hibernating is implemented by the operating system (OS) through its existing memory management technology, which allows most of the memory pages to be discarded directly without performing any write operations, which leads to suspend speed. Can be increased. As soon as the execute function is executed, the data can be retrieved in reverse from each of the three locations: the hibernation file 22, the swap space 20, and the file system 18. The main data and code of the system belonging to the kernel will be reversed immediately upon reactivation of the computer system, and the rest of the data will be paging-on-demand for the portion of the user's current needs. Is searched backwards. Since the amount of data required by the user is much less than all the amount of data in main memory before the suspension of the system, the reproduction speed can be increased.

일반적으로, 메모리 페이지는 다음과 같이 세 카테고리들로 각각 분류될 수 있다: 프리 페이지(free page), 익명 페이지(anonymous page), 및 명칭이 있는 페이지(named page). 여기서 프리 페이지들은 시스템에 의해 현재 사용되지 않는 메모리이므로 프리 페이지들 내의 내용들은 시스템에 무의미하다. 익명 페이지들은 프로그램의 실행 동안 동적으로 할당되는 메모리이고, 이 메모리의 부분은 주로: 스택(stack) 및 힙(heap)을 포함한다. 명칭이 있는 페이지는 주 메모리(14) 내의 파일의 카피이고, 이의 행동은 2차 저장 디바이스(16)에서의 캐시 메모리(cache memory)의 행동과 유사하다. 명칭이 있는 페이지는: 실행 가능 파일 및 메모리 내의 특정한 위치들에 대응하는 동적-링크 라이브러리(library)를 포함하고, 프로그램은 파일을 메모리로 매핑(mapping)하기l 위해 메모리 매핑 파일을 사용한다. 익명 페이지들 및 명칭이 있는 페이지들은 모두 크린 페이지들 또는 더티 페이지들일 수 있다. 더티 익명 페이지가 스와핑 아웃되면, 이는 스왑 공간(20)으로 기록되어야 하고, 더티 명칭이 있는 페이지는 파일 시스템(18) 내로 스왑 아웃된다. 운영 시스템(OS)은 크린 페이지를 스왑 아웃할 필요가 있는데, 왜냐하면 이 페이지는 2차 저장 디바이스(16)에서와 정확하게 동일한 내용들의 카피를 가져야만 하므로, 운영 시스템(OS)은 이 페이지를 직접 버릴 것이다.In general, memory pages can be classified into three categories, respectively: as follows: free page, anonymous page, and named page. Here, the free pages are memory not currently used by the system, so the contents of the free pages are meaningless to the system. Anonymous pages are memory that is dynamically allocated during the execution of a program, and portions of this memory mainly include: the stack and the heap. A named page is a copy of a file in main memory 14, whose behavior is similar to that of cache memory in secondary storage device 16. A named page includes: an executable file and a dynamic-link library corresponding to specific locations in memory, and the program uses the memory mapping file to map the file into memory. Anonymous pages and named pages can both be clean pages or dirty pages. When dirty anonymous pages are swapped out, they must be written to swap space 20, and pages with dirty names are swapped out into file system 18. The operating system (OS) needs to swap out the clean page because the page must have a copy of the exact same contents as in the secondary storage device 16, so the operating system (OS) discards this page directly. will be.

시스템이 서스펜드-투-플래시를 수행하기 시작할 때, 페이지들의 대부분은 2차 저장 디바이스(16)로 역으로 기록될 필요가 없는데, 이들 페이지들의 대부분이 크린 페이지들이기 때문이다. 상기 페이지들의 일부는 스왑 공간(20) 및 파일 시스템(18)으로 역으로 기록되어야만 하고, 나머지 페이지들은 비 스왑가능(non-swqppable) 메모리이며, 이들 페이지들은 주로 운영 시스템의 커널이거나 페이지들의 일부는 프로그램에 의해 성능 원인들로 인한 비 스왑 가능한 것으로서 설정된다. 최종적으로 비 스왑 가능 메모리는 하이버네이션 파일(22)로 기록될 것이다.When the system starts to perform a suspend-to-flash, most of the pages do not need to be written back to the secondary storage device 16 because most of these pages are clean pages. Some of these pages must be written back to swap space 20 and file system 18, and the remaining pages are non-swqppable memory, and these pages are primarily the operating system kernel or some of the pages Set by the program as non-swappable due to performance causes. Finally, non-swappable memory will be written to the hibernation file 22.

컴퓨터 시스템을 재시작하면, 루틴 하드웨어 초기화를 완료하고 OS 로더(loader)에 로딩하자마자, 상기 시스템은 자신이 하이버네이션 상태에서 정상 상태로 복귀할 것인지, 또는 일반적인 파워 온 절차를 수행할 것인지를 결정할 것이다. 전자의 경우, 하이버네이션 파일(22) 내의 데이터는 우선 주 메모리(14) 내에 로딩될 것이다. 이 동작을 마치자마자, OS는 기본 파워 온 절차를 완료하였다. 그리고나서, 사용자 요건에 따라, 컴퓨터 시스템은 파일 시스템(18) 및 스왑 공간(20) 내의 데이터를 역으로 주 메모리(14) 내로 로딩하고 원래 시스템 상태로 복귀한다. 스와핑 비포어 하이버네이팅 기능이 다시 실행될 필요가 있는데, 왜냐하면 이때 더티 페이지들의 일부는 지난번의 스와핑 비포어 하이버레이팅 기능의 수행 동안 스왑 공간(20)에 기록되어 와서 이 페이지들이 크린 페이지들이 되기 때문인데, 그러므로 CPU(12)는 이 페이지들에 대한 기록 동작을 수행하지 않을 것이며, 따라서 이 페이지들은 스왑 공간(20)에 다시 기록될 필요가 없다.Upon restarting the computer system, upon completion of routine hardware initialization and loading into the OS loader, the system will determine whether to return to normal from hibernation or to perform a normal power-on procedure. In the former case, the data in the hibernation file 22 will first be loaded into main memory 14. As soon as this operation was completed, the OS completed the basic power-on procedure. Then, according to user requirements, the computer system reversely loads the data in file system 18 and swap space 20 into main memory 14 and returns to the original system state. The swapping non-pore hibernate function needs to be executed again because some of the dirty pages have been written to swap space 20 during the last swapping non-pore hiberating function and these pages become clean pages. Therefore, the CPU 12 will not perform the write operation for these pages, so these pages do not need to be written back to the swap space 20.

2차 저장 디바이스(16) 역할을 하는 플래시 메모리는 최적화 기술을 사용하는 것을 통해 랜덤 액세스에서 연속 액세스에 근접한 성능을 갖질 수 있다. 기록 조합(Writing-Combining) 기능을 통해, 메모리 페이지들의 스왑 아웃 동안에 초래되는 작은 랜덤 기록들은 이들이 실제로 플래시 메모리에 기록되기 전에 큐잉(queueing)되고, 이 페이지들은 우선 자신들의 물리적 주소들에 따라 분류되고나서, 연속 범위 완전 기록들이 이 스왑 아웃된 페이지들에 존재하는지가 인지될 수 있다. 응답이 긍정인 경우, 큰 기록 요청 동작이 사용되어 복수의 작은 기록 요청 동작들을 대체함으로써 스와핑 비포어 하이버네이팅 기능의 속도를 증가시킨다.Flash memory serving as secondary storage device 16 may have performance close to continuous access in random access through the use of optimization techniques. Through the writing-combining function, small random writes that result during swapping out of memory pages are queued before they are actually written to flash memory, and these pages are first sorted according to their physical addresses. It can then be recognized whether contiguous range complete writes are present in these swapped out pages. If the response is affirmative, a large write request operation is used to speed up the swapping non-pore hibernation function by replacing a plurality of small write request operations.

스왑 가능 페이지들을 2차 저장 디바이스(16)에 기록하는 프로세스에서, 주 메모리를 할당할 때 OS의 최적화 동작이 실제로 할당되는 메모리의 양에 영향을 미치는 것을 방지하기 위해서, 큰 양의 메모리가 운영 시스템(OS)을 통해 요청될 수 있다. 그러므로, 일단 페이지가 할당되면, 데이터 바이트는 OS가 물리적 메모리를 상기 프로그램에 즉각 할당하도록 함으로써 상기 페이지 내에 기록된다. 이 강제적인 동작을 통해, OS는 메모리의 큰 부분을 스왑 아웃하게 된다. 후속해서, 시스템으로부터 요청되고 획득되는 모든 메모리를 OS로 역으로 복귀시키는데 자유로운 동작들이 수행된다.In the process of writing swappable pages to secondary storage device 16, a large amount of memory is stored in the operating system in order to prevent the OS's optimization operation from affecting the amount of memory actually allocated when allocating main memory. (OS) may be requested. Therefore, once a page is allocated, data bytes are written into the page by causing the OS to immediately allocate physical memory to the program. This forced action causes the OS to swap out a large portion of memory. Subsequently, free operations are performed to return all memory requested and obtained from the system back to the OS.

상술한 두 단계들의 구현예들을 통해, 운영 시스템(OS) 내의 대부분의 페이지들은 프리 페이지가 될 것이므로, 이 프리 페이지들은 하이버네이션 파일(22)에 역으로 기록될 필요가 없다.Through implementations of the two steps described above, since most pages in the operating system (OS) will be free pages, these free pages do not need to be written back to the hibernation file 22.

게다가, 요청은 메모리를 할당하기 위해 운영 시스템(OS)의 커널에서 직접적으로 행해질 수 있어서, 요청된 페이지들은 커널 기능을 통해 즉각적으로 할당될 수 있으면서도 OS가 실제로 메모리를 할당하도록 하는데 추가적인 기록 동작들을 요구하지 않도록 한다. 메모리의 할당을 완료하자마자, 자유 동작이 즉각 수행되어 상기 시스템이 대량의 프리 페이지들을 발생시킬 것이다. 메모리 할당이 커널 기능을 통해 행해지므로, 추가 기록 동작들이 필요하지 않다. 그러므로, 스왑 아웃된 페이지들의 수는 미리 계산되고 획득될 수 있으므로, 이는 얼마나 많은 메모리가 할당에 필요한지 계산해낼 수 있다.In addition, the request can be made directly from the operating system (OS) kernel to allocate memory, so that the requested pages can be allocated immediately via the kernel function while requiring additional write operations to actually allow the OS to allocate memory. Do not do it. As soon as the allocation of memory is completed, free operation will be performed immediately and the system will generate a large amount of free pages. Since memory allocation is done through kernel functionality, no additional write operations are needed. Therefore, since the number of swapped out pages can be calculated and obtained in advance, it can calculate how much memory is needed for allocation.

더욱이, 운영 시스템(OS)에서의 스왑퍼 메커니즘은 필요한 메모리를 할당하는데 직접적으로 조작될 수 있다. 이 경우에, 리눅스 운영 시스템(OS)이예로 취용될 수 있고, 이의 커널에는 메모리 관리 기능, 즉, Shrink_All_Memory 기능이 제공된다. 이 기능은 메모리 페이지들을 검색하는데 사용되고, 호출되자마자, 이는 검색될 페이지들의 양으로 로딩될 수 있으므로, 메모리 페이지들은 사용자들에 의해 사용되는 시스템 및 프로그램의 안정성에 영향을 주지 않고도 자유로워지며 해제될 수 있다. Shrink_All_Memory 기능의 메커니즘은 커널 내에 있는 두 최근 최소 사용(LRU(Least-Recently-Used)) 목록들을 통해 실행된다: 활성 목록 및 비활성 목록. 여기서 활성 목록은 가장 최근에 액세스되지 않은 페이지들을 포함하고, 비활성 목록은 특정 시간 주기 동한 액세스되지 않았던 페이지들을 포함한다. 실제 적용에서, Shrink_All_Memory 기능은 우선 비활성 목록으로부터 검색 페이지들을 시작할 것이고, 그 후에 활성 목록으로부터 페이지들을 검색할 것이다. 그러므로, Shrink_All_Memory 기능의 적용을 통해, 페이지들은 사용자들에 의해 사용되는 시스템 및 프로그램들의 커널의 동작에 영향을 미치지 않고 필요한 만큼 스왑될 수 있다.Moreover, the swapper mechanism in the operating system (OS) can be manipulated directly to allocate the required memory. In this case, the Linux operating system (OS) may be employed as an example, and its kernel is provided with a memory management function, that is, a Shrink_All_Memory function. This function is used to retrieve memory pages, and as soon as they are called, they can be loaded with the amount of pages to be retrieved, so that memory pages can be freed and released without affecting the stability of the system and programs used by users. Can be. The mechanism of the Shrink_All_Memory function is implemented through two least recently used (Least-Recently-Used) lists in the kernel: active list and inactive list. Wherein the active list includes pages that have not been accessed most recently, and the inactive list includes pages that have not been accessed for a certain period of time. In practical applications, the Shrink_All_Memory function will first start searching pages from the inactive list and then retrieve the pages from the active list. Therefore, through the application of the Shrink_All_Memory function, pages can be swapped as needed without affecting the operation of the kernel of the systems and programs used by users.

리눅스 운영 시스템(OS)에서의 커널의 관점으로부터, 2차 저장 디바이스(16)는 보통의 입력/출력(Input/Output) 디바이스로 고려되고, 메모리 페이지들이 스왑 공간(20)에서 스왑 아웃될 때 호출되는 Submit_Bio 기능에 의해 수신되는 파라미터들은: 섹터(sector) 수, 판독/기록 명령, 메모리 어드레스, 및 메모리 길이 등을 포함함으로써, 스왑 아웃되는 페이지들이 Submit_Bio 기능을 인터셉트(intercept)함으로써 더 프로세싱될 수 있다.From the kernel's point of view in the Linux operating system (OS), the secondary storage device 16 is considered a normal input / output device and called when memory pages are swapped out in the swap space 20. Parameters received by the Submit_Bio function that are being received include: sector number, read / write commands, memory address, memory length, etc., so that pages that are swapped out can be further processed by intercepting the Submit_Bio function. .

상술한 바와 같이, 스왑 아웃되는 페이지들은 페이지의 사용 상태에 기반하고 주 메모리(14) 내의 자체의 물리적 주소에 기반하지 않음에 따라 Shrink_All_Memory 기능에 의해서 결정된다. 애플리케이션에서, 우선 Shrink_All_Memory 기능에 의해 발생되는 기록 요청들을 큐잉하고나서, 이 페이지들을 물리적 메모리 주소에 따라 분류하여, 입력/출력 액세스 수들을 감소시키고 입력/출력 요청 크기를 증가시킨다. 요청 크기가 클수록, 2차 저장 디바이스(16) 역할을 하는 플래시 메모리의 기록 성능이 양호해진다. 메모리 페이지가 스왑 아웃되면, 커널은 스왑 공간(20) 내의 페이지의 위치를 기록해야만 하므로, 커널은 2차 저장 디바이스(16)로부터 주 메모리(24)로 이 페이지를 재로딩할 수 있다. 기록 결합 기능이 Shrink_All_Memory 기능을 재기록하여 Shrink_All_Memory 기능이 수행한 이후마다, 스왑 공간(20)에서의 각각의 기록 페이지의 위치가 인증되어야 하므로, 이 정보는 페이지 표에서의 스왑 아웃된 페이지 식별자가 된다.As discussed above, pages that are swapped out are determined by the Shrink_All_Memory function as they are based on the usage state of the page and not based on its physical address in main memory 14. In the application, first queue the write requests generated by the Shrink_All_Memory function, then sort these pages according to physical memory address, reducing the number of input / output accesses and increasing the size of the input / output request. The larger the requested size, the better the write performance of the flash memory serving as secondary storage device 16. When a memory page is swapped out, the kernel must write the location of the page in swap space 20, so the kernel can reload this page from secondary storage device 16 to main memory 24. Each time the write combining function rewrites the Shrink_All_Memory function to perform the Shrink_All_Memory function, the position of each write page in the swap space 20 must be authenticated, so this information becomes the swapped out page identifier in the page table.

바람직한 실시예의 상기 상술한 설명은 본 발명의 특징들 및 장점을 더욱 명확하게 설명하도록 의도된다. 그러나, 개시된 바람직한 실시예들은 본 발명의 범위에 어떠한 제한들로 의도되지 않는다. 역으로, 본 발명의 목적은 첨부된 청구항들의 범위 내에 있는 다양한 변화들 및 등가 장치들을 포함하는 것이다.The foregoing description of the preferred embodiment is intended to more clearly describe the features and advantages of the present invention. However, the disclosed preferred embodiments are not intended with any limitations on the scope of the invention. On the contrary, it is an object of the present invention to include various changes and equivalents falling within the scope of the appended claims.

Claims (9)

고속 컴퓨터 시스템 파워 온 및 파워 오프 방법에 있어서:
컴퓨터 시스템이 하이버네이션에 진입할 때, 상기 컴퓨터 시스템은 주 메모리를 복수의 크린 페이지들 및 복수의 더티 페이지들로 분리하고, 상기 크린 페이지들은 I/O 액세스 없이 스왑 아웃되고, 상기 더티 페이지들은 하이버네이션 파일 내로 기록되고, 적어도 2차 저장 디바이스의 스왑 공간 및 파일 시스템에 저장되는 단계;
상기 컴퓨터 시스템이 재활성화되면, 상기 컴퓨터 시스템이 상기 스왑 공간 및 상기 파일 시스템으로부터 상기 하이버네이션 파일을 판독하고, 상기 하이버네이션 파일을 상기 주 메모리로 복구하는 단계; 및
상기 컴퓨터 시스템이 상기 2차 저장 디바이스로부터 데이터를 판독하고, 상기 데이터를 상기 주 메모리로 로딩하는 단계를 포함하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
In a high speed computer system power on and power off method:
When the computer system enters hibernation, the computer system splits main memory into a plurality of clean pages and a plurality of dirty pages, the clean pages are swapped out without I / O access, and the dirty pages are hibernation files. Written into and stored in the swap space and file system of at least the secondary storage device;
When the computer system is reactivated, the computer system reading the hibernation file from the swap space and the file system and restoring the hibernation file to the main memory; And
And the computer system reading data from the secondary storage device and loading the data into the main memory.
제 1 항에 있어서,
상기 컴퓨터 시스템이 상기 하이버네이션으로 진입하는 단계에서, 상기 크린 페이지들이 스왑 아웃되고, 상기 주 메모리가 해제되는 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 1,
And wherein said clean pages are swapped out and said main memory is released when said computer system enters said hibernation.
제 2 항에 있어서,
상기 컴퓨터 시스템이 상기 하이버네이션으로 진입하는 단계에서, 상기 주 메모리에는 커널 기능이 제공되고, 상기 커널 기능은 상기 크린 페이지들의 스왑 아웃을 제어하는데 사용되고, 상기 크린 페이지들의 스왑 아웃의 완료 이후에 상기 주 메모리를 해제하는 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 2,
In the step of the computer system entering the hibernation, the main memory is provided with a kernel function, the kernel function is used to control the swap out of the clean pages, and after completion of the swap out of the clean pages, the main memory. A method of powering on and powering off a high speed computer system, comprising: releasing.
제 3 항에 있어서,
상기 커널 기능은 스왑 아웃될 상기 크린 페이지들의 수를 계산하고, 상기 크린 페이지들의 상기 수에 기반하여 상기 주 메모리를 할당할 수 있는 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 3, wherein
And said kernel function is capable of calculating the number of said clean pages to be swapped out and allocating said main memory based on said number of said clean pages.
제 1 항에 있어서,
상기 2차 저장 디바이스는 플래시 메모리인 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 1,
And said secondary storage device is a flash memory.
제 1 항에 있어서,
상기 2차 저장 디바이스는 고속 랜덤 액세스 메모리 디바이스인 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 1,
And said secondary storage device is a fast random access memory device.
제 1 항에 있어서,
상기 컴퓨터 시스템이 상기 하이버네이션으로 진입하는 단계에서, 상기 컴퓨터 시스템은 상기 주 메모리를 분할하는데 있어서 섹션을 유닛으로 사용하는 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 1,
In the step of entering the hibernation of the computer system, the computer system using a section as a unit in dividing the main memory.
제 1 항에 있어서,
상기 2차 저장 디바이스는 상기 크린 페이지의 내용과 동일한 자체의 내용을 갖는 커피가 제공되는 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 1,
And said secondary storage device is provided with coffee having its own content equal to that of said clean page.
제 1 항에 있어서,
상기 컴퓨터 시스템이 상기 하이버네이션으로 진입하는 단계에서, 상기 스왑 아웃된 더티 페이지들은 자신들의 어드레스에 따라 분류되고, 연속 주소들의 상기 더티 페이지는 상기 단일 기록 기능에 통합되고, 상기 2차 저장 디바이스에 기록 콤빙(writing-combing)되는 것을 특징으로 하는 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법.
The method of claim 1,
When the computer system enters the hibernation, the swapped out dirty pages are classified according to their addresses, and the dirty pages of consecutive addresses are incorporated into the single write function and write combing to the secondary storage device. A high-speed computer system power on and power off method, characterized in that the writing (combing).
KR1020100092274A 2009-09-22 2010-09-20 Fast speed computer system power-on & power-off method KR101392062B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW98131936 2009-09-22
TW098131936A TWI399637B (en) 2009-09-22 2009-09-22 Fast switch machine method

Publications (2)

Publication Number Publication Date
KR20110033066A true KR20110033066A (en) 2011-03-30
KR101392062B1 KR101392062B1 (en) 2014-05-07

Family

ID=43937686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100092274A KR101392062B1 (en) 2009-09-22 2010-09-20 Fast speed computer system power-on & power-off method

Country Status (2)

Country Link
KR (1) KR101392062B1 (en)
TW (1) TWI399637B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799498A (en) * 2011-05-27 2012-11-28 鸿富锦精密工业(深圳)有限公司 Method and system for rapidly switching computer states
TW201327160A (en) * 2011-12-21 2013-07-01 Ind Tech Res Inst Method for hibernation mechanism and computer system therefor
TWI514278B (en) 2012-09-19 2015-12-21 Ind Tech Res Inst Method for generating a reduced snapshot image for booting, computing apparatus readable recording medium, and computing apparatus
TWI646463B (en) * 2013-12-27 2019-01-01 財團法人工業技術研究院 Electronic apparatus and method for resuming from hibernation
TWI610239B (en) * 2013-12-27 2018-01-01 財團法人工業技術研究院 Electronic apparatus and method for resuming from hibernation
KR102011059B1 (en) * 2015-03-20 2019-08-16 한국전자통신연구원 Apparatus and Method for updating a snapshot image

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263366A (en) 2002-03-12 2003-09-19 Hitachi Ltd Swapping control method, its execution device and its processing program
US7017037B2 (en) * 2002-06-27 2006-03-21 Microsoft Corporation Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time
TW591373B (en) * 2002-11-15 2004-06-11 Acer Inc Handheld device having sleep function and the operating method thereof
US20060053325A1 (en) * 2004-09-03 2006-03-09 Chary Ram V Storing system information in a low-latency persistent memory device upon transition to a lower-power state
JP4831418B2 (en) * 2006-12-28 2011-12-07 ソニー株式会社 Information processing apparatus and method, and program
TW200937177A (en) * 2008-02-29 2009-09-01 Hon Hai Prec Ind Co Ltd Method for switching work states of a computer

Also Published As

Publication number Publication date
TWI399637B (en) 2013-06-21
TW201111966A (en) 2011-04-01
KR101392062B1 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
US10248322B2 (en) Memory system
US8930732B2 (en) Fast speed computer system power-on and power-off method
JP5351046B2 (en) Method and system for facilitating fast startup of a flash memory system
TW201619971A (en) Green nand SSD application and driver
JP4902501B2 (en) Power control method, computer system, and program
KR102434170B1 (en) hybrid memory system
US9146928B1 (en) Techniques for storing metadata of a filesystem in persistent memory
KR102443600B1 (en) hybrid memory system
KR20120058352A (en) Hybrid Memory System and Management Method there-of
US20070294550A1 (en) Memory Management With Defragmentation In A Computing Device
KR101392062B1 (en) Fast speed computer system power-on & power-off method
KR20080017292A (en) Storage architecture for embedded systems
JP5426576B2 (en) Data input / output method and apparatus using virtualization technology
US9983826B2 (en) Data storage device deferred secure delete
US8583890B2 (en) Disposition instructions for extended access commands
KR102443593B1 (en) hybrid memory system
JP2020191055A (en) Recovery processing method and device from instantaneous interruption, and computer readable storage medium
CN111459400B (en) Method and apparatus for pipeline-based access management in storage servers
JP2021149374A (en) Data processing device
JP4792065B2 (en) Data storage method
KR101744401B1 (en) Method for storaging and restoring system status of computing apparatus and computing apparatus
Lo et al. Optimizing swap space for improving process response after system resume
Vohra Comparative Study of Memory Optimization In Android System
JP2013120549A (en) Electronic computer, memory management method and memory management program

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170411

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200224

Year of fee payment: 9