Storage Virtual Containers for SSD Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage devices, including SSDs, are accessed through linear block-level interfaces that hide their inherent parallelism, limiting the operating system's ability to utilize the parallel processing capabilities of SSDs effectively.

Innovation Solution

A controller in an SSD defines storage virtual containers that are mapped to underlying memory devices, allowing the operating system to make operation requests that can be fulfilled in parallel, thereby exploiting the parallelism of the SSDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a linear block-level interface is used to access storage devices, then compatibility and simplicity are improved, but the inherent parallelism of SSDs is hidden and productivity deteriorates

Engineering Contradiction:
Improveinterface simplicityVSAvoidparallel processing capability
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the storage interface into multiple virtual containers, each mapping to specific physical storage resources. This segmentation allows the interface to maintain simplicity while enabling parallel operations by dividing the storage space into independent access units that can be operated on simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces virtual containers as an intermediary layer between the linear block-level interface and the physical SSD architecture. This intermediary enables the translation of simple linear access requests into parallel operations on underlying storage resources without requiring changes to the host operating system or applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If SSDs export linear address space of flash packages, then compatibility with traditional hard disk drives is improved, but the inherent parallelism of SSDs is hidden and speed deteriorates

Engineering Contradiction:
ImprovecompatibilityVSAvoidaccess speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent adds a virtualization dimension to the traditional linear address space model. By introducing virtual containers that map multiple physical flash packages to logical storage units, it enables parallel access paths while maintaining the familiar linear addressing interface, thus improving speed without sacrificing compatibility.

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

Solution Approach 2:

The virtual container interface serves multiple functions simultaneously: it maintains compatibility with traditional linear block-level access while enabling parallel operations, provides both sequential and random access patterns, and supports multiple mapping strategies for different performance requirements.

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

Data Source

PatentUS8103847B2Storage virtual containers
Publication Date: 2012.01.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8103847B2 patent drawing
  • US8103847B2 patent drawing
  • US8103847B2 patent drawing

AI summary

A controller of a Solid State Device (SSD) defines a mapping from memory devices, such as flash packages, that make up the SSD to one or more storage virtual containers. The storage virtual containers are exposed to an operating system by the controller through an interface. The operating system may then make operation requests to the one or more storage virtual containers, and the controller may use the mapping to fulfill the operation requests from the corresponding flash packages. The storage virtual containers are mapped to the flash packages to take advantage of the parallelism of the flash packages in the SSD so that the controller may fulfill operation requests received from the operating system in parallel.