Memory Subsystem I/O Performance via In-System Empirical Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory subsystems face challenges in achieving optimal I/O performance as there is a tradeoff between performance, power consumption, and cost, with standard settings not providing the best solution for specific systems, and current methods do not dynamically adjust settings to balance I/O power, latency, and frequency effectively.

Innovation Solution

A test system that empirically tests and sets specific I/O performance parameters for memory devices within a memory subsystem, using a test engine to generate test traffic and measure operating margins, allowing for dynamic adjustment of settings to improve performance while maintaining compliance with minimum requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If I/O frequency is increased to improve performance, then I/O performance is improved, but power consumption increases

Engineering Contradiction:
ImproveI/O frequencyVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts I/O settings based on empirical testing results. The test system varies I/O parameters including frequency, voltage, and timing during testing, then uses the results to determine optimal runtime settings. This allows the system to operate at higher frequencies when possible while maintaining power efficiency through data-driven parameter selection rather than fixed conservative settings.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes physical or operational parameters (voltage, frequency, timing) of the I/O interface through systematic variation during testing. By testing multiple parameter combinations and measuring operating margins, the system identifies optimal parameter settings that achieve higher performance while controlling power consumption, rather than using single fixed settings.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If standard I/O settings are used to ensure compatibility across systems, then reliability is maintained, but optimal performance for specific systems cannot be achieved

Engineering Contradiction:
Improvesystem compatibilityVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The test system performs preliminary empirical testing during manufacturing or system setup to characterize the specific memory device and platform combination. By conducting comprehensive testing before the system is deployed, the optimal settings are determined in advance, allowing the system to achieve peak performance without compromising reliability. The test system varies parameters and measures operating margins to identify settings that work reliably for that specific configuration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses its own internal test capabilities to characterize and optimize its performance. The test system is integrated within the platform and uses existing resources (processor, memory, bus) to perform comprehensive testing without external equipment. This self-service approach allows each system to automatically determine its optimal settings based on its specific hardware characteristics, achieving both reliability and optimal performance.

Inventive Principle:
Principle #25Self-service

3Productivity

If comprehensive empirical testing is performed to determine optimal settings, then I/O performance is optimized, but testing time and complexity increase

Engineering Contradiction:
ImproveI/O performanceVSAvoidtesting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The test system is designed to perform multiple functions using existing platform resources. It leverages the processor, memory, and bus infrastructure already present in the system to conduct comprehensive testing. By making the test system multi-functional and integrating it with existing components, the solution avoids adding significant time overhead while achieving thorough empirical characterization of I/O performance.

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

4Speed

If I/O parameters are adjusted to reduce latency and increase frequency, then performance is improved, but compliance with minimum requirements may be compromised

Engineering Contradiction:
ImproveI/O frequency and latencyVSAvoidcompliance with minimum requirements
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The test system continuously measures operating margins during parameter variation and uses this feedback to determine safe operating settings. By monitoring whether performance characteristics meet minimum requirements at each tested parameter combination, the system identifies the highest possible frequency and lowest latency settings that still guarantee compliance. This feedback-driven approach ensures both performance optimization and requirement compliance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10446222B2Memory subsystem I/O performance based on in-system empirical testing
Publication Date: 2019.10.15 INTEL CORP
  • US10446222B2 patent drawing
  • US10446222B2 patent drawing
  • US10446222B2 patent drawing

AI summary

A memory subsystem empirically tests performance parameters of I/O with a memory device. Based on the empirical testing, the memory subsystem can set the performance parameters specific to the system in which the memory subsystem is included. A test system performs the testing. For each of multiple different settings for multiple different I/O circuit parameters, the test system sets a value for each I/O circuit parameter, generates test traffic to stress test the memory device with the parameter value(s), and measures an operating margin for the I/O performance characteristic. The test system further executes a search function to determine values for each I/O circuit parameter at which the operating margin meets a minimum threshold and performance of at least one of the I/O circuit parameters is increased. The memory subsystem sets runtime values for the I/O circuit parameters based on the search function.