Scratchpad Journaling for Storage Write Latency and Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern storage systems face challenges in write performance during input/output operations, specifically in minimizing latency and maximizing bandwidth, while maintaining high availability and using off-the-shelf hardware.

Innovation Solution

Implementing a scratchpad journaling method that provides a non-volatile scratchpad memory in persistent storage devices, apportioning it among storage controllers, and writing data to this memory for write operations, allowing for aggregation of multiple writes and preserving persistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional write operations are used in storage systems, then data is written directly to persistent storage devices, but write latency increases and bandwidth is reduced

Engineering Contradiction:
Improvewrite latencyVSAvoidwrite bandwidth
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements a scratchpad memory that performs preliminary write operations before final persistent storage. Write requests are first directed to the scratchpad memory where data can be aggregated and prepared, then batched and written to persistent storage devices in optimized sequences. This preliminary action in the scratchpad reduces the latency of individual write operations while increasing overall write bandwidth through aggregation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scratchpad memory serves as an intermediary layer between the storage controllers and persistent storage devices. It receives write requests from multiple storage controllers, buffers the data, and manages the actual write operations to persistent storage. This intermediary layer decouples the write request rate from the persistent storage write rate, optimizing both latency and bandwidth.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If write operations are aggregated to improve bandwidth, then write performance increases, but data persistency and high availability may be compromised

Engineering Contradiction:
Improvewrite bandwidthVSAvoiddata persistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The scratchpad memory performs preliminary write operations and maintains a journal of write requests before they are committed to persistent storage. This journaling mechanism ensures that even if aggregation causes delays, the individual write operations are recorded and can be recovered, maintaining data persistency and high availability while still achieving bandwidth improvements through aggregation.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If scratchpad memory is shared among multiple storage controllers, then resource utilization improves, but access conflicts and complexity increase

Engineering Contradiction:
Improveresource utilizationVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scratchpad memory is divided into separate partitions, with each partition assigned to a specific storage controller. This segmentation allows each controller to have dedicated access to its assigned partition, eliminating access conflicts while still achieving high resource utilization through the shared scratchpad architecture. The partitioning simplifies memory management by providing clear ownership boundaries for each controller.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11086780B1Scratchpad journaling mechanism for performance optimization
Publication Date: 2021.08.10 EMC IP HLDG CO LLC
  • US11086780B1 patent drawing
  • US11086780B1 patent drawing
  • US11086780B1 patent drawing

AI summary

An aspect includes providing a scratchpad memory to at least one persistent storage device of a plurality of persistent storage devices in a storage array. The scratchpad memory includes non-volatile storage. An aspect also includes designating the scratchpad memory for storing data corresponding to write operations implemented by a storage system, apportioning the scratchpad memory among each storage controller of a plurality of storage controllers in the storage system, and receiving, at the scratchpad memory, a write request from one of the storage controllers. An aspect further includes writing data of the write request to a location in the scratchpad memory based on the apportioning and corresponding to the one of the storage controllers.