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

High-performance, multi-bank global memory card for multiprocessor systems

Assignee: International Business Machines Corp
•
Filing: 1994-06-22
•
Granted: 1995-10-31
•
Expires: 2014-06-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A multi-bank global memory system (GMS) for use with a multiprocessor computer system having a global bus. The GMS includes up to four global memory cards (GMCs) connected to the global bus. The GMCs are independently accessed. Each of the GMCs includes a common interface for buffering memory accesses and read reply data. Each of the GMCs also includes four memory banks. The common interface and memory banks are connected via a local bus. The memory banks are interleaved and are independently scheduled and accessed. The common interface and memory banks are each capable of performing posted write cycles and independently supplying read reply data subsequent to read requests. The common interface is capable of buffering, simultaneously, up to 8 writes per bank and 8 read replies per bank.

Inventors

  • 👤 Daniel P. Dumarot
  • 👤 Armando Garcia

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 12:10
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/16; G06F13/1605; G06F13/1652; G06F13/1663; G06F12/00; G06F12/02; G06F12/06; G06F12/0607; G06F13/1647

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 332 words
A multi-level memory system used in a multiprocessor computer system having a global bus and a plurality of processors coupled to said global bus, said memory system comprising: a plurality of memory cards coupled to the global bus, wherein said memory cards are accessed and operate independently of one another, each of said memory cards comprising: (1) interface means coupled to the global bus, wherein said interface means includes means for buffering memory access requests and data received from said processors via said global bus; (2) a local bus coupled to said interface means; and (3) multiple interleaved memory banks coupled to said local bus, wherein said memory banks are accessed and operate independently of one another, each of said memory banks comprising: (a) memory means for storing data; (b) means for sending a READY signal to said interface means when said each of said memory banks is ready to receive a memory access request; (c) means for receiving from said interface means via said local bus a memory access request addressed to said each of said memory banks; (d) means for accessing said memory means as specified by said memory access request received from said interface means to retrieve data from said memory means; and (e) means for transferring said data retrieved from said memory means to said interface means via said local bus; wherein said interface means comprises: (a) means for transferring a memory access request to one of said memory banks independent of any past transfers of memory access requests to any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks; and (b) means for receiving data from said one of said memory banks independent of any past transfers of memory access requests from said interface means to said any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks.
Claim 2
Dependent Claim 332 words
A multi-level memory system used in a multiprocessor computer system having a global bus and a plurality of processors coupled to said global bus, said memory system comprising: a plurality of memory cards coupled to the global bus, wherein said memory cards are accessed and operate independently of one another, each of said memory cards comprising: (1) interface means coupled to the global bus, wherein said interface means includes means for buffering memory access requests and data received from said processors via said global bus; (2) a local bus coupled to said interface means; and (3) multiple interleaved memory banks coupled to said local bus, wherein said memory banks are accessed and operate independently of one another, each of said memory banks comprising: (a) memory means for storing data; (b) means for sending a READY signal to said interface means when said each of said memory banks is ready to receive a memory access request; (c) means for receiving from said interface means via said local bus a memory access request addressed to said each of said memory banks; (d) means for accessing said memory means as specified by said memory access request received from said interface means to retrieve data from said memory means; and (e) means for transferring said data retrieved from said memory means to said interface means via said local bus; wherein said interface means comprises: (a) means for transferring a memory access request to one of said memory banks independent of any past transfers of memory access requests to any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks; and (b) means for receiving data from said one of said memory banks independent of any past transfers of memory access requests from said interface means to said any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks.
Claim 3
Dependent Claim 43 words
The memory system of claim 1, wherein said interface means further comprises: means for requesting the global bus; and means for transferring data stored in said interface means to a memory access requestor via the global bus once the global bus is granted.
Claim 4
Dependent Claim 26 words
The memory system of claim 1, wherein said interface means further comprises: means for performing error detection and correction of data stored in said interface means.
Claim 5
Dependent Claim 44 words
The memory system of claim 3, wherein said means for performing error detection and correction comprises: means for calculating error correction codes during write operations; means for verifying said error correction codes during read operations; and means for correcting errors during said read operations.
Claim 6
Dependent Claim 20 words
The memory system of claim 1, wherein said interface means further comprises: means for locking memory in said memory means.
Claim 7
Dependent Claim 84 words
The memory system of claim 5, wherein said means for locking memory comprises: means for locking a memory location when a memory access requestor reads said memory location with a lock bit set; means for allowing said memory access requestor to access said locked memory location; means for prohibiting access to said locked memory location by other memory access requestors; and means for unlocking said locked memory location when said memory access requestor writes to said locked memory location with said lock bit set.
Claim 8
Dependent Claim 55 words
The memory system of claim 5, wherein said means for locking memory comprises means for locking a memory location by performing an indivisible test-and-set operation on said memory location when a memory access requestor reads said memory location with a lock bit set, wherein said memory location is automatically unlocked when said test-and-set operation completes.
Claim 9
Dependent Claim 58 words
The memory system of claim 1, wherein said means for accessing said memory means comprises: means for using a random access mode to access said memory means when consecutive memory access requests have different row addresses; and means for using a page mode to access said memory means when said consecutive memory access requests have common row addresses.
Claim 10
Dependent Claim 54 words
The memory system of claim 1, wherein said means for transferring said retrieved data from said memory means to said interface means comprises: means for requesting said local bus; and means for transferring said retrieved data from said memory means to said interface means via said local bus once said local bus is granted.
Claim 11
Dependent Claim 56 words
The memory system of claim 1, further comprising: self-configuration means for automatically configuring said memory system, said self-configuration means comprising: 1. means for determining an interleave factor of said memory system; 2. means for determining a memory capacity of said memory system; and 3. means for determining an address space for each of said memory cards.
Claim 12
Dependent Claim 21 words
The memory system of claim 1, wherein said memory means comprises a dynamic random access memory having a page access mode.
Claim 13
Dependent Claim 45 words
The memory system of claim 1, wherein each of said memory banks further comprises: means for scheduling memory access requests stored in said register means for processing, wherein scheduling of said memory access requests for processing is performed independently of other of said memory banks.
Claim 14
Dependent Claim 318 words
A computer system comprising: (1) a global bus; (2) a plurality of processors coupled to said global bus; and (3) a shared memory subsystem comprising one or more memory cards coupled to said global bus, wherein said memory cards are independently operated and accessed, each of said memory cards comprising: (a) interface means coupled to said global bus, said interface means including means for buffering memory access requests and data received from said processors via said global bus; (b) a local bus coupled to said interface means; and (c) multiple interleaved memory banks coupled to said local bus, wherein said memory banks are accessed and operated independently of one another, each of said memory banks comprising: memory means for storing data; means for sending a READY signal to said interface means when said each of said memory banks is ready to receive a memory access request; means for receiving from said interface means via said local bus a memory access request addressed to said each of said memory banks; means for accessing said memory means as specified by said memory access request received from said interface means to retrieve data from said memory means; and means for transferring said data retrieved from said memory means to said interface means via said local bus; wherein said interface means comprises: means for transferring a memory access request to one of said memory banks independent of any past transfers of memory access requests to any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks; and means for receiving data from said one of said memory banks independent of any past transfers of memory access requests from said interface means to said any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks.
Claim 15
Dependent Claim 318 words
A computer system comprising: (1) a global bus; (2) a plurality of processors coupled to said global bus; and (3) a shared memory subsystem comprising one or more memory cards coupled to said global bus, wherein said memory cards are independently operated and accessed, each of said memory cards comprising: (a) interface means coupled to said global bus, said interface means including means for buffering memory access requests and data received from said processors via said global bus; (b) a local bus coupled to said interface means; and (c) multiple interleaved memory banks coupled to said local bus, wherein said memory banks are accessed and operated independently of one another, each of said memory banks comprising: memory means for storing data; means for sending a READY signal to said interface means when said each of said memory banks is ready to receive a memory access request; means for receiving from said interface means via said local bus a memory access request addressed to said each of said memory banks; means for accessing said memory means as specified by said memory access request received from said interface means to retrieve data from said memory means; and means for transferring said data retrieved from said memory means to said interface means via said local bus; wherein said interface means comprises: means for transferring a memory access request to one of said memory banks independent of any past transfers of memory access requests to any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks; and means for receiving data from said one of said memory banks independent of any past transfers of memory access requests from said interface means to said any others of said memory banks and independent of processing of any memory access requests previously transferred to said any others of said memory banks.
Claim 16
Dependent Claim 43 words
The computer system of claim 13, wherein said interface means further comprises: means for requesting said global bus; and means for transferring data stored in said interface means to a memory access requestor via said global bus once said global bus is granted.
Claim 17
Dependent Claim 26 words
The computer system of claim 13, wherein said interface means further comprises: means for performing error detection and correction of data stored in said interface means.
Claim 18
Dependent Claim 44 words
The computer system of claim 15, wherein said means for performing error detection and correction comprises: means for calculating error correction codes during write operations; means for verifying said error correction codes during read operations; and means for correcting errors during said read operations.
Claim 19
Dependent Claim 20 words
The computer system of claim 13, wherein said interface means further comprises: means for locking memory in said memory means.
Claim 20
Dependent Claim 84 words
The computer system of claim 17, wherein said means for locking memory comprises: means for locking a memory location when a memory access requestor reads said memory location with a lock bit set; means for allowing said memory access requestor to access said locked memory location; means for prohibiting access to said locked memory location by other memory access requestors; and means for unlocking said locked memory location when said memory access requestor writes to said locked memory location with said lock bit set.
Claim 21
Dependent Claim 55 words
The computer system of claim 17, wherein said means for locking memory comprises means for locking a memory location by performing an indivisible test-and-set operation on said memory location when a memory access requestor reads said memory location with a lock bit set, wherein said memory location is automatically unlocked when said test-and-set operation completes.
Claim 22
Dependent Claim 58 words
The computer system of claim 13, wherein said means for accessing said memory means comprises: means for using a random access mode to access said memory means when consecutive memory access requests have different row addresses; and means for using a page mode to access said memory means when said consecutive memory access requests have common row addresses.
Claim 23
Dependent Claim 54 words
The computer system of claim 13, wherein said means for transferring said data retrieved from said memory means to said interface means comprises: means for requesting said local bus; and means for transferring said data retrieved from said memory means to said interface means via said local bus once said local bus is granted.
Claim 24
Dependent Claim 61 words
The computer system of claim 13, wherein said shared memory subsystem further comprises: self-configuration means for automatically configuring said shared memory subsystem, said self-configuration means comprising: means for determining an interleave factor of said shared memory subsystem; means for determining a memory capacity of said shared memory subsystem; and means for determining an address space for each of said memory cards.
Claim 25
Dependent Claim 21 words
The computer system of claim 13, wherein said memory means comprises a dynamic random access memory having a page access mode.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag