KR101548086B1 - Computing method and apparatus of processing write in over-provisioning space - Google Patents

Computing method and apparatus of processing write in over-provisioning space Download PDF

Info

Publication number
KR101548086B1
KR101548086B1 KR1020140130733A KR20140130733A KR101548086B1 KR 101548086 B1 KR101548086 B1 KR 101548086B1 KR 1020140130733 A KR1020140130733 A KR 1020140130733A KR 20140130733 A KR20140130733 A KR 20140130733A KR 101548086 B1 KR101548086 B1 KR 101548086B1
Authority
KR
South Korea
Prior art keywords
virtual machine
ops
garbage collection
write
write command
Prior art date
Application number
KR1020140130733A
Other languages
Korean (ko)
Inventor
김재호
노삼혁
Original Assignee
홍익대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 홍익대학교 산학협력단 filed Critical 홍익대학교 산학협력단
Priority to KR1020140130733A priority Critical patent/KR101548086B1/en
Application granted granted Critical
Publication of KR101548086B1 publication Critical patent/KR101548086B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Abstract

The present invention relates to a computing method and apparatus for performing write in an over-provisioning space. According to one embodiment of the present invention, the computing method for performing write in an over-provisioning space with respect to the computing apparatus for performing write in an over-provisioning space comprises the steps of: receiving a write command; after confirming a virtual machine that has transmitted the write command, confirming whether garbage collection is required; if garbage collection is required, performing garbage collection; and after performing garbage collection, performing write in the over-provisioning space (OPS) of the virtual machine that has transmitted the write command.

Description

TECHNICAL FIELD [0001] The present invention relates to a computing method and apparatus for performing writing to an over-provisioning space,

The present invention relates to a computing method and apparatus for performing writing to an over-provisioning space.

Today, the number of computer devices using auxiliary storage devices such as SSDs is rapidly increasing, and the area of use is also expanding to server virtualization systems.

Korean Patent Registration No. 10-1209920 (2012.12.03) provides an SSD memory system including a set of SSD memory disk units. In particular, each SSD memory disk unit generally comprises (among other components) a host interface unit; A serial-attached small computer system interface (SAS) protocol controller coupled to the host interface unit and controlling the SAS protocol of the SSD memory disk unit; A direct memory access (DMA) controller coupled to the host interface unit and controlling access to the SSD memory disk unit; And a data buffer coupled to the DMA controller and buffering data stored in the SSD memory disk unit.

In addition, a recently used virtualization system should satisfy a service level objective (SLO) for each virtual machine of a customer.

In a virtualization system, techniques for providing hardware resources (for example, a central processing unit, main memory, etc.) separately in order to satisfy a service level target are actively researched.

However, there is a need for a new research on a technique of writing data by using OPS (Over-Provisioning Space) efficiently in a computing device including a virtualization system. In particular, in a virtualization environment where SSDs are shared by multiple virtual machines, there is a problem in that the input / output bandwidth can not be properly separated for each virtual machine.

SUMMARY OF THE INVENTION The present invention is directed to a computing method and apparatus for efficiently writing to an over-provisioning space.

A computing method for performing writing to an over-provisioning space according to an embodiment of the present invention includes: receiving a write command; checking a virtual machine that has sent the write command Performing garbage collection when the garbage collection is necessary, and writing to the OPS of the virtual machine that has transmitted the write command after performing the garbage collection.

According to another aspect of the present invention, there is provided a computing method for performing writing to an over-provisioning space, comprising: receiving a write command; receiving a write command from a first virtual machine; Performing a write to a first OPS that is an OPS of the first virtual machine, and writing to a second OPS that is an OPS of the second virtual machine when a write command is received from a second virtual machine.

A computing device that performs writing to an over-provisioning space according to an embodiment of the present invention includes a central processing unit, a main memory, an auxiliary memory processor, an auxiliary memory, and an auxiliary memory including an OPS, And is divided into at least two areas.

A computing device that performs writing to an over-provisioning space according to another embodiment of the present invention includes a first virtual machine, a second virtual machine, an auxiliary memory processor, an auxiliary memory, and an auxiliary memory including an OPS, The OPS includes a first OPS for the first virtual machine and a second OPS for the second virtual machine.

A computing device that performs writing to an over-provisioning space according to another embodiment of the present invention includes a first virtual machine, a second virtual machine, an auxiliary memory processor, an auxiliary memory, and an auxiliary memory including an OPS, , The OPS includes a first OS for the first virtual machine and a second OPS for the second virtual machine, and the auxiliary memory receives the write command from the first virtual machine upon receiving a write command A program that is instructed to perform a write to the first OPS that is the OPS of the first virtual machine and a write to the second OPS that is the OPS of the second virtual machine when the write command is received from the second virtual machine do.

A computing device that performs writing to an over-provisioning space according to another embodiment of the present invention includes a first virtual machine, a second virtual machine, an auxiliary memory processor, an auxiliary memory, and an auxiliary memory including an OPS, Wherein the OPS includes a first OPS for the first virtual machine and a second OPS for the second virtual machine, the auxiliary storage processor receives a write command and receives the write command from the first virtual machine Writes to the first OPS which is the OPS of the first virtual machine and writes to the second OPS which is the OPS of the second virtual machine when the write command is received from the second virtual machine.

The method and apparatus for writing to the over-provisioning space according to the embodiment of the present invention have the following effects.

First, the present invention can prevent interference between virtual machines by separately allocating OPS to each virtual machine.

Second, since each virtual machine has each OPS, the present invention efficiently reduces the time required for garbage collection by reducing data movement during garbage collection in an auxiliary storage device such as an SSD.

Third, the present invention can efficiently determine the over provisioning space (OPS) size of the virtual machine.

Fourth, the present invention can efficiently satisfy a service level objective (SLO) for each virtual machine of a customer.

FIG. 1 is a view for explaining a computing apparatus according to an embodiment of the present invention.
FIG. 2 is a view for explaining that each OPS is allocated to each virtual machine according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating a computing method for performing writing to an over-provisioning space according to the first embodiment of the present invention.
4 is a flowchart illustrating a computing method for performing writing to an over-provisioning space according to a second embodiment of the present invention.
5 is a flowchart illustrating a computing method for performing writing to an over-provisioning space according to a third embodiment of the present invention.
FIG. 6 is a flowchart illustrating a computing method for determining an over-provisioning space size according to the first embodiment of the present invention.
FIG. 7 is a flowchart illustrating a computing method for determining an over-provisioning space size according to a second embodiment of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. However, it is to be understood that the present invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. It is intended that the disclosure of the present invention be limited only by the terms of the appended claims.

Also, terms used herein are for the purpose of illustrating embodiments and are not intended to limit the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. &Quot; comprises "and / or" comprising "used in the specification do not exclude the presence or addition of components other than the components mentioned. Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs.

In the present invention, an Over-Provisioning Space (OPS) is a predetermined area for the computing device 1 to perform writing. In the present invention, a virtual machine (VM) 10 means a predetermined area for performing writing, and each virtual machine 10 has an OPS.

The OPS of the first virtual machine (VM1) 11 is set to the OPS of the first OPS 551 or the VM1 OPS 551 and the second virtual machine (VM2) 12 to the second OPS 552 Or the OPS of the VM2 OPS 552 and the third virtual machine VM3 13 will be described as a third OPS 553 or a VM3 OPS 553. [ At this time, the OPS of the entire computing device including the OPS of each virtual machine can be named as the whole OPS. For example, if there are three virtual machines, the entire OPS includes a first OPS 551, a second OPS 552, and a third OPS 553. The present invention is applicable to a computing device (1) including at least one virtual machine (10).

Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

FIG. 1 is a view for explaining a computing apparatus according to an embodiment of the present invention.

1, a computing device 1 according to an embodiment of the present invention includes at least one virtual machine 10, a virtualization system 20, a central processing unit 30, a main storage unit 40, (50).

The virtual machine 10 is a virtual machine created by the virtualization system 20. In the present invention, the virtual machine 10 transfers three virtual machines 10 to the first virtual machine (VM1) 11, the second virtual machine (VM2) 12, and the third virtual machine (VM3) The present invention is applicable to a computing device 1 including at least one virtual machine 10. The computing device 1 includes a plurality of virtual machines 10,

The virtualization system 20 is a part for creating the virtual machine 10. For example, the virtualization system 20 may be a hypervisor.

The central processing unit 30 is a part that performs computing operations. In addition, the central processing unit 30 is a part that controls the entire computing system and executes commands of various programs.

The main memory 40 is a part for storing data and result data during a computing operation for at least one process processed by the central processing unit 30. [ In addition, the main memory unit 40 reads the necessary files from the auxiliary memory unit 50 for the computing operation of the process, temporarily stores them, and terminates the computing operation for the process The result data can be stored in the computing operation until the data is transferred to the auxiliary storage device 50. [

The auxiliary storage device 50 is a kind of storage device for storing data. For example, the auxiliary storage device 50 may be a solid state drive (SSD) or a solid state disk (SSD), which is a mass storage device using a high-speed semiconductor memory such as NAND flash or DRAM as a storage medium. In the present invention, the SSD is exemplified as the auxiliary storage device 50, but the present invention can be applied to various auxiliary storage devices 50 as well.

The auxiliary memory device 50 includes an auxiliary memory device 510, an auxiliary memory device 520, an OPS 550, and a data area 570. At this time, the auxiliary storage device processor 510 and the auxiliary storage device memory 520 may be used as the control unit of the auxiliary storage device 50.

The auxiliary storage device processor 510 is a part that performs data reading, writing, and garbage collection (GC) on the auxiliary storage device 50.

For example, the auxiliary storage processor 510 receives the write command, checks the virtual machine 10 that has sent the write command, checks whether garbage collection is necessary, performs garbage collection if garbage collection is necessary, After performing the garbage collection, write is performed to the specific OPS 550 of the virtual machine 10 that has sent the write command.

When the write command is received from the first virtual machine 11 and the write command is received from the first virtual machine 11, the auxiliary memory processor 510 writes to the first OPS 551, which is the OPS 550 of the first virtual machine 11, And writes to the second OPS 552, which is the OPS 550 of the second virtual machine 12, when the write command is received from the second virtual machine 12.

In another embodiment, the auxiliary memory processor 510 determines the initial OPS 550 size of the virtual machine 10, determines the maximum input / output speed of the virtual machine 10, The initial garbage collection cost of the virtual machine 10 for maintaining the speed is calculated and the current garbage collection cost of the virtual machine 10 is checked and the initial garbage collection cost of the virtual machine 10 is compared with the current garbage collection cost , The size of the current OPS 550 is determined.

The auxiliary memory processor 510 also determines the size of the first OPS 550 of the first virtual machine 11 and the second virtual machine 12 and determines the size of the first virtual machine 11 and the second virtual machine 12 Of the first virtual machine 11 and the first garbage collection of the second virtual machine 12 for maintaining the maximum input / output speed of the first virtual machine 11 and the second virtual machine 12, The costs of the first virtual machine 11 and the second virtual machine 12 are checked and the current garbage collection cost of the first virtual machine 11 and the second virtual machine 12 is checked, The current garbage collection cost is compared to determine the current OPS 550 size.

The auxiliary memory device 520 is a part for storing a program (for example, firmware, etc.) for the auxiliary memory device 50. [

The OPS 550 is a predetermined area for the computing device 1 to perform writing. The OPS 550 is divided into the same number as the number of the virtual machines 10. If the number of the virtual machines 10 is at least two, the OPS 550 is also divided into at least two areas. For example, if the virtual machine 10 includes a first virtual machine 11, a second virtual machine 12, and a third virtual machine 13, then the OPS 550 can access the first virtual machine 11 A second OPS 552 for the second virtual machine 12, and a third OPS 553 for the third virtual machine 13. The first OPS 551 for the first virtual machine 12, the second OPS 552 for the second virtual machine 12, That is, the computing device 1 (or the auxiliary memory processor 510) uses the first OPS 551 for the first virtual machine 11 and the second OPS 552 for the second virtual machine 12 And the third OS 553 is used for the third virtual machine 13. The OPS 550 may be named as the whole OPS.

The present invention separates and manages the OPS 550 for each virtual machine 10 in order to manage input / output performance for each virtual machine 10.

For example, when receiving the write command, the auxiliary storage device memory 520 checks the virtual machine 10 that has sent the write command, checks whether garbage collection is necessary, performs garbage collection if garbage collection is necessary, And a program instructed to perform writing to the specific OPS 550 of the virtual machine 10 that has sent the write command after performing the garbage collection.

When receiving a write command from the first virtual machine 11 upon receiving the write command, the auxiliary memory 520 writes the write command to the first OPS 551, which is the OPS 550 of the first virtual machine 11, And a write command to the second OPS 552, which is the OPS 550 of the second virtual machine 12, when the write command is received from the second virtual machine 12. [

In another embodiment, the auxiliary storage memory 520 determines the size of the first OPS 550 of the virtual machine 10, determines the maximum input / output speed of the virtual machine 10, The initial garbage collection cost of the virtual machine 10 for maintaining the speed is calculated and the current garbage collection cost of the virtual machine 10 is checked and the initial garbage collection cost of the virtual machine 10 is compared with the current garbage collection cost , And a program that is commanded to determine the current OPS 550 size.

The auxiliary storage memory 520 also determines the size of the first OPS 550 of the first virtual machine 11 and the second virtual machine 12 and determines the size of the first virtual machine 11 and the second virtual machine 12 Of the first virtual machine 11 and the first garbage collection of the second virtual machine 12 for maintaining the maximum input / output speed of the first virtual machine 11 and the second virtual machine 12, The costs of the first virtual machine 11 and the second virtual machine 12 are checked and the current garbage collection cost of the first virtual machine 11 and the second virtual machine 12 is checked, Includes a program that is commanded to compare the current garbage collection cost to determine the current OPS 550 size.

The data area 570 is a part for storing data for the virtual machine 10.

FIG. 2 is a view for explaining that each OPS is allocated to each virtual machine according to an embodiment of the present invention.

Referring to FIG. 2, the SSD includes a first OPS (VM1 OPS) 551, a second OPS (VM2 OPS) 552, and a third OPS (VM3 OPS)

The computing device 1 is used for the first virtual machine 11 in the first OPS 551 and can not be used for the second virtual machine 12 and the third virtual machine 13. [

The computing device 1 is also used for the second virtual machine 12 in the second OPS 552 and can not be used for the first virtual machine 11 and the third virtual machine 13. [

The computing device 1 is also used for the third virtual machine 13 in the third OPS 553 and can not be used for the first virtual machine 11 and the second virtual machine 12. [

FIG. 3 is a flowchart illustrating a computing method for performing writing to an over-provisioning space according to the first embodiment of the present invention.

Referring to FIG. 3, the computing method for performing writing to the over-provisioning space according to the first embodiment of the present invention receives the write command by the computing device 1 (S310). Here, the computing device 1 is capable of an auxiliary storage processor 510.

The computing device 1 confirms the virtual machine 10 that has sent the write command (S320).

After the computing device 1 confirms the virtual machine 10 that has sent the write command, it checks whether garbage collection is necessary (S330).

The computing device 1 determines whether garbage collection is necessary, and performs garbage collection if garbage collection is required (S340).

After performing the garbage collection, the computing device 1 performs writing to the specific OPS 550 of the virtual machine 10 that has sent the write command (S350).

If the garbage collection is not necessary, the computing device 1 performs writing to the OPS 550 of the virtual machine 10 that has sent the write command (S350).

2, if the virtual machine 10 that sent the write command is the first virtual machine 11, then the computing device 1 may write to the first OPS 551 (VM1 OPS 550) .

4 is a flowchart illustrating a computing method for performing writing to an over-provisioning space according to a second embodiment of the present invention.

Referring to FIG. 4, the computing method for performing writing to the over-provisioning space according to the second embodiment of the present invention receives the write command by the computing device 1 (S410). Here, the computing device 1 is capable of an auxiliary storage processor 510.

The computing device 1 confirms whether it has received a write command from the first virtual machine 11 (S420).

After receiving the write command from the first virtual machine 11 after confirming that the write command is received from the first virtual machine 11, the computing device 1 checks whether garbage collection is necessary (S430).

The computing device 1 checks whether garbage collection is necessary, and performs garbage collection if garbage collection is required (S440).

After performing the garbage collection, the computing device 1 performs writing to the first OPS 551, which is the OPS 550 of the first virtual machine 11 (S450).

The computing device 1 determines whether garbage collection is necessary. If the garbage collection is not required, the computing device 1 performs writing to the first OPS 551 of the first virtual machine 11 at step S450.

If the computing device 1 has not received a write command from the first virtual machine 11 after confirming that the write command has been received from the first virtual machine 11, the computing device 1 receives a write command from the second virtual machine 12 (S425).

If the computing device 1 receives the write command from the second virtual machine 12 after confirming that the write command has been received from the second virtual machine 12, the computing device 1 determines whether garbage collection is necessary (S435).

If the computing device 1 has not received a write command from the second virtual machine 12 after confirming that the write command has been received from the second virtual machine 12, the computing device 1 receives the write command from the first virtual machine 11 (S420).

The computing device 1 checks whether garbage collection is necessary, and performs garbage collection if garbage collection is required (S445).

After performing the garbage collection, the computing device 1 performs writing to the second OPS 552 which is the OPS 550 of the second virtual machine 12 (S455).

The computing device 1 determines whether garbage collection is necessary. If the garbage collection is not required, the computing device 1 performs writing to the second OPS 552 of the second virtual machine 12 (S455).

5 is a flowchart illustrating a computing method for performing writing to an over-provisioning space according to a third embodiment of the present invention.

Referring to FIG. 5, a computing method for performing writing to an over-provisioning space according to the third embodiment of the present invention receives a write command from the computing device 1 (S510). Here, the computing device 1 is capable of an auxiliary storage processor 510.

The computing device 1 confirms whether it has received a write command from the first virtual machine 11 (S520).

If the computing device 1 receives the write command from the first virtual machine 11 after confirming that the write command has been received from the first virtual machine 11, the computing device 1 checks whether garbage collection is required (S530).

The computing device 1 checks whether garbage collection is necessary, and performs garbage collection if garbage collection is required (S540).

After performing the garbage collection, the computing device 1 performs writing to the first OPS 551 of the first virtual machine 11 (S550).

The computing device 1 determines whether garbage collection is necessary and performs writing to the first OPS 551 of the first virtual machine 11 at step S550 if garbage collection is not required.

If the computing device 1 has not received a write command from the first virtual machine 11 after confirming that the write command has been received from the first virtual machine 11, the computing device 1 receives a write command from the second virtual machine 12 (S525).

If the computing device 1 receives the write command from the second virtual machine 12 after confirming that the write command has been received from the second virtual machine 12, the computing device 1 determines whether garbage collection is necessary (S535).

The computing device 1 determines whether garbage collection is necessary, and performs garbage collection if garbage collection is required (S545).

After performing the garbage collection, the computing device 1 performs writing to the second OPS 552 which is the OPS 550 of the second virtual machine 12 (S555).

The computing device 1 checks whether garbage collection is necessary. If the garbage collection is not necessary, the computing device 1 performs writing to the second OPS 552 of the second virtual machine 12 (S555).

If the computing device 1 has not received the write command from the second virtual machine 12 after confirming that the write command has been received from the second virtual machine 12, the computing device 1 receives the write command from the third virtual machine 13 (S527).

If the computing device 1 has received the write command from the third virtual machine 13 after confirming that the write command has been received from the third virtual machine 13, the computing device 1 determines whether garbage collection is necessary (S537).

If the computing device 1 has not received a write command from the third virtual machine 13 after confirming that the write command has been received from the third virtual machine 13, the computing device 1 receives a write command from the first virtual machine 11 (S520).

The computing device 1 determines whether garbage collection is necessary (S537).

The computing device 1 determines whether garbage collection is necessary, and performs garbage collection if garbage collection is required (S547).

After performing the garbage collection, the computing device 1 performs writing to the third OPS 553, which is the OPS 550 of the third virtual machine 13 (S557).

The computing device 1 checks whether garbage collection is necessary. If the garbage collection is not necessary, the computing device 1 performs writing to the third OPS 553 of the third virtual machine 13 (S557).

FIG. 6 is a flowchart illustrating a computing method for determining an over-provisioning space size according to the first embodiment of the present invention.

First, in order to satisfy the SLO (Service Level Objective) which is the input / output (I / O) performance of each virtual machine 10 sharing the SSD which is the auxiliary storage device 50, the I / O performance and the cost of the garbage collection To understand the relationship. SSD write performance (IOPS SSD _W) may be defined by Equation (1) below, a write command (write request), an additional page write operation can (WAF (u)) caused by the garbage collection (GC) in performing the following (2) " Here, SSD has different characteristics of read and write, and since write performance greatly affects I / O performance of SSD, the present invention discusses write performance.

Figure 112014093169221-pat00001

Figure 112014093169221-pat00002

Where t GC is the garbage collection execution time, t PRG is the flash memory 1 page write time, and t Xfer is the flash internal bus 1 page transfer time. Also, u is the average value of the effective pages in the block selected as the target block when performing garbage collection, and this value can be the value observed in the SSD simulator.

In the present invention, the garbage collection cost is based on time, and the garbage collection cost is equivalent to the garbage collection execution time.

At this time, the garbage collection time t GC = WAF (u) * t PRG , where t PRG is a constant value and WAF (u) is a function of u.

In equation (1), t GC is the only variable required to calculate the SSD write performance, and the rest are all constants. Also, the only variable needed to calculate t GC is u.

From Equations 1 and 2, it can be seen that the SSD write performance is determined by the cost of garbage collection (GC) and the cost of garbage collection is determined by u. And u is directly affected by OPS (550) size. Therefore, in order to control I / O performance, it is essential to properly manage OPS 550 size. That is, the higher the value of u, the higher the garbage collection cost.

In general, since the OPS 550 is managed globally in the SSD, it is difficult to manage individual I / O performance for each virtual machine 10. Accordingly, the present invention proposes a method of managing OPS 550 separately for each virtual machine 10 in order to manage I / O performance for each virtual machine 10. The present invention can make the I / O performance of each virtual machine 10 flexible.

Referring to FIG. 6, the computing method for determining the over provisioning space size according to the first embodiment of the present invention determines the size of the first OPS 550 of the computing device 1 (S610). Here, the computing device 1 is capable of an auxiliary storage processor 510.

The computing device 1 confirms the maximum input / output speed of the auxiliary storage device 50 (S620).

The computing device 1 determines the maximum input / output speed of each virtual machine 10 (S630).

The computing device 1 calculates an initial garbage collection cost of each virtual machine 10 for maintaining the maximum input / output speed of each virtual machine 10 (S640). At this time, the garbage collection cost is the garbage collection execution time, and can be calculated using Equations 1 and 2 above.

The computing device 1 monitors the garbage collection cost (S650). This garbage collection monitoring identifies changes in the cost of garbage collection.

The computing device 1 confirms the current garbage collection cost of each virtual machine 10 (S660). Here, the current garbage collection cost is monitored while the current garbage collection cost is being monitored.

The computing device 1 compares the initial garbage collection cost of each virtual machine 10 with the current garbage collection cost (S670).

The computing device 1 determines the size of the current OPS 550 (S680). For example, if there are three virtual machines 10, each OPS 550 size is determined.

FIG. 7 is a flowchart illustrating a computing method for determining an over-provisioning space size according to a second embodiment of the present invention.

FIG. 7 is a flowchart illustrating a computing method for determining an over-provisioning space size according to a second embodiment of the present invention.

Referring to FIG. 7, a computing method for determining an over-provisioning space size according to a second embodiment of the present invention is a computing method in which the computing device 1 confirms the initial garbage collection cost of each virtual machine 10 and the current garbage collection cost (S710).

The computing device 1 determines whether the current garbage collection cost is equal to the initial garbage collection cost (S720).

After determining that the current garbage collection cost is the same as the initial garbage collection cost, the computing device 1 determines the current OPS 550 size at the initial OPS 550 size if the current garbage collection cost is equal to the initial garbage collection cost (S730).

If the current garbage collection cost is not equal to the initial garbage collection cost, then the computing device 1 determines whether the current garbage collection cost is smaller than the initial garbage collection cost S740).

The computing device 1 determines whether the current garbage collection cost is smaller than the initial garbage collection cost and then decreases the OPS 550 size of the corresponding specific virtual machine 10 if the current garbage collection cost is smaller than the initial garbage collection cost (S750). If the current garbage collection cost is not smaller than the initial garbage collection cost, the size of the OPS 550 of the corresponding specific virtual machine 10 is increased (S760), and the size of the OPS 550 is determined.

At this time, the total OPS size is maintained, and the OPS size of each virtual machine is adjusted in consideration of this.

The method according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination. Programs (program instructions) to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be those known to those skilled in the art of computer software technology. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical media such as a CDROM and a DVD, magneto-optical media such as a floppy disk, Hardware devices that are specifically configured to store and execute program instructions such as magneto-optical media, 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 present invention, and vice versa.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be appreciated that one embodiment is possible. Accordingly, the true scope of the present invention should be determined by the technical idea of the claims.

1: computing device
10: Virtual Machine
11: First virtual machine
12: Second virtual machine
13: Third virtual machine
20: Virtualization System
30: Central processing unit
40: Main memory device
50: auxiliary memory
510: Auxiliary storage processor
520: Auxiliary memory device
550: OPS
551: 1st OPs
552: 2ndOPS
553: 3rdOPS
570: data area

Claims (15)

A computing method in which a computing device performs writing to an overprovisioning space,
Receiving a write command,
Confirming a virtual machine that has transmitted the write command, and checking whether garbage collection is necessary;
Performing garbage collection if the garbage collection is required,
Performing a write to the OPS of the virtual machine that has transmitted the write command after performing the garbage collection; and performing write to the over-provisioning space.
The method according to claim 1,
And if the virtual machine sending the write command is a first virtual machine, writing to the over-provisioning space performing write to the first OPS is performed.
3. The method of claim 2,
Further comprising: identifying the virtual machine that sent the write command. ≪ Desc / Clms Page number 21 >
delete Central processing unit,
Main memory,
An auxiliary memory device including an auxiliary memory processor, an auxiliary memory, and an OPS,
The OPS is divided into at least two regions,
If the virtual machine includes a first virtual machine, a second virtual machine, and a third virtual machine, the OPS may include a first OS for the first virtual machine, a second OS for the second virtual machine, And writes to an overprovisioning space that includes a third OPS for the second OS.
Central processing unit,
Main memory,
An auxiliary memory device including an auxiliary memory processor, an auxiliary memory, and an OPS,
The OPS is divided into at least two regions,
Wherein the auxiliary memory device checks whether a garbage collection is required after confirming the virtual machine that has transmitted the write command upon receiving a write command, performs garbage collection if the garbage collection is necessary, Write to an over-provisioning space that includes a program that is instructed to perform a write to a particular OPS of the virtual machine that sent the write command.
Central processing unit,
Main memory,
An auxiliary memory device including an auxiliary memory processor, an auxiliary memory, and an OPS,
The OPS is divided into at least two regions,
Wherein the auxiliary memory device processor receives the write command, checks the virtual machine that has sent the write command, checks whether garbage collection is necessary, performs garbage collection if the garbage collection is necessary, Write to an over-provisioning space that performs write to a specific OPS of the virtual machine that sent the write command.
The first virtual machine,
The second virtual machine,
An auxiliary memory device including an auxiliary memory processor, an auxiliary memory, and an OPS,
Wherein the OPS writes to an over-provisioning space that includes a first OS for the first virtual machine and a second OS for the second virtual machine.
9. The method of claim 8,
Wherein the auxiliary memory device processor receives the write command, checks the virtual machine that has sent the write command, checks whether garbage collection is necessary, performs garbage collection if the garbage collection is necessary, Write to an over-provisioning space that performs write to a specific OPS of the virtual machine that sent the write command.
A computing method in which a computing device performs writing to an overprovisioning space,
Receiving a write command,
Performing a write to a first OPS that is an OPS of the first virtual machine when a write command is received from the first virtual machine,
And when the write command is received from the second virtual machine, performing a write to the second OPS, which is the OPS of the second virtual machine, the write to the over provisioning space.
11. The method of claim 10,
Determining whether garbage collection is needed, and performing garbage collection if the garbage collection is needed.
11. The method of claim 10,
And when the write command is received from the third virtual machine, performing a write to the third OPS which is the OPS of the third virtual machine.
The first virtual machine,
The second virtual machine,
An auxiliary memory device including an auxiliary memory processor, an auxiliary memory, and an OPS,
Wherein the OPS includes a first OPS for the first virtual machine and a second OPS for the second virtual machine,
When receiving the write command from the first virtual machine, the auxiliary memory device performs a write to the first OPS, which is the OPS of the first virtual machine, and transmits the write command from the second virtual machine And if so, writes to an over-provisioning space that includes a program instructed to perform a write to a second OPS that is an OPS of the second virtual machine.
The first virtual machine,
The second virtual machine,
An auxiliary memory device including an auxiliary memory processor, an auxiliary memory, and an OPS,
Wherein the OPS includes a first OPS for the first virtual machine and a second OPS for the second virtual machine,
Wherein the auxiliary memory processor receives a write command and, when receiving the write command from the first virtual machine, performs a write to a first OPS that is an OPS of the first virtual machine, And writes to an over-provisioning space that performs a write to a second OPS that is an OPS of the second virtual machine.
10. A computer-readable recording medium having recorded thereon a program for performing a writing method in an over-provisioning space of claim 1 or claim 10.
KR1020140130733A 2014-09-30 2014-09-30 Computing method and apparatus of processing write in over-provisioning space KR101548086B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140130733A KR101548086B1 (en) 2014-09-30 2014-09-30 Computing method and apparatus of processing write in over-provisioning space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140130733A KR101548086B1 (en) 2014-09-30 2014-09-30 Computing method and apparatus of processing write in over-provisioning space

Publications (1)

Publication Number Publication Date
KR101548086B1 true KR101548086B1 (en) 2015-08-27

Family

ID=54062180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140130733A KR101548086B1 (en) 2014-09-30 2014-09-30 Computing method and apparatus of processing write in over-provisioning space

Country Status (1)

Country Link
KR (1) KR101548086B1 (en)

Similar Documents

Publication Publication Date Title
US8793427B2 (en) Remote memory for virtual machines
JP7280508B2 (en) Information processing device, information processing method, and virtual machine connection management program
JP5733136B2 (en) Information processing apparatus control method, control program, and information processing apparatus
US20160378656A1 (en) Storage device, cache-write control method, and cache-write control program
US10860225B2 (en) Apparatus and method for routing access based on device load
US20130054840A1 (en) Tag allocation for queued commands across multiple devices
US8843672B2 (en) Access method, computer and recording medium
US20140317346A1 (en) Redundant array of independent disks systems that utilize spans with different storage device counts for a logical volume
US20170123699A1 (en) Storage control device
US9910599B2 (en) Cache read-modify-write process control based on monitored criteria
US10891150B2 (en) Storage control method and storage controller for user individual service environment
KR101539895B1 (en) Computing method and apparatus of determining size of over-provisioning space
US20190278632A1 (en) Information processing apparatus and information processing system
US11429431B2 (en) Information processing system and management device
KR101899719B1 (en) Method for limiting i/o performance of virtual machine
WO2017126003A1 (en) Computer system including plurality of types of memory devices, and method therefor
CN112486858A (en) Data prefetching method and device
US10664193B2 (en) Storage system for improved efficiency of parity generation and minimized processor load
US10877790B2 (en) Information processing apparatus, control method and storage medium
US20160085448A1 (en) Enhanced interface to firmware operating in a solid state drive
US10346070B2 (en) Storage control apparatus and storage control method
KR20190116641A (en) Storage apparatuses for virtualized system and operating methods thereof
KR101548086B1 (en) Computing method and apparatus of processing write in over-provisioning space
US10007437B2 (en) Management apparatus, storage system, method, and computer readable medium
CN107870877B (en) Method and system for managing data access in a storage system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190717

Year of fee payment: 5