NVRAM Write-Cache Extension to SSDs for Bandwidth Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvewrite performanceVSAvoidingest write-bandwidth
Core Design Contradiction:
ProductivityVSSpeed

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If SSD is used to extend write-cache, then ingest write-bandwidth is improved, but SSD wear increases

Engineering Contradiction:
Improveingest write-bandwidthVSAvoidSSD wear
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

3Productivity

If dynamic IO routing between NVRAM and SSD is implemented, then bandwidth utilization is optimized, but system complexity increases

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If compression and deduplication are applied to SSD data, then storage efficiency is improved, but processing time increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11513727B2System and method for extending NVRAM-based write-cache onto SSDs
Publication Date: 2022.11.29 EMC IP HLDG CO LLC
  • US11513727B2 patent drawing
  • US11513727B2 patent drawing
  • US11513727B2 patent drawing

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.