Intermediary Device for Microsecond Storage Performance Measurement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for measuring performance metrics of data storage devices are often expensive and lack sufficient timing accuracy, as they rely on analyzers, oscilloscopes, and driver level timestamps, which may not operate with all types of devices and can introduce delays, resulting in low resolution and high costs.

Innovation Solution

A performance metric device that communicates between computing devices and data storage devices, capable of decoding, analyzing, and forwarding packets at a microsecond level, allowing for precise measurement of latency, throughput, and power consumption by identifying command execution and completion times with high accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If driver level timestamps are used to measure performance metrics, then the measurement process is simple to implement, but the timing accuracy and resolution are insufficient

Engineering Contradiction:
Improvetiming accuracyVSAvoidmeasurement system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary device positioned between the host and storage device that intercepts and analyzes command packets. This intermediary captures timing information directly from the command stream without relying on driver timestamps, achieving microsecond-level precision while maintaining system simplicity through a dedicated measurement component

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If analyzers and oscilloscopes are used to measure performance metrics, then the timing accuracy can be improved, but the cost and device complexity increase significantly

Engineering Contradiction:
Improvetiming accuracyVSAvoidmeasurement equipment complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the timing measurement functionality from complex external equipment and implements it within the storage device itself through dedicated circuitry that captures command timestamps. This integration eliminates the need for expensive external analyzers and oscilloscopes while maintaining microsecond-level measurement precision

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The storage device performs its own performance measurement by incorporating internal timing circuitry that automatically captures command execution timestamps. This self-measurement capability eliminates dependence on external measurement equipment, reducing both cost and system complexity while achieving high timing accuracy

Inventive Principle:
Principle #25Self-service

3Measurement precision

If driver level timestamps are used, then the implementation is straightforward, but delays are introduced resulting in low resolution

Engineering Contradiction:
ImproveresolutionVSAvoidmeasurement delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements preliminary timing capture by recording command timestamps at the moment commands are issued, before they pass through the driver layer. This early capture eliminates subsequent processing delays and provides accurate baseline timing for calculating true command execution duration with microsecond resolution

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11237760B2Measuring performance metrics for data storage devices
Publication Date: 2022.02.01 SANDISK TECHNOLOGIES LLC
  • US11237760B2 patent drawing
  • US11237760B2 patent drawing
  • US11237760B2 patent drawing

AI summary

In one embodiment, an apparatus is provided. The apparatus includes a first interface configured to communicate with a computing device. The apparatus also includes a second interface configured to communicate with a data storage device. The apparatus further includes a processing device coupled to the first interface and the second interface. The processing device is configured to receive, from the computing device via the first interface, a request to measure a set of performance metrics for the data storage device. The processing device is also configured to identify a set of commands used to measure the set of performance metrics for the data storage device. The processing device is further configured to determine whether the set of commands has been performed by the data storage device. The processing device is further configured to determine the set of performance metrics based on a set of results for the set of commands in response to determining that the set of commands has been performed by the data storage device. The processing device is further configured to transmit the set of performance metrics to the computing device.