Stream Exclusivity in Multi-Tenant SSD File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state devices (SSDs) face limitations due to the inability to update data within a page, leading to write amplification and reduced lifespan, as they must rewrite data across multiple pages during garbage collection, and streaming solutions are needed to manage data deletion efficiently.

Innovation Solution

A method and system for organizing stream identifiers and ensuring exclusive access to streams on an SSD, allowing applications to request and manage stream identifiers for efficient data storage and deletion, thereby reducing write amplification and extending SSD lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple applications access streaming functionality on an SSD, then storage capacity and versatility are improved, but stream exclusivity and data integrity cannot be guaranteed

Engineering Contradiction:
Improvemulti-tenant streaming accessVSAvoidstream exclusivity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the stream identifier management by creating separate files for each application, where each file stores stream identifiers exclusively allocated to that application. This segmentation ensures that multiple applications can access streaming functionality simultaneously while maintaining stream exclusivity within each application's dedicated file.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a file system as an intermediary between applications and the SSD streaming functionality. The file system manages stream identifier allocation, creating a token-based access control mechanism that mediates between multiple applications and the underlying storage device, ensuring that each application receives exclusive stream identifiers through the intermediary's controlled distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is rewritten multiple times during garbage collection, then data integrity is maintained, but write amplification increases and SSD lifespan decreases

Engineering Contradiction:
Improvedata integrityVSAvoidSSD lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent applies preliminary action by pre-organizing data into streams with assigned deletion times before garbage collection occurs. By grouping data that will be deleted together into the same streams and allocating exclusive stream identifiers to each application in advance, the system prepares the data structure to minimize unnecessary writes during garbage collection, thereby reducing write amplification while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If stream identifiers are shared among applications, then storage efficiency is improved, but data isolation and security are compromised

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata isolation
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent segments stream identifier allocation by creating separate files for each application, where each file contains stream identifiers exclusively for that application. This segmentation achieves data isolation and security by ensuring that Application A cannot access or interfere with Application B's streams, while still maintaining storage efficiency through the centralized management of stream identifiers by the file system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10298649B2Guaranteeing stream exclusivity in a multi-tenant environment
Publication Date: 2019.05.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10298649B2 patent drawing
  • US10298649B2 patent drawing
  • US10298649B2 patent drawing

AI summary

A file system is configured to ensure exclusive access by an application to a “stream” comprising one or more erase blocks on a storage device. The file system may receive, from an application, a request for a stream identifier token, create a file to store one or more stream identifiers associated with the application, send, to the application, a token associated with the file, the token providing access to the one or more stream identifiers by the application, receive, from the application, a request for access to a stream, the request comprising the token, determine that a stream is available, the stream comprising one or more erase blocks on a storage device, send, to the application, a stream identifier associated with the stream, and remove the stream identifier from a pool of available stream identifiers, thereby ensuring exclusive access to the stream by the application.