×

Block replacement method in cache only memory architecture multiprocessor

  • US 5,692,149 A
  • Filed: 03/16/1995
  • Issued: 11/25/1997
  • Est. Priority Date: 03/16/1995
  • Status: Expired due to Term
First Claim
Patent Images

1. An improved block replacement method for use in a bus-based multiprocessor employing cache only memory architecture, the multiprocessor including a multiplicity of processing nodes connected via a system bus, each processing node having a cache memory contained in a processing block and a local memory for storing data decomposed into a plurality of blocks, the local memory acting as a cache with no backing main memory provided in the multiprocessor, the method being invoked when a block in the local memory of a first processing node in the multiprocessor is to be replaced to make a space for an incoming block supplied via the system bus from the local memory of a second processing node in the multiprocessor, the method comprising the steps of:

  • (a) managing blocks in the local memory by using information on block states, each block state for denoting a current state of each block stored in the local memory, the block states containing;

    an invalid state in which the block is not a current copy,an exclusive state in which the block is the only valid copy in the multiprocessor,a shared state in which the block is a valid copy, and at least one other valid copy exists in the system, anda shared owner state in which the block of a processing node carries with it a responsibility for supplying its copy to another processing node upon receiving an access request for the block from said another processing node;

    (b) if the block of the first processing node is in the invalid state, or in the shared state, overwriting the block of the first processing node with the incoming block from the second processing node;

    (c) if the block of the first processing node is in the exclusive state, or in the shared owner state, relocating the block of the first processing node to a third processing node in the multiprocessor, selected in accordance with a predetermined priority scheme, and then overwriting the block of the first processing node with the incoming block from the second processing node; and

    (d) if the third processing node cannot be determined among the processing nodes in the multiprocessor with the predetermined priority scheme in step (c), swapping the block of the first processing node for the incoming block from the second processing node.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×