An apparatus and method for a processor-memory unit for use in system-in-package (SiP) and system-in-package (SiP) integrated circuit devices. The apparatus includes a processing module, a memory module and a programmable system module. The programmable system module is configured to function as an interface between the memory module and the processing module, or as an interface between the memory module and a testing device. The invention facilitates integration and testing of processor-memory units including functional components having different communication protocols.
|
33. A processor-memory unit comprising:
a processing module and a memory module both included in one of a system-in-package (SiP) and a system-in-module (SiM) device, the memory module including at least one memory bank, wherein the processing module and the memory module utilize different data exchange protocols; and
programmable means for providing signal or protocol compatibility between the processing module and the memory module, and for testing the memory module and the processing module.
1. A processor-memory unit comprising:
a processing module and a memory module both included in one of a system-in-package (SiP) and a system-in-module (SiM) device, the memory module including at least a first memory bank; and
a programmable system module coupled to the processing module and to the memory module, the programmable system module being programmable to act as an interface between the processing module and the memory modules such that the processing module and the memory module may utilize different data exchange protocols and have command and data interfaces with different widths.
18. A method comprising:
programming a system module to provide signal or protocol compatibility between a processing module and a memory module, the memory module including at least one memory bank, wherein the processing module and the memory module utilize different data exchange protocols and are configured for inclusion in one of a system-in-package (SiP) and a system-in-module (SiM) device; and
facilitating data and command interfaces between the processing module and the system module and data and command interfaces between the system module and the memory module to allow information exchange between the processing module and the memory module through the system module.
2. The processor-memory unit of
3. The processor-memory unit of
4. The processor-memory unit of
5. The processor-memory unit of
6. The processor-memory unit of
7. The processor-memory unit of
8. The processor-memory unit of
9. The processor-memory unit of
10. The processor-memory unit of
11. The processor-memory unit of
12. The processor-memory unit of
modification of configuration settings of the converter;
modification of configuration settings of the DRWCS module;
replacement of defective memory cells in the memory module with the redundant memory cells; and
testing of portions of the memory module and the processing module.
13. The processor-memory unit of
14. The processor-memory unit of
15. The processor-memory unit of
16. The processor-memory unit of
17. The processor-memory unit of
19. The method of
20. The method of
21. The method of
22. The method of
23. The method of
a processor or ASIC interface module coupled to the processing module,
a programmable data or command converter, and
a memory interface module coupled to the memory module.
24. The method of
signal or protocol compatibility between communicating components of the processing module and the memory module, or
scheduling of information exchanges between the processing module and the memory module.
25. The method of
26. The method of
27. The method of
modifying configuration settings of the converter;
modifying configuration settings of the DRWCS module;
substituting defective memory cells in the memory module with the redundant memory cells; and
testing of at least portions of the memory module and the processing module.
28. The method of
29. The method of
30. The method of
31. The method of
32. The method of
|
This application is a continuation of, and hereby claims priority under 35 U.S.C §120 to, U.S. patent application Ser. No. 11/208,099, entitled “PROCESSOR-MEMORY UNIT FOR USE IN SYSTEM-IN-PACKAGE AND SYSTEM-IN-MODULE DEVICES,” by inventors Adrian E. Ong and Naresh Baliga, filed on 18 Aug. 2005, which is hereby incorporated by reference.
1. Field of the Invention
The present invention generally relates to the field of integrated circuit devices and, in particular, system-in-package and system-in-module integrated circuit devices.
2. Description of the Related Art
Large integrated circuit (IC) devices may be fabricated as system-on-chip (SoC), system-in-package (SiP), and system-in-module (SiM) devices. In a SoC device, various functional components (e.g., processors, application-specific integrated circuits (ASICs), memory devices, and the like) are integrated onto a die. Accordingly, in a SiP device or a SiM device, different types and generations (e.g., versions) of SoC devices are combined in a single package (SiP device), assembly or module (SiM device), the package, assembly or module including several SoC and/or SiP devices.
SiP and SiM devices are not limited by constraints associated with the size of the die and use of a common fabricating process for individual functional components of a single-die IC device. As such, the SiP and SiM devices can be designed and manufactured for a different range of specific functions than SoC devices.
System integration within a SiP or SiM device, including different functional components each developed to a unique specification, may represent a problematic task. Conventionally, signal/protocol compatibility of various combinations of a processor (e.g., ASIC) and memory devices (such combinations are referred herein as “processor-memory units”) is accomplished by using specialized circuits matching interfacing requirements of component devices of the processor-memory unit, as well as facilitating testability of the component devices. However, this approach requires development of a large number of narrowly specialized interfacing and testing circuits and, therefore, is inefficient
Therefore, there is a need in the art for improved systems and methods for a processor-memory unit for use in SiP and SiM devices.
Various deficiencies of the prior art are addressed by the present invention of a processor-memory unit for use in SiP or SiM devices. Various embodiments of the processor-memory unit facilitate system integration and testing of component functional devices of the processor-memory unit. In various embodiments, such functional devices include various types of processors, ASICs, and/or memory devices.
In various embodiments of the invention, a processor-memory unit includes at least one processor and/or at least one ASIC, a memory module including at least one memory bank, and a programmable system module. A memory bank may include one or more memory storage devices (e.g., memory cells). The system module is programmable to provide signal/protocol compatibility for communications between a processing module (including the processor and/or ASIC) and the memory module, as well as in-situ testing of these modules. Each of the processing module and memory module may comprise devices having different component functionality (e.g., different processors and/or memory banks, communication protocols, etc.). The programmable features of the system module are used to provide compatibility between these various component functionalities, without the need to provide a different specialized circuit for each possible combination of components.
Various embodiments of the invention include methods of facilitating system-level compatibility and testability of the modules and component functional devices of the processor-memory unit.
Various embodiments of the invention include a processor-memory unit comprising a processing module including at least one processor or at least one logic application-specific circuit (ASIC), the processing module being included in a system-in-package (SiP) or system-in-module (SiM) device, a memory module including at least a first memory bank, and being including in the same in a system-in-package (SiP) or system-in-module (SiM) device as the processing module, and a programmable system module coupled to the processing module and the memory module, the programmable system module being programmable to provide signal/protocol compatibility between the processing module and the memory module.
Various embodiments of the invention include a method comprising (a) receiving a processing module including at least one processor and/or at least one logic application-specific circuit (ASIC), (b) receiving a memory module including at least one memory bank, (c) receiving a programmable system module coupled to the processing module and the memory module, the processing module, memory module and programmable system module being configured for inclusion in a system-in-package (SiP) or system-in-module (SiM) device, (d) programming the system module to provide signal/protocol compatibility between the processing module and the memory module, (e) facilitating data and command interfaces between the processing module and the system module, (f) facilitating data and command interfaces between the system module and the memory module, and (g) exchanging information between the processing module and the memory module using the system module.
The teachings of the present invention will become apparent by considering the following detailed description in conjunction with the accompanying drawings, in which:
The appended drawings illustrate exemplary embodiments of the invention and, as such, should not be considered limiting the scope of the invention that may admit to other equally effective embodiments.
Various embodiments of the invention generally relate to a processor-memory unit for inclusion in a SIP or SiM device. The processor-memory unit includes a system module configured to facilitate system integration and/or testing of different types of modules and component functional devices (e.g., different types of processors, ASICs, and/or memories) within the processor-memory unit.
Some embodiments of the invention may be advantageously utilized in consumer products, such as digital cameras, gaming devices, media players, and the like. It will be appreciated by those skilled in the art that the invention may also be equally efficiently utilized within the context of other computerized products and devices.
In the embodiments depicted by
In various embodiments, the processing module 110 includes at least one processor (processors 112 and 114 are illustratively shown) and/or at least one logic ASIC (not shown), which optionally use the same bus 111 and optionally have the same or similar interfacing requirements for communicating to memory devices. The memory module 130 may consist of at least one memory bank 132 (memory banks 1321-132N are shown, where N is an integer and N≧1). Because system module 120 is used as an interface between memory module 130 and processing module, each of the memory banks 132 may utilize a different data exchange protocol (e.g., read/write protocol) and different clock signals, and use command and data interfaces 136 and 138 having different widths.
The memory module 130 may comprise the memory banks 132 having different types of the memory cells. The memory module 130 may comprise the memory banks 132 each having different types of the memory cells. For example, the memory banks 132 may comprise arrays of dynamic random access memory (DRAM) cells, static random access memory (SRAM) cells, FLASH memory cells, reduced latency DRAM (RLDRAM) cells, fast-cycle DRAM (FCDRAM) cells, Rambus™ DRAM (RDRAM) cells, and/or double data rate DRAM (DDR DRAM) cells, among other types of memory cells.
The illustrated embodiments of bus 111 includes, for the purpose of example, a command interface 102, a data interface 104, a test data interface 106 and a test command interface 108. In the PMU 100, the system module 120 may be configured to be compatible with an optional external automatic test equipment ATE 150. For example, in some embodiments, system module 120 is configured such that the interfaces 106 and 108 are coupled to, and are pin-compatible with, respectively, interfaces 152 and 154 of external automatic test equipment (ATE) 150. Optionally, interface 152 is configured for communicating test data and interface 154 is configured for communicating test commands. As such, the ATE 150 may be used, without additional interfacing means, for post-assembly testing and monitoring performance and/or data exchanges between the modules 110, 120 and 130 and/or their functional components. ATE 150 is optionally an unmodified prior art test equipment device.
In some embodiments, the system module 120 comprises a processor/ASIC and ATE interface (PAI) module 122, a programmable data/command converter 124, a memory interface module (MIM) 126, and an optional controller 140. The module 122 is coupled to the converter 124 and the converter 124 is coupled to the MIM 126 using interfaces 162 and 164, respectively. The controller 140 is, typically, selectively coupled to the modules 122, 124, and 126, for example by a means of interfaces 166-168.
Programmable data/command converters under the trade name SiPLINK™ are available from Inapac Technology, Inc. of San Jose, Calif. Salient features of the converter adapted for use in the PMU 100 are discussed herein, for example in reference to
In various embodiments, the controller 140 comprises a programmable logic circuit 142 and a memory bank 144 of, optionally non-volatile (NV), memory cells. A portion 146 of the memory bank 144 is allocated for storing one or more programs executing internal test routines and performance monitoring routines in the PMU 100, as well as for storing pre-programmed configuration settings for the system module 120. The remaining portion (not shown) of the memory bank 144 comprises one or more redundant memory cells, which are optionally used for replacing defective (e.g., failed) cells in the memory banks 132. When the processing module 110 does not comprise logic ASICs, or the PMU 100 does not execute an internal test mode (as discussed elsewhere herein) or facilitate memory repairs, the controller 140 is optional.
In one embodiment, the system module 120 facilitates an operating mode and at least one of external test, monitoring, or internal test modes of the PMU 100.
In an operating mode, the system module 120 captures data/command streams from the processing module 110, converts the captured streams to a communication protocol compatible with a protocol of an addressed memory bank 132, and transmits the converted data/command streams from the processing module 110 to the memory banks 132. In an operating mode, the system module 120 captures data/command streams from memory bank 132, converts the captured streams to a communication protocol compatible with a protocol of the processing module 110, and delivers the converted data streams to the processing module 110. In a further embodiment, the system module 120 stores converted data/command streams and schedules delivery of the streams in a manner maximizing efficiency of communications in the PMU 100.
In the external test mode, via the pin-compatible interfaces 106/152 and 108/154, the ATE 150 executes test procedures and provides active real-time testing of signal flow and/or performance of the processing module 110 and memory banks 132, among other functional components of the PMU 100.
In the monitoring mode, the ATE 150 passively monitors the data/command streams described, for example, in reference to the operating mode for analysis of malfunctioning and/or communication errors in the PMU 100. In this mode, some defects in the memory banks 132 may be “repaired.” In the repair process, redundant NV memory cells of the memory bank 144 are substituted for defective memory cells within memory module 130. As part of this repair process, memory interface module 126 is programmed to reroute memory fetches from the defective memory cells to the NV memory cells of the memory bank. This rerouting is transparent to processing module 110.
In the internal test mode, at least a portion of the functions described herein, in reference to the external test and monitoring modes, may be performed in-situ, by executing the test routines stored in the controller 140.
In various embodiments, a clock manager 250 is configured to provide clock signals to clock signal(s) generator 220, command capture circuit 210 and/or data capture & send circuit 212, via data interfaces 254 and 260. Clock manager 250 optionally includes a phase-locked-loop and may be configured to buffer and manage clock signals received from external devices. For example, in some embodiments, clock manager 250 is configured to receive a CK-IN signal 256 from a crystal oscillator or other device. In some embodiments, clock manager 250 is configured to receive an optional CLK input 252 from devices external to system module 120. These devices may include processor 112, processing module 110, automatic test equipment (ATE) 150, a phase-locked-loop, a clock synthesizer, or the like. In those embodiments wherein clock manager 250 receives clock signals from more than one source, elements of system module 120, memory module 130 and/or processing module 110 may each operate at different clock frequencies. For example, processing module 110 may operate at a first clock frequency while system module 120 and/or memory module 130 operate at a different clock frequency. In alternative embodiments, a clock signal received by clock manager 250 is reduced (e.g., divided by 1.5, 2, 3 or 4 etc.) to produce an additional clock signal at a different frequency. In these embodiments, elements of system module 120 and/or memory module 130 may operated at different frequencies than elements of processing module 110 or automatic test equipment (ATE) 150.
Signal flow between respective components of the modules 122, 124 and 140 is selectively provided by command interfaces 216, 217, 221, 223, 227, and 229 and data interfaces 213, 215, 218, and 225. Accordingly, the signal flow between the PAI module 124 and memory interface circuits 230 is facilitated using data/command buses 241-246 coupled via a data/command system bus 240. Collectively, these buses and interfaces form the buses 162, 164, and 166-168 discussed above in reference to
In the depicted embodiment, configuration/scheduling settings for the DRWCS module 222 may be provided by the processing module 110 via a path comprising the data interfaces 104, 213 and the data capture & send circuit 212 and initiated by a command communicated via a path comprising the command interfaces 102, 217 and the command capture circuit 210. In an alternate embodiment (not shown), the controller 140 may be used to program the DRWCS module 222 via the data and command links coupled to, e.g., the interfaces 213 and 217, respectively. In yet another contemplated embodiment (not shown), the ATE 150 or other external programming device (e.g., computer) may similarly be used to program the DRWCS module 222.
In operation, the DRWCS module 222 matches data exchange protocols used by components of the processing module 110 (e.g., processor 112 or 114) and the addressed memory bank 132, temporarily stores the converted data and/or commands (e.g., in an internal buffer (not shown)), and transmits the stored data and commands to the intended addressees. In one embodiment, the DRWCS module 222 selectively converts outgoing signals of the processing module 110 in one on more protocols compatible with the respective memory banks 132 and converts the outgoing signals from the memory banks 132 into the protocols compatible with the addressed processor or logic ASIC of the processing module 110. In a further embodiment, to increase efficiency of cross-module communications in the PMU 100, the DRWCS module 222 provides scheduling (or grouping) of the stored information before transmitting to the respective destination.
In an operating mode, data and commands from the processing module 110 (via a path comprising the data interfaces 104, 213 and the data capture & send circuit 212 and a path comprising command interfaces 102, 217 and the command capture circuit 210, respectively) in a memory-compatible format are placed, via a bus 242, on the system bus 240. In the depicted embodiment, configuration settings for the data capture circuit 212 may be provided, via the interface 216, by the processing module 110. From the system bus 240, such data and commands become available to the MICs 230 each selectively coupled to the respective memory bank 132.
In an external test mode, test data and test commands from the ATE 150 are placed, via a bus 243, on the system bus 240 and become available to the MICs 230 and memory banks 132, as well as to the processing module 110. These test commands may be communicated via a path comprising the data interfaces 106/152, 215 and the test I/O circuit 214 and test data buffer 228, and a path comprising command interfaces 108/154, 221, 229 and the test controller 224 and test mode logic circuit 226, respectively. In an alternate embodiment, the ATE 150 and processing module 110 may control configuration settings of the programmable logic circuit 142, via the interfaces 108/154, the test controller 224, and interfaces 221 and 223.
Similarly, in the monitoring mode, the ATE 150 may monitor data/command exchanges in the system module 120. These exchanges are optionally made via the bus 243, the test data buffer 228, the test I/O circuit 214, and the data interface 106/152.
In the internal test mode, at least a portion of the test data and test commands provided or monitored by the ATE 150 in the external test and monitoring modes, may be similarly provided or monitored, via the interfaces 225 and 227, using the controller 140.
The method 300 starts at step 302 and proceeds to step 310. At step 310, the processing module 110, system module 120, and memory module 130 of the PMU 100 are provided and received for assembly. For example, the processing module 110, system module 120, and memory module 130 may be received for inclusion in SiP or SiM devices.
At step 320 data, command, and test interfaces are facilitated between the processing module 110, system module 120, and ATE 150. This facilitation may include construction of electrical interconnects, command interfaces, data busses, signal channels, soldering of bond pads, or the like. The system module 120 encompasses programmable processor/ASIC-memory interfacing capabilities and shares the same pin-compatible test interfaces 106/152 (data) and 108/154 (commands) with the processing module 110 and external ATE 150.
At step 330, data, command, and test interfaces are facilitated between the system module 110 and memory module 130. This facilitation may include construction of electrical interconnects, command interfaces, data busses, signal channels, soldering of bond pads, or the like. The facilitation of steps 320 and 330 can also include packaging of the components, providing signals to the interfaces, or the like.
At step 340, the system module 120 is programmed to provide signal/protocol compatibility between the processing module 110 and the memory banks 132 of the memory module 130, as well as, optionally, for providing external (ATE 150) and/or internal (controller 140) testability of the PMU 100. Configuration settings for use in programming may be provided to the system module using the processing module 110, ATE 150, or external programming device.
At step 350, the system module 120 is used to perform data and/or command communications between the processing module 110 and memory module 130 by converting the incoming and outgoing data/command streams into formats compatible with the protocols and requirements of the respective recipients of these streams, as discussed above in reference to the operating mode of the PMU 100.
In an optional step 355, to increase efficiency of cross-module communications in the PMU 100, the DRWCS module 222 is used to schedule transmission of outgoing data/command streams to their respective destinations.
At an optional step 360, functional components of the memory module 130 and processing module 110, as well as portions of the system module 120, are tested/monitored using the ATE 150 or controller 140, as discussed above in the context of the external test, monitoring, and internal test modes of the PMU 100.
At step 370, upon completion of step 360, the method 300 ends.
While the foregoing is directed to the illustrative embodiment of the present invention, other and further embodiments of the invention may be devised by those skilled in the art without departing from the basic scope thereof that is determined by the claims that follow.
Ong, Adrian E., Baliga, Naresh
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5594694, | Jul 28 1995 | Round Rock Research, LLC | Memory circuit with switch for selectively connecting an input/output pad directly to a nonvolatile memory cell |
5825697, | Dec 22 1995 | Micron Technology, Inc. | Circuit and method for enabling a function in a multiple memory device module |
6191603, | Jan 08 1999 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD ; AVAGO TECHNOLOGIES GENERAL IP PTE LTD | Modular embedded test system for use in integrated circuits |
6365421, | Jun 13 1996 | Micron Technology, Inc. | Method and apparatus for storage of test results within an integrated circuit |
6457141, | Oct 08 1998 | Samsung Electronics Co., Ltd. | Semiconductor device with embedded memory cells |
6492727, | Mar 03 2000 | Renesas Electronics Corporation | Semiconductor device |
6519171, | Nov 17 2000 | SOCIONEXT INC | Semiconductor device and multichip module |
6531339, | Dec 23 1998 | NANYA | Redundancy mapping in a multichip semiconductor package |
6711042, | Sep 05 2001 | SOCIONEXT INC | Semiconductor device whereon memory chip and logic chip are mounted, making testing of memory chip possible |
6732304, | Sep 21 2000 | Rambus Inc | Chip testing within a multi-chip semiconductor package |
6812726, | Nov 27 2002 | Rambus Inc | Entering test mode and accessing of a packaged semiconductor device |
6816983, | May 30 2000 | Acacia Research Group LLC | Microprocessor internally provided with test circuit |
6825683, | Apr 18 2002 | Nvidia Corporation | System and method for testing multiple integrated circuits that are in the same package |
6882171, | Nov 27 2002 | Rambus Inc | Bonding pads for testing of a semiconductor device |
6967397, | Oct 20 2000 | OKI SEMICONDUCTOR CO , LTD | Test circuit and multi-chip package type semiconductor device having the test circuit |
6973405, | May 22 2002 | XILINX, Inc. | Programmable interactive verification agent |
6996745, | Sep 27 2001 | Oracle America, Inc | Process for shutting down a CPU in a SMP configuration |
7006940, | Nov 27 2002 | Rambus Inc | Set up for a first integrated circuit chip to allow for testing of a co-packaged second integrated circuit chip |
7053470, | Feb 19 2005 | Azul Systems, Inc | Multi-chip package having repairable embedded memories on a system chip with an EEPROM chip storing repair information |
7061263, | Nov 15 2001 | Rambus Inc | Layout and use of bond pads and probe pads for testing of integrated circuits devices |
7075175, | Apr 22 2004 | Qualcomm Incorporated | Systems and methods for testing packaged dies |
7133798, | Oct 18 2004 | Rambus Inc | Monitoring signals between two integrated circuit devices within a single package |
7139945, | Sep 21 2000 | Rambus Inc | Chip testing within a multi-chip semiconductor package |
7149135, | Oct 30 2003 | Kabushiki Kaisha Toshiba | Multi chip package type memory system and a replacement method of replacing a defect therein |
7249301, | Jul 30 2003 | Polaris Innovations Limited | Semiconductor circuit and method for testing, monitoring and application-near setting of a semiconductor circuit |
7269765, | Apr 13 2000 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Method and apparatus for storing failing part locations in a module |
7305595, | Sep 11 2003 | International Business Machines Corporation | Method, system, and product for isolating memory system defects to a particular memory system component |
7325178, | Dec 05 2003 | Texas Instruments Incorporated | Programmable built in self test of memory |
7353442, | Apr 08 2004 | STMICROELECTRONICS PVT LTD | On-chip and at-speed tester for testing and characterization of different types of memories |
7360130, | May 24 2004 | Memory with integrated programmable controller | |
7484188, | Mar 15 2006 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD; MARVELL INTERNATIONAL LTD | On-chip test circuit and method for testing of system-on-chip (SOC) integrated circuits |
20010032305, | |||
20020178416, | |||
20030120985, | |||
20040100296, | |||
20040196709, | |||
20050024977, | |||
20050204223, | |||
20050289428, | |||
20060152241, | |||
20080133206, | |||
20080313583, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 23 2009 | Rambus Inc. | (assignment on the face of the patent) | / | |||
Apr 01 2014 | Rambus Inc | SCA IPLA HOLDINGS INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033026 | /0152 |
Date | Maintenance Fee Events |
Apr 14 2011 | ASPN: Payor Number Assigned. |
Oct 15 2014 | ASPN: Payor Number Assigned. |
Oct 15 2014 | RMPN: Payer Number De-assigned. |
Nov 13 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 07 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 20 2022 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
May 17 2014 | 4 years fee payment window open |
Nov 17 2014 | 6 months grace period start (w surcharge) |
May 17 2015 | patent expiry (for year 4) |
May 17 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 17 2018 | 8 years fee payment window open |
Nov 17 2018 | 6 months grace period start (w surcharge) |
May 17 2019 | patent expiry (for year 8) |
May 17 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 17 2022 | 12 years fee payment window open |
Nov 17 2022 | 6 months grace period start (w surcharge) |
May 17 2023 | patent expiry (for year 12) |
May 17 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |