KR101392062B1 - 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
KR101392062B1
KR101392062B1 KR1020100092274A KR20100092274A KR101392062B1 KR 101392062 B1 KR101392062 B1 KR 101392062B1 KR 1020100092274 A KR1020100092274 A KR 1020100092274A KR 20100092274 A KR20100092274 A KR 20100092274A KR 101392062 B1 KR101392062 B1 KR 101392062B1
Authority
KR
South Korea
Prior art keywords
computer system
pages
power
memory
main memory
Prior art date
Application number
KR1020100092274A
Other languages
Korean (ko)
Other versions
KR20110033066A (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

고속 컴퓨터 시스템 파워 온 및 파워 오프 방법은, 주 메모리로부터 2차 저장 디바이스로 전송되고 저장되는 주 메모리의 양을 감소시키는데 사용되어, 하이버네이션 상태로부터 전속도 동작 상태로의 컴퓨터 시스템의 재활성화 속도를 증가시킨다. 상기 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법은 다양한 유형들의 컴퓨터 시스템들에 적용 가능하고, 랜덤 액세스 프로세싱 기술과 공동 동작하여 데이터를 기록하거나 역으로 로딩하는데 사용될 수 있다. 게다가, 상기 방법은 상기 컴퓨터 시스템의 급작스런 전력 공급 중단으로 인한 상기 컴퓨터 시스템의 데이터 손실 및 파손의 정도를 감소시키는데 사용될 수 있다.The high-speed computer system power-on and power-off method is used to reduce the amount of main memory transferred and stored from the main memory to the secondary storage device to increase the rate of reactivation of the computer system from the hibernation state to the full- . The high-speed computer system power-on and power-off methods are applicable to various types of computer systems and may be used in conjunction with random access processing techniques to record or reverse load data. In addition, the method can be used to reduce the degree of data loss and corruption of the computer system due to abrupt power failure of the computer system.

Description

고속 컴퓨터 시스템 파워 온 및 파워 오프 방법{FAST SPEED COMPUTER SYSTEM POWER-ON & POWER-OFF METHOD}[0001] POWER-ON & POWER-OFF METHOD FOR FAST SPEED COMPUTER SYSTEM [0002]

본 발명은 컴퓨터 시스템 파워 온(power-on) 및 파워 오프(power-off) 방법에 관한 것으로서, 특히 컴퓨터 시스템이 절전 모드에 진입할 때 적용 가능한 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법에 관한 것이다.The present invention relates to computer system power-on and power-off methods, 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 operating state of a typical computer system includes a power saving mode, in addition to the normal mode of operating the operating system and various application programs. The purpose of computers to enter hibernation is to save energy on the one hand and reduce the noise of the system on the other.

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 is the Suspend-To-RAM (STR) state And the other is a Spend-To-Disk (STD) state (also referred to as S4 state). In the S3 state, the computer system simply continues to provide power to portions of volatile memory, including frame buffers, main memory, and the like, and to power off the remaining portions. There are two advantages to the S3 state: one is that the computer system will be faster 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 this data on the hard disk. Another type of hibernation is a spanned-to-disk (STD) state (also referred to as S4 state). In the S4 state, the advantage of the S4 state is better power savings since all of the operating data is written into nonvolatile memory for storage and then the entire computer system is powered off.

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

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

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

본 발명의 다른 목적은 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법을 제공하여, 컴퓨터 시스템의 임시 전력 공급 중기 동안에 데이터 손실 및 손상의 정도가 감소될 수 있도록 할 수 있는 것이다.Another object of the present invention is to provide a high-speed computer system power-on and power-off method, which can reduce the degree of data loss and damage during a temporary power supply period of a 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 the data recording and data retrieval are performed in a random access manner so that when the computer system enters the hibernation, 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, such that when a computer system enters a hibernation, at least a portion of the main memory contained within the computer system includes a plurality of clean pages clean pages and a plurality of dirty pages, the clean pages being swapped out and abandoned storage, the dirty pages being recorded in a hibernation file and being swapped out of at least a secondary storage device Space and file system. Thus, once the computer system is reactivated, these dirty pages are reloaded from the swap space and file system to the hibernation file and vice versa, so that the computer system can retrieve the necessary data from the secondary storage device And then load it back into the main memory. As such, the computer system is configured to reduce the amount of data to be transferred and the amount of data stored in the secondary storage device from the main memory in order to speed up computer system reactivation and return to maximum operating speed .

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

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

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

본 발명의 목적, 구성, 특성들, 기능들 및 장점들은 첨부된 도면들을 참조하여 다음의 상세한 설명들을 통해 더욱 철저하게 인식되고 이해될 수 있다.BRIEF DESCRIPTION OF THE DRAWINGS The objects, features, features, and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG.

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

다음으로, 본 발명의 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법의 단계들의 흐름도에 대한 도 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)로 역으로 로딩할 것이다.Reference is now made to Fig. 2 of the flow diagram of the steps of a high speed computer system power on and power off method of the present invention, while referring to 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 as a unit to access the main memory 14 ) Into clean pages and dirty pages. Since copies having exactly the same contents as the clean pages are stored in the secondary storage device 16, the swapped out clean pages can be discarded storage. Therefore, a kernel function is used to allocate main memory 14 and control the swap-out of clean pages. The kernel function may allocate the main memory 14 based on the amount of clean pages needed to swap out and release main memory after swap out of clean pages. The dirty pages in the machine state are stored in the hibernation file 22 and then in the swap space 20 and the file system 18 of the secondary storage device 16. [ Here, the dirty pages may be stored according to their addresses, and the dirty pages of successive addresses may be merged into a single write command. Then, at 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 writes the hibernation file to the main memory 14 ) To restore the system state. Finally, as shown in S34, the computer system 10 will read the data from the secondary storage device 16 and load it back into the main memory 14.

컴퓨터 시스템이 서스펜드-투-플래시(Suspend-To-Flash) 기능(function)을 수행하고 데이터를 플래시 메모리와 같은 2차 저장 디바이스(16)로 송신하는 것을 중단하는 속도는 주로 비휘발성 메모리에 기록될 필요가 있는 데이터의 양에 좌우된다. 스와핑 비포어 하이버레이팅(Swapping-Before-Hibernating)은 내부에 포함되는 기존 메모리 관리 기술을 통한 운영 시스템(OS)에 의해 실행됨으로써 메모리 페이지들의 대부분은 어떤 기록동작을 행하지 않고 직접 폐기되도록 함으로써 이는 서스펜드 속도를 증가시킬 수 있다. 재현 기능(resume function)을 실행하자마자, 데이터는 세 위치들로부터 각각 역으로 검색될 수 있다: 하이버네이션 파일(22), 스왑 공간(20), 및 파일 시스템(18). 커널에 속하는 시스템의 주 데이터 및 코드는 컴퓨터 시스템의 재활성화를 하자마자 즉시 역으로 검색될 것이고, 나머지 데이터는 사용자들이 현재 단계에서 필요로 하는 부분에 대한 페이징 온 디멘드(paging-on-demand) 방식으로 역으로 검색된다. 사용자에 의해 필요한 데이터의 양은 시스템의 서스펜션(suspension) 이전에 주 메모리 내의 모든 데이터 양보다 훨씬 적으므로, 재현 속도가 증가할 수 있다.The rate at which the computer system suspends the Suspend-To-Flash function and stops sending the data to the secondary storage device 16, such as a flash memory, is primarily written to non-volatile memory It depends on the amount of data that is needed. Swapping-Before-Hibernating is executed by the operating system (OS) through existing memory management techniques included internally, thereby allowing most of the memory pages to be directly discarded without performing any writing operation, Can be increased. Upon execution of the resume function, the data can be retrieved from each of the three locations in reverse: 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 immediately retrieved as soon as the computer system is reactivated and the remaining data will be stored in a paging-on-demand fashion Is searched in reverse. The amount of data needed by the user is much less than the amount of all data in the main memory prior to suspension of the system, so the recall rate may increase.

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

시스템이 서스펜드-투-플래시를 수행하기 시작할 때, 페이지들의 대부분은 2차 저장 디바이스(16)로 역으로 기록될 필요가 없는데, 이들 페이지들의 대부분이 크린 페이지들이기 때문이다. 상기 페이지들의 일부는 스왑 공간(20) 및 파일 시스템(18)으로 역으로 기록되어야만 하고, 나머지 페이지들은 비 스왑가능(non-swqppable) 메모리이며, 이들 페이지들은 주로 운영 시스템의 커널이거나 페이지들의 일부는 프로그램에 의해 성능 원인들로 인한 비 스왑 가능한 것으로서 설정된다. 최종적으로 비 스왑 가능 메모리는 하이버네이션 파일(22)로 기록될 것이다.When the system starts performing the suspend-to-flash, most of the pages do not need to be back-written to the secondary storage device 16, since most of these pages are clean pages. Some of the pages must be written back to the swap space 20 and the file system 18 and the remaining pages are non-swqppable memory, and these pages are often the kernel of the operating system, It is set by the program as non-swappable due to performance reasons. Finally, the 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 the routine hardware initialization and loading into the OS loader, the system will determine whether it will return from a hibernation state to a normal state, or perform a generic power-on procedure. In the former case, the data in the hibernation file 22 will first be loaded into the main memory 14. Upon completion of this operation, the OS completed the basic power-on procedure. Then, according to user requirements, the computer system loads the data in file system 18 and swap space 20 back into main memory 14 and returns to the original system state. The swapping nonforge hibernating function needs to be run again because at this point some of the dirty pages are written to the swap space 20 during the execution of the last swapping nonforge hyperreporting function and these pages become clean pages And therefore the CPU 12 will not perform a write operation on these pages, so these pages do not need to be written back into the swap space 20.

2차 저장 디바이스(16) 역할을 하는 플래시 메모리는 최적화 기술을 사용하는 것을 통해 랜덤 액세스에서 연속 액세스에 근접한 성능을 갖질 수 있다. 기록 조합(Writing-Combining) 기능을 통해, 메모리 페이지들의 스왑 아웃 동안에 초래되는 작은 랜덤 기록들은 이들이 실제로 플래시 메모리에 기록되기 전에 큐잉(queueing)되고, 이 페이지들은 우선 자신들의 물리적 주소들에 따라 분류되고나서, 연속 범위 완전 기록들이 이 스왑 아웃된 페이지들에 존재하는지가 인지될 수 있다. 응답이 긍정인 경우, 큰 기록 요청 동작이 사용되어 복수의 작은 기록 요청 동작들을 대체함으로써 스와핑 비포어 하이버네이팅 기능의 속도를 증가시킨다.A flash memory serving as the secondary storage device 16 may have near-continuous access performance in random access through the use of optimization techniques. With the Writing-Combining function, small random writes resulting from swapout 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 determined whether continuous full writes are present in these swapped-out pages. If the answer is affirmative, a large write request operation is used to increase the speed of the swapping nonforge hibernating function by replacing a plurality of smaller write request operations.

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

상술한 두 단계들의 구현예들을 통해, 운영 시스템(OS) 내의 대부분의 페이지들은 프리 페이지가 될 것이므로, 이 프리 페이지들은 하이버네이션 파일(22)에 역으로 기록될 필요가 없다.Through the implementation of the two steps described above, most of the pages in the operating system (OS) will be free pages, so that 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 in the kernel of the operating system (OS) to allocate memory so that the requested pages can be allocated immediately through the kernel function, while still requiring additional write operations Do not. Upon completion of the allocation of memory, the free operation is immediately performed and the system will generate a large number of free pages. Since memory allocation is done through the kernel function, no additional write operations are required. Therefore, the number of pages swapped out can be calculated and obtained in advance, so that it can be calculated how much memory is required 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, a Linux operating system (OS) can be employed, and its kernel is provided with a memory management function, i.e., Shrink_All_Memory function. This function is used to retrieve memory pages, and as soon as it is called, it can be loaded with the amount of pages to be retrieved so that the memory pages are freed up without affecting the stability of the system and programs used by users, . The mechanism of the Shrink_All_Memory feature is implemented through two recent least-recently used (LRU) lists within the kernel: the active list and the inactive list. Where 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 particular period of time. In practical application, the Shrink_All_Memory function will first start the search pages from the inactive list, and then search the pages from the active list. Thus, 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 perspective of the kernel in the Linux operating system (OS), the secondary storage device 16 is considered as a normal input / output device, and when the memory pages are swapped out in the swap space 20 The parameters received by the Submit_Bio function may include: the number of sectors, the read / write command, the memory address, and the memory length, etc., so that pages 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 described above, the pages to be swapped out are determined by the Shrink_All_Memory function based on the usage state of the page and not based on its own physical address in the main memory 14. In the application, first queuing the write requests generated by the Shrink_All_Memory function, then categorizing the pages according to the physical memory address, reducing the number of input / output accesses and increasing the size of the input / output requests. The larger the request size, the better the write performance of the flash memory serving as the secondary storage device 16. When the memory page is swapped out, the kernel must record the location of the page in the swap space 20, so that the kernel can reload the page from the secondary storage device 16 to the main memory 24. Each time the Shrink_All_Memory function is rewritten and the Shrink_All_Memory function is performed, the location of each record page in the swap space 20 must be authenticated, so this information is the swapped out page identifier in the page table.

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

Claims (9)

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

Publications (2)

Publication Number Publication Date
KR20110033066A KR20110033066A (en) 2011-03-30
KR101392062B1 true 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160113483A (en) * 2015-03-20 2016-09-29 한국전자통신연구원 Apparatus and Method for updating a snapshot image

Families Citing this family (5)

* 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

Citations (1)

* 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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (1)

* 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
'리눅스 메모리 관리'(http://wiki.kldp.org/Translations/html/The_Linux_Kernel-KLDP/tlk3.html,;1999.11.08.)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160113483A (en) * 2015-03-20 2016-09-29 한국전자통신연구원 Apparatus and Method for updating a snapshot image
KR102011059B1 (en) * 2015-03-20 2019-08-16 한국전자통신연구원 Apparatus and Method for updating a snapshot image

Also Published As

Publication number Publication date
TW201111966A (en) 2011-04-01
TWI399637B (en) 2013-06-21
KR20110033066A (en) 2011-03-30

Similar Documents

Publication Publication Date Title
JP5663060B2 (en) Method and system for facilitating fast startup of a flash memory system
KR101713051B1 (en) Hybrid Memory System and Management Method there-of
US9910602B2 (en) Device and memory system for storing and recovering page table data upon power loss
US8930732B2 (en) Fast speed computer system power-on and power-off method
JP5376983B2 (en) Memory system
KR102093523B1 (en) Working set swapping using a sequentially ordered swap file
US7093089B2 (en) Systems and methods for storing data on computer systems
US6857047B2 (en) Memory compression for computer systems
JP5255348B2 (en) Memory allocation for crash dump
US7979631B2 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
US10248322B2 (en) Memory system
EP3531292B1 (en) Methods and apparatus for supporting persistent memory
KR101392062B1 (en) Fast speed computer system power-on & power-off method
KR102443600B1 (en) hybrid memory system
KR102434170B1 (en) hybrid memory system
US20070294550A1 (en) Memory Management With Defragmentation In A Computing Device
US8583890B2 (en) Disposition instructions for extended access commands
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
JP4792065B2 (en) Data storage method
KR101744401B1 (en) Method for storaging and restoring system status of computing apparatus and computing apparatus
JP3526160B2 (en) Data cache control method
Lo et al. Optimizing swap space for improving process response after system resume
Vohra Comparative Study of Memory Optimization In Android System
CN111190543A (en) Storage method and system for sharing NVDIMM storage resources among threads

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