FLR Manager for Selective Virtual Function Reset

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing input/output virtualization-enabled storage devices face challenges in quickly and selectively aborting and cleaning up commands from unstable virtual functions while minimizing impact on other functions, affecting the stability and speed of the system.

Innovation Solution

The implementation of a Function Level Reset (FLR) manager within the SSD controller, which processes FLR requests on a per-function basis, prioritizes, serializes, and broadcasts FLR requests through a dedicated bus, utilizing an FLR bitmap to track affected functions and a command counter to monitor pipeline progress, ensuring minimal disruption to other virtual functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If FLR requests are processed for unstable virtual functions, then system stability is improved, but processing speed and performance of other functions deteriorate

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the FLR processing into distinct phases: identification phase where unstable functions are detected and flagged, and execution phase where reset operations are performed. This segmentation allows the system to identify problematic functions without immediately disrupting the entire system, maintaining processing continuity for stable functions while preparing for targeted reset operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary identification and flagging of unstable virtual functions before executing FLR operations. By预先 identifying which functions require reset through monitoring and detection mechanisms, the system can prepare reset sequences in advance without interrupting the normal operation of stable functions, thus maintaining overall system productivity during the stabilization process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If FLR requests are processed selectively on a per-function basis, then impact on other functions is minimized, but system complexity increases

Engineering Contradiction:
Improvefunction isolationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides virtual functions into distinct operational segments that can be independently monitored, identified, and reset. Each function operates in an isolated context where stability issues can be contained and addressed individually without affecting other function segments, achieving selective processing while managing complexity through structured segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces intermediary mechanisms including FLR request managers, identification modules, and execution controllers that mediate between the host system and virtual functions. These intermediaries handle the complexity of selective FLR processing by managing the identification, prioritization, and execution of reset operations, thereby shielding the core function processing from complexity while maintaining isolation and selective control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3441870B1Managing function level reset in an IO virtualization-enabled storage device
Publication Date: 2023.10.04 KIOXIA CORP
  • EP3441870B1 patent drawingFigure 1
  • EP3441870B1 patent drawingFigure 2
  • EP3441870B1 patent drawingFigure 3

AI summary

A data storage device comprises a non-volatile semiconductor memory device and a solid-state drive controller communicatively coupled to the non-volatile semiconductor memory device, including a function level reset manager. The function level reset manager can receive a function level reset request from a host system, generate a function level reset bitmap based on the function level reset request, and broadcast the function level reset request to a command processing pipeline. The function level reset bitmap can indicate which functions are in a reset state. Further, the function level reset manager can determine which functions are in the reset state and instruct the command processing pipeline to cancel commands associated with the functions in the reset state.