Method for preloading data and electronic device for performing same method

The electronic device optimizes performance by using a prediction model to preload data based on process IDs, addressing inefficiencies in unpredictable processes and reducing latency.

WO2026100920A1PCT designated stage Publication Date: 2026-05-15SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2025-08-25
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing data preloading methods are inefficient for unpredictable processes due to numerous variables, leading to increased memory usage and potential performance deterioration from loading unnecessary data.

Method used

An electronic device uses a prediction model to identify current and previous process IDs, convert virtual addresses to physical addresses, and preload data into main memory based on predicted physical addresses, optimizing performance by reducing processing latency.

Benefits of technology

The solution enhances processing speed and reduces CPU wait times by efficiently predicting and preloading data for unpredictable processes, improving overall system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025012935_15052026_PF_FP_ABST
    Figure KR2025012935_15052026_PF_FP_ABST
Patent Text Reader

Abstract

A method for preloading data is disclosed. The method may comprise the steps of: on the basis that a data load request is identified, identifying a current process ID and a virtual address to which data is to be loaded; converting the virtual address into a physical address on the basis of a page table; when the current process ID is the same as a previous process ID, predicting a physical address of next data to be used in a process corresponding to the current process ID, on the basis of the physical address; and preloading the next data into a main memory of an electronic device on the basis of the predicted physical address.
Need to check novelty before this filing date? Find Prior Art

Description

Data preloading method and electronic device performing the method

[0001] The present disclosure relates to a method for preloading data by predicting data to be loaded based on a prediction model, and an electronic device for performing the method.

[0002] Data preloading is an optimization technique used to accelerate processing speeds in various computing tasks involving data processing. While preparing necessary data in advance can reduce processing latency, it also increases memory usage and carries the risk of loading unnecessary data.

[0003] While data preloading is effectively applied to predictable processes, its utilization is limited in processes that are difficult to predict due to numerous variables. Accordingly, there is a need to optimize performance for electronic devices performing unpredictable processes in various environments by efficiently predicting and preloading data.

[0004] According to one aspect of the present disclosure, an electronic device for performing a data preload method may be provided. The electronic device may include a system-on-chip comprising at least one processor; and storage for storing instructions and a main memory in which the instructions are loaded. By executing the instructions by the at least one processor in the system-on-chip, the electronic device may identify a current process ID and a virtual address to which the data is to be loaded based on the identification of a data load request, convert the virtual address to a physical address based on a page table stored in the storage, and if the current process ID is the same as a previous process ID, predict the physical address of the next data to be used in the process corresponding to the current process ID based on the physical address, and preload the next data into the main memory based on the predicted physical address.

[0005] According to one aspect of the present disclosure, a data preloading method performed by an electronic device may be provided. The method may include the steps of identifying a current process ID and a virtual address to which the data is to be loaded based on the identification of a data load request; converting the virtual address to a physical address based on a page table; if the current process ID is the same as a previous process ID, predicting the physical address of the next data to be used in a process corresponding to the current process ID based on the physical address; and preloading the next data into the main memory of the electronic device based on the predicted physical address.

[0006] FIG. 1 is an example for explaining data preloading of an electronic device according to one embodiment of the present disclosure.

[0007] FIG. 2 is a diagram for illustrating processes executed in an electronic device according to one embodiment of the present disclosure.

[0008] FIG. 3 is a flowchart illustrating the operation of an electronic device preloading data according to one embodiment of the present disclosure.

[0009] FIG. 4 is a block diagram illustrating the configuration of an electronic device according to one embodiment of the present disclosure.

[0010] FIG. 5 is a block diagram illustrating the PPB configuration of an electronic device according to one embodiment of the present disclosure.

[0011] FIG. 6 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure to predict a physical address and preload data.

[0012] FIG. 7 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure converting a virtual address into a physical address.

[0013] FIG. 8 is a diagram illustrating the operation of an electronic device preloading data according to one embodiment of the present disclosure.

[0014] FIG. 9 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure training a prediction model for predicting a physical address.

[0015] FIG. 10 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure generating training data for a prediction model.

[0016] FIG. 11 is a diagram illustrating a prediction model used by an electronic device according to one embodiment of the present disclosure to predict a physical address.

[0017] FIG. 12 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure collecting usage patterns of the electronic device.

[0018] FIG. 13 is a block diagram illustrating the configuration of an electronic device according to one embodiment of the present disclosure.

[0019] FIG. 14 is a block diagram illustrating the configuration of an electronic device according to one embodiment of the present disclosure.

[0020] The terms used in this specification will be briefly explained, and the present disclosure will be described in detail. In the present disclosure, the expression "at least one of a, b, or c" may refer to "a," "b," "c," "a and b," "a and c," "b and c," "all of a, b, and c," or variations thereof.

[0021] The terms used in this disclosure have been selected to be as widely used and general as possible, taking into account their functions within this disclosure; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms have been selected at the applicant's discretion, and in such cases, their meanings will be described in detail in the relevant explanatory sections. Therefore, terms used in this disclosure should be defined not merely by their names, but based on their meanings and the overall content of this disclosure.

[0022] Singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as generally understood by those skilled in the art as described in this specification. Additionally, terms including ordinal numbers, such as "first" or "second," used in this specification may be used to describe various components, but said components should not be limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another.

[0023] When a part of a specification is described as "comprising" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components. Furthermore, terms such as "part" or "module" as used in the specification refer to a unit that processes at least one function or operation, and this may be implemented in hardware or software, or as a combination of hardware and software.

[0024] Embodiments of the present disclosure are described below with reference to the attached drawings so that those skilled in the art can easily implement the invention. However, the present disclosure may be embodied in various different forms and is not limited to the embodiments described herein. Furthermore, parts unrelated to the description have been omitted from the drawings to clearly explain the present disclosure. Additionally, for convenience of explanation, different reference numbers have been used throughout the specification even for identical components.

[0025] The present disclosure will be described below with reference to the attached drawings.

[0026] FIG. 1 is an example for explaining data preloading of an electronic device according to one embodiment of the present disclosure.

[0027] In one embodiment, the electronic device (2000) can predict the data to be used next based on the pattern (110) and perform data preloading (120). The electronic device (2000) can predict the physical address of the data to be used next through the analysis of the pattern (110), and optimize the performance of the electronic device (2000) through data preloading (120) of the predicted address.

[0028] A typical computer architecture consists of a data hierarchy structure consisting of CPU registers, cache (L1, L2, L3), main memory (DRAM), and permanent storage (HDD, SSD). In this hierarchy, frequently used data is placed in layers close to the CPU (registers, cache), while less frequently used data is stored in layers further away from the CPU (main memory, permanent storage). Through this hierarchy, the electronic device (2000) optimizes performance by utilizing spatial locality and temporal locality. Spatial locality refers to the tendency to use adjacent data together when accessing data, while temporal locality refers to the tendency to access recently used data again. By applying these localities, the CPU can quickly access necessary data, and the overall processing performance of the system can be improved. However, if locality is not met, data misses may occur, which may result in additional time required to load data from lower-layer memory to upper-layer memory.

[0029] The operation process of the electronic device (2000) includes numerous processes. Generally, for predictable processes, data preloading (120) is already performed. This refers to a case where the data to be loaded, such as processes that must be performed (e.g., essential processes performed during booting), is predictable, and thus the data stored in permanent storage can be loaded into main memory in advance.

[0030] However, when the electronic device (2000) is in operation, variable factors such as user intervention or changes in the surrounding environment may have an effect, and the processes executed in the electronic device (2000) may be classified as unpredictable processes.

[0031] In the case of an electronic device (2000) used by a user (e.g., a TV, etc.), there may be a repeating pattern (110) regarding the user's use of the electronic device (2000). By utilizing the repeating pattern (110), data to be loaded from the electronic device (2000) in the near future can be preloaded from permanent storage into main memory, thereby improving the performance of the electronic device (2000). The pattern (110) includes a usage pattern of the electronic device (2000) and may also include a memory access pattern for processes included in the usage pattern.

[0032] The electronic device (2000) can be implemented as an electronic device of various types and forms including a display. For example, the electronic device (2000) may include a smart TV, smartphone, tablet PC, laptop PC, picture frame display, etc., but is not limited thereto. In one embodiment, the electronic device (2000) may be an electronic device such as a set-top box or desktop PC that does not include a display and can be connected to a separate display device to provide media content.

[0033] Specific operations of the electronic device (2000) performing data preloading (120) based on prediction based on the pattern (110) will be described in more detail through the drawings and descriptions thereof that follow.

[0034] FIG. 2 is a diagram for illustrating processes executed in an electronic device according to one embodiment of the present disclosure.

[0035] In one embodiment, the electronic device (2000) supports multitasking capable of handling multiple tasks simultaneously. For example, various tasks are processed simultaneously while a user runs an app or uses a system function on the electronic device (2000), and a scheduler manages multiple processes.

[0036] For example, the electronic device (2000) can execute multiple processes alternately according to scheduling. As illustrated in FIG. 2, the first process (P1), the second process (P2), the third process (P3), and the fourth process (P4) can be processed alternately according to scheduling. Specifically, when a user runs an application to stream video, various processes related to video streaming, such as decoding, output to a screen, and audio playback, are executed. Meanwhile, when a user of the electronic device (2000) performs a search through a web browser during video streaming, a web page rendering process may be assigned to the schedule.

[0037] In other words, in a multitasking environment where the electronic device (2000) is used, it is difficult to predict what the next process will be for reasons such as the usage pattern of the electronic device (2000) differing for each user, and even the same user having an irregular usage pattern. Furthermore, since the processes that run when the electronic device (2000) boots differ depending on the installation environment of the electronic device (2000) (e.g., whether a network is connected, etc.), it is also difficult to predict the process for a predetermined operation (e.g., booting). Therefore, if the electronic device (2000) indiscriminately preloads data for the purpose of rapid data usage, unnecessary data may be loaded into the main memory, and the performance of the electronic device (2000) may actually deteriorate.

[0038] In one embodiment, the electronic device (2000) can improve the performance of the electronic device (2000) by utilizing a prediction model for unpredictable user patterns or environments to predict the memory address to be used in the next process to be executed, and by preloading the data of the predicted address.

[0039] FIG. 3 is a flowchart illustrating the operation of an electronic device preloading data according to one embodiment of the present disclosure.

[0040] In operation S310, the electronic device (2000) can identify the current process ID and the virtual address to which data is to be loaded based on the identification of the data load request.

[0041] In one embodiment, the operating system (OS) of the electronic device (2000) may create a process. The creation of the process may occur when a program is executed on the electronic device (2000) or in response to a work command for the electronic device (2000) while the electronic device (2000) is operating. For example, one or more processes may be created during the overall process of the electronic device (2000) operating, such as when a user executes a program (e.g., an application), when the operating system of the electronic device (2000) performs necessary tasks on its own, or when a parent process creates a child process in a specific task.

[0042] The operating system of the electronic device (2000) can allocate a process ID (PID) and a virtual memory space to the process. When the program starts to run, the process is allocated a CPU and can execute instructions while accessing various virtual addresses in the virtual memory space to sequentially load data into main memory, thereby performing tasks within the process.

[0043] Among the aforementioned processes, when a data load request is identified, the electronic device (2000) can identify the current process ID and the virtual address to which the data is to be loaded.

[0044] In operation S320, the electronic device (2000) can convert a virtual address to a physical address based on a page table.

[0045] Since the process handles virtual addresses using virtual memory, the electronic device (2000) must convert the virtual address to a physical address to access actual memory and use data. In one embodiment, the electronic device (2000) can identify a physical address mapped to a virtual address. The mapping information may be included in a page table stored in the storage (permanent memory) of the electronic device (2000).

[0046] In operation S330, if the current process ID is the same as the previous process ID, the electronic device (2000) can predict the physical address of the next data to be used in the process corresponding to the current process ID based on the physical address.

[0047] In one embodiment, the electronic device (2000) can identify whether the current process ID identified in operation S310 is the same as the previous process ID. If the process IDs are the same, the electronic device (2000) can predict the physical address of the next data using a prediction model. The prediction model may be a model that takes a physical address as input and outputs the next physical address, and may be composed of a Multi-Layer Perceptron (MLP).

[0048] In operation S340, the electronic device (2000) can preload the following data into main memory based on the predicted physical address.

[0049] In one embodiment, the electronic device (2000) can preload data stored in the storage of the electronic device (2000) into main memory based on a predicted physical address. By preloading data into main memory, the electronic device (2000) can reduce the time the CPU takes to process processes within the process.

[0050] In one embodiment, the electronic device (2000) may repeat the prediction of a physical address for a subsequent data sequence. For example, whenever a data load request is identified in a process, the electronic device may identify the current process ID and virtual address and predict the physical address of the data to be used next. The electronic device (2000) may execute one or more processes by preloading the data at the predicted physical address into main memory. In other words, the electronic device (2000) may reduce the processing speed of one or more processes through data preloading.

[0051] FIG. 4 is a block diagram illustrating the configuration of an electronic device according to one embodiment of the present disclosure.

[0052] In one embodiment, the electronic device (2000) may include a system-on-chip (400), a main memory (460), and storage (470).

[0053] The system-on-chip (400) can handle various tasks including processing operations of a process, memory management, and data transfer to storage. The system-on-chip (400) may include, for example, a CPU (410), an NPU (420), an L1 / L2 / L3 Cache (430), a memory controller (440), and a prediction and preload block (450), but is not limited thereto.

[0054] The CPU (410) can process operations of the process. When a process is created, the CPU (410) can read instructions from the main memory (460) where the program code is loaded and execute them.

[0055] The NPU (420) may be a processor designed to handle tasks related to artificial neural networks. The NPU (420) may handle operations to predict the physical address for preloading the next data of a process.

[0056] The L1 / L2 / L3 cache (430) can store data that is frequently used by the CPU (410) and / or NPU (420). The L1 / L2 / L3 cache (430) can load and store data from the main memory (460), and each cache may have different sizes and speeds depending on the layer.

[0057] The memory controller (440) can manage the flow of data between the CPU (410) or NPU (420) and the main memory (460). The memory controller (440) can control access to addresses within memory. The memory controller (440) may receive a data load request from the CPU (410) or NPU (420) when the CPU (410) or NPU (420) attempts to access memory to read or write data. The data load request may include a virtual address. The memory controller (440) may load data into the main memory (460) in accordance with the data load request. In one embodiment, the memory controller (440) may preload data stored in storage (470) into the main memory (460) based on a predicted physical address.

[0058] The Prediction Preload Block (PPB) (450) can predict the physical address for data preloading. The PPB (450) can obtain the process ID and virtual address of the data to be loaded from the CPU (410). The PPB (450) can obtain a page table for address translation from the storage (470). The PPB (450) can manage overall operations regarding the prediction model that predicts the physical address of the next data. For example, the PPB (450) can select training data to train the prediction model. The PPB (450) can transmit the training data of the prediction model to the server (3000). The PPB (450) can receive the parameters of the trained prediction model from the server (3000) and enable inference using the prediction model to be performed. In this case, the inference operation of the prediction model can be performed through the NPU (420).

[0059] In one embodiment, the PPB (450) may be a hardware module included in the system-on-chip (400). Alternatively, the PPB (450) may be composed of a combination of a hardware module and a software module. A detailed description of the operation of the PPB (450) will be further described with reference to the drawings below.

[0060] FIG. 5 is a block diagram illustrating the PPB configuration of an electronic device according to one embodiment of the present disclosure.

[0061] Referring to FIG. 5, the PPB (500) may include an input data processing module (510), an address management module (520), and a model management module (530). Each module of the PPB (500) is briefly described in FIG. 5, and a detailed description of the operation of the PPB (500) is described in subsequent drawings.

[0062] The PPB (500) performs operations related to predicting the physical address of data for preloading. The PPB (500) can process data to extract data to be input into a prediction model, and can transmit the predicted physical address output from the prediction model to a memory controller so that data at that physical address is preloaded. Each module of the PPB (500) below may include hardware components to perform the described functions. For example, an arithmetic logic unit (ALU), a comparator, a three-phase buffer, etc. may be included, but is not limited thereto.

[0063] The input data processing module (510) can process data input to the PPB (500). The input data may be a process ID identified by the CPU and a virtual address of the data to be loaded. The input data processing module (510) can process the input data and transmit it to the address management module (520) or the model management module (530).

[0064] The address management module (520) can convert virtual addresses into physical addresses. The address management module (520) can convert virtual page numbers into physical page numbers based on a page table. The converted physical page numbers can be transmitted to the model management module (530). The page table can be obtained from storage.

[0065] The model management module (530) can process and manage overall data related to the prediction model. The model management module (530) can create a training dataset by selecting data to train the prediction model of the input data processing module (510). The model management module (530) can transmit the training dataset to a server to enable the training of the prediction model. The transmission of the training dataset can be performed periodically or non-periodically. The model management module (530) can receive parameters of the trained prediction model from the server and operate the prediction model. The physical address output from the prediction model can be transmitted to a memory controller.

[0066] FIG. 6 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure to predict a physical address and preload data.

[0067] The electronic device (2000) can predict the address of data using PPB (600) and preload the data at the predicted address. Here, predicting the address of data refers to an inference process that predicts the physical page number using a prediction model.

[0068] In one embodiment, the PPB (600) can receive the current process ID (601) and virtual address (602) and output a predicted physical page number (603).

[0069] When there is a data load request from a process, the CPU accesses a memory address according to the program's code. In this case, the data load request may include the current process ID (601) and a virtual address (602) pointing to the location of the data. The PPB (600) may receive the current process ID (601) and the virtual address (602) from the CPU.

[0070] The input data processing module (610) can create and manage a process ID history in which a process ID is stored for each data. When the current process ID (601) is received, the input data processing module (610) can compare the previous process ID and the current process ID (601) using a comparator. If the current process ID (601) is the same as the previous process ID, 1 is returned, and otherwise, 0 may be returned. This is to predict the physical address of the next data to be loaded from the process when the current process is continuously running without being switched.

[0071] A virtual address may consist of bits representing a virtual page number (VPN) and bits representing a page offset. The page number consists of the upper bits of the virtual address and represents a virtual page. The page offset consists of the remaining lower bits and specifies a specific location within the page. An input data processing module (610) can extract a virtual page number from a virtual address using a page number extractor. The input data processing module (610) can transmit the extracted virtual page number to an address management module (620).

[0072] The address management module (620) can convert a virtual page number into a physical page number (PPN). The address management module (620) can convert a virtual page number into a physical page number based on a page table. The page table may contain mapping information between a virtual page number and a physical page number. In one embodiment, the page table may be stored in storage. The entire page table may be stored in storage, and a portion of the page table containing information on the currently accessed page may be loaded into main memory. The converted physical page number may be passed to a model management module (630) and used to predict the next physical page number.

[0073] In one embodiment, the PPB (600) can select physical page numbers to be passed to the model management module (630). For example, output may be enabled or disabled by a buffer. The buffer may control the physical page number inference operation to be performed only when the previous process and the current process ID (601) are the same. The buffer may allow the input physical page number to be passed as output when the current process ID (601) is the same as the previous process ID, and prevent the input physical page number from being output when the current process ID (601) is different from the previous process ID.

[0074] The model management module (630) manages the training or inference of the model. In the inference process using the prediction model, the model management module (630) can input a physical page number into the prediction model to obtain the predicted physical page number (603) of the data to be loaded next. The prediction model may be in a state prepared to perform inference operations after training is completed and performance verification is performed. In one embodiment, the parameters of the trained prediction model may be received from a server. The inference operation using the prediction model may be performed using an NPU included in the system-on-chip, but is not limited thereto.

[0075] In one embodiment, the PPB (600) can be passed to the memory controller to preload the predicted physical page number (603).

[0076] FIG. 7 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure converting a virtual address into a physical address.

[0077] In one embodiment, the electronic device (2000) can perform mapping between virtual addresses and physical addresses using a page table (700). The page table (700) can be implemented in one of various methods available for address mapping. For example, the entire page table may be stored in storage, and it may be an on-demand page table method in which the necessary page table or the necessary part of the page table is loaded into main memory for use, but is not limited thereto.

[0078] The electronic device (2000) can convert a virtual address into a physical address using a page table (700).

[0079] The page table (700) may be composed of entries, which are basic units for storing mapping information between virtual pages and physical pages. Each entry may contain information about a physical page corresponding to a single virtual page. The entry may include, for example, a physical page number (720), a valid bit indicating the validity of the page, but is not limited thereto.

[0080] A virtual address may consist of a virtual page number (710) and an offset, and a physical address may consist of a physical page number (720) and an offset. An electronic device (2000) may separate a virtual address into a virtual page number (710) and an offset. For example, if the virtual address is in a 64-bit format, the upper 52 bits may be page number bits and the remaining 12 bits may be page offset bits. The electronic device (2000) may use the virtual page number (710) to access an index of a page table (700) and identify a physical page number (720) from an entry of that index. Since the offsets of the virtual address and the physical address are the same, the electronic device (2000) may convert the virtual page number (710) extracted from the virtual address into a physical page number (720) and combine the offset with the physical page number (720) to obtain a physical address.

[0081] FIG. 8 is a diagram illustrating the operation of an electronic device preloading data according to one embodiment of the present disclosure.

[0082] In one embodiment, the electronic device (2000) can preload data using a predicted physical page number (810) using a prediction model. The preloaded data may refer to data predicted to be used next in the process.

[0083] The predicted physical page number (810) output from the PPB can be transmitted to the memory controller (820). In one embodiment, the predicted physical page number (810) can be converted into the format of a physical address. For example, if the physical address is in a 64-bit format, the predicted physical page number (810) is 52 bits and the offset is 12 bits, a shift operation can be performed on the predicted physical page number (810) to convert it into a 64-bit physical address. In this case, the value of the offset may not be set. This may mean loading the entire page of the predicted physical page number (810).

[0084] The memory controller (820) can check whether data exists at a physical address obtained from a predicted physical page number (810) in the main memory (830). If the corresponding physical address value is accessible in the main memory (830), it can be determined that the data intended for preloading is already in the main memory (830). If the corresponding physical address value is not accessible in the main memory (830), it can be determined that the data intended for preloading is not in the main memory (830). In this case, the memory controller (820) can load the data corresponding to the physical address from the storage (840) into the main memory (830) so that the data is preloaded. The preloaded data can be used later when there is a data load command in the process.

[0085] FIG. 9 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure training a prediction model for predicting a physical address.

[0086] The electronic device (2000) can select training data to train a prediction model using PPB (900). The electronic device (2000) can collect and select data during the processes while the electronic device is operating to generate a training dataset representing physical address patterns.

[0087] In one embodiment, the PPB (900) may receive a current process ID (901) and a virtual address (902) as input and generate training data (903) through a data processing process and a selection process. The training data (903) may be transmitted to a server (3000). The server (3000) may train a prediction model using the training data (903). For AI training, the server (3000) may be a device including high-performance hardware (e.g., a GPU (Graphics Processing Unit), a TPU (Tensor Processing Unit), etc.) capable of rapidly processing large-scale data and complex calculations. The server (3000) may train a prediction model and provide the model parameters (904) of the trained prediction model to an electronic device (2000).

[0088] PPB (900) can select and collect physical page numbers for processes performed in the electronic device (2000). When there is a data load request in a process, PPB (900) can identify the current process ID (901) and virtual address (902).

[0089] The input data processing module (910) can identify whether the current process ID (901) is the same as the previous process ID, extract a virtual page number from a virtual address (902), and transmit it to the address management module (920). The address management module (920) can convert the virtual page number into a physical page number based on a page table.

[0090] The converted physical page number may be output or not output by a buffer. The buffer may be controlled so that the physical page number is learned only when the previous process ID and the current process ID (901) are the same. When the current process ID (901) is the same as the previous process ID, the physical page number is passed to the model management module (930), and the training data manager of the model management module (930) may store the passed data as a physical page number pattern. The training data manager may use the physical page number pattern to generate training data (903) that associates the current physical page number with the next physical page number.

[0091] In one embodiment, the PPB (900) may pattern the addresses of data loaded within the same process to predict the physical addresses of data to be loaded sequentially within the process. Since processes are executed alternately according to scheduling, if data is patterned based only on whether the process ID is the same as the previous process ID, not all physical addresses included in a single process are stored as a pattern. For example, since another process may be executed before one process is fully executed, if physical addresses are stored based on the identity of the process ID, only the physical addresses for some data, rather than all data within the process, may be stored.

[0092] However, the number of processes is quite large, and organizing and storing the physical addresses regarding data loading for all processes by process is inefficient as it requires significant memory and computational resources. Therefore, the PPB (900) can increase the efficiency of generating data patterns for predicting physical addresses by selectively patterning only some of the data sequences included within a single process. In this case, the process ID is used only to identify whether it is the same process and may not be included in the training data (903). This is because the PPB (900) does not track many processes individually, but generates the training data (903) based only on which physical addresses are accessed sequentially within the same process.

[0093] In one embodiment, the server (3000) can receive training data (903) from the electronic device (2000) and train a prediction model. The electronic device (2000) can receive an updated prediction model from the server (3000) based on a preset period. For example, the prediction model may be updated and received by the electronic device (2000) every day, but is not limited thereto.

[0094] In one embodiment, the electronic device (2000) may directly train a prediction model using training data (903). The trained prediction model may be used to perform an inference task of predicting a physical address. Since the inference task of the prediction model has already been described in the description of FIG. 6, a repetitive description is omitted for brevity.

[0095] FIG. 10 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure generating training data for a prediction model.

[0096] In one embodiment, the electronic device (2000) may generate training data (1020) for a prediction model based on a physical address pattern (1010). The physical address pattern (1010) may refer to a pattern of physical page numbers, but is not limited thereto.

[0097] The physical address pattern (1010) may be a set of physical addresses of data identified as being loaded within the same process. For example, the physical page number of the data loaded first in a single process may be 52-bit 0xF0F0F0F0F0F0F, and the physical page number of the data loaded next may be 52-bit 0xF1F1F1F1F1F1F.

[0098] The electronic device (2000) can generate training data (1020) comprising input-label pairs consisting of the physical page number of the current data and the physical page number of the next data. In the example of FIG. 10, the training data (1020) indicates that the label 0xF1F1F1F1F1F1F is assigned to the input 0xF0F0F0F0F0F.

[0099] In the same manner as the example described above, the electronic device (2000) can generate training data (1020) comprising input-label pairs consisting of the physical address of the current data and the physical address of the next data for sequential physical addresses within the physical address pattern (1010). In other words, the training data (1020) may consist of a large amount of data labeling the physical addresses between adjacent data. The training data (1020) may be used to train a prediction model.

[0100] FIG. 11 is a diagram illustrating a prediction model used by an electronic device according to one embodiment of the present disclosure to predict a physical address.

[0101] In one embodiment, the prediction model may be configured to include a Multi-Layer Perceptron (MLP). The prediction model can learn a non-linear relationship between input data and output data. The prediction model may include an input layer (1110), a hidden layer (1120), and an output layer (1130).

[0102] The input layer (1110) is a layer that receives physical page numbers. For example, if the prediction model receives 52-bit physical page numbers as input, the number of nodes in the input layer (1110) may be 52. Each node of the input layer (1110) receives 1 bit of input and can pass the data to the hidden layer (1120).

[0103] The hidden layer (1120) can extract features of the data from the input data. There may be one or more hidden layers (1120). For example, to reduce complexity and computational cost, the hidden layer (1120) may be composed of one, but is not limited thereto. The hidden layer (1120) may include nodes for learning various combinations of input data. Each node may have weights and biases for combining the input layer with various weights. For example, if the hidden layer (1120) has 128 nodes, each of the 128 nodes may have unique weights and biases. The hidden layer (1120) may pass an output value to which an activation function has been applied to the output layer (1130). The activation function may include, for example, ReLU, sigmoid, etc., but is not limited thereto.

[0104] The output layer (1130) is a layer that outputs physical page numbers. After the prediction model is trained, input data (physical page numbers) is fed in, and output data (predicted physical page numbers) can be output through the output layer. For example, if the output data, the predicted physical page number, is 52 bits, the number of nodes in the output layer (1130) may be 52. Each node of the output layer (1130) outputs 1 bit, and a 52-bit output can be predicted through the outputs of all nodes.

[0105] In one embodiment, the electronic device can train a prediction model. The prediction model may be trained based on training data, and the training process may include forward propagation applying weights and biases, loss calculation calculating the error between the output data and the correct answer, backpropagation calculating the effect of the error on the weights of each layer, and iterative weight and bias updates.

[0106] FIG. 12 is a diagram illustrating the operation of an electronic device according to one embodiment of the present disclosure collecting usage patterns of the electronic device.

[0107] In one embodiment, the electronic device (2000) may collect the usage history (1210) of the electronic device (2000). The usage history (1210) of the electronic device (2000) may include, for example, histories related to applications, sources, actions, settings, etc., but is not limited thereto.

[0108] The application history may include records regarding memory access patterns that occur during the process of an application running on an electronic device (2000) and a user interacting with the application. For example, the application history may include, but is not limited to, the application name, usage time, network status (e.g., network type, network speed, connection strength, etc.), and actions performed within the application.

[0109] Source history may include records regarding memory access patterns that occur during the process of using a connected source of the electronic device (2000). For example, source history may include, but is not limited to, the type of the connected source (e.g., HDMI, game console, set-top box, etc.), resolution, streaming information, connection time, functions used, network status, etc.

[0110] The action history may include records regarding memory access patterns that occur during the process of the user interacting with the electronic device (2000) through user actions on the electronic device (2000). For example, the action history may include, but is not limited to, action type (e.g., navigation, channel change, volume control, etc.), target (e.g., menu, channel, volume, etc.), device status (e.g., screen mode, sound mode, etc.), number of actions, and time of action occurrence.

[0111] The setting history may include records regarding memory access patterns that occur during the process of applying a setting or changing a setting in the electronic device (2000). For example, the setting history may include setting items, setting values ​​before and after the change, and the time of setting application, but is not limited thereto.

[0112] The electronic device (2000) can generate a usage pattern based on the usage history (1210). The usage pattern may include, for example, usage history for applications, usage history for sources, action history, configuration history, etc., but is not limited thereto.

[0113] The electronic device (2000) can generate a physical address pattern based on a usage pattern. For example, the electronic device (2000) can generate a physical address pattern that patterns the physical addresses when accessing memory for data loading in one or more processes included in each usage pattern.

[0114] The electronic device (2000) can generate training data for a prediction model based on a physical address pattern and train the prediction model so that the prediction model can predict the physical address of data to be loaded for an unstructured process in various usage environments of the electronic device and preload the predicted data.

[0115] For example, even if the electronic device (2000) is the same, the processes executed at boot may differ depending on the usage environment of the electronic device (2000) (e.g., network connection, user personal settings, etc.). By using a predictive model that learns memory access patterns corresponding to usage patterns, the electronic device (2000) can reduce boot time by preloading data required when the electronic device (2000) boots from storage into main memory. For example, the electronic device (2000) can reduce the time the CPU waits for data by preloading Wi-Fi connection information, account information, app-related data, etc. required at boot time into main memory.

[0116] For example, as each user of the electronic device (2000) uses the electronic device (2000) with their own personalized pattern, the processes executed may differ. By using a prediction model that learns memory access patterns corresponding to the usage pattern, the electronic device (2000) can reduce response time by loading the data required when the electronic device (2000) is used into the main memory from storage in advance.

[0117] For example, if the user's usage pattern generally tends to run App B after closing App A, the electronic device (2000) can reduce the time the CPU waits for the data by preloading data related to the execution of App B into the main memory when App A is closed.

[0118] For example, if the user's usage pattern tends to be to run a video platform app while watching a live broadcast, the electronic device (2000) can reduce the time the CPU waits for the data by preloading data related to the execution of the video platform app into the main memory while the live broadcast is playing on the screen.

[0119] FIG. 13 is a block diagram illustrating the configuration of an electronic device according to one embodiment of the present disclosure.

[0120] In one embodiment, the electronic device (2000) may include a communication interface (2100), a main memory (2200), a storage (2300), and a system-on-chip (2400).

[0121] The communication interface (2100) can perform data communication with another electronic device (e.g., a server) under the control of the system-on-chip (2400).

[0122] The communication interface (2100) can perform data communication between an electronic device (2000) and another electronic device (e.g., a server, an external electronic device, etc.) by using at least one of data communication methods including, for example, a wired LAN (e.g., Ethernet), a wireless LAN (e.g., Wi-Fi), a cellular network (e.g., 4G, 5G, etc.), Bluetooth, BLE (Bluetooth Low Energy), ZigBee, infrared communication (IrDA, infrared Data Association), NFC (Near Field Communication), RF communication, and various other types of known wireless / wired communication technologies. The communication interface (2100) may include a communication circuit designed to use the aforementioned communication methods.

[0123] The main memory (2200) can store data currently being processed in the electronic device (2000). The main memory (2200) can store programs and data currently being executed by the CPU or NPU of the system-on-chip (2400) and allow for fast access. The main memory (2200) may include volatile memory such as RAM (Random Access Memory) or SRAM (Static Random Access Memory), but is not limited thereto.

[0124] The storage (2300) can permanently store large amounts of data (e.g., programs, system files, etc.). The storage (2300) may include non-volatile memory including at least one of, for example, a hard disk drive (HDD), a solid-state drive (SSD), an optical drive (e.g., a CD), a flash drive, a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), and a PROM (Programmable Read-Only Memory), but is not limited thereto.

[0125] The system-on-chip (2400) can control the overall operations of the electronic device (2000). The system-on-chip (2400) may include a processing circuit. The processor, which is the processing circuit included in the system-on-chip (2400), may be composed of at least one of, for example, a Central Processing Unit (CPU), a Neural Processing Unit (NPU), a Microprocessor, a Graphic Processing Unit (GPU), Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), and an Application Processor (AP), but is not limited thereto.

[0126] There may be one or more processors. If there is one or more processors, the operations of the present disclosure may be performed by one or more processors by executing instructions and / or programs stored in memory individually or collectively. If a method according to one embodiment of the present disclosure includes a plurality of operations, the plurality of operations may be performed by a single processor or by a plurality of processors.

[0127] For example, when the first, second, and third operations are performed by a method according to one embodiment, the first, second, and third operations may all be performed by a first processor, or some of the first to third operations may be performed by a first processor (e.g., a general-purpose processor) and the remaining operations may be performed by a second processor (e.g., an AI-dedicated processor). Here, operations for training / inference of an AI model may be performed by an AI-dedicated processor, which is an example of a second processor. However, the embodiments of the present disclosure are not limited thereto. For example, the inference process using a prediction model may be processed by an NPU, and the process of processing the process may be processed by a CPU.

[0128] One or more processors according to the present disclosure may be implemented as a single-core processor or as a multi-core processor. When a method according to one embodiment of the present disclosure includes a plurality of operations, the plurality of operations may be performed by a single core or by a plurality of cores included in one or more processors.

[0129] When a program is loaded from storage (2300) to main memory (2200) in response to a program load request in which one or more instructions of the program are executed, the processor of the system-on-chip (2400) can process the program by executing instructions and performing operations.

[0130] In addition to the processor, the system-on-chip (2400) may include a cache memory, a memory controller, and a prediction and preload block (PPB). The cache memory may store data used by the CPU and / or NPU, and the memory controller may manage the data flow between the CPU and / or NPU and the main memory (2200). The prediction and preload block (PPB) may predict physical addresses for data preloading. Since each component has been described in previous drawings, a repetitive description is omitted.

[0131] In one embodiment, the electronic device (2000) may include various types of devices including a display. For example, the electronic device (2000) may include a TV, a smart monitor, a tablet PC, a laptop PC, digital signage, a large display, a 360-degree projector, a smartphone, etc. In one embodiment, the electronic device (2000) may be implemented without a display. The electronic device (2000) may include a set-top box, a desktop PC, etc., which can be connected to a separate external display, but is not limited thereto.

[0132] In one embodiment, the operations of the aforementioned server (3000) may be replaced by operations executed in the electronic device (2000). For example, the electronic device (2000) may include programs and instructions, hardware modules and software modules for training a prediction model to perform functions identical or similar to those of the server (3000).

[0133] FIG. 14 is a block diagram illustrating the configuration of an electronic device according to one embodiment of the present disclosure.

[0134] In one embodiment, the electronic device (2000) may include a communication interface (2100), a main memory (2200), a storage (2300), a system-on-chip (2400), a display (2500), a video processing module (2600), an audio processing module (2700), a power module (2800), and an input / output interface (2900).

[0135] The communication interface (2100), main memory (2200), storage (2300), and system-on-chip (2400) correspond to the communication interface (2100), main memory (2200), storage (2300), and system-on-chip (2400) of FIG. 13, so a repeated description is omitted.

[0136] The display (2500) can output a video signal to the screen of the electronic device (2000) under the control of a processor included in the system-on-chip (2400).

[0137] The sensor can acquire sensor data. There may be one or more sensors. The processor of the electronic device (2000) can acquire information by processing the sensor data. The sensor may include an IR receiver for detecting remote control signals, but is not limited thereto.

[0138] The video processing module (2600) performs processing on video data played by the electronic device (2000). The video processing module (2600) can perform various image / video processing on the video data, such as decoding, scaling, noise reduction, frame rate conversion, resolution conversion, rendering, etc. The display (2500) can generate a driving signal by converting video signals, data signals, OSD signals, control signals, etc., processed by the processor of the electronic device (2000), and can display an image according to the driving signal.

[0139] The audio processing module (2700) performs processing on audio data played by the electronic device (2000). Various processing such as decoding, amplification, and noise filtering can be performed on the audio data in the audio processing module (2700).

[0140] The power module (2800) supplies power input from an external power source to components inside the electronic device (2000) under the control of the processor of the electronic device (2000). Additionally, the power module (2800) can supply power output from one or more batteries located inside the electronic device (2000) to the components inside under the control of the processor of the electronic device (2000).

[0141] The input / output interface (2900) processes input / output from outside the electronic device (2000). The input / output interface (2900) receives video (e.g., video, etc.), audio (e.g., voice, music, etc.), and additional information (e.g., EPG, etc.). The input / output interface (2900) may include any one of USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface), MHL (Mobile High-Definition Link), DP (Display Port), Thunderbolt, VGA (Video Graphics Array) port, RGB port, D-SUB (D-subminiature), DVI (Digital Visual Interface), component jack, PC port, and audio jack. That is, the input / output interface (2900) may be implemented to include a plurality of modules (e.g., USB port, HDMI port, etc.) for implementing the aforementioned input / output methods. The electronic device (2000) can be connected to external devices such as a display, camera, microphone, speaker, touchpad, etc. through an input / output interface (2900).

[0142] The present disclosure provides a method for improving process processing performance by predicting the address of data to be loaded and preloading the data at the predicted address based on the analysis and patterning of atypical processes, and an electronic device for performing the method. The technical problems to be solved by the present disclosure are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by those skilled in the art from the description in this specification.

[0143] According to one aspect of the present disclosure, an electronic device for performing a data preload method may be provided.

[0144] The electronic device may include a system-on-chip comprising at least one processor, storage for storing instructions, and a main memory on which the instructions are loaded.

[0145] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can identify the current process ID and the virtual address to which the data is to be loaded based on the identification of the data load request.

[0146] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can convert the virtual address into a physical address based on a page table stored in the storage.

[0147] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can predict the physical address of the next data to be used in the process corresponding to the current process ID based on the physical address if the current process ID is the same as the previous process ID.

[0148] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can preload the next data into the main memory based on the predicted physical address.

[0149] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can convert a virtual page number extracted from a virtual address into a physical page number based on the page table.

[0150] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can input the physical page number into a prediction model to predict the physical page number of the next data.

[0151] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can obtain the predicted physical address by converting the predicted physical page number into a physical address.

[0152] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can identify whether the next data is in the main memory.

[0153] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can preload the next data from the storage to the main memory based on a predicted physical address if the next data is not in the main memory.

[0154] The above prediction model can be composed of a multilayer perceptron.

[0155] The above prediction model may be trained based on training data containing input-label pairs consisting of the physical page number of the current data and the physical page number of the next data.

[0156] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can identify the physical addresses of data loaded within the same process based on the process ID for processes that are executed alternately according to scheduling.

[0157] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can generate the training data based on the physical address pattern of the physical addresses of the same process.

[0158] By executing the above instructions by the at least one processor within the system-on-chip, the electronic device can collect the user's electronic device usage history.

[0159] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can generate a usage pattern for one or more applications based on the usage history.

[0160] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can generate the process-specific physical address pattern based on the usage pattern.

[0161] The above electronic device may include a communication interface.

[0162] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can transmit the training data to a server through the communication interface.

[0163] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can receive parameters of the prediction model trained using the training data from the server through the communication interface.

[0164] The above prediction model may be a prediction model that is periodically updated based on a defined period and received from the server.

[0165] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device can execute one or more processes by repeating the prediction of a physical address for a subsequent data sequence.

[0166] The above system-on-chip may include an NPU.

[0167] By executing the above instructions by the at least one processor in the system-on-chip, the electronic device may predict the physical page number of the next data using the prediction model by using the NPU.

[0168] According to one aspect of the present disclosure, a data preloading method performed by an electronic device may be provided.

[0169] The above method may include the step of identifying a current process ID and a virtual address to which the data is to be loaded, based on the identification of a data load request.

[0170] The above method may include the step of converting the virtual address into a physical address based on a page table.

[0171] The above method may include the step of predicting the physical address of the next data to be used in the process corresponding to the current process ID based on the physical address if the current process ID is the same as the previous process ID.

[0172] The above method may include the step of preloading the next data into the main memory of the electronic device based on the predicted physical address.

[0173] The step of converting the virtual address to a physical address may include the step of converting a virtual page number extracted from the virtual address into a physical page number.

[0174] The step of predicting the physical address of the next data may include the step of predicting the physical page number of the next data by inputting the physical page number into a prediction model.

[0175] The step of predicting the physical address of the following data may include the step of converting the predicted physical page number into a physical address to obtain the predicted physical address.

[0176] The step of preloading the next data above may involve identifying whether the next data is in the main memory, and if the next data is not in the main memory, preloading the next data from storage into the main memory based on a predicted physical address.

[0177] The above prediction model can be composed of a multilayer perceptron.

[0178] The above prediction model may be trained based on training data containing input-label pairs consisting of the physical page number of the current data and the physical page number of the next data.

[0179] The above method may include the step of identifying the physical addresses of data loaded within the same process based on the process ID for processes that are executed cross-executed according to scheduling.

[0180] The above method may include the step of generating the training data based on the physical address pattern of the physical addresses of the same process.

[0181] The above method may include a step of collecting the user's electronic device usage history.

[0182] The above method may include the step of generating a usage pattern for one or more applications based on the above usage history.

[0183] The step of generating the training data above may include the step of generating the physical address pattern per process based on the usage pattern above.

[0184] The above method may include the step of transmitting the training data to a server.

[0185] The above method may include the step of receiving parameters of the prediction model trained using the training data from the server.

[0186] The step of receiving the parameters of the prediction model from the server may be receiving the parameters of the prediction model, which are periodically updated based on a defined period, from the server.

[0187] The above method may include the step of executing one or more processes by repeating the prediction of physical addresses for subsequent data sequences.

[0188] The step of predicting the physical page number of the next data above may involve using an NPU to predict the physical page number of the next data using the prediction model above.

[0189] Meanwhile, embodiments of the present disclosure may also be implemented in the form of a recording medium containing computer-executable instructions, such as program modules executed by a computer. A computer-readable medium may be any available medium accessible by a computer and includes both volatile and non-volatile media, and both removable and non-removable media. Additionally, a computer-readable medium may include computer storage media and communication media. Computer storage media include both volatile and non-volatile, removable and non-removable media implemented by any method or technique for storing information, such as computer-readable instructions, data structures, program modules, or other data. Communication media may typically include other data of modulated data signals, such as computer-readable instructions, data structures, or program modules.

[0190] Additionally, computer-readable storage media may be provided in the form of non-transitory storage media. Here, 'non-transitory storage media' simply means that it is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily. For example, 'non-transitory storage media' may include a buffer in which data is stored temporarily.

[0191] 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 distributed online (e.g., download or upload) through an application store or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) 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.

[0192] The foregoing description of the present disclosure is for illustrative purposes only, and those skilled in the art will understand that other specific forms can be easily modified without altering the technical spirit or essential features of the present disclosure. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. For example, each component described as a single unit may be implemented in a distributed manner, and components described as distributed may likewise be implemented in a combined form.

[0193] The scope of the present disclosure is defined by the claims set forth below rather than by the detailed description above, and all modifications or variations derived from the meaning and scope of the claims and equivalent concepts thereof should be interpreted as being included within the scope of the present disclosure.

Claims

1. In an electronic device that performs a data preload method, A system-on-chip comprising at least one processor; and It includes storage for storing instructions and main memory on which the instructions are loaded, By executing the above instructions by the at least one processor within the system-on-chip, the electronic device, Based on the data load request, identify the current process ID and the virtual address where the data is to be loaded, and Based on the page table stored in the storage above, the virtual address is converted to a physical address, and If the above current process ID is the same as the previous process ID, the physical address of the next data to be used in the process corresponding to the above current process ID is predicted based on the above converted physical address, and An electronic device that preloads the next data into the main memory based on the predicted physical address.

2. In Paragraph 1, By executing the above instructions by the at least one processor within the system-on-chip, the electronic device, Based on the above page table, the virtual page number extracted from the virtual address is converted into a physical page number, and The physical page number above is input into a prediction model to predict the physical page number of the next data above, and An electronic device that converts the predicted physical page number into a physical address to obtain the predicted physical address.

3. In Paragraph 2, By executing the above instructions by the at least one processor within the system-on-chip, the electronic device, An electronic device that identifies whether the next data is in the main memory, and if the next data is not in the main memory, preloads the next data from the storage into the main memory based on the predicted physical address.

4. In Paragraph 2, The above prediction model is an electronic device composed of a Multi-Layer Perceptron (MLP) and trained based on training data comprising input-label pairs consisting of the physical page number of the current data and the physical page number of the next data.

5. In Paragraph 4, By executing the above instructions by the at least one processor within the system-on-chip, the electronic device, For processes that are executed cross-executed according to scheduling, the physical addresses of data loaded within the same process are identified based on the process ID, and An electronic device that generates the training data based on the physical address pattern of the physical addresses of the same process.

6. In Paragraph 5, By executing the above instructions by the at least one processor within the system-on-chip, the electronic device, Collecting the user's electronic device usage history, and Based on the above usage history, generate usage patterns for one or more applications, and An electronic device that generates the physical address pattern per process based on the above usage pattern.

7. In Paragraph 2, The above system-on-chip includes an NPU, and By executing the above instructions by the at least one processor within the system-on-chip, the electronic device, An electronic device that predicts the physical page number of the next data using the prediction model using the above NPU.

8. In a data preloading method performed by an electronic device, A step of identifying the current process ID and the virtual address to which the data is to be loaded based on a data load request; A step of converting the virtual address to a physical address based on a page table; If the current process ID is the same as the previous process ID, the step of predicting the physical address of the next data to be used in the process corresponding to the current process ID based on the physical address; and A method comprising the step of preloading the following data into the main memory of the electronic device based on the predicted physical address.

9. In Paragraph 8, The step of converting the above virtual address to a physical address is, It includes the step of converting a virtual page number extracted from the above virtual address into a physical page number, and The step of predicting the physical address of the above-mentioned next data is, A step of inputting the physical page number into a prediction model to predict the physical page number of the next data; and A method comprising the step of converting the predicted physical page number into a physical address to obtain the predicted physical address.

10. In Paragraph 9, The step of preloading the following data above is, A method for identifying whether the next data is in the main memory, and if the next data is not in the main memory, preloading the next data from storage into the main memory based on the predicted physical address.

11. In Paragraph 9, A method wherein the above prediction model is composed of a Multi-Layer Perceptron (MLP) and is trained based on training data comprising input-label pairs consisting of the physical page number of the current data and the physical page number of the next data.

12. In Paragraph 11, The above method is, For processes that are executed cross-executed according to scheduling, a step of identifying the physical addresses of data loaded within the same process based on the process ID; and A method further comprising the step of generating the training data based on the physical address pattern of the physical addresses of the same process.

13. In Paragraph 12, The above method is, A step of collecting the user's electronic device usage history; and The method further includes the step of generating usage patterns for one or more applications based on the above usage history, and A method comprising the step of generating the training data, wherein the step of generating the physical address pattern for each process based on the usage pattern.

14. In Paragraph 9, The above method further comprises the step of executing one or more processes by repeating the prediction of a physical address for a subsequent data sequence.

15. In Paragraph 9, The step of predicting the physical page number of the next data above is a method in which the physical page number of the next data above is predicted using the prediction model using an NPU.