[go: up one dir, main page]

GB2332290A - Memory management unit incorporating memory fault masking - Google Patents

Memory management unit incorporating memory fault masking Download PDF

Info

Publication number
GB2332290A
GB2332290A GB9825009A GB9825009A GB2332290A GB 2332290 A GB2332290 A GB 2332290A GB 9825009 A GB9825009 A GB 9825009A GB 9825009 A GB9825009 A GB 9825009A GB 2332290 A GB2332290 A GB 2332290A
Authority
GB
United Kingdom
Prior art keywords
memory
substitute
processor
access
addresses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB9825009A
Other versions
GB9825009D0 (en
Inventor
Douglas Alexander Chisholm
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Memory Corp PLC
Original Assignee
Memory Corp PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB9724182.2A external-priority patent/GB9724182D0/en
Application filed by Memory Corp PLC filed Critical Memory Corp PLC
Priority to GB9825009A priority Critical patent/GB2332290A/en
Publication of GB9825009D0 publication Critical patent/GB9825009D0/en
Publication of GB2332290A publication Critical patent/GB2332290A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

A memory management unit (MMU) 30 containing a virtual memory cache also implements a memory replacement or memory masking algorithm to avoid accessing defective cells in the main memory 18. If a memory replacement algorithm is implemented, a location in substitute memory 20 is accessed instead of a defective location in main memory 18. If a memory masking algorithm is implemented then either the addresses of defective cells are not generated, or addresses are remapped to access working cells. Memory defect maps may be stored in an EPROM or look-up table. Defect maps for each memory module may be stored on the memory module, with the defect map being read by the MMU. The MMU may be incorporated in the processor 12 (figure 3). The substitute memory 20 may be included on the motherboard.

Description

2332290 1 PROCESSING SYSTEM This invention relates to memory systems for
computers and the like, and, in particular, to memory systems which use partial memory circuits.
As the processing power of modern personal computers has increased over the last f ew years, there has been a corresponding increase in the complexity of the software used in these personal computers. Use of higher complexity software has given rise to a dramatic increase in the memory requirements of personal computers. This increase in memory requirements has produced a world-wide demand for semiconductor memory circuits, particularly dynamic random access memory (DRAM), because they are used in SIMMs (single in-line memory modules).
DRAM fabrication plants generally have a low yield of working devices (sometimes only 40% of all devices manufactured are working devices). One effect of this is that a large number of partially working devices (partial circuits) are produced. A partially working device is a device which is not perfect (because it contains at least one faulty cell location) but which has a large number of perfect working cells.
For over twenty years methods have been proposed for using partial circuits in a memory system to obtain full memory function. Most of these methods involve the creation of a new memory system. Some memory systems incorporate a main memory composed of partial circuits, a substitute memory which may also be composed of partial 2 circuits or may be composed of perfect circuits, and some controlling means for disabling known faulty cells and diverting accesses to known good cells. Other memory systems operate on the addresses of faulty cells so that the addresses are mapped to known good addresses in the substitute memory.
We have devised a memory system which may incorporate partial circuits and which obviates the need for additional control circuitry on each memory system. We centralise control functions, thus improving efficiency. Provision is also made for the avoidance or infrequent access of defective locations.
Thus the present invention provides a device for managing access to a memory system, where the device performs the functions of a processor or a memory management unit characterised in that the device implements a memory placement algorithm or memory masking algorithm to avoid accessing defective cells in the memory system.
According to a particular aspect of the invention, the memory system comprises a main or primary memory and a substitute memory, and access to substitute memory is by way of address and data buses separate from those which serve for access to the primary memory.
For a better understanding of the present invention and to show how it may be carried into effect, reference will now be made by way of example to the following diagrams, in which:
Figure la shows how a prior art partial memory system
3 connects to a processor in a computer system; Figure 1b shows a more detailed view of the prior art partial memory system shown in Figure la, where the partial memory system is composed of a main memory, a substitute store and a controller.
Figure 2 shows one configuration of the present invention.
Figure 3 shows another configuration of the present invention.
Figure la shows a prior art memory system 10 connected to a processor 12 by means of an address bus 14 and a data bus 16. Figure 1b shows a diagram of one of the possible configurations of the memory system 10 of Figure la. The memory system 10 comprises a main memory 18 which contains one or more faulty locations, a substitute memory 20 which contains at least one working memory location, and a controller 22 for diverting accesses intended for faulty locations in the main memory 18 to working locations in the substitute memory 20. The memory system 10 operates as a perfect memory and is transparent to the processor 12. In this case a common address bus 14 and data bus 16 are used to access both the main memory 18 and the substitute memory 20.
Figure 2 shows one embodiment of the present invention. In Figure 2 the usual memory controller 22 is replaced by a new memory controller 30. The new memory controller 30 may perform all of the functions of a 4 standard memory controller. These functions include, for example, determining whether data to be accessed resides in cache memory or in main memory, making space in the cache memory when necessary by copying data from the cache to the main memory, and performing the virtual address (as generated by the processor) to physical address (to access the main memory) translation. Memory management is used to map virtual addresses to physical addresses and to control the locality of data between the cache and the main memory. Access to the memory controller 30 from the processor 12 is by way of address bus A and data bus D.
Access from the memory controller 30 to the primary memory 18 is by way of address bus All and data bus D" and to the substitute memory by way of address bus A' and data bus D'.
In addition, the new memory controller 30 also performs replacement memory management functions. These replacement memory management functions include the functions necessary to monitor the addresses of memory locations which are being accessed and to recognise when a defective location is being addressed.
In some processors a pipelined addressing sequence is used; a series of addresses is generated and data is received which lags the current address by a set number of cycles. Thus the processor knows the addresses that will be accessed prior to accessing the addresses. In response to a request to access a defective location in primary memory 18 the new memory controller 30 accesses a substitute memory location instead. It should be emphasised that the particular algorithm used to replace faulty memory locations is not crucial to this invention.
In some embodiments of this invention the new memory controller 30 will map addresses of known faulty locations to known good locations in a similar way to the mapping used to map virtual addresses to physical addresses. In other embodiments of this invention no address mapping will be used but each known faulty address will be routed to the substitute memory instead. In other embodiments of the present invention there is no separate discrete substitute memory unit: The new memory controller or processor avoids generating defective addresses or masks out defective addresses in the primary memory. Thus the memory used will not be fully functional in that the number of usable cells will be less than the total number of cells, but the usable cells will work perfectly and the system will be fully operational as a lower capacity memory system. The processor or new memory controller may also be equipped to determine in use if a cell becomes unusable. This is similar to the operation of a magnetic disc drive which maps out faulty blocks as they become defective or as they are written to.
This invention also relates to a method of incorporating the replacement or fault masking algorithm into a memory controller and so obviate the need for an additional integrated circuit to function as a controller in the memory system. A computer system consists (amongst other functional units) of a processor and memory. The 6 memory can be partitioned. These partitions in the memory (for example SIMMs) may have defects. Information on the defects in each partition may be stored in a defect map (for example an EPROM (erasable programmed read only memory) or a lookup table). The defect map may be accessed by either the processor or the memory management system (perhaps even both) to compensate for the defects in the particular partition of memory selected. The present invention extends the functions of the memory management system. It uses the memory management function to store information relating to the defects in the main memory.
In some embodiments of the present invention the defect map may be stored in a programmable read only memory which is on an extended memory board and is designed to be read directly from the extended memory by the new memory management unit or the processor.
Figure 3 shows another embodiment of the present invention wherein the memory controller is incorporated into the processor 12 that performs the processing functions for the entire memory system. Access to the main memory is by way of address bus All and data bus D" and to the substitute memory by way of address bus A' and data bus D'. This embodiment would require the processor of a computer to include the functions necessary to perform the memory replacement algorithm. It is envisaged that as replacement techniques mature they will be incorporated into standard processors. This would enable computer systems to use extended memory modules (such as memory 7 SIMMs) which are composed of partial memory circuits but which do not have any control circuitry or perhaps even any substitute storage or non- volatile memory. This would have the advantages of simplifying the production of memory modules and of lowering the cost of manufacturing these modules. The modules would come with a notification (in a convenient media) of the defective locations which were present in the module. This information would then be made available to the processor which could import the information for permanent or temporary storage.
Whether the invention is implemented as two units (a processor and a memory management unit) or as one unit (a processor) is a matter of convenience dictated by factors such as silicon real estate and the cost of using two circuits rather than one. The same logical functions occur whether one unit or two units are used.
In other embodiments of the present invention the modules may contain nonvolatile memory for storing the addresses of faulty locations. The nonvolatile memory on the modules may be specifically designed to be accessed by the memory management unit or the processor.
Previously, nonvolatile memory on memory modules was designed to be accessed by a controller on the memory module.
The configuration of the address and data buses shown in Figure 3 may vary depending on the memory replacement scheme being implemented.
It is possible that computer systems using this novel 8 architecture would have some redundant memory available to use as a substitute store. This redundant memory may be included on the motherboard of computers so that the processor could access the redundant memory and use it as a substitute for any faulty locations in the main memory.
Thus no substitute storage would be required on the SIMMS. this solution would probably only be viable if some form of address mapping was conducted on the faulty address, otherwise a substitute address would have to exist for each address in the main memory.
It will be appreciated that various modifications may be made to the above described embodiments within the scope of the present invention. For example, the present invention may be implemented by using a second processor which is controlled by the main processor.
9

Claims (6)

1. A device for managing access to a memory system, where the device performs the functions of a processor or a memory management unit characterised in that the device implements a memory placement algorithm or memory masking algorithm to avoid accessing defective cells in the memory system.
2. A device as claimed in claim 1, wherein the memory system comprises a main or primary memory and a substitute memory, and access to substitute memory is by way of address and data buses separate from those which serve for access to the primary memory.
3. A device is claimed in either preceding claim, wherein the algorithm utilises address mapping.
4. A device as claimed in claim 3 wherein the device is arranged to read a defect map, and the defect map is stored in a programmable read only memory of an extended memory board.
5. A device is claimed in any preceding claim when incorporated into a processor which additionally performs the processing functions for the memory system.
6. A computer system incorporating a device as claimed in any preceding claim.
GB9825009A 1997-11-14 1998-11-16 Memory management unit incorporating memory fault masking Withdrawn GB2332290A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9825009A GB2332290A (en) 1997-11-14 1998-11-16 Memory management unit incorporating memory fault masking

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9724182.2A GB9724182D0 (en) 1997-11-14 1997-11-14 Processing system
GB9825009A GB2332290A (en) 1997-11-14 1998-11-16 Memory management unit incorporating memory fault masking

Publications (2)

Publication Number Publication Date
GB9825009D0 GB9825009D0 (en) 1999-01-06
GB2332290A true GB2332290A (en) 1999-06-16

Family

ID=26312609

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9825009A Withdrawn GB2332290A (en) 1997-11-14 1998-11-16 Memory management unit incorporating memory fault masking

Country Status (1)

Country Link
GB (1) GB2332290A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006045755A3 (en) * 2004-10-25 2006-07-27 Bosch Gmbh Robert Method and device for increasing the availability of a memory unit and memory unit
CN103019873A (en) * 2012-12-03 2013-04-03 华为技术有限公司 Replacing method and device for storage fault unit and data storage system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1455743A (en) * 1973-06-13 1976-11-17 Ibm Data storage systems
US5553023A (en) * 1994-12-23 1996-09-03 Lsi Logic Corporation Memory partitioning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1455743A (en) * 1973-06-13 1976-11-17 Ibm Data storage systems
US5553023A (en) * 1994-12-23 1996-09-03 Lsi Logic Corporation Memory partitioning

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006045755A3 (en) * 2004-10-25 2006-07-27 Bosch Gmbh Robert Method and device for increasing the availability of a memory unit and memory unit
CN103019873A (en) * 2012-12-03 2013-04-03 华为技术有限公司 Replacing method and device for storage fault unit and data storage system
CN103019873B (en) * 2012-12-03 2016-08-10 华为技术有限公司 The replacement method of a kind of storage failure unit and device, data-storage system

Also Published As

Publication number Publication date
GB9825009D0 (en) 1999-01-06

Similar Documents

Publication Publication Date Title
US6052798A (en) System and method for remapping defective memory locations
US8312245B2 (en) Memory block management
US5974564A (en) Method for remapping defective memory bit sets to non-defective memory bit sets
US9213630B2 (en) Non-volatile memory devices and control and operation thereof
EP1700313B1 (en) Adaptive deterministic grouping of blocks into multi-block units
US8156279B2 (en) Storage device and deduplication method
US6230248B1 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
JP5739551B2 (en) Memory address conversion
EP1183606B1 (en) Address mapping in solid state storage device
JP4241911B2 (en) Information processing system
JPWO1997032253A1 (en) Semiconductor storage device equipped with partially defective memory
JP2002073412A (en) Access method to memory and memory
KR101061483B1 (en) Memory circuit and memory circuit access method, memory management system and memory management method
JPH05225046A (en) Memory subsystem which can be constituted
US20220292017A1 (en) Enhancing cache dirty information
JP3215919B2 (en) Memory management
GB2332290A (en) Memory management unit incorporating memory fault masking
US12530152B2 (en) Memory system for flexibly allocating compressed storage
US20090100245A1 (en) Device and method for memory addressing
JP2003122630A (en) Memory controller, flash memory system having memory controller, and method for controlling flash memory
JPH10275109A (en) Memory bank replacement system by hardware
EP0373594A2 (en) Computer memory having its output lines selected for connection to a data bus by the memory address
JPS5942896B2 (en) main storage
CN119537266A (en) Floating internal context memory
JPH04326436A (en) Cache controller

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)