Transaction Log Storage with Dynamic NVRAM–SSD Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face inefficiencies in utilizing multiple persistent storage options for transaction logs, leading to suboptimal performance and wear on solid state drives due to varying load conditions and intrinsic performance characteristics.
Innovation Solution
A log policy is implemented to dynamically select between Non-Volatile Random Access Memory (NVRAM) and Solid State Drives (SSDs) for transaction logging based on performance metrics, such as latency and system throughput, ensuring efficient distribution of transactions and minimizing SSD wear.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If transactions are logged to Solid State Drives (SSDs), then storage capacity is increased, but SSD wear increases and performance degrades under varying load conditions
Solution Approach 1:
The patent divides the transaction logging function into two separate storage paths: NVRAM for high-priority/urgent transactions and SSD for standard transactions. This segmentation allows the system to optimize for both speed (NVRAM) and capacity (SSD) while preventing excessive wear on the SSD by offloading time-sensitive operations to NVRAM.
Solution Approach 2:
The patent implements dynamic log policy adjustment based on real-time performance metrics. The system continuously monitors SSD performance and adjusts the percentage of transactions routed to NVRAM versus SSD, increasing NVRAM usage when SSD performance degrades or wear increases, thereby dynamically optimizing the balance between storage capacity utilization and SSD reliability.
2Loss of time
If more transactions are logged to NVRAM, then latency is reduced, but storage capacity utilization decreases
Solution Approach 1:
The patent changes the parameter of log policy (percentage distribution to NVRAM vs SSD) based on performance conditions. When latency requirements are stringent, the system increases the percentage of transactions logged to NVRAM. When capacity utilization is low or performance conditions allow, it decreases NVRAM usage and routes more transactions to SSD, thereby dynamically optimizing the balance between latency and capacity utilization.
Solution Approach 2:
The system dynamically adjusts the transaction routing policy based on real-time monitoring of latency requirements and capacity conditions. This dynamic adjustment allows the system to maximize NVRAM utilization during high-performance periods while conserving NVRAM capacity and utilizing SSD during periods when latency constraints are less critical, thereby optimizing overall capacity utilization while meeting latency requirements when necessary.
3Device complexity
If a fixed log policy is used, then system complexity is reduced, but adaptability to changing performance conditions decreases
Solution Approach 1:
The patent implements a feedback mechanism where the system continuously monitors performance metrics (such as SSD latency, throughput, and wear indicators) and uses this feedback to dynamically adjust the log policy. The system calculates optimal percentage distributions for NVRAM and SSD logging based on current conditions, thereby adapting to changing performance conditions while maintaining relatively simple policy management through automated calculations.
Data Source
AI summary
When a host I/O request is received, logging each transaction that is to be performed to process the host I/O request includes selecting from between a first persistent storage and a second persistent storage to identify the location to which the transaction is to be logged, and then logging the transaction to the selected location. The selection may be made based on a log policy indicating percentages of transactions to be logged to each of the first persistent storage and the second persistent storage. The percentages may be calculated periodically based on a dynamically measured performance characteristic of the first data storage, such as latency. All transactions for host I/O requests below a threshold minimum size, and/or all transactions for host I/O requests received while the current system throughput is below a minimum system throughput, may be logged to the first persistent storage.


