Storage Controller Coexistence with Versioned Programs for Non-Stop I/O
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in upgrading hardware and software in a non-stop manner due to differences in hardware components and control logic, leading to redundancy and performance degradation, especially when new controllers with advanced features like powerful CPUs and hardware offload engines are introduced.
Innovation Solution
A storage system configuration where old and new storage controllers coexist, with the new controllers capable of executing additional programs, allowing seamless transitions and data processing without stopping I/O operations, and utilizing shared control information to maintain compatibility and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If new storage controllers with advanced hardware components (powerful CPU, hardware offload engine) and new control logic are introduced, then processing capability and functionality are improved, but system complexity and compatibility management become worse
Solution Approach 1:
The patent segments the control logic into multiple independent programs (first program for old controllers, second program for new controllers) that can be selectively executed. This allows the system to introduce advanced processing capabilities while managing complexity by dividing control functions into modular, version-specific programs rather than a monolithic complex system.
Solution Approach 2:
The patent changes the parameter of program version based on controller type. The storage system dynamically selects which program to execute based on whether the controller is an old or new type, allowing advanced hardware to utilize enhanced control logic while maintaining compatibility with older controllers through parameter-based program selection.
2Productivity
If control logic is updated to utilize new hardware capabilities, then processing efficiency is improved, but compatibility with old controllers deteriorates
Solution Approach 1:
The patent implements multi-functionality by creating a universal storage system that can operate with both old and new storage controllers. The system includes multiple versions of control programs that can be selectively executed based on the controller type, allowing the same storage system to universally support diverse controller hardware while maintaining optimal processing efficiency for each controller generation.
Solution Approach 2:
The patent performs preliminary action by pre-configuring multiple versions of control programs within the storage system before controller replacement occurs. This allows the system to have compatibility management logic ready in advance, so when controllers are replaced or upgraded, the appropriate program version can be immediately selected without requiring system reconfiguration or causing compatibility issues.
3Reliability
If storage controllers are replaced one by one, then continuity of service is maintained, but redundancy increases during the transition period
Solution Approach 1:
The patent applies dynamics by making the program execution flexible and adaptive based on the current controller composition. The storage system dynamically determines which program version to execute based on whether old or new controllers are present, allowing seamless transition during incremental replacement. This dynamic adaptation enables service continuity while managing the temporary increase in controller quantity during the upgrade process.
Data Source
AI summary
Each controller of a plurality of storage controllers is an old storage controller before replacement or a new storage controller after replacement. The new storage controller can execute a first program and a second program, and the old storage controller can execute at least the second program. When all of the plurality of storage controllers are the new storage controller, the new storage controller processes data input and output to and from the storage drive by using the first program. When the plurality of storage controllers includes at least one of the old storage controllers, each storage controller of the plurality of storage controllers processes the data input and output to and from the storage drive by using the second program.


