Shared Logger Page Descriptor Trunks for Sequential IO
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Active-active clustered systems face challenges in efficiently storing page descriptor metadata and data due to non-sequential IO patterns when writing smaller-sized data units to non-volatile memory devices, leading to suboptimal IO performance.
Innovation Solution
The technique involves allocating multiple trunks in a shared page descriptor tier, allowing sequential writing of data units by primary and secondary storage nodes, which are then merged to increase data size before storage, ensuring logical block address continuity and improving IO performance by storing larger, merged data units in non-volatile memory devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple storage nodes write small-sized PD metadata units to the same shared PD tier, then the logger can be shared between primary and secondary storage nodes, but the IO patterns become non-sequential making it difficult to efficiently merge data for NVM storage
Solution Approach 1:
The patent divides the shared PD tier into multiple separate trunks (first trunk, second trunk, etc.), with each trunk dedicated to a specific storage node. This segmentation allows each node to write sequentially to its own trunk while maintaining the ability to share the overall PD tier structure, thereby resolving the conflict between shared access and sequential write patterns.
Solution Approach 2:
The patent introduces trunk allocation as an intermediary mechanism between storage nodes and the shared PD tier. Each storage node receives a dedicated trunk within the shared PD tier, acting as a mediator that enables both shared logger functionality and sequential write patterns. The trunk allocation layer translates multi-node sharing requirements into single-node sequential access patterns.
2Reliability
If small-sized PD metadata units (512 bytes) are written directly to NVM devices, then the data can be stored immediately, but the IO performance of the NVM device suffers
Solution Approach 1:
The patent merges multiple small-sized PD metadata units written to a single trunk into a larger contiguous data unit before transferring to the NVM device. This merging process combines many 512-byte units into larger blocks that can be written sequentially to NVM, thereby maintaining data storage reliability while significantly improving NVM device IO performance.
Solution Approach 2:
The patent performs preliminary merging of small PD metadata units within each trunk before the actual NVM storage operation. By pre-aggregating data into larger units in the PD tier before NVM transfer, the system prepares optimized write operations in advance, avoiding the performance penalty of direct small-unit writes to NVM devices.
3Quantity of substance
If IO merging is performed to merge multiple 512-byte PD metadata units, then the data size increases for NVM storage, but the non-sequential nature of writes from multiple nodes makes merging difficult
Solution Approach 1:
The patent segments the merging operation by trunk, where each trunk's data is merged independently and sequentially. This segmentation transforms the complex problem of merging non-sequential multi-node writes into simpler, independent sequential merges within each trunk, reducing overall system complexity while achieving the desired data aggregation for NVM storage.
Data Source
AI summary
Techniques for generating merge-friendly sequential IO patterns in shared logger page descriptor (PD) tiers. The techniques can be employed in an active-active clustered system that includes a primary storage node, a secondary storage node, a logger shared between the primary and secondary storage nodes, and a storage device such as a non-volatile memory (NVM) device. The techniques can include allocating at least a first trunk and a second trunk in a shared PD tier of the logger, sequentially writing PD metadata and/or data by the primary storage node and the secondary storage node to the first trunk and the second trunk, respectively, merging the PD metadata/data units sequentially written to each respective trunk together to obtain PD metadata/data having an increased size up to the size of the respective trunks, and storing the merged PD metadata/data to the NVM device.


