← Back to Patent Explorer
US5467460A Expired / Lapsed US ⏱️ 0.0 years remaining

M&A for minimizing data transfer to main memory from a writeback cache during a cache miss

Assignee: Intel Corp
•
Filing: 1994-04-28
•
Granted: 1995-11-14
•
Expires: 2014-04-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A cache memory having at least two modified bits for each block of data coupled to a WriteBack buffer circuit is described for transferring a fraction of the data block when a cache miss occurs. In the preferred embodiment of the present invention, the data array of the data cache is partitioned into two halves, each block of data has two modified bits. When a cache miss occurs, a replacement algorithm determines which of the lines in a given set shall be replaced. The contents of the chosen line in the data cache is written, copied to a WriteBack buffer circuit. The line of data from external memory is then written into the data cache, clearing the two modified bits in the data cache in the process. If only one modified bit is set, only half of a block of data is written back into the data cache. Thus, the present invention minimizes the data transfer from a data cache during a cache miss by transferring only half a block of data when the required data from the external memory is less than half of a block of data in length.

Inventors

  • 👤 Piyush G. Patel

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 10:53
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0804

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 241 words
An apparatus comprising: a main memory for storing data; a writeback cache memory having s sets of cache lines for caching a subset of the data stored in main memory, s being greater than one, each set having w cache line(s), w being equal to or greater than one, each cache line having a cache line size of n1 bytes, each cache line being also divided in to m cache line segments of n2 bytes, each cache line further having a single address tag for all m cache line segments, and m modify bits corresponding to the m cache line segments individually denoting whether the corresponding cache line segments have been modified, n1, n2 and m being non-zero integers with n1=m×n2, and n2 and m are both greater than one; a plurality of write buffers coupled to the cache memory for buffering at least one cache line of data evicted out of the cache memory to make room in the cache memory for incoming replacement data responsive to cache misses; a bus coupled to the write buffers and the main memory for transferring the buffered data to the main memory in quantities of n3 bytes at a time, n2 being an integer multiple of n3; a bus controller coupled to the write buffers for controlling conditional partial write back of the buffered data for only those cache line segments whose corresponding modify bits denote the cache line segments having been modified.
Claim 2
Independent Claim 241 words
An apparatus comprising: a main memory for storing data; a writeback cache memory having s sets of cache lines for caching a subset of the data stored in main memory, s being greater than one, each set having w cache line(s), w being equal to or greater than one, each cache line having a cache line size of n1 bytes, each cache line being also divided in to m cache line segments of n2 bytes, each cache line further having a single address tag for all m cache line segments, and m modify bits corresponding to the m cache line segments individually denoting whether the corresponding cache line segments have been modified, n1, n2 and m being non-zero integers with n1=m×n2, and n2 and m are both greater than one; a plurality of write buffers coupled to the cache memory for buffering at least one cache line of data evicted out of the cache memory to make room in the cache memory for incoming replacement data responsive to cache misses; a bus coupled to the write buffers and the main memory for transferring the buffered data to the main memory in quantities of n3 bytes at a time, n2 being an integer multiple of n3; a bus controller coupled to the write buffers for controlling conditional partial write back of the buffered data for only those cache line segments whose corresponding modify bits denote the cache line segments having been modified.
Claim 3
Dependent Claim 38 words
The apparatus as set forth in claim 1, wherein, s equals one hundred and twenty eight (128); w equals two (2); n1 equals thirty-two (32); n2 equals sixteen (16); m equals two (2); and n3 equals eight (8).
Claim 4
Dependent Claim 245 words
A computer system comprising: a main memory for storing data; a cache memory having s sets of cache lines for caching a subset of the data stored in the main memory, s being greater than one, each set having w cache line(s), w being greater than or equal to one, each cache line having a cache line size of n1 bytes, each cache line being also divided in to m cache line segments of n2 bytes, each cache line further having a single address tag for all m cache segments and m modify bits corresponding to the m cache line segments individually denoting whether the corresponding cache line segments have been modified, n1, n2 and m being non-zero integers with n1=m×n2, and n2 and m are both greater than one; a plurality of write buffers coupled to the cache memory for buffering at least one cache line of data being evicted out of the cache memory to make room in the cache memory for incoming replacement data responsive to cache misses; a bus coupled to the write buffers and the main memory for transferring the buffered data to the main memory in quantities of n3 bytes at a time, n2 being a greater than one integer multiple of n3; a bus controller coupled to the write buffers for controlling conditional partial write back of the buffered data for only those cache line segments whose corresponding modify bits denote the cache line segments having been modified.
Claim 5
Dependent Claim 245 words
A computer system comprising: a main memory for storing data; a cache memory having s sets of cache lines for caching a subset of the data stored in the main memory, s being greater than one, each set having w cache line(s), w being greater than or equal to one, each cache line having a cache line size of n1 bytes, each cache line being also divided in to m cache line segments of n2 bytes, each cache line further having a single address tag for all m cache segments and m modify bits corresponding to the m cache line segments individually denoting whether the corresponding cache line segments have been modified, n1, n2 and m being non-zero integers with n1=m×n2, and n2 and m are both greater than one; a plurality of write buffers coupled to the cache memory for buffering at least one cache line of data being evicted out of the cache memory to make room in the cache memory for incoming replacement data responsive to cache misses; a bus coupled to the write buffers and the main memory for transferring the buffered data to the main memory in quantities of n3 bytes at a time, n2 being a greater than one integer multiple of n3; a bus controller coupled to the write buffers for controlling conditional partial write back of the buffered data for only those cache line segments whose corresponding modify bits denote the cache line segments having been modified.
Claim 6
Dependent Claim 39 words
The computer system as set forth in claim 3, wherein, s equals one hundred and twenty eight (128); w equals two (2); n1 equals thirty-two (32); n2 equals sixteen (16); m equals two (2); and n3 equals eight (8).

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-11-13 1999-05-15 1999-11-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-11-13 2003-05-15 2003-11-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-11-13 2007-05-15 2007-11-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag