Storage Processor I/O Priority Queuing for Nonvolatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing command queuing systems, particularly those optimized for electromechanical hard drives, are ineffective for semiconductor-based nonvolatile storage as they do not account for the physical placement of data, leading to increased latency and inefficiencies in data access.

Innovation Solution

A memory system with priority-based Input/Output (I/O) command queuing for nonvolatile semiconductor memory, utilizing a storage processor with a command interface, expectation table, and mode selector to manage external and internal priorities, and switch between standard and preemption operational modes based on queue depth and request latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If command queuing is implemented to minimize rotational and seek delay for hard drives, then access latency is reduced, but the system provides no benefit for semiconductor-based nonvolatile storage and may increase overall system latency

Engineering Contradiction:
Improveaccess latencyVSAvoidcompatibility with different storage types
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The command queuing system dynamically adapts its behavior based on the type of storage device being accessed. For hard drives, it implements rotation and seek optimization, while for semiconductor-based storage, it uses a different queuing strategy that does not introduce unnecessary latency. This dynamic adaptation resolves the contradiction by making the system versatile across different storage types while maintaining optimal performance for each.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the queuing parameters and command scheduling behavior based on the storage device type. When detecting semiconductor-based nonvolatile storage, it modifies the command queuing parameters to avoid the mechanical optimization routines that would increase latency, thereby maintaining adaptability while reducing access latency for the specific storage type.

Inventive Principle:
Principle #35Parameter changes

2Speed

If priority-based command scheduling is implemented, then critical I/O operations are serviced faster, but overall system latency increases due to reordering commands

Engineering Contradiction:
ImproveI/O operation processing speedVSAvoidoverall system latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system implements partial preemption where only high-priority commands that exceed their expected completion time are interrupted and serviced immediately. Not all commands are subjected to preemption, which avoids the overhead of constant priority checking and reordering. This selective approach speeds up critical operations while minimizing the impact on overall system latency.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses an expectation table that tracks the expected completion time for each priority level. When a command's actual completion time exceeds its expected time, the system provides feedback and triggers preemption. This feedback mechanism ensures that priority-based scheduling only intervenes when necessary, reducing overall latency while still meeting critical timing requirements.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If multiple priority levels are supported with separate queues, then I/O priority management is enhanced, but device complexity increases

Engineering Contradiction:
ImproveI/O priority managementVSAvoidqueue management structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The command queue is segmented into multiple priority-level queues, with each queue handling commands of a specific priority. This segmentation allows for simple, independent management of each priority level without requiring complex inter-queue coordination. The segmented structure enhances ease of priority management while keeping the complexity of individual queue management relatively low.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The expectation table serves multiple functions: it stores expected completion times for different priority levels, tracks actual completion times, determines when preemption should occur, and provides feedback for dynamic priority adjustment. This multi-functionality reduces the need for separate complex structures for each function, thereby managing device complexity while providing comprehensive priority management.

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

Data Source

PatentUS9268495B2Managing I/O priorities
Publication Date: 2016.02.23 APPLE INC
  • US9268495B2 patent drawing
  • US9268495B2 patent drawing
  • US9268495B2 patent drawing

AI summary

In one embodiment, a memory system for managing priority based Input Output (I/O) command queuing for nonvolatile electrically erasable semiconductor memory comprises one or more banks of electrically erasable semiconductor memory coupled to a storage processor. The storage processor can processes access requests for the memory, and has components including: a command interface, an expectation table, and a mode selector. The command interface receives memory access requests, which include a tag to identify the request, and an external priority associated with the request. The expectation table includes a set of times associated with each of the external priority levels, which indicate the period in which a request having the external priority is expected. The mode selector selects from a set of storage processor operation modes including a standard mode and a preemption mode.