Storage Data Allocation Using Orthogonal Latin Squares

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies in data rebuilding speed and capacity utilization due to the heavy workload on surviving storage units during data reconstruction, especially as storage capacity increases, leading to prolonged data recovery times and vulnerability during array maintenance.

Innovation Solution

The proposed solution involves categorizing storage units into groups and using mutually orthogonal Latin squares to distribute data across storage units, allowing for parallel data reconstruction and reducing the workload on individual units, thereby increasing rebuilding speed and capacity efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored using traditional storage allocation methods, then storage capacity is utilized, but data rebuilding speed is slow due to heavy workload on surviving storage units

Engineering Contradiction:
Improvedata rebuilding speedVSAvoidarray vulnerability during maintenance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the storage array into multiple groups (e.g., Group 0, Group 1, etc.) where each group contains multiple storage units. This segmentation allows independent rebuilding operations within each group, reducing the workload on surviving units and enabling faster parallel reconstruction across groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a group dimension beyond individual storage units, organizing units into hierarchical groups. This dimensional change enables parallel rebuilding operations across multiple groups simultaneously, significantly improving rebuilding speed while maintaining data reliability through distributed redundancy.

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

2Reliability

If storage capacity is increased to improve data security, then data safety is enhanced, but rebuilding workload increases causing prolonged recovery times

Engineering Contradiction:
Improvedata securityVSAvoidreconstruction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the storage array into multiple groups with independent rebuilding capabilities, the patent enables parallel reconstruction operations. This reduces the total reconstruction time even as storage capacity and redundancy increase, because multiple groups can rebuild simultaneously rather than sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by allowing rebuilding operations to proceed independently in each group rather than requiring the entire array to participate. This partial parallelism reduces overall reconstruction time while maintaining full data security through the distributed group structure.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If traditional data allocation is used, then storage is utilized, but capacity efficiency decreases due to redundant data distribution

Engineering Contradiction:
Improvecapacity efficiencyVSAvoidredundant data
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by allocating redundant data differently across groups rather than uniformly across all units. Each group has optimized redundancy characteristics tailored to its specific configuration, improving overall capacity efficiency while maintaining data security through localized redundancy strategies.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11209990B2Apparatus and method of allocating data segments in storage regions of group of storage units
Publication Date: 2021.12.28 SUPER MICRO COMPUTER INC(US)
  • US11209990B2 patent drawing
  • US11209990B2 patent drawing
  • US11209990B2 patent drawing

AI summary

An apparatus including a control unit, a memory having computer program code, and N groups of storage units electrically connected to the control unit is disclosed. Each of the N groups of storage units has N storage units, each of the N storage units has N storage regions, wherein N is a positive integer. The memory and the computer program code configured to, with the control unit, cause the apparatus to perform: storing a first data segment into an ith storage region of a first storage unit of a kth group of storage units; storing a fourth data segment into an ith storage region of a first storage it of a (k+1)th group of storage units; storing a fifth data segment into an ith storage region of a second storage unit of the (k+1)th group of storage units; and storing a sixth data segment into an ith storage region of a third storage unit of the (k+1)th group of storage units. Wherein the first data segment is associated with the fourth data segment, the first data segment is independent of the fifth data segment, and the first data segment is independent of the sixth data segment.