Disaggregated Block Storage Controller Stack for Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing block storage systems are limited in scalability due to their direct connection to specific interfaces like PCI-e, making them inflexible and unable to adapt to different subsystems and protocols, which restricts their compatibility and expansion.

Innovation Solution

A disaggregated block storage controller stack is introduced, featuring a common layer that is agnostic to hardware-specific components, allowing bidirectional coupling through callback functions, enabling communication with multiple subsystems and remote access layers, thus facilitating adaptability to various protocols and interfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a unified software stack is tailored to a particular interface (e.g., PCI-e), then streamlined register interface and command set are achieved for NVM-based storage transactions, but scalability is limited

Engineering Contradiction:
Improvestreamlined register interface and command setVSAvoidscalability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The software stack is segmented into a common layer and interface-specific layers. The common layer handles NVM-based storage transactions in a unified manner, while interface-specific layers (e.g., PCI-e, Fibre Channel) handle protocol-specific operations. This segmentation allows the core functionality to remain streamlined while adapting to multiple interfaces through modular additions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary layer is introduced between the unified software stack and the interface-specific protocols. This intermediary translates between the unified command set and interface-specific protocols, enabling the core storage stack to remain unchanged while supporting multiple interfaces. The intermediary acts as an adapter that maintains compatibility with the streamlined register interface while enabling communication over different physical interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If block storage systems connect directly to specific interfaces like PCI-e, then direct communication is achieved, but flexibility and adaptability to different subsystems are reduced

Engineering Contradiction:
Improvedirect communicationVSAvoidflexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The software stack is designed with universal functionality that can operate over multiple interfaces. The common layer implements interface-agnostic storage operations, while interface-specific adapters provide the necessary protocol translation. This multi-functionality allows the same storage stack to serve different subsystems (e.g., local PCI-e devices, remote Fibre Channel devices) without requiring separate implementations.

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

Solution Approach 2:

The architecture adds a dimensional layer of abstraction between the storage operations and the physical interface. Instead of direct one-to-one mapping between storage stack and interface, a new dimension (the interface-specific layer) is introduced that enables multiple physical interfaces to map to the same logical storage operations, thereby increasing flexibility without sacrificing direct communication capabilities.

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

3Device complexity

If a unified software stack is used for all interfaces, then simplicity is maintained, but compatibility with different protocols and subsystems is limited

Engineering Contradiction:
Improveunified software stackVSAvoidcompatibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The software stack is divided into a simple common layer and multiple interface-specific layers. The common layer maintains simplicity by handling only the essential storage operations in a unified manner. Each interface-specific layer adds only the necessary protocol-specific functionality, keeping the overall system simple while achieving broad compatibility. This segmentation prevents the common layer from becoming complex while still supporting multiple protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different parts of the software stack have different levels of complexity tailored to their specific functions. The common layer maintains low complexity with streamlined operations, while interface-specific layers contain the necessary complexity for protocol translation and adaptation. This local quality optimization ensures that simplicity is preserved where possible while compatibility is enhanced where needed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10649660B2Disaggregating block storage controller stacks
Publication Date: 2020.05.12 INTEL CORP
  • US10649660B2 patent drawing
  • US10649660B2 patent drawing
  • US10649660B2 patent drawing

AI summary

Systems, apparatuses and methods may provide for communicating, by a common layer, with a local block storage system and communicating, by a subsystem layer that is communicatively coupled to the common layer, with one or more subsystems. Additionally, the common layer may be disassociated with one or more hardware specific components of the subsystem layer. In one example, the common layer may export one or more callback functions to the subsystem layer, wherein the callback functions include a registration and/or deregistration function.