Query pattern-based dynamic storage allocation method, and system therefor

The dynamic storage allocation method optimizes data storage in cloud computing servers by using a data filter based on query patterns to minimize unnecessary data movements, enhancing efficiency and reducing costs.

WO2026127509A1PCT designated stage Publication Date: 2026-06-18SAMSUNG ELECTRONICS CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2025-12-04
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Existing data storage methods in cloud computing servers are inefficient and costly due to frequent data movements between storage classes based on access patterns, leading to increased network load and resource wastage.

Method used

A dynamic storage allocation method that uses a data filter generated from query pattern history to store data in high-performance first storage or low-performance second storage based on filtering, reducing unnecessary data movements and optimizing storage resources.

Benefits of technology

This approach enhances storage efficiency by minimizing costly data movements, improving data retrieval speed, and reducing network load while maintaining cost-effectiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025020724_18062026_PF_FP_ABST
    Figure KR2025020724_18062026_PF_FP_ABST
Patent Text Reader

Abstract

Various embodiments of the present invention comprise: a memory (170) for storing instructions; and a processor (110), wherein, when executed by the processor, the instructions instruct a data storage system (101) to: generate a data filter on the basis of a query pattern history; acquire, as data, query information input during a data inquiry; apply the data filter to the acquired data; store, in a first storage, data filtered out by the data filter; and store, in a second storage, data not filtered by the data filter, the first storage having a higher data processing speed than the second storage. Various embodiments are possible.
Need to check novelty before this filing date? Find Prior Art

Description

Dynamic storage allocation method based on query patterns and the system thereof

[0001] Various embodiments of the present disclosure disclose a dynamic storage allocation method and a system based on a query pattern.

[0002] With the development of digital technology, various types of electronic devices such as mobile communication terminals, PDAs (personal digital assistants), electronic notebooks, smartphones, tablet PCs (personal computers), or wearable devices are widely used. To support and enhance the functionality of these electronic devices, the hardware and / or software parts of the devices are continuously being improved. For example, electronic devices provide services that allow data to be stored not only in internal memory (e.g., hard disks) but also on external servers (e.g., cloud computing servers).

[0003] Cloud computing servers store data (e.g., queries, telemetry data) requested (e.g., storage, transmission) from multiple user devices. It can be inefficient to increase the hardware (e.g., databases) for data storage every time the amount of data stored on a cloud computing server increases. Therefore, cloud computing servers can reduce the cost of maintaining storage resources by efficiently managing stored data. By streamlining data storage methods, cloud computing servers can configure a low-cost, high-performance system.

[0004] The information described above may be provided as related art for the purpose of aiding understanding of the present disclosure. No claim or determination is made as to whether any of the foregoing may be applied as prior art related to the present disclosure.

[0005] A system (e.g., a cloud computing server) distinguishes data storage classes (e.g., hot, warm, cold) and establishes data lifecycle rules, allowing it to change data storage classes according to these rules. Higher storage classes (e.g., class levels) (e.g., hot) may entail higher performance and higher costs, while lower storage classes (e.g., cold) may entail lower performance and lower costs. The system may use a lifecycle method that moves data stored in a first (e.g., high-level) storage to a second (e.g., low-level) storage after a period of time, based on the lifecycle rules. Alternatively, the system may use an access pattern method that determines the storage location for data based on the frequency of data access (e.g., frequent, infrequent, never).

[0006] However, the lifecycle method allows data stored in the first storage to be moved to the second storage as data importance or access patterns change over time. Generally, storage efficiency can be improved by storing frequently used data in a high-level storage (e.g., the first storage) and rarely used data in a low-level storage (e.g., the second storage); however, the lifecycle method may store data in the high-level storage from the beginning regardless of whether it is frequently used. Additionally, the access pattern method prioritizes storing data in the high-level storage when initially saving it, and then moves it to the low-level storage based on data access frequency. In this case, storage switching costs may arise due to frequent storage movements. If data is moved frequently, network load increases and system resources may be wasted.

[0007] In one embodiment, a method and apparatus may be disclosed for applying acquired data to a data filter (or data storage (or management) rule) generated based on a query pattern history, storing data filtered by the data filter in a first storage, and storing data not filtered by the data filter in a second storage.

[0008] A data storage system (101) according to one embodiment of the present disclosure includes a memory (170) for storing instructions; and a processor (110). When the instructions are executed by the processor, the data storage system generates a data filter based on a query pattern history, acquires query information input during data retrieval as data, applies the data filter to the acquired data, stores the data filtered by the data filter in a first storage, and stores the data not filtered by the data filter in a second storage. The first storage may have a faster data processing speed than the second storage.

[0009] A method of operation of a data storage system (101) according to one embodiment of the present disclosure includes: generating a data filter based on a query pattern history; acquiring query information input during data retrieval as data; applying the data filter to the acquired data; storing data filtered by the data filter in a first storage; and storing data not filtered by the data filter in a second storage, wherein the first storage may have a faster data processing speed than the second storage.

[0010] According to one embodiment, a data filter (or data storage (or management) rule) is generated based on a query pattern history, and storage is determined based on whether the data filter is filtered. By storing data in the determined storage, storage resources can be efficiently managed from the time of data storage.

[0011] According to one embodiment, by determining the storage to be stored before storing the data and storing the data in the determined storage, the cost associated with moving data to storage can be reduced compared to the access pattern method.

[0012] According to one embodiment, unlike the prior art in which data is first stored in the first storage and then moved to the second storage according to an access pattern policy, data can be dynamically stored in the first storage or the second storage depending on whether the data filter is filtered.

[0013] According to one embodiment, a data filter can be updated, and storage can be reallocated as the data filter is updated.

[0014] According to one embodiment, by applying each lifecycle rule to each storage, data stored in the storage that has passed the lifecycle included in the lifecycle rule can be automatically deleted.

[0015] According to one embodiment, by applying each data lifecycle rule to each storage, data stored in the storage whose lifecycle included in the lifecycle rule has passed can be moved to another storage.

[0016] According to one embodiment, by storing key keywords corresponding to the query pattern as labels along with the data, the scanning speed of the stored data can be improved during data querying.

[0017] According to one embodiment, telemetry data can be retrieved quickly over a long period of time. Even if telemetry data increases, the storage period of the increased telemetry data and the data scanning speed can be improved.

[0018] In a scenario where user data stored in a cloud computing system is retrieved, a storage class policy per electronic device can be created by generating a data filter that specifies that user data from electronic devices be stored in different storage based on the electronic device's access frequency (e.g., heavy, normal, light).

[0019] According to one embodiment, the quality of the filter can be improved by utilizing generative AI for data analysis in the process of generating a filter by analyzing a user's query pattern.

[0020] In relation to the description of the drawings, the same or similar reference numerals may be used for identical or similar components.

[0021] FIG. 1 is a block diagram illustrating the configuration of a data management system according to one embodiment.

[0022] FIG. 2 is a flowchart illustrating the operation method of a data storage system according to one embodiment.

[0023] FIG. 3 is a diagram illustrating an example of junk unit data according to one embodiment.

[0024] FIG. 4 illustrates an example of a data filter according to one embodiment.

[0025] FIG. 5 is a diagram illustrating an example in which junk unit data according to one embodiment is stored in different storage.

[0026] FIG. 6 is a flowchart illustrating a method for updating a data filter in a data storage system according to one embodiment.

[0027] FIG. 7 is a drawing illustrating an example of a user interface showing data status information of a data storage system according to one embodiment.

[0028] Hereinafter, embodiments of the present disclosure are described in detail with reference to the drawings so that those skilled in the art can easily practice them. However, the present disclosure may be embodied in various different forms and is not limited to the embodiments described herein. In relation to the description of the drawings, the same or similar reference numerals may be used for identical or similar components. Furthermore, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and brevity.

[0029] FIG. 1 is a block diagram illustrating the configuration of a data management system according to one embodiment.

[0030] Referring to FIG. 1, a data management system (101) according to one embodiment may include a processor (110) and a database (170) (or memory). The data storage system (101) may be a cloud computing server that classifies data requested (e.g., storage, transmission) from a plurality of user devices and stores it in the database (170). According to one embodiment, the data management system (101) may communicate with a user device (e.g., an administrator terminal) over a network. In some embodiments, at least one of these components may be omitted from the data management system (101), or one or more other components (e.g., a communication module, an input module, a display) may be added. In some embodiments, some of these components may be integrated into a single component.

[0031] The database (170) may be a memory or storage for storing data. The database (170) may store various data used by at least one component (e.g., processor (110)) of the data management system (101). The data may include, for example, input data or output data for software (e.g., programs) and related commands. The database (170) may include a first storage (171), a second storage (173), or an nth storage (17n). For example, the first storage (171) may correspond to a storage of a high level (e.g., a first storage class) (e.g., hot), and the second storage (173) may correspond to a storage of a lower level (e.g., a second storage class) than the first storage (171) (e.g., cold). The first storage may correspond to a storage of a higher level than the second storage. The first storage may have a faster data processing speed than the second storage. For example, the first storage (171) may be high-performance and high-cost, and the second storage (173) may be low-performance and low-cost.

[0032] According to one embodiment, the nth storage (17n) may correspond to a storage of an intermediate level (e.g., a third storage class) (e.g., warm). The nth storage (17n) may be a storage of a lower level than the first storage (171) and a storage of a higher level than the second storage (173).

[0033] The processor (110) can execute software (e.g., a program) to control at least one other component (e.g., a hardware or software component) of the data management system (101) and perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (110) can store commands or data received from another component (e.g., a communication module) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (110) may include a main processor (e.g., a central processing unit or an application processor) or an auxiliary processor (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with it.

[0034] The processor (110) may include at least one of an acquisition unit (120) (or acquisition module), an analysis unit (130) (or analysis module), a filter unit (140) (or filter module), a decision unit (150) (or decision module), and a movement unit (160) (or movement module). The acquisition unit (120) may acquire (or collect) a query from a user device. Here, the user device may refer to an administrator terminal that manages the data management system (101). For example, the query may include at least one of a user query, a keyword, or telemetry (e.g., a log, a trace, or metrics). For example, a log may refer to a record of the user device connecting to the data management system (101). The trace may be a record of tracing the server path through which the connection was made. The metrics may be records of API (application programming interface) calls / failures. The description of telemetry is for the purpose of aiding understanding of the invention and does not limit the invention.

[0035] The above query can be transmitted to the decision unit (150) as data. The decision unit (150) can determine the storage for storing data using the filter unit (140). The decision unit (150) can determine the storage for storing data differently according to the data filter (or data storage (or management) rule) included in the filter unit (140). The data filter can be generated according to the query pattern history and stored in the filter unit (140). The query pattern history may include at least one of keywords, query time, or query frequency. The filter unit (140) can analyze the query pattern history to extract key keywords and generate a data filter containing the key keywords. According to one embodiment, the filter unit (140) can utilize generative artificial intelligence (GAI) to analyze the query pattern history, extract the key keywords, or generate the data filter.

[0036] For example, the decision unit (150) may determine the first storage (171) as a storage for storing data filtered by the data filter. The decision unit (150) may determine the second storage (173) as a storage for storing data not filtered by the data filter. Data may be stored in the storage determined by the decision unit (150). Conversely, the decision unit (150) may determine the second storage (173) as a storage for storing data filtered by the data filter. The decision unit (150) may determine the first storage (171) as a storage for storing data not filtered by the data filter.

[0037] Data may be stored in chunk units, and the analysis unit (130) may store keywords corresponding to the data as metadata labels. These labels may be used when searching for data stored in the first storage (171) or the second storage (173). Alternatively, the analysis unit (130) may store keywords corresponding to data stored in the first storage (171), which has a higher level than the second storage (173), as metadata labels.

[0038] According to one embodiment, the filter unit (140) can update the data filter by analyzing the query pattern history obtained during a specified period. The specified period may be set by a user device. The filter unit (140) may update the data filter periodically or optionally. According to one embodiment, the filter unit (140) may set a first lifecycle rule (e.g., move to storage after 90 days or 60 days) in the first storage (171) and set a second lifecycle rule (e.g., delete after 30 days) different from the first lifecycle rule in the second storage (173).

[0039] The moving unit (160) may reallocate storage based on the updated data filter when the data filter is updated. The data filter may be related to whether to store certain data in the first storage (171) or in the second storage (173). The storage reallocation may involve moving some data stored in the first storage (171) or the second storage (173) to another storage. The moving unit (160) may move some data stored in the first storage (171) to the second storage (173) or move some data stored in the second storage (173) to the first storage (171) based on the updated data filter.

[0040] According to one embodiment, the moving unit (160) may move the data stored in the first storage (171) to the second storage (173) in accordance with the first lifecycle rule after the lifecycle included in the first lifecycle rule has elapsed. Alternatively, the moving unit (160) may delete the data stored in the second storage (173) in accordance with the second lifecycle rule after the lifecycle included in the second lifecycle rule has elapsed after the data stored in the first storage (171) has been stored in the second storage (173).

[0041] A data storage system (101) according to one embodiment of the present disclosure includes a memory (170) for storing instructions; and a processor (110). When the instructions are executed by the processor, the data storage system generates a data filter based on a query pattern history, acquires query information input during data retrieval as data, applies the data filter to the acquired data, stores the data filtered by the data filter in a first storage, and stores the data not filtered by the data filter in a second storage. The first storage may have a faster data processing speed than the second storage.

[0042] The above query pattern history includes at least one of a keyword, a query time, or a query frequency, and when the above instructions are executed by the processor, the data storage system may analyze the query pattern history to extract key keywords and generate a data filter including the key keywords.

[0043] When the above instructions are executed by the processor, the data storage system may utilize generative AI to analyze the query pattern history, extract the main keywords, or generate data filters.

[0044] When the above instructions are executed by the processor, the data storage system may store the data in chunks and store keywords corresponding to the data as metadata labels.

[0045] When the above instructions are executed by the processor, the data storage system may retrieve data stored in the first storage or the second storage based on the label when the label is received as a query.

[0046] When the above instructions are executed by the processor, the data storage system may analyze the query pattern history acquired during a specified period to update the data filter, and when the data filter is updated, reallocate storage based on the updated data filter.

[0047] When the above instructions are executed by the processor, the data storage system may move some data stored in the first storage to the second storage based on the updated data filter, or move some data stored in the second storage to the first storage.

[0048] When the above instructions are executed by the processor, the data storage system may set a first lifecycle rule in the first storage and set a second lifecycle rule different from the first lifecycle rule in the second storage.

[0049] When the above instructions are executed by the processor, the data storage system may move the data stored in the first storage to the second storage in accordance with the first lifecycle rule after the lifecycle included in the first lifecycle rule has elapsed after storing the data in the first storage.

[0050] When the above instructions are executed by the processor, the data storage system may delete the data stored in the second storage in accordance with the second lifecycle rule after the lifecycle included in the second lifecycle rule has elapsed after storing the data in the second storage.

[0051] FIG. 2 is a flowchart (200) illustrating the operation method of a data storage system according to one embodiment.

[0052] Referring to FIG. 2, in operation 201, a processor (e.g., processor (110) of FIG. 1) of a data storage system (e.g., data storage system (101) of FIG. 1) according to one embodiment may generate a data filter based on a query pattern history. The query pattern history may be for queries obtained (or collected) during a specified period (e.g., one week, 15 days, 30 days). The query may include at least one of user queries, keywords, or telemetry (e.g., logs, traces, metrics). For example, a log may refer to a record of a user device accessing the data management system (101). The user device may refer to an administrator terminal managing the data management system (101). The trace may be a record of tracing the server path through which the connection was made. The metrics may be API call / failure records. The description of telemetry is for the purpose of aiding understanding of the invention and does not limit the invention by such description.

[0053] The above query pattern history may include at least one of keywords, query time (or date and time), or query frequency. The processor (110) may analyze the above query pattern history to extract key keywords and generate a data filter containing the above key keywords. The data filter may include a data storage (or management) rule, such as whether to store which data in which storage. The processor (110) may utilize generative AI to analyze the above query pattern history, extract the above key keywords, or generate the above data filter.

[0054] In operation 203, the processor (110) can acquire (or collect) query information as data. The processor (110) can acquire information regarding a user query as data when data is retrieved by a user device. Although the drawing describes acquiring query information after creating a data filter, query information can be acquired before creating a data filter. The query information may include at least one of a user query, a keyword, or telemetry.

[0055] In operation 205, the processor (110) may apply a data filter (or data storage (or management) rule) to the acquired data. Applying the data filter may mean passing the data filter through (or matching) the data.

[0056] In operation 207, the processor (110) can determine whether the acquired data is filtered by a data filter. For example, if the data filter contains "Lavel":"STAT", the processor can determine whether the acquired data contains "Lavel":"STAT". If the acquired data contains "Lavel":"STAT", the data may be filtered. If the acquired data does not contain "Lavel":"STAT", the data may not be filtered. The processor (110) can perform operation 209 if the acquired data is filtered by a data filter, and perform operation 211 if the acquired data is filtered by a data filter.

[0057] When the acquired data is filtered by a data filter, in operation 209, the processor (110) can store the data in a first storage. The first storage may correspond to a high-level storage (e.g., a first storage class). The first storage may correspond to a storage with a high data rate. For example, the first storage may correspond to a high-performance and high-cost storage.

[0058] According to one embodiment, when storing data in storage, the data may be stored in junk units, and the processor (110) may store a keyword corresponding to the data as a label of metadata. The label may be used when searching for data stored in storage. Alternatively, the processor (110) may store a keyword corresponding to the data stored in the first storage having a higher level than the second storage as a label of metadata.

[0059] If the acquired data is not filtered by a data filter, in operation 211, the processor (110) may store the data in a second storage. The second storage may correspond to a lower-level storage (e.g., a second storage class). The second storage may correspond to a storage with a slower data rate than the first storage. For example, the second storage may correspond to a low-performance and low-cost storage.

[0060] According to one embodiment, the processor (110) may update the data filter by analyzing the query pattern history obtained during a specified period. The specified period may be set by a user device. The processor (110) may update the data filter periodically or optionally. When the data filter is updated, the processor (110) may reallocate storage based on the updated data filter. Based on the updated data filter, the processor (110) may move some data stored in the first storage to the second storage, or move some data stored in the second storage to the first storage.

[0061] According to one example, the processor (110) may set a first lifecycle rule (e.g., move to storage after 90 days or 60 days) on the first storage and set a second lifecycle rule different from the first lifecycle rule (e.g., delete data after 30 days) on the second storage. After the processor (110) stores the data in the first storage, when the lifecycle included in the first lifecycle rule has elapsed, the data stored in the first storage may be moved to the second storage according to the first lifecycle rule. The first lifecycle rule may have a lifecycle of '90 days' and a rule of 'move to storage'. Alternatively, the processor (110) may store the data in the second storage and when the lifecycle included in the second lifecycle rule has elapsed, the data stored in the second storage may be deleted. The second lifecycle rule may have a lifecycle of '30 days' and a rule of 'delete data'.

[0062] According to one embodiment, in a scenario where user data stored in a cloud computing system is retrieved, a storage class policy per electronic device can be created by generating a rule as a data filter to store user data of an electronic device in different storage according to the electronic device (e.g., data access frequency (e.g., heavy, normal, light)).

[0063] According to one embodiment, personalized information tailored to the user is stored, and when a data request is made to the generative AI, a prompt containing the personalized information is delivered to the generative AI, thereby improving the quality of the response of the generative AI.

[0064] FIG. 3 is a diagram illustrating an example of junk unit data according to one embodiment.

[0065] Referring to FIG. 3, the first data (310) represents the first data in a junk unit. The first data (310) may include a first data record (301), a second data record (303), and a third data record (305). Multiple data records may be combined to form (or constitute) the data in a junk unit. The second data (330) represents the second data in a junk unit and may include multiple data records. The third data (350) represents the third data in a junk unit and may include multiple data records.

[0066] A processor (e.g., processor (110) of FIG. 1) of a data storage system (e.g., data storage system (101) of FIG. 1) according to one embodiment may store data in storage in junk units based on a data filter (or data storage (or management) rule). Storing data in junk units may be intended to reduce network load by preventing frequent movement of small units of data.

[0067] FIG. 4 illustrates an example of a data filter according to one embodiment.

[0068] Referring to FIG. 4, a data filter (400) according to one embodiment may include a label (403) and a lifecycle rule (405) corresponding to a class (401). The class (401) represents a level of storage and may include a first storage class (411, Hot), a second storage class (413, Warm), and a third storage class (415, Cold). The first storage class (411) is the highest level and may allow data to be stored in a first storage where the data processing speed is faster than that of the second storage class (413) or the third storage class (415) (e.g., high performance and high cost). The second storage class (413) may allow data to be stored in a second storage where the data processing speed is slower than that of the first storage class (411) (e.g., lower level) and the data processing speed is faster than that of the third storage class (415) (e.g., higher level). The third storage class (415) is the lowest level and may allow data to be stored in the third storage, which has a slower data processing speed than the first storage class (411) or the second storage class (413) (e.g., low performance and low cost).

[0069] The data filter (400) may store a first label (431) and a first lifecycle rule (451) corresponding to a first storage class (411). The first label (431) represents a keyword (or key keyword) included in the data, and the first lifecycle rule (451) may include 90 days (e.g., lifecycle) or storage movement (e.g., rule). The data filter (400) may store a second label (433) and a second lifecycle rule (453) corresponding to a second storage class (413). The second label (433) includes a keyword different from the first label (431), and the second lifecycle rule (453) may include 30 days (e.g., lifecycle) or storage movement (e.g., rule). The data filter (400) may store a third label (435) and a third lifecycle rule (455) corresponding to a third storage class (415). The third label (435) may not have a corresponding keyword. The third lifecycle rule (455) may include 30 days (e.g., lifecycle) or data deletion (e.g., rule). In the drawing, the lifecycles of the second lifecycle rule (453) and the third lifecycle rule (455) are the same, but the rules may be different.

[0070] A processor (e.g., processor (110) of FIG. 1) of a data storage system (e.g., data storage system (101) of FIG. 1) according to one embodiment determines whether a keyword corresponding to a label (403) is included in data in a junk unit such as FIG. 3, and if the data is included in a keyword corresponding to a first label (431), determines it as a first storage class (401) and can store the data in the first storage. If the data in the junk unit contains a keyword corresponding to a second label (433), the processor (110) determines it as a second storage class (413) and can store the data in the second storage. If the data in the junk unit does not contain a keyword corresponding to the first label (431) or the second label (433), the processor (110) determines it as a third storage class (415) and can store the data in the third storage.

[0071] FIG. 5 is a diagram illustrating an example in which junk unit data according to one embodiment is stored in different storage.

[0072] Referring to FIG. 5, a processor (e.g., processor (110) of FIG. 1) of a data storage system (e.g., data storage system (101) of FIG. 1) according to one embodiment determines a storage class to store data based on a data filter (e.g., data filter (400) of FIG. 4) and can store data in junk units in storage corresponding to the determined storage class. Storing data in junk units may be intended to reduce network load by preventing frequent movement of small units of data. For example, the processor (110) can store data filtered by the data filter (400) in a first storage (510) or a second storage (530), and store data not filtered by the data filter (400) in a third storage (550).

[0073] The first storage (510) corresponds to the first storage class (501) and can store the first label (503) and data (505). The second storage (530) corresponds to the second storage class (531) and can store the second label (533) and data (535). The third storage (550) corresponds to the third storage class (551) and can store data (555). The third storage (550) may not include keywords in the third label (553).

[0074] According to one embodiment, when the processor (110) stores data in storage, it may store a keyword corresponding to the data as a label of metadata. The label may be used when searching for data stored in storage. When the processor (110) stores data in the first storage (510) or the second storage (530), it may store a keyword corresponding to the data as a label of metadata.

[0075] FIG. 6 is a flowchart (600) illustrating a method for updating a data filter in a data storage system according to one embodiment.

[0076] Referring to FIG. 6, in operation 601, a processor (e.g., processor (110) of FIG. 1) of a data storage system (e.g., data storage system (101) of FIG. 1) according to one embodiment may acquire and analyze a query pattern. The query pattern (or query pattern history) may include patterns for user queries, keywords, or telemetry (e.g., logs, traces, metrics). The processor (110) may acquire a query pattern for a specified period and periodically analyze the acquired query pattern.

[0077] In operation 603, the processor (110) can update a data filter. The data filter is a data storage (or management) rule and may include whether to store which data in which storage. The processor (110) can use generative AI to analyze query patterns and update the data filter based on the analyzed results.

[0078] In operation 605, the processor (110) may determine whether to reallocate storage. The processor (110) may determine whether storage reallocation is necessary based on the updated data filter. Storage reallocation may involve moving some data stored in storage. For example, the processor (110) may search for data stored in the first storage that is not filtered by the updated data filter. If the processor (110) finds data stored in the first storage that is not filtered by the updated data filter, it may determine that storage is to be reallocated. The processor (110) may perform operation 607 if storage is to be reallocated, and perform operation 609 if storage is not to be reallocated.

[0079] In operation 607, when reallocating the storage, the processor (110) may move some data stored in the first storage to the second storage. Alternatively, the processor (110) may move some data stored in the second storage to the first storage. Alternatively, the processor (110) may delete some data stored in the second storage.

[0080] In operation 609, where the storage is not reallocated, the processor (110) may retain the data stored in the storage. For example, the processor (110) may not move the data stored in the first storage to the second storage.

[0081] Although the drawings show that operations 607 and 609 are performed and terminated, depending on the embodiment, it may return to operation 601 after performing operations 607 and 609. This is merely an example of implementation, and the present invention is not limited by the description.

[0082] FIG. 7 is a drawing illustrating an example of a user interface showing data status information of a data storage system according to one embodiment.

[0083] Referring to FIG. 7, a processor (e.g., processor (110) of FIG. 1) of a data storage system (e.g., data storage system (101) of FIG. 1) according to one embodiment may provide a user interface that displays data status information. The user interface may include a storage class, label, rule, and size corresponding to a data filter.

[0084] A method of operation of a data storage system (101) according to one embodiment of the present disclosure includes: generating a data filter based on a query pattern history; acquiring query information input during data retrieval as data; applying the data filter to the acquired data; storing data filtered by the data filter in a first storage; and storing data not filtered by the data filter in a second storage, wherein the first storage may have a faster data processing speed than the second storage.

[0085] The above query pattern history includes at least one of a keyword, a query time, or a query frequency, and the generating operation may include an operation of extracting a major keyword by analyzing the query pattern history, and an operation of generating a data filter including the major keyword.

[0086] The above generating operation may include analyzing the query pattern history using generative AI, extracting the main keywords, or generating data filters.

[0087] The above-mentioned storage operation may include storing the data in chunk units and storing keywords corresponding to the data as labels for metadata.

[0088] The above method may further include an operation of searching for data stored in the first storage or the second storage based on the label when the label is received as a query.

[0089] The above method may include an operation to update the data filter by analyzing the query pattern history obtained during a specified period, and an operation to reallocate storage based on the updated data filter when the data filter is updated.

[0090] The above reallocation operation may include moving some data stored in the first storage to the second storage based on the updated data filter, or moving some data stored in the second storage to the first storage.

[0091] The above method may further include the operation of setting a first lifecycle rule in the first storage and setting a second lifecycle rule different from the first lifecycle rule in the second storage.

[0092] The above method may further include the operation of moving the data stored in the first storage to the second storage after the lifecycle included in the first lifecycle rule has elapsed following the storage of the data in the first storage.

[0093] The above method may further include the operation of deleting the data stored in the second storage after the lifecycle included in the second lifecycle rule has elapsed following the storage of the data in the second storage.

[0094] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., first) component is referred to as “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., by wire), wirelessly, or through a third component.

[0095] The term “module” as used in the various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0096] Various embodiments of the present document may be implemented as software comprising one or more instructions stored in a storage medium readable by a machine. For example, a processor (110) of a data storage system (101) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction.

[0097] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or an application store (e.g., Play Store). TMIt can be distributed online (e.g., downloaded or uploaded) through ) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0098] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0099] The various embodiments of the present invention disclosed in this specification and drawings are provided merely as specific examples to facilitate the explanation of the technical content of the invention and to aid in understanding the invention, and are not intended to limit the scope of the invention. Accordingly, the scope of the present invention should be interpreted to include all modifications or variations derived based on the technical concept of the invention, in addition to the embodiments disclosed herein.

Claims

1. In a data storage system (101), Memory (170) for storing instructions; and The data storage system includes a processor (110), and when the instructions are executed by the processor, the data storage system Create data filters based on query pattern history, and Acquire query information entered when querying data as data, and Apply the data filter to the above-mentioned acquired data, and Data filtered by the above data filter is stored in the first storage, and Data that is not filtered by the above data filter is stored in a second storage, and A data storage system in which the first storage has a faster data processing speed than the second storage.

2. In Paragraph 1, The above query pattern history includes at least one of keywords, query time, or query frequency, and When the above instructions are executed by the processor, the data storage system, A data storage system that analyzes the above query pattern history to extract key keywords and generates a data filter containing the said key keywords.

3. In paragraph 2, when the instructions are executed by the processor, the data storage system, A data storage system that utilizes generative artificial intelligence (GAI) to analyze the query pattern history, extract key keywords, or generate data filters.

4. In paragraph 1, when the instructions are executed by the processor, the data storage system, A data storage system that stores the above data in chunk units and stores keywords corresponding to the data as metadata labels.

5. In paragraph 4, when the above instructions are executed by the processor, the data storage system, A data storage system that, when the above label is received as a query, searches for data stored in the first storage or the second storage based on the above label.

6. In paragraph 1, when the instructions are executed by the processor, the data storage system, Update the above data filter by analyzing the query pattern history obtained during a specified period, and A data storage system that reallocates storage based on the updated data filter when the above data filter is updated.

7. In paragraph 6, when the above instructions are executed by the processor, the data storage system, A data storage system that moves some data stored in the first storage to the second storage, or moves some data stored in the second storage to the first storage, based on the above-mentioned updated data filter.

8. In paragraph 1, when the instructions are executed by the processor, the data storage system, A data storage system that sets a first lifecycle rule in the first storage and sets a second lifecycle rule different from the first lifecycle rule in the second storage.

9. In paragraph 8, when the above instructions are executed by the processor, the data storage system, A data storage system that moves the data stored in the first storage to the second storage after the lifecycle included in the first lifecycle rule has elapsed after storing the data in the first storage.

10. In paragraph 8, when the above instructions are executed by the processor, the data storage system, A data storage system that deletes data stored in the second storage after the lifecycle included in the second lifecycle rule has elapsed following the storage of data in the second storage.

11. In the method of operation of the data storage system (101), The operation of creating data filters based on query pattern history; The operation of obtaining query information entered during data retrieval as data; The operation of applying the data filter to the above-mentioned acquired data; The operation of storing data filtered by the above data filter in a first storage; and It includes the operation of storing data not filtered by the above data filter in a second storage, and A method in which the first storage has a faster data processing speed than the second storage.

12. In Paragraph 11, The above query pattern history includes at least one of keywords, query time, or query frequency, and The operation of generating the above is, An operation to extract key keywords by analyzing the above query pattern history; and A method including the operation of generating a data filter containing the above-mentioned key keywords.

13. In Clause 12, the operation of generating the above is, A method comprising the operation of analyzing the query pattern history using generative AI, extracting the main keywords, or generating data filters.

14. In Clause 11, the above-mentioned saving operation is, A method comprising the operation of storing the above data in chunk units and storing keywords corresponding to the above data as metadata labels.

15. In Paragraph 14, A method further comprising, when the above label is received as a query, an operation of searching for data stored in the first storage or the second storage based on the above label.