Virtualized Storage Array Controller for Multi-Tenant Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage arrays fail to provide scalable and secure multi-tenancy solutions for cloud computing, as they risk data mismanagement and operational disruptions when handling I/O requests from multiple tenants on the same infrastructure, leading to the need for separate arrays which are not scalable or efficient.

Innovation Solution

A system that logically partitions a storage array into multiple array domains, each running a separate instance of controller firmware on a virtual machine, with a privileged domain managing hardware access and forwarding I/O requests to the appropriate non-privileged domain, ensuring isolation and efficient resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional storage arrays use basic LUN mapping/partitioning for multi-tenancy, then storage infrastructure can be shared across multiple clients, but data mismanagement and operational disruptions occur due to lack of isolation between tenants

Engineering Contradiction:
Improvemulti-tenancy capabilityVSAvoiddata management safety
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The storage array is segmented into multiple isolated array domains, each running on separate virtual machines with independent controller firmware instances. This segmentation provides strong isolation between tenants, preventing I/O requests from one tenant from affecting others, while still allowing shared infrastructure resources.

Inventive Principle:
Principle #1Segmentation

2Reliability

If separate storage arrays are configured for different tenants, then complete isolation and data security are achieved, but scalability and resource efficiency are lost

Engineering Contradiction:
Improvedata isolation securityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Multiple isolated array domains are merged onto a single physical storage array controller through virtualization. Each domain maintains logical and operational independence while sharing the same physical hardware infrastructure, achieving both security through isolation and scalability through resource sharing.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A privileged domain acts as an intermediary between the physical storage hardware and the non-privileged array domains. This privileged domain manages hardware access, creates and destroys array domains, and routes I/O requests, enabling secure multi-tenancy without requiring direct access to physical resources by each tenant.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a single storage array handles I/O requests from multiple tenants simultaneously, then resource utilization is optimized, but operational disruptions can propagate across all tenants

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidoperational disruption propagation
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The storage array is divided into independently isolated array domains that can handle I/O requests simultaneously without interference. Each domain has its own controller firmware instance that manages its I/O requests independently, preventing operational disruptions from propagating between tenants while maintaining efficient resource utilization across the shared infrastructure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8782658B2System and apparatus for managing a storage array utilizing a plurality of virtual machines
Publication Date: 2014.07.15 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8782658B2 patent drawing
  • US8782658B2 patent drawing
  • US8782658B2 patent drawing

AI summary

A system for managing a storage array having a set of storage components comprises a storage array controller, the storage array controller including: a first instance of a controller firmware on a virtual machine in a privileged domain, the privileged domain having access to hardware of the storage array; and a second instance of the controller firmware on a separate virtual machine in a first non-privileged array domain. The privileged domain is configured to inspect an I/O request and determine whether a target of the I/O request is an existing non-privileged array domain, to initiate launch of the first non-privileged array domain array when the I/O request does not relate to an existing non-privileged array domain, and to present available storage components to the first non-privileged array domain when the I/O request relates to the first non-privileged array domain.