WO2009024423A1 - Programmable diagnostic memory module - Google Patents
Programmable diagnostic memory module Download PDFInfo
- Publication number
- WO2009024423A1 WO2009024423A1 PCT/EP2008/059539 EP2008059539W WO2009024423A1 WO 2009024423 A1 WO2009024423 A1 WO 2009024423A1 EP 2008059539 W EP2008059539 W EP 2008059539W WO 2009024423 A1 WO2009024423 A1 WO 2009024423A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory module
- diagnostic
- program instructions
- command
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C2029/5602—Interface to device under test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
Definitions
- the present invention relates generally to processing system memory subsystems, and more particularly, to a diagnostic memory module that provides programmable functionality to observe and/or alter memory module behavior.
- Memory subsystems in present-day computer systems include multiple memory modules that provide system memory.
- memory modules that provide system memory.
- During design and manufacture of such computer systems and their elements such as processor blade units or motherboards, and in particular, dedicated memory controller units and processors incorporating a memory controller unit, it is desirable to evaluate features such as error detection and error correction, as well as design margins for memory performance such as read cycle delay and write cycle timing margins.
- Load devices that can be directly inserted in a standardized memory module socket have provided some simplification of memory controller and system design evaluation, in that test points can be provided while still providing a nominal load equivalent to an actual memory device.
- test modules typically have fixed signal loading values and replace a memory device with only passive loads and test points, in which the passive loads approximate the loading of an actual memory module.
- the inserted load device would have to be removed and another load device with different loading characteristics would have to be inserted.
- the test points provided are also not located at the exact location of storage that can be written to and read from, and therefore only provide for measurement of external memory bus signals. Further, testing error detection/correction mechanisms using such a device is still limited to techniques such as externally loading a test point until a fault occurs.
- the objective of providing flexible manipulation of memory subsystem behavior and information about signal behavior at the actual location of the storage, including signal behavior internal to the memory module, is provided in a diagnostic memory module and test method.
- the diagnostic memory module includes memory module interface terminals for connecting the diagnostic memory module to a memory subsystem in place of an ordinary memory module and an interface for communicating between the diagnostic memory module and an external diagnostic system.
- the diagnostic memory module may include programmable elements for altering the behavior of the memory module signals, such as output drivers with programmable drive strength, programmable loading circuits for changing an electrical load at the memory module interface terminals.
- the diagnostic memory module may also include a processor core for executing program instructions to perform diagnostic operations and the program instructions may be downloaded to the processor core from the external diagnostic system. Alternatively, dedicated logic can be provided to perform diagnostic operations in response to commands received from the interface.
- the processor core or dedicated logic may perform operations such as altering data streams written to the diagnostic memory module to simulate errors, alter the timing between address and data signals, and manipulating signals on terminals of the diagnostic memory module, for example power supply connections, in an analog domain, to inject noise.
- the diagnostic memory module may also include test points for providing access to signals of the diagnostic memory module by external test equipment.
- Figure 1 is a block diagram of a computer system having a diagnostic memory module in accordance with an embodiment of the invention installed, coupled to a workstation test system.
- Figure 2 is a block diagram of a diagnostic memory module in accordance with an embodiment of the invention.
- FIG 3 is a schematic diagram depicting details of programmable load/terminator 35 of Figure 2, in accordance with an embodiment of the invention.
- Figure 4 is schematic diagram depicting details of programmable buffers/delays 32 of Figure 2, in accordance with an embodiment of the invention.
- the present invention concerns a diagnostic memory module for performing test and evaluation of memory sub-system designs.
- the memory module is packaged for insertion into a standard connector that accepts ordinary memory modules, according to the physical design of the system and the memory module types accepted by the system.
- a dual inline memory module (DIMM) package is assumed in accordance with present-day popular packaging styles.
- DIMM dual inline memory module
- the diagnostic memory module of the present invention can be implemented in any style of packaging and for any memory device architecture.
- the diagnostic memory module of the present invention includes a programmable element, such as a processor core, for performing various operations within diagnostic memory module, such as varying the loading and timing relationships of the memory module interface signals, as well as altering the supposed contents of the memory module to affect errors.
- the diagnostic memory module may or may not contain a full storage array for implementing ordinary memory module functionality, and therefore the contents may be "supposed", as opposed to actually stored in an actual storage array. Instead, the contents of a write transfer may be stored in a buffer, altered and then returned in response to a write operation and therefore, the diagnostic memory module may or may not provide actual storage expected by software other than a test program for use with the diagnostic memory module.
- the diagnostic memory module of the present invention may be type-programmable, so that a single implementation of an integrated circuit embodying the memory module may be selectably adapted to emulate, for example DDR and DDR2 DRAM modules, with the appropriate changes to the physical interconnect scheme.
- the selection may be made under program control, by downloading a diagnostic memory module program into a program storage within the memory module, or may be made by a hardwired selection mechanisms such as jumpers or switches.
- the memory module may be programmable via the download mechanism described above, or the diagnostic program may be permanently stored or stored in a non-volatile memory supporting re- programmability.
- the programmable element and diagnostic program may be a processor core and associated program instructions, a dedicated logic, or a programmable logic array and associated programming code.
- a workstation computer 10 may be a personal computer, general-purpose workstation, or dedicated test computer system.
- Workstation computer system 10 includes a graphical display 16 for providing visual information to a user and may be used to monitor operational values received from embodiments of the present invention, as well as controlling settings and downloading program code that perform the methods of the present invention, by communication with a diagnostic memory module 20 within a target computer system 21.
- a keyboard 17A and a pointing device 17B are attached to workstation computer 10 for receiving user input.
- Workstation computer 10 includes a processor 12 coupled to a memory 14 that contains program instructions for execution by processor 12 including program instructions in accordance with embodiments of the present invention for controlling and receiving information from target computer system 21.
- Computer program products in accordance with embodiments of the present invention include media such as compact disc CD that stores encoded program instructions that may be read by CD-ROM drive 15 and stored in memory 14 for execution by processor 12.
- Target computer system 21 is illustrated in the form of a blade processor unit, as might be employed within a blade server system.
- Processor cores 24A and 24B are coupled to a level 3 cache unit 26 that is coupled to a memory controller unit (MCU) 28 that controls the transfer of program instructions and data between a memory subsystem and L3 cache unit 26.
- MCU memory controller unit
- the memory subsystem includes four DIMM slots for system memory, which in the illustrated embodiment are populated with three ordinary DIMMS 22 and a diagnostic DIMM 20 in accordance with an embodiment of the present invention.
- a tester interface 18 of workstation computer system 10 is coupled to diagnostic DIMM 20 via an interface such as a Joint Test Action Group (JTAG) interface, dedicated serial interface, scan chain interface, or any other communications link suitable for transferring data and programs/PGA configuration data between diagnostic DIMM 20 and workstation computer system 10.
- JTAG Joint Test Action Group
- the electrical connections between tester interface 18 may be via probes to the circuit board of diagnostic DIMM 20, via a cable to an additional connector on diagnostic DIMM 20, or via additional protocols added to a communications interface implemented in DIMM 20 via the ordinary DIMM connector as provided for DIMM power management and DIMM configuration information retrieval.
- Diagnostic DIMM 20 includes a connector 30 that connects to target system 20 via edge connector terminals 31 that provide connection for data signals D[0:N], address signals A[0:M] and control signals CTL.
- An optional storage array 38 provides for operation as an ordinary DIMM, and may be bypassed by processor core 34 for special diagnostic operations as will be described in further detail below.
- a buffer 33 is provided for simulating data read and data write operations that vary from the performance of operations performed to and from storage array 38.
- Processor core 34 can modify the contents of buffer 33 to simulate errors, and buffer 33 can also include ECC and/or parity bits so that either error indications or actual error conditions may be set after a write, so that a subsequent read operation yields the error condition. Error conditions such as total lane failure, single and multi-bit line failures and transient bit errors can be easily generated in any pattern.
- a programmable buffer/delay circuit 32 allows processor core 34 to set characteristics of the interface to and from buffer 33.
- the read output strength of buffer/delay circuit 32 can be set, along with a delay of address signals A[0:M], control signals CTL and/or data signals D[0:N], so that early/late timing relationships between the address, data and control signals can be explored to evaluate designs and operational systems to locate defects or borderline timing conditions and determine timing margins.
- a programmable load/terminator circuit 35 provides for variation of bus loading, timing and voltage characteristics, by programmable adjustment of bus termination/loading characteristics of A[0:M], control signals CTL and/or data signals D[0:N] by processor core 34.
- a noise generator circuit 37 which may be an analog circuit such as an analog-to-digital converter (ADC) coupled via a resistance to one or more of the signals on connector 30, or a digitally- switched circuit that affects signals on connector 30 in the analog domain, provides for simulation of noise effects in the memory subsystem, by injecting noise.
- noise generator circuits 37 may inject noise on power supply connection VDD of connector 30, and the magnitude/character of the noise is varied to observe effects on performance of either diagnostic DIMM 20 or ordinary DIMMS 22 of Figure 1.
- a register 41 receives a value from processor core 34 and controls a set of transistors N1-N4 that selectably couple any combination of termination resistors Rl and R2, which are connected to termination voltage sources Vl and V2, respectively to signals of connector 30 such as terminal T.
- Loading capacitors Cl and C2 are also selectably coupled to signals of connector 30 to vary the capacitive loading.
- a register 42 receives a value for setting a drive strength of a tri-state inverter implemented by transistors NlO and PlO, which is coupled to power supply rail VDD by transistors P11-P14 and to ground by transistor N11-N14.
- the gates of transistors P11-P14 and transistor N11-N14 are selectably enabled in combinations according to the values set in register 42, to change the source resistance of the tri-state inverter implemented by transistors NlO and PlO, which changes the slew rate/delay time provided by the corresponding output signal to terminal T.
- Programmable buffers/delay circuit 32 also provides a programmable input delay for an input signal received at terminal T by selecting a tap from a delay chain formed by inverters 11-16 using a multiplexer 43, having a selection controlled by bits provided from register 42.
- the above-described embodiment provides, programmable bus line loading, delays and data manipulation that can simulate a wide range of operating and error conditions.
- Various programs may be downloaded to processor core 34 and used to execute test patterns that can verify and diagnose errors in memory subsystem designs.
- the above-described embodiment also provides the ability to generate noise on power supplies and/or bus lines to aggravate operating conditions to test the robustness of memory subsystem designs.
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010520519A JP5147942B2 (en) | 2007-08-17 | 2008-07-21 | Programmable diagnostic memory module |
EP08775264A EP2179421B1 (en) | 2007-08-17 | 2008-07-21 | Programmable diagnostic memory module |
DE602008004169T DE602008004169D1 (en) | 2007-08-17 | 2008-07-21 | PROGRAMMABLE DIAGNOSTIC MEMORY MODULE |
AT08775264T ATE492886T1 (en) | 2007-08-17 | 2008-07-21 | PROGRAMMABLE DIAGNOSTIC MEMORY MODULE |
CN2008801032040A CN101785066B (en) | 2007-08-17 | 2008-07-21 | Programmable diagnostic memory module |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/840,481 US7739562B2 (en) | 2007-08-17 | 2007-08-17 | Programmable diagnostic memory module |
US11/840,481 | 2007-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009024423A1 true WO2009024423A1 (en) | 2009-02-26 |
Family
ID=39929531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2008/059539 WO2009024423A1 (en) | 2007-08-17 | 2008-07-21 | Programmable diagnostic memory module |
Country Status (8)
Country | Link |
---|---|
US (1) | US7739562B2 (en) |
EP (1) | EP2179421B1 (en) |
JP (1) | JP5147942B2 (en) |
KR (1) | KR101039226B1 (en) |
CN (1) | CN101785066B (en) |
AT (1) | ATE492886T1 (en) |
DE (1) | DE602008004169D1 (en) |
WO (1) | WO2009024423A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255208A (en) * | 2010-05-21 | 2011-11-23 | 鸿富锦精密工业(深圳)有限公司 | Riser card |
CN102354537B (en) * | 2011-07-06 | 2014-03-05 | 华中科技大学 | Method for testing chip of phase change memory |
US9280859B2 (en) * | 2012-10-08 | 2016-03-08 | Toyota Motor Engineering & Manufacturing North America, Inc. | Enhanced vehicle onboard diagnostic system and method |
TWI492054B (en) * | 2012-11-05 | 2015-07-11 | Phison Electronics Corp | Simulator and simulating method for flash memory |
EP2759939B1 (en) | 2013-01-29 | 2016-06-08 | dSPACE digital signal processing and control engineering GmbH | Method for manipulating a memory operation of a control device program on a virtual or real storage device |
KR101254091B1 (en) | 2013-02-26 | 2013-04-15 | 주식회사 이산 | The distributing board with both earthquake and waterproof structure |
CN104697513B (en) * | 2013-12-10 | 2017-12-22 | 惠州市德赛西威汽车电子股份有限公司 | multimedia navigation instrument |
US20160124888A1 (en) * | 2014-10-31 | 2016-05-05 | William Michael Gervasi | Memory Bus Loading and Conditioning Module |
US11915739B2 (en) * | 2021-12-21 | 2024-02-27 | Micron Technology, Inc. | On-chip device testing circuit that generates noise on power bus of memory device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4354268A (en) * | 1980-04-03 | 1982-10-12 | Santek, Inc. | Intelligent test head for automatic test system |
US6467053B1 (en) * | 1999-06-28 | 2002-10-15 | International Business Machines Corporation | Captured synchronous DRAM fails in a working environment |
DE10344877B3 (en) * | 2003-09-26 | 2004-12-30 | Infineon Technologies Ag | Testing and monitoring circuit with interface card for data storage module has motherboard carrying storage module, microcontroller EEPROM, timing generator and interface card voltage source |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314034B1 (en) * | 2000-04-14 | 2001-11-06 | Advantest Corp. | Application specific event based semiconductor memory test system |
JP2002050195A (en) * | 2000-08-03 | 2002-02-15 | Hitachi Ltd | Memory evaluating system |
JP3785389B2 (en) * | 2002-09-19 | 2006-06-14 | 株式会社バッファロー | Auxiliary module and control method of auxiliary module |
US6832141B2 (en) * | 2002-10-25 | 2004-12-14 | Davis Instruments | Module for monitoring vehicle operation through onboard diagnostic port |
DE10300781B4 (en) | 2003-01-11 | 2014-02-06 | Qimonda Ag | Memory module, test system and method for testing one or more memory modules |
US7184915B2 (en) | 2003-03-20 | 2007-02-27 | Qualcomm, Incorporated | Tiered built-in self-test (BIST) architecture for testing distributed memory modules |
US7392442B2 (en) | 2003-03-20 | 2008-06-24 | Qualcomm Incorporated | Built-in self-test (BIST) architecture having distributed interpretation and generalized command protocol |
US6996648B2 (en) * | 2003-05-28 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Generating notification that a new memory module has been added to a second memory slot in response to replacement of a memory module in a first memory slot |
US7210059B2 (en) * | 2003-08-19 | 2007-04-24 | Micron Technology, Inc. | System and method for on-board diagnostics of memory modules |
US7353328B2 (en) * | 2004-03-29 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Memory testing |
US7206979B1 (en) | 2004-06-28 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for at-speed diagnostics of embedded memories |
DE102004051344A1 (en) | 2004-10-21 | 2006-05-04 | Infineon Technologies Ag | Semiconductor-component test device e.g. for testing integrated computing circuits, uses shift register with additional memory device for tapping further pseudo-random value |
US7356737B2 (en) * | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US7395476B2 (en) | 2004-10-29 | 2008-07-01 | International Business Machines Corporation | System, method and storage medium for providing a high speed test interface to a memory subsystem |
KR100703969B1 (en) | 2005-04-07 | 2007-04-06 | 삼성전자주식회사 | Apparatus for testing memory module |
US7250784B2 (en) | 2005-06-29 | 2007-07-31 | Marvell International Ltd. | Integrated systems testing |
JP2007304919A (en) * | 2006-05-12 | 2007-11-22 | Akiyoshi Shiina | Memory module maintenance device |
JP2008009991A (en) * | 2006-06-29 | 2008-01-17 | Hynix Semiconductor Inc | Dual in-line memory module and test system therefor |
US20080082221A1 (en) * | 2006-07-14 | 2008-04-03 | David Nagy | System for monitoring, controlling, and reporting vehicle operation through onboard diagnostic port |
-
2007
- 2007-08-17 US US11/840,481 patent/US7739562B2/en not_active Expired - Fee Related
-
2008
- 2008-07-21 JP JP2010520519A patent/JP5147942B2/en not_active Expired - Fee Related
- 2008-07-21 WO PCT/EP2008/059539 patent/WO2009024423A1/en active Application Filing
- 2008-07-21 CN CN2008801032040A patent/CN101785066B/en not_active Expired - Fee Related
- 2008-07-21 AT AT08775264T patent/ATE492886T1/en not_active IP Right Cessation
- 2008-07-21 KR KR1020107003434A patent/KR101039226B1/en not_active IP Right Cessation
- 2008-07-21 EP EP08775264A patent/EP2179421B1/en active Active
- 2008-07-21 DE DE602008004169T patent/DE602008004169D1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4354268A (en) * | 1980-04-03 | 1982-10-12 | Santek, Inc. | Intelligent test head for automatic test system |
US6467053B1 (en) * | 1999-06-28 | 2002-10-15 | International Business Machines Corporation | Captured synchronous DRAM fails in a working environment |
DE10344877B3 (en) * | 2003-09-26 | 2004-12-30 | Infineon Technologies Ag | Testing and monitoring circuit with interface card for data storage module has motherboard carrying storage module, microcontroller EEPROM, timing generator and interface card voltage source |
Also Published As
Publication number | Publication date |
---|---|
US20090049339A1 (en) | 2009-02-19 |
US7739562B2 (en) | 2010-06-15 |
JP2010537264A (en) | 2010-12-02 |
ATE492886T1 (en) | 2011-01-15 |
EP2179421B1 (en) | 2010-12-22 |
EP2179421A1 (en) | 2010-04-28 |
CN101785066B (en) | 2013-08-28 |
DE602008004169D1 (en) | 2011-02-03 |
JP5147942B2 (en) | 2013-02-20 |
KR20100046197A (en) | 2010-05-06 |
CN101785066A (en) | 2010-07-21 |
KR101039226B1 (en) | 2011-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739562B2 (en) | Programmable diagnostic memory module | |
US11862267B2 (en) | Multi mode memory module with data handlers | |
US6571370B2 (en) | Method and system for design verification of electronic circuits | |
US7730369B2 (en) | Method for performing memory diagnostics using a programmable diagnostic memory module | |
US9152520B2 (en) | Programmable interface-based validation and debug | |
US6801869B2 (en) | Method and system for wafer and device-level testing of an integrated circuit | |
US20060156092A1 (en) | Memory technology test apparatus | |
WO2002029824A2 (en) | System and method for testing integrated circuit devices | |
US7203872B2 (en) | Cache based physical layer self test | |
US7313729B2 (en) | Low-cost debugging system with a ROM or RAM emulator | |
US4156132A (en) | Automatic fault injection apparatus and method | |
US8516305B2 (en) | Power dissipation test method and device therefor | |
TW200915330A (en) | Method for performing memory diagnostics using a programmable diagnostic memory module | |
US7539902B2 (en) | Application level testing of instruction caches in multi-processor/multi-core systems | |
CN117234831B (en) | Chip function test method and system based on multi-core CPU | |
US7472328B1 (en) | Automatic testing of microprocessor bus integrity | |
WO2001035110A1 (en) | Method and system for wafer and device-level testing of an integrated circuit | |
Raval et al. | DFT methodology for memory testing on lower technological node | |
JP2000259441A (en) | Debugging circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200880103204.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08775264 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008775264 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010520519 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 20107003434 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |