Abstract:
A semiconductor integrated circuit device includes a memory array having first to Nth banks, where N is an integer greater than or equal to 2. The memory array further includes a redundancy block having first to Nth column recovery circuit blocks corresponding to the first to Nth banks, first to Nth row recovery circuit blocks corresponding to the first to Nth banks, first to Nth ECC fuse blocks corresponding to the first to Nth banks, and first to Nth ECC circuits corresponding to the first to Nth banks. During initial cycles, the first to Nth ECC circuits correct errors in column recovery fuse data in the first to Nth column recovery circuit blocks and errors in row recovery fuse data in the first to Nth row recovery circuit blocks by using ECC fuse data in the first to Nth ECC fuse blocks, respectively.

Description:
[0001]     This application claims priority to prior application JP2003-408863, the disclosure of which is incorporated herein by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     The present invention relates to a semiconductor integrated circuit device having a memory array and a recovery circuit block for recovering the memory array using recovery fuse data represented by recovery fuse elements after an error of the recovery fuse data is corrected.  
         [0003]     Basically, the present invention relates to a semiconductor integrated circuit device having a dynamic random access memory (DRAM) and, in particular, to a synchronous dynamic random access memory (SDRAM).  
         [0004]     Japanese Unexamined Patent Application Publication No. 60-201599 (hereinafter referred to as Patent Document 1), in particular,  FIG. 3  of this publication discloses a semiconductor integrated circuit device including a memory circuit (fuse circuit) for storing four defective addresses, each having eight bits, a memory circuit (fuse circuit) for storing 5 redundancy bits, and an error correction code (ECC) circuit. In this semiconductor integrated circuit device, the four defective addresses and 5 redundancy bits are supplied to the ECC circuit, which carries out an error correction. The defective addresses indicate addresses of defective memory cells in the memory array and are used to recover the memory array.  
         [0005]     Japanese Unexamined Patent Application Publication No. 2002-94368 (hereinafter referred to as Patent Document 2), in particular, FIG. 11 of this publication discloses a semiconductor integrated circuit device in which a plurality of random access memories (RAMS) share an error correction circuit including one group of fuse elements and a cyclic redundancy code.  
       SUMMARY OF THE INVENTION  
       [0006]     At first, description will be made of a semiconductor integrated circuit device of a related art of the present invention with reference to  FIG. 1 .  
         [0007]     As illustrated in  FIG. 1 , this semiconductor integrated circuit device has a fuse set including a recovery circuit block  11  having a plurality of normal fuses (recovery fuses) FN and an ECC fuse block  12  having a plurality of ECC fuses FE. The semiconductor integrated circuit device further includes a dedicated ECC circuit  13  for each fuse set. With this structure, data error-corrected by the ECC circuit  13  is output via an address comparison circuit  14 .  
         [0008]     The primary drawbacks of the related art are as follows:  
         [0009]     (1) When a recovery address (recovery fuse data) is read out from the recovery circuit block  11 , the ECC circuit  13  corrects an error of the recovery address (recovery fuse data) using ECC fuse data in the ECC fuse block  12 . Therefore, access of the address is constrained by a time required for the error correction, thus limiting a speed up of the access.  
         [0010]     This drawback is caused by the ECC circuit  13  requiring a cyclic encoding of the data using a shift register to carry out error detection and error correction.  
         [0011]     (2) Additionally, a small number of the recovery data fuses for the correction increases the number of the ECC fuses.  
         [0012]     When the number of data items to be error-corrected is 2 n , the number of data items required for the error detection is n−1. Accordingly, a small number of data items to be error-corrected results in the increase of the number of ECC fuses.  
         [0013]     It is therefore a first object of the present invention to provide a semiconductor integrated circuit device for carrying out error correction by an ECC circuit without constraining external memory access.  
         [0014]     It is a second object of the present invention to provide a semiconductor integrated circuit device for carrying out error correction by a small number of ECC circuits without constraining external memory access.  
         [0015]     According to the present invention, a semiconductor integrated circuit device has the following structures.  
         [0016]     (1) A semiconductor integrated circuit device includes a memory array having first to Nth banks, where N is an integer greater than or equal to 2. The memory array further includes a redundancy block having first to Nth column recovery circuit blocks corresponding to the first to Nth banks, first to Nth row recovery circuit blocks corresponding to the first to Nth banks, first to Nth ECC fuse blocks corresponding to the first to Nth banks, and first to Nth ECC circuits corresponding to the first to Nth banks. During initial cycles started by an Input of an initial-cycle start command to the semiconductor integrated circuit device, the first to Nth ECC circuits correct errors in column recovery fuse data in the first to Nth column recovery circuit blocks and errors in row recovery fuse data in the first to Nth row recovery circuit blocks by using ECC fuse data in the first to Nth ECC fuse blocks, respectively.  
         [0017]     (2) In the semiconductor integrated circuit device described in (1), the input of the initial-cycle start command to the semiconductor integrated circuit device is carried out by powering on the semiconductor integrated circuit device.  
         [0018]     (3) In the semiconductor integrated circuit device described in (2), the semiconductor integrated circuit device includes a double data rate  2  synchronous dynamic random access memory (DDR- 2  SDRAM), the initial-cycle start command is an extended mode register set (EMRS) command generated for locking a delayed locked loop (DLL) circuit in the semiconductor integrated circuit device at power-on time, and the initial cycles are 200 cycles starting from an input time of the EMRS command.  
         [0019]     (4) In the semiconductor integrated circuit device described in (1), during the initial cycles started by an input of an initial-cycle start command to the semiconductor integrated circuit device, the first to Nth ECC circuits correct errors in column recovery fuse data in the first to Nth column recovery circuit blocks and errors in row recovery fuse data in the first to Nth row recovery circuit blocks by using ECC fuse data in the first to Nth ECC fuse blocks, respectively, and store the error-corrected column recovery fuse data and the error-corrected row recovery fuse data In latch circuits In the first to Nth column recovery circuit blocks and the first to Nth row recovery circuit blocks, respectively.  
         [0020]     (5) In the semiconductor integrated circuit device described in (1), the column recovery fuse data in the first to Nth column recovery circuit blocks and the row recovery fuse data in the first to Nth row recovery circuit blocks are programmed by using recovery fuses.  
         [0021]     (6) In the semiconductor integrated circuit device described in (1), the ECC fuse data in the first to Nth ECC fuse blocks are programmed by using ECC fuses.  
         [0022]     (7) In the semiconductor integrated circuit device described in (1), the column recovery fuse data in the first to Nth column recovery circuit blocks and the row recovery fuse data in the first to Nth row recovery circuit blocks are programmed by using recovery fuses and the ECC fuse data in the first to Nth ECC fuse blocks are programmed by using ECC fuses.  
         [0023]     Neither Patent Document 1 nor Patent Document 2 discloses that the overhead occurring in the error correction at an external memory access time can be eliminated by carrying out the correction operation in the ECC circuit only during the initial cycles. In addition, neither Patent Document 1 nor Patent Document 2 refers to a memory array having a plurality of banks and, therefore, neither one discloses that error correction of the row recovery fuse data and column recovery fuse data is carried out by a dedicated ECC circuit for each bank.  
         [0024]     As described above, according to the present invention, by carrying out the correction operation in the ECC circuit only during the initial cycles, the overhead occurring in an external memory access can be eliminated.  
         [0025]     Furthermore, according to the present invention, by a dedicated ECC circuit carrying out the error correction of row recovery data and column recovery data for each bank of a memory array having a plurality of banks, the reduction in the number of ECC circuits can be achieved and the processing of the ECC circuits and the layout design of the ECC circuits can be facilitated. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]      FIG. 1  is a block diagram explaining a semiconductor integrated circuit device of a related art of the present invention;  
         [0027]      FIG. 2  is a block diagram of a semiconductor integrated circuit device according to an embodiment of the present invention;  
         [0028]      FIG. 3  is a block diagram of internal configurations of a column recovery circuit block, a row recovery circuit block, and an ECC block corresponding to one bank shown in  FIG. 2 ;  
         [0029]      FIG. 4  is a diagram illustrating a start timing and a fuse data transfer timing of the ECC circuit by recovery start circuits in a column recovery circuit block and a row recovery circuit block shown in  FIG. 3 ;  
         [0030]      FIG. 5  is a circuit diagram of an ECC fuse block shown in  FIG. 3 ;  
         [0031]      FIG. 6  is a circuit diagram of a recovery start circuit shown in  FIG. 3 ; and  
         [0032]      FIG. 7  is a block diagram of an ECC circuit shown in  FIG. 3 .  
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0033]     Embodiments of the present invention will be described below with reference to the accompanying drawings.  
         [0034]     The features of the present invention are that an operation of error correction is carried out by an ECC circuit during initial cycles, for example, during an initial 200 cycles which is specific for a double data rate (DDR)- 2  SDRAM and that error corrections of row recovery data and column recovery data for each bank of a memory array is carried out by a dedicated ECC circuit. In the above-described related art, both a time required for an error correction by an ECC circuit and the size of the ECC circuits become overhead. The present invention can reduce such overhead.  
         [0035]     These features of the present invention will be described below with reference to an embodiment.  
         [0036]     When, as shown in  FIG. 1 , recovery fuse data of the recovery circuit block  11  are individually corrected by an ECC circuit  13 , the ECC fuse block  12 , which programs ECC fuse data, becomes large.  
         [0037]     Therefore, according to the present invention, a plurality of recovery fuse data items is completely corrected during the 200 initial cycles. The ratio of the number of fuses that programs ECC fuse data versus the number of fuses that represents recovery fuse data to be corrected is determined as (ECC fuse data):(the data to be corrected)=8:64 in accordance with a layout area in the chip, the constraint of the number of fuses mounted on the chip, and the correction during 200 initial cycles. Further, in order to solve extended correction time caused by the increase in the ECC fuse data, during the 200 initial cycles, which is required to lock a delay locked loop (DLL) circuit in a chip at power-on time, the DDR- 2  SDRAM reads out the ECC fuse data and the recovery fuse data, carries out error detection and error correction on the data, and stores the error-corrected data in a latch circuit located in a recovery circuit block. Thus, a program error, such as a cutting defect in fuses constituting the recovery data, can be recovered.  
         [0038]      FIG. 2  shows a semiconductor integrated circuit device according to an embodiment of the present invention. This semiconductor integrated circuit device comprises a memory array having a plurality of banks bank 0 , . . . , and bank 7 . The memory array further includes a redundancy block having a plurality of column recovery circuit blocks  11 C corresponding to each of the banks, i.e., bank 0 , . . . , and bank 7 ; a plurality of row recovery circuit blocks  11 R corresponding to each of the banks, i.e., bank 0 , . . . , and bank 7 ; and a plurality of ECC blocks  15  corresponding to each of the banks, i.e., bank 0 , . . . , and bank 7 . Each ECC block  15  includes an ECC fuse block and an ECC circuit, both of which will be described below.  
         [0039]     Thus, eight of the column recovery circuit blocks  11 C, eight of the row recovery circuit blocks  11 R, and eight of the ECC blocks  15  are provided corresponding to the banks, i.e., bank 0 , . . . , and bank 7  in the semiconductor chip.  
         [0040]      FIG. 3  shows internal configurations of the column recovery circuit block  11 C, the row recovery circuit block  11 R. and the ECC block  15  for one bank shown in  FIG. 2 . An internal configuration of the column recovery circuit block  11 C, the row recovery circuit block  11 R, and the ECC block  15  for another bank is the same as that in  FIG. 3 . The interior of the ECC block  15  is divided into a column ECC block  15 C corresponding to the column recovery circuit block  11 C and a row ECC block  15 R corresponding to the row recovery circuit block  11 R.  
         [0041]     As shown in  FIG. 3 , the column recovery circuit block  11 C includes a recovery start circuit (Enable Fuse block)  21 , an address comparison circuit (Address Fuse block)  22 , and a redundancy pre-decode circuit  23 . The row recovery circuit block  11 R includes another recovery start circuit (Enable Fuse block)  21 , another address comparison circuit (Address Fuse block)  22 , and a determination circuit  24 , The ECC block  15  includes an ECC circuit  16  and an ECC fuse block  17 . In the ECC fuse block  17 , error detection and correction data is programmed as ECC fuse data in advance. The ECC circuit  16  functions as the column ECC block  15 C and the row ECC block  15 R.  
         [0042]     Recovery data (recovery fuse data) programmed in fuses of the recovery start circuits  21  in the column recovery circuit block  11 C and the row recovery circuit block  11 R is composed of 64-bit units. Each unit includes 4 fuse sets, each fuse set being 16 bits. The recovery data is read out by the column ECC block  15 C and the row ECC block  15 R of the ECC circuit  16  in the ECC block  15 . The number of address fuses for a column is different from the numbers of address fuses for a row. Accordingly, if data of one fuse set is less than or equal to 16 bits, extra bits are filled with “0”. The error detection and correction fuse data for the ECC fuses is then created. Concurrently, ECC fuse data of the ECC fuse block  17  in the ECC block  15  is read out by the column ECC block  15 C and the row FCC block  15 R of the ECC circuit  16  In the ECC block  15 . The ECC circuit  16  then carries out an error detection and correction operation on the data. The data after the error correction (corrected data) are transferred to the column recovery circuit block  11 C and the row recovery circuit block  11 R. The corrected data are held by latch circuits  21 LA in the recovery start circuits  21 .  
         [0043]      FIG. 4  shows a start timing and a fuse data transfer timing of the ECC circuit  16  by the recovery start circuit  21  in the column recovery circuit block  11 C or the row recovery circuit block  11 R shown in  FIG. 3 . Since a DDR- 2  SDRAM locks an internal DLL circuit at power-on time, 200 initial cycles are required after an extended mode register set (EMRS) command is input. By inputting the EMRS command for starting the initial cycles as a command CMD, an ECC start signal is enabled. Then, the column and row recovery fuses, an ECC fuse precharge signal, and a fuse readout signal are sequentially enabled. The ECC fuse data, which is 8-bit parallel data for error detection and correction, is read out by the ECC circuit  16  via an ECC fuse bus  170  in the ECC fuse block  17  shown in  FIG. 5 . From the column recovery circuit block  11 C and the row recovery circuit block  11 R, the 64-bit recovery data (recovery fuse data) are read out by the ECC circuit  16  via Fuse Data buses  210  in the recovery start circuits  21  shown in  FIG. 6 .  
         [0044]      FIG. 7  shows a detailed configuration of the ECC circuit  16  shown in  FIG. 3 . As shown in  FIG. 7 , by enabling a parallel to serial conversion enable signal, a parallel to serial &amp; serial to parallel conversion circuit  160  converts the 8-bit data for error detection and correction, which are simultaneously read out in parallel from the ECC fuses, and recovery data (recovery fuse data) read out in parallel from the column recovery circuit block  11 C and the row recovery circuit block  11 R to serial data. The converted data are transferred to an 8-bit syndrome register  161  and a 72-bit shift register  162 , where error detection and correction is carried out. Upon completion of the correction, the data is transferred to the parallel to serial &amp; serial to parallel conversion circuit  160 , which converts the data to parallel data by enabling a serial to parallel conversion enable signal. The error-corrected data is transferred to the column and row recovery start circuits  21  and is held by latch circuits  21 LA in the recovery start circuits  21 .  
         [0045]     Subsequently, the operation of the present embodiment will be described.  
         [0046]     As shown in  FIG. 3 , recovery fuse data programmed in fuses in the column recovery circuit block  11 C and the row recovery circuit block  11 R is read out by the ECC circuit  16  during 200 initial cycles. The ECC circuit  16  carries out error detection and correction by using correction data programmed in the ECC fuse block  17  in advance. The data after the error correction (corrected data) is transferred to the column recovery circuit block  11 C and the row recovery circuit block  11 R from the ECC circuit  16  and is held by the latch circuits  21 LA in the recovery start circuits  21 .  
         [0047]     As shown in  FIG. 4 , the ECC start signal is enabled by the extended mode register set (EMRS). This enables fuse precharge signals for a row, a column, and an ECC and, in turn, a fuse readout signal.  
         [0048]      FIG. 5  shows an example of the ECC fuse block  17 . Upon receipt of the precharge signal and the start signal for reading out fuse data, the ECC fuse block  17  reads out ECC fuse data programmed in advance onto the ECC fuse bus  170  and transfers them to the ECC circuit  16 .  
         [0049]      FIG. 6  shows an example of the recovery start circuit  21  used in the column recovery circuit block  11 C and the row recovery circuit block  11 R. The fuse latch circuit  21 LA in the recovery start circuits  21  is precharged by a fuse (latch) precharge signal enabled by the ECC start signal. By enabling the fuse readout signal, a Fuse set Enable signal and a Fuse Enable signal in the recovery start circuits  21  are enabled, and therefore, the recovery fuse data is transferred to the ECC circuit  16  via a Fuse data bus  210 .  
         [0050]     Referring back to  FIG. 7 , an example of the ECC circuit  16  is illustrated. Fuse data transferred from the column recovery circuit block  11 C and the row recovery circuit block  11 R are transferred to a 72-bit shift register  162  in a serial format via a parallel to serial conversion circuit  160 . Similarly, ECC fuse data output from the ECC fuse block  17  is transferred to an 8-bit syndrome register  161  and the above-described shift register  162  in a serial format via a parallel to serial conversion circuit  160 . The fuse data corrected by the syndrome register  161  and the shift register  162  are converted to a series of 4-bit parallel data by a serial to parallel conversion circuit  160  and are transferred to the recovery start circuits  21 . The corrected data are then held by the latch circuits  21 LA.  
         [0051]     According to the present invention, in order to prevent a faulty operation, the above-described readout operation and error correction is carried out for fuse data for 8 banks in one chip by an ECC circuit arranged for each bank at the same time. In addition, the correction of the recovery fuse data is carried out during the initial 200 cycles starting from the EMRS, which is specific to a DDR-2 SDRAM. Thus, the present invention provides the reduction in the number of circuits in an ECC circuit, and facilitates the configuration of the circuit and its layout by processing for each bank. Furthermore, the present invention provides an efficient recovery circuit by carrying out the correction in the ECC circuit during the initial cycles to eliminate overhead occurring in error correction and external memory access.  
         [0052]     As described above, in the present embodiment, even when a fuse programming error occurs due to a cutting defect of a fuse, the 2-bit error out of 64-bit data can be detected or the 1-bit error out of 64-bit data can be corrected.  
         [0053]     Additionally, by arranging an ECC fuse block and an ECC circuit for a column recovery circuit block and a row recovery circuit block, the layout area can be reduced.  
         [0054]     According to another embodiment of the present invention, the error correction function provided by the ECC circuit is applied not only to the recovery circuit block, but also to fuses for an internal power supply trimming, thus allowing a cutting error of the trimming fuses to be recovered.  
         [0055]     Furthermore, if an ECC fuse in the ECC fuse block has the same structure as that used in the recovery circuit block, a cutting defect may occur in the ECC fuse. In order to solve this problem, a fuse capable of electrically rewriting data, for example, a FLASH memory and an electrically erasable programmable read only memory (EEPROM) may be used.  
         [0056]     While the present invention has thus far been disclosed in conjunction with several embodiments thereof, it will be readily possible for those skilled in the art to put the present invention into practice in various other manners.