CIRCUIT AND METHOD FOR ON-BOARD
PROGRAMMING OF PRD SERIAL
This invention relates generally to electronic devices, and more particularly to memory modules.
BACKGROUND OF THE INVENTION
In today's computer systems, a computer's random access memory (RAM) typically includes a number of memory modules, such as single in-line memory modules (SIMMs) and dual in-line memory modules (DIMMs). These memory modules include a number of individual memory chips mounted on a circuit board. The circuit board electrically connects the terminals of the chips to edge connectors located on a lower edge of the circuit board. The memory modules are then plugged into memory slots, which electrically connect the edge connectors of the memory module to other units within the computer system
Computer designers may choose from numerous available, standardized memory modules of various types, sizes and configurations. If each memory module can itself provide information identifying the type and size of the memory module to external circuitry, computer systems can be designed which are compatible with a wide variety of memory modules. Other components of the computer system simply access the information identifying the memory module and interact with the memory module accordingly.
There exist numerous and well-known ways of storing the information identifying the type and size of memory module. One such way is to provide a plurality of jumpers on the circuit board, the state of each of the jumpers indicating by binary code the type, size and configuration of memory module contained on the circuit board. Alternatively, a non-volatile memory device, such as a Serial EEPROM can be preprogrammed with the identifying code, and then mounted on the circuit board together with the volatile RAM units, such as dynamic random access memory devices (DRAMs).
SUMMARY OF THE INVENTION
According to the present invention, a memory module is provided which can be programmed with module information identifying the type and size of the memory module. This module information is conveniently programmed after completed assembly of the memory module. The memory module is configured to receive data from external circuitry for storing, and to provide stored data to the external circuitry. The memory module includes a plurality of terminals for electrically connecting the memory module to the external circuitry, and a plurality of volatile memory devices electrically connected to corresponding terminals for receiving and providing data from and to the external circuitry. The memory module includes a non-volatile memory device for storing the module information. The non-volatile memory device has a first port and a second port, with the first port electrically connected to a first of the terminals for providing the module information to the external circuitry. The second port of the non-volatile memory device is for receiving an enabling signal which selectively enables the non-volatile memory device to receive module information for storing within the non-volatile memory device or to provide the module information to the external circuitry.
The memory module also includes interface circuitry which couples the second port of the non-volatile memory
device with a second of the module terminals. The second terminal is for connecting to an electric potential which enables the non-volatile memory device to receive module information for storage. The second terminal is coupled to
5 the second port of the non-volatile memory with one of a number of possible circuit elements for temporarily connecting the second port of the non-volatile memory device with the second terminal. Examples of such circuit elements include a jumper, a low impedance unit, and a fuse.
10 In contrast with the prior art, which requires prograrnming the module information in the non-volatile device prior to assembly of the memory module, the coupling of the second port of the non-volatile memory device with the second module terminal provides for ready programming of the
15 module information after completed memory module assembly.
BRIEF DESCRIPTION OF THE DRAWINGS
20 FIG. 1 is a plan view showing the primary side of an assembled memory module which includes a plurality of volatile memory devices and a non-volatile memory device, according to the present invention. FIG. 2 is a part block, part schematic diagram showing the
25 non-volatile memory device and interface circuitry coupling terminals of the memory module to the non-volatile memory device.
FIG. 3 is a functional block diagram of a computer system according to the present invention.
DETAILED DESCRIPTION OF THE
A circuit and method for storing module information
35 identifying the type and size of a memory module is described. In the following description, numerous specific details are set forth, such as specific memory device types and circuit elements, in order to provide a thorough understanding of the preferred embodiment of the present inven
^ tion. It will be obvious, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known circuits and/or components have not been shown in detail in order not to unnecessarily obscure the present invention.
45 FIG. 1 shows the primary side of a memory module 10 according to the present invention. The module includes a substrate, such as a circuit board 12, on which a plurality of volatile memory devices, such as Dynamic Random Access Memory devices 14 (DRAMs), are mounted. Each of the
50 DRAMs 14 includes a plurality of pins 16, each of which is electrically connected to a corresponding one of a plurality of memory module terminals or edge connectors 18.
The memory module 10 also includes a non-volatile memory device, such as a Serial Electrically Erasable Read
55 Only Memory device 20 (SEEPROM), mounted on the circuit board 12. The SEEPROM 20 has a plurality of ports or pins 22, each of which is connected to a corresponding one of the edge connectors 18 of the memory module 10. The SEEPROM 20 stores module information identifying
60 the type and size of the memory module. For example, and without limitation, the memory module 10 depicted in FIG. 1 shows 8 DRAMs 14, each of which may be a 2MEGx8 device. The memory module 10 may thus function as a 2MEGx64 device, suitable for a variety of 64-bit applica
65 tions. However, depending on how the pins 16 of the DRAMs 14 are connected to the edge connectors 18, the memory module 10 may also function as a 16MEGx8