Storage Controller Pooling for AI Data Access and CPU Offload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing AI systems face challenges in managing complex storage interfaces and optimizing data storage across different non-volatile storage devices, leading to inefficiencies in performance and cost.
Innovation Solution
A storage controller is introduced that discovers storage devices, creates pools based on performance, and manages address spaces, enabling efficient data transactions and pool management through encapsulation, reducing the need for direct software management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If software directly manages storage interfaces and device pooling, then fine-grained control over storage devices is achieved, but system complexity and software resource consumption increase
Solution Approach 1:
The patent introduces a storage controller as an intermediary device between the software and storage devices. The storage controller autonomously performs device discovery, pooling, and address space management, eliminating the need for software to directly manage these complex operations. This mediator approach resolves the contradiction by shifting management complexity from software to a dedicated hardware controller.
Solution Approach 2:
The storage controller is designed to autonomously perform storage management functions without requiring software intervention. It automatically discovers storage devices, creates pools based on device characteristics, and manages address spaces independently. This self-service capability reduces software complexity while maintaining operational control.
2Productivity
If software manages multiple storage interfaces directly, then detailed control over data placement is achieved, but CPU cycles and memory resources are consumed
Solution Approach 1:
The storage controller acts as an intermediary that handles resource-intensive storage management operations in hardware, freeing CPU and memory resources. It manages device pooling, address space allocation, and data placement autonomously, enabling efficient data access without consuming software resources.
Solution Approach 2:
The patent replaces software-based storage management with a hardware-based storage controller. This substitution moves management functions from the software/CPU domain to a dedicated hardware device, reducing CPU cycles and memory usage while maintaining or improving data access efficiency through specialized hardware optimization.
3Speed
If volatile storage is used as primary storage for AI systems, then fast data access is achieved, but cost and capacity are limited
Solution Approach 1:
The patent segments storage into performance-based pools that can include both volatile and non-volatile devices. Fast volatile storage devices are grouped into high-performance pools for speed-critical operations, while non-volatile devices form capacity pools for cost-effective storage. This segmentation allows the system to optimize between speed and capacity/cost for different data workloads.
Solution Approach 2:
Different pools are created with distinct performance characteristics matching specific access needs. High-performance pools use fast volatile storage for data requiring rapid access, while capacity pools use slower non-volatile storage for less time-sensitive data. This local quality differentiation allows the system to achieve fast access where needed while maintaining overall cost-effectiveness and capacity.
Data Source
AI summary
An example computing system includes a hardware platform including a central processing unit (CPU), volatile memory, storage devices, and a storage controller; software, executing on the hardware platform, the software configured to: discover, by the storage controller, the storage devices; create, by the storage controller, pools of the storage devices; obtain, by first software executing on the CPU, information describing the pools; determine, by the first software in cooperation with the storage controller, an address space for each of the pools; and communicating, from the software to the storage controller, a storage transaction referencing a first pool of the pools and a first address in the address space for the first pool.


