Logical Copy Engine Distributes Commands to Physical Engines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complex processor topologies require a large number of copy engines to support high-bandwidth copy operations, which is impractical due to hardware limitations, and the complexity of device drivers needed to manage these engines leads to maintainability, portability, and scalability issues.
Innovation Solution
A copy subsystem with logical and physical copy engines, where the logical copy engine receives commands and distributes them to physical engines, allowing for efficient load balancing and saturation of communication links without requiring the device driver to manage individual channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of copy engines is increased to support high-bandwidth copy operations in complex processor topologies, then copy bandwidth is improved, but device complexity increases beyond acceptable limits
Solution Approach 1:
The patent divides the copy engine functionality into two distinct components: a logical copy engine that receives and manages copy commands, and multiple physical copy engines that actually execute the copy operations. This segmentation allows the system to achieve high copy bandwidth through multiple physical engines while keeping the logical engine count manageable, thereby resolving the contradiction between productivity and device complexity
Solution Approach 2:
The logical copy engine acts as an intermediary between the device driver and the physical copy engines. It receives copy commands from the device driver, manages the distribution of work to physical copy engines, and handles load balancing across multiple physical engines. This intermediary layer simplifies the interface to the device driver while enabling efficient utilization of multiple physical copy engines for high bandwidth operations
2Productivity
If multiple copy engines are assigned to manage multiple communication link channels, then copy bandwidth is improved, but device driver complexity increases leading to maintainability and portability issues
Solution Approach 1:
The logical copy engine provides self-service functionality by automatically managing load balancing and work distribution across multiple physical copy engines. Instead of requiring the device driver to manually manage each physical copy engine and channel, the logical copy engine autonomously handles these tasks, including saturating communication links efficiently. This self-service capability significantly reduces device driver complexity while maintaining high copy bandwidth
Solution Approach 2:
The logical copy engine serves multiple functions: it acts as a command receiver from the device driver, a work distributor to physical copy engines, a load balancer across channels, and a manager of communication link saturation. This multi-functionality allows a single logical copy engine to manage the complexities of multiple physical engines and channels, reducing the burden on the device driver and improving maintainability and portability
Data Source
AI summary
A copy subsystem within a processor includes a set of logical copy engines and a set of physical copy engines. Each logical copy engine corresponds to a different command stream implemented by a device driver, and each logical copy engine is configured to receive copy commands via the corresponding command stream. When a logical copy engine receives a copy command, the logical copy engine distributes the command, or one or more subcommands derived from the command, to one or more of the physical copy engines. The physical copy engines can perform multiple copy operations in parallel with one another, thereby allowing the bandwidth of the communication link(s) to be saturated.


