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

Distributed cache in dynamic rams

Assignee: International Business Machines Corp
•
Filing: 1984-09-18
•
Granted: 1988-02-16
•
Expires: 2004-09-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A microcomputer memory system is organized into a plurality of banks (16). Each back consists of an array of static column mode dynamic random access memories (DRAMs) of the type having an on-chip static buffer for storing an entire row. The static buffers associated with each bank functions as a distributed cache (24) to hold the last accessed row for the associated bank. A memory controller (18) receives real addresses from a CPU (10) or other device on the memory bus (14) and extracts bank and row numbers from the address. The memory controller determines whether the accessed row for a memory bank is in the distributed cache and, if it is, accesses the distributed cache for that bank. Otherwise, the memory controller switches the contents of the distributed cache with the contents of the addressed row for that bank.

Inventors

  • 👤 Eric P. Kronstadt
  • 👤 Sharad P. Gandhi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 22:32
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0893

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 416 words
A computer memory system comprising: a plurality of memory chips organized into a plurality of banks, each memory chip having a matrix of m rows by n columns of memory cells accessed by a row address select signal and a row number address, each bank consisting of an array of static column mode dynamic random access memory chips of the type having an on-chip static buffer for storing an entire row of data of a corresponding row in said memory cell matrix accessed by the row address select signal and a row number address, the static buffers associated with each bank functioning as a distributed cache to hold the last accessed row for the associated bank, the data in the distributed cache corresponding to one of said plurality of banks being accessed by a column address select signal and a column address for that bank; and a memory controller included in said computer memory system for receiving real addresses and connected to the memory banks to access the dynamic random access memory chips for read and write and refresh operations, said memory controller including: refresh means for periodically refreshing said dynamic random access memory chips, table means for maintaining first and second fields, said first field containing the number of the row which is currently in the distributed cache for each bank and said second field containing valid entry flags for the distributed cache of each bank, said valid entry flags being set to valid for a bank when a row of data is read into the distributed cache in response to a row address select signal and a row number address and being set to invalid after power-on and following a refresh operation in a bank, and accessing means for receiving real addresses and accessing the dynamic random access memory chips for read and write operations, said accessing means extracting bank and row numbers from an address and if an accessed row for that bank is in the distributed cache as indicated by said first field with a valid entry flag set in said second field of said table means, generating a column address and activating the column address select signal for that bank, otherwise inactivating and then activating again the row address select signal for that bank with the row number of a new address to write back the distributed cache contents into the dynamic random access memory cell matrix and load a new row of data for that bank into the distributed cache.
Claim 2
Dependent Claim 416 words
A computer memory system comprising: a plurality of memory chips organized into a plurality of banks, each memory chip having a matrix of m rows by n columns of memory cells accessed by a row address select signal and a row number address, each bank consisting of an array of static column mode dynamic random access memory chips of the type having an on-chip static buffer for storing an entire row of data of a corresponding row in said memory cell matrix accessed by the row address select signal and a row number address, the static buffers associated with each bank functioning as a distributed cache to hold the last accessed row for the associated bank, the data in the distributed cache corresponding to one of said plurality of banks being accessed by a column address select signal and a column address for that bank; and a memory controller included in said computer memory system for receiving real addresses and connected to the memory banks to access the dynamic random access memory chips for read and write and refresh operations, said memory controller including: refresh means for periodically refreshing said dynamic random access memory chips, table means for maintaining first and second fields, said first field containing the number of the row which is currently in the distributed cache for each bank and said second field containing valid entry flags for the distributed cache of each bank, said valid entry flags being set to valid for a bank when a row of data is read into the distributed cache in response to a row address select signal and a row number address and being set to invalid after power-on and following a refresh operation in a bank, and accessing means for receiving real addresses and accessing the dynamic random access memory chips for read and write operations, said accessing means extracting bank and row numbers from an address and if an accessed row for that bank is in the distributed cache as indicated by said first field with a valid entry flag set in said second field of said table means, generating a column address and activating the column address select signal for that bank, otherwise inactivating and then activating again the row address select signal for that bank with the row number of a new address to write back the distributed cache contents into the dynamic random access memory cell matrix and load a new row of data for that bank into the distributed cache.
Claim 3
Dependent Claim 54 words
The computer memory system as recited in claim 1 wherein said memory chips are MK by N memory chips, where MK is the nominal number of bits in the memory cell matrix and N is a number greater than I and is a multiplier for the number of rows in the memory chip organization.
Claim 4
Dependent Claim 64 words
The computer memory system as recited in claim 2 wherein MK is 64K, or 256 by 256 bits, and N is 4, or 4 times 256 rows for each memory chip, said memory system having 16 banks of memory chips with each bank containing 64K words, or 256K bytes, of data, to provide a total of 4K words, or 16K bytes, of distributed cache.
Claim 5
Independent Claim 375 words
A method of operating a computer memory system comprising a plurality of memory chips organized into a plurality of banks, each memory chip having a matrix of m rows by n columns of memory cells accessed by a row address select signal and a row number address, each bank consisting of an array of static column mode dynamic random access memory chips of the type having an on-chip static buffer for storing an entire row of data of a corresponding row in said memory cell matrix accessed by the row address select signal and a row number address, said method comprising the steps of: using the static buffers associated with each bank as a distributed cache to hold the last accessed row for the associated bank; accessing the data in the distributed cache corresponding to one of said plurality of banks by a column address select signal and a column address for that bank; periodically refreshing said dynamic random access memory chips; maintaining a table having first and second fields, said first field containing the number of the row which is currently in the distributed cache for each bank and said second field containing valid entry flags for the distributed cache for each bank, said valid entry flags being set to valid for the bank when a row of data is read into the distributed cache in response to a row address select signal and a row number address and being set to invalid after power-on and following a refresh operation in a bank; and receiving a real address for accessing the dynamic random access memory chips for read and write operations by extracting bank and row numbers for an address and if an accessed row for that bank is in the distributed cache as indicated by said first field with a valid entry flag set in said second field then generating a column address and activating the column address signal for that bank, otherwise inactivating and then activating again the row address select signal for that bank with the row number of a new address to write back the distributed cache contents into the dynamic random access memory cell matrix and load a new row of data for that bank into the distriburted cache.
Claim 6
Independent Claim 375 words
A method of operating a computer memory system comprising a plurality of memory chips organized into a plurality of banks, each memory chip having a matrix of m rows by n columns of memory cells accessed by a row address select signal and a row number address, each bank consisting of an array of static column mode dynamic random access memory chips of the type having an on-chip static buffer for storing an entire row of data of a corresponding row in said memory cell matrix accessed by the row address select signal and a row number address, said method comprising the steps of: using the static buffers associated with each bank as a distributed cache to hold the last accessed row for the associated bank; accessing the data in the distributed cache corresponding to one of said plurality of banks by a column address select signal and a column address for that bank; periodically refreshing said dynamic random access memory chips; maintaining a table having first and second fields, said first field containing the number of the row which is currently in the distributed cache for each bank and said second field containing valid entry flags for the distributed cache for each bank, said valid entry flags being set to valid for the bank when a row of data is read into the distributed cache in response to a row address select signal and a row number address and being set to invalid after power-on and following a refresh operation in a bank; and receiving a real address for accessing the dynamic random access memory chips for read and write operations by extracting bank and row numbers for an address and if an accessed row for that bank is in the distributed cache as indicated by said first field with a valid entry flag set in said second field then generating a column address and activating the column address signal for that bank, otherwise inactivating and then activating again the row address select signal for that bank with the row number of a new address to write back the distributed cache contents into the dynamic random access memory cell matrix and load a new row of data for that bank into the distriburted cache.

References Cited (Backward Citations)

US3969706A Cited
US4596001A Cited
US4581722A Cited
US4584672A Cited
US4561702A Cited
US4577293A Cited
US4630240A Cited
US4658382A Cited
US4601018A Cited
US4649522A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1991-02-15 1991-08-17 1992-02-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1995-02-15 1995-08-17 1996-02-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1999-02-15 1999-08-17 2000-02-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag