Abstract:
A method and on-chip controller for enhancing semiconductor chip process variability and lifetime reliability through a three-dimensional (3D) integration applied to electronic packaging. Also provided is an on-chip reliability/variability controller arrangement for implementing the inventive method.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to a control method and on-chip controller for enhancing semiconductor chip process variability and lifetime reliability through the intermediary of three-dimensional (3D) integration. 
         [0003]    2. Background of the Invention 
         [0004]    Increased requirements in power density and technology scaling for electronic package components have encountered considerably increased existing reliability problems in recent years, as a result of which lifetime reliability and process variation have already been elevated to the “critical challenges” category according to ITRS [ITRS05] in the technology. 
         [0005]    Chip lifetime reliability has traditionally been ensured through process qualification and sorting out of defective chips through accelerated degradation techniques like process burn-in. The utilization of structural duplication is considered as another standard technique for dealing with lifetime reliability issues; however, the corresponding required overhead in terms of increased cost, manufacturing area and complexity, generally limits the extent of applicability thereof in practice. Similarly, the traditional burn-in process that is used to accelerate extrinsic failures is reaching a point where it is raising a number of complications and is becoming more difficult to implement with each successive process generation. In some instances, burn-in is believed to cause lifetime reliability problems itself, as a result of which, there has been an increased degree of interest in developing alternative techniques for improving the chip lifetime reliability without the burn-in process in recent years. 
         [0006]    There is a significant amount of cost associated with the process variation in technologies, especially at levels of 32 nm and below. Lost yield due to process variability causes millions of dollars in wasted expenditures every year per production line. There is significant cost and problems associated with lost yield due to process variation in current and next generation technologies. These include timing and associated functionality problems, performance reduction due to the timing changes, increase in chip footprint due to the additional blocks, ability to handle only single fault and single type of fault due to lack of intelligence in the current approaches to dealing with variability. 
         [0007]    In order to provide clear advantages over the current state of the technology, in accordance with the invention, there is proposed a technique that is adapted to alleviate lifetime reliability and process variability issues through the intermediary of three-dimensional (3D) integration. Even though the motivation for 3D integration has been largely interconnect-driven and packaging-oriented, 3D integration can provide further broader advantages when effectively utilized. 
       SUMMARY OF THE INVENTION 
       [0008]    In essence, the present invention is directed to providing an on-chip controller adapted to facilitate implementing a method to alleviate lifetime reliability and process variability issues through three-dimensional integration. Three-dimensional integration has shown significant potential for improving the integrated circuit design in the past years. Even though the motivations for 3D has been largely interconnect driven and packaging, 3D integration can provide further advantages if it is effectively utilized. 
         [0009]    Concerning the foregoing, the invention is directed to a method for enhancing the lifetime reliability and process variability through effective use of three-dimensional integration technology. An auxiliary so-called healing layer is attached to an original processor die through 3D integration. This one-fits-all auxiliary layer can solve any reliability or variability problem automatically at run time, and preserves the synchronous timing while potentially improving the performance of a faulty chip compared to the baseline. Proposed is an intelligent on-chip controller which manages the redundancy in the auxiliary layer, including exact replicas of number of critical blocks; generic and configurable logic resources; configurable wiring and high-bandwidth low-latency interconnect to the primary layer. The invention, thus, focuses on utilizing these resources through 3D integration in order to improve upon lifetime reliability and variability, but not claiming the invention of an additional device layer or the hardware units in this layer. 
         [0010]    A primary aspect of the invention resides in utilizing the available 3D redundancy, by dynamically adjusting the processor resources on both layers, i.e., primary and device layers, simultaneously including logic and interconnectivity in order to bring the system to a state at which it can achieve at least the same or improved performance over the baseline. High-end server systems are good candidates for this “healing/compensating layer technique”. Not only does the additional memory hierarchy in this layer provide performance improvement, the reconfigurable redundancy enables enhanced lifetime reliability in recovering from a wide range of faults. 
         [0011]    The auxiliary or second device layer includes: (i) an on-chip reliability/variability controller, which is capable of monitoring on-chip resources, recovering from faults and process variability induced differences through activating/deactivating/configuring one or more of the logic or memory units or interconnect on the chip; (ii) exact replicas of critical blocks on the second layer (whereby both layers have matching floor plans, where the duplicates are located vertically on top of the originals), but not all units in a microprocessor are of equal criticality. Units such as register files, issue or fetch logic are of higher importance compared to caches and predictors, for which faults can be tolerated to a certain extent; (iii) generic logic, which is to be used as redundancy for various reconfigurable redundancy enables enhanced lifetime reliability recovering from a wide range of faults. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    The foregoing is clearly emphasized by referring to the accompanying drawings, wherein the inventive concept is illustrated on the parts and integration of a two-layer three-dimensional embodiment of an electronic package; wherein: 
           [0013]      FIG. 1  shows a primary semiconductor chip and an auxiliary (or secondary) semiconductor chip for incorporation into a three-dimensional semiconductor chip. The auxiliary chip incorporates duplicated resources along with the regular logic; 
           [0014]      FIG. 2  illustrates, generally diagrammatically, an embodiment of superimposed semiconductor chip layers for effectuating the three-dimensional integration process; 
           [0015]      FIG. 3  illustrates a flow chart explanatory of the on-chip controller functions; and 
           [0016]      FIG. 4  shows the recovery schemes of the controller. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0017]    Pursuant to the method for enhancing lifetime reliability and/or performance that uses 3D integration, there are employed at least two chips where the first chip is a microprocessor. The second chip consists of a set of execution/memory resources configurable as either redundant resource for the microprocessor and microcontroller for managing and reconfiguring the resources in response to detection of a need for replacing a resource in the first chip in a sequence of steps where as a first step the pool of existing execution or memory resources is scanned to find an eligible replacement for the resource marked for replacement. If the eligible resource is not available, one of the reconfigurable resources is configured to replace the resource that is marked for replacement. Hereby, one or more of the execution/memory resources in the second chip is configured to work as a performance enhancer for one of the resources in the first chip (such as a second pipeline in the auxiliary device layer). 
         [0018]    Referring in detail to  FIG. 1  of the drawings, a diagrammatic implementation  100  of the basic components of this invention is presented: a floor plan of a primary semiconductor chip  101  and an auxiliary (or secondary) semiconductor chip  102 . 
         [0019]    The primary chip or layer  101  may be a regular two-dimensional semiconductor microprocessor chip, with additional and necessary resources for 3D chip integration. The resources in the first chip may be complete processor cores, functional units, control macros, elements of the processor dataflow, register files, memory arrays, whereby there is also provided in the auxiliary (or secondary) chip, redundancy for critical macros, such as vector, fixed or floating point execution blocks, auxiliary pipelines, accelerator cores, as well as generic configurable logic such as filed programmable gate arrays and programmable logic macros, wherein the custom macros are embedded in the configurable fabric thereof. In the drawing of  FIG. 1  of the primary chip  101 , we only highlight on-chip blocks or structures  122 ,  128  which may have exact replicas on the secondary layer chip  102 . 
         [0020]    The auxiliary device layer or chip  102  includes: (i) On-chip reliability/variability controller  116 : capable of monitoring on-chip resources recovering from faults and process variability induced differences through activating/deactivating/configuring one or more of the logic or memory units or interconnect on the chip; (ii) Exact replicas of critical blocks  122  on the first/primary chip layer, whereby both layers  101 ,  102  have matching floor plans, where the duplicates are located vertically on top of the originals. However, not all units in a microprocessor are of equal criticality. Units such as register files, issue or fetch logic are of higher importance compared to cache memory and other prediction structures whose faults can be tolerated to a certain extent; (iii) Generic logic  130 : for use as redundancy for various faults (lookup tables of configurable sizes, stacks); (iv) Configurable logic  130 : for use for multiple purposes (configured by the on-chip controller); (v) Configurable interconnect  128  (lateral and vertical) and switch boxes: for connecting/disconnecting the replica or original blocks as well as using the generic or configurable logic blocks; and (vi) Additional memory elements  126  (SRAM, DRAM, eDRAM) and other structures  124  for performance improvement. 
         [0021]    Referring now in detail to  FIG. 2  of the drawings, the concept is represented on a 2-layer 3D embodiment  200 , having first and second layers  101 ,  102 . The second device layer  102  includes an on-chip variability/reliability controller  116 , as well as redundant resources  218  that can be activated if a primary unit  220  in the first device layer  101  is faulty. The on-chip controller  116  activates any idle blocks while inactivating (turning off and by-passing) faulty units. Moreover, it includes performance-enhancing resources  122 ,  124 ,  126 ,  128 ,  130 , additional cache/memory hierarchy such as DRAM or SRAM as well as monitoring and recovering capabilities. 
         [0022]    The connection between the primary copy of a block and the redundancy which is placed on the top layer  102  may be achieved through vertical interconnects  128 , such as TSVs (through-the-silicon-vias). The configurable interconnect  128  can be adjusted to connect either copy of the fault domains to the rest of the chip in case of a fault. This configuration is achieved through the use of switch boxes or multiplexers (not shown). 
         [0023]    The floor plans of the primary and secondary chip layers  101 ,  102  match in terms of critical block placement, such that for critical blocks the replicas in the secondary chip  102  are located on top of the primary units in the primary chip  101 . This approach provides significant reduction in the interconnect length and latency. As the distances between 2 device layers can be 20-50 um in the current 3D integration, the vertical delay between the original and the redundant unit is less than FO4. Hence, the synchronous timing is preserved. Also, asynchronous cases are easily handled with the same scheme. 
         [0024]    The additional device layer  102  includes the reliability/variability controller  116 , with high-bandwidth and low-latency access to the rest of the chip. The reliability/variability controller  116  performs regular checks on the existing hardware in order to detect potential faults as in the flow chart of  FIG. 3 . When a fault is detected, the controller  116  then uses the pre-programmed recovery schemes  500 , like the example shown in  FIG. 4 , to recover from the fault. Recovery schemes can be implemented as a lookup table with the manufacturers preset recovery schemes. Each recovery scheme indicates precisely how to recover from specific faults using the existing redundancy in the second device layer. In the cases that the exact replica of the faulty unit is not available, the controller uses configurable hardware blocks such as programmable logic arrays for emulating the desired functionality. The auxiliary device layer also includes configurable routing, additional cache hierarchy in the form of SRAM or DRAM, configurable logic blocks and ASIC macros. 
         [0025]    On-chip recovery schemes compensate for the changes in the configurable logic timing in general, which creates major problems in maintaining the same synchronous timing. The on-chip reliability/variability controller recovery scheme adjusts the clock frequency in both the first and second layers so that the two layers can still be synchronous. 
         [0026]    The on-chip reliability/variability controller  116  may select from a number of preset recovery schemes  500  depending on a number of conditions including: the power overhead of a recovery scheme, the current power saving mode, the frequency target for both layers, severity of fault, and current workload demand. It is notable that the recovery scheme can be changed in time, when one or more of these conditions change. For instance: the reliability/variability controller may opt for a high-performance high-overhead recovery scheme when the workload demand is high. Later when the workload demand drops, this recovery scheme is deactivated and a low-power low-overhead scheme is used. This way the controller  116  makes efficient use of the on-chip resources even for fault recovery or variability issues. 
         [0027]    The reliability/variability controller  116  monitors the devices in both the first and second layer for variability problems as well as lifetime reliability problems. Variability problems can be of static or dynamic nature, as follows: 
         [0028]    For static variability problems such as atomic dopant variations, lithographic variations etc.; the controller assesses the variability by checking the performance, power and temperature of units on the processor. In these cases, number of cores may have inherently higher leakage power dissipation and temperatures (due to lower V th  for instance). The cores affected by process variability are specially treated by the on-chip controller  116  in terms of clock frequency settings, compensating for the increased temperatures etc. 
         [0029]    For other cases where the variability issues change in time, such as NBTI (Negative Bias Temperature Shifts) problems, the controller performs constant checks at regular intervals to detect these at runtime, as well as compensating for these problems as they occur. 
         [0030]    The on-chip controller  116  may include a lookup table  500  as shown in  FIG. 4  with various recovery schemes for different types of faults. These schemes are provided and programmed by the manufacturer for each fault in the critical parts of the process. The schemes include information about: 
         [0031]    Replica availability  530 : Whether the exact replica for the custom block is available at the top/bottom layer. This makes the recovery much simpler by activating the needed replica only. 
         [0032]    Options  520 : Whether there are multiple recovery options possible. In some cases, there are various ways of recovering from the fault. However, each solution varies in terms of resulting performance, power dissipation, routing overhead etc. The controller is provided with this information so that it can select between different schemes depending on the operating conditions: such as workload demand, power dissipation restrictions, and performance constraints. Later when the conditions change, the controller can dynamically choose another scheme to activate with more desirable characteristics for the new conditions. (For instance, if the workload demand is high when the fault appears, the controller selects a high-performance recovery solution). Later when the workload demand is reduced, the controller opts for a low power recovery). 
         [0033]    Activation List  540 : The recovery scheme specifies which blocks need to be used for each recovery scheme. The possibilities include exact replicas, configurable blocks, and generic blocks. 
         [0034]    Target IPC/Frequency  550 : Each recovery scheme is bound to operate at a specific frequency that is set by the manufacturer. Some schemes that recover from multiple faults need a reduced clock frequency to tolerate many redundancy blocks including configurable ones to be activated. Hence the target IPC is lower for these cases. However, the preset schemes also include additional performance boost schemes that compensate from the performance reduction from the reduced frequency recovery schemes. The performance boost is achieved through activating more execution units, configuring sizes of the processor resources to larger numbers and activating caches. Hence even with lower frequency on both layers the overall chip performance can be improved with the fault recovery scheme. 
         [0035]    Rerouting path  560 : the on-chip controller is provided with exact rerouting path to connect the redundancies such that the resulting elements will work synchronously as specified by the manufacturer. 
         [0036]    Power overhead  570 : Each recovery scheme that incorporates more than the exact replica is bound to have power dissipation overhead. The controller is provided with this information so that the proper power saving mode is selected for proper operation. 
         [0037]    While the present invention has been particularly shown and described with respect to preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in forms and details may be made without departing from the spirit and scope of the present invention. It is therefore intended that the present invention not be limited to the exact forms and details described and illustrated, but to fall within the spirit and scope of the appended claims.