System for determining pluggable memory characteristics

Abstract: A system is described that includes an arithmetic logic unit that senses the presence of a circuit module (10) in a connector (22), wherein one type of circuit module, if present, automatically provides a set of signals on a predetermined pin set (PD1-PD4) that indicates characteristics of the circuit module (10). The system also includes circuitry that enables the determination of the presence of other types of pluggable circuit modules in the connector. The circuitry comprises a latch circuit (14) for holding a received address for the circuit module (10). In the received address, a preset field of bits is present which identifies a field in a status register. The status register (18) stores n fields of information defining the characteristics of the pluggable circuit module (10) and is responsive to the preset field of hits to provide signals on the predetermined pin set (PD1-PD4) indicating the information.

Description: SYSTEM FOR DETERMINING PLUGGABLE MEMORY CHARACTERISTICS FIELD OF THE INVENTION This invention relates to pluggable memory modules, and more particularly, to a system for determining the characteristics of a memory module when it is inserted into a standard connector receptacle. BACKGROUND OF THE INVENTION Over the last several years, a type of memory board has come into use called the SIMM (single in-line memory module). There are many types of SIMMs (i.e., 30 pins, 72 pins, and 80 pins). Typically, such modules are used for dynamic random access memories (DRAMs) and have predefined pin-out assignments. At present, the 72 pin SIMM sees the widest use in industry. for each of these SIMMs, an industry standard exists that defines the signals to be found on each pin. Thus, any DRAM that adheres to the SIMM standard and is plugged into a receiving connector provides, at the output pins of the connector, known signal levels and data. SIMMs are described in the article entitled "DRAMS in der Übersicht" published at pages 375-380 in C'T Magazin für Computer Technik, No. 11, November 1990. Since DRAMs are ubiquitous in data processing systems, SIMM-connectors see wide usage therein. In such systems, it is also the case that other types of memory modules are used, although not in such large quantities. For instance, such other memory types include read-only memories; electrically erasable, programmable read-only memories; and battery-backed static random-access memories. Additional expense is required if special connectors must be provided to accommodate the different types of memory modules. In addition, there are also certain DRAMs which do not meet the SIMM pin-out standard and also require special connector sockets. In one industry standard for 72 pin DRAM SIMMs, four output pins are assigned to a "presence detect" function. When such a SIMM is plugged into a connector on a mother board, its presence detect pins are connected, via a resistance, to a power supply. Two of the four pins indicate one of four logic states which tells the user that the memory is one of four predefined sizes. The other two pins use three logic states to define one of three speeds. The fourth logic state (i.e., both speed pins at the high or one state) tells the user that the SIMM connector is empty. If a SIMM connector is to be utilized for other types of memory modules, it is important that the presence detect pins retain their standard output states so as to enable their continued usage for standard SIMM DRAMs, in addition to other memory modules. In addition to the four-pin presence detect standard, others have employed various methods and means for determining the configuration of modular memories. DeVoy, et al., in U.S. Patent 3,803,560 describe a modular memory system which, in response to command signals, removes modules detected as faulty and reconfigures the remaining modules to form a continuous address space. In U.S. Patent RE 31,318 to Kaufman et al., a system is described for automatically setting the address ranges of memory modules in a continuous bank of memory modules. Each module includes an address range calculator, an address range detector, a local memory unit and memory cell selection logic. In operation, a processor generates a starting address signal for a first installed memory module. The address range for an individual memory module is calculated by adding the local memory unit capacity to the module's starting address to arrive at the module's ending address. This action ripples through additional memory modules until the last memory module generates an address signal which represents the upper boundary of the memory system. One problem of the prior art SIMMs is that there are limits to the number of standardized SIMMs which can be sensed by a computer system due to the limited number of combinations and permutations of codes (16) available on the four "presence detect" pins used in the prior art. It is an object of this invention to provide a modular memory arrangement wherein standard SIMM connectors are useable by all memory modules including DRAMs. It is another object of this invention to provide a modular memory system wherein a memory module, upon being addressed, automatically provides information detailing the module's characteristics. It is yet another object of this invention to provide a memory module that does not adhere to a predetermined standard for presence detect output pins, but is yet able to interface with a standard SIMM connector by internal control circuitry. SUMMARY OF THE INVENTION A system is described that includes an arithmetic logic unit that senses the presence of a circuit module in a connector, wherein one type of circuit module, if present, automatically provides a set of signals on a predetermined pin set that indicates characteristics of the circuit module. The system also includes circuitry that enables the determination of the presence of other types of pluggable circuit modules in the connector. The circuitry comprises a latch circuit for holding a received address for the circuit module. In the received address, a preset field of bits is present which identifies a field in a status register. The status register stores n fields of information defining the characteristics of the pluggable circuit module and is responsive to the preset field of bits to provide signals on the predetermined pin set indicating the information. The present invention also provides a method of identifying the electrical characteristic of a pluggable memory module, which includes the steps of: receiving an address sent to said pluggable memory module, and decoding selected bits of said address and outputting the contents of a memory address of a status register corresponding to said selected bits on presence detect pins of said memory module, said status register permanently storing information identifying the electrical characteristic of said memory module. DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram illustrating the major subcomponents of the invention; Fig. 2 is a schematic of the contents of the status register shown in Fig. 1; DETAILED DESCRIPTION OF THE INVENTION As has been described above, industry standards exist for DRAM SIMMs. In such standards, four presence detect pins on the SIMM connector are assigned to provide indications regarding the size and speed of a memory module connected thereinto. This invention provides the ability to recognize when a non-standard memory module is inserted into a standard SIMM connector and to determine the characteristics of the non-standard module via the presence detect pins, while preserving the connector's ability to also receive standard DRAM SIMMs. In Fig. 1, a block diagram indicates the structure of the invention. Dotted box 10 indicates a pluggable memory module which includes four memory assemblies 12, an address latch 14 and a status register 18. Address latch 14 receives memory addresses (and RAS and CAS control signals) over bus 16. Address latch 14 demultiplexes the memory addresses and places them in an intermediate storage contained therein. A predetermined field of bits within the memory address stored in address latch 14 is used to address memory positions in a status register 18, as well as being part of the overall memory address directed to one of memory assemblies 12. Bus 28 extends between address latch 14 and status register 18 and includes individual lines from the bit positions in the memory address's predetermined field in address latch 14. The values stored in these bit positions, when decoded, address a memory position in status register 18. As shown in Fig. 2, status register 18 contains n four-bit memory positions which contain four-bit codes that define characteristics of memory module 10. Eight four-bit code positions are shown and may be addressed by three bits in a received memory address. Of course, additional fields could also be provided, but a longer field address would be required. The first (0'th) field in status register 18 includes all 1 bits (whose functions will be described below). Succeeding fields include code which indicates memory type, memory speed, memory size per bank, number of banks, number of first words, burst timing, etc. Bit fields within status register 18 are read out via output lines 20 to a SIMM connector 22, where they appear on presence detect output pin PD1-PD4. From there, they are transmitted to an arithmetic logic unit (ALU) 24 which provides overall control of the memory system. In the known manner, ALU 24 provides address bits via SIMM connector 22 to address latch 14. In addition, it provides RAS and CAS control signals (also via bus 16) to address latch 14. The operation of ALU 24 is modified from that utilized with standard DRAM SIMMs. Previously, ALU 24 would merely examine presence detect pins PD1-PD4 to determine if all were at the one state. If so, no DRAM SIMM was present. If one of 15 other logic states was manifest on PD1-PD4, ALU 24 sensed those states and configured itself accordingly. Now, ALU 24 initiates a memory configuration operation by generating a memory address which has a three bit field (e.g., bits 13-15 of a 22 bit address) which addresses the first field in status register 18 (e.g., three zero bits). The memory address provided from ALU 24 will generally be 22 bits in length and will be provided, via bus 26, in two segments of 11 bits each. The memory address can designate any address within memory subassemblies 12, so long as it contains the requisite three-bit address for the first field in status register 18. Address latch 14 demultiplexes the two 11-bit address segments (by using RAS and CAS control signals) and stores the address. Status register logic 15 detects the presence, in the latched address, of three bits which address the first field position in status register 18. As a result, a signal is emplaced on bus 28 that causes the four bits in the first field in status register 18 to be placed on conductors 20 where they appear on presence detect pins PD1-PD4. As will be recalled, all four bits are ones. At the same time the initial field from status register 18 is being read out, a memory access occurs in accordance with the address stored in address latch 14. However, ALU 24 ignores the data read out from the addressed memory position. As a result of all ones being manifest on presence detect pins PD1-PD4, ALU 24 does not know whether SIMM connector 22 is empty or has a non-standard memory module plugged in. ALU 24, as a result, generates a second memory address that includes a three-bit address of the second field within status register 18. The second field in status register 18 is predefined as never having all ones. Since, as shown in Fig. 2, the second field indicates the memory type, 15 separate memory types can be encoded by various bit groupings. If a memory module is installed in connector 22, in response to a second address being stored in address latch 14, status register 18 will read out the requisite memory type onto pins PD1-PD4. At this point, ALU 24 knows that a non-standard memory module is present in SIMM connector 22 and has identified the specific memory type. ALU 24 now continues to generate memory addresses that contain bit fields for sequentially addressing the remaining fields within status register 18. Once all eight fields in status register 18 have been accessed, the next memory address generated (i.e., "9") has all zeros in the status register bit field and results in the addressing of field "0" in status register 18. As a result, ones are impressed on presence detect pins PD1-PD4, and ALU 24 then knows that status register 18 has completed its readout. Alternatively, ALU 26 can be preprogrammed to only recognize a predetermined number of fields within status register 18. As aforedescribed, while each of the addresses provided to address latch 14 enables a memory position to be read out of one of memory assemblies 12, the actual data that is passed through SIMM connector 22 to ALU 24 is ignored. It may occur that no memory module resides in connector 22. In such case, upon ALU 24 generating a second memory address, the levels on PD1-PD4 all remain unchanged, at the one level. Two successive outputs of all ones on PD1-PD4 are recognized by ALU 24 as indicating that no memory module is present. An advantage of this system is that actual memory addresses can be utilized to access status register 18 and its stored information. Additional memory positions do not, therefore, need to be reserved for status register readout. Furthermore, while status register 18 has been shown as having four bits in each of its fields, more can obviously be provided, as can additional information fields. Likewise, while the invention has been described in the context of memory systems, it is equally applicable to other systems that employ discrete types of pluggable modules. It should be understood that the foregoing description is only illustrative of the invention. Various alternatives and modifications can be devised by those skilled in the art without departing from the invention. Accordingly, the present invention is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.

Claims: A system wherein an arithmetic logic unit (24) senses the presence of a circuit module (10) in a connector (22), the circuit module including an address latch (14) for holding a received address for said circuit module (10), and wherein one type of circuit module, if present, automatically provides a set of signals on a predetermined pin set (PD1-PD4) of said connector (22) indicating characteristics of said one type of circuit module, said system identifying the presence of other types of pluggable circuit modules in said connector, and characterized by: means (28) for transmitting a predetermined field of bits, in said received address, which field identifies a storage field in a status means (18); and said status means (18) for storing n fields of information concerning said pluggable circuit module (10), where n is greater that one, and responsive to an indication from said address latch (14) to provide signals on said predetermined pin set (PD1-PD4) indicating said information. The system as recited in Claim 1 further characterized in that said arithmetic logic unit (24) is responsive to bit information on said predetermined pin set (PD1-PD4), to generate additional addresses, each said additional address including a set of bits in said predetermined field which identifies an additional one of said n fields of information in said status means (18), whereby said status means (18) responds by providing said information to said pin set (PD1-PD4). The system as recited in Claim 2 further characterized in that said arithmetic logic unit (24) ignores outputs from said circuit module (10) in response to said generated addresses, other than signals appearing on said predetermined pin set (PD1-PD4). The system as recited in Claim 3, further characterized in that each said circuit module (10) is a memory module and said one type of circuit module is a DRAM. The system as recited in Claim 4 further characterized in that said status means (18) responds to an address of a first of its n fields by providing all one level signals on said predetermined pin set (PD1-PD4), said arithmetic logic unit (24) responsive thereto to generate signals that address additional fields in said status means (18), whereby said status means (18) provides to said predetermined pin set (PD1-PD4), information resident in said additional fields. The system as recited in Claim 5 further characterized in that, said arithmetic logic unit (24) continues to generate additional address signals until all one level signals are again sensed on said predetermined pin set (PD1-PD4). The system as recited in Claim 5 further characterized in that said arithmetic logic unit (24) continues to generate additional address signals until a predetermined number of fields have been accessed. The system as recited in Claim 4 further characterized in that RAS and CAS signals are employed to latch a full address into said address latch (14). A memory module adapted to be connected to a computer by means of connector (22), said connector including a pin set (PD1-PD4) for testing for the presence and non-presence of one of a predetermined set of standard memory modules in said connector and wherein said pin set (PD1-PD4) also provides for further testing the particular type of memory module installed in said connector based upon a binary address found at said pin set, said memory module characterized by: (1) a status register (18) for storing data defining the characteristics of said memory module and for storing a code representing the non-presence of a memory module in said connector; and (2) addressable means (14, 16, 20, 28) for reading out the contents of said status register to said pin set when said module is inserted in said connector, said means initially reading out said code representing the non-presence of a memory module in said connector and, thereafter, in response to one or more inquiries from said computer (24), reading out data defining the characteristics of said memory module. The memory module of Claim 9, wherein said means for reading out the contents of said status register comprises an address latch (14), said latch receiving a multibit word from said computer via said connector (22), selected bits of said multibit word being used as an address for said status register (18) and communicated over a bus (28) coupling said address latch (14) and said status register (18). The memory module of Claim 10, wherein said status register (18) includes means for decoding the address communicated over said bus (28). A method of identifying the electrical characteristic of a pluggable memory module comprising the steps of: (a) receiving an address sent to said pluggable memory module, and (b) decoding selected bits of said address and outputting the contents of a memory address of a status register corresponding to said selected bits on presence detect pins of said memory module, said status register permanently storing information identifying the electrical characteristic of said module. The method Claim 12, wherein said memory module includes addressable memory, said addressable memory outputting stored data in response to the address transmitted to said memory module. The method of Claim 13, wherein said memory module is installed in a computer having a CPU, said CPU generating address to said memory module which include said selected bits which address the contents of said status register; said CPU further detecting the data appearing on said presence detect pins to identify the electrical characteristics of said memory module.

Inventors: ALLEN GREG L, KIM JAE-HU, WATSON LYNN R, ALLEN, GREG L., KIM, JAE-HU, WATSON, LYNN R.
Applicants: HEWLETT PACKARD CO, HEWLETT-PACKARD COMPANY
Application year: 1992
Main classification: G06F12
IPC codes: G06F12