Cache Memory LUN Control via Serial Mode Select Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache memory systems face challenges in managing access to logical units (LUNs) across multiple hosts, leading to conflicts and inconsistencies in data ownership, particularly during host restarts or crashes, which can result in data corruption and performance issues.
Innovation Solution
The system processes Mode Select commands serially to establish and manage control of LUNs, using a buffer with a control field and GUID field to determine host ownership, and resets LUN control to a non-controlled state by populating these fields with zeros upon host restarts or crashes, ensuring accurate data access and ownership.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If Mode Select commands from multiple hosts are processed concurrently, then host access speed is improved, but data ownership consistency deteriorates
Solution Approach 1:
The system establishes host ownership of LUNs in advance by processing Mode Select commands serially and recording the first host's ownership in a buffer. This preliminary determination of ownership prevents conflicts when multiple hosts attempt concurrent access, as subsequent hosts can check the buffer to determine if they have permission to access the LUN.
2Adaptability or versatility
If multiple hosts can access the same LUN simultaneously, then system versatility is improved, but data corruption risk increases
Solution Approach 1:
The buffer acts as an intermediary between multiple hosts and the LUN, mediating access rights by storing ownership information. Before a host can access a LUN, the system checks the buffer to verify ownership, allowing versatile multi-host access while preventing data corruption through controlled permission management.
Solution Approach 2:
The system preemptively prevents data corruption by establishing exclusive ownership rules before concurrent access occurs. By recording the first host's ownership in the buffer and preventing subsequent hosts from establishing conflicting ownership, the system eliminates the possibility of data corruption that would arise from simultaneous write operations.
3Productivity
If LUN control is maintained during host restart, then access efficiency is improved, but ownership accuracy deteriorates
Solution Approach 1:
The buffer automatically detects host restart conditions and self-corrects ownership information without external intervention. When a host restarts, the system detects the change in host identifier in the Mode Select command and automatically updates the buffer to reflect the new owning host, maintaining both efficiency and accuracy.
4Stability of the object's composition
If serial processing of Mode Select commands is implemented, then ownership consistency is improved, but command processing time increases
Solution Approach 1:
The system performs the time-consuming serial processing of Mode Select commands in advance, establishing ownership in the buffer before actual data operations occur. This preliminary ownership determination allows subsequent data access operations to proceed quickly without repeated ownership verification, amortizing the processing time over many operations.
Data Source
AI summary
A method, computer program product, and computing system for receiving a Mode Select command concerning a single LUN from each of a plurality of potential hosts. Each Mode Select command defines control information and host identifier information concerning the potential host associated with the Mode Select command. The received Mode Select commands are processed serially and in accordance with the order in which the Mode Select commands were received. The first Mode Select command received is accepted and subsequent Mode Select commands received are rejected, thus defining an accepted Mode Select command and one or more rejected Mode Select commands. The control information and host identifier information included within the accepted Mode Select command are written to a buffer associated with the single LUN. The buffer includes a control field and a GUID field.


