Memory Controller Lock Manager for Shared Host Metadata Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a shared memory system environment, existing technologies face challenges in synchronizing host metadata across multiple hosts, leading to potential conflicts and inconsistencies in file system operations, particularly with flash translation layer (FTL) metadata, which can result in incorrect address mappings and data integrity issues.
Innovation Solution
A memory system with a controller and lock manager that sets and manages locks for storage areas, ensuring only one host can perform write operations at a time, and synchronizes FTL metadata across all hosts to maintain consistent address mappings and block status information, preventing concurrent access and ensuring data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple hosts access shared storage areas simultaneously, then system productivity is improved, but data consistency and metadata synchronization deteriorate
Solution Approach 1:
The patent implements a lock manager that acquires locks on storage areas before operations begin. The lock manager checks for existing locks, waits if necessary, and ensures exclusive access is established prior to any read or write operations, preventing metadata inconsistencies from the outset
Solution Approach 2:
The lock manager acts as an intermediary between multiple hosts and shared storage areas. It mediates access requests by granting or denying locks based on current lock status, ensuring that only one host can modify metadata for a given storage area at a time while allowing coordinated access
2Productivity
If write operations are allowed from multiple hosts concurrently, then system productivity is improved, but metadata synchronization and data integrity worsen
Solution Approach 1:
The lock manager performs preliminary checks to determine if a storage area is already locked before allowing write operations. If locked, the system waits or rejects the write request, ensuring that metadata updates from multiple hosts do not occur concurrently and prevent synchronization issues
Solution Approach 2:
The lock manager serves as an intermediary that controls write access to storage areas. It maintains a lock status registry and coordinates write operations across hosts, ensuring that metadata updates are serialized and synchronized properly
3Reliability
If locks are set for every storage area access, then data consistency is improved, but system complexity and operation overhead increase
Solution Approach 1:
The lock manager implements fine-grained locking at the storage area level rather than requiring locks on entire volumes or all storage areas. This localized approach allows different storage areas to be accessed independently, reducing the scope of locks needed and minimizing operational overhead
Solution Approach 2:
The lock manager automatically manages lock acquisition, holding, and release without requiring manual intervention. It self-monitors lock status, handles waiting queues, and ensures proper cleanup even if operations fail, reducing the complexity burden on external systems
4Reliability
If lock checking is performed for every access request, then data integrity is improved, but operation speed and productivity deteriorate
Solution Approach 1:
The lock manager performs lock checking only on the specific storage area being accessed rather than checking all storage areas or requiring full system state verification. This localized checking reduces the time overhead while maintaining integrity for the specific operation
Solution Approach 2:
The lock status is checked in advance before the actual data operation begins. Once a lock is acquired or confirmed available, the operation proceeds without repeated checking, minimizing the speed penalty to only the initial lock acquisition phase
Data Source
AI summary
Provided is a memory system coupled to a plurality of hosts each including an FTL. The memory system may include: a controller suitable for allowing only a write request to be received from any one of the plurality of hosts, when a write lock for a write request from the any one host is set; and a memory device controlled by the controller, and suitable for performing a write operation according to the write request from the any one host, wherein the controller includes: a lock manager suitable for setting a write lock depending on whether a lock is set in the memory device, and releasing the write lock when the write operation is completed; and a sync manager suitable for controlling synchronization of FTL metadata of the FTLs of the other hosts excluding the any one host, according to whether the write operation is successfully performed.


