Virtualized Storage Array Controller for Multi-Tenant Isolation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
Data Source
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.


