Hybrid Controller Workload-Based Relief Valve Activation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face unsustainable input/output (I/O) rates due to the performance differences between single-level cell (SLC) and multi-bit-per-cell (MBC) configurations in NAND Flash-based SSDs, leading to inefficiencies in write operations and wear leveling, especially when I/O rates exceed predetermined thresholds.

Innovation Solution

A hybrid controller manages memory blocks in two pools, one configured in SLC mode and the other in MBC mode, dynamically adapting based on current I/O rates to ensure sustainable performance by redirecting writes between pools and implementing write heat separation and garbage collection strategies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SLC mode blocks are used to satisfy incoming host writes, then write performance and I/O rate are improved, but the system becomes unsustainable when I/O rate exceeds predetermined range

Engineering Contradiction:
ImproveI/O rateVSAvoidsustainability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically switches between SLC mode and MBC mode based on the current I/O rate relative to a predetermined range. When the I/O rate is within the sustainable range, SLC mode blocks are used for high-performance writes. When the I/O rate exceeds the range, the system transitions to MBC mode blocks to reduce the I/O rate and maintain sustainability. This dynamic adaptation resolves the contradiction by adjusting operational mode based on real-time conditions.

Inventive Principle:
Principle #15Dynamics

2Reliability

If MBC mode blocks are used to satisfy incoming host writes, then I/O rate is reduced to sustainable levels, but write performance decreases

Engineering Contradiction:
ImprovesustainabilityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses MBC mode blocks as a relief valve mechanism that is activated only when necessary. During normal operation within the sustainable I/O rate range, high-performance SLC mode blocks handle writes. When sustainability is at risk, the system dynamically switches to MBC mode blocks which have lower write performance but can sustain the reduced I/O rate. This dynamic switching resolves the contradiction by using lower-performance mode only when required for sustainability.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If hybrid controller manages both SLC and MBC mode blocks, then adaptability to different workload demands is improved, but device complexity increases

Engineering Contradiction:
Improveworkload adaptationVSAvoidcontroller architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory device is segmented into distinct pools of blocks, with each pool configured in a specific mode (SLC or MBC). The hybrid controller manages these segmented pools independently, allowing it to adapt to different workload demands by selecting from appropriate pools. This segmentation approach resolves the contradiction by organizing complexity into manageable, independent segments that can be selectively activated based on workload requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11762569B2Workload based relief valve activation for hybrid controller architectures
Publication Date: 2023.09.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11762569B2 patent drawing
  • US11762569B2 patent drawing
  • US11762569B2 patent drawing

AI summary

A computer-implemented method, according to one embodiment, includes: maintaining a first subset of the plurality of blocks in a first pool, where the blocks maintained in the first pool are configured in SLC mode. A second subset of the plurality of blocks is maintained in a second pool, where the blocks maintained in the second pool are configured in multi-bit-per-cell mode. A current I/O rate for the memory is identified during runtime, and a determination is made as to whether the current I/O rate is outside a first range. In response to determining that the current I/O rate is not outside the first range, the blocks maintained in the first pool are used to satisfy incoming host writes. Moreover, in response to determining that the current I/O rate is outside the first range, the blocks maintained in the second pool are used to satisfy incoming host writes.