Controller Message Delivery via Dual Communication Areas
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In RAID-based storage systems, concurrent operations by multiple controllers can lead to conflicts and data inconsistencies, necessitating a secure and reliable locking mechanism to manage data access efficiently without additional hardware.
Innovation Solution
A method and system that utilize a first and second communication area, where messages are written to a readable and writable communication area by the first controller and an address identifier is written to another area accessible by both controllers, allowing secure and reliable message delivery without additional hardware, enabling the second controller to read from the first area using the identifier.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If two storage control nodes perform concurrent operations to the same storage area, then data access speed and usability are improved, but conflicts and data inconsistencies occur
Solution Approach 1:
The patent introduces a message queue as an intermediary mechanism between the two storage control nodes. The message queue receives lock requests from either controller, processes them in a controlled manner, and returns appropriate lock status. This intermediary resolves the conflict by serializing access requests while allowing both controllers to operate concurrently on different data, thus maintaining both high performance and data consistency without requiring additional hardware locking devices.
Solution Approach 2:
The patent replaces traditional mechanical locking mechanisms (such as hardware locks or dedicated locking channels) with a software-based message queue system. Instead of using physical locking hardware that would add complexity and overhead, the system uses message passing and queue processing to achieve locking functionality, thereby reducing system complexity while maintaining reliability.
2Reliability
If a locking mechanism is added to avoid conflicts between controllers, then data consistency is improved, but system complexity and overhead increase
Solution Approach 1:
The message queue system serves multiple functions simultaneously: it acts as a communication channel between controllers, a locking mechanism for data consistency, and a coordination system for concurrent operations. By making the message queue multi-functional, the patent avoids adding separate dedicated locking hardware, thereby reducing system complexity while achieving reliable data consistency through unified message-based coordination.
3Reliability
If additional hardware devices are added for message delivery and locking, then message delivery reliability is improved, but device complexity and cost increase
Solution Approach 1:
The patent implements a self-service message delivery mechanism where the message queue system handles its own reliability through built-in acknowledgment and status tracking. The queue automatically ensures message delivery by maintaining state information about sent and received messages, eliminating the need for external reliability hardware. This self-service approach achieves reliable message delivery while keeping the system software-based and hardware-minimal.
Data Source
AI summary
A method and a system for delivering a message in a storage system. In one embodiment of the present invention, there is provided a method for delivering a message in a storage system comprising a first controller, a second controller, a first communication area and a second communication area. The method comprises: in response to receiving a message that is to be delivered from the first controller to the second controller, writing the message to the first communication area that is readable and writable to the first controller and readable to the second controller; and writing an address identifier to the second communication area, the address identifier being used for indicating an address at which the second controller reads the message from the first communication area, the second communication area being readable to the first controller and readable and writable to the second controller.


