US7366845B2

Pushing of clean data to one or more processors in a system having a coherency protocol

Summary by NHIP

Data push to processors

The method transmits a data push request to processors and a memory controller, then sets corresponding data to a clean state upon acceptance. The clean state is defined as a Shared state for write-back protocols or a Valid state for write-through protocols.

Claim Score by NHIP

Read claim 19, the broadest

Abstract

Techniques for pushing data to multiple processors in a clean state.

US7366845B2, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Expired 10 July 2025, 1.2 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

38 claims: 8 independent, 30 dependent

  1. 1
    A method comprising:transmitting to a plurality of processors and a memory controller, a request to push data from an agent external to the one or more processors;determining whether each of the processors and the memory controller has accepted the request;and if each of the processors and the memory controller have accepted the request, then for each processor having data corresponding to the data to be pushed from the agent, setting a state of the corresponding data to a clean state, if not already in a clean state, and overwriting the corresponding data with the data pushed from the agent.
  2. 10
    A system comprising:a plurality of processors;a memory controller;and a bus agent coupled with each of the plurality of processors and the memory controller to transmit to the plurality of processors and the memory controller a request to push data to at least one processor and to determine whether each of the plurality of processors and the memory controller receiving the request have accepted the request;wherein if each of the processors and the memory controller have accepted the request, then for each processor having data corresponding to the data to be pushed, the processor sets a state of the corresponding data to a clean state, if not already in a clean state, and overwrites the corresponding data with the pushed data.
  3. 12
    The system of 10 wherein the plurality of processors comprises a subset of processors in a multi-processor system.
  4. 19
    Broadest claimClaim Score 77, broad(NHIP)An agent in an electronic system comprising:a bus interface;control circuitry coupled with the bus interface to transmit a request to push data to a plurality of processors and a memory controller over the bus interface and to determine whether each of the processors and the memory controller have accepted the request, in response to each of the processors and the memory controller accepting the request, the control circuit causing data to be transmitted to each of the processors and to the memory controller with an indication to store the data in a clean state.
  5. 20
    The agent of 19 wherein at least one of the processors, after accepting the request, rejects the transmitted data.
  6. 21
    The agent of 19 wherein the plurality of processors comprises a subset of processors in a multi-processor system.
  7. 26
    An apparatus comprising:means for transmitting to a plurality of processors and a memory controller, a request to push data from an agent external to the one or more processors;means for determining whether each of the processors and the memory controller have accepted the request;means for setting a state of the corresponding data to a clean state, if not already in a clean state, in each processor having data corresponding to the data to be pushed from the agent, and means for overwriting the corresponding data with the data pushed from the agent if each of the processors and the memory controller have accepted the request;and means for storing the data pushed from the external agent in a clean state in each processor not having data corresponding to the data to be pushed from the agent if each of the processors and the memory controller have accepted the request.
  8. 31
    A system comprising:a substantially omni-directional antenna;at least one of a plurality of processors coupled with the antenna;and a bus agent coupled with the plurality of processors and a memory controller to transmit a request to push data to at least a subset of the processors and the memory controller and to determine whether each of the processors receiving the request have accepted the request;wherein if each of the processors and the memory controller have accepted the request, for each processor having data corresponding to the data to be pushed the processor, sets a state of the corresponding data to a clean state, if not already in a clean state, and overwrites the corresponding data with the pushed data and for each processor not having data corresponding to the data to be pushed, to store the pushed data in a clean state.