RAID Controller Logical Stripe Backup to Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In redundant arrays of independent disks (RAID), once a storage device fails, additional failures can lead to total data loss, especially if critical data is affected by media errors across multiple devices, as existing RAID types do not effectively handle limited storage device failures.

Innovation Solution

A RAID controller determines the logical stripe affected by a media error and backs it up to non-volatile memory, allowing read requests to be serviced from memory instead of the storage array, and attempts to service write requests through the storage array first, switching to non-volatile memory only if the array fails.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RAID array continues to use degraded storage devices after media errors, then storage capacity is maintained, but data loss risk increases with additional failures

Engineering Contradiction:
Improvedata securityVSAvoiddata retrieval complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary backup of affected logical stripes to non-volatile memory when media errors are detected, before additional failures can occur. This proactive measure ensures data is preserved even if more storage devices fail, resolving the contradiction by preparing protective measures in advance rather than waiting for catastrophic failure

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Non-volatile memory serves as an intermediary storage layer between the degraded RAID array and the host system. When media errors occur, the controller redirects data access through this intermediary, allowing continued operation while protecting against total data loss from additional failures, thus improving reliability without requiring complete array reconstruction

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If logical stripe is backed up to non-volatile memory, then data retrievability is ensured, but memory resources are consumed

Engineering Contradiction:
Improvedata retrievabilityVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of backing up entire RAID arrays or uniform portions, the system identifies and backs up only the specific logical stripes affected by media errors. This localized approach ensures data retrievability for critical affected regions while minimizing the quantity of memory capacity consumed, as only necessary data portions are preserved in non-volatile memory

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs partial backup of only the affected logical stripes rather than complete array backup. This partial action is sufficient to ensure data retrievability for the problematic regions while avoiding the excessive consumption of memory resources that would result from backing up the entire array, thus resolving the contradiction between reliability and resource usage

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9588857B2Raid logical stripe backup to non-volatile memory in response to raid storage device media errors
Publication Date: 2017.03.07 LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
  • US9588857B2 patent drawing
  • US9588857B2 patent drawing
  • US9588857B2 patent drawing

AI summary

When a media error occurs on a storage device of a number of storage devices of a redundant array, the logical stripe of data affected by the media error is determined. A portion of non-volatile memory is reserved and the logical stripe is backed up to this portion of non-volatile memory. A read request is subsequently serviced from the non-volatile memory and not from the storage devices. When a write request is received, it is first serviced to the storage devices. If successful, then the previously reserved portion of non-volatile memory is freed up, and subsequent requests are serviced using the storage devices. If unsuccessful, then the write request is serviced using the non-volatile memory.