IO Processor With Embedded And Optional External CPU
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage virtualization systems face performance bottlenecks due to the lack of CPU scalability, high costs associated with dual-core external CPUs, and inflexibility in managing CPU workload, leading to inefficient processing of IO requests and data movement.
Innovation Solution
An IO processor with an embedded CPU and optional external CPU, featuring a switch, memory controllers, and arbiter systems, allowing for adjustable CPU ranking and workload sharing between embedded and external CPUs to optimize performance and cost.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If an external CPU with dual core structure is provided to process IO procedures, then processing speed is improved, but cost increases and replacement flexibility deteriorates
Solution Approach 1:
The CPU functionality is segmented into embedded CPU and external CPU components. The external CPU can be optionally coupled to the IO processor through a switch and external CPU bus controller, allowing the system to be divided into mandatory embedded processing and optional external processing based on performance needs and budget constraints.
Solution Approach 2:
The system provides dynamic configurability where the external CPU can be coupled or decoupled from the IO processor based on workload requirements. The switch enables flexible connection/disconnection of the external CPU, allowing the system to adapt between cost-effective embedded-only mode and high-performance dual-CPU mode.
2Productivity
If an external CPU with dual core structure is provided, then processing capability is improved, but adaptability deteriorates due to inability to replace individual cores
Solution Approach 1:
The processing capability is segmented into separate embedded CPU and external CPU units. This segmentation allows the external CPU to be independently replaced or upgraded without affecting the embedded CPU, providing module-level replacement flexibility that dual-core processors lack.
Solution Approach 2:
The IO processor is designed with universal interfaces (switch, external CPU bus controller) that can accommodate different external CPU configurations. The system can function with embedded CPU only, embedded CPU plus external CPU, or different external CPU models, providing multi-functional adaptability.
3Ease of manufacture
If only one embedded CPU is provided, then cost is reduced, but productivity deteriorates under heavy workload
Solution Approach 1:
The system provides dynamic scalability where a single embedded CPU suffices for light workloads, but an external CPU can be added when workload increases. The switch enables the system to dynamically transition between single-CPU and dual-CPU operational modes based on performance requirements.
Solution Approach 2:
The IO processor is pre-configured with the external CPU interface and controller circuits, but the external CPU itself is added only when needed. This preliminary preparation of interfaces allows cost-effective deployment for light workloads while enabling easy scalability to high-performance mode when workload demands increase.
4Device complexity
If software-only IO processing is used, then device complexity is reduced, but productivity deteriorates due to CPU time waste
Solution Approach 1:
The external CPU acts as an intermediary that handles specific IO processing tasks separately from the embedded CPU. This mediator approach allows the embedded CPU to focus on control functions while the external CPU handles computationally intensive IO operations, improving overall system performance without significantly increasing complexity.
Data Source
AI summary
An IO processor includes an embedded central processing unit (CPU), a switch connected to the embedded CPU, an external CPU bus controller connected to the switch for optionally connecting to an external CPU, a first memory controller connected to the switch for connecting to a first memory, and a second memory controller connected to the switch for optionally connecting to a second memory. The IO processor may be connected to the external CPU, to the second memory, or be capable of connecting to external CPUs of different ranks, depending on the situation, so as to meet the cost considerations and the actual application requirements.


