Non-Temporal Cache Memory for Fast Small Write Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems face inefficiencies due to misalignment between allocation units used by host applications and storage devices, leading to increased IO latency and resource utilization inefficiencies.
Innovation Solution
A storage array with computing nodes that allocate shared memory for write-only blocks and tracks, utilizing a block write service processor to manage temporal sequencing of data versions, allowing for efficient consolidation and destaging of blocks, thereby reducing latency and improving resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is written to persistent storage drives using traditional allocation units, then data integrity is maintained, but IO response time increases due to misalignment between host allocation units and storage device allocation units
Solution Approach 1:
The patent introduces a shared memory buffer as an intermediary layer between the host computer and persistent storage drives. This buffer receives write commands and stores data temporarily, allowing the host to send data at its own allocation unit pace while the storage system processes destaging at the storage device's optimal pace, thus resolving the speed-integrity contradiction
Solution Approach 2:
The patent segments the storage system into distinct functional components: a block write service processor for receiving and buffering writes, a block write aggregation processor for consolidation, and a destage scheduler for persistent storage. This segmentation allows each component to operate independently at optimal speeds, improving overall IO response time while maintaining data integrity through coordinated operations
2Productivity
If multiple versions of same-block data are stored in shared memory, then consolidation efficiency improves, but memory resource utilization decreases
Solution Approach 1:
The patent changes the temporal parameter of data storage by storing multiple versions of same-block data in shared memory with temporal sequencing. This allows the system to identify and consolidate duplicate or redundant versions, improving consolidation efficiency while the temporary nature of this storage limits long-term resource consumption
Solution Approach 2:
The patent implements a mechanism where consolidated block versions are discarded from shared memory after successful destaging to persistent storage. This recovery of memory resources ensures that while multiple versions are temporarily stored for consolidation purposes, the memory is continuously reused, mitigating the resource utilization issue
3Reliability
If track locks are waited for before acknowledging writes, then data consistency is ensured, but resource utilization efficiency decreases due to lock contention
Solution Approach 1:
The patent applies preliminary action by having the block write service processor acknowledge write commands to the host immediately after buffering the data in shared memory, before track locks are acquired and before destaging occurs. This allows the host to proceed with subsequent operations without waiting for storage completion, improving resource utilization while data consistency is maintained through the buffering mechanism
Solution Approach 2:
The shared memory buffer acts as an intermediary that decouples the host's write acknowledgment from the storage system's data consistency operations. The host receives acknowledgment when data is safely buffered, while the storage system subsequently ensures consistency through lock-based destaging, resolving the contradiction between speed and reliability
Data Source
AI summary
A portion of the shared global memory of a storage array is allocated for write-only blocks. Writes to a same-block of a production device may be accumulated in the allocated portion of memory. Temporal sequencing may be associated with each accumulated version of the same-block. When idle processing resources become available, the oldest group of same-blocks may be consolidated based on the temporal sequencing. The consolidated block may then be destaged to cache slots or managed drives. A group of same-blocks may also be consolidated in response to a read command.


