SSD I/O Scheduler Alternating Contexts for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices, such as those used in solid state drives (SSDs), face inefficiencies due to their inability to perform data overwrite operations, leading to delayed execution of memory access operations and reduced performance from necessary operations like block erase, wear-leveling, merge, and garbage collection.

Innovation Solution

Implementing an input/output scheduler in SSDs that processes commands in alternating sequences, suspending and resuming operations to manage execution times and prioritize commands, thereby reducing response time and improving performance by utilizing multiple processors and contexts to handle administrative tasks efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If block erase, wear-leveling, merge, or garbage collection operations are performed in flash memory devices, then data integrity and memory lifespan are improved, but execution time of memory access operations increases and performance decreases

Engineering Contradiction:
Improvedata integrityVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs administrative operations (block erase, wear-leveling, garbage collection) in advance before they are strictly needed, during periods when the memory is less active. This preliminary execution ensures that when primary memory access operations occur, the administrative tasks have already been completed or are in progress, reducing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements overlapping execution where administrative operations and memory access operations run concurrently rather than sequentially. The memory controller manages multiple operation streams simultaneously, ensuring that useful actions (data access) continue without interruption while administrative tasks are performed in parallel, eliminating idle time.

Inventive Principle:
Principle #20Continuity of useful action

2Device complexity

If administrative operations are performed sequentially in a single context, then device complexity is reduced, but productivity and response time deteriorate

Engineering Contradiction:
Improvecontrol structureVSAvoidresponse time
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the memory controller into multiple independent contexts (first context and second context), each capable of handling different types of operations simultaneously. The first context processes administrative operations while the second context handles memory access operations, or vice versa. This segmentation allows parallel processing without significantly increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic context switching where the memory controller can flexibly allocate contexts to different operation types based on current workload demands. Contexts can be suspended, resumed, and reassigned dynamically, allowing the system to adapt to varying operation priorities and maintain high productivity under different conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8341374B2Solid state drive and related method of scheduling operations
Publication Date: 2012.12.25 SAMSUNG ELECTRONICS CO LTD
  • US8341374B2 patent drawing
  • US8341374B2 patent drawing
  • US8341374B2 patent drawing

AI summary

A solid state drive (SSD) comprises an input/output interface and a memory controller. The input/output interface stores a plurality of input/output commands. The memory controller comprises first and second input/output contexts and an input/output scheduler. The first and second input/output contexts process input/output commands from the input/output interface in an alternating sequence. The input/output scheduler schedules operations of the first and second input/output contexts. In particular, the input/output scheduler suspends execution of a first input/output command by the first input/output context upon determining that an execution time of the first input/output command exceeds an interval before a deadline time. After suspending execution of the first input/output command, the input/output scheduler transmits a second input/output command to the second input/output context.