Dedicated I/O Cache Circular Data Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing devices experience latency issues due to the need to read and write input/output (I/O) data from memory to the processor cache, which degrades performance by introducing additional processing delays.

Innovation Solution

Implementing a dedicated I/O cache for I/O-to-processor communications, where data is written sequentially in a circular manner, allowing for quick access by the processor without the need for a read operation, and using phase bits to manage data validity and overwrite conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in memory and read into processor cache, then data can be accessed by the processor, but latency is introduced that degrades performance

Engineering Contradiction:
Improvedata access speedVSAvoidprocessing latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements a dedicated I/O cache that pre-stores I/O data in a specialized buffer before the processor needs it. This preliminary action eliminates the need for data to be read from general-purpose memory into the processor cache, as the data is already positioned in the I/O cache ready for immediate access, thus reducing processing latency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a dedicated I/O cache as an intermediary component between I/O devices and the processor. This intermediary structure serves as a specialized buffer that directly receives I/O data and makes it immediately accessible to the processor, eliminating the need for data to traverse through general-purpose memory and standard cache hierarchies

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is deleted from processor cache after processing, then cache space is freed, but additional latency is introduced when data must be retrieved again

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoiddata retrieval latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The dedicated I/O cache maintains data in a pre-positioned state ready for processor access. When the processor completes processing, the data remains in the I/O cache structure, allowing for immediate re-access without requiring retrieval from general-purpose memory, thus eliminating the latency penalty associated with cache deletion and re-retrieval

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If a dedicated I/O cache is implemented, then data access latency is reduced, but device complexity increases

Engineering Contradiction:
ImproveI/O processing latencyVSAvoidmemory hierarchy complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the memory hierarchy by creating a dedicated I/O cache that is separate from general-purpose memory and the standard processor cache. This segmentation allows I/O data to be handled through a specialized path, reducing latency for I/O operations while maintaining the existing memory structure for other purposes, thus managing complexity through functional separation

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11182103B1Dedicated communications cache
Publication Date: 2021.11.23 AMAZON TECH INC
  • US11182103B1 patent drawing
  • US11182103B1 patent drawing
  • US11182103B1 patent drawing

AI summary

A dedicated input/output (I/O) cache can be used for I/O-to-processor communications. Data received from an I/O device can be written to the I/O cache and also written to a device memory that is accessible to the processor. The processor can then access the data in the fast, dedicated I/O cache if available. Otherwise, the processor can read the data from the memory into a conventional processor cache for processing. Writes to the cache can be full or partial, with partial writes utilizing padding in some embodiments. The data can be written sequentially in a circular manner. Data processed by the processor can be invalidated, and invalidated data can be overwritten on a subsequent write. Phase bits can also be used to indicate the pass during which various writes were performed.