Claims
- 1. A data structure comprising:
a plurality of data bits representing a line of memory, wherein the data bits are divided into a plurality of data chunks, each of the data chunks including at least an error correction code portion and a data portion; and a first chunk of said plurality of data chunks having a tag portion, wherein said tag portion includes tag information for the entire line of memory, and wherein subsequent ones of said data chunks do not include tag information.
- 2. The data structure of claim 1 wherein each said error correction code portion comprises error correction information that is specific to the data chunk in which it is included.
- 3. The data structure of claim 1 wherein the size of each of said plurality of data chunks is adapted to be read by a cache coherency controller in one clock cycle.
- 4. The data structure of claim 1 comprising:
four data chunks, each data chunk including nine bits of error correction information; a first of said four data chunks further including 28 bits of error correction and 107 bits of data information; and three of said four data chunks further including 135 bits of data information.
- 5. The data structure of claim 1 comprising 576 bits of memory line information, including 28 bits of tag information, 36 bits of error correction information and 512 bits of data information.
- 6. A method for processing data from a cache memory line comprising:
separating said data from the cache memory line into a plurality of chunks; adding tag information to a first of said plurality of chunks, wherein said tag information is useable to resolve contentions for the cache memory line and wherein no tag information is added to any other of said plurality of chunks; adding error correction information to each of said chunks; and transferring said plurality of chunks to a cache coherency controller, wherein said first of said plurality of chunks is transferred before any other chunks associated with said cache memory line.
- 7. The method of claim 6 further comprising:
receiving said first of said plurality of chunks at said cache coherency controller; performing calculations for error detection on said first chunk using said error correction information, wherein said calculations are preformed before receiving all of said plurality of chunks at said cache coherency controller; and identifying cache line contentions using said tag information.
- 8. The method of claim 7 further comprising:
detecting an error in said first chunk using error correction information that was added to said first chunk; correcting said error using said error correction information added to said first chunk; and stripping said error correction information from the first chunk.
- 9. The method of claim 6 further comprising:
transferring said plurality of chunks on a 72 bit data bus; and transferring said plurality of chunks in two clock cycles.
- 10. The method of claim 6 wherein said cache memory line data is divided into four chunks, each of said four chunks having nine bits of error correction information, and wherein a first of said four chunks of data includes 28 bits of tag information.
- 11. A memory system comprising:
a main memory controller for supplying data in response to transactions received by said main memory controller; a plurality of data bits representing a line of memory, wherein the data bits are divided into a plurality of data chunks, each of the data chunks including at least an error correction code portion and a data portion; and a first chunk of said plurality of data chunks having a tag portion, wherein said tag portion includes tag information for the entire line of memory, and wherein subsequent ones of said data chunks do not include tag information.
- 12. The memory system of claim 11 wherein each said error correction code portion comprises error correction information that is specific to the data chunk in which it is included.
- 13. The memory system of claim 11 wherein the size of each of said plurality of data chunks is adapted to be read by a cache coherency controller in one clock cycle.
- 14. The memory system of claim 11 wherein said data bits are divided into four data chunks, each data chunk including nine bits of error correction information; and wherein a first of said four data chunks further including 28 bits of error correction and 107 bits of data information; and three of said four data chunks further including 135 bits of data information.
- 15. The memory system of claim 11 wherein said memory line data bits comprise 576 bits of information, including 28 bits of tag information, 36 bits of error correction information and 512 bits of data information.
- 16. A computer program product for processing data from a cache memory line comprising computer-readable code stored on computer-readable medium, said computer program comprising:
code for separating said data from the cache memory line into a plurality of chunks; code for adding tag information to a first of said plurality of chunks, wherein said tag information is useable to resolve contentions for the cache memory line and wherein no tag information is added to any other of said plurality of chunks; code for adding error correction information to each of said chunks; and code for transferring said plurality of chunks to a cache coherency controller, wherein said first of said plurality of chunks is transferred before any other chunks associated with said cache memory line.
- 17. The computer program product of claim 16 further comprising:
code for receiving said first of said plurality of chunks at said cache coherency controller; code for performing calculations for error detection on said first chunk using said error correction information, wherein said calculations are preformed before receiving all of said plurality of chunks at said cache coherency controller; and code for identifying cache line contentions using said tag information.
- 18. The computer program product of claim 17 further comprising:
code for detecting an error in said first chunk using error correction information that was added to said first chunk; code for correcting said error using said error correction information added to said first chunk; and code for stripping said error correction information from the first chunk.
- 19. The computer program product of claim 16 further comprising:
code for transferring said plurality of chunks on a 72 bit data bus; and code for transferring said plurality of chunks in two clock cycles.
- 20. The computer program product of claim 16 wherein said cache memory line data is divided into four chunks, each of said four chunks having nine bits of error correction information, and wherein a first of said four chunks of data includes 28 bits of tag information.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of pending U.S. patent application Ser. No. 09/562,592, filed Apr. 29, 2000, entitled “ARRANGEMENT OF DATA WITHIN CACHE LINES SO THAT TAGS ARE FIRST DATA RECEIVED.”
Continuations (1)
|
Number |
Date |
Country |
Parent |
09562592 |
Apr 2000 |
US |
Child |
10226418 |
Aug 2002 |
US |