Storage Controller Memory Area Segmentation for Predictable Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage devices with nonvolatile memory struggle to guarantee predictable latency in input/output operations, particularly in solid state drives (SSDs), due to the limitations of existing technologies in managing memory areas and processing requests efficiently.

Innovation Solution

The implementation of a storage device with a controller that logically divides memory into sets, distributing them into high, normal, and low priority groups, and dynamically manages resources and operation periods to ensure predictable latency by transitioning between deterministic and non-deterministic windows for read and write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory areas are managed without priority grouping, then device complexity is reduced, but input/output determinism and predictable latency cannot be guaranteed

Engineering Contradiction:
Improveinput/output determinismVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory area is segmented into multiple priority groups (first priority group, second priority group, third priority group) to enable differentiated handling of read and write requests. This segmentation allows the system to guarantee predictable latency for high-priority operations while managing overall memory complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller dynamically transitions between deterministic window mode and non-deterministic window mode based on operational requirements. In deterministic window mode, the system guarantees predictable latency by processing requests from specific priority groups, while in non-deterministic window mode, it performs background tasks like garbage collection, providing adaptive memory management.

Inventive Principle:
Principle #15Dynamics

2Reliability

If deterministic window mode is used for all operations, then predictable latency is guaranteed, but productivity decreases due to limited operational flexibility

Engineering Contradiction:
Improvepredictable latencyVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller alternates between deterministic window mode and non-deterministic window mode in periodic cycles. During deterministic windows, it processes high-priority requests with guaranteed latency, while during non-deterministic windows, it performs background maintenance tasks. This periodic switching ensures both predictable latency for user operations and system productivity through efficient background task execution.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If all memory areas are treated equally, then device complexity is minimized, but resource allocation efficiency deteriorates under varying workload conditions

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidresource allocation efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Different priority groups are assigned different quality levels of service. The first priority group receives guaranteed latency treatment with dedicated processing resources, while other groups receive standard service. This local differentiation of quality allows efficient resource allocation under varying workload conditions without requiring complex global control logic.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11644991B2Storage device and control method
Publication Date: 2023.05.09 KIOXIA CORP
  • US11644991B2 patent drawing
  • US11644991B2 patent drawing
  • US11644991B2 patent drawing

AI summary

According to one embodiment, a storage device includes a nonvolatile memory and a controller. The controller manages memory area sets. The controller distributes a first memory area set into a first group. The controller distributes a second memory area set into a second group. The controller comprises first to fourth circuits. The first circuit processes a first read request from a host to the first memory area set. The second circuit processes a first write request from the host to the first memory area set. The third circuit processes a second read request from the host to the second memory area set. The fourth circuit processes a second write request from the host to the second memory area set.