Redundant Disk Array Logic Page Numbering and Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RAID technologies face issues with write amplification and memory capacity requirements due to fixed address relationships and substantial memory needed for mapping logical addresses to disk pages, leading to inefficiencies in data storage and error tolerance.

Innovation Solution

A redundant disk array system that writes logic page numbers sequentially into write pages, performs garbage collection, and records index values to optimize storage and reduce memory usage by allowing logic page numbers to be stored in any data stripe with the most invalid pages, thereby improving write page utilization and memory efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored into the page of the disk by using a log manner with fixed address relationship, then data integrity and error tolerance are ensured, but a quite substantial memory capacity is needed to record the mapping relationship between logical address and disk page address

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

Solution Approach 1:

The patent segments the mapping relationship into two parts: (1) logical page numbers are sequentially written into data stripes traversing multiple disks, and (2) only the write location of each logical page number is recorded in memory. This segmentation reduces memory requirements from storing complete mapping relationships to storing only location indicators.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the storage dimension by distributing logical page numbers across multiple data stripes that traverse multiple disks simultaneously. Instead of storing all mapping information in one centralized memory structure, the mapping is distributed across the disk array itself, with memory only holding minimal location metadata.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Stability of the object's composition

If a corresponding relationship between each stripe and an address of a page of a disk is fixed and invariable, then data consistency is maintained, but extra data read and write take place in the process of calculating the parity bit, causing write amplification

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent introduces dynamic selection of data stripes for storing logical page numbers. Instead of using a fixed stripe assignment, the system dynamically selects which data stripe to use based on current validity status, allowing flexible adaptation to changing storage conditions while maintaining data consistency through the processing unit's control logic.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a garbage collection mechanism that identifies and discards invalid logical page numbers in data stripes. When invalid pages are detected, the system recovers storage space by selecting other data stripes for new writes, thereby reducing write amplification and improving write efficiency while maintaining data consistency.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10127106B2Redundant disk array system and data storage method thereof
Publication Date: 2018.11.13 ACCELSTOR TECH LTD
  • US10127106B2 patent drawing
  • US10127106B2 patent drawing
  • US10127106B2 patent drawing

AI summary

A redundant disk array system and a data storage method thereof are provided. The redundant disk array system includes a plurality of disks, a plurality of data stripes, and a processing unit. The processing unit stores, in a log manner into a write page, first logic page numbers corresponding to the pieces of write data, and records write locations of the first logic page numbers; the processing unit performs garbage collection on invalid page numbers of the first logic page numbers; and after executing garbage collection, the processing unit writes, in a log manner, second logic page numbers corresponding to the pieces of write data into the write pages traversed by a data stripe of the data stripes that has the most invalid page numbers, and records write locations of the second logic page numbers.