The instant invention relates to a built-in self-repairable memory.
The memories are becoming major part of any Application Specific Integrated Chip (“ASIC”) today. In fact, it is predicted that in coming years they will be occupying 90% of the total chip area. Therefore the performance of any ASIC will mostly be dependent upon performance of memories. Since memories cannot test themselves, they are tested either using Built In Self Test (BIST) or any other external circuitry. Redundancy is provided in the memories in the form of extra rows or column so that the memories can be repaired incase if they are faulty.
In the present scenario, fuses are implemented on a chip with small/medium size memories, as same number of fuses is allocated as the number of redundant bits required for all memories. The BIST runs to first calculate the faulty locations and takes a decision whether the faults can be repaired depending upon the available redundancy in the memory or on chip. In case the memory is not repairable, the BIST declares the memory as dead. After first BIST run on memory the following configuration can arise.
Faulty Memory Repairable Bitmap (FMRB) consists of the faulty address (to be replaced by a available redundancy) and repair status. The repair status is ‘1’ when the memory is to be repaired and 0 if the memory is good. The calculated FMRB present in the BIST is shifted out to the fuse through a shift register. The FMRB shift register of all the BISTs are connected in big single chain, which is further connected to the fuse box as well as to the chip output port. The above shifted data is stored in the fuse and after the memory is repaired the BIST is run again to approve that.
But since only a very small number of the cuts are faulty on the same dice, it is not an economical solution to have the fuse bits for all memories on chip, as it leads to increase in area as more number of fuse macros are required on the chip. In order to overcome the above drawback, the concept of fuse sharing is used. In this methodology, the data is stored in the fuse with very few numbers of fuses actually present on the chip. The concept of fuse sharing has been shown in
1. Header: single bit data giving the dice repair status, the number “m”.
2. Address data (Kad): the address information relating to m faulty memories out of M memories.
3. Repair data (Krd): the repair data bit stream of “m” repairable and faulty memories.
But to store the data in k fuses the FMRB length of each memory should be known to the central controller, which will store the information in the “k” fuses. This information can be stored in the chip in a hard Read Only Memory (ROM), or a soft ROM. This information can also be sent along with the repair data, but then it will take more time to shift in the data. The dice will be repairable if the value of k is greater than or equal to the summation of the value of Header data, address data and repair data.
The advantages the above approach offers are reduced fuse area, reduced yield loss due to increased area, less time required for programming the fuse and reduced efforts at the user end. Yet it has a lot of drawbacks, as the problem of routing congestion is not addressed. Yield loss due to metal routing for M cuts is still present and the k to N converter requires a lot of area. An extra ROM is used which increases the overhead in terms of area and testing time.
To reduce routing congestion the fuse data can be serially shifted out as shown in the
The present invention aims at solving problems created due to above disadvantages. The ROM is completely eliminated in the present invention due to which extra overhead in terms of area is reduced as well as state machines for fuse encoding and decoding have become simpler. The repair data compression before storing it in fuse had also been proposed so that more number of memories can be repaired with same number of fuses in case dice yield goes down.
To address the above-discussed deficiencies of the prior art, a primary object of the instant invention is to reduce overhead in terms of area and reduce routing congestion.
Another object of the invention is to use lesser number of fuses and maintain the repair coverage.
Yet another object of the invention is to shift the data for the faulty memories only after loading the same in the memory or the BIST via a serializer.
Further object of the invention is to save the power on time.
To achieve the aforesaid objects the instant invention provides a built-in self-repairable memory comprising:
Said data pattern is loaded in said memory using a serial interface thereby reducing routing congestion and defect probability in the repair circuitry.
The built-in self-repairable memory further comprises an encoding and decoding FSM for computing said repair data length.
Said data pattern is compressed before being stored in fuses facilitating repair of larger number of memory blocks.
Said repairable memory blocks are repaired at power on by decompressing means that decompresses the compressed data pattern stored in fuses.
Said data pattern is faulty memory repairable bitmap.
A method for repairing memory comprising the steps of:
Before undertaking the DETAILED DESCRIPTION OF THE INVENTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or,” is inclusive, meaning and/or; and the term “controller” may be used interchangeably and mean any device, system or part thereof that controls at least one operation, such a device may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.
The present invention will be described with reference to and as illustrated by the accompanying drawings, in which like reference numerals represent like parts, and in which:
Fuse encoding and diagnostic FSM 30 is the control unit for the following functions:
Fuse decoding FSM 31 is triggered depending upon the repair status of dice and performs the following function:
Kad computation block 32 computes the value of Kad depending upon whether the address of m repairable memories is stored or whether the sequence of 1 and 0 where position of 1 specifies a repairable memory is stored.
Log2 k bit counter 33 is connected to Kad computation block 32 that counts till CountMax (k) until the fuse is completely filled with Kad and Krd. A Krd counter 34 is connected to Log2 k bit counter 33 that determines Krd length. The computation block 35 in turn computes k−Kad−1.
The Krd counter 34 and the computation block 35 are connected to a comparator 36 which is used to determine the dice repair status.
The input pins are
The output pins are
The FMRB from the m repairable memories is drawn out in serial fashion and stored in the k bit fuse. There are two separate chains for repair status and repair data. The complete configuration has been shown in the
The shift register 50 receives all the repair status bits and outputs CHAIN1. The shift register 51 receives the repair data of the entire BIST and outputs second chain CHAIN2. The calculated FMRB present in the BIST is shifted out to the fuse in the following way:
The repair data chain is shortened by bypassing the repair data chain of good memories. Thus the repair data of only m repairable faulty memories out of total M memories is shifted out, hence requiring lesser number of clock cycles.
The instant invention uses a “k” bit register, which exactly represents the “k” bit fuse. Any data present in these registers is programmed in the fuses. These “k” registers are divided into three parts:
1. Header: single bit data giving the dice repair status, the number “m”.
2. Address data (Kad): the address information relating to m faulty memories out of M memories.
3. Repair data (Krd): the repair data bit stream of “m” faulty memories.
All the three values mentioned above are calculated as well as the information whether the dice is still repairable with the “k” fuses. To determine this first the value of Kad is calculated. Then Krd is counted. Based upon the values of Kad as well as Krd, it is checked whether the dice is repairable or not.
Determination of address data (Kad) length:
Repair status of each memory is shifted out first and there is “1” detector in the controller. There are two ways to store Kad:
1. The clock count on which the output SHSCOUT1 is “1” is stored as the address of the faulty memory.
2. The repair status sequence itself can be stored. Depending upon which method is chosen, Kad length can be determined accordingly.
Determination of repair data (Krd) length:
The Kad is shifted back to the corresponding memories. The repair status bit of each memory bypasses the good memory repair data from the CHAIN2.
1. The repair data present in the serially connected REPAIR DATA chain of BIST of m repairable memories is shifted out and stored in the remaining bits of k bit fuse.
2. After the fuse is filled the serially connected REPAIR DATA chain is resetted.
3. Scan the bit ‘1’ through the REPAIR DATA chain to determine the length of Krd.
Determination of repair status of dice:
Upon the determination of length of Kad and Krd, the repair status of dice can be known, since for reparability of dice k >=kad+krd+Header.
To conclude, solution provided is worth using on dice with large number of memories with redundancy. Since all memories on dice will not be faulty, therefore providing fuse for all of them will not be efficient technique. So fuse can be shared. Also the serial shifting of repair status and repair data to and from BIST will reduce the routing congestion. Compression technique used on the repair data before storing it in fuse will enable us to repair more memories incase if yield goes down. There is also reduction in area and power on settling time by using this concept. Efforts at the user end are also drastically reduced.
Legends
It is intended that the present invention encompass such changes and modifications as fall within the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
1637/DEL/2005 | Jun 2005 | IN | national |