Dynamic Parallel Data Transfer for Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges in achieving desired speed and performance due to bottlenecks in data transfer between computing devices and storage systems, particularly when using a single channel, which can lead to insufficient transfer speed and increased power consumption.
Innovation Solution
Implementing parallel data transfer across multiple channels, such as USB, Wi-Fi, and Bluetooth, by leveraging available channels for optimized load balancing and scheduling, where a controller allocates dedicated sections of TRAM for each channel and dynamically adjusts memory allocation based on transfer speed and power consumption to achieve faster performance and reduced power usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If parallel data transfer across multiple channels is implemented, then data transfer speed is improved, but device complexity increases
Solution Approach 1:
The patent divides data transfer operations into separate channels (USB, Wi-Fi, Bluetooth) with dedicated TRAM sections for each channel. This segmentation allows simultaneous data transfer across multiple channels, improving overall transfer speed while managing complexity through structured organization of transfer resources.
Solution Approach 2:
The patent transitions from single-channel sequential transfer to multi-channel parallel transfer by adding the channel dimension. Multiple channels operate simultaneously, effectively increasing the transfer capacity from one-dimensional sequential processing to multi-dimensional parallel processing, thereby improving speed without linearly increasing complexity.
2Productivity
If dynamic memory allocation is implemented, then productivity is improved, but device complexity increases
Solution Approach 1:
The patent implements dynamic memory allocation where the controller allocates dedicated sections of TRAM to different channels based on real-time transfer requirements. This dynamic allocation optimizes productivity by adapting memory resources to current workload demands while maintaining manageable complexity through automated controller management.
Solution Approach 2:
The controller automatically manages memory allocation and load balancing across channels without requiring external intervention. This self-service approach improves productivity by continuously optimizing resource distribution while containing complexity within the controller's automated management system.
3Loss of time
If load balancing across multiple channels is performed, then loss of time is reduced, but device complexity increases
Solution Approach 1:
The controller performs load balancing by monitoring transfer status across multiple channels and dynamically adjusting data distribution based on real-time feedback. This feedback mechanism reduces time loss by optimizing channel utilization while managing complexity through automated monitoring and adjustment processes.
Solution Approach 2:
The system establishes dedicated TRAM sections for each channel in advance, preparing the memory structure before data transfer begins. This preliminary action reduces time loss during actual transfer operations by eliminating dynamic memory management overhead during active transfer, while containing complexity in the initial setup phase.
Data Source
AI summary
Systems and methods are disclosed for providing parallel data transfer. In certain embodiments, a data storage device includes a non-volatile memory and a controller configured to: receive a command from a host to obtain a file stored in the non-volatile memory; determine a plurality of channels available between the host and the data storage device; dynamically divide the file into a plurality of chunks based at least in part on the plurality of channels; perform load balancing to determine a first chunk of the plurality of chunks to be sent over a first channel of the plurality of channels and at least a second chunk of the plurality of chunks to be sent over a second channel of the plurality of channels; and simultaneously transmit the first chunk over the first channel and the second chunk over the second channel.


