Browse Prior Art Database

Method for determining Illegal Memory DIMM Configuration Disclosure Number: IPCOM000031467D
Original Publication Date: 2004-Sep-27
Included in the Prior Art Database: 2004-Sep-27
Document File: 4 page(s) / 34K

Publishing Venue



A very fast method to find an errant memory DIMM configuration without the full search of the DIMMs to determine size and configuration.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 4

Method for determining Illegal Memory DIMM Configuration

    A method is disclosed that allows microcode on a processor based circuit board to determine an invalid configuration of DIMMs (Dual In-line Memory Module), report the error, and disallow any further processing.


    An electronic controller board, that is a circuit board assembled with a processor, memory, and other various logic, has two or more slots to where DIMMs can be plugged. Memory comes in different sizes. Because of the architecture of this board, if the two DIMMs are of different memory sizes, the larger of the two memory DIMMs cannot be in the a slot of higher number than a smaller DIMM. For example, if the bigger DIMM is in slot two and the smaller in slot 1, the board can function for sometime without error, but eventually will fail due to the bad configuration. Therefore, a method for determining the size of the DIMMs and disallowing the larger DIMM in a greater numbered slot needs to be developed.

    One could find out how big (i.e. how much memory) the DIMM contains by running a memory test to larger and larger portions of the memory space until the test failed, thus showing the size of memory. This is the common method to determine memory size, but this method is slow and cumbersome due to the high capacity of today's memory modules.


    This invention is a very fast and efficient method in microcode to disallow a bad memory configuration by using data contained in most computer memory DIMMs, accessed via a two wire I2C* interface, DIMM sizes compared, and continue or halt depending on the outcome. In the halt case, post a visible error message on the circuit board.

    This method is very fast. In implementation, the errant memory DIMM configuration can be determined in less than 1/4 of a second. The full memory search method can take minutes. Speed of finding the errant configuration is important for the user or installer because the system needs to be re-configured if the error is found.

    The speed is obtained by using DIMM size information contained in a data area of the DIMM memory module that can be accessed by a two-wire I2C interface.

    Microcode, via an I2C interface, reads selected bytes of a 128 byte block of data from each memory DIMM in each slot. This data block is referred to as the "Serial Presence-Detect Matrix" and is commonly used by most current memory DIMM manufacturers. Below is a portion of the description of the data block:

    Note: Data under the "(VERSION)" column is in decimal and gives the range of possible values; data under the "MODULE" columns are in hexadecimal and gives that...