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

Memory access system

Assignee: Sun Microsystems Inc
•
Filing: 1986-07-24
•
Granted: 1989-02-07
•
Expires: 2006-07-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A memory architecture having particular application for use in computer systems employing virtual memory techniques. A processor provides row and column addresses to access data stored in a dynamic random access memory (DRAM). The virtual address supplied by the processor includes high and low order bits. In the present embodiment, the high order bits represent a virtual row address and the low order bits represent a real column address. The virtual row address is applied to a memory management unit (MMU) for translation into a real row address. The real column address need not be translated. A comparator compares the current virtual row address to the previous row address stored in a latch. If the current row and previous row addresses match, a cycle control circuit couples the real column address to the DRAM, and applies a strobe signal such that the desired data is accessed in the memory without the need to reapply the row address. If the row addresses do not match, the cycle control circuit initiates a complete memory fetch cycle and applies both row and column addresses to the DRAM, along with the respective strobe signals. By properly organizing data in the memory, the probability that sequential memory operations access the same row in the DRAM may be significantly increased. By using such an organization, the present invention provides data retrieval at speeds on the order of a cache based memory system for a subset of data stored.

Inventors

  • 👤 Edmund J. Kelly

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 13:53
CPC Classifications
G; G11; G11C; G11C7/00; G11C7/22; G06; G06F; G06F12/00; G06F12/02; G06F12/0215

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 422 words
A memory access system comprising: memory means for storing data, said memory means including N banks of memory arrays, each of said memory arrays comprising a dynamic random access memory having static column access, wherein data is stored at a plurality of locations, each of said locations specified by a real row address and a column address and wherein said data at said specified location is accessed after receipt of said real row address followed by a row address strobe (RAS) signal and said column address followed by a column address strobe (CAS) signal; address generation means for generating a virtual row address and said column address corresponding to a desired data location in one of said memory arrays, said address generation means comprising a processor; latch means electrically connected to said address generation means, said latch means including N latches, one for each of said N banks of memory arrays, for receiving said virtual row address and storing said virtual row address upon receipt of a clock signal; comparator means electrically connected to said latch means and said address generation means, said comparator means including N comparators, one for each of said N banks of memory arrays, for comparing a current virtual row address from said address generation means to a preceding virtual row address currently stored in said latch means and for providing an output indicating the results of said comparison, said comparator means further including an OR gate for receiving the outputs of said comparators and providing an output; a memory management unit (MMU) for translating said virtual row address into a real row address; cycle control means electrically connected to said output of said OR gate, said latch means, said MMU, and said memory means for receiving said comparator output and for providing said real row and column addresses and said RAS and CAS signals to said one memory array, wherein said real row address and said RAS signal are provided to said one memory array only if said comparator output indicates that said current virtual row address is not the same as said preceding virtual row address, and wherein only said column address and said CAS signal are provided to said one memory array when said comparator output indicates that said current virtual row address is the same as said preceding virtual row address; said cycle control means including clock means for providing said clock signal when said comparator output indicates that said current virtual row address is not the same as said preceding virtual row address.
Claim 2
Dependent Claim 422 words
A memory access system comprising: memory means for storing data, said memory means including N banks of memory arrays, each of said memory arrays comprising a dynamic random access memory having static column access, wherein data is stored at a plurality of locations, each of said locations specified by a real row address and a column address and wherein said data at said specified location is accessed after receipt of said real row address followed by a row address strobe (RAS) signal and said column address followed by a column address strobe (CAS) signal; address generation means for generating a virtual row address and said column address corresponding to a desired data location in one of said memory arrays, said address generation means comprising a processor; latch means electrically connected to said address generation means, said latch means including N latches, one for each of said N banks of memory arrays, for receiving said virtual row address and storing said virtual row address upon receipt of a clock signal; comparator means electrically connected to said latch means and said address generation means, said comparator means including N comparators, one for each of said N banks of memory arrays, for comparing a current virtual row address from said address generation means to a preceding virtual row address currently stored in said latch means and for providing an output indicating the results of said comparison, said comparator means further including an OR gate for receiving the outputs of said comparators and providing an output; a memory management unit (MMU) for translating said virtual row address into a real row address; cycle control means electrically connected to said output of said OR gate, said latch means, said MMU, and said memory means for receiving said comparator output and for providing said real row and column addresses and said RAS and CAS signals to said one memory array, wherein said real row address and said RAS signal are provided to said one memory array only if said comparator output indicates that said current virtual row address is not the same as said preceding virtual row address, and wherein only said column address and said CAS signal are provided to said one memory array when said comparator output indicates that said current virtual row address is the same as said preceding virtual row address; said cycle control means including clock means for providing said clock signal when said comparator output indicates that said current virtual row address is not the same as said preceding virtual row address.
Claim 3
Dependent Claim 24 words
The memory access system as defined by claim 1, wherein the outputs of said N comparators are electrically connected to said cycle control means.
Claim 4
Dependent Claim 43 words
The memory access system as defined by claim 2, wherein Y lowest translated physical bits from said MMU are electrically connected to said N latches such that one of said latches is enabled as a function of the value of said Y bits.
Claim 5
Dependent Claim 40 words
The memory access system as defined by claim 3, wherein data in said N banks of memory arrays are organized such that certain of said banks store a higher percentage of instructions then data compared to other of said banks.
Claim 6
Dependent Claim 30 words
The memory access system as defined by claim 4, wherein said data is organized to increase the probability of consecutive memory accesses to the same row address as previous accesses.
Claim 7
Dependent Claim 25 words
The memory access system as defined by claim 5 wherein said data organization is controlled by an operating system comprising instructions executed by said processor.
Claim 8
Dependent Claim 22 words
The memory access system as defined by claim 6, wherein said column addresses supplied by said address generation means are real addresses.
Claim 9
Dependent Claim 39 words
The memory access system as defined by claim 7, wherein said translated real row address and said real column address are selectively coupled to one of said memory arrays by a multiplexer upon command of said cycle control means.
Claim 10
Dependent Claim 345 words
An improved method for accessing a computer memory including N banks of memory arrays, each of said memory arrays comprising a dynamic random access memory having static column access, wherein data is stored in at least one of said memory arrays at a plurality of locations, each of said locations specified by a real row address and a column address and wherein said data at said specified location is accessed after receipt of said real row address followed by a row address strobe (RAS) signal and said column address followed by a column address strobe (CAS) signal, comprising the steps of: storing a virtual row address in latch means upon receipt of a clock signal, said latch means including N latches, one for each of said N banks of memory arrays; generating, in a processor, a current virtual row address and a current column address corresponding to desired data in said one memory array; comparing said current virtual row address to said virtual row address stored in said latch means using N comparators, one for each of said N banks of memory arrays, outputs of said N comparators being input to an OR gate; translating, in a memory management unit (MMU), said current virtual row address into a current real row address; providing said current real row address, said current column address and said RAS and CAS signals to said one memory array as a function of said comparison such that said current real row address and said RAS signal are provided to said one memory array only if said current virtual row address is not the same as said virtual row address stored in said latch means and such that only said column address and said CAS signal are provided if said current virtual row address is the same as said virtual row address stored in said latch means; providing said clock signal to store said current virtual row address in said latch means when said current virtual row address is not the same as said virtual row address stored in said latch means.
Claim 11
Dependent Claim 345 words
An improved method for accessing a computer memory including N banks of memory arrays, each of said memory arrays comprising a dynamic random access memory having static column access, wherein data is stored in at least one of said memory arrays at a plurality of locations, each of said locations specified by a real row address and a column address and wherein said data at said specified location is accessed after receipt of said real row address followed by a row address strobe (RAS) signal and said column address followed by a column address strobe (CAS) signal, comprising the steps of: storing a virtual row address in latch means upon receipt of a clock signal, said latch means including N latches, one for each of said N banks of memory arrays; generating, in a processor, a current virtual row address and a current column address corresponding to desired data in said one memory array; comparing said current virtual row address to said virtual row address stored in said latch means using N comparators, one for each of said N banks of memory arrays, outputs of said N comparators being input to an OR gate; translating, in a memory management unit (MMU), said current virtual row address into a current real row address; providing said current real row address, said current column address and said RAS and CAS signals to said one memory array as a function of said comparison such that said current real row address and said RAS signal are provided to said one memory array only if said current virtual row address is not the same as said virtual row address stored in said latch means and such that only said column address and said CAS signal are provided if said current virtual row address is the same as said virtual row address stored in said latch means; providing said clock signal to store said current virtual row address in said latch means when said current virtual row address is not the same as said virtual row address stored in said latch means.
Claim 12
Dependent Claim 21 words
The method as defined by claim 9, wherein the outputs of said N comparators are coupled to said cycle control means.
Claim 13
Dependent Claim 45 words
The method as defined by claim 10. wherein Y lowest translated physical bits from said MMU are coupled to said latches such that the value of said Y bits corresponds to at least one of said latches and memory banks, thereby enabling said corresponding latch.
Claim 14
Dependent Claim 38 words
The method as defined by claim 11, wherein data in said N banks of memory arrays are organized such that certain of said banks store a higher percentage of instructions then data compared to other of said banks.
Claim 15
Dependent Claim 28 words
The method as defined by claim 12, wherein said data is organized to increase the probability of consecutive memory accesses to the same row address as previous accesses.
Claim 16
Dependent Claim 23 words
The method as defined by claim 13, wherein said data organization is controlled by an operating system comprising instructions executed by said processor.
Claim 17
Dependent Claim 16 words
The method as defined by claim 14, wherein said generated column address is a real address.

References Cited (Backward Citations)

US3394354A Cited
US3413613A Cited
US4156905A Cited
US4156290A Cited
US4081701A Cited
US4106109A Cited
US4368515A Cited
US4527232A Cited
US4550368A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-02-07 1992-08-08 1993-02-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-02-07 1996-08-08 1997-02-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-02-07 2000-08-08 2001-02-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag