RAID Controller Write Request Bundling for Flash Wear Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face challenges in improving performance and durability when using Flash-based or solid state devices, as they require frequent parity updates and I/O operations, which increase device wear and reduce efficiency.

Innovation Solution

A method for bundling write requests to perform full or partial stripe writes, reducing the need for frequent parity updates and I/O operations by monitoring and delaying write requests to build a queue, allowing simultaneous execution and minimizing the number of I/Os required, particularly by using a RAID controller to manage write requests across multiple drives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional caching technologies concatenate multiple writes together, then device wear is reduced, but I/O performance is not sufficiently improved

Engineering Contradiction:
Improvedevice wearVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invention segments write requests into different categories: immediate writes (single stripe) and batched writes (multiple stripes). This segmentation allows the system to handle different write scenarios optimally - immediate writes for single-stripe operations and batched writes for multi-stripe operations, thereby improving both device wear reduction and I/O performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the write handling strategy based on the number of stripes affected. When a write operation affects only a single stripe, it is processed immediately. When multiple stripes are affected, the system batches these writes together and processes them simultaneously. This dynamic adaptation resolves the contradiction by choosing the optimal strategy for each specific case

Inventive Principle:
Principle #15Dynamics

2Productivity

If write requests are delayed to build up a queue for bundling, then the number of I/O operations is reduced, but system response time increases

Engineering Contradiction:
Improvenumber of I/O operationsVSAvoidsystem response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies partial batching by only delaying writes when necessary (when multiple stripes are involved). Single-stripe writes are processed immediately without delay. This partial application of batching reduces the number of I/O operations for multi-stripe writes while maintaining fast response for single-stripe writes, thus resolving the contradiction between reducing I/O operations and maintaining response time

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10067675B2I/O handling between virtualization and RAID storage
Publication Date: 2018.09.04 DELL INTERNATIONAL LLC
  • US10067675B2 patent drawing
  • US10067675B2 patent drawing
  • US10067675B2 patent drawing

AI summary

A method for handling input/output (I/O) in a data storage system comprising a RAID subsystem storing data according to a RAID level utilizing a parity scheme, where RAID stripes have been configured across a plurality of data storage devices. The method may include monitoring write requests to the RAID subsystem, identifying write requests destined for the same RAID stripe, and bundling the identified write requests for substantially simultaneous execution at the corresponding RAID stripe. Monitoring write requests to the RAID subsystem may include delaying at least some of the write requests to the RAID subsystem so as to build-up a queue of write requests. In some embodiments, identifying write requests and bundling the identified write requests may include identifying and bundling a number of write requests as required to perform a full stripe write to the corresponding RAID stripe.