Command Prioritizing Logic for Storage Buffer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data access commands in storage systems often remain in buffers for extended periods due to continuous reordering, leading to inefficiencies and potential fairness issues, as they are not executed in the original order received, causing aged commands to be prioritized but not always executed promptly, which can disrupt throughput.

Innovation Solution

Implementing a command prioritizing logic that identifies candidate command nodes based on prescribed rules, such as rotational position sorting or zone-based rules, to select and execute pending commands over nonpending ones, and transfers nonselected command nodes from the volatile buffer to a nonvolatile buffer to maintain fairness and optimize throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If commands are continuously reordered in the volatile buffer to prioritize pending commands, then command execution efficiency is improved, but commands remain in the buffer for extended periods causing fairness issues and throughput disruption

Engineering Contradiction:
Improvecommand execution efficiencyVSAvoidcommand waiting time in buffer
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the buffer management into two distinct parts: a volatile buffer for active command prioritization and a nonvolatile buffer for aged command storage. This segmentation allows the system to maintain efficient reordering in the volatile buffer while moving aged commands to the nonvolatile buffer, preventing them from blocking new command intake and thus resolving the fairness issue without sacrificing execution efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts aged commands from the volatile buffer and transfers them to the nonvolatile buffer. This extraction removes the problematic aged commands that cause fairness issues and throughput disruption while allowing the volatile buffer to continue its efficient reordering operations for pending commands, thus resolving the contradiction between efficiency and fairness.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If nonselected command nodes are transferred to nonvolatile buffer, then fairness is improved and cache efficiency is optimized, but system complexity increases due to dual buffer management

Engineering Contradiction:
Improvecommand execution fairnessVSAvoidbuffer management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic buffer management where the system automatically transitions command nodes from the volatile buffer to the nonvolatile buffer based on their age and selection status. This dynamic approach allows the system to adapt to varying workloads and command patterns, maintaining fairness and cache efficiency while managing complexity through automated decision-making rather than static rigid structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The command prioritizing logic autonomously manages the dual buffer system by automatically identifying aged command nodes, transferring them to the nonvolatile buffer, and selecting pending commands for execution without external intervention. This self-service mechanism handles the increased structural complexity through automated management, reducing the operational burden and maintaining system reliability.

Inventive Principle:
Principle #25Self-service

3Productivity

If candidate command nodes are repeatedly identified and nonselected nodes are transferred to nonvolatile buffer, then cache efficiency is improved, but the prescribed rule complexity increases

Engineering Contradiction:
Improvecache efficiencyVSAvoidprescribed rule logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-identifying candidate command nodes among those in the volatile buffer before executing the selection process. This preliminary identification allows the prescribed rule to work more efficiently by focusing only on viable candidates, improving cache efficiency while managing rule complexity through structured pre-processing of the command set.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9465745B2Managing access commands by multiple level caching
Publication Date: 2016.10.11 SEAGATE TECH LLC
  • US9465745B2 patent drawing
  • US9465745B2 patent drawing
  • US9465745B2 patent drawing

AI summary

Apparatus and associated method concerning managing access commands with a main storage space, a volatile buffer, and a nonvolatile buffer. The volatile buffer is configured to store a plurality of command nodes that are associated with data access commands received from a remote device and directed to the main storage space. The apparatus also has command prioritizing logic configured for using a prescribed rule in repeatedly identifying two or more candidate command nodes of the plurality that are at least individually favored for execution with respect to the main storage space, for selecting one of the candidate command nodes for the execution, and for transferring a nonselected one of the candidate command nodes from the volatile buffer to the nonvolatile buffer where the nonselected command node continues to be considered for execution with respect to the main storage space but is no longer considered by the prescribed rule when identifying subsequent candidate command nodes in the volatile buffer.