Storage Virtualization Controller Direct Data Transfer via CPU Chipset Interface
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high workload on the CPU due to frequent data transfer on the inter-controller communication channel in redundant storage virtualization systems degrades system performance, as existing methods require complex data transfer processes that are inefficient for small data transfers.
Innovation Solution
A method where a CPU of one storage virtualization controller sends a direct data transfer request through a CPU chipset to another controller via a communication channel, allowing direct data access without the need for a Scatter-Gather list, optimizing data transfer by treating the other controller's memory as an extension of its own, and using virtual or physical addresses for efficient data access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent data transfer is performed on the inter-controller communication channel to maintain synchronization between redundant storage virtualization controllers, then data synchronization and redundancy are improved, but CPU workload increases and system performance degrades
Solution Approach 1:
The patent extracts the data transfer request processing from the CPU by implementing a dedicated data transfer request buffer and direct memory access mechanism. The CPU only needs to write the data transfer request to a specific buffer address, while the actual data transfer is handled by the memory controller and inter-controller communication channel independently, thus reducing CPU workload while maintaining synchronization reliability
Solution Approach 2:
The patent introduces an intermediary data transfer request buffer structure that mediates between the CPU and the inter-controller communication channel. This buffer acts as a mediator that decouples the CPU from the data transfer process, allowing the CPU to initiate transfers without being blocked or overloaded by the actual data movement operations
2Reliability
If complex data transfer protocols with Scatter-Gather lists are used for data transfer between controllers, then data transfer completeness is improved, but data transfer efficiency and CPU overhead worsen
Solution Approach 1:
The patent extracts the Scatter-Gather list processing complexity from the data transfer protocol by implementing direct buffer-to-buffer data transfer. The data transfer request buffer directly points to the source and destination memory regions, eliminating the need for complex Scatter-Gather list processing while maintaining complete data transfer through direct memory access
Solution Approach 2:
Instead of using complex Scatter-Gather lists to describe data transfer paths, the patent inverts the approach by using simple direct memory address pointers in the data transfer request buffer. This inversion simplifies the protocol from complex list processing to direct address-based transfer, reducing CPU overhead while maintaining transfer completeness
Data Source
AI summary
A method of transmitting data between storage virtualization controllers (SVCs) in a computer system is disclosed, in which there is an inter-controller communication channel (ICC) between the storage virtualization controllers. The method comprises the steps of: a central processing unit (CPU) of one storage virtualization controller (SVC) sending a data transfer request to an interface that establishes the ICC when the CPU needs to transmit information to the other SVC; and transmitting the information to the other SVC after the interface that establishes the ICC receives the data transfer request, and obtains the information.


