Data processing system and memory management method thereof

The system addresses inefficient memory allocation in battery data processing by using a machine learning model to dynamically allocate resources, optimizing memory usage and reducing waste.

WO2026071413A1PCT designated stage Publication Date: 2026-04-02LG ENERGY SOLUTION LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-07-02
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Conventional data processing systems for battery analysis fail to adjust memory allocation based on varying analysis data needs, leading to resource waste.

Method used

A data processing system utilizing a machine learning-based memory prediction model to dynamically allocate computing resources, including main and swap memory, based on battery data characteristics.

Benefits of technology

Minimizes unnecessary resource and cost waste by predicting and optimizing memory allocation for battery analysis engines.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025009442_02042026_PF_FP_ABST
    Figure KR2025009442_02042026_PF_FP_ABST
Patent Text Reader

Abstract

A data processing system according to one embodiment of the present disclosure may comprise: a data lake for storing battery data; a data analysis module including an analysis engine for analyzing the battery data; at least one memory having computing resources used during operation of the analysis engine; a memory prediction module for inputting the battery data into a machine learning-based memory prediction model so as to acquire, from the memory prediction model, a size of the computing resources required for the operation of the analysis engine; and a memory allocation module for allocating the computing resources of the at least one memory to the analysis engine on the basis of the acquired size of the computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing system and its memory management method

[0001] This application claims the benefit of priority based on Korean Patent Application No. 10-2024-0132782 filed on September 30, 2024, and all contents disclosed in the document of said Korean Patent Application are incorporated herein as part of this specification.

[0002] The embodiments disclosed in this document relate to a data processing system and a memory management method thereof.

[0003] Recently, active research and development on secondary batteries has been underway. Here, secondary batteries refer to rechargeable batteries, encompassing conventional Ni / Cd and Ni / MH batteries as well as the more recent lithium-ion batteries. Among secondary batteries, lithium-ion batteries have the advantage of significantly higher energy density compared to conventional Ni / Cd and Ni / MH batteries. Furthermore, lithium-ion batteries can be manufactured in a compact and lightweight manner, making them suitable for use as power sources for mobile devices. Recently, their scope of application has expanded to include electric vehicles, drawing attention as a next-generation energy storage medium.

[0004] As batteries are used as the power source for electric vehicles, the management and analysis of data from these installed batteries are becoming increasingly important. In particular, with technological advancements, the types of battery data are becoming more sophisticated and diverse. Therefore, efficient data processing is required for the analysis and management of battery data.

[0005] In systems that process battery data, battery analysis engines play a crucial role in monitoring battery status and analyzing performance. Since these battery analysis engines utilize system memory to perform analysis operations, the method of allocating memory to each analysis engine has a significant impact on computing resources and costs.

[0006] Conventional data processing systems operate by allocating computing resources of a fixed memory size to analysis engines. However, this approach fails to adjust the allocation of computing resources, which vary depending on the analysis data, resulting in unnecessary resource waste.

[0007] According to one embodiment of the present disclosure, a data processing system and a memory management method thereof can be provided, which can predict the size of necessary computing resources that vary according to battery data and allocate them to an analysis engine.

[0008] According to one embodiment of the present disclosure, a data processing system and a memory management method thereof can be provided, which can predict the size of computing resources required when operating an analysis engine by utilizing a machine learning-based memory prediction model.

[0009] The technical problems to be solved by the embodiments of the present disclosure are not limited to the technical problems described above, and other technical problems can be inferred from the following embodiments.

[0010] A data processing system according to one embodiment of the present disclosure may include a data lake for storing battery data, a data analysis module including an analysis engine for analyzing the battery data, at least one memory having computing resources used when operating the analysis engine, a memory prediction module for inputting the battery data into a machine learning-based memory prediction model to obtain the size of computing resources required when operating the analysis engine from the memory prediction model, and a memory allocation module for allocating computing resources of the at least one memory to the analysis engine based on the size of the obtained computing resources.

[0011] A data processing system according to one embodiment of the present disclosure further includes an artificial intelligence learning module that models the correlation between a learning input data set and a learning output data set to train the memory prediction model, wherein the learning input data set includes a plurality of battery data sets related to a plurality of states of a battery, and the learning output data set may include a plurality of computing resource data sets representing computing resources used by the analysis engine when analyzing the plurality of battery data sets.

[0012] In a data processing system according to one embodiment of the present disclosure, the learning input data set may further include a plurality of feature data sets related to at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of each of the plurality of battery data sets.

[0013] In a data processing system according to one embodiment of the present disclosure, the memory prediction model can predict and output the size of the computing resources required when operating the analysis engine based on at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of the input battery data.

[0014] In a data processing system according to one embodiment of the present disclosure, the at least one memory may include a main memory having a computing resource of a first size and a swap memory having a computing resource of a second size.

[0015] In a data processing system according to one embodiment of the present disclosure, the memory allocation module can allocate the computing resources of the main memory and the computing resources of the swap memory to the analysis engine for the size of the acquired computing resources.

[0016] In a data processing system according to one embodiment of the present disclosure, the memory allocation module may allocate computing resources of the main memory to the analysis engine for a preset size among the sizes of the acquired computing resources, and allocate computing resources of the swap memory to the analysis engine for the remaining size among the sizes of the acquired computing resources excluding the preset size.

[0017] In a data processing system according to one embodiment of the present disclosure, the data analysis module may include a plurality of analysis engines configured as a microservices architecture (MSA) and based on different analysis algorithms and operated independently of each other.

[0018] A memory management method performed by a data processing system according to one embodiment of the present disclosure may include the operation of inputting battery data into a machine learning-based memory prediction model, the operation of obtaining the size of a computing resource required to operate an analysis engine that analyzes battery data from the memory prediction model, and the operation of allocating a computing resource of at least one memory having a computing resource used to operate the analysis engine to the analysis engine based on the size of the obtained computing resource.

[0019] A memory management method performed by a data processing system according to one embodiment of the present disclosure further includes an operation of training a memory prediction model by modeling a correlation between a training input data set and a training output data set, wherein the training input data set includes a plurality of battery data sets related to a plurality of states of a battery, and the training output data set may include a plurality of computing resource data sets representing computing resources used by the analysis engine when analyzing the plurality of battery data sets.

[0020] In a memory management method performed by a data processing system according to one embodiment of the present disclosure, the learning input data set may further include a plurality of feature data sets related to at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of each of the plurality of battery data sets.

[0021] In a memory management method performed by a data processing system according to one embodiment of the present disclosure, the memory prediction model can predict and output the size of the computing resources required when operating the analysis engine based on at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of the input battery data.

[0022] In a memory management method performed by a data processing system according to one embodiment of the present disclosure, the at least one memory may include a main memory having a computing resource of a first size and a swap memory having a computing resource of a second size.

[0023] In a memory management method performed by a data processing system according to one embodiment of the present disclosure, the operation of allocating computing resources of at least one memory to the analysis engine may include the operation of allocating computing resources of the main memory and computing resources of the swap memory to the analysis engine with respect to the size of the acquired computing resources.

[0024] In a memory management method performed by a data processing system according to one embodiment of the present disclosure, the operation of allocating computing resources of at least one memory to the analysis engine may include the operation of allocating computing resources of the main memory to the analysis engine for a preset size among the sizes of the acquired computing resources, and the operation of allocating computing resources of the swap memory to the analysis engine for the remaining size excluding the preset size among the sizes of the acquired computing resources.

[0025] According to the embodiments disclosed in this document, unnecessary resource and cost waste can be minimized by predicting the size of the required computing resources, which vary according to battery data, and allocating them to the analysis engine.

[0026] The effects of the invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description in the claims.

[0027] FIG. 1 is a block diagram of a data processing system according to one embodiment of the present disclosure.

[0028] FIG. 2 is a diagram illustrating an example of a data processing system according to one embodiment of the present disclosure allocating computing resources of memory to an analysis engine.

[0029] FIG. 3 is a diagram illustrating an example in which a data processing system according to one embodiment of the present disclosure allocates computing resources of main memory and swap memory, respectively, to an analysis engine.

[0030] FIG. 4 is an operation flowchart of a data processing system according to one embodiment of the present disclosure.

[0031] FIG. 5 is an operation flowchart of a data processing system according to one embodiment of the present disclosure.

[0032] In describing the embodiments, technical details that are well known in the technical field to which this disclosure belongs and are not directly related to this disclosure are omitted. This is intended to convey the essence of this disclosure more clearly without obscuring it by omitting unnecessary explanations.

[0033] For the same reason, some components in the attached drawings have been exaggerated, omitted, or schematically depicted. Additionally, the size of each component does not entirely reflect its actual dimensions. Identical or corresponding components in each drawing have been assigned the same reference numbers.

[0034] The advantages and features of the present disclosure and the methods for achieving them will become clear by referring to the embodiments described below in detail together with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms. The embodiments provided are merely to ensure that the disclosure is complete and to fully inform those skilled in the art of the scope of the invention, and the present disclosure is defined only by the scope of the claims. Throughout the specification, the same reference numerals refer to the same components.

[0035] At this time, it will be understood that each block of the process flow diagrams and combinations of the flow diagrams can be executed by computer program instructions. Since these computer program instructions can be loaded into the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, the instructions executed through the processor of the computer or other programmable data processing equipment create means for performing the functions described in the flow diagram block(s). Since these computer program instructions can also be stored in computer-available or computer-readable memory that can be directed toward the computer or other programmable data processing equipment to implement functions in a specific way, the instructions stored in such computer-available or computer-readable memory can also produce a manufactured item containing means of instruction for performing the functions described in the flow diagram block(s). Since computer program instructions can also be loaded onto a computer or other programmable data processing equipment, the instructions that execute the computer or other programmable data processing equipment by creating a process that is executed by a computer through a series of operation steps performed on the computer or other programmable data processing equipment can also provide steps for executing the functions described in the flow diagram block(s).

[0036] Additionally, each block may represent a module, segment, or part of code containing one or more executable instructions for executing a specific logical function(s). It should also be noted that in some alternative execution examples, the functions mentioned in the blocks may occur out of order. For instance, two blocks described in succession may actually be executed substantially simultaneously, or the blocks may be executed in reverse order according to their corresponding functions.

[0037] In this embodiment, the term "part" refers to a software or hardware component, such as an FPGA or ASIC, and the "part" performs certain roles. However, the meaning of "part" is not limited to software or hardware. The "part" may be configured to reside in an addressable storage medium or configured to operate one or more processors. Thus, for example, the "part" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and "parts" may be combined into a smaller number of components and "parts" or further separated into additional components and "parts." Furthermore, the components and "parts" may be implemented to operate one or more CPUs within a device or secure multimedia card.

[0038] The expression “at least one of a, b, and c” described throughout the specification may include ‘a alone’, ‘b alone’, ‘c alone’, ‘a and b’, ‘a and c’, ‘b and c’, or ‘a, b, and c all’.

[0039] The "terminal" mentioned below may be implemented as a computer or portable terminal capable of connecting to a server or other terminal via a network. Here, the computer includes, for example, a notebook, desktop, or laptop equipped with a web browser, and the portable terminal is a wireless communication device that ensures portability and mobility, and may include all types of handheld-based wireless communication devices such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), communication-based terminals, smartphones, tablet PCs, etc.

[0040] Embodiments of the present disclosure are described below with reference to the attached drawings so that those skilled in the art can easily implement them. However, the present disclosure may be embodied in various different forms and is not limited to the embodiments described herein.

[0041] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings.

[0042] FIG. 1 is a block diagram of a data processing system (100) according to one embodiment of the present disclosure.

[0043] Referring to FIG. 2, the data processing system (100) may include a data lake (110), a data analysis module (120), a memory (130), a memory prediction module (140), an artificial intelligence learning module (150), and a memory allocation module (160). According to an embodiment, the data processing system (100) illustrated in FIG. 1 may further include at least one component (e.g., a display, an input device, or an output device) other than the components illustrated in FIG. 1.

[0044] According to one embodiment, the data lake (110) may store battery data related to the state of the battery (e.g., voltage, current, temperature, etc.). Here, the battery may be a battery cell, battery module, or battery pack placed in an electric vehicle. Additionally, the battery data may be data received by the data processing system (100) through a communication channel with an external electronic device (e.g., vehicle). The data lake (110) may transfer the stored battery data to a data analysis module (120) and / or a memory prediction module (140).

[0045] According to one embodiment, the data analysis module (120) may include an analysis engine that analyzes battery data stored in the data lake (110). The data analysis module (120) may analyze the battery data using the computing resources of the memory (130) allocated to the analysis engine.

[0046] According to one embodiment, the data analysis module (120) may include a plurality of analysis engines. According to one embodiment, the plurality of analysis engines may be based on different analysis algorithms and may operate independently of each other. For example, the plurality of analysis engines may operate independently of each other and may be configured as a microservices architecture (MSA) in which mutual dependency is minimized. MSA refers to an architecture that enables the modification and combination of applications by dividing a large application into several small applications, and each analysis engine may operate as a single application.

[0047] According to one embodiment, each of the plurality of analysis engines may include different analysis algorithms for generating analysis results. For example, the analysis algorithms may include various types of algorithms, such as a RUL (Remaining Useful Lifecycle) algorithm for analyzing the battery's RUL, a SOH (State of Health) algorithm for analyzing the battery's SOH, a statistical algorithm for performing statistical analysis on battery data, and a failure prediction algorithm for predicting battery failure. However, the types of analysis algorithms described above are merely examples and are not limited thereto.

[0048] According to one embodiment, a plurality of analysis engines may be distinguished from one another based on the type of battery data used for analysis and the type of analysis result data. Each of the plurality of analysis engines may have different types of battery data used for analysis, types of analysis result data, and analysis cycles depending on the analysis algorithm included. For example, the SOH algorithm may use battery data such as battery voltage, battery current, and battery SOC, and may calculate battery SOH data as an analysis result.

[0049] According to one embodiment, the memory (130) may have computing resources used when running an analysis engine included in the data analysis module (120). According to one embodiment, the memory (130) may include a main memory having physical computing resources and a swap memory that utilizes space such as a disk as computing resources when computing resources of the main memory are insufficient in a virtualization environment. Here, the main memory may have computing resources of a first size, and the swap memory may have computing resources of a second size.

[0050] According to one embodiment, the main memory is a main storage device and may be a volatile memory. In one embodiment, the main memory may be composed of at least one of random access memory (RAM). For example, the main memory may be any one of DRAM, PRAM, MRAM, and STT-MRAM.

[0051] According to one embodiment, the swap memory is an auxiliary storage device and may be non-volatile memory. For example, the swap memory may be at least one solid-state drive (SSD) memory.

[0052] According to one embodiment, the memory prediction module (140) may receive battery data required for analysis by the data analysis module (120) from the data lake (110). The memory prediction module (140) may input the received battery data into a machine learning-based memory prediction model to obtain from the memory prediction model the size of the computing resources required to run the analysis engine included in the data analysis module (120). According to one embodiment, the memory prediction model may predict and output the size of the computing resources required to run the analysis engine by the battery analysis module (120) in order to analyze the input battery data.

[0053] According to one embodiment, the artificial intelligence learning module (150) can train a memory prediction model by modeling the correlation between the input data set for training and the output data set for training.

[0054] According to one embodiment, a learning input data set may include a plurality of battery data sets related to a plurality of states of a battery. For example, the plurality of battery data sets may include a first battery data set, a second battery data set, ..., and an n-th battery data set (where n is a natural number greater than or equal to 3) related to at least one of the battery voltage, current, temperature, SOC (state of charge), and SOH (state of health). Here, the plurality of battery data sets all contain information regarding the same state, and each battery data set may be distinguished according to the time at which the battery data set was acquired or the battery to be analyzed. For example, the first battery data set may correspond to the first battery, the second battery data set may correspond to the second battery, ..., and the n-th battery data set may correspond to the n-th battery.

[0055] According to one embodiment, the input data set for training may further include a plurality of feature data sets related to at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of each of the plurality of battery data sets. Here, the plurality of battery data sets may be in a table format composed of rows and columns. Each row of each battery data set may contain information related to multiple states of the battery at different points in time, and each column of each battery data set may contain information related to different states of the battery at all points in time. Accordingly, the number of rows of the battery data set may represent the number of all points in time when the battery state was collected, the size may represent the value obtained by multiplying the number of rows and the number of columns of the battery data set, and the collection period may represent the time length between points in time corresponding to each row. Additionally, the feature data set related to missing values ​​occurring in each row of the battery data set may represent the number of missing values ​​occurring in each row of the battery data set.

[0056] According to one embodiment, the output data set for training may include a plurality of computing resource data sets representing computing resources used by an analysis engine included in a data analysis module (120) when analyzing a plurality of battery data sets included in the input data set for training. The plurality of computing resource data sets may be obtained by identifying the computing resources used by the analysis engine when analyzing each of the plurality of battery data sets. At this time, each of the plurality of computing resource data sets may correspond one-to-one with each of the plurality of battery data sets.

[0057] According to one embodiment, the memory prediction model can predict and output the size of computing resources required when operating the analysis engine based on at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of the input battery data.

[0058] According to one embodiment, the artificial intelligence learning module (150) inputs a learning input data set into a memory prediction model and can train the memory prediction model by comparing the output data set output by the memory prediction model with the learning output data set. The artificial intelligence learning module (150) can train the memory prediction model such that the difference between the output data set and the learning output data set is below a threshold level.

[0059] For example, the artificial intelligence learning module (150) can calculate the similarity between the output data set and the training output data set based on a loss function (or cost function). Here, the loss function may include at least one of a mean absolute error function, a root mean square error, a mean squared error function, and a binary cross entropy loss function.

[0060] According to one embodiment, the artificial intelligence learning module (150) can adjust the weights of the memory prediction model so that the calculated similarity is above a threshold level. For example, the artificial intelligence learning module (150) can adjust the weights of the memory prediction model so that the similarity is above a threshold level through an algorithm based on gradient descent (e.g., Adam, SGD, Momentum). Here, the weights to be adjusted may be determined according to the learning rate.

[0061] According to one embodiment, the memory allocation module (160) can allocate the computing resources of the memory (130) to the analysis engine included in the data analysis module (120) based on the size of the computing resources obtained by the memory prediction module (140).

[0062] Hereinafter, with reference to FIGS. 2 and FIGS. 3, an example of a data processing system (100) allocating computing resources of memory (130) to an analysis engine is described. FIGS. 2 and FIGS. 3 are illustrated such that a plurality of analysis engines (121, 123) are included in the data analysis module (120), and the data processing system (100) allocates computing resources of memory (130) to each of the plurality of analysis engines (121, 123), but is not limited thereto. For example, the data processing system (100) may allocate computing resources of memory (130) to one analysis engine included in the data analysis module (120).

[0063] FIG. 2 is a diagram illustrating an example in which a data processing system (100) according to one embodiment of the present disclosure allocates computing resources of memory (130) to an analysis engine.

[0064] Referring to FIG. 2, the data lake (110) can transmit a plurality of battery data (201, 203) required for analysis to a memory prediction module (140). Here, each of the plurality of battery data (201, 203) may be data input to each of the plurality of analysis engines (121, 123). For example, the first battery data (201) may be analyzed by the first analysis engine (121), and the Nth battery data (203) (where N is a natural number greater than or equal to 2) may be analyzed by the Nth analysis engine (123).

[0065] According to one embodiment, the memory prediction module (140) can input a plurality of battery data (201, 203) received from the data lake (110) into the memory prediction model (210). The memory prediction model (210) can predict and output the size of computing resources (e.g., a first size, ..., a Nth size) required when operating an analysis engine (121, 123) to analyze the input plurality of battery data (201, 203). The memory prediction module (140) can obtain the size of computing resources output from the memory prediction model (210) and transmit it to the memory allocation module (160).

[0066] According to one embodiment, the memory allocation module (160) can allocate computing resources (131, 133) of the memory (130) to each of the plurality of analysis engines (121, 123) based on the size of computing resources (e.g., first size, ..., N size) received from the memory prediction module (140). For example, the memory allocation module (160) can allocate computing resources (131) of the first size of the memory (130) to the first analysis engine (121) for the size of computing resources required when the first analysis engine (121) is operated. Additionally, the memory allocation module (160) can allocate computing resources (133) of the N size of the memory (130) to the N analysis engine (123) for the size of computing resources required when the N analysis engine (123) is operated.

[0067] FIG. 3 is a diagram illustrating an example in which a data processing system (100) according to one embodiment of the present disclosure allocates computing resources of a main memory (310) and a swap memory (320), respectively, to an analysis engine. The main memory (310) and the swap memory (320) of FIG. 3 may be included in the memory (130) of the data processing system (100). In FIG. 3, the operation of the data lake (110), the memory prediction module (140), and the memory prediction model (210) is the same as the operation described in FIG. 2, so a redundant description thereof may be omitted.

[0068] Referring to FIG. 3, the memory allocation module (160) can allocate computing resources of the main memory (310) and computing resources of the swap memory (320) to a plurality of analysis engines (121, 123) for the size of computing resources received from the memory prediction module (140) (e.g., first size, ..., Nth size).

[0069] According to one embodiment, the memory allocation module (160) may allocate computing resources of the main memory (310) to the first analysis engine (121) for at least a portion of the size of computing resources required when each analysis engine (121, 123) is operated, and allocate computing resources of the swap memory (320) to the second analysis engine (123) for the remainder. For example, the memory allocation module (160) may allocate computing resources (311) of the main memory (310) to the first analysis engine (121) for at least a portion of the size of computing resources required when the first analysis engine (121) is operated, and allocate computing resources (321) of the swap memory (320) to the first analysis engine (121) for the remainder. At this time, the sum of the sizes of the computing resources (311, 321) allocated to the first analysis engine (121) may be the first size (e.g., 8GB), which is the size of the computing resources required when the first analysis engine (121) is operated. Additionally, the memory allocation module (160) may allocate the computing resources (313) of the main memory (310) to the Nth analysis engine (123) for at least a portion of the size of the computing resources required when the Nth analysis engine (123) is operated, and allocate the computing resources (323) of the swap memory (320) to the Nth analysis engine (123) for the remainder. At this time, the sum of the sizes of the computing resources (313, 323) allocated to the Nth analysis engine (123) may be the Nth size (e.g., 10GB), which is the size of the computing resources required when the Nth analysis engine (123) is operated.

[0070] According to one embodiment, the memory allocation module (160) may allocate computing resources of the main memory (310) to each analysis engine (121, 123) for a preset size (e.g., 4GB) of computing resources required when each analysis engine (121, 123) is running. The memory allocation module (160) may allocate computing resources of the swap memory (320) to each analysis engine (121, 123) for the remaining size of computing resources required when each analysis engine (121, 123) is running, excluding the preset size. In this case, the computing resources (311, 313) of the main memory (310) used by all analysis engines (121, 123) have the same size. On the other hand, the computing resources (321, 323) of the swap memory (320) used by each analysis engine (121, 123) may have different sizes.

[0071] FIG. 4 is a flowchart of the operation of a data processing system according to one embodiment of the present disclosure. Since the operation method of FIG. 4 can be performed by the data processing system (100) of FIG. 1, descriptions that overlap with the above-mentioned content may be omitted and may be explained using the components of FIG. 1.

[0072] The embodiment illustrated in FIG. 4 is merely one example, and the sequence of operations according to various embodiments of the present disclosure may differ from that illustrated in FIG. 4, and some operations illustrated in FIG. 4 may be omitted, the order of operations may be changed, or operations may be merged.

[0073] Referring to FIG. 4, in operation 410, the data processing system (100) can input battery data into a machine learning-based memory prediction model. According to one embodiment, the memory prediction model can predict and output the size of computing resources required when running an analysis engine to analyze the input battery data. According to one embodiment, the memory prediction model can predict and output the size of computing resources required when running an analysis engine based on at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of the input battery data.

[0074] In operation 420, the data processing system (100) can obtain the size of the computing resources required to run the analysis engine, which is output from the memory prediction model.

[0075] In operation 430, the data processing system (100) can allocate computing resources of at least one memory (130) to the analysis engine based on the size of the computing resources obtained in operation 420.

[0076] FIG. 5 is a flowchart of the operation of a data processing system according to one embodiment of the present disclosure. Since the operation method of FIG. 5 can be performed by the data processing system (100) of FIG. 1, descriptions that overlap with the above-mentioned content may be omitted and may be explained using the components of FIG. 1.

[0077] The embodiment illustrated in FIG. 5 is merely one example, and the sequence of operations according to various embodiments of the present disclosure may differ from that illustrated in FIG. 5, and some operations illustrated in FIG. 5 may be omitted, the order of operations may be changed, or operations may be merged.

[0078] Referring to FIG. 5, in operation 510, the data processing system (100) can allocate computing resources of the main memory to the analysis engine for a preset size among the sizes of computing resources obtained in operation 420 of FIG. 4.

[0079] In operation 520, the data processing system (100) can allocate computing resources of swap memory to the analysis engine for the remaining size of the computing resources obtained in operation 420 of FIG. 4, excluding the preset size of operation 510.

[0080] In this case, the computing resources in main memory used by all analysis engines have the same size. On the other hand, the computing resources in swap memory used by each analysis engine may have different sizes.

[0081] Various embodiments of the present disclosure may be represented by functional block configurations and various processing steps. These functional blocks may be implemented by various numbers of hardware and / or software configurations that execute specific functions. For example, the embodiments may employ integrated circuit configurations such as memory, processing, logic, look-up tables, etc., which can execute various functions by the control of one or more microprocessors or other control devices. Similar to how components may be implemented as software programming or software elements, the embodiments may be implemented in programming or scripting languages ​​such as C, C++, Java, assembler, etc., including various algorithms implemented as combinations of data structures, processes, routines, or other programming configurations. Functional aspects may be implemented as algorithms executed on one or more processors. Additionally, the embodiments may employ prior art for electronic configuration, signal processing, and / or data processing. Terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations. The above terms may include the meaning of a series of software processes (routines) in conjunction with processors, etc.

[0082] The aforementioned embodiments are merely examples, and other embodiments may be implemented within the scope of the claims set forth below.

Claims

1. In a data processing system, A data lake that stores battery data; A data analysis module including an analysis engine that analyzes the above battery data; At least one memory having computing resources used when operating the above analysis engine; A memory prediction module that inputs the above battery data into a machine learning-based memory prediction model and obtains the size of the computing resources required when operating the analysis engine from the memory prediction model; and A data processing system comprising a memory allocation module that allocates the computing resources of at least one memory to the analysis engine based on the size of the computing resources obtained above.

2. In Paragraph 1, It further includes an artificial intelligence learning module that trains the memory prediction model by modeling the correlation between the training input data set and the training output data set, and The above-mentioned learning input data set includes a plurality of battery data sets related to a plurality of battery states, and A data processing system in which the above-mentioned learning output data set includes a plurality of computing resource data sets representing computing resources used by the analysis engine when analyzing the plurality of battery data sets.

3. In Paragraph 2, A data processing system wherein the above-mentioned input data set for learning further comprises a plurality of feature data sets related to at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of each of the plurality of battery data sets.

4. In Paragraph 3, The above memory prediction model is a data processing system that predicts and outputs the size of computing resources required when operating the analysis engine based on at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of the input battery data.

5. In Paragraph 1, A data processing system wherein at least one memory comprises a main memory having a computing resource of a first size and a swap memory having a computing resource of a second size.

6. In Paragraph 5, The above memory allocation module is a data processing system that allocates computing resources of the main memory and computing resources of the swap memory to the analysis engine for the size of the acquired computing resources.

7. In Paragraph 6, The above memory allocation module is, Allocate the computing resources of the main memory to the analysis engine for a preset size among the sizes of the acquired computing resources, and A data processing system that allocates computing resources of the swap memory to the analysis engine for the remaining size excluding the preset size from the size of the acquired computing resources.

8. In Paragraph 1, The above data analysis module is a data processing system configured with a microservices architecture (MSA) and includes a plurality of analysis engines based on different analysis algorithms and operating independently of each other.

9. In a memory management method performed by a data processing system, The action of inputting battery data into a machine learning-based memory prediction model; The operation of obtaining the size of computing resources required when operating an analysis engine that analyzes battery data from the memory prediction model; and A memory management method comprising the operation of allocating at least one memory computing resource to the analysis engine, which has a computing resource used when operating the analysis engine, based on the size of the computing resource obtained above.

10. In Paragraph 9, It further includes the operation of training the memory prediction model by modeling the correlation between the training input data set and the training output data set, and The above-mentioned learning input data set includes a plurality of battery data sets related to a plurality of battery states, and A memory management method wherein the above-mentioned learning output data set includes a plurality of computing resource data sets representing computing resources used by the analysis engine when analyzing the plurality of battery data sets.

11. In Paragraph 10, A memory management method wherein the above-mentioned input data set for learning further comprises a plurality of feature data sets related to at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of each of the plurality of battery data sets.

12. In Paragraph 10, A memory management method in which the above memory prediction model predicts and outputs the size of computing resources required when operating the analysis engine based on at least one of the number of rows, size, collection period, and missing values ​​occurring in each row of input battery data.

13. In Paragraph 9, A memory management method wherein at least one memory comprises a main memory having a computing resource of a first size and a swap memory having a computing resource of a second size.

14. In Paragraph 13, A memory management method in which the operation of allocating computing resources of at least one memory to the analysis engine includes the operation of allocating computing resources of the main memory and computing resources of the swap memory to the analysis engine for the size of the acquired computing resources.

15. In Paragraph 14, The operation of allocating computing resources of at least one memory to the analysis engine is, The operation of allocating computing resources of the main memory to the analysis engine for a preset size among the sizes of the acquired computing resources, and A memory management method comprising the operation of allocating the computing resources of the swap memory to the analysis engine for the remaining size excluding the preset size among the sizes of the acquired computing resources.

Citation Information

Patent Citations

  • Memory management method, system and device and readable storage medium

    CN113010453A

  • Task allocation method and device, equipment and storage medium

    CN114816690A

  • Method and device for predicting health condition of power battery

    CN117233639A

  • Storage battery management method and system

    CN117497887A

  • Resource prediction for microservices

    US20240012667A1