Scratchpad Journaling for Storage Write Latency and Bandwidth
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If write operations are aggregated to improve bandwidth, then write performance increases, but data persistency and high availability may be compromised
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.
3Adaptability or versatility
If scratchpad memory is shared among multiple storage controllers, then resource utilization improves, but access conflicts and complexity increase
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.
Data Source
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.


