Interface controllers, interface control methods and electronic devices
By using a predictive model based on machine learning algorithms in the interface controller to predict the correlation of data blocks, the problem of low efficiency of external data storage device interfaces is solved, thereby improving system efficiency and enabling flexibility in pre-access.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- NUVOTON
- Filing Date
- 2025-06-10
- Publication Date
- 2026-06-30
AI Technical Summary
The low interface efficiency of external high-capacity data storage devices has become a bottleneck for system efficiency, and existing pre-access algorithms need to be redesigned when the usage scenario changes, which lacks flexibility.
A predictive model using machine learning algorithms is used to predict the correlation of data blocks. Data pre-access is performed through the pre-access prediction module in the interface controller, which includes an input/output control unit, a first-in-first-out/pre-access buffer, and an interface bus control unit. The predictive model is used to train the correlation between data blocks and other blocks for data pre-access.
It improves system efficiency, enhances the accuracy and flexibility of data pre-access, reduces reliance on fixed hardware algorithms, and adapts to different access behaviors.
Smart Images

Figure CN122309394A_ABST
Abstract
Description
Technical Field
[0001] This application relates to an interface controller, interface control method, and electronic device, and more particularly to an interface controller, interface control method, and electronic device that uses a predictive model based on a learning algorithm to predict associated data blocks for data prefetching. Background Technology
[0002] When a system needs to store a large amount of data, it is usually necessary to use external high-capacity data storage devices (i.e., external data storage devices of the bus system). The interface efficiency of such data storage devices is much lower than that of internal data storage devices (i.e., internal data storage devices of the bus system). Therefore, the low interface efficiency of external high-capacity data storage devices has become the main bottleneck of system efficiency.
[0003] In the past, in addition to increasing the operating frequency of the transmission interface, some technologies could also be combined with the pre-access function of the interface controller to enhance the overall system efficiency. The algorithm selected by the pre-access function directly affects the extent of the efficiency improvement. In the past, an efficient algorithm was usually designed for the specific use case. However, this approach may become unsuitable when the use case changes, requiring users to redesign the algorithm. Summary of the Invention
[0004] As can be understood from the above description, the purpose of this application is to provide an interface controller, interface control method and electronic device that uses a predictive model based on a learning algorithm to predict associated data blocks for data pre-access. This can effectively improve system efficiency and, moreover, can retrain the predictive model based on the behavior of accessing data (i.e., the correlation of data) when needed, without requiring the user to redesign the algorithm again.
[0005] Based on one objective of this application, embodiments of this application provide an interface controller, which includes an input / output (I / O) control unit, a first-in-first-out (FIFO / Prefetch) buffer, an interface bus control unit, and a pre-access prediction module. The input / output control unit is used to read first data from a data block or second data from an associated data block of the data block from a data storage device. The FIFO / Prefetch buffer is electrically connected to the input / output control unit and is used to buffer the first or second data read by the input / output control unit. The interface bus control unit is electrically connected to the FIFO / Prefetch buffer and the input / output control unit, and is used to send the first or second data buffered by the FIFO / Prefetch buffer to the bus system. The pre-access prediction module is electrically connected to the input / output control unit, the FIFO / Prefetch buffer, and the interface bus control unit, and is used to predict, using a prediction model, whether a data block is associated with one of a plurality of other data blocks. If a data block is associated with one of multiple other data blocks, and multiple first data blocks of the data block have been read by the input / output control unit, the pre-access prediction module controls the input / output control unit to read the second data of the associated data block from the data storage device.
[0006] Based on one of the purposes of this application, an embodiment of this application provides an electronic device, which includes the aforementioned interface controller, data storage device, and bus system, wherein the interface controller is electrically connected between the data storage device and the bus system.
[0007] Based on one objective of this application, embodiments of this application provide an interface control method. The interface control method is executed on an interface controller electrically connected between a data storage device and a bus system, and includes the following steps: reading and caching first data of a data block from the data storage device; transmitting the cached first data to the bus system; using a predictive model to predict whether the data block is associated with one of a plurality of other data blocks; if the data block is associated with one of a plurality of other data blocks, and the plurality of first data of the data block has been read by the input / output control unit of the interface controller, then reading second data of the associated data block from the data storage device; and when the FIFO / pre-access buffer of the interface controller overflows or the plurality of second data of the associated data block has been read by the input / output control unit of the interface controller, stopping the reading of second data of the associated data block from the data storage device, outputting the plurality of second data to the bus system, and reading another first data of another data block from the data storage device.
[0008] As mentioned above, compared with the prior art, the interface controller, interface control method and electronic device provided in this application have more flexibility, are not limited by fixed algorithms in hardware, and can select to use different calculation models for training according to the behavior of accessing data, thereby improving the prediction accuracy of data pre-access. Attached Figure Description
[0009] Figure 1 This is a block diagram of an electronic device according to an embodiment of this application.
[0010] Figure 2 This is a block diagram of the interface controller of the electronic device according to an embodiment of this application.
[0011] Figure 3 This is a schematic diagram illustrating the acquisition of multiple data points within a data block in a sliding window, according to an embodiment of this application.
[0012] Figure 4 This is another schematic diagram illustrating the acquisition of multiple data blocks within a sliding window according to an embodiment of this application.
[0013] Figure 5 This is a flowchart illustrating the interface control method according to an embodiment of this application.
[0014] [Symbol Explanation]
[0015] 11: Data storage device; 12: Interface controller; 121: Pre-access prediction module; 1211: Inference unit; 1212: Predictive model data storage device; 1213: Interface control unit; 1214: Pre-access control unit; 122: Input / output control unit; 123: First-in-first-out / pre-access buffer; 124: Interface bus control unit; 13: Bus system; 31-36: Data blocks; S51-S56: Steps; SLW: Sliding window. Detailed Implementation
[0016] The main objective of this application is to provide an interface controller, an interface control method, and an electronic device, which can increase the hit rate of pre-stored external data in the interface controller and improve system operating efficiency by incorporating inference units from machine learning. The following will describe in detail the possible implementations of this application with reference to the accompanying drawings. However, it should be noted that the following implementation details are not intended to limit the claims of this application, but are merely for the convenience of those skilled in the art.
[0017] First, please refer to Figure 1 , Figure 1This is a block diagram of an electronic device according to an embodiment of this application. The electronic device includes a data storage device 11, an interface controller 12, and a bus system 13, wherein the interface controller 12 is electrically connected between the data storage device 11 and the bus system 13. The data storage device 11 stores multiple data blocks, and the interface controller 12 is used to read and cache data from the data storage device 11 and transmit the cached data to the bus system 13.
[0018] Generally, the bus system 13 has another data storage device internally, and the interface efficiency of the data storage device internal to the bus system 13 is better than that of the data storage device 11 external to the bus system 13. Therefore, the interface controller 12 predicts the data block currently being read and identifies other data blocks associated with this data block, thereby performing data pre-access. In the embodiments of this application, the bus system 13 may be a data bus system, and the data storage device 11 may be a volatile storage device or a non-volatile storage device, and this application is not limited thereto.
[0019] Please refer to Figure 2 , Figure 2 This is a block diagram of an interface controller for an electronic device according to an embodiment of this application. The interface controller 12 includes a pre-access prediction module 121, an input / output control unit 122, a first-in-first-out (FIFO) / pre-access buffer 123, and an interface bus control unit 124. The input / output control unit 122 reads data from a data storage device. The FIFO / pre-access buffer 123 is electrically connected to the input / output control unit 122 and is used to buffer the data from the data blocks read by the input / output control unit 122. The interface bus control unit 124 is electrically connected to the FIFO / pre-access buffer 123 and the input / output control unit 122, and is used to send the data from the data blocks buffered by the FIFO / pre-access buffer 123 to the bus system 13.
[0020] The pre-access prediction module 121 is electrically connected to the input / output control unit 122, the first-in-first-out (FIFO) / pre-access buffer 123, and the interface bus control unit 124. The data in the data blocks buffered by the FIFO / pre-access buffer 123 is sent not only to the interface bus control unit 124 but also to the pre-access prediction module 121, enabling the pre-access prediction module 121 to predict and control the interface controller 12 to perform data pre-access. The pre-access prediction module 121 uses a machine learning algorithm to train the correlation between multiple data blocks based on data access behavior. Therefore, the trained prediction model can predict whether the data block currently read by the input / output control unit 122 is related to one of the multiple other data blocks in the data storage device 11.
[0021] If a data block is associated with one of multiple other data blocks, and the input / output control unit 122 has finished reading all the data in the data block (i.e., the interface bus control unit 124 no longer needs to send the data in the data block to the bus system 13), then the pre-access prediction module 121 will control the input / output control unit 122 to read the data in the associated data block from the data storage device 11, which is to perform data pre-access. After the input / output control unit 122 obtains the data in the associated data block, the first-in-first-out / pre-access buffer 123 will cache the data in the associated data block. Then, the interface bus control unit 124 will send the data in the associated data block cached by the first-in-first-out / pre-access buffer 123 to the bus system 13.
[0022] Furthermore, if a data block is not associated with any other data blocks, and all data in the data block has been read by the input / output control unit 122, the pre-access prediction module 121 controls the input / output control unit 122 to read another piece of data from another data block from the data storage device 11. Simply put, if no associated data block is predicted, no data pre-access is performed, and the data in the next data block is read directly.
[0023] In addition, the aforementioned prediction model may include at least one of the following classification models: Support Vector Machine (SVM), Feedforward Neural Network, Recurrent Neural Network (RNN), Convolutional Neural Network (CNN), Gated Recurrent Unit (GRU), Long Short-Term Memory (LSTM), and K-Nearest Neighbors (KNN), and this application is not limited thereto.
[0024] Further, please refer to Figures 2-4 , Figure 3 This is a schematic diagram illustrating the acquisition of multiple data blocks within a sliding window according to an embodiment of this application, and Figure 4 This is another schematic diagram illustrating the acquisition of multiple data blocks within a sliding window according to an embodiment of this application. The data storage device 11 stores multiple data blocks 31-36. The pre-access prediction module 121 acquires multiple cached data blocks within the sliding window SLW from the first-in-first-out / pre-access buffer 123, i.e., as shown... Figure 3As shown, multiple data points within the sliding window (SLW) of data block 31 are acquired by the pre-access prediction module 121 for predicting the correlation of the data blocks. Furthermore, the sliding window (SLW) moves continuously, and after a period of time, it will... Figure 4 As shown, multiple data points within the sliding window (SLW) in data block 31 are used to predict the correlation of data blocks.
[0025] As can be seen from the above, the multiple cached data in the sliding window SLW obtained by the pre-access prediction module 121 from the FIFO / pre-access buffer 123 include at least one of the multiple data in data block 31. Next, the pre-access prediction module 121 can use a prediction model to predict whether data block 31 is associated with one of the multiple other data blocks 32-36 based on the multiple cached data in the sliding window SLW. Furthermore, the size of the sliding window SLW can be adjusted according to actual needs.
[0026] In this embodiment, data block 31 and data block 33 are associated with each other, and data blocks 32 and 34-36 are associated with each other. Therefore, the prediction model will be trained to predict that data block 31 is associated with data block 33 when multiple data in data block 31 are located within the sliding window SLW, and the prediction model will be trained to predict that data block 32 is associated with data block 34 when multiple data in data block 32 are located within the sliding window SLW.
[0027] In one embodiment, the prediction model calculates the association score between data blocks 31-36. For example, the prediction model calculates the association score between data block 31 and other data blocks 32-36 based on multiple cached data within the sliding window (SLW). If the association score is not greater than a threshold, the SLW continues to move. If the association score is greater than the threshold, the data block with the largest association score (data block 33 in this example) is predicted as the associated data block. Then, after the input / output control unit 122 has read all the data from data block 31, the pre-access prediction module 121 controls the input / output control unit 122 to read the data from the data storage device 11 for the associated data block (data block 33 in this example). Figure 4 The dashed line jumps from the end of data block 31 to the beginning of the data block.
[0028] Please continue to refer to Figure 2The pre-access prediction module 121 may include an inference unit 1211 and a prediction model data storage device 1212. The inference unit 1211 is electrically connected to a first-in-first-out (FIFO) / pre-access buffer 123, and is used to obtain multiple cached data within a sliding window from the FIFO / pre-access buffer 123, and use the prediction model to predict whether a data block is associated with one of multiple other data blocks based on the multiple cached data within the sliding window. The prediction model data storage device 1212 is electrically connected to the inference unit 1211 and is used to store prediction model data corresponding to the prediction model, wherein the inference unit 1211 reads prediction model data from the prediction model data storage device 1212 to obtain the prediction model.
[0029] The pre-access prediction module 121 may further include an interface control unit 1213 and a pre-access control unit 1214. The pre-access control unit 1214 is electrically connected to the inference unit 1211 and the input / output control unit 122, wherein if a data block is associated with one of a plurality of other data blocks, and the input / output control unit 122 has finished reading the data of the associated data block, the pre-access control unit 1214 controls the input / output control unit 122 to read the data of the associated data block from the data storage device 11.
[0030] Furthermore, when the first-in-first-out / pre-access buffer 123 is full or multiple data in the associated data block have been read, the pre-access control unit 1214 switches to the interface bus control unit 124 to control the input / output control unit 122 to stop the input / output control unit 122 from reading data from the data storage device 11, and causes the input / output control unit 122 to read another data from another data block from the data storage device 11.
[0031] The interface control unit 1213 is electrically connected to the inference unit 1211 and the interface bus control unit 124, and is used to monitor the interface bus control unit. When the interface bus control unit 124 controls the input / output control unit 122, the interface control unit 1213 notifies the interface bus control unit 124 to output multiple data of the associated data block cached in the first-in-first-out / pre-access buffer 123 to the bus system 13.
[0032] Please refer to Figure 2 and Figure 5 , Figure 5This is a flowchart illustrating the interface control method according to an embodiment of this application. The interface control method is executed in the interface controller 12 and includes the following steps S51 to S56. First, in step S51, first data of a cached data block is read from the data storage device 11. Then, in step S52, the cached first data is transmitted to the bus system 13. Next, in step S53, a prediction model is used to predict whether the data block is associated with one of a plurality of other data blocks.
[0033] In step S54, if a data block is associated with one of multiple other data blocks, and the input / output control unit 122 has finished reading the multiple first data of the data block, then the second data of the associated data block is read from the data storage device 11. Then, in step S55, when the FIFO / pre-access buffer 123 of the interface controller 12 overflows or the multiple second data of the associated data block has finished reading, reading the second data of the associated data block from the data storage device 11 stops, the multiple second data are output to the bus system 13, and another first data of another data block is read from the data storage device 11. In step S56, if a data block is not associated with any of the multiple other data blocks, and the input / output control unit 122 has finished reading the multiple first data of the data block, then the data storage device 11 reads another first data of another data block.
[0034] In summary, the interface controller, interface control method and electronic device provided in this application have the following characteristics: (1) By adding the inference unit in machine learning, the hit rate of the pre-stored external data of the interface controller is increased and the system operation efficiency is improved; (2) Different calculation models can be selected for training according to the behavior of accessing data, thereby improving the prediction accuracy of data pre-access; (3) Because different calculation models can be selected for training according to the behavior of accessing data, more flexibility than fixed hardware algorithms can be added, and the application scope can be increased; (4) When needed, the prediction model can be retrained according to the behavior of accessing data, without requiring the user to redesign the algorithm again.
[0035] This application discloses only preferred embodiments herein; however, it should be understood by any person skilled in the art that the above embodiments are merely for describing this application and are not intended to limit the claims asserted herein. Any variations or substitutions equivalent to or equivalent to the above embodiments should be interpreted as falling within the spirit or scope of this application. Therefore, the scope of protection of this application should be based on the claims.
Claims
1. An interface controller, characterized in that, include: An input / output control unit for reading a first data from a data block or a second data from an associated data block associated with the data block from a data storage device; A first-in-first-out / pre-access buffer is electrically connected to the input / output control unit and is used to buffer the first data or the second data read by the input / output control unit; An interface bus control unit is electrically connected to the first-in-first-out / pre-access buffer and the input / output control unit, and is used to send the first data or the second data buffered in the first-in-first-out / pre-access buffer to a bus system. as well as A pre-access prediction module, electrically connected to the input / output control unit, the first-in-first-out / pre-access buffer, and the interface bus control unit, is used to predict, using a prediction model, whether the data block is associated with one of a plurality of other data blocks. If the data block is associated with one of the plurality of other data blocks, and the input / output control unit has read all the first data of the data block, then the pre-access prediction module controls the input / output control unit to read the second data of the associated data block from the data storage device.
2. The interface controller as described in claim 1, characterized in that, The pre-access prediction module obtains multiple cached data within a sliding window from the first-in-first-out / pre-access buffer. The multiple cached data includes at least one of the multiple first data of the data block. The pre-access prediction module uses the prediction model to predict whether the data block is associated with one of multiple other data blocks based on the multiple cached data within the sliding window.
3. The interface controller as described in claim 1, characterized in that, The pre-access prediction module uses the prediction model to calculate multiple association scores between the data block and multiple other data blocks. When at least one of the multiple association scores is greater than a threshold, the other data block with the largest of the multiple association scores is predicted as the associated data block. After the multiple first data of the data block has been read by the input / output control unit, the pre-access prediction module controls the input / output control unit to read the second data of the associated data block from the data storage device.
4. The interface controller as described in claim 3, characterized in that, The pre-access prediction module includes: An inference unit, electrically connected to the FIFO / pre-access buffer, is configured to retrieve multiple cached data within a sliding window from the FIFO / pre-access buffer, wherein the multiple cached data includes at least one of multiple first data of the data block; and the inference unit uses the prediction model to predict, based on the multiple cached data within the sliding window, whether the data block is associated with one of the multiple other data blocks; and A prediction model data storage device is electrically connected to the inference unit and is used to store prediction model data corresponding to the prediction model, wherein the inference unit reads the prediction model data from the prediction model data storage device to obtain the prediction model.
5. The interface controller as described in claim 4, characterized in that, The pre-access prediction module also includes: A pre-access control unit is electrically connected to the inference unit and the input / output control unit, wherein if the data block is associated with one of the plurality of other data blocks, and the plurality of first data of the data block has been read by the input / output control unit, the pre-access control unit controls the input / output control unit to read the second data of the associated data block from the data storage device.
6. The interface controller as described in claim 5, characterized in that, When the FIFO / pre-access buffer is full or multiple second data of the associated data block are read, the pre-access control unit switches control of the input / output control unit to the interface bus control unit, thereby stopping the input / output control unit from reading the second data of the associated data block from the data storage device, and causing the input / output control unit to read another first data of another data block from the data storage device.
7. The interface controller as described in claim 6, characterized in that, The pre-access prediction module also includes: An interface control unit, electrically connected to the inference unit and the interface bus control unit, is used to monitor the interface bus control unit. When the interface bus control unit switches control to the input / output control unit, the interface control unit notifies the interface bus control unit to output the plurality of second data buffered in the first-in-first-out / pre-access buffer to the bus system.
8. An electronic device, characterized in that, include: Interface controller as claimed in any one of claims 1 to 7; The data storage device is electrically connected to the interface controller; as well as The bus system is electrically connected to the interface controller.
9. An interface control method, implemented by an interface controller electrically connected between a data storage device and a bus system, characterized in that, include: Read and cache a first data block from a data storage device; The first cached data is transmitted to a bus system; Use a prediction model to predict whether the data block is associated with one of a plurality of other data blocks; If the data block is associated with one of the plurality of other data blocks, and the plurality of first data of the data block has been read by an input / output control unit of the interface controller, then the second data of the associated data block is read from the data storage device. as well as When a first-in-first-out / pre-access buffer of the interface controller overflows or when multiple second data of the associated data block are read by the input / output control unit of the interface controller, the reading of the second data of the associated data block from the data storage device is stopped, the multiple second data are output to the bus system, and another first data of another data block is read from the data storage device.
10. The interface control method as described in claim 9, characterized in that, Also includes: If the data block is not associated with any of the other data blocks, and the input / output control unit has finished reading the multiple first data of the data block, then another first data of another data block is read from the data storage device.