NVRAM Write-Cache Extension to SSDs for Bandwidth Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The ingest write-bandwidth of some storage systems is limited by the connectivity bandwidth of its Non-Volatile Random Access Memory (NVRAM) caching device, which restricts the system's ability to support certain applications, such as SAP HANA, due to lower bandwidth compared to competing products.
Innovation Solution
Extending transaction log page-buffers for NVRAM onto a solid state drive (SSD) and determining bandwidth utilization to process IOs on either NVRAM or SSD based on threshold bandwidth, using Physical Large Blocks in a parity RAID configuration, and optionally performing compression and deduplication for SSD ingestion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If NVRAM caching device is used for write-cache, then write performance is improved, but ingest write-bandwidth is limited by NVRAM connectivity bandwidth
Solution Approach 1:
The patent extends the write-cache from a single storage medium (NVRAM) to multiple storage media by introducing SSDs as a second dimension. This allows the system to leverage both NVRAM's high-speed random access and SSD's higher sequential bandwidth, resolving the bottleneck where NVRAM connectivity limited ingest write-bandwidth.
Solution Approach 2:
The write-cache is segmented into two distinct parts: NVRAM-based transaction log page-buffers for high-speed random writes and SSD-based transaction log page-buffers for high-bandwidth sequential writes. This segmentation allows each component to operate in its optimal performance regime, with the system dynamically selecting which buffer to use based on workload characteristics.
2Productivity
If SSD is used to extend write-cache, then ingest write-bandwidth is improved, but SSD wear increases
Solution Approach 1:
Different parts of the write-cache are assigned different storage media based on their specific requirements: NVRAM is used for transaction log page-buffers requiring high-speed random access and durability, while SSD is used for SSD-based transaction log page-buffers requiring high sequential bandwidth. This local quality assignment ensures that SSDs are only used where their bandwidth advantage is needed, minimizing unnecessary wear.
Solution Approach 2:
The system dynamically determines which buffer (NVRAM or SSD) to use for processing IOs based on real-time conditions such as NVRAM bandwidth utilization threshold and IO size. This dynamic selection ensures that SSDs are only activated when necessary, optimizing the balance between bandwidth utilization and wear prevention.
3Productivity
If dynamic IO routing between NVRAM and SSD is implemented, then bandwidth utilization is optimized, but system complexity increases
Solution Approach 1:
The system implements feedback mechanisms to monitor NVRAM bandwidth utilization and dynamically adjust IO routing decisions. When NVRAM reaches its bandwidth threshold, the system automatically routes additional IOs to the SSD buffer. This feedback-driven approach optimizes bandwidth utilization while keeping the control logic manageable through rule-based decision making.
Solution Approach 2:
The system pre-configures both NVRAM and SSD buffers with page-descriptors and establishes the routing decision criteria before IO processing begins. This preliminary setup includes pre-defining the bandwidth threshold and IO size thresholds, allowing the system to make rapid routing decisions without complex real-time calculations, thus reducing operational complexity.
4Quantity of substance
If compression and deduplication are applied to SSD data, then storage efficiency is improved, but processing time increases
Solution Approach 1:
The system applies compression and deduplication selectively only to IOs that are routed to the SSD buffer, rather than universally to all IOs. This partial application is justified because SSDs are already being used for high-bandwidth sequential workloads where data redundancy is less common, and the processing overhead is acceptable given the performance benefits.
Data Source
AI summary
A method, computer program product, and computer system for extending, by a computing device, transaction log page-buffers for Non-Volatile Random Access Memory (NVRAM) onto a solid state drive (SSD). It may be determined whether a bandwidth limit of the NVRAM has reached a threshold bandwidth. An IO may be processed on one of the NVRAM and the SSD based upon, at least in part, whether the bandwidth limit of the NVRAM has reached the threshold bandwidth.


