Store Queue Zombie Entries Extend Load Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processor cores with a no-write allocate cache policy, store misses can cause significant delays as loads must wait for stores to drain to the next level of cache, leading to inefficiencies, especially when store forwarding mechanisms are costly and not suited for all workload types.

Innovation Solution

The method extends store forwarding by maintaining zombie store entries in the store queue with a zombie stat bit, allowing these entries to be utilized by the processor core even after being drained to the L2 cache, and deallocating them as needed to accommodate newer stores, thus extending the window for load forwarding without adding expensive queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If store forwarding is implemented for cache misses, then load forwarding capability is improved, but device complexity and cost increase due to requiring additional queues

Engineering Contradiction:
Improveload forwarding capabilityVSAvoidqueue structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The store queue is enhanced with a zombie stat bit to serve dual purposes: it continues to handle normal store operations while also maintaining zombie store entries for extended store forwarding. This multi-functional approach enables load forwarding for cache misses without requiring separate dedicated queues, thus improving productivity while avoiding additional device complexity

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

Solution Approach 2:

The invention introduces a new parameter (zombie stat bit) to the existing store queue entries, transforming their state to indicate whether they are zombie stores. This parameter change allows the same hardware structure to support extended store forwarding functionality without physical expansion, resolving the contradiction between improved forwarding capability and device complexity

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If stores are drained to L2 cache immediately, then cache memory usage is optimized, but load forwarding window is reduced causing delays

Engineering Contradiction:
Improvecache memory usage efficiencyVSAvoidload forwarding delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary draining of stores to L2 cache while simultaneously maintaining zombie store entries in the store queue. This preliminary action allows L2 cache to be populated early, optimizing memory usage, while the zombie entries preserve the forwarding window for loads that may still need the data, thus reducing forwarding delays without sacrificing memory efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The zombie store entries act as an intermediary between the L2 cache and load instructions. Even after stores are drained to L2, the zombie entries in the store queue serve as a mediator that maintains the forwarding path, allowing loads to access data through the store queue without waiting for L2 cache operations, thereby reducing delays while maintaining efficient cache memory usage

Inventive Principle:
Principle #24Intermediary (Mediator)

3Duration of action of moving object

If zombie store entries are maintained in STQ, then store forwarding window is extended, but STQ resource availability for new stores is reduced

Engineering Contradiction:
Improvestore forwarding windowVSAvoidstore queue capacity
Core Design Contradiction:
Duration of action of moving objectVSQuantity of substance

Solution Approach 1:

The system implements a dynamic management strategy where zombie store entries are maintained only when beneficial for forwarding and are automatically discarded when the store queue needs capacity for new stores. The zombie stat bit enables selective retention and disposal of zombie entries, extending the forwarding window when resources are available while recovering queue capacity when needed, thus balancing forwarding duration with queue resource availability

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10223266B2Extended store forwarding for store misses without cache allocate
Publication Date: 2019.03.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10223266B2 patent drawing
  • US10223266B2 patent drawing
  • US10223266B2 patent drawing

AI summary

A load store unit (LSU) in a processor core detects that new data produced by the processor core is ready to be drained to an L2 cache. In response to the LSU detecting that an earlier version of the new data is not stored in L1 cache, a memory controller sends the new data as L1 cache missed data to a store queue (STQ), where the STQ makes data available for deallocation from the STQ to the L2 cache. In response to determining that there is no newer data waiting to be stored in the STQ, or no cache line invalidate to the line containing the store data in the STQ that misses the cache, the memory controller maintains the new data in the STQ with a zombie stat bit that indicates that the new data is a zombie store entry that can be utilized by the processor core.