Claims
- 1. A memory system, comprising:
- a main memory controller for supplying data in response to transactions received by said main memory controller;
- a plurality of modules, each of said modules having a cache memory for storing data supplied to each of said modules by said main memory controller, each of said modules requesting data from said main memory controller by sending module generated transactions to said main memory controller; and
- a cache tag array coupled to said main memory controller, said cache tag array including a cache tag corresponding to each data line stored in one of said cache memories of said modules, there being a one-to-one correspondence between said cache tags and said data lines, said cache tag specifying the module that most recently requested said data line corresponding to said cache tag from said main memory controller independent of whether or not a previous request for said data line has been completed.
- 2. The memory system of claim 1, wherein said cache tag array includes information specifying the cache coherency status of each of said data lines that is stored in one of said cache memories.
- 3. The memory system of claim 1, wherein said memory controller sends a controller generated transaction requesting one of said data lines to one of said modules when said module receiving said controller generated transaction has a private copy of said data line and said data line has been requested by another of said modules, said controller generated transaction identifying said requested data line and said module requesting said data line, said module receiving said controller generated transaction returning said data line and a code identifying said module requesting said data line to said memory controller in a module generated transaction, and wherein said main memory controller directs said data line received in one of said module generated transactions to said module identified by said code when said memory controller receives data line from one of said modules in response to one of said controller generated transactions.
- 4. The memory system of claim 3, wherein said main memory controller, upon receipt of a transaction requesting a data line that is held private in a cache memory of a module, sends a data return transaction to said module causing said module to return said data line to said main memory controller, and said main memory controller thereafter sends said data line to said destination module, wherein said data return transaction includes said destination encoding and said data line is returned to said main memory controller with said destination encoding, and, wherein when one of said modules receives one of said controller generated transactions requesting one of said data lines before said module receives said data line requested in said controller generated transaction, said module is allowed to use said data line once upon receipt of said data line prior to responding to said controller generated transaction requesting said data line.
Parent Case Info
This is a continuation of application Ser. No. 08/621,318 filed on Mar. 25, 1996, now abandoned, which is a continuation of application Ser. No. 08/236,541 filed on May 3, 1994, now abandoned.
US Referenced Citations (13)
Non-Patent Literature Citations (1)
Entry |
C. K. Tang, Cache System Design in The Tightly Coupled Multiprocessor System, Jun. 1976, pp. 749-753. |
Continuations (2)
|
Number |
Date |
Country |
Parent |
621318 |
Mar 1996 |
|
Parent |
236541 |
May 1994 |
|