Abstract:
A semiconductor memory device includes memory blocks each including a plurality of groups of memory cells programmable in multiple levels and a control circuit configured to make a determination of whether a specific memory block treated a bad block, from among the memory blocks, is programmable in a single level and to control the specific memory block according to a result of the determination so that the specific memory block is usable as a single level cell block.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    Priority to Korean patent application number 10-2010-0066514 filed on Jul. 9, 2010, the entire disclosure of which is incorporated by reference herein, is claimed. 
       BACKGROUND 
       [0002]    Exemplary embodiments relate to a semiconductor memory device and a method of operating the same. 
         [0003]    There is a growing demand for semiconductor memory devices which can electrically program and erase data and can retain the data even without the supply of power. In order to produce high-capacity memory devices capable of storing a large amount of data, techniques for the high integration of memory cells are being developed. For example, a NAND type memory device in which a plurality of memory cells are connected in series to form a cell string, a plurality of the cell strings forms a memory block, and a plurality of the memory blocks forms a memory cell array has been proposed. 
         [0004]    The semiconductor memory device may employ a repair technique for using redundancy cell strings instead of cell strings including defective memory cells among the cell strings of a memory block. 
         [0005]    However, the semiconductor memory device may include the limited number of redundancy cell strings. Therefore, if the number of defective cell strings is greater than the number of redundancy cell strings in one memory block, the memory block may not be used properly and may be discarded as an unusable bad block. 
       BRIEF SUMMARY 
       [0006]    Exemplary embodiments relate to a semiconductor memory device and a method of operating the same, which are capable of using a memory block including defective multi-level cells. Even if the memory block is unusable in the operation of multi-level cells (e.g., a bad block), it may be used by designating the multi-level cells as single level cells as long as the multi-level cells can operate as single level cells. 
         [0007]    A semiconductor memory device according to an aspect of the present disclosure includes memory blocks each including a plurality of groups of memory cells programmable in multiple levels and a control circuit configured to make a determination of whether a specific memory block treated a bad block, from among the memory blocks, is programmable in a single level and to control the specific memory block according to a result of the determination so that the specific memory block can be used as a single level cell block. 
         [0008]    A method of operating the semiconductor memory device according to another aspect of this disclosure includes selecting one of word lines of a memory block and performing multi-level cell program and multi-level cell verification processes for the selected word line by repeatedly supplying a program voltage to memory cells of the selected word line up to a maximum number of times that the program voltage is to be applied, wherein the program voltage is increased by a step voltage each time that the program voltage is supplied compared to the previously supplied program voltage; determining whether a column to which the memory cell of the selected wore line is coupled is repairable if a threshold voltage of the memory cell is less than a set voltage after the program voltage is supplied for at least the maximum number of times; designating the memory block as a temporary bad block if the column is determined to be unrepairable as a result of the determination and performing a single level cell program and a single level cell verification process for each of word lines of the memory block, respectively by supplying a single level cell verification voltage to a selected word line, wherein the single level cell verification voltage is used to verify whether the memory cell is programmed in a single level; and if results of the single level cell verification of all word lines are pass, designating the memory block as a single level cell block in which memory cells of the memory block are used as single level. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  is a diagram illustrating a semiconductor memory device according to an exemplary embodiment of this disclosure; 
           [0010]      FIG. 2  is a diagram illustrating threshold voltage distributions of memory cells shown in  FIG. 1  when operating as multi-level cells; 
           [0011]      FIG. 3  is a diagram illustrating the threshold voltage distributions of memory cells shown in  FIG. 1  when operating as single level cells; 
           [0012]      FIG. 4A  is a flowchart illustrating an operation method according to an exemplary embodiment of this disclosure; and 
           [0013]      FIG. 4B  is a detailed flowchart illustrating a memory block test method of  FIG. 4A . 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0014]    Hereinafter, some exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. The figures are provided to enable those of ordinary skill in the art to make and use the embodiments of the disclosure. 
         [0015]      FIG. 1  is a diagram illustrating a semiconductor memory device according to an exemplary embodiment of this disclosure. 
         [0016]    Referring to  FIG. 1 , the semiconductor memory device  100  includes a memory cell array  110 , a page buffer group  120 , an X decoder  130 , an I/O circuit  150 , a voltage supply circuit  140 , and a control circuit  160 . Although the semiconductor memory device  100  of  FIG. 1  is illustrated to have one plane, the semiconductor memory device  100  may include two or more planes and include the memory cell array  110 , the X decoder  130 , and the page buffer group  120  for every plane. 
         [0017]    The memory cell array  100  includes a plurality of memory blocks BK. Each of the memory blocks BK includes a plurality of cell strings CS. Each of the cell strings includes 0 th  to 31 st  memory cells C 0  to C 31  coupled in series between a drain select transistor DST and a source select transistor SST. 
         [0018]    The gates of the drain select transistors DST are coupled to a drain select line DSL, and the gates of the source select transistors SST are coupled to a source select line SSL. The gates of the 0 th  to 31 st  memory cells are coupled to 0 th  to 31 st  word lines WL 0  to WL 31 , respectively. 
         [0019]    The drains of the drain select transistors DST are coupled to respective bit lines. The bit lines are classified into an even bit line BLe and an odd bit line BLo. The sources of the source select transistors SST are coupled to a common source line SL. 
         [0020]    The page buffer group  120  includes a plurality of page buffers PB operating for a program or read operation. Each of the page buffers PB is coupled to a pair of the even bit line BLe and the odd bit line BLo. 
         [0021]    The I/O circuit  150  transmits data between the page buffer group  120  and the outside of the semiconductor memory device. 
         [0022]    The X decoder  130  includes a plurality of block selection circuits  131 . Each of the block selection circuits  131  is coupled to the memory block BK. 
         [0023]    The block selection circuit  131  couples the drain select line DSL, the source select line SSL, and the 0 th  to 31 st  word lines WL 0  to WL 31  of a memory block BK, coupled thereto, to the global drain select line GDSL, the global source select line GSSL, and the 0 th  to 31 st  global word lines GWL 0  to GWL 31  of the voltage supply circuit  140 , respectively, in response to a control signal generated by the control circuit  160 . 
         [0024]    The voltage supply circuit  140  generates operation voltages and supplies the operation voltages to the global lines GSSL, GDSL, GWL 0  to GWL 31  in response to a control signal generated by the control circuit  160 . 
         [0025]    The control circuit  160  generates control signals for controlling the operations of the page buffer group  120 , the X decoder  130 , the I/O circuit  150 , and the voltage supply circuit  140  of the semiconductor memory device  100 . 
         [0026]    Furthermore, the control circuit  160  controls a repair operation for replacing a defective cell string, among the cell strings of the memory block, with a redundancy cell string so that the repair operation is performed. Repair information is stored in a CAM block CBK. 
         [0027]    When the number of defective cell strings within a memory block exceeds a set number of the redundancy cell strings, the defective cell strings may not be replaced with the redundancy cell strings. Accordingly, the control logic  160  determines whether the memory cells of the memory block can be used as single level cells and discards the memory block as a bad block or designates the memory cells of the memory block as single level cells so that the memory block can be used, depending on a result of the determination. 
         [0028]      FIG. 2  is a diagram illustrating threshold voltage distributions of the memory cells shown in  FIG. 1  when operating as multi-level cells. 
         [0029]    Referring to  FIG. 2 , when memory cells having a threshold voltage of 0 V (volt) or less at an erase state  210  are programmed, the threshold voltages of the memory cells are shifted to belong to one of first to third threshold voltage distributions  220  to  240 . 
         [0030]    The memory cells of the semiconductor memory device of  FIG. 1  may be programmed according to an Increment Step Pulse Program (ISPP) method. 
         [0031]    More particularly, the program is performed by supplying a program voltage to the gates of the memory cells. Here, the program voltage rises in steps by increasing the program voltage with a step voltage at each step whenever it is supplied to the gates of the memory cells. After the program is performed, whether the program has been completed is checked using verification voltages PV 1 , PV 2 , and PV 3 . Here, the maximum number of times that the program voltage is supplied may be set. Memory cells that have not been programmed even after the maximum number of times that the program pulses have been supplied are determined to as program-fail memory cells that were not properly programmed. 
         [0032]    For example, first and second memory cells C 1  and C 2  are illustrated in  FIG. 2 . 
         [0033]    If the threshold voltages of the first and second memory cells C 1 , C 2  should be shifted to belong to the second threshold voltage distribution  230  through a program, the threshold voltage of the second memory cell C 2  has properly been shifted to belong to the second threshold voltage distribution  230 . 
         [0034]    Although the threshold voltage of the first memory cell C 1  has risen from the distribution of the erase state  210 , the threshold voltage of the first memory cell C 1  has not been shifted to belong to the second threshold voltage distribution  230  even after the program voltage is supplied the maximum number of times. 
         [0035]    Here, the control circuit  160  determines that a cell string to which the first memory cell C 1  belongs is defective and performs a repair operation. 
         [0036]    If the number of redundant cell strings is 10 and the number of defective cell strings of a memory block is 11, the control circuit  160  discards the memory block as a bad block that may not be used. 
         [0037]    The control circuit  160  stores information about a bad block in the CAM block CBK or in a fuse circuit (not shown) and controls the bad block so that the bad block is not selected in subsequent operations. 
         [0038]    Meanwhile, the first memory cell C 1  of  FIG. 2  may be a slow cell that is slowly programmed, rather than a defective memory cell that is not properly programmed. That is, the first memory cell C 1  is not such a memory cell as not being programmed at all although it has not been programmed with a desired threshold voltage belonging to the second threshold voltage distribution  230  through a predetermined number of supplying of the program voltage. 
         [0039]    Accordingly, when a memory block BK is discarded as a bad block, the control circuit  160  determines whether the memory cells of a defective cell string are slow cells like the first memory cell C 1  or memory cells that have never been programmed. 
         [0040]    If the memory cells of the defective cell string in the memory block BK are slow cells, the control circuit  160  controls the memory block BK so that the memory cells of the memory block BK can be used as single level cells. 
         [0041]      FIG. 3  is a diagram illustrating the threshold voltage distributions of memory cells shown in  FIG. 1  when operating as single level cells. 
         [0042]    Referring to  FIG. 3 , when memory cells at an erase state A are programmed to operate as single level cells, the threshold voltages of the memory cells are shifted to be a verification voltage R 1  or higher (B). The verification voltage R 1  may be set to a voltage level between 0 V and PV 1  of  FIG. 2  by taking a read operation margin into consideration. 
         [0043]    That is, the single level cells are classified into programmed cells and erased cells on the basis of the verification voltage R 1 . Therefore, the single level cells may be classified into programmed cells and erased cells more easily than the multi-level cells, and there is a less probability that the programmed and erased state of the single level cells, i.e., data, are erroneously read, compared to the multi-level cells. 
         [0044]    Accordingly, slow cells of a memory block, which are defective as multi-level cells, may be used as single level cells. 
         [0045]      FIG. 4A  is a flowchart illustrating an operation method according to an exemplary embodiment of this disclosure, and  FIG. 4B  is a detailed flowchart illustrating a memory block test method of  FIG. 4A . 
         [0046]      FIG. 4A  shows a block test process in order to check whether there is a bad block among memory blocks in a process of manufacturing the semiconductor memory device  100 . Here, the block test operation may be performed using an additional test apparatus or may be performed in the control circuit  160 . In the embodiment of this disclosure, the block test operation is performed in the control circuit  160 . 
         [0047]    Referring to  FIG. 4A , when the block test operation starts, the control circuit  160  selects one memory block BK at step S 401  and tests the selected memory block BK at step S 403 . The operation at step S 403  will be described in detail later with reference to  FIG. 4B . 
         [0048]    It is determined whether the memory block BK is a normal memory block based on a result of the block test at step S 405 . If, as a result of the determination, the memory block BK is determined not to be a normal memory block, it is determined whether the memory block BK can be used as a single level cell block at step S 407 . 
         [0049]    If, as a result of the determination at step S 407 , the memory block BK can be used as a single level cell block, the memory block BK is designated as the single level cell block at step S 411 . 
         [0050]    If, as a result of the determination at step S 407 , the memory block BK may not be used as a single level cell block, the memory block BK is designated as a final bad block at step S 409 . 
         [0051]    The block address of the memory block BK designated as the final bad block is additionally stored so that the memory block BK is no longer used. 
         [0052]    Furthermore, the block address of a memory block that is designated as a single level cell block is also stored so that the memory cells of the memory block can be operated as single level cells when data is stored in the memory cells. 
         [0053]    It is then determined whether the block test operation has been completed up to the last memory block at step S 413 . 
         [0054]    If, as a result of the determination at step S 413 , the block test operation is determined not to have been completed up to the last memory block, the next memory block BK is selected at step S 415 . 
         [0055]    Meanwhile, the block test operation of step S 403  is described as follows. 
         [0056]    Referring to  FIG. 4B , when the memory block BK is selected for the block test operation, the control circuit  160  first selects the 0 th  word line WL 0  at step S 421  and performs program and verification processes at step S 423 . When the program and verification processes are performed, test data randomly determined for the block test may be used as data to be programmed. 
         [0057]    Since the memory cells of the memory block BK are operated as multi-level cells, verification voltages PV 1 , PV 2 , and PV 3  are used in the verification process. 
         [0058]    It is determined whether the result of the verification process indicates a pass at step S 425 . If, as a result of the determination, the selected word line fails to pass the verification process, it is determined whether the program voltage has been supplied a maximum number of times at step S 427 . 
         [0059]    If, as a result of the determination at step S 427 , the program voltage is determined not to have been supplied the maximum number of times, a program voltage is raised at step S 429 , and the program and verification processes are performed again at step S 423 . 
         [0060]    If, as a result of the determination at step S 427 , the program voltage is determined to have been supplied for the maximum number of times, some of memory cells coupled to the selected word line are determined to be defective. 
         [0061]    Accordingly, cell strings including the defective memory cells are to be repaired. To this end, it is first determined whether there are replaceable redundancy cell strings at step S 431 . If, as a result of the determination, the replaceable redundancy cell strings are determined to exist, repair operation is performed and information about a column address on which the repair operation has been performed is stored at step S 433 . 
         [0062]    If, as a result of the determination at step S 431 , the replaceable redundancy cell strings are determined not to exist, the memory block BK is designated as a temporary bad block and a verification process using the verification voltage R 1  is then performed on the selected word line at step S 435 . The verification voltage R 1  is used when memory cells are programmed as single level cells. 
         [0063]    It is then determined whether the result of the verification process using the verification voltage R 1  is a pass at step S 437 . If, as a result of the determination at step S 437 , the selected world line is determined to pass the verification process using the verification voltage R 1 , it is determined whether the program and verification processes have been performed up to the last word line at step S 441 . 
         [0064]    If, as a result of the determination at step S 441 , the program and verification processes are determined to have been performed up to the last word line, it is determined whether the memory block BK is designated as a temporary bad block at step S 445 . 
         [0065]    If, as a result of the determination at step S 445 , the memory block BK is determined to have been designated as a temporary bad block, the memory block BK is designated as a single level cell block at step S 447  because all the word lines of the memory block BK have been determined to be able to used as single level cells at the steps S 435  and S 437 . 
         [0066]    If, as a result of the determination at step S 445 , the memory block BK is determined not to have been designated as a temporary bad block, the memory block BK is considered as a normal memory block at step S 449  because the memory block BK needs not to be used as a single level cell block and can be used as a normal memory block. 
         [0067]    Meanwhile, if, as a result of the determination at step S 441 , the program and verification processes are determined not to have been performed up to the last word line, the next word line is selected at step S 443  and the program and verification processes are performed again at step S 423 . 
         [0068]    Meanwhile, if, as a result of the determination at step S 437 , the selected word line fails to pass the verification process using the verification voltage R 1 , the memory block BK is determined to be unusable as a single level cell block at step S 439 , and the block test is no longer performed. 
         [0069]    After the block test operation is performed, the memory block BK may be designated as a final bad block or a single level cell block by checking the designation result of step S 439 , step S 447 , or step S 449  at steps S 405  and  405  of  FIG. 4A . 
         [0070]    The control circuit  160  may change some of the page addresses of the memory block BK to have a preset pattern form and store the changed page addresses in order to distinguish memory blocks used as single level cell blocks. 
         [0071]    Through the above operation, a memory block discarded as a bad block because of slow cells can be used as a single level cell block. Accordingly, the data storage capacity of the semiconductor memory device  100  can be increased. 
         [0072]    The address of a single level cell block and the address of a final bad block are separately stored in the CAM block CBK. When the control circuit  160  controls the operation of the semiconductor memory device  100 , the control logic  160  may load the address of the single level cell block and the address of the final bad block in the form of a mapping table and use them. 
         [0073]    In accordance with the semiconductor memory device and the method of operating the same according to the exemplary embodiment of this disclosure, if a memory block including multi-level cells is discarded as a bad block owing to a slow cell, the multi-level cells may be designated as single level cells by determining whether the slow cell can operate as the single level cell. Accordingly, the number of memory blocks discarded as bad blocks can be reduced, and the data storage capacity can be increased.