Patent US5630099A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5630099A Expired / Lapsed US ⏱️ 0.0 years remaining

Non-volatile memory array controller capable of controlling memory banks having variable bit widths

Assignee: Cypress Semiconductor Corp
•
Filing: 1993-12-10
•
Granted: 1997-05-13
•
Expires: 2013-12-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A non-volatile memory controller is provided which is connectable directly to the local bus of a computer system and which allows access to one or more 32-bit banks of ROM and to an 8-bit bank of non-volatile memory. The 8-bit bank of non-volatile memory may be used, for example, to store BIOS code, and may be implemented using a ROM or flash memory device. The non-volatile memory controller includes a data router, a sequencer, and a set of output latches for routing the 8-bit BIOS code (stored within the 8-bit bank) to selected byte lanes of the local bus and for converting the 8-bit data to 32-bit local bus data. The non-volatile memory controller further supports high performance, 32-bit accesses to the user software stored within the 32-bit banks. If the system designer or user instead must maximize the memory capacity of the computer system, the 8-bit bank of memory may be replaced with a larger 32-bit bank of memory. In this configuration, a control signal is provided to the non-volatile memory controller to indicate that a 32-bit bank is connected rather than an 8-bit bank. The control signal causes the sequencer and the data router to be disabled. When a memory access to the 32-bit bank is executed, the non-volatile memory controller accesses the data within the 32-bit bank and drives the data directly on the CPU local bus.

Inventors

  • 👤 James R. Macdonald
  • 👤 Douglas D. Gephardt

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 01:50
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4009; G06F13/4018

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 316 words
A computer system comprising: a microprocessor; a local bus coupled to said microprocessor and including at least a first byte lane and a second byte lane; a memory controller coupled to said local bus; a memory data bus coupled to said memory controller and including at least a first byte lane and a second byte lane; and a first bank of non-volatile memory coupled to said memory data bus; wherein said memory controller includes: a first output buffer configured to drive data from said first bank of non-volatile memory on said first byte lane of said local bus and a second output buffer configured to drive data from said first bank of non-volatile memory on said second byte lane of said local bus; a data routing unit configured to selectively route data from said first byte lane of said memory data bus to either said first output buffer or to said second output buffer; and an interface control unit configured to receive at least one local bus control signal, wherein said interface control unit is configured to generate at least one memory control signal in response to said at least one local bus control signal such that data is provided from said first bank of non-volatile memory simultaneously to said first and said second byte lanes of said memory data bus if a memory size input signal indicates that said first bank of non-volatile memory has a first predetermined bit width, and wherein said interface control unit is configured to generate at least one memory control signal in response to said at least one local bus control signal such that data is sequentially provided from said first bank of non-volatile memory through said first byte lane of said memory data bus to said data routing unit if said memory size input signal indicates that said first bank of non-volatile memory has a second predetermined bit width.
Claim 2
Dependent Claim 316 words
A computer system comprising: a microprocessor; a local bus coupled to said microprocessor and including at least a first byte lane and a second byte lane; a memory controller coupled to said local bus; a memory data bus coupled to said memory controller and including at least a first byte lane and a second byte lane; and a first bank of non-volatile memory coupled to said memory data bus; wherein said memory controller includes: a first output buffer configured to drive data from said first bank of non-volatile memory on said first byte lane of said local bus and a second output buffer configured to drive data from said first bank of non-volatile memory on said second byte lane of said local bus; a data routing unit configured to selectively route data from said first byte lane of said memory data bus to either said first output buffer or to said second output buffer; and an interface control unit configured to receive at least one local bus control signal, wherein said interface control unit is configured to generate at least one memory control signal in response to said at least one local bus control signal such that data is provided from said first bank of non-volatile memory simultaneously to said first and said second byte lanes of said memory data bus if a memory size input signal indicates that said first bank of non-volatile memory has a first predetermined bit width, and wherein said interface control unit is configured to generate at least one memory control signal in response to said at least one local bus control signal such that data is sequentially provided from said first bank of non-volatile memory through said first byte lane of said memory data bus to said data routing unit if said memory size input signal indicates that said first bank of non-volatile memory has a second predetermined bit width.
Claim 3
Dependent Claim 33 words
The computer system as recited in claim 1 wherein said memory controller further includes a sequencer coupled to said data routing unit configured to provide a select signal to said data routing unit.
Claim 4
Dependent Claim 30 words
The computer system as recited in claim 1 wherein said memory controller further comprises a latch coupled to said interface control unit configured to store said memory size input signal.
Claim 5
Dependent Claim 22 words
The computer system as recited in claim 3 wherein said memory size input signal is latched into said latch upon system reset.
Claim 6
Dependent Claim 74 words
The computer system as recited in claim 1 further comprising a second bank of non-volatile memory coupled to said memory data bus, wherein said interface control unit is configured to generate said at least one memory control signal in response to said at least one local bus control signal such that data is provided from said second bank of non-volatile memory simultaneously to said first and second byte lanes of said memory data bus.
Claim 7
Dependent Claim 69 words
The computer system as recited in claim 1 wherein one of said at least one memory control signals is a memory address signal and one of said at least one local bus control signals is a local bus address signal and wherein said memory controller further includes an address translator coupled to said interface control unit configured to translate said local bus address signal into said memory address signal.
Claim 8
Dependent Claim 48 words
The computer system as recited in claim 1 wherein said first byte lane of said memory data bus is an 8-bit byte lane, wherein said second byte lane of said memory bus is an 8-bit byte lane, and wherein said first bank has a bit width of 8-bits.
Claim 9
Dependent Claim 34 words
The computer system as recited in claim 7 wherein said local bus includes a third byte lane and a fourth byte lane, wherein said third and fourth byte lanes are each 8 bits wide.
Claim 10
Dependent Claim 63 words
The computer system as recited in claim 8 wherein said memory controller further includes: a third output buffer configured to drive data from said first bank of non-volatile memory on said third byte lane of said local bus; and a fourth output buffer configured to drive data from said first bank of non-volatile memory on said fourth byte lane of said local bus.
Claim 11
Dependent Claim 56 words
The computer system as recited in claim 9 wherein said data routing unit is configured to selectively route data from said first byte lane of said memory data bus to either said first output buffer, to said second output buffer, to said third output buffer, or to said fourth output buffer depending upon a select signal.
Claim 12
Dependent Claim 35 words
The computer system as recited in claim 8 further comprising a second bank of non-volatile memory coupled to said memory data bus, wherein said second bank of non-volatile memory is a 32-bit bank of memory.
Claim 13
Dependent Claim 257 words
A memory controller comprising: a first output buffer configured to drive data from a first bank of non-volatile memory on a first byte lane of a local bus; a second output buffer configured to drive data from said first bank of non-volatile memory on a second byte lane of said local bus; a data routing unit configured to selectively route data from a first byte lane of a memory data bus to either said first output buffer or to said second output buffer; and an interface control unit configured to receive a local bus read signal and a local bus address signal, wherein said interface control unit is configured to generate a memory read signal and a memory address signal in response to said local bus read signal and said local bus address signal such that data is provided from said first bank of non-volatile memory simultaneously to said first byte lane and to a second byte lane of said memory data bus if a memory size input signal indicates that said first bank of non-volatile memory has a first predetermined bit width, and wherein said interface control unit is configured to generate a first and a second memory read signal in response to said local bus read signal such that data is sequentially provided from said first bank of non-volatile memory through said first byte lane of said memory data bus to said data routing unit if said memory size input signal indicates that said first bank of non-volatile memory has a second predetermined bit width.
Claim 14
Dependent Claim 257 words
A memory controller comprising: a first output buffer configured to drive data from a first bank of non-volatile memory on a first byte lane of a local bus; a second output buffer configured to drive data from said first bank of non-volatile memory on a second byte lane of said local bus; a data routing unit configured to selectively route data from a first byte lane of a memory data bus to either said first output buffer or to said second output buffer; and an interface control unit configured to receive a local bus read signal and a local bus address signal, wherein said interface control unit is configured to generate a memory read signal and a memory address signal in response to said local bus read signal and said local bus address signal such that data is provided from said first bank of non-volatile memory simultaneously to said first byte lane and to a second byte lane of said memory data bus if a memory size input signal indicates that said first bank of non-volatile memory has a first predetermined bit width, and wherein said interface control unit is configured to generate a first and a second memory read signal in response to said local bus read signal such that data is sequentially provided from said first bank of non-volatile memory through said first byte lane of said memory data bus to said data routing unit if said memory size input signal indicates that said first bank of non-volatile memory has a second predetermined bit width.
Claim 15
Dependent Claim 33 words
The computer system as recited in claim 12 wherein said memory controller further includes a sequencer coupled to said data routing unit configured to provide a select signal to said data routing unit.
Claim 16
Dependent Claim 30 words
The computer system as recited in claim 12 wherein said memory controller further comprises a latch coupled to said interface control unit configured to store said memory size input signal.
Claim 17
Dependent Claim 22 words
The computer system as recited in claim 14 wherein said memory size input signal is latched into said latch upon system reset.
Claim 18
Dependent Claim 36 words
The computer system as recited in claim 15 wherein said memory controller further includes an address translator coupled to said interface control unit configured to translate said local bus address signal into said memory address signal.
Claim 19
Dependent Claim 49 words
The computer system as recited in claim 16 wherein said first byte lane of said memory data bus is an 8-bit byte lane, wherein said second byte lane of said memory data bus is an 8-bit byte lane, and wherein said first bank has a bit width of 8-bits.
Claim 20
Independent Claim 324 words
A method for operating a memory controller, wherein said memory controller is connected to a first memory bank, to a second memory bank, to a first byte lane of a local bus, and to a second byte lane of said local bus, said method comprising the steps of: providing a control signal to said memory controller indicative of the bit width of said second memory bank; executing a memory read cycle on said local bus; determining whether said memory read cycle corresponds to a memory location contained by said first memory bank or by said second memory bank; reading a first byte and a second byte of data from said first memory bank simultaneously and providing said first and second bytes of data to said first and second byte lanes of said local bus if said memory read cycle corresponds to a location within said first memory bank; and if said memory read cycle corresponds to a memory location contained by said second memory bank: reading a first and a second byte of data from said second memory bank simultaneously and providing said first and second bytes of data to said first and second byte lanes of said local bus if said control signal indicates that said second memory bank has a first predetermined bit width; or reading a first byte of data from said second memory bank; providing said first byte of data to a data routing unit; selectively routing said first byte of data from said data routing unit to a first buffer; reading a second byte of data from said second memory bank subsequent to the reading of said first byte of data; providing said second byte of data to said data routing unit; selectively routing said second byte of data from said data routing unit to a second buffer; and providing said first and second bytes of data from said first buffer and second buffer to said local bus simultaneously.
Claim 21
Independent Claim 324 words
A method for operating a memory controller, wherein said memory controller is connected to a first memory bank, to a second memory bank, to a first byte lane of a local bus, and to a second byte lane of said local bus, said method comprising the steps of: providing a control signal to said memory controller indicative of the bit width of said second memory bank; executing a memory read cycle on said local bus; determining whether said memory read cycle corresponds to a memory location contained by said first memory bank or by said second memory bank; reading a first byte and a second byte of data from said first memory bank simultaneously and providing said first and second bytes of data to said first and second byte lanes of said local bus if said memory read cycle corresponds to a location within said first memory bank; and if said memory read cycle corresponds to a memory location contained by said second memory bank: reading a first and a second byte of data from said second memory bank simultaneously and providing said first and second bytes of data to said first and second byte lanes of said local bus if said control signal indicates that said second memory bank has a first predetermined bit width; or reading a first byte of data from said second memory bank; providing said first byte of data to a data routing unit; selectively routing said first byte of data from said data routing unit to a first buffer; reading a second byte of data from said second memory bank subsequent to the reading of said first byte of data; providing said second byte of data to said data routing unit; selectively routing said second byte of data from said data routing unit to a second buffer; and providing said first and second bytes of data from said first buffer and second buffer to said local bus simultaneously.
Claim 22
Dependent Claim 21 words
The method as recited in claim 18 comprising the further step of providing a byte enable signal to said memory controller.
Claim 23
Dependent Claim 20 words
The method as recited in claim 18 comprising the further step of latching said control signal into said memory controller.

References Cited (Backward Citations)

US4361869A Cited
US4494013A Cited
US4716527A Cited
GB2171230A Cited
US4831514A Cited
US5109494A Cited
US5119498A Cited
US5280598A Cited
US5471632A Cited
US5448521A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-05-12 2000-11-11 2001-05-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-05-12 2004-11-11 2005-05-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-05-12 2008-11-11 2009-05-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag