Prefetch Control Unit for Serial Bus Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrated circuits with serial interfaces face performance degradation due to violations of timing constraints in serial message protocols, particularly when accessing slow data storage units, leading to extended data transfer times, NACK signals, or clock stretching, which slow down the entire system.

Innovation Solution

The integrated circuit employs a prefetch control unit and data cache to detect data addresses on the serial bus, prefetching data from target storage units when necessary, and storing it in the cache for immediate retrieval, thereby reducing the likelihood of failed or slow read accesses and optimizing bandwidth and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is read directly from slow data storage units during serial bus communication, then data access is performed, but timing constraints of the serial message protocol are violated

Engineering Contradiction:
Improvetiming constraint complianceVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements a prefetch mechanism that reads data from slow data storage units in advance before the actual read request is processed on the serial bus. The prefetch control unit initiates data retrieval operations提前, storing data in a buffer or cache so that when a read request arrives, the data is already available, thus meeting the timing constraints of the serial message protocol without being limited by the slow access speed of the original storage units.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If wait state mechanism is used to extend data transfer on external serial bus, then timing constraints are met, but system performance deteriorates

Engineering Contradiction:
Improvetiming constraint complianceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of using wait states that idle the system, the patent proactively prefetches data in advance during available time periods. This eliminates the need for wait states during actual data transfer operations, as data is already prepared in the buffer. The system remains productive throughout by continuously performing useful prefetch operations rather than entering idle wait states.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The prefetch mechanism enables continuous useful action by keeping the data storage and retrieval operations ongoing in the background. While the serial interface handles communication, the prefetch control unit continuously monitors and initiates data prefetching operations, ensuring that data is always ready when needed without interrupting the main communication flow with wait states.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If clock stretching or NACK signal is used to handle slow read access, then timing constraints are satisfied, but overall system speed is reduced

Engineering Contradiction:
Improvetiming constraint complianceVSAvoidsystem speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent prevents the need for clock stretching or NACK signals by prefetching data in advance. The prefetch control unit ensures that data is loaded into the buffer before the read request is due, so the serial interface can immediately transmit data without needing to stretch the clock or send NACK signals. This maintains the natural timing rhythm of the serial communication while ensuring data availability.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If data is prefetched from target data storage unit and stored in data cache, then data availability is improved, but additional read operations are required

Engineering Contradiction:
Improvedata access timeVSAvoidread operation count
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The prefetch operation performs the read action in advance during time when it would otherwise be idle or when data is not immediately needed. Although this adds a read operation, it is executed proactively rather than reactively, transforming a potential timing-critical read into a non-critical background operation. The net effect is reducing the time loss during actual communication by eliminating wait states or re-reads.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a buffer or cache as an intermediary between the slow data storage units and the serial interface. This intermediary layer stores prefetched data, allowing the serial interface to read from the fast buffer rather than directly from the slow storage units. The additional read operation is offset by the fact that the intermediary provides fast access, reducing the overall time loss and eliminating the need for repeated read operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10248589B2Integrated circuit with a serial interface
Publication Date: 2019.04.02 DIALOG SEMICONDUCTOR (UK) LTD
  • US10248589B2 patent drawing
  • US10248589B2 patent drawing
  • US10248589B2 patent drawing

AI summary

An integrated circuit coupled to an external serial bus is presented. A method for prefetching data from an external serial bus is presented. The integrated circuit comprises a serial interface, a data cache, and a prefetch control unit. The serial interface detects a data address on the serial bus and reads data elements from data storage units. The data storage units may be internal or external to the integrated circuit. The data cache is coupled to the serial interface via an internal bus. The prefetch control unit instructs the serial interface to prefetch a data element associated with the data address by reading the data element from a target data storage unit associated with the data address. The data element and the data address are written to the data cache. When a read request is detected, the data element can be quickly accessed from the data cache.