US2002029315A1PendingUtilityA1

Reconfigurable memory with selectable error correction storage

Priority: Jul 22, 1999Filed: Aug 10, 2001Published: Mar 7, 2002
Est. expiryJul 22, 2019(expired)· nominal 20-yr term from priority
G06F 11/1052
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A memory structure includes a memory module divided into low order banks and high order banks. The low order banks are used as conventional memory. The high order banks are used as either conventional memory or ECC memory, depending upon routing of data. In one embodiment, data from the high order banks are routed through a primary multiplexer to a data bus when the high order banks are used as conventional memory. When the high order banks are used as ECC memory, data from the auxiliary section is routed through the primary multiplexer to an error correction circuit. A secondary multiplexer combines ECC bits from the auxiliary section of the module or a dedicated ECC memory on a motherboard. The auxiliary section thus supplements the onboard ECC memory to provide support for an effectively larger ECC memory for use with error intolerant applications that require error correction.

Claims

exact text as granted — not AI-modified
1 . A memory control circuit for a computer system, comprising: 
 a memory system having a plurality of memory locations corresponding to respective addresses;    an error correction circuit;    a data bus coupled to a first set of memory locations of the memory system; and    a coupling device coupling a second set of memory locations of the memory system to the error correction circuit.    
     
     
         2 . The memory control circuit of  claim 1  wherein the coupling device comprises a first switching circuit having a first data port coupled to the second set of memory locations of the memory system, a second data port coupled to the data bus, a third data port coupled to the error correction circuit, and a mode select input, the switching circuit being operable responsive to a first mode select signal to couple the first data port to the second data port, and being operable responsive to a second mode select signal to couple the first data port to the third data port.  
     
     
         3 . The memory control circuit of  claim 2  further comprising an error correction memory, and wherein the coupling circuit further comprises a second switching circuit having a first data port coupled to the third data port of the first switching circuit, a second data port coupled to the error correction memory, a third data port coupled to the error correction circuit, and a control input, the second switching circuit being operable responsive to a first control signal to couple the first data port to the third data port, and being operable responsive to a second control signal to couple the second data port to the third data port.  
     
     
         4 . The memory control circuit of  claim 3  wherein the data ports of the first switching circuit comprise a first plurality of sets of data lines, and the second data port of the second switching circuit comprises a second plurality of sets of data lines, the second switching circuit being operable responsive to the first control signal to couple one of the sets in the first plurality of sets of data lines to the error correction circuit, and being operable responsive to the second control signal to couple one of the sets in the second plurality of sets of data lines to the error correction circuit.  
     
     
         5 . The memory control circuit of  claim 2  further comprising an error correction memory, and wherein the switching circuit comprises: 
 a first multiplexer having a first data port coupled to the second set of locations of the memory system, a second data port coupled to the data bus, a third data port, and a control input, the first multiplexer being operable responsive to a first control signal applied to the control input to couple the first data port to the second data port, and being operable responsive to a second control signal to couple the first data port to the third data port; and  
 a second multiplexer having a first data port coupled to the third data port of the first multiplexer, a second data port coupled to the error correction memory, a third data port coupled to the error correction circuit, and a control input, the second multiplexer being operable responsive to a third control signal applied to the control input to couple the first data port to the third data port, and being operable responsive to a fourth control signal to couple the second data port to the third data port.  
 
     
     
         6 . The memory control circuit of  claim 1  wherein the memory system comprises a memory device having a plurality of banks.  
     
     
         7 . The memory control circuit of  claim 6  wherein the first set of memory locations of the memory system comprise a first set of banks of the -memory device, and the second set of memory locations of the memory system comprise a second set of banks of the memory device.  
     
     
         8 . The memory control circuit of  claim 7  wherein the second set of banks comprises a single bank.  
     
     
         9 . The memory control circuit of  claim 7  wherein the second set of banks comprise a first set of memory locations coupled to the data bus, and a second set of memory locations coupled to the error correction circuit.  
     
     
         10 . The memory control circuit of claim I wherein the memory system comprises: 
 a first memory device having a plurality of banks, a first set of banks of the first memory device being coupled to the data bus; and    a set of second memory devices.    
     
     
         11 . The memory control circuit of  claim 10  wherein the coupling device comprises a switching circuit having a plurality of first data ports coupled to respective second memory devices in the set of second memory devices, a second data port coupled to the error correction circuit, and a control input, the switching circuit being operable responsive to a control signal applied to the control input to couple one of the first data ports to the second data port responsive to a corresponding control signal.  
     
     
         12 . An memory system operable in either normal mode or an error correcting mode, comprising: 
 a memory device having a plurality of banks;    a data bus coupled to a first set of banks of the memory device;    an error correction circuit;    a first switching circuit having a first port coupled to at least one bank of the memory device, a second port coupled to the data bus, a third port coupled to the error correction circuit, and a mode input coupled to receive a mode signal having a first state indicative of the normal mode and a second state indicative of the error correcting mode, the first switching circuit being structured to couple the first port to the second port responsive to a mode signal having the first state and to couple the first port to the third port responsive to a mode signal having the second state.    
     
     
         13 . The memory system of  claim 12  wherein the bank of the memory device to which the first port of the first switching circuit is coupled comprises a bank of the memory device other than an bank in the first set.  
     
     
         14 . The memory system of  claim 12  wherein the bank of the memory device to which the first port of the first switching circuit is coupled comprises one of the banks in the first set of banks of the memory device, a first plurality of memory locations in the bank being coupled to the data bus and a second plurality of memory locations in the bank being coupled to the first port of the first switching circuit.  
     
     
         15 . An memory system operable in either normal mode or an error correcting mode, comprising: 
 a first memory device having a plurality of banks;    a second memory device;    a data bus coupled to a first set of banks of the first memory device;    an error correction circuit;    a first switching circuit having a first port coupled to at least one bank of the first memory device, a second port coupled to the data bus, a third port, and a mode input coupled to receive a mode signal having a first state indicative of the normal mode and a second state indicative of the error correcting mode, the first switching circuit being structured to couple the first port to the second port responsive to a mode signal having the first state and to couple the first port to the third port responsive to a mode signal having the second state; and    a second switching circuit having a first plurality of signal terminal sets coupled to the third port of the first switching circuit, a second plurality of signal terminal sets coupled to the second memory device, a set of signal terminals coupled to the error correction circuit, and a select input coupled to receive a select signal, the second switching circuit being structured to couple the one of the signal terminal sets in the first plurality or one of the signal terminal sets in the second plurality to the error correction circuit responsive to the select signal.    
     
     
         16 . The memory system of  claim 15  wherein the bank of the memory device to which the first port of the first switching circuit is coupled comprises a bank of the memory device other than an bank in the first set.  
     
     
         17 . The memory system of  claim 15  wherein the bank of the memory device to which the first port of the first switching circuit is coupled comprises one of the banks in the first set of banks of the memory device, a first plurality of memory locations in the bank being coupled to the data bus and a second plurality of memory locations in the bank being coupled to the first port of the first switching circuit.  
     
     
         18 . A computer system, comprising: 
 a processor;    a data bus;    a peripheral device coupled to the processor;    a memory system having a plurality of memory locations, a first set of the memory locations being coupled to the data bus;    an error correction circuit;    a coupling device coupling a second set of memory locations of the memory system to the error correction circuit.    
     
     
         19 . The computer system of  claim 18 , wherein the memory correction circuit includes a memory correction port, and wherein the processor is coupled to the memory correction port and to the data bus, the processor being structured to couple data to or from the data bus and a corresponding error correction code to or from the memory correction port, respectively.  
     
     
         20 . The computer system of  claim 18  wherein the coupling device comprises a first switching circuit having a first data port coupled to the second set of memory locations of the memory system, a second data port coupled to the data bus, a third data port coupled to the error correction circuit, and a mode select input, the switching circuit being operable responsive to a first mode select signal to couple the first data port to the second data port, and being operable responsive to a second mode select signal to couple the first data port to the third data port.  
     
     
         21 . The computer system of  claim 19  further comprising an error correction memory, and wherein the coupling circuit further comprises a second switching circuit having a first data port coupled to the third data port of the first switching circuit, a second data port coupled to the error correction memory, a third data port coupled to the error correction circuit, and a control input, the second switching circuit being operable responsive to a first control signal to couple the first data port to the third data port, and being operable responsive to a second control signal to couple the second data port to the third data port.  
     
     
         22 . The computer system of  claim 21  wherein the data ports of the first switching circuit comprise a first plurality of sets of data lines, and the second data port of the second switching circuit comprises a second plurality of sets of data lines, the second switching circuit being operable responsive to the first control signal to couple one of the sets in the first plurality of sets of data lines to the error correction circuit, and being operable responsive to the second control signal to couple one of the sets in the second plurality of sets of data lines to the error correction circuit.  
     
     
         23 . The computer system of  claim 20  further comprising an error correction memory, and wherein the switching circuit comprises: 
 a first multiplexer having a first data port coupled to the second set of locations of the memory system, a second data port coupled to the data bus, a third data port, and a control input, the first multiplexer being operable responsive to a first control signal applied to the control input to couple the first data port to the second data port, and being operable responsive to a second control signal to couple the first data port to the third data port; and  
 a second multiplexer having a first data port coupled to the third data port of the first multiplexer, a second data port coupled to the error correction memory, a third data port coupled to the error correction circuit, and a control input, the second multiplexer being operable responsive to a third control signal applied to the control input to couple the first data port to the third data port, and being operable responsive to a fourth control signal to couple the second data port to the third data port.  
 
     
     
         24 . The computer system of  claim 18  wherein the memory system comprises a memory device having a plurality of banks.  
     
     
         25 . The computer system of  claim 24  wherein the first set of memory locations of the memory system comprise a first set of banks of the memory device, and the second set of memory locations of the memory system comprise a second set of banks of the memory device.  
     
     
         26 . The computer system of  claim 25  wherein the second set of banks comprises a single bank.  
     
     
         27 . The computer system of  claim 25  wherein the second set of banks comprise a first set of memory locations coupled to the data bus, and a second set of memory locations coupled to the error correction circuit.  
     
     
         28 . The computer system of  claim 18  wherein the memory system comprises: 
 a first memory device having a plurality of banks, a first set of banks of the first memory device being coupled to the data bus; and  
 a set of second memory devices.  
 
     
     
         29 . The computer system of  claim 28  wherein the coupling device comprises a switching circuit having a plurality of first data ports coupled to respective second memory devices in the set of second memory devices, a second data port coupled to the error correction circuit, and a control input, the switching circuit being operable responsive to a control signal applied to the control input to couple one of the first data ports to the second data port responsive to a corresponding control signal.  
     
     
         30 . A method of storing and retrieving data in a memory system operable in either an error tolerant mode or an error intolerant mode, the method comprising: 
 coupling a first plurality of locations of the memory system to a data bus so that data applied to the data bus can be written to the first plurality of locations of the memory system and data read from the first plurality of locations of the memory system can be applied to the data bus;    coupling a second plurality of locations of the memory system to the data bus when the memory system is operating in the error tolerant mode; and    coupling the second plurality of locations of the memory system to an error correction circuit when the memory system is operating in the error intolerant mode.    
     
     
         31 . The method of  claim 30  wherein the first and second plurality of locations of the memory system comprise different banks of a single memory device.  
     
     
         32 . The method of  claim 30  wherein the first and second plurality of locations of the memory system comprise different memory devices.  
     
     
         33 . The method of  claim 30 , further comprising: 
 applying data to the data bus when the memory system is operating in the error intolerant mode;    applying a corresponding error correction code to the error correction circuit, the error correction code coupling corresponding error correction bits to the second plurality of locations of the memory system;    writing the data in at least some of the memory locations in the first plurality of locations of the memory system;    writing the error correction bits in at least some of the memory locations in the second plurality of locations of the memory system;    reading data from at least some of the memory locations in the first plurality of locations of the memory system;    reading error correction bits from at least some of the memory locations in the second plurality of locations of the memory system, the read error correction bits corresponding to the data read from the memory locations in the first plurality;    determining from the error correction bits if the read data is in error; and    if the read data is determined to be in error, correcting the read data.    
     
     
         34 . A method of storing data in a memory device having first and second memory portions, comprising: 
 selecting either an error correction mode or a non-error correction mode;    storing data in the first memory portion;    if the error correction mode is selected, storing error correction bits corresponding to the data in the second memory portion; and    if the non-error correction mode is selected, storing information data in the second memory portion.    
     
     
         35 . The method of  claim 34  further comprising: 
 retrieving data from the first memory portion;  
 if the error correction mode is selected, retrieving error correction bits corresponding to the data from the second memory portion; and  
 if the non-error correction mode is selected, retrieving data from the second memory portion.  
 
     
     
         36 . The method of  claim 35  further comprising, if the error correction mode is selected: 
 determining from the error correction bits if the retrieved data is in error; and  
 if the retrieved data is determined to be in error, correcting the retrieved data using the error correction bits.  
 
     
     
         37 . The method of  claim 34  wherein the storing of data in the second memory portion comprises: 
 storing a first segment of a data byte in a first location having a first address in the second memory portion; and  
 storing a second segment of the data byte in a second location having a second address in the second memory portion.  
 
     
     
         38 . The method of  claim 37 , further comprising: 
 retrieving the stored first segment from the first location at a first time;    retrieving the stored second segment from the second location at a second time different from the first time; and    combining the retrieved first and second segments.    
     
     
         39 . A method of retrieving data from a memory device having first and second memory portions, comprising: 
 selecting either an error correction mode or a non-error correction mode;    retrieving data from the first memory portion;    if the error correction mode is selected, retrieving error correction bits corresponding to the data from the second memory portion; and    if the non-error correction mode is selected, retrieving data from the second memory portion.    
     
     
         40 . The method of  claim 39  further comprising, if the error correction mode is selected: 
 determining from the error correction bits if the retrieved data is in error; and  
 if the retrieved data is determined to be in error, correcting the retrieved data using the error correction bits.

Join the waitlist — get patent alerts

Track US2002029315A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.