Shadow Address Space for Distributed Storage Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing devices often lack sufficient storage capacity to store generated data, necessitating additional storage solutions to manage data distribution across local and remote storage resources.

Innovation Solution

A system where each computing device employs an address space with entries specifying both local and remote storage blocks, dynamically allocating data storage between local and remote locations based on availability, using a storage manager to manage data migration and sharing of storage resources across multiple devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If computing devices store all generated data locally, then data access speed is improved, but storage capacity becomes insufficient

Engineering Contradiction:
Improvedata access speedVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The storage system is segmented into local storage and remote storage components. The address space is divided into a first portion for local storage blocks and a second portion for remote storage blocks, allowing data to be distributed across multiple storage locations rather than confined to a single device's local storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a remote storage dimension beyond local storage. By adding entries in the address space that map to remote storage blocks hosted by other computing devices, the system transitions from a single-device storage model to a distributed storage model, effectively adding a new dimension to storage capacity.

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

2Device complexity

If computing devices use traditional storage methods, then storage management is simple, but storage resource utilization is inefficient

Engineering Contradiction:
Improvestorage management complexityVSAvoidstorage resource utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The address space serves multiple functions: it maps both local storage blocks and remote storage blocks, manages storage capacity across distributed devices, and provides a unified interface for data access. This multi-functional design improves storage resource utilization while maintaining manageable complexity through a single data structure.

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

Solution Approach 2:

The system monitors storage capacity and availability across local and remote storages, dynamically determining where data should be stored based on real-time conditions. This feedback mechanism optimizes storage resource utilization by allocating data to the most appropriate storage location without requiring complex manual management.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If computing devices share storage resources, then storage capacity is increased, but data consistency and availability become challenging

Engineering Contradiction:
Improvestorage capacityVSAvoiddata consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The address space acts as an intermediary data structure between multiple computing devices and their storage systems. It mediates the relationship between devices by providing a unified mapping mechanism that tracks which blocks are stored locally and which are remote, enabling consistent data access without direct device-to-device coordination complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10936502B2Shadow address space for sharing storage
Publication Date: 2021.03.02 EMC IP HLDG CO LLC
  • US10936502B2 patent drawing
  • US10936502B2 patent drawing
  • US10936502B2 patent drawing

AI summary

A computing device includes a persistent storage and a processor. The processor includes a local storage. The local storage includes blocks and an address space. The address space includes a first portion of entries that specify blocks of the local storage and a second portion of entries that specify blocks of the remote data storage. The processor obtains data for storage and makes a determination that the data cannot be stored in the local storage. In response to the determination, the processor stores the data in the remote storage using the second portion of entries.