Data management method and device
Technical Field
The invention relates to the field of solid state disks, in particular to a data management method and device.
Background
The mapping table cannot be fixedly updated into one or more blocks (blocks), otherwise, one or more blocks are erased and written repeatedly, and the risk of bad blocks is increased. It is therefore desirable to have the storage of mapping tables as streamed as possible in flash memory (flash).
If the mapping table is divided into a plurality of independent pages, the pages are written into the flash as common data pages (datapages), and the recovery operation of a Wear Leveling (WL) and a Garbage Collector (GC) is carried out together with the common data pages. However, since the mapping table page (mappingtablepage) does not have a corresponding Logical Page (LPN) number, it causes a trouble in GC recycling.
Therefore, how to facilitate the GC to uniformly recycle and manage the data page and the mapping table page becomes a problem to be solved urgently.
Disclosure of Invention
In view of the above, the present invention is directed to a data management method and apparatus, which at least facilitate the GC to uniformly recover and manage the data page and the mapping table.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
the invention discloses a data management method, which comprises the following steps:
dividing a mapping table into M independent mapping table pages, wherein M is a positive integer;
allocating a unique virtual LPN number for each mapping table page;
storing the mapping table page based on the virtual LPN number.
In the foregoing solution, preferably, the storing the mapping table page based on the virtual LPN number includes:
reserving an integer field of the page tail of the mapping table page;
the virtual LPN number is stored in the integer field.
In the foregoing solution, preferably, the allocating a virtual LPN number to each mapping table page includes:
acquiring a first field corresponding to a data page; the first field refers to a field reserved for a data page by a file system;
determining a second field based on the first field; wherein the second field is a field which cannot be covered by the file system;
and allocating a unique virtual LPN number to each mapping table page randomly or sequentially from the second field.
In the foregoing solution, preferably, the method further includes:
when the data is recycled, the data is processed,
obtaining an LPN number corresponding to a current page;
determining a type of a current page based on the LPN number;
when the current page is a mapping table page, judging the validity of the mapping table page by a corresponding family table, and if the mapping table page is invalid, recycling the mapping table page;
and when the current page is a data page, judging the validity of the data page corresponding to the mapping table, and if the data page is invalid, recovering the data page.
In the foregoing solution, preferably, the determining the type of the current page based on the LPN number includes:
checking the field type corresponding to the LPN number;
if the field type is a first field, judging that the type of the current page is a data page;
and if the field type is the second field, judging that the type of the current page is the mapping table page.
In the above scheme, preferably, the family table records a one-to-one correspondence relationship between a mapping table and a physical page number (VPN) with a virtual LPN number as an index;
the mapping table records a one-to-one correspondence relationship between the data page and the VPN by taking the LPN number as an index.
In the foregoing solution, preferably, the determining, by the family table, validity of the mapping table page includes:
acquiring a VPN number corresponding to a mapping table page;
searching a standard VPN number corresponding to the virtual LPN number in a family table according to the virtual LPN number of the mapping table page;
judging whether the VPN number is consistent with the standard VPN number, and if so, judging that the mapping table page is effective; and if not, judging that the mapping table page is invalid.
In the foregoing solution, preferably, the determining, by the mapping table, the validity of the data page includes:
acquiring a VPN number corresponding to a data page;
searching a standard VPN number corresponding to the LPN number in a mapping table according to the LPN number of the data page;
judging whether the VPN number is consistent with the standard VPN number or not; if the data pages are consistent, judging that the data pages are valid; and if the data pages are not consistent, judging that the data pages are invalid.
The invention also discloses a data management device, which comprises:
the mapping table comprises a dividing unit, a mapping table page generation unit and a mapping table generation unit, wherein the dividing unit is used for dividing the mapping table into M independent mapping table pages, and M is a positive integer;
an allocation unit, configured to allocate a virtual logical page LPN number to each mapping table page;
a storage unit, configured to store the mapping table page based on the virtual LPN number.
In the foregoing solution, preferably, the storage unit is further configured to:
the reservation module is used for reserving an integer field of the page tail of the mapping table page;
and the storage module is used for storing the virtual LPN number in the integer field.
In the foregoing solution, preferably, the allocation unit includes:
the first acquisition module is used for acquiring a first field corresponding to the data page; the first field refers to a field reserved for a data page by a file system;
a first determining module to determine a second field based on the first field; wherein the second field is a field which cannot be covered by the file system;
and the allocation module is used for allocating a unique virtual LPN number to each mapping table page randomly or sequentially from the second field.
In the foregoing solution, preferably, the apparatus further includes: a recovery unit, wherein the recovery unit comprises:
the second acquisition module is used for acquiring the LPN number corresponding to the current page;
a second determining module, configured to determine a type of the current page based on the LPN number;
the first recovery module is used for judging the validity of the mapping table page by the corresponding family table when the current page is the mapping table page, and if the mapping table page is invalid, performing recovery processing on the mapping table page;
and the second recovery module is used for judging the validity of the data page corresponding to the mapping table when the current page is the data page, and recovering the data page if the data page is invalid.
Preferably, the second determining module is further configured to: checking the field type corresponding to the LPN number; if the field type is a first field, judging that the type of the current page is a data page; and if the field type is the second field, judging that the type of the current page is the mapping table page.
In the above scheme, preferably, a one-to-one correspondence relationship between the mapping table and the physical page number VPN is recorded in the family table, with the virtual LPN number as an index;
the mapping table records a one-to-one correspondence relationship between the data page and the VPN by taking the LPN number as an index.
In the foregoing scheme, preferably, the first recovery module is further configured to:
acquiring a VPN number corresponding to a mapping table page;
searching a standard VPN number corresponding to the virtual LPN number in a family table according to the virtual LPN number of the mapping table page;
judging whether the VPN number is consistent with the standard VPN number, and if so, judging that the mapping table page is effective; and if not, judging that the mapping table page is invalid.
In the foregoing solution, preferably, the second recovery module is further configured to:
acquiring a VPN number corresponding to a data page;
searching a standard VPN number corresponding to the LPN number in a mapping table according to the LPN number of the data page;
judging whether the VPN number is consistent with the standard VPN number or not; if the data pages are consistent, judging that the data pages are valid; and if the data pages are not consistent, judging that the data pages are invalid.
According to the data management method and device provided by the invention, a mapping table is divided into M independent mapping table pages, wherein M is a positive integer; allocating a unique virtual LPN number for each mapping table page; storing the mapping table page based on the virtual LPN number; in this way, at least the GC is facilitated to uniformly reclaim and manage the data page and the mapping table page.
Drawings
Fig. 1 is a schematic flow chart illustrating an implementation of a data management method according to an embodiment of the present invention;
fig. 2 is a schematic flow chart illustrating an implementation of another data management method according to an embodiment of the present invention;
fig. 3 is a schematic flow chart illustrating an implementation of another data management method according to an embodiment of the present invention;
fig. 4(a) is a schematic diagram of a mapping table page provided by an embodiment of the present invention, fig. 4(b) is a schematic diagram of another mapping table page provided by an embodiment of the present invention, and fig. 4(c) is a schematic diagram of a current family table provided by an embodiment of the present invention;
fig. 5 is a schematic flow chart illustrating an implementation of another data management method according to an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of a data management apparatus according to an embodiment of the present invention;
FIG. 7 is a schematic structural diagram of another data management apparatus according to an embodiment of the present invention;
FIG. 8 is a schematic structural diagram of another data management apparatus according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of another data management apparatus according to an embodiment of the present invention.
Detailed Description
So that the manner in which the features and aspects of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings.
Example one
Fig. 1 is a schematic diagram of an implementation flow of a data management method according to an embodiment of the present invention, and in a preferred embodiment of the present invention, as shown in fig. 1, the data management method mainly includes the following steps:
step 101: and dividing the mapping table into M independent mapping table pages, wherein M is a positive integer.
Step 102: each mapping table page is assigned a unique virtual logical page LPN number.
Preferably, the allocating a virtual LPN number to each mapping table page may include:
acquiring a first field corresponding to a data page; the first field refers to a field reserved for a data page by a file system;
determining a second field based on the first field; wherein the second field is a field which cannot be covered by the file system;
and allocating a unique virtual LPN number to each mapping table page randomly or sequentially from the second field.
For example, the second field may be a complex field. That is, the virtual LPN number may use a field (e.g., a complex number field) that is not covered by the LPN number allocated by the file system for the data page.
Step 103: storing the mapping table page based on the virtual LPN number.
Preferably, the storing the mapping table page based on the virtual LPN number may include:
reserving an integer field of the page tail of the mapping table page;
the virtual LPN number is stored in the integer field.
In the data management method of this embodiment, when storing the mapping table, the mapping table is divided into independent mapping table pages for storage, and a virtual LPN number that can be distinguished from a data page identification number (i.e., an LPN number) is allocated to each mapping table page; thus, the subsequent management of the mapping table is facilitated.
Example two
Fig. 2 is a schematic flow chart of another implementation of a data management method according to an embodiment of the present invention, and in a preferred embodiment of the present invention, as shown in fig. 2, the data management method mainly includes the following steps:
step 201: and acquiring the LPN number corresponding to the current page.
It should be noted that this embodiment is completed based on fig. 1. That is, when storing, the mapping table has been divided into independent mapping table pages, and a virtual LPN number is assigned to each mapping table page; at the same time, the file system also assigns an LPN number to each data page.
Step 202: determining a type of a current page based on the LPN number.
Preferably, the determining the type of the current page based on the LPN number may include:
checking the field type corresponding to the LPN number;
if the field type is a first field, judging that the type of the current page is a data page;
and if the field type is the second field, judging that the type of the current page is the mapping table page.
Step 203: and recycling the current page according to a preset strategy.
Preferably, the recycling processing of the current page according to a preset policy may include:
when the current page is a mapping table page, judging the validity of the mapping table page by a corresponding family table, and if the mapping table page is invalid, recycling the mapping table page;
and when the current page is a data page, judging the validity of the data page corresponding to the mapping table, and if the data page is invalid, recovering the data page.
Wherein, the family table records a one-to-one correspondence relationship between a mapping table and a physical page number VPN by taking a virtual LPN number as an index;
the mapping table records a one-to-one correspondence relationship between the data page and the VPN by taking the LPN number as an index.
In the data management method of this embodiment, an LPN number corresponding to a current page is obtained; determining a type of a current page based on the LPN number; recycling the current page according to a preset strategy; therefore, the data page and the mapping table page are convenient to be uniformly recycled and managed.
EXAMPLE III
Fig. 3 is a schematic flow chart of an implementation of another data management method according to an embodiment of the present invention, and in a preferred embodiment of the present invention, as shown in fig. 3, the data management method mainly includes the following steps:
step 301: and acquiring the VPN number corresponding to the mapping table page.
It should be noted that the present embodiment is a processing flow of the mapping table page given in the scenario in which fig. 2 has determined that the current page is the mapping table page.
Step 302: and searching a standard VPN number corresponding to the virtual LPN number in a family table according to the virtual LPN number of the mapping table page.
The family table records a one-to-one correspondence relationship between a mapping table and a VPN by using a virtual LPN number as an index.
Step 303: judging whether the VPN number is consistent with the standard VPN number, and if so, judging that the mapping table page is effective; and if not, judging that the mapping table page is invalid.
Fig. 4(a) shows a mapping table page schematic, where the length of the whole word in the end of the page stores the virtual LPN number 5 and the VPN storing the mapping table page is 10;
that is, the VPN-10 stores a mapping table page with virtual LPN number 5, and if the page is rewritten, there must be another VPN storing the page, for example, VPN-20, as shown in fig. 4 (b);
fig. 4(c) shows a schematic diagram of a current family table (clustertable), according to which the validity of the mapping table is judged, and it can be seen from fig. 4-c that since the family table is indexed by a virtual LPN number, the VPN corresponding to the virtual LPN is 20, and then the mapping table page stored on VPN-10 corresponding to fig. 4-a is invalid, and should be recovered.
In the data management method of this embodiment, the mapping table is already divided into independent mapping table pages during storage, and how to judge the validity of the mapping table pages corresponding to the family table is given on the basis that a virtual LPN number is allocated to each mapping table page.
Example four
Fig. 5 is a schematic flow chart of an implementation of another data management method according to an embodiment of the present invention, and in a preferred embodiment of the present invention, as shown in fig. 5, the data management method mainly includes the following steps:
step 501: and acquiring a VPN number corresponding to the data page.
It should be noted that the present embodiment is a processing flow of the data page given in the scenario in which fig. 2 already determines that the current page is the data page.
Step 502: and searching a standard VPN number corresponding to the LPN number in a mapping table according to the LPN number of the data page.
Wherein, the family table records a one-to-one corresponding relation between a mapping table and a VPN by taking a virtual LPN number as an index;
the mapping table records a one-to-one correspondence relationship between the data page and the VPN by taking the LPN number as an index.
Step 503: judging whether the VPN number is consistent with the standard VPN number or not; if the data pages are consistent, judging that the data pages are valid; and if the data pages are not consistent, judging that the data pages are invalid.
The difference between this embodiment and the third embodiment is that: the LPN number stored at the end of each data page is stored in the last page of each block in a centralized manner, and only the way of reading the LPN number is different, but the validity is determined by looking up the table in the same manner, which is not described herein again.
In the data management method of this embodiment, the mapping table is already divided into independent mapping table pages during storage, and how to determine the validity of the data page corresponding to the mapping table is given on the basis that a virtual LPN number is allocated to each mapping table page.
EXAMPLE five
An embodiment of the present invention provides a data management apparatus, and fig. 6 is a schematic structural diagram of a data management apparatus according to an embodiment of the present invention, and as shown in fig. 6, the data management apparatus includes:
a dividing unit 61, configured to divide the mapping table into M independent mapping table pages, where M is a positive integer;
an allocating unit 62 configured to allocate a virtual LPN number to each mapping table page;
a storage unit 63, configured to store the mapping table page based on the virtual LPN number.
Preferably, the distribution unit 62 includes:
a first obtaining module 621, configured to obtain a first field corresponding to the data page; the first field refers to a field reserved for a data page by a file system;
a first determining module 622 for determining a second field based on the first field; wherein the second field is a field which cannot be covered by the file system;
and an allocating module 623, configured to allocate a unique virtual LPN number to each mapping table page randomly or sequentially from the second field.
For example, the second field may be a complex field. That is, the virtual LPN number may be a field (e.g., a complex number field) that is not covered by the LPN number assigned to the data page by the file system
Preferably, the storage unit 63 includes:
a reserving module 631, configured to reserve an integer field of a page tail of the mapping table page;
a storing module 632, configured to store the virtual LPN number in the integer field.
It should be understood by those skilled in the art that the functions of the units in the data management device of this embodiment may be implemented by analog circuits that implement the functions described in the embodiments of the present invention, or by running software that executes the functions described in the embodiments of the present invention on an intelligent terminal.
It should be noted that the data management apparatus of this embodiment may be disposed in a terminal, and the functions of the partitioning unit 61, the allocating unit 62, the storing unit 63, and the modules included in the units according to the embodiment of the present invention may be implemented by a Central Processing Unit (CPU), a Micro Processing Unit (MPU), a Digital Signal Processing (DSP) chip, or the like of the data management apparatus or the terminal to which the data management apparatus belongs.
By adopting the data management device of the embodiment, the storage of the mapping table can flow in the flash memory as much as possible, and the subsequent management of the mapping table is convenient.
EXAMPLE six
An embodiment of the present invention provides another data management apparatus, and fig. 7 is a schematic structural diagram of a data management apparatus according to an embodiment of the present invention, and as shown in fig. 7, the data management apparatus includes:
a dividing unit 61, configured to divide the mapping table into M independent mapping table pages, where M is a positive integer;
an allocating unit 62 configured to allocate a virtual LPN number to each mapping table page;
a storage unit 63 configured to store the mapping table page based on the virtual LPN number;
a recovery unit 64, configured to obtain an LPN number corresponding to a current page when performing recovery processing on data; determining a type of a current page based on the LPN number; when the current page is a mapping table page, judging the validity of the mapping table page by a corresponding family table, and if the mapping table page is invalid, recycling the mapping table page; and when the current page is a data page, judging the validity of the data page corresponding to the mapping table, and if the data page is invalid, recovering the data page.
Wherein, the family table records a one-to-one correspondence relationship between a mapping table and a physical page number VPN by taking a virtual LPN number as an index;
the mapping table records a one-to-one correspondence relationship between the data page and the VPN by taking the LPN number as an index.
Wherein the recovery unit 64 includes:
a second obtaining module 641, configured to obtain an LPN number corresponding to the current page;
a second determining module 642, configured to determine a type of the current page based on the LPN number;
a first recovery module 643, configured to, when the current page is a mapping table page, determine validity of the mapping table page by using a corresponding family table, and if the mapping table page is invalid, perform recovery processing on the mapping table page;
a second recycling module 644, configured to, when the current page is a data page, determine validity of the data page according to the mapping table, and if the data page is invalid, recycle the data page.
Preferably, the second determining module 642 is further configured to: checking the field type corresponding to the LPN number; if the field type is a first field, judging that the type of the current page is a data page; and if the field type is the second field, judging that the type of the current page is the mapping table page.
It should be understood by those skilled in the art that the functions of the units in the data management device of this embodiment may be implemented by analog circuits that implement the functions described in the embodiments of the present invention, or by running software that executes the functions described in the embodiments of the present invention on an intelligent terminal.
It should be noted that the data management apparatus of this embodiment may be disposed in a terminal, and the functions of the dividing unit 61, the allocating unit 62, the storing unit 63, the recovering unit 64, and the modules included in the units according to the embodiment of the present invention may be implemented by a CPU, an MPU, a DSP chip, or the like of the data management apparatus or the terminal to which the data management apparatus belongs.
By adopting the data management device of the embodiment, the GC is at least convenient to uniformly recycle and manage the data page and the mapping table page.
EXAMPLE seven
Fig. 8 is a schematic structural diagram of another data management apparatus provided in an embodiment of the present invention, and as shown in fig. 8, the data management apparatus includes: a dividing unit 61, a distributing unit 62, a storage unit 63, and a recovery unit 64; wherein,
the dividing unit 61 is configured to divide the mapping table into M independent mapping table pages, where M is a positive integer;
the allocating unit 62 is configured to allocate a virtual LPN number to each mapping table page;
the storage unit 63 is configured to store the mapping table page based on the virtual LPN number;
the recovery unit 64 is configured to obtain an LPN number corresponding to the current page; determining a type of a current page based on the LPN number; and recycling the current page according to a preset strategy.
Preferably, the recovery unit 64 includes:
a second obtaining module 641, configured to obtain an LPN number corresponding to the current page;
a second determining module 642, configured to determine a type of the current page based on the LPN number;
a first recovery module 643, configured to, when the current page is a mapping table page, determine validity of the mapping table page by using a corresponding family table, and if the mapping table page is invalid, perform recovery processing on the mapping table page;
a second recycling module 644, configured to, when the current page is a data page, determine validity of the data page according to the mapping table, and if the data page is invalid, recycle the data page.
Preferably, the second determining module 642 is further configured to: checking the field type corresponding to the LPN number; if the field type is a first field, judging that the type of the current page is a data page; and if the field type is the second field, judging that the type of the current page is the mapping table page.
Preferably, the first recovery module 643, including:
a first obtaining submodule 6431, configured to obtain a VPN number corresponding to a mapping table page;
a first lookup sub-module 6432, configured to lookup, in a family table, a standard VPN number corresponding to the virtual LPN number according to the virtual LPN number of the mapping table page;
a first determining submodule 6433, configured to determine whether the VPN number is consistent with the standard VPN number, and if so, determine that the mapping table page is valid; and if not, judging that the mapping table page is invalid.
It should be noted that the data management apparatus of this embodiment may be disposed in a terminal, and the functions of the dividing unit 61, the allocating unit 62, the storing unit 63, the recovering unit 64, and the modules included in the units according to the embodiment of the present invention may be implemented by a CPU, an MPU, a DSP chip, or the like of the data management apparatus or the terminal to which the data management apparatus belongs.
By adopting the data management device of the embodiment, the data page and the mapping table page can be recycled and managed uniformly, and the validity of the mapping table page can be better judged corresponding to the family table.
Example eight
Fig. 9 is a schematic structural diagram of another data management apparatus provided in an embodiment of the present invention, and as shown in fig. 9, the data management apparatus includes: a dividing unit 61, a distributing unit 62, a storage unit 63, and a recovery unit 64; wherein,
the dividing unit 61 is configured to divide the mapping table into M independent mapping table pages, where M is a positive integer;
the allocating unit 62 is configured to allocate a virtual LPN number to each mapping table page;
the storage unit 63 is configured to store the mapping table page based on the virtual LPN number;
the recovery unit 64 is configured to obtain an LPN number corresponding to the current page; determining a type of a current page based on the LPN number; and recycling the current page according to a preset strategy.
Preferably, the recovery unit 64 includes:
a second obtaining module 641, configured to obtain an LPN number corresponding to the current page;
a second determining module 642, configured to determine a type of the current page based on the LPN number;
a first recovery module 643, configured to, when the current page is a mapping table page, determine validity of the mapping table page by using a corresponding family table, and if the mapping table page is invalid, perform recovery processing on the mapping table page;
a second recycling module 644, configured to, when the current page is a data page, determine validity of the data page according to the mapping table, and if the data page is invalid, recycle the data page.
Preferably, the second determining module 642 is further configured to: checking the field type corresponding to the LPN number; if the field type is a first field, judging that the type of the current page is a data page; and if the field type is the second field, judging that the type of the current page is the mapping table page.
Preferably, the second recycling module 644 includes:
a second obtaining submodule 6441, configured to obtain a VPN number corresponding to the data page;
a second lookup submodule 6442, configured to lookup, in a mapping table, a standard VPN number corresponding to the LPN number according to the LPN number of the data page;
a second judging submodule 6443, configured to judge whether the VPN number is consistent with the standard VPN number; if the data pages are consistent, judging that the data pages are valid; and if the data pages are not consistent, judging that the data pages are invalid.
It should be understood by those skilled in the art that the functions of the units in the data management device of this embodiment may be implemented by analog circuits that implement the functions described in the embodiments of the present invention, or by running software that executes the functions described in the embodiments of the present invention on an intelligent terminal.
It should be noted that the data management apparatus of this embodiment may be disposed in a terminal, and the functions of the dividing unit 61, the allocating unit 62, the storing unit 63, the recovering unit 64, and the modules included in the units according to the embodiment of the present invention may be implemented by a CPU, an MPU, a DSP chip, or the like of the data management apparatus or the terminal to which the data management apparatus belongs.
By adopting the data management device of the embodiment, the data page and the mapping table page can be recovered and managed uniformly, and the validity of the data page can be judged better according to the mapping table.
In the embodiments provided in the present invention, it should be understood that the disclosed method, apparatus and electronic device may be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of the unit is only a logical functional division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed on a plurality of network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, all the functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: a removable memory device, a Read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
Alternatively, the integrated unit according to the embodiment of the present invention may be stored in a computer-readable storage medium if it is implemented in the form of a software functional module and sold or used as a separate product. Based on such understanding, the technical solutions of the embodiments of the present invention may be essentially implemented or a part contributing to the prior art may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the methods described in the embodiments of the present invention. And the aforementioned storage medium includes: a removable storage device, a ROM, a RAM, a magnetic or optical disk, or various other media that can store program code.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.