Storage Controller Virtualization Layer for Multi-Client Resource Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current UFS/eMMC storage devices are designed for single-host management, making it challenging to efficiently share storage resources among multiple virtual clients in virtualized environments, requiring additional processing for communication and resource allocation.

Innovation Solution

A virtualization layer in the storage controller traps storage resource requests from clients, providing them to a virtualized resource manager that creates virtual resource allocations corresponding to physical allocations, allowing the storage device to be shared among multiple clients by mapping and recording these allocations in a storage resource mapping table.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single-host storage device is used, then the device structure remains simple, but it cannot support multiple virtual clients in virtualized environments

Engineering Contradiction:
Improvemulti-client support capabilityVSAvoidstorage controller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A virtualization layer is introduced as an intermediary component between multiple virtual clients and the physical storage device. This layer manages client identification, resource allocation, and data mapping, enabling the storage device to serve multiple clients without requiring complex changes to the storage device itself. The virtualization layer handles the complexity of multi-client coordination while maintaining the simplicity of the underlying storage hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple virtual clients access the storage device simultaneously, then resource utilization improves, but additional processing is required for communication and resource allocation

Engineering Contradiction:
Improvestorage resource utilizationVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The storage resources are segmented into virtual partitions that can be independently allocated to different virtual clients. Each client receives a virtual view of the storage device with its own logical address space, allowing simultaneous access without interference. The virtualization layer manages these segments and maps virtual addresses to physical storage locations, enabling efficient multi-client resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Storage resources are pre-partitioned into virtual allocations that can be assigned to different clients before actual data access occurs. The virtualization layer maintains allocation tables that map virtual clients to specific storage ranges in advance, so when clients access the storage device, the mapping is already established and no real-time processing is required for resource allocation.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If virtual resource allocation is implemented, then seamless sharing among clients is achieved, but a storage resource mapping table is required to track allocations

Engineering Contradiction:
Improveclient access simplicityVSAvoidmapping table requirements
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The virtualization layer creates virtual copies of the storage device's address space for each client. Instead of physically partitioning the storage device, the system creates virtual mappings that replicate the storage interface for each client. This allows clients to access storage as if they were the only user, while the mapping table tracks the correspondence between virtual and physical addresses.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3248095B1Storage resource management in virtualized environments
Publication Date: 2021.06.16 QUALCOMM INC
  • EP3248095B1 patent drawingFigure 1
  • EP3248095B1 patent drawingFigure 2
  • EP3248095B1 patent drawingFigure 3

AI summary

Aspects disclosed in the detailed description include storage resource management in virtualized environments. In this regard, in one aspect, a virtualization layer is provided in a storage controller as an interface between one or more clients and a storage device. The storage controller is configured to trap storage resource requests from a client. A virtualized resource manager creates a virtual resource allocation that corresponds to a physical resource allocation in the storage device. The client receives the virtual resource allocation from the virtualization layer and subsequently accesses the virtual resource allocation through the storage controller as if the client were the sole user of the storage device. By trapping the storage resource requests at the storage controller and providing the virtual resource allocations to the one or more clients, it is possible to share compatibly the storage device among the one or more clients in a virtualized environment.