KR20160126472A - Application launching time optimization apparatus and method using non-volatile memory - Google Patents
Application launching time optimization apparatus and method using non-volatile memory Download PDFInfo
- Publication number
- KR20160126472A KR20160126472A KR1020150057504A KR20150057504A KR20160126472A KR 20160126472 A KR20160126472 A KR 20160126472A KR 1020150057504 A KR1020150057504 A KR 1020150057504A KR 20150057504 A KR20150057504 A KR 20150057504A KR 20160126472 A KR20160126472 A KR 20160126472A
- Authority
- KR
- South Korea
- Prior art keywords
- start code
- target program
- file
- code
- block
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
- G06F9/30152—Determining start or end of instruction; determining instruction length
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
The present invention relates to an apparatus and a method for optimizing a start time of a program using a nonvolatile memory.
In order for the program to start, it is necessary to load the start code necessary for starting the program from the storage medium stored in the program and to have the launch time for the CPU to process the loaded start code.
However, the longer the start time, the more time the user has to wait for the program to be used, and the user may feel uncomfortable.
Therefore, there is a demand for a method of minimizing the inconvenience of the user by shortening the program start time by optimizing the start time of the program.
An apparatus and a method for shortening an input / output time of a start code necessary for starting a target program by caching a start code necessary for starting a target program in a nonvolatile memory having a faster access speed than a nonvolatile memory storing a target program .
In addition, the present invention can provide an apparatus and method for shortening the input / output time of a start code necessary for starting a target program by caching a start code necessary for starting a target program and pre-fetching a cached start code.
The present invention is characterized by caching the start code necessary for starting the target program in a nonvolatile memory having a faster access speed and a buffer cache mapped than the nonvolatile memory in which the target program is stored, Can be provided.
A method for optimizing a start time of a program according to an exemplary embodiment of the present invention includes: detecting a code necessary for starting a target program in a target program on a file basis; And caching the detected start code of the file unit in the nonvolatile memory.
The detecting of the start time optimization method of a program according to an embodiment of the present invention may extract the necessary code for starting the target program according to a system call that is requested for starting the target program.
A method for optimizing a start time of a program according to an embodiment of the present invention comprises the steps of: analyzing a start code per file unit cached in the first nonvolatile memory and detecting a code necessary for starting the target program on a block basis; And setting the detected start code of each block unit to be prefetched to the target program.
The method of optimizing a start time of a program according to an embodiment of the present invention may further comprise mapping block information corresponding to a start code of the detected block unit to file information corresponding to a start code of the file unit, The setting step may set the start code of the block unit corresponding to the block information to be pre-fetched to the target program.
The block information of the program start time optimization method according to an embodiment of the present invention may include at least one of a logical block address and a block size of a start code of the detected block unit.
The file information of the program start time optimization method according to an embodiment of the present invention may include at least one of a file name, a start address, and a file size of a start code of the detected file unit.
A method for optimizing a start time of a program according to an embodiment of the present invention includes: evaluating a value of a start code per file unit cached in the non-volatile memory; And managing the cached file unit start code based on the value of the cached file unit code.
A method for optimizing a start time of a program according to an exemplary embodiment of the present invention includes: detecting a code necessary for starting a target program in a target program on a file basis; Analyzing a start code of the detected file unit and detecting a start code of a block unit necessary for starting the target program; And caching the detected start code of each block unit in the nonvolatile memory.
A method for optimizing a start time of a program according to an embodiment of the present invention includes: evaluating a value of a start code in units of blocks cached in a non-volatile memory; And managing the cached block-based start code based on the value of the cached block-by-block code.
A method for optimizing a start time of a program according to an embodiment of the present invention includes prefetching the start code into a volatile memory in a nonvolatile memory having a start code cached at the start of a target program; And starting the target program using a pre-fetched start code in the volatile memory.
A start code of a program start time optimization method according to an embodiment of the present invention includes a start code of a file unit detected in the target program or a start code of a block unit detected by analyzing a start code of the detected file unit, ≪ / RTI >
According to an embodiment of the present invention, the start code necessary for starting the target program is cached in a nonvolatile memory having a faster access speed than that of the nonvolatile memory in which the target program is stored, so that the input / Can be shortened.
According to an embodiment of the present invention, it is possible to shorten the input / output time of the start code necessary for starting the target program by caching the start code necessary for starting the target program and pre-fetching the cached start code.
According to an embodiment of the present invention, a start code necessary for starting a target program is cached in a nonvolatile memory having a faster access speed and a buffer cache mapped than a nonvolatile memory in which a target program is stored, The input / output time of the necessary start code can be shortened.
1 is a diagram illustrating a start time optimization apparatus according to an embodiment of the present invention.
2 is an example of operation of the start time optimization apparatus according to an embodiment of the present invention.
3 is an example of the operation of the processor of the start time optimization apparatus according to an embodiment of the present invention.
4 is an example of a start time of a target program according to an embodiment of the present invention.
5 is a flowchart illustrating a caching process of the start time optimization method according to the first embodiment of the present invention.
6 is a flowchart showing a target program starting process of the start time optimization method according to the first embodiment of the present invention.
FIG. 7 is a flowchart illustrating a caching process of the start time optimization method according to the second embodiment of the present invention.
8 is a flowchart showing a target program starting process of the start time optimization method according to the second embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The start time optimization method according to an embodiment of the present invention may be performed by a start time optimization apparatus.
1 is a diagram illustrating a start time optimization apparatus according to an embodiment of the present invention.
The start time optimization apparatus may include a first
The first
At this time, the first
The second
The
The
For example, the
For example,
That is, the
Then, the
The
For example, the
At this time, the
Specifically, the
For example, the
In addition, the
Then, the
For example, if there is insufficient space to store the code in the first
The first
Specifically, the
At this time, the
The
For example, if there is insufficient space to store the code in the first
The
2 is an example of operation of the start time optimization apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram of a nonvolatile memory according to an embodiment of the present invention. Referring to FIG. 2, a start code of a block unit is cached in a first
First, the
Next, the
Next, the
When the
3 is an example of the operation of the processor of the start time optimization apparatus according to an embodiment of the present invention.
The
The
The
The first
For example, the input /
The
The
When starting the
4 is an example of a start time of a target program according to an embodiment of the present invention.
The
The
Therefore, the
The
Therefore, the
The
For instance, CPU 1 is pre-fetching while the program is processing the prefetching start code in the I / O 1 performed and, CPU 2 is performed CPU 1, pre-fetching pre-fetching in the I / O 2 performed by the program You can process the start code.
That is, the
5 is a flowchart illustrating a caching process of the start time optimization method according to the first embodiment of the present invention.
The first embodiment of the present invention is an embodiment in which the start
At
At this time, the
In
6 is a flowchart showing a target program starting process of the start time optimization method according to the first embodiment of the present invention.
In
In
FIG. 7 is a flowchart illustrating a caching process of the start time optimization method according to the second embodiment of the present invention.
The second embodiment of the present invention is similar to the first embodiment in that the start
In
In
In step 730, the
In
In
8 is a flowchart showing a target program starting process of the start time optimization method according to the second embodiment of the present invention.
At
At
At this time,
The present invention can shorten the input / output time of the start code necessary for starting the target program by caching the start code necessary for starting the target program in the nonvolatile memory having a faster access speed than the nonvolatile memory storing the target program.
In addition, the present invention can shorten the input / output time of the start code necessary for starting the target program by caching the start code necessary for starting the target program and pre-fetching the cached start code.
The present invention is characterized by caching the start code necessary for starting the target program in a nonvolatile memory having a faster access speed and a buffer cache mapped than the nonvolatile memory in which the target program is stored, Can be shortened.
The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.
Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
110: first nonvolatile memory
120: second nonvolatile memory
140: Processor
Claims (11)
Caching the detected start code of the file unit in the nonvolatile memory
The program comprising:
Wherein the detecting comprises:
And extracting a code necessary for the start of the target program according to a request for starting the target program.
Analyzing a start code for each file unit cached in the nonvolatile memory and detecting a code necessary for starting the target program on a block basis; And
Setting the detected start code of the block unit to be prefetched to the target program
Further comprising the steps of:
Further comprising the step of mapping the block information corresponding to the start code of the detected block unit to file information corresponding to the start code of the file unit,
Wherein the setting step comprises:
And a start code of a block unit corresponding to the block information is pre-fetched to the target program.
The block information includes:
A logical block address of the start code in the detected block unit, and a block size.
The file information includes:
And a file size of the start code of the detected file unit, the start address, and the file size of the file.
Evaluating a value of a start code per file unit cached in the nonvolatile memory; And
Managing the cached file-based start code based on the value of the cached file-based code
Further comprising the steps of:
Analyzing a detected start code of each file unit and detecting a start code of a block unit necessary for starting the target program; And.
Caching the detected start code of the block unit in the nonvolatile memory
The program comprising:
Evaluating a value of a block start code cached in the non-volatile memory; And
Managing the cached block-based start code based on the value of the cached block-by-block code
Further comprising the steps of:
Starting the target program using a pre-fetched start code in the volatile memory
The program comprising:
The start code includes:
A start code of a file unit detected in the target program, or a start code of a block unit detected by analyzing a start code of the detected file unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150057504A KR101680966B1 (en) | 2015-04-23 | 2015-04-23 | Application launching time optimization apparatus and method using non-volatile memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150057504A KR101680966B1 (en) | 2015-04-23 | 2015-04-23 | Application launching time optimization apparatus and method using non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160126472A true KR20160126472A (en) | 2016-11-02 |
KR101680966B1 KR101680966B1 (en) | 2016-11-29 |
Family
ID=57518740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150057504A KR101680966B1 (en) | 2015-04-23 | 2015-04-23 | Application launching time optimization apparatus and method using non-volatile memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101680966B1 (en) |
-
2015
- 2015-04-23 KR KR1020150057504A patent/KR101680966B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101680966B1 (en) | 2016-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7979631B2 (en) | Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method | |
US6915404B1 (en) | Computer system implementing a multi-threaded stride prediction read ahead algorithm | |
US9489239B2 (en) | Systems and methods to manage tiered cache data storage | |
US9772949B2 (en) | Apparatus, system and method for providing a persistent level-two cache | |
US20160054936A1 (en) | Information processing system and nonvolatile storage unit | |
US20140310476A1 (en) | Bucketized multi-index low-memory data structures | |
US20100174853A1 (en) | User device including flash and random write cache and method writing data | |
CN108897642B (en) | Method and device for optimizing log mechanism in persistent transactional memory system | |
US10095624B1 (en) | Intelligent cache pre-fetch | |
US10203899B2 (en) | Method for writing data into flash memory apparatus, flash memory apparatus, and storage system | |
US20130086307A1 (en) | Information processing apparatus, hybrid storage apparatus, and cache method | |
US8151068B2 (en) | Data copy management for faster reads | |
US20170199822A1 (en) | Systems and methods for acquiring data for loads at different access times from hierarchical sources using a load queue as a temporary storage buffer and completing the load early | |
US10719240B2 (en) | Method and device for managing a storage system having a multi-layer storage structure | |
US20140359211A1 (en) | Method for disk defrag handling in solid state drive caching environment | |
CN116069681A (en) | Disk space recovery method and device, electronic equipment and storage medium | |
KR100987251B1 (en) | Flash memory management method and apparatus for merge operation reduction in a fast algorithm base ftl | |
JP2010191983A (en) | Storage device | |
KR101680966B1 (en) | Application launching time optimization apparatus and method using non-volatile memory | |
US11132128B2 (en) | Systems and methods for data placement in container-based storage systems | |
US10210097B2 (en) | Memory system and method for operating the same | |
JP7170093B2 (en) | Improved read-ahead capabilities for storage devices | |
US9442863B1 (en) | Cache entry management using read direction detection | |
JP6689471B2 (en) | Information processing apparatus, information processing method, and information processing program | |
US10831370B1 (en) | Deduplicated and compressed non-volatile memory cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191104 Year of fee payment: 4 |