Storage Controller Buffer Pre-loading for AI Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems face inefficiencies in deep learning processes due to the slow data transfer rates between storage memory and hosts, which hinder the performance of artificial intelligence applications that require rapid data processing.
Innovation Solution
Incorporating a learning pattern processor and a storage processor that estimate and pre-move request prediction data from storage memory to a buffer memory with higher operational speed, allowing for faster data transfer and processing during deep learning operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is transferred directly from storage memory to host during deep learning operations, then data transfer is simple and device complexity is low, but data transfer speed is slow and productivity is reduced
Solution Approach 1:
The learning pattern processor predicts which data will be requested during deep learning operations and pre-loads this predicted data into the buffer memory before the actual read requests are issued. This preliminary action ensures that when the host needs the data, it is already available in the high-speed buffer memory, thereby increasing data transfer speed without significantly increasing device complexity
Solution Approach 2:
A buffer memory is introduced as an intermediary component between the storage memory and the host. The buffer memory acts as a high-speed cache that temporarily holds predicted data, mediating between the slow storage memory and the fast host processing, thus improving overall data transfer speed while maintaining manageable device complexity
2Productivity
If all data is kept in high-speed buffer memory, then data access speed is high and productivity is improved, but memory capacity requirements increase and cost increases
Solution Approach 1:
Instead of uniformly distributing all data across high-speed buffer memory, the system selectively places only the predicted required data into the buffer memory. The learning pattern processor analyzes access patterns and identifies which specific data blocks will be needed, then pre-loads only those specific blocks, optimizing the use of limited buffer memory capacity while maintaining high processing efficiency
Solution Approach 2:
The system performs partial pre-loading by predicting and loading only a subset of data that is most likely to be accessed during deep learning operations, rather than loading all possible data. This partial action approach achieves sufficient productivity improvement while avoiding the excessive memory capacity requirements that would result from loading complete datasets
3Loss of time
If data is pre-loaded into buffer memory before host requests, then data access time is reduced and productivity is improved, but energy consumption increases
Solution Approach 1:
The learning pattern processor performs preliminary analysis of access patterns and predicts which data will be needed, enabling selective pre-loading only of necessary data blocks. This targeted preliminary action reduces unnecessary data movement and associated energy consumption while still achieving reduced data access times for the actually needed data
Solution Approach 2:
The system dynamically adjusts the pre-loading strategy based on changing access patterns and system conditions. The learning pattern processor monitors actual data access behavior and modifies its predictions accordingly, optimizing the balance between data access time reduction and energy consumption by adapting pre-loading parameters to current operational contexts
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A storage controller includes a learning pattern processor and a storage processor. The learning pattern processor estimates request prediction data to be requested by a host per epoch to generate estimated result values of the request prediction data. The storage processor reads the request prediction data from a storage memory to store the request prediction data in a buffer memory based on the estimated result values before the host issues a read request for the request prediction data. An operation speed of the buffer memory is higher than an operation speed of the storage memory.