Data Storage Sub-Region Allocation for Sequential Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Standard data storage methods using multiple hard disks, such as random duplicate allocation (RDA), fail to achieve full sequential bandwidth due to uneven load distribution and overlapping sequences, resulting in suboptimal read and write performance.

Innovation Solution

The method involves dividing each physical disk into sub-regions and data blocks, creating multiple copies with distinct identifiers, and assigning them to different disks to ensure sequential I/O operations while introducing randomness through permutations, allowing for better load balancing and faster access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If random duplicate allocation (RDA) is used to distribute data across multiple disks, then load distribution is improved, but sequential bandwidth utilization deteriorates because requests for large objects do not map to parallel sequential I/O operations

Engineering Contradiction:
Improveload distributionVSAvoidsequential bandwidth utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments each physical disk into multiple virtual disks, creating a hierarchical structure where data can be distributed across physical disks while maintaining sequential access patterns within virtual disks. This segmentation allows the system to achieve both load distribution across physical disks and sequential bandwidth utilization within each virtual disk's allocated space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtualization dimension between physical disks and data storage, transforming the problem from a two-dimensional physical distribution challenge to a three-dimensional solution space that includes virtual disk abstraction. This allows sequential I/O operations to be maintained in the virtual layer while achieving load distribution across the physical layer.

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

2Device complexity

If standard block sizes are used in RDA, then data storage is simplified, but seek time becomes greater than data transfer time, reducing overall performance

Engineering Contradiction:
Improvedata storage simplicityVSAvoidseek time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements dynamic block size allocation where block sizes are not fixed but are determined based on the specific I/O request characteristics and the virtual disk mapping. This allows the system to optimize for sequential access patterns by using larger effective block sizes when reading large objects, reducing the frequency of seeks while maintaining simplicity through the virtualization layer.

Inventive Principle:
Principle #15Dynamics

3Productivity

If optimal algorithms are used to achieve full bandwidth by buffering logical blocks, then bandwidth utilization is improved, but buffer requirements increase to O(record size) and first block delivery is delayed

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidbuffer requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent introduces virtual disks as intermediaries between the physical disk array and the data access layer. These virtual disks act as a buffer management mechanism that requires only O(1) buffering while achieving optimal bandwidth utilization. The virtual disk abstraction handles the complexity of block buffering and delivery timing, allowing the system to maintain low buffer requirements while delivering data blocks in optimal sequence.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9619179B2Data storage apparatus using sequential data access over multiple data storage devices
Publication Date: 2017.04.11 APPLE INC
  • US9619179B2 patent drawing
  • US9619179B2 patent drawing
  • US9619179B2 patent drawing

AI summary

Data Storage Apparatus An apparatus (1) for storing data comprises a plurality of physical data storage disks (2). Each of the physical data storage disks (2) is divided into a plurality of sub-regions (3). The apparatus also comprises data processing means (4) configured such that: the data to be stored is divided into a plurality of data blocks, a plurality of copies of the plurality of data blocks is made and each copy is labelled with a distinct identifier, and assigned to the plurality of sub-regions (3) such that: (a) each copy of any given data block is assigned to a different physical data storage disk (2), and (b) none of the plurality of data blocks with a first identifier is assigned to the same sub-region (3) as any of the plurality of data blocks with a second identifier, for any pair of distinct identifiers.