Controller-Specific Parity Bitmaps for RAID Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage architectures with a one-to-one controller arrangement face challenges in scalability, cost, and redundancy, as adding or replacing controllers requires upgrading associated storage devices, leading to increased costs and downtime, and redundancy groups fail together due to reliance on a single controller scheme.

Innovation Solution

Implementing a shared-everything architecture with multiple controllers accessing a single pool of storage devices, utilizing RAID groups with parity disks and controller-specific metadata tracking to manage I/O operations and recovery, allowing each controller to operate independently for data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a one-to-one controller architecture is used, then each controller has dedicated storage access rights, but adding or replacing controllers requires upgrading associated storage devices, increasing cost and downtime

Engineering Contradiction:
Improvecontroller redundancyVSAvoiddowntime for controller replacement
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the storage system into independent controller units, each with its own cache memory and control logic, while all controllers share access to the same storage devices. This segmentation allows individual controller replacement without affecting other controllers or requiring storage device upgrades, as each controller operates independently with standardized interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal controller design where any controller can access any storage device through a common address space and shared metadata structures. This multi-functionality enables controller hot-swapping and replacement without requiring dedicated storage access rights, reducing both cost and downtime associated with controller upgrades.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If a one-to-one controller architecture is used, then storage access is simplified, but maximum compute power and efficiency are limited due to lack of parallelization among multiple controllers

Engineering Contradiction:
ImproveI/O processing throughputVSAvoidcontroller coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the capabilities of multiple controllers into a unified system where all controllers share a common address space and can parallelize I/O operations. By combining controller functions while maintaining independent operation through shared metadata and consistent hashing, the system achieves parallel processing throughput without requiring complex inter-controller coordination protocols.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces shared metadata structures and consistent hashing algorithms as intermediaries that coordinate access between multiple controllers. These intermediaries manage the complexity of parallel operations by providing a unified view of storage resources, enabling efficient I/O parallelization without direct controller-to-controller coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If redundancy groups use a single controller scheme, then metadata management is simplified, but storage devices fail together when issues occur, reducing redundancy effectiveness

Engineering Contradiction:
Improvedata redundancyVSAvoidmetadata management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments metadata management by assigning controller-specific metadata bitmaps that track I/O operation status for each controller independently. This segmentation allows the system to identify and recover from individual controller failures without affecting other controllers, improving redundancy effectiveness while distributing metadata management complexity across multiple independent structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through controller-specific bitmaps that continuously monitor I/O operation completion status. When a controller fails, the feedback from these bitmaps enables the system to automatically identify incomplete operations and initiate recovery procedures, enhancing reliability without requiring complex centralized metadata management.

Inventive Principle:
Principle #23Feedback

4Stability of the object's composition

If controllers share common metadata structures, then system consistency is maintained, but recovery operations become more complex and time-consuming

Engineering Contradiction:
Improvesystem consistencyVSAvoidrecovery operation time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent segments the recovery process by maintaining controller-specific metadata bitmaps that independently track I/O status for each controller. This segmentation enables parallel recovery operations where multiple controllers can simultaneously identify and recover their respective incomplete operations without coordinating, significantly reducing recovery time while maintaining system consistency through standardized recovery protocols.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12566667B2Managing parity operations using controller-specific parity bitmaps
Publication Date: 2026.03.03 NETAPP INC
  • US12566667B2 patent drawing
  • US12566667B2 patent drawing
  • US12566667B2 patent drawing

AI summary

The disclosure describes systems, devices, and methods for tracking operations of controllers in a data storage environment on a per-controller basis. In an implementation, a method for re-performing an incomplete operation is provided. In the method, a controller reads, from a parity drive in the data storage environment, a parity bitmap associated with the controller. The parity bitmap includes sections each corresponding to a different controller in the data storage environment, and each section includes status indicators at specific locations indicative of a status of parity data stored at corresponding locations of a parity region of the parity drive. For each incomplete status indicator, the controller re-computes parity data based on source data associated with the status indicator, stores the parity data at a location of the parity region corresponding to a location of the status indicator in the parity bitmap, and updates the status indicator from incomplete to complete.