Patent Publication Number: US-10310942-B2

Title: Memory system

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Application No. 62/396,929, filed Sep. 20, 2016, the entire contents of which are incorporated herein by reference. 
    
    
     FIELD 
     Embodiments described herein relate generally to a memory system. 
     BACKGROUND 
     A NAND flash memory is widespread as a data storage device. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a memory system according to the first embodiment; 
         FIGS. 2 and 3  are a circuit diagram and a sectional view, respectively, of a memory cell array according to the first embodiment; 
         FIG. 4  is a circuit diagram of the memory cell array and a sense amplifier according to the first embodiment; 
         FIG. 5  is a graph showing possible threshold distributions of a memory cell according the first embodiment; 
         FIG. 6  is a timing chart of various signals in a read operation according to the first embodiment; 
         FIG. 7  is a graph showing the threshold distributions of a memory cell; 
         FIG. 8  is a flowchart of a data read operation according to the first embodiment; 
         FIGS. 9 and 10  are graphs showing the concept of distribution reading according to the first embodiment, which show a change in the number of on-cells with respect to a word line voltage and threshold distributions; 
         FIGS. 11 to 15  are timing charts of various signals at the time of execution of shift read tracking according to the first embodiment; 
         FIGS. 16 and 17  are timing charts of various signals at the time of execution of shift read tracking according to a modification of the first embodiment; 
         FIGS. 18 to 26  are schematic views of a sense amplifier according to the second embodiment, which illustrate data transmission/reception states at the time of execution of shift read tracking; 
         FIG. 27  is a graph showing the threshold distributions of a memory cell; 
         FIGS. 28 to 40  are schematic views of the sense amplifier according to the second embodiment, which illustrate data transmission/reception states at the time of execution of shift read tracking; 
         FIG. 41  is a flowchart of shift read tracking according to the third embodiment; 
         FIG. 42  is a timing chart of various signals at the time of execution of shift read tracking according to the third embodiment; 
         FIG. 43  is a graph showing the threshold distributions of a memory cell; 
         FIGS. 44 and 45  are flowcharts of a data read operation according to the fourth embodiment; 
         FIG. 46  is a flowchart of a data read operation according to the fifth embodiment; and 
         FIG. 47  is a schematic view showing an error detection method according to the fifth embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     In general, according to one embodiment, a memory system includes: a semiconductor memory device with a memory cell array including a memory cell capable of holding data; and a controller capable of issuing a first read instruction to read data from the semiconductor storage device and a second read instruction different from the first read instruction. The memory cell array includes: a first memory cell and a second memory cell; a first bit line connected to the first memory cell; and a second bit line connected to the second memory cell. When receiving the first read instruction from the controller, the semiconductor memory device applies a first voltage to the first bit line and the second bit line and issues a strobe signal at a first timing to read data from the first memory cell and the second memory cell. When receiving the second read instruction from the controller, the semiconductor memory device applies a second voltage different from the first voltage to the first bit line to set the first memory cell to a non-read target and applies the first voltage to the second bit line to read data from the second memory cell based on a strobe result of the data at the first timing. 
     1. First Embodiment 
     A memory system according to the first embodiment will be described. A memory system including a NAND flash memory in which memory cells are three-dimensionally arrayed above a semiconductor substrate will be exemplified below. 
     1.1 Arrangement 
     1.1.1 Overall Arrangement of Memory System 
     An overall arrangement of the memory system according to this embodiment will be described first with reference to  FIG. 1 .  FIG. 1  is a block diagram of the memory system according to this embodiment. 
     As shown in  FIG. 1 , a memory system  1  includes a NAND flash memory  100  and a controller  200 . The NAND flash memory  100  and the controller  200  may form one semiconductor device by, for example, a combination. Examples of such device are a memory card such as an SD™ card and an SSD (Solid State Drive). 
     The NAND flash memory  100  includes a plurality of memory cells to store data in a nonvolatile manner. The controller  200  is connected to the NAND flash memory  100  by a NAND bus and connected to a host apparatus  300  by a host bus. The controller  200  controls the NAND flash memory  100 , and accesses the NAND flash memory  100  in response to an instruction received from the host apparatus  300 . The host apparatus  300  is, for example, a digital camera or a personal computer, and the host bus is, for example, a bus complying with an SD™ interface. 
     The NAND bus transmits/receives signals complying with a NAND interface. Detailed examples of the signals are a chip enable signal CEn, an address latch enable signal ALE, a command latch enable signal CLE, a write enable signal WEn, a read enable signal REn, a ready busy signal RBn, and an input/output signal I/O. 
     The signal CEn is a signal used to enable the NAND flash memory  100  and is asserted at a low level. The signals CLE and ALE are signals that notify the NAND flash memory  100  that the input signals I/O to the NAND flash memory  100  are a command and an address, respectively. The signal WEn is a signal asserted at a low level and used to make the NAND flash memory  100  to receive the input signal I/O. The signal REn is also a signal asserted at a low level and used to read the output signal I/O from the NAND flash memory  100 . The ready busy signal RBn is a signal representing whether the NAND flash memory  100  is in a ready state (a state in which an instruction from the controller  200  can be received) or a busy state (a state in which an instruction from the controller  200  cannot be received), and the low level represents the busy state. The input/output signal I/O is, for example, an 8-bit signal. The input/output signal I/O is the entity of data transmitted/received between the NAND flash memory  100  and the controller  200  and includes a command, an address, write data, read data, and the like. 
     1.1.2 Arrangement of Controller  200   
     Details of the arrangement of the controller  200  will be described next with reference to  FIG. 1 . As shown in  FIG. 1 , the controller  200  includes a host interface circuit  210 , an embedded memory (RAM)  220 , a processor (CPU)  230 , a buffer memory  240 , a NAND interface circuit  250 , and an ECC circuit  260 . 
     The host interface circuit  210  is connected to the host apparatus  300  via the host bus to transfer instructions and data received from the host apparatus  300  to the processor  230  and the buffer memory  240 . The host interface circuit  210  also transfers data in the buffer memory  240  to the host apparatus  300  in response to an instruction from the processor  230 . 
     The processor  230  controls the operation of the entire controller  200 . For example, upon receiving a write instruction from the host apparatus  300 , the processor  230 , in response to the instruction, issues a write instruction to the NAND interface circuit  250 . This also applies to read and erase. The processor  230  also executes various processes for managing the NAND flash memory  100  such as wear leveling. 
     The NAND interface circuit  250  is connected to the NAND flash memory  100  via the NAND bus to communicate with the NAND flash memory  100 . Based on an instruction received from the processor  230 , the NAND interface circuit  250  outputs the signals CEn, ALE, CLE, WEn, and REn to the NAND flash memory  100 . Furthermore, in data writing, the NAND interface circuit  250  transfers a write command issued by the processor  230  and write data in the buffer memory  240  to the NAND flash memory  100  as the input signal I/O. Moreover, in data reading, the NAND interface circuit  250  transfers a read command issued by the processor  230  to the NAND flash memory  100  and further receives read data from the NAND flash memory  100  as the output signal I/O, and transfers the read data to the buffer memory  240 . 
     The buffer memory  240  temporarily holds write data or read data. 
     The embedded-memory  220  is, for example, a semiconductor memory such as a DRAM, and is used as a work area of the processor  230 . The embedded-memory  220  holds firmware, various management tables, and the like that are used to manage the NAND flash memory  100 . 
     The ECC circuit  260  executes an error detection and error correction process on read data. During data writing, the ECC circuit  260  generates parities based on net data received from the host apparatus  300 . The net data and the parities are written to the NAND flash memory  100 . During data reading, the ECC circuit  260  generates a syndrome based on the read parities to determine whether or not the data contains an error. If the data contains an error, the ECC circuit  260  determines the position of the error and corrects the error. However, the number of error bits that can be corrected in the ECC circuit  260  is determined by, for example, the number of parity bits. When the data contains error bits the number of which is larger than the number of error bits that can be corrected, the ECC circuit  260  fails to correct the data, leading to a failure in reading of the data. 
     1.1.3 Arrangement of NAND Flash Memory  100   
     1.1.3.1 Overall Arrangement of NAND Flash Memory  100   
     The arrangement of the NAND flash memory  100  will be described next. As shown in  FIG. 1 , the NAND flash memory  100  includes a memory cell array  110 , a row decoder  120 , a driver circuit  130 , a column control circuit  140 , an address register  150 , a command register  160 , and a sequencer  170 . 
     The memory cell array  110  includes, for example, four blocks BLK (BLK 0  to BLK 3 ) each including a plurality of nonvolatile memory cells associated with rows and columns. The memory cell array  110  stores data given by the controller  200 . 
     The row decoder  120  selects one of the blocks BLK 0  to BLK 3 , and further selects a row direction in the selected block BLK. 
     The driver circuit  130  applies a voltage to the selected block BLK via the row decoder  120 . 
     In data reading, the column control circuit  140  senses data read from the memory cell array  110  and executes the required calculations. The column control circuit  140  outputs data DAT to the controller  200 . In data writing, the column control circuit  140  transfers the write data DAT received from the controller  200  to the memory cell array  110 . 
     The address register  150  holds an address ADD received from the controller  200 . The command register  160  holds a command CMD received from the controller  200 . 
     The sequencer  170  controls the operation of the entire NAND flash memory  100  based on the command CMD held by the command register  160 . 
     1.1.3.2 Arrangement of Block BLK 
     The arrangement of the block BLK will be described next with reference to  FIG. 2 .  FIG. 2  is a circuit diagram of a block BLK. 
     As shown in  FIG. 2 , the block BLK includes, for example, four string units SU (SU 0  to SU 3 ). Each string unit SU includes a plurality of NAND strings  6 . The number of block BLKs in the memory cell array  110  and the number of string units in each block are arbitrary. 
     Each NAND string  6  includes, for example, eight memory cell transistors MT (MT 0  to MT 7 ) and selection transistors ST 1  and ST 2 . Each memory cell transistor MT includes a control gate and a charge accumulation layer and holds data in a nonvolatile manner. The memory cell transistors MT are connected in series between the source of the selection transistor ST 1  and the drain of the selection transistor ST 2 . 
     The gates of the selection transistors ST 1  in the string units SU 0  to SU 3  are connected to selection gate lines SGD 0  to SGD 3 . On the other hand, the gates of the selection transistors ST 2  in the string units SU 0  to SU 3  are commonly connected to, for example, a selection gate line SGS. The gates of the selection transistors ST 2  may be connected to different selection gate lines SGS 0  to SGS 3  on a string unit basis, as a matter of course. The control gates of the memory cell transistors MT 1  to MT 7  in the same block BLK are commonly connected to word lines WL 0  to WL 7 , respectively. 
     The drains of the selection transistors ST 1  of the NAND strings  6  on the same column in the memory cell array  110  are commonly connected to a bit line BL (BL 0  to BL(L−1), where L is a natural number of 2 or more). That is, the bit line BL commonly connects the NAND strings  6  in the plurality of blocks BLK together. The sources of the selection transistors ST 2  are commonly connected to a source line SL. 
     That is, the string unit SU includes a set of NAND strings  6  connected to different bit lines BL and connected to the same selection gate line SGD. The block BLK includes a set of a plurality of string units SU that share the word lines WL. The memory cell array  110  includes a set of a plurality of blocks BLK that share the bit lines BL. 
       FIG. 3  is a sectional view of a partial region of the block BLK. As shown in  FIG. 3 , the plurality of NAND strings  6  is formed on a p-type well region  10 . That is, for example, four interconnection layers  11  functioning as the selection gate lines SGS, eight interconnection layers  12  functioning as the word lines WL 0  to WL 7 , and, for example, four interconnection layers  13  functioning as the selection gate lines SGD are sequentially tacked above the well region  10 . Insulating films (not shown) are formed between the stacked interconnection layers. 
     Pillar-shaped conductors  14  extending through the interconnection layers  13 ,  12 , and  11  and reaching the well region  10  are formed. A gate insulating film  15 , a charge accumulation layer (an insulating film or a conductive film)  16 , and a block insulating film  17  are sequentially formed on the side surfaces of the conductors  14 . The memory cell transistors MT and the selection transistors ST 1  and ST 2  are thus formed. Each conductor  14  functions as the current path of the NAND string  6  and the channels of the transistors are formed in the conductor  14 . The upper ends of the conductors  14  are connected to a metal interconnection layer  18  functioning as the bit line BL. 
     An n + -type impurity diffusion layer  19  is formed in the surface region of the well region  10 . A contact plug  20  is formed on the diffusion layer  19 . The contact plug  20  is connected to a metal interconnection layer  21  functioning as the source line SL in addition, a p + -type impurity diffusion layer  22  is formed in the surface region of the well region  10 . A contact plug  23  is formed on the diffusion layer  22 . The contact plug  23  is connected to a metal interconnection layer  24  functioning as a well interconnect CPWELL. The well interconnect CPWELL is used to apply a potential to the conductors  14  via the well region  10 . 
     A plurality of arrangements described above is arrayed in the depth direction of the sheet of  FIG. 3 . The string unit SU is formed by a set of the plurality of NAND strings  6  arranged in the depth direction. 
     In this example, one memory cell transistor MT can hold, for example, 3-bit data. The bits of the 3-bit data will be referred to as a lower bit, a middle bit, and an upper bit sequentially from the lower side. A set of aggregate of lower bits held by memory cells connected to the same word line will be referred to as a lower page, a set of middle bits will be referred to as a middle page, and a set of upper bits will be referred to as an upper page. That is, three pages are assigned to one word line WL, and the block BLK including eight word lines WL has a capacity of 24 pages. In other words, “page” may be defined as a part of a memory space formed by memory cells connected to the same word line. Data writing and data reading may be executed on a page basis (this read method will be referred to as page-by-page reading). 
     Data erase may be executed for each block BLK or a unit smaller than the block BLK. An erase method is described in, for example, U.S. patent application Ser. No. 13/235,389 filed on Sep. 18, 2011 and entitled “NONVOLATILE SEMICONDUCTOR MEMORY DEVICE.” An erase method is also described in, for example, U.S. patent application Ser. No. 12/694,690 filed on Jan. 27, 2010 and entitled “NONVOLATILE SEMICONDUCTOR STORAGE DEVICE.” An erase method is also described in, for example, U.S. patent application Ser. No. 13/483,610 filed on May 30, 2012 and entitled “NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF.” These patent applications are incorporated by reference in this specification in their entirety. 
     The memory cell array  110  may have another arrangement. That is, an arrangement of the memory cell array  110  is described in, for example, U.S. patent application Ser. No. 12/407,403 filed on Mar. 19, 2009 and entitled “THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY.” The configuration is also described in U.S. patent application Ser. No. 12/406,524 filed on Mar. 18, 2009 and entitled “THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”, U.S. patent application Ser. No. 12/679,991 filed on Mar. 25, 2010 and entitled “NONVOLATILE SEMICONDUCTOR STORAGE DEVICE AND METHOD OF MANUFACTURING THE SAME”, and U.S. patent application Ser. No. 12/532,030 filed on Mar. 23, 2009 and entitled “SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME”. These patent applications are entirely incorporated herein by reference. 
     1.1.3.3 Arrangement of Column Control Circuit  140   
     The arrangement of the column control circuit  140  will be described next with reference to  FIG. 4 .  FIG. 4  is a circuit diagram of the column control circuit  140  and the string unit SU 0  according to this embodiment. 
     As shown in  FIG. 4 , the column control circuit  140  includes a sense unit SAU (SAU 0  to SAU(L−1)) provided for each bit line BL. 
     Each of the sense units SAU includes a sense amplifier SA, an operation unit OP, and, for example, four latch circuits ADL, BDL, CDL, and XDL. 
     The sense amplifier SA senses data read onto the corresponding bit line BL, and applies a voltage to the bit line BL in accordance with write data. That is, the sense amplifier SA is a module that directly controls the bit line BL. In data reading, a strobe signal STB is given from, for example, the sequencer  170  to the sense amplifier SA. The sense amplifier SA determines data at the assertion timing of the signal STB (in this example, an ON state of a memory cell is defined as data “0”, and an off state is defined as data “1”). This data is held by an internal latch circuit (not shown in  FIG. 4 ) and then transferred to one of the latch circuits ADL, BDL, CDL, and XDL. 
     The latch circuits ADL, BDL, and CDL temporarily hold read data and write data. The operation unit OP performs various logical operations such as an inversion (NOT) operation, a logical sum (OR) operation, a logical product (AND) operation, and an exclusive OR (XOR) operation for data held by the sense amplifier SA and the latch circuits ADL, BDL, CDL, and XDL. 
     The sense amplifier SA, the latch circuits ADL, BDL, and CDL, and the operation unit OP are connected by a bus so as to transmit/receive data to/from each other. The bus is further connected to the latch circuit XDL. 
     Input and output of data to and from the sense amplifier  140  are performed via the latch circuit XDL. That is, data received from the controller  200  is transferred to the latch circuit ADL, BDL, or CDL or the sense amplifier SA via the latch circuit. XDL. In addition, data in the latch circuit ADL, BDL, or CDL or the sense amplifier SA is transmitted to the controller  200  via the latch circuit XDL. The latch circuit XDL functions as the cache memory of the NAND flash memory  100 . Hence, even if the latch circuits ADL, BDL, and CDL are in use, the NAND flash memory  100  can be set in a ready state as long as the latch circuit XDL is available. 
     1.2 Data Read Operation 
     The read operation of the memory system according to this embodiment will be described next. 
     1.2.1 Held Data and Threshold Voltage of Memory Cell Transistor 
     The held data, threshold voltage, and data read levels of the memory cell transistor MT will be described first with reference to  FIG. 5 .  FIG. 5  is a diagram showing data and possible threshold distributions of each memory cell transistor MT and voltages used in reading. 
     As described above, the memory cell transistor MT can take eight states in accordance with the threshold voltage. The eight states will be referred to as an “Er” state, “A” state, “B” state, “C” state, . . . , and “G” state in ascending order of threshold voltage. 
     A threshold voltage of the memory cell transistors MT in the “Er” state is lower than a voltage VA and corresponds to a data erase state. A threshold voltage of the memory cell transistors MT in the “A” state is equal to or higher than the voltage VA and lower than a voltage VB (&gt;VA). A threshold voltage of the memory cell transistors MT in the “B” state is equal to or higher than the voltage VB and lower than a voltage VC (&gt;VB). A threshold voltage of the memory cell transistors MT in the “C” state is equal to or higher than the voltage VC and lower than a voltage VD (&gt;VC). A threshold voltage of the memory cell transistors MT in the “D” state is equal to or higher than the voltage VD and lower than a voltage VE (&gt;VD). A threshold voltage of the memory cell transistors MT in the “E” state is equal to or higher than the voltage VE and lower than a voltage VP (&gt;VE). A threshold voltage of the memory cell transistors MT in the “F” state is equal to or higher than the voltage VF and lower than a voltage VG (&gt;VF). A threshold voltage of the memory cell transistors MT in the “G” state is equal to or higher than the voltage VG and is lower than a voltage VREAD. Among the eight states, the “G” state corresponds to data for the highest threshold. Note that VREAD is the voltage applied to an unselected word line in the read operation. This voltage turns on the memory cell transistor MT regardless of held data. 
     The above-described threshold distributions are obtained by writing the 3-bit (3-page) data formed from a lower bit, a middle bit, and an upper bit. That is, the “Er” state to the “G” state and the lower bit, the middle bit, and the upper bit hold the following relationship. 
     “Er” state: “111” (the bits are arranged in the order of “upper/middle lower”) 
     “A” state: “110” 
     “B” state: “100” 
     “C” state: “000” 
     “D” state: “010” 
     “E” state: “011” 
     “F” state: “001” 
     “G” state: “101” 
     Between data corresponding to two adjacent states in the threshold distributions, only one of the three bits changes. 
     Hence, when reading the lower bit, a voltage corresponding to the boundary where the value (“0” or “1”) of the lower bit changes is used. This also applies to the middle bit and the upper bit. 
     That is, as shown in  FIG. 5 , when a lower page is read, the voltage VA that discriminates between the “Er” state and the “A” state and the voltage VE that discriminates between the “D” state and the “E” state are used as read levels. Read operations using the voltages VA and VE will be referred to as read operations AR and ER, respectively. 
     In the read operation AR, it is determined whether the threshold voltage of the memory cell transistor MT is less than the voltage VA. That is, the memory cell transistor MT in the erase state is specified by the read operation AR. In the read operation ER, it is determined whether the threshold voltage of the memory cell transistor MT is less than the voltage VE. 
     When a middle page is read, the voltage VB that discriminates between the “A” state and the “B” state, the voltage VD that discriminates between the “C” state and the “D” state, and the voltage VF that discriminates between the “E” state and the “F” state are used as read levels. Read operations using the voltages VB, VD, and VF will be referred to as read operations ER, DR, and FR, respectively. 
     In the read operation BR, it is determined whether the threshold voltage of the memory cell transistor MT is less than the voltage VB. In the read operation DR, it is determined whether the threshold voltage of the memory cell transistor MT is less than the voltage VD. In the read operation FR, it is determined whether the threshold voltage of the memory cell transistor MT is less than the voltage VF. 
     When an upper page is read, the voltage VC that discriminates between the “B” state and the “C” state and the voltage VG that discriminates between the “F” state and the “G” state are used as read levels. Read operations using the voltages VC and VG will be referred to as read operations CR and GR, respectively. 
     In the read operation CR, it is determined whether the threshold voltage of the memory cell transistor MT is less than the voltage VC. In the read operation GR, it is determined whether the threshold voltage of the memory cell transistor MT is less than the voltage VG. That is, the memory cell transistor MT in the “G” state is specified by the read operation GR. 
     1.2.2 Normal Reading 
     A normal reading operation will be described next. “Normal reading” is a term in contrast with “retry reading” to be described later. When reading data, the controller  200  first executes the normal reading. If the read fails, the controller  200  executes “retry reading (shift read tracking)”. The retry reading will be described in detail in sections after 1.2.3. A normal reading operation will be explained here. 
       FIG. 6  is a timing chart of an unselected word line, a selected word line, the bit line BL, a node SEN, and the signal STB in the NAND flash memory  100  in the normal reading. The node SEN is included in the sense amplifier SA. The potential of the node SEN varies depending on whether the memory cell transistor MT connected to the selected word line changes to the ON state or OFF state. Based on the variation amount, it is determined whether data is “0” or “1”. In this example, if the potential of the node SEN is less than a certain threshold, the sense amplifier SA determines that the memory cell transistor MT is turned on, and holds “0” in the internal latch circuit. Conversely, if the potential of the node SEN is kept at a certain potential or more, the sense amplifier SA determines that the memory cell transistor MT is turned off, and holds “1”. 
       FIG. 6  shows an example in which a middle page is read by page-by-page reading. 
     As shown in  FIG. 6 , in the middle page reading, the row decoder  120  sequentially applies the voltages VB, VD, and VF to the selected word line WL. During this time, the row decoder  120  applies the voltage VREAD to the unselected word line. The row decoder  120  also applies a voltage VSG to the selection gate lines SGD and SGS (not shown) to turn on the selection transistors ST 1  and ST 2  in the selected string unit SU. The bit line BL is precharged to a certain potential VPRE by the sense amplifier SA. The node SEN in the sense amplifier SA is also charged to a certain potential VSEN. 
     In each of the read operations BR, DR, and FR, the sequencer  170  asserts (the logic “H” level in the example of  FIG. 6 ) the signal STB once at a predetermined timing (at time t 1 , t 3 , or t 5  in the example of  FIG. 6 ). 
     For example, if the voltage VB is applied to the selected word line WL and then the memory cell transistor MT is turned on, a current flows from the bit line BL to the source line SL. As a result, the node SEN is also discharged, and the potential of the node SEN lowers. The sense amplifier SA asserts the signal STB at a certain timing (time t 1 ) and stores the state of the node SEN in the latch circuit. That is, if the potential of the node SEN lowers, “0” is stored in the latch circuit. If the node SEN holds a predetermined potential or more, “1” is held by the latch circuit (this will be sometimes referred to as data strobe or simply as strobe). 
     When starting the read operation DR at time t 2 , the bit line BL to be precharged, in other words, the bit line BL to be read-accessed is decided based on the result of the immediately preceding read operation BR. That is, the bit line BL whose data is determined by the read operation BR is excluded from the read target in the read operation DR. More specifically, each bit line BL whose data strobed at time t 1  is “0” is excluded from the read target and fixed to a predetermined voltage (for example, 0 V). This will be referred to as “lockout”. 
     In the read operation DR, the signal STB is asserted at a certain timing (time t 3 ), and data based on the potential of the node SEN is held by the latch circuit, as in the read operation BR. In the read operation FR performed after that, the bit lines BL are locked out based on the strobe results at times t 1  and t 3 . 
     As described above, the middle page data is determined using three read levels (more specifically, the read voltages VB, VD, and VF). 
     1.2.3 Retry Reading. 
     1.2.3.1 Concept of Retry Reading 
     If data cannot correctly be read by the normal reading described in 1.2.2, that is, if the controller  200  cannot correctly correct an error included in data read from the NAND flash memory  100 , the controller  200  executes retry reading. The retry reading will be described below. 
     In  FIG. 5  described above, the threshold distributions of the data are isolated from each other. Hence, data can be discriminated using the voltages VA, VB, VC, . . . , and VG. 
     However, the threshold of the memory cell transistor MT varies due to the influence of various disturbances or the like. As a result, as for the threshold distribution of each data in  FIG. 5 , the distribution width may increase, or the distribution may move so that adjacent distributions may overlap.  FIG. 7  shows this state. In  FIG. 7 , for example, assume that the threshold distributions of the “A” state and the “B” state immediately after write are as shown in the upper view of in  FIG. 7 . Also assume that the threshold distributions expand as shown in the lower view of  FIG. 7  due to a disturbance or the like. If read is performed using the voltage VB, the read result of the memory cell transistor MT corresponding to the hatched region in the lower view becomes an error. If the number of error bits is more than the number of error-correctable bits of the ECC circuit  260 , it is impossible to correctly correct the data. 
     In this case, the controller  200  repeats the read operation while shifting a read voltage VCGRV applied to the selected word line. This is retry reading. In this example, focus is placed on one of the plurality of read levels (the read levels VB, VD, and VF for the middle page) corresponding to the read target page (focused read level will be referred to as a target level). Read is repeated while shifting the voltage corresponding to the target level. The read operation for the target level is the same as the normal read operation except that the read voltage is shifted. This read operation will be referred to as shift reading. 
     In the retry reading, page data is generated using each read level. The controller  200  performs ECC processing for the page data. At this time, the read voltage is shifted in each retry reading for the target level but not for the remaining non-target levels. The operation of search for the read voltage capable of the ECC processing will be referred to as 1-level shift read tracking. In the 1-level shift read tracking according to this example, data for a non-target level is also read from the memory cell array by the first retry reading. However, the read is omitted from the second retry reading. The data for the non-target level read by the first retry reading is used for the second and subsequent retry reading, thereby generating page data. 
     An optimal read voltage for the non-target level is searched for before the 1-level shift read tracking is performed. The optimal read voltage is a voltage corresponding to the cross point between adjacent threshold distributions. In the example shown in the lower view of  FIG. 7 , the optimal read voltage is a voltage VB′ shifted from the voltage VB to the high voltage side. The cross point between the threshold distributions is searched for using, for example, distribution reading. 
     1.2.3.2 Overall Procedure of Retry Reading 
     The overall procedure of retry reading will be described next with reference to  FIG. 8 .  FIG. 8  illustrates an operation performed when error correction has failed in the normal read operation. As shown in  FIG. 8 , this operation roughly includes three steps. The first step is a search for the cross point between the threshold distributions by distribution reading, the second step is 1-level shift read tracking, and the third step is a soft decision operation. The steps will sequentially be explained below. 
     &lt;First Step&gt; 
     The first step will be described first. As shown in  FIG. 8 , in the first step, distribution reading is executed for a non-target level ((step S 10 ). The processor  230  of the controller  200  counts the number of on-bits in the distribution reading, and estimates a voltage corresponding to the cross point between the threshold distributions (step S 11 ). The processes of steps S 10  and S 11  are executed for all non-target levels (step S 12 ). That is, for example, if the middle page is the read target, and the target level is VF, the voltage VB′ corresponding to the cross point between the threshold distribution of the “A” state and the threshold distribution of the “B” state and a voltage VD′ corresponding to the cross point between the threshold distribution of the “C” state and the threshold distribution of the “D” state are detected. 
     The concept of the threshold distribution cross point searching method by distribution reading will be described with reference to  FIGS. 9 and 10 .  FIG. 9  is a graph showing the number of on-cells (the cumulative value of the number of memory cells in the ON state) with respect to the voltage VCGRV applied to a selected word line, and the threshold distribution of the “A” state and the threshold distribution of the “B” state corresponding to the graph showing the number of on-cells. 
     As shown in the upper view of  FIG. 9 , when the voltage VCGRV of the selected word line is raised, the number of on-cells abruptly increases, and dN/dV is maximized (where N is the number of on-cells, and V is the voltage of the selected word line) at a voltage slightly lower than a voltage VA 1  that is the median (the voltage of the highest distribution probability) in the “A” state. When the voltage VCGRV is further increased, the increasing rate of the number of on-cells becomes small, and dN/dV is minimized for a certain value. The increasing rate for the voltage VCGRV is zero if the threshold distribution of the “A” state and the threshold distribution of the “B” state do not overlap. On the other hand, if the threshold distributions overlap, the increasing rate has a predetermined minimum value (&gt;0) that is not zero. When the voltage VCGRV is further increased, the increasing rate of the number of on-cells becomes large again, and dN/dV is maximized again at a voltage slightly lower than a voltage VB 1  that is the median in the “B” state. 
     Threshold distributions as shown in the lower view of  FIG. 9  can be obtained based on a change in the cumulative value of the number of on-cells. That is, threshold distributions in which voltages slightly higher than voltages at which dN/dV is maximized are the medians in the “A” state and the “B” state, and a voltage at which dN/dV is minimized corresponds to the cross point between the “A” state and the “B” state are obtained. The voltage of the cross point, that is, the voltage VCGRV at which the increasing rate of the cumulative value of the number of on-cells is minimized is the voltage VB′ to be found. 
       FIG. 10  shows a case in which the voltage of the cross point between the “A” state and the “B” state is searched for, that is, an example in which an appropriate value of the voltage VB is searched for. The upper view of  FIG. 10  shows the number of on-cells (the total number of memory cells in the ON state) with respect to the voltage VCGRV of the selected word line WL. The lower view of  FIG. 10  shows a histogram representing the number of memory cells that are turned on for the first time when the voltage of the word line WL is changed by only one step and a threshold distribution obtained by the histogram. 
     As shown in  FIG. 10 , the read operation is performed using a voltage V 1  shifted from the voltage VB used at the time of normal read command issuance by only a predetermined amount. The number of on-cells at this time is N 1 . Next, the read operation is performed using a voltage V 2  shifted from the voltage V 1  by only ΔVB in the positive direction. The number of on-cells at this time is N 2 . The number of memory cells newly turned on when the voltage of the selected word line rises from V 1  to V 2  is (N 2 −N 1 ). Subsequently, the controller  200  performs the read operation using a voltage V 3  shifted from the voltage V 2  by only ΔVB in the positive direction. The number of on-cells at this time is N 3 . The number of memory cells newly turned on when the voltage of the selected word line rises from V 2  to V 3  is (N 3 −N 2 ). If (N 2 −N 1 )&gt;(N 3 −N 2 ), the voltage at which dN/dV=minimum is considered to be higher than at least the voltage V 2 . Hence, the controller  200  performs the read operation using a voltage V 4  shifted from the voltage V 3  by only ΔVB in the positive direction. The number of on-cells at this time is N 4 . If (N 4 −N 3 )&gt;(N 3 −N 2 ), a histogram as shown in the lower view of  FIG. 10  is obtained. 
     As a result, a threshold distribution as shown in the lower view of  FIG. 10  is estimated. Based on this distribution, the controller  200  estimates that the point where dN/dV is minimum described with reference to  FIG. 9  is located between the voltages V 2  and V 3 , and sets the value between the voltages V 2  and V 3  to the appropriate read voltage VB′. 
     The controller further repeats the same operation as described above for the voltage level VD as well, and obtains the appropriate read voltage VD′. 
     &lt;Second Step&gt; 
     After the appropriate read voltages for the non-target levels are obtained in the first step, the controller  200  starts 1-level shift read tracking (step S 13 ). The read level selected as the target level corresponds to, for example, a cross point at which the variation amount of the optimal read voltage by a threshold variation is maximized. This is probably because the number of generated error bits increases as the variation amount of the optimal read voltage increases. 
     The controller  200  instructs the NAND flash memory  100  to execute 1-level shift read tracking in the first mode (step S 14 ). In the first mode, data is read from the memory cell array using all read levels corresponding to the read target page. For example, when the middle page is read, all the read operations BR, DR, and FR are executed. The first mode will sometimes be referred to as a capture mode hereinafter. At the capture mode, in the read operations BR and DR corresponding to the non-target levels, the voltages VB′ and VD′ obtained by the distribution reading in the first step are used as the read voltage VCGRV. On the other hand, in the read operation FR corresponding to the target level, a voltage designated by the controller  200  is used as the read voltage VCGRV. 
     Data of one page read from the memory cell array  110  in step S 13  is transmitted to the controller  200 . In the controller  200 , for example, the processor  230  counts the number of on-bits in the read operation (FR in this example) corresponding to the target level, and estimates a voltage corresponding to the cross point between the threshold distributions (the cross point between the threshold distributions of the “E” state and the “F” state in this example) (step S 15 ). Additionally, in the controller  200 , the ECC circuit  260  detects and corrects an error by hard decision decoding (hard bit decode) (step S 16 ). If the error can be corrected (YES in step S 16 ), the 1-level shift read tracking is completed. 
     If the error cannot be corrected in step S 16  (NO in step S 16 ), and the read voltage VCGRV has a value within a predetermined range in shift reading (YES in step S 17 ), the processor  230  instructs the NAND flash memory  100  to change the shift amount of the read voltage VCGRV corresponding to the target level (step S 18 ), and instructs the NAND flash memory  100  to execute 1-level shift read tracking again (step S 19 ). However, the 1-level shift read tracking instructed in step S 19  is shift read tracking in the second mode different from that of step S 14 . In the second mode, the read operation is performed by shifting the read voltage (for example, VF) corresponding to the target level among the read levels corresponding to the read target page. In the second mode, the read operations using the read voltages (VB and VD) corresponding to the non-target levels are not performed. This is the second mode which will sometimes be referred to as an adaptation mode hereinafter. In the adaptation mode, data obtained in the capture mode in step S 14  is used as read data corresponding to the read voltages (for example, VB and VD) that are not used in the actual read operations. Data of one page is thus obtained. 
     Data of one page obtained in the NAND flash memory  100  in step S 19  is transmitted to the controller  200 . In the controller  200 , the ECC circuit  260  detects and corrects an error by hard decision decoding (step S 16 ). If the error can be corrected (YES in step S 16 ), the data read succeeds, and the shift read tracking is completed. 
     If the error cannot be corrected in step S 16  (NO in step S 16 ), the controller  200  confirms whether the shift amount in step S 18  falls within a predetermined range (step S 17 ). If the shift amount falls within the predetermined range (YES in step S 17 ), the process returns to step S 18  to repeat the 1-level shift read tracking in the adaptation mode. If the shift amount falls outside the predetermined range (NO in step S 17 ), the controller  200  determines that the data read by the hard decision is impossible, and advances to the third step. By repeating the 1-level shift read tracking a plurality of times, a histogram as described with reference to  FIG. 10  is obtained in step S 15 . The number of on-bits is held by, for example, the embedded memory  220  in association with the number of times of retry reading or the read voltage VCGRV applied to the selected word line. Note that if the count result of the number of on-bits is directly used, noise may be included. Hence, the noise is reduced by performing, for example, smoothing processing. Then, a histogram as shown in  FIG. 10  is created based on the count result after the noise reduction, and the position of the cross point between the threshold distributions corresponding to the target level is determined. Information for designating the voltage VCGRV to be applied to the selected word line at the time of read is given as a digital value from the controller  200  to the NAND flash memory  100 . This is a DAC (D/A converter) value. A DAC value corresponding to a cross point position is, for example, a value capable of obtaining N(n−1) that meets both of following conditions.
 
 N ( n− 2)&gt; N ( n− 1)
 
 N ( n− 1)&lt; N ( n )
 
where n is the number of times of retry reading, and N(i) is the number of on-bits in the ith retry reading.
 
     &lt;Third Step&gt; 
     If the data cannot correctly be read by the shift read tracking, the ECC circuit  260  of the controller  200  performs soft decision processing (step S 20 ). In the soft decision processing, the ECC circuit  260  performs an iterative calculation based on the probability according to a log likelihood ratio (LLR). By this calculation, an error detected and corrected (soft bit decode). The log likelihood ratio LLR is information representing the reliability (probability) of data read by a certain read voltage, and is obtained using a log likelihood ratio table (LLR table). 
     At the soft bit decoding, the ECC circuit  260  corrects the error using the voltages obtained in steps S 11  and S 15 . That is, data is read a plurality of times near the cross point between the threshold distributions corresponding to the read levels (soft bit read). For example, when reading the middle page, the voltages corresponding to the cross point between the “A” state and the “B” state and the cross point between the “C” state and the “D” state are obtained in step S 11 , and the voltage corresponding to the cross point between the “E” state and the “F” state is obtained in step S 15 . Hence, for each read level, for example, the read voltage VCGRV is changed in the positive and negative directions with respect to the voltages obtained in these steps as the center. 
     If the data decoding succeeds as the result of step S 20  (YES in step S 21 ), the read operation succeeds, and the processing ends. If the data decoding fails (NO in step S 21 ), another correction method is applied, or the read fails. 
     1.2.3.3 Command Sequence of 1-Level Shift Read Tracking 
       FIGS. 11 and 12  are timing charts of various signals transmitted/received on the NAND bus at the time of execution of 1-level shift read tracking (at the time of execution of the second step) described with reference to  FIG. 8 .  FIG. 11  shows 1-level shift reading in the capture mode in step S 14 .  FIG. 12  shows 1-level shift reading in the adaptation mode in step S 19  repeated after  FIG. 11 . 
     First, the command sequence when executing 1-level shift reading in the capture mode will be described with reference to  FIG. 11 . 
     As shown in  FIG. 11 , when the capture mode is selected, the controller  200  issues a prefix command “YYh”. “YYh” is a command used by the controller  200  to declare to execute 1-level shift reading in the capture mode to the NAND flash memory  100 . Next, the controller  200  issues information (read level LV) representing a read voltage as a search target. This information may designate the read voltage itself or the read order in each page. The controller  200  also issues offset data ΔDAC 1  corresponding to the shift amount of the voltage VCGRV corresponding to the target level. Information for designating the voltage VCGRV to be applied to the selected word line in reading is given as a digital value from the controller  200  to the NAND flash memory  100 . This is the DAC value. ΔDAC 1  represents, for example, a shift amount with respect to the voltage used in the normal reading. 
     In addition, the controller  200  issues a command “ZZh”. “ZZ” is a variable. For example, if “ZZh”=“01h”, lower page reading is instructed. If “ZZh”=“02h”, middle page reading is instructed. If “ZZh”=“03h”, upper page reading is instructed. Hence, for example, if the information LV for designating the read level designates “third time”, and “ZZh”=“02h”, the voltage VF used to read “F” data to be read for the third time in middle page reading is the search target. 
     After that, as in the normal read operation, the controller  200  issues a first read command “00h”, and subsequently issues addresses (including a column address, a block address, and a page address) in, for example, five cycles. Then, the controller  200  issues a second read command “30h”. 
     If the command “30h” set in the command register  160 , the NAND flash memory  100  starts the data read operation from the memory cell array  110  and changes to the busy state. Data of one page is read from an area corresponding to the address transmitted from the controller  200  and held by the latch circuit XDL. 
     After that, when the NAND flash memory  100  changes to the ready state, the controller  200  repetitively asserts the signal /RE. Every time the signal /RE is toggled, data read from the memory cell array  110  is transmitted to the controller  200 . 
     Note that in the above command sequence, to input a command to the NAND flash memory  100 , the controller  200  asserts the signal CLE. To input an address, the controller  200  asserts the signal ALE. To input data, the controller  200  negates the signals CLE and ALE. To input a certain signal to the NAND flash memory  100 , the controller  200  toggles the signal WEn. 
     Next to the capture mode, 1-level shift reading in the adaptation mode is then executed. At this time, as shown in  FIG. 12 , the controller  200  first issues a prefix command “XXh”. “XXh” is a command used by the controller  200  to declare to execute 1-level shift reading in the adaptation mode to the NAND flash memory  100 . After that, as in  FIG. 11 , the read level LV, offset data ΔDAC 2 , and the command “ZZh” are issued, and the command “00h”, the address ADD, and the command “30h” are issued. According to this method, every time 1-level shift reading is performed in the adaptation mode, the controller  200  can freely set the read voltage VCGRV corresponding to the level of interest by ΔDAC 2 . 
     1.2.3.4 Details of Operation of NAND Flash Memory  100   
     Details of the operation of the NAND flash memory  100  that has received the commands described in the above command sequences will be described next. 
       FIG. 13  shows a state of shift read tracking in a case in which the voltage VF used to determine the “F” data, which is read thirdly in the middle page in  FIGS. 11 and 12 , is the search target. 
     First, when “YYh” is set in the command register  160 , the sequencer  170  of the NAND flash memory  100  grasps that the 1-level shift reading instruction in the capture mode is received. The search target information LV and information such as ΔDAC are held by, for example, the register in the sequencer  170 . In response to the setting of the command “30h” in the command register  160 , the sequencer  170  executes the first retry reading in the capture mode. 
     That is, the row decoder  120  selects the word line WL corresponding to the address signal ADD, and sequentially applies the voltages VB′, VD′ and VF 1  to the selected word line. The voltages VB′ and VD′ has values found by distribution reading explained in the steps S 10  to S 12  of  FIG. 8 . The voltage VF 1  is a voltage corresponding to ΔDAC 1  described with reference to  FIG. 11 , and corresponds to the initial value of the voltage VF when repeating retry reading. The rest is almost the same as in the normal reading described with reference to  FIG. 6 . 
     However, unlike the normal reading, a strobe result of data obtained when the voltage VD′ applied to the selected word line immediately before the voltage VF 1  that is the search target is used is held by one (for example, BDL in this example) of the latch circuits ADL, BDL, and CDL, and strobe results obtained when the voltages VB′ and VD′ other than the voltage VF are applied are held by one (for example, ADL in this example) of the latch circuits ADL, BDL, and CDL. These data items are held by the latch circuits ADL and BDL even after the end of the first retry reading (t 0  to t 6 ). 
     Next, the second retry reading is performed. When the command “XXh” is set in the command register  160 , the sequencer understands that the 1-level shift reading instruction in the adaptation mode is received. The search target and ΔDAC are determined based on the information held by the register in the sequencer  170  unless the pieces of information are cleared (in other words, unless “YYh” is received anew). 
     As shown in  FIG. 13 , in the second retry reading, the row decoder  120  applies not the voltages VB′ and VD′ as the non-search target but a voltage VF 2  obtained by shifting the voltage VF as the search target from the initial value VF 1  to the selected word line. The value of the voltage VF corresponds to ΔDAC 2 . The column control circuit  140  locks out the bit lines BL based on the data held by the latch circuit BDL. That is, the bit lines BL corresponding to the memory cell transistors MT whose data is determined based on the strobe results at times t 1  and t 3  are locked out, and the remaining bit lines BL are precharged to the voltage VPRE. 
     In a state in which the voltage VF 2  is applied to the selected word line, the signal STB is asserted, and data is strobed. After that, the column control circuit  140  generates middle page data based on the strobe result at time t 8  and the data held by the latch circuit ADL, and transmits it to the controller  200 . 
     The third retry reading is performed in the same way. As shown in  FIG. 13 , the row decoder  120  does not apply the voltages VB and VD as the non-search target to the selected word line, but shifts the voltage VF as the search target from VF 2  to VF 3 . The column control circuit  140  locks out the bit lines BL based on the data held by the latch circuit BDL. That is, the bit lines BL corresponding to the memory cell transistors MT whose data are determined based on the strobe results at times t 1  and t 3  are locked out, and the remaining bit lines BL are precharged to the voltage VPRE. 
     In a state in which the voltage VF 3  is applied to the selected word line, the signal STB is asserted, and data is strobed. After that, the column control circuit  140  generates middle page data based on the strobe result at time t 11  and the data held by the latch circuit ADL, and transmits it to the controller  200 . 
       FIG. 14  shows a state of shift read tracking in a case in which the voltage VD used to determine “D” data read for the second time in the middle page is the search target. 
       FIG. 14  is different from  FIG. 13  in that a voltage VD 1  is sequentially shifted instead of the voltage VF. In addition, a strobe result of data obtained when the voltage VB′ applied to the selected word line immediately before the voltage VD 1  that is the search target is used is held by, for example, the latch circuit BDL as lockout information, and strobe results obtained when the voltages VB′ and VF′ other than the voltage VD 1  are applied are held by the latch circuit ADL (more specifically, the information in the latch circuit BDL is used as the strobe result obtained by the voltage VB, and the strobe result obtained by the voltage VF is held by the latch circuit ADL. Details will be described in the second embodiment). These data items are held by the latch circuits ADL and BDL even after the end of the first retry reading (t 0  to t 6 ). 
     Next, the second retry reading is performed. The second retry reading is 1-level shift reading in the adaptation mode. As shown in  FIG. 14 , in the second retry reading, the row decoder  120  does not apply the voltages VB′ and VF′ as the non-search target to the selected word line, but shifts the Voltage VD as the search target from the initial value VD 1  to a voltage VD 2  corresponding to ΔDAC 2 . The column control circuit  140  locks out the bit lines BL based on the data held by the latch circuit BDL. That is, the bit lines BL corresponding to the memory cell transistors MT whose data are determined based on the strobe result at time t 1  are locked out, and the remaining bit lines BL are precharged to the voltage VPRE. 
     In a state in which the voltage VD 2  is applied to the selected word line, the signal STB is asserted, and data is strobed. After that, the column control circuit  140  generates middle page data based on the strobe result at time t 8  and the data held by the latch circuit ADL (and BDL), and transmits it to the controller  200 . 
     The third retry reading is performed in the same way. As shown in  FIG. 14 , the row decoder  120  does not apply the voltages VB′ and VF′ as the non-search target to the selected word line, but shifts the voltage VD as the search target from VD 2  to a voltage VD 3  corresponding to ΔDAC 2 . The column control circuit  140  locks out the bit lines BL based on the data held by the latch circuit BDL. That is, the bit lines BL corresponding to the memory cell transistors MT whose data are determined based on the strobe result at time t 1  are locked out, and the remaining bit lines BL are precharged to the voltage VPRE. 
     In a state in which the voltage VD 3  is applied to the selected word line, the signal STB is asserted, and data is strobed. After that, the column control circuit  140  generates middle page data based on the strobe result at time t 11  and the data held by the latch circuit ADL (and BDL), and transmits it to the controller  200 . 
       FIG. 15  shows a state of shift read tracking in a case in which the voltage VB used to determine data, that is, the “B” data read for the first time in the middle page is the search target. 
     In this case as well, as in  FIGS. 13 and 14 , the read operations BR, DR, and FR are performed in the capture mode, and not the read operations DR and FR but the read operation BR is performed in the adaptation mode. Lockout information held by the latch circuit BDL is pre-lockout information at time t 0 . That is, all bit lines BL are read-accessed. The latch circuit ADL holds the strobe results at times t 3  and t 5 . In the second and subsequent retry reading, middle page data is generated using data in the latch circuit ADL. 
     1.3 Effects According to this Embodiment 
     According to this embodiment, it is possible to improve the data read accuracy. That is, according to this embodiment, in 1-level shift read tracking, normal shift reading is executed at the time of first read. From the second read, only the read voltage VCGRV corresponding to the target-level is shifted, and the result obtained by the first read is used as data corresponding to the level of non-target level. That is, data read the memory cell array is not performed for the non-level. It is therefore possible to reduce noise observed in the second and subsequent read. Hence, the error correction capability in use of 1-level shift read tracking may be improved, and the data read accuracy may be improved. 
     For the non-target level, a value considered to be an approximate optimal value is searched for by distribution reading. This also contributes to the improvement of the error correction capability in 1-level shift read tracking. In 1-level shift read tracking according to this embodiment, the number of on-cells is counted every time the voltage corresponding to the target level is shifted, thereby obtaining the cross point between threshold distributions corresponding to the target level. If an error cannot be corrected by 1-level shift read tracking, that is, if an error cannot be corrected by hard bit decode, soft bit decode is performed using cross point information obtained at the time of hard bit reading. This can make the most of the correction capability of the ECC circuit in soft decision. 
     In shift read tracking, bit lines whose data is determined are locked out. This method also applies to the normal read operation. That is, a condition, specifically, the amount of a current flowing from the bit line to the source line in the threshold distribution cross point search and that in the normal read can be almost the same (if distribution reading is used in place of shift reading, the conditions are largely different). This also contributes to the improvement of the error correction capability in 1-level shift read tracking. 
     As described above, even in a case in which the threshold distributions expand as described with reference to, for example,  FIG. 7 , the optimal read voltage may accurately be detected, and the reliability of data reading may be improved. 
     In 1-level shift read tracking, the read operation using the voltage corresponding to the non-target level is omitted in the second and subsequent shift reading, thereby improving the operation speed. 
     Note that in the above embodiment, a case in which ΔDAC and the address ADD are issued even in the second and subsequent shift reading, as in the first shift reading, has been described in  FIGS. 11 and 12 . However, these may be omitted.  FIGS. 16 and 17  shows command sequences in this case.  FIG. 16  shows 1-level shift reading in the capture mode in step S 10 .  FIG. 17  shows 1-level shift reading in the adaptation mode repeated twice after  FIG. 16 . 
       FIGS. 16 and 17  are different from  FIGS. 11 and 12  in the following points. That is, when the capture mode is selected as shown  FIG. 16 , the controller  200  issues the DAC (D/A converter) value corresponding to the initial value of the voltage VCGRV for the target level and the offset data ΔDAC corresponding to the shift amount of the voltage VCGRV. In addition, in the adaptation mode as shown  FIG. 17 , the controller  200  issues the command “XXh” and a cache read command “3Ch”. If the command “3Ch” is set in the command register  160 , the NAND flash memory  100  starts the data read operation from the memory cell array  110  and changes to the busy state. Data of one page is read from an area corresponding to the address transmitted from the controller  200  and held by the latch circuit XDL. 
     As described above, the controller  200  may first designate the initial value of the voltage VCGRV for the target level and the offset value. In this case, the voltage VCGRV is shifted from a certain initial value by a predetermined shift amount by monotone increasing or monotone decreasing. From the second retry reading (adaptation mode), the controller  200  need not issue the signals such as the address ADD, and the load on the controller may be reduced. 
     2. Second Embodiment 
     A memory system according to the second embodiment will be described next. This embodiment is directed to details of the operation of a column control circuit  140  at the time of execution of 1-level shift read tracking described in the first embodiment. Only points different from the first embodiment will be described below. Although only a middle page will be explained below, the same method is applicable to a lower page and an upper page. For the descriptive convenience, assume a case in which a memory cell array includes eight bit lines BL 0  to BL 7 , and selected memory cells connected to the bit lines BL hold “Er”, “A”, “B”, . . . , and “G” data, respectively. 
     2.1 Example in Which Target Level is Voltage VF 
     A case in which of the read levels used in the middle page, a voltage VF is set to the target level will be described with reference to  FIGS. 18 to 26 .  FIGS. 18 to 26  are block diagrams showing bit lines BL and part of sense units SAU corresponding to them. This operation corresponds to  FIG. 13  described in the first embodiment. 
     &lt;First Retry Reading&gt; 
     The first retry reading will be described first. As described in the first embodiment, in the first retry reading, all of three read operations BR, DR, and FR are executed. 
     As shown in  FIG. 18 , first, to execute the read operation BR, for example, a sequencer  170  executes pre-lockout, and “1” data is set in the latch circuits of sense amplifiers SA corresponding to all the bit lines BL 0  to BL 7 . As a result, all the bit lines BL 0  to BL 7  are precharged to a voltage VPRE (for example, 0.7 V). 
     A read voltage VCGRV (=VE′) is applied to a selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 19 , a cell current flows to the bit lines BL 0  and BL 1  corresponding to memory cells that hold the “Er” data and the “A” data whose thresholds are smaller than that of the “B” data, and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, inverted data of the data in the sense amplifier SA is transferred to latch circuits ADL and XDL. That is, the sense amplifiers SA hold 8-bit data “00111111”, and the latch circuits ADL and XDL hold 8-bit data “11000000”. Note that a symbol “˜” in  FIG. 18  represents inversion of data. The read data is held by the latch circuits ADL because they need to be used in the second and subsequent retry reading. 
     Next, the read operation DR is executed. At this time, as shown in  FIG. 20 , the bit lines BL are locked out based on the data held by the sense amplifiers SA. That is, in this example, the bit lines BL 0  and BL 1  are locked out, and their potentials are fixed to, for example, 0 V. Hence, in the read operation DR, the bit lines BL 0  and BL 1  are excluded from the read target. The bit lines BL 2  to BL 7  are set to the read target and precharged to the voltage VPRE. 
     The read voltage VCGRV (=VD′) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 21 , a cell current flows to the bit lines BL 2  and BL 3  corresponding to memory cells that hold the “B” data and the “C” data whose thresholds are smaller than that of the “D” data, and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the OR operation result of the data held by the latch circuit ADL so far and the data in the sense amplifier SA is held by the latch circuit ADL, and the same data is held by the latch circuit XDL as well. This operation is performed by, for example, an operation unit OP. As a result, the sense amplifiers SA hold 8-bit data. “00001111”, and the latch circuits ADL and XDL hold 8-bit data “11001111”. Note that a symbol “|” in  FIG. 21  represents an OR operation. At this time, the results of the read operations BR and DR are held by the latch circuits ADL, and the data is used in the second and subsequent retry reading. 
     Next, as shown in  FIG. 22 , the data in the sense amplifiers SA is transferred to latch circuits BDL. That is, the latch circuits BDL hold 8-bit data “00001111”. The data is used to decide which bit line BL should be locked out in the second and subsequent retry reading.  FIG. 22  shows a state immediately before the read operation FR concerning the voltage VF as the target level is executed. 
     The read operation FR is executed in the state shown in  FIG. 22 . As in the read operation DR, the bit lines BL are locked out based on the data held by the sense amplifiers SA, as shown in  FIG. 23 . In this example, the bit lines BL 0  to BL 3  are locked out. The bit lines BL 4  to BL 7  are set to the read target and precharged to the voltage VPRE. 
     The read voltage VCGRV (=VF 1 ) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 24 , a cell current flows to the bit lines BL 4  and BL 5  corresponding to memory cells that hold the “D” data and the “E” data whose thresholds are smaller than that of the “F” data, and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the AND operation result of the data held by the latch circuit ADL and the inverted data of the data in the sense amplifier SA is held by the latch circuit XDL. This operation is also performed by, for example, the operation unit OP. As a result, the sense amplifiers SA hold 8-bit data “00000011”, and the latch circuits XDL hold 8-bit data “11001100”. 
     As described above, by the three read operations BR, DR, and FR, data “11001100” of one page is held by the latch circuits XDL and transmitted to a controller  200 . After that, the latch circuits ADL and BDL continuously hold the set 8-bit data until a new command “XXh” is received or a clear instruction or the like is received. 
     &lt;Second Retry Reading&gt; 
     In the example of  FIG. 24 , as the result of the first retry reading, “11001100” is held by the latch circuits XDL, and the middle page is correctly read. However, if an error exists in the read result shown in  FIG. 24 , and the error cannot be corrected by hard decision processing, second retry reading is performed. The second retry reading will be described next. As described in the first embodiment, only the read operation FR is executed in the second retry reading. 
     When performing the read operation FR, the sequencer  170  transfers the data “00001111” held by the latch circuits BDL to the sense amplifiers SA, as shown in  FIG. 25 . That is, the bit lines BL to be locked out are decided based on the data in the latch circuits BDL. In this example, the bit lines BL 0  to BL 3  are locked out. The bit lines BL 4  to BL 7  are set to the read target and precharged to the voltage VPRE. 
     The read voltage VCGRV (=VF 2 ) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, shown in  FIG. 26 , a cell current flows to the bit lines BL 4  and BL 5  corresponding to memory cell that hold the “D” data and the “E” data, and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the AND operation result of the inverted data of the data in the sense amplifier SA and the data in the latch circuit ADL is stored in the latch circuit XDL. As a result, the latch circuits XDL hold 8-bit data “11001100”. 
     As described above, using the data in the latch circuits ADL, the data “11001100” of one page can be obtained only by performing the read operation FR. This data is transmitted to the controller  200 . The third or subsequent retry reading is the same as the second retry reading except that the read voltage VCGRV applied to the selected word line WL is further shifted. 
     &lt;State of 1-Level Shift Read Tracking&gt; 
     The operation shown in  FIGS. 18 to 26  will be described using a more detailed example.  FIG. 27  shows the threshold distributions of the “E” state and the “F” state. A broken line indicates a threshold distribution immediately after writing. A case in which the threshold distribution changes to a distribution indicated by a solid line is assumed. As the read voltages, the voltages VF 1  (read operation FR 1 ), VF 2  (read operation FR 2 ), and VF 3  (read operation FR 3 ) are applied. At this time, the voltage VF 1  is smaller than the maximum value of the threshold distribution of the “E” state. The state from the voltage VF 1  to the maximum value of the threshold distribution of the “E” state will be referred to as a state “Eu”. In addition, the voltage VF 3  is larger than the minimum value of the threshold distribution of the “F” state. The state from the minimum value of the threshold distribution of the “F” state to the voltage VF 3  will be referred to as a state “F 1 ”. The voltage VF 2  almost equals the minimum value of the state “F”. 
     In this example, the states of the latch circuits obtained when the voltage VCGRV is shifted from VF 1  to VF 2  and then to VF 3  by performing retry reading three times will be described with reference to  FIGS. 28 to 30 . In this example, the threshold of a memory cell corresponding to the bit line BL 6  has the state “Eu”, the threshold of a memory cell corresponding to the bit line BL 7  has the state “F 1 ”, and the threshold of a memory cell corresponding to the bit line BL 8  has the state “F”. A description will be made below with focus on the three bit lines BL 6  to BL 8 . 
     As shown in  FIG. 28 , in the first retry reading, VF 1  is applied as the voltage VCGRV to the selected word line WL. Then, as shown in  FIG. 28 , no cell current flows to the bit line BL 6 , and “1” data is held by the latch circuits of the sense amplifiers SA corresponding to the bit lines BL 6  to BL 8 . Data held by the three bit lines BL 6  to BL 8  are “111”. A read error occurs in the memory cell corresponding to the bit line BL 6 . 
     Next, as shown in  FIG. 29 , in the second retry reading, VF 2  is applied as the voltage VCGRV to the selected word line WL. Then, a cell current flows to the bit line BL 6  but not to the bit lines BL 7  and BL 8 . As a result, “0” data is held by the latch circuit of the sense amplifier SA corresponding to the bit line BL 6 . Data held by the three bit lines BL 6  to BL 8  are “011”. 
     In the example shown in  FIG. 29 , the read data does not include an error. However, if many errors occur in the bit lines BL (not shown), and the errors cannot be corrected by hard decision processing, the third retry reading is performed, as shown in  FIG. 30 . If VF 3  is applied as the voltage VCGRV to the selected word line WL, a cell current flows to the bit lines BL 6  and BL 7  but not to the bit line BL 8 . As a result, “0” data is held by the latch circuits of the sense amplifiers SA corresponding to the bit lines BL 6  and BL 7 . Data held by the three bit lines BL 6  to BL 8  are “001”. 
     As described above, when the voltage VCGRV corresponding to the target level VF is shifted, the number of errors included in the read data changes. The controller  200  counts the number of on-cells while shifting the voltage VCGRV. This makes it possible to find a voltage corresponding to the cross point between the threshold distributions of the “E” state and the “F” state (in other words, the trough between the two threshold distributions). 
     If the number of errors can be made to fail within a correctable range by shifting the voltage VCGRV, the data can be decoded by hard bit decoding (YES in step S 16 ). On the other hand, if the number of errors cannot be made to fall within a correctable range, it is difficult to decode the data by hard bit decoding. However, even if correction by hard bit decoding is impossible, a read voltage considered to be approximately correct can be detected by counting the number of on-cells while shifting the voltage VCGRV. When the detected voltage is used, it is possible to make the most of the correction capability of the ECC circuit in soft decision processing of step S 20 . 
     2.2 Example in Which Target Level is Voltage VD 
     A case in which of the read levels used in the middle page, a voltage VD is set to the target level will be described next with reference to  FIGS. 31 to 35 .  FIGS. 31 to 35  are block diagrams showing the bit lines BL and part of the sense units SAU corresponding to them. This operation corresponds to  FIG. 14  described in the first embodiment. 
     &lt;First Retry Reading&gt; 
     The first retry reading will be described first. As described in the section 2.2, in the first retry reading, all of the three read operations BR, DR, and FR are executed. 
     That is, as shown in  FIG. 18 , the sequencer  170  executes pre-lockout, and all the bit lines BL 0  to BL 7  are precharged to the voltage VPRE. The read voltage VCGRV (=VB′) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 31 , a cell current flows to the bit lines BL 0  and BL 1 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, inverted data of the data in the sense amplifier SA is transferred to the latch circuits ADL and XDL. Furthermore, the data in the sense amplifier SA is transferred to the latch circuit BDL. 
     That is, the sense amplifiers SA hold 8-bit data “00111111”, the latch circuits ADL and XDL hold 8-bit data “11000000”, and the latch circuits EDL hold 8-bit data “00111111”. The data in the latch circuits BDL is used to decide which bit line BL should be locked out in the second and subsequent retry reading and also used to generate data of one page. 
     Next, the read operation DR is executed. At this time, as shown in  FIG. 20 , the bit lines BL 0  and BL 1  are locked out, and the bit lines BL 2  to BL 7  are set to the read target and precharged to the voltage VPRE. The read voltage VCGRV (=VD 1 ) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 32 , a cell current flows to the bit lines BL 2  and BL 3 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the OR operation result of the data held by the latch circuit XDL so far and the data in the sense amplifier SA is held by the latch circuit XDL. As a result, the sense amplifiers SA hold 8-bit data “00001111”, and the latch circuits XDL hold 8-bit data “11001111”. 
     Next, the read operation FR is executed. At this time, as shown in  FIG. 23 , the bit lines BL 0  to BL 3  are locked out, and the bit lines BL 4  to BL 7  are set to the read target and precharged to the voltage VPRE. The read voltage VCGRV (=VF′) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 33 , a cell current flows to the bit lines BL 4  and BL 5 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, inverted data of the data in the sense amplifier SA is held by the latch circuit ADL, and the AND operation result of the data held by the latch circuit XDL and the inverted data of the data in the sense amplifier SA is held by the latch circuit XDL. As a result, the sense amplifiers SA hold 8-bit data “00000011”, the latch circuits ADL hold 8-bit data “11111100”, and the latch circuits XDL hold 8-bit data “11001100”. The latch circuits BDL (not shown) hold 8-bit data “00111111”. The data in the latch circuits ADL is used to generate data of one page in the second and subsequent retry reading together with the data in the latch circuits BDL. 
     As described above, by the three read operations BR, DR, and FR, data “11001100” of one page are held by the latch circuits XDL and transmitted to the controller  200 . After that, the latch circuits ADL and BDL continuously hold the set 8-bit data until the new command “XXh” is received or a clear instruction or the like is received. 
     &lt;Second Retry Reading&gt; 
     In the example of  FIG. 33 , as the result of the first retry reading, “11001100” are held by the latch circuits XDL, and the middle page is correctly read, as in the example of  FIG. 24 . However, if an error exists in the read result shown in  FIG. 33 , and the error cannot be corrected by hard decision processing, second retry reading is performed. The second retry reading will be described below. In the second retry reading, only the read operation DR is executed. 
     When performing the read operation DR, the sequencer  170  transfers the data “00111111” held by the latch circuits BDL to the sense amplifiers SA, as shown in  FIG. 34 . That is, the bit lines BL to be locked out are decided based on the data in the latch circuits BDL. In this example, the bit lines BL 0  and BL 1  are locked out. 
     The read voltage VCGRV (=VD 2 ) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 35 , a cell current flows to the bit lines BL 4  and BL 5 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the XOR operation between the data in the sense amplifier SA and the data in the latch circuit BDL is performed. Furthermore, the AND operation between inverted data of the operation result and the data in the latch circuit ADL is performed. This is held by the latch circuit XDL as data of one page. 
     As described above, using the data in the latch circuits ADL and BDL, the data “11001100” of one page can be obtained only by performing the read operation DR. 
     2.3 Example in Which Target Level is Voltage VB 
     A case in which of the read levels used in the middle page, a voltage VB is set to the search target will be described next with reference to  FIGS. 36 to 40 .  FIGS. 36 to 40  are block diagrams showing the bit lines BL and part of the sense units SAU corresponding to them. This operation corresponds to  FIG. 15  described in the first embodiment. 
     &lt;First Retry Reading&gt; 
     The first retry reading will be described first. As described above, in the first retry reading, all of the three read operations BR, DR, and FR are executed. 
     That is, as shown in  FIG. 18 , the sequencer  170  executes pre-lockout, and all the bit lines BL 0  to BL 7  are precharged to the voltage VPRE. The read voltage VCGRV (=VB 1 ) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 36 , a cell current flows to the bit lines BL 0  and BL 1 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, inverted data of the data in the sense amplifier SA is transferred to the latch circuits ADL and XDL. Furthermore, in the latch circuits BDL, all bits are reset, and “1” data is set. 
     That is, the sense amplifiers SA hold 8-bit data “00111111”, the latch circuits ADL and XDL hold 8-bit data “11000000”, and the latch circuits BDL hold 8-bit data “11111111”. The data in the latch circuits BDL are used to decide which bit line BL should be locked out in the second and subsequent retry reading. 
     Next, the read operation DR is executed. At this time, as shown in  FIG. 20 , the bit lines BL 0  and BL 1  are locked out, and the bit lines BL 2  to BL 7  are set to the read target and precharged to the voltage VPRE. The read voltage VCGRV (=VD′) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 37 , a cell current flows to the bit lines BL 2  and BL 3 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the data in the sense amplifier SA is transferred to the latch circuit ADL, and the OR operation result of the data held by the latch circuit XDL so far and the data in the sense amplifier SA is held by the latch circuit XDL. As a result, the sense amplifiers SA and the latch circuits ADL hold 8-bit data “00001111”, and the latch circuits XDL hold 8-bit data “11001111”. 
     Next, the read operation FR is executed. At this time, as shown in  FIG. 23 , the bit lines BL 0  to BL 3  are locked out, and the bit lines BL 4  to BL 7  are set to the read target and precharged to the voltage VPRE. The read voltage VCGRV (=VP′) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 38 , a cell current flows to the bit lines BL 4  and BL 5 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the AND operation result of the data held by the latch circuit ADL so far and inverted data of the data in the sense amplifier SA is held by the latch circuit ADL. Furthermore, the AND operation result of the data held by the latch circuit XDL so far and the inverted data of the data in the sense amplifier SA is held by the latch circuit XDL. As a result, the sense amplifiers SA hold 8-bit data “00000011”, the latch circuits ADL hold 8-bit data “00001100”, and the latch circuits XDL hold 8-bit data “11001100”. The latch circuits BDL (not shown) hold 8-bit data “11111111”. The data in the latch circuits ADL is used to generate data of one page in the second and subsequent retry reading. 
     As described above, by the three read operations BR, DR, and FR, data “11001100” of one page is held by the latch circuits XDL and transmitted to the controller  200 . After that, the latch circuits ADL and BDL continuously hold the set 8-bit data until the new command “XXh” is received or a clear instruction or the like is received. 
     &lt;Second Retry Reading&gt; 
     In the example of  FIG. 38 , the result of the first retry reading, “11001100” is held by the latch circuits XDL, and the middle page is correctly read, as in the example of  FIG. 24 . However, if an error exists in the read result shown in  FIG. 38 , and the error cannot be corrected by hard decision processing, second retry reading is performed. The second retry reading will be described below. In the second retry reading, only the read operation BR is executed. 
     When performing the read operation BR, the sequencer  170  transfers the data “11111111” held by the latch circuits BDL to the sense amplifiers SA, as shown in  FIG. 39 . That is, the bit lines BL to be locked out are decided based on the data in the latch circuits BDL. In this example, all the bit lines BL 0  to BL 7  are set to the read target and precharged to the voltage VPRE. 
     The read voltage VCGRV (=VB 2 ) is applied to the selected word line WL, and data is read to the bit lines BL. As a result, as shown in  FIG. 40 , a cell current flows to the bit lines BL 0  and BL 1 , and “0” data is stored in the latch circuits of the sense amplifiers SA. Additionally, in each sense unit SAU, the OR operation between the inverted data in the sense amplifier SA and the data in the latch circuit ADL is performed, and the operation result is held by the latch circuits XDL as data of one page. 
     As described above, using the data in the latch circuits ADL and BDL, the data “11001100” of one page can be obtained only by performing the read operation DR. 
     2.4 Effects According to this Embodiment 
     The method described in the first embodiment may be implemented by, for example, the method described in this embodiment. That is, when lockout data obtained by the first retry reading and the strobe results for the non-target levels are held in the latch circuits and used, data strobe for the non-target levels is not needed in the second retry reading. 
     3. Third Embodiment 
     A memory system according to the third embodiment will be described next. This embodiment is directed to a case in which lower page data is read in the first and second embodiments. 
     3.1 Overall Procedure of Retry Reading 
     In  FIG. 41 ,  FIG. 8  described in the first embodiment is applied to lower page data reading. As described with reference to  FIG. 5 , lower page data is read using VA which is the minimum read levels of eight read levels VA to GR and VE. The read level VA is set to the target level. 
     Hence, distribution reading is executed first for the read level VE (step S 10 ). A processor  230  of a controller  200  searches for a voltage (DAC value) corresponding to the cross point between the “D” state and the “E” state based on the result of distribution reading (step S 11 ). The found voltage corresponding to the cross point will be referred to as VE′ hereinafter. 
     Next, the controller  200  starts 1-level shift read tracking (step S 13 ).  FIG. 42  is a timing chart of various signals at the time of execution of 1-level shift read tracking. 
     First, the controller  200  instructs a NAND flash memory  100  to execute 1-level shift read tracking in the capture mode (step S 13 ). That is, a read operation AR is executed using a voltage VA 1  based on initial value information given by the controller  200 , and next, a read operation ER is executed using the voltage VE′ found in step S 11  (step S 14 ). If hard bit decoding fails in the first retry reading (NO in step S 16 ), the voltage VA corresponding to the target level is shifted from VA 1  to VA 2 , and 1-level shift read tracking in the adaptation mode is executed (steps S 18  and S 19 ). 
     The 1-level shift read tracking in the adaptation mode is repeated while shifting value of VA until hard bit decoding succeeds (YES in step S 16 ) or the value of the read voltage VA reaches the maximum value (or minimum value) of a predetermined range (NO in step S 17 ). 
     If the hard bit decoding does not succeed for the read voltage VA within the predetermined range, soft decision processing is performed. 
     In this example as well, even if correction by hard bit decoding is impossible, the value of the read voltage VA considered to be approximately correct may be detected by counting the number of on-cells while shifting a voltage VCGRV, and the value may be used in soft decision. 
     3.2 Effects According to this Embodiment 
     When reading data using a read level corresponding to the cross point between a threshold distribution corresponding to the erase state and an adjacent threshold distribution, as in this embodiment, this read level is preferably set to the target level. This point will be described with reference to  FIG. 43 .  FIG. 43  is a graph of threshold distributions, which shows a state in which the threshold distributions vary due to various factors. 
     As shown in  FIG. 43 , the shapes of the threshold distributions corresponding to the “A” to “F” states are almost equal to each other. For example, place focus on the “D” state and the “E” state. The shapes of the threshold distributions of these states are almost bilaterally symmetric with respect to the cross point. Hence, for the read levels VB to VF, the voltage corresponding to the cross point between the threshold distributions obtained by distribution reading is the almost optimal read voltage as the read voltage VCGRV. 
     To the contrary, as for the threshold distribution corresponding to the erase state (“Er”), the upper tail readily shifts to the high voltage side. In the example of  FIG. 43 , the voltage considerably rises to the higher voltage side of the “A” state. Hence, if focus is placed on the erase state and the “A” state, the shapes of the threshold distributions are greatly different from the shapes bilaterally symmetric with respect to the cross point. For this reason, the cross point between the threshold distributions of the two states does not always correspond to the optimal read voltage. 
     As described above, since it is difficult to obtain the optimal read voltage for the read level VA, the target level is preferably set to VA in lower page reading including the read operation AR. That is, the optimal value of VE is first obtained by distribution reading. As for the optimal value (decodable value) of VA, the ECC circuit attempts correction while shifting the value of VA. As a result, if the correction succeeds, the value is eventually suitable as the read voltage. Whether the value is the optimal value is unknown, as a matter of course. However, correcting data suffices, and the optimal value need not be used. 
     The above-described procedure may be applied to the “G” state. That is, the lower tail of the threshold distribution of the “G” state readily shifts to the low voltage side, as shown in  FIG. 43 . Hence, in page reading including the read operation GR, the target level may be set to VG. 
     4. Fourth Embodiment 
     A memory system according to the fourth embodiment will be described next. In this embodiment, not only a read voltage for a target level but also a read voltage for a non-target level is obtained using 1-level shift read tracking in the first to third embodiments. Only points different from the first to third embodiments will be described below. 
     4.1 Read Operation 
     First Example 
       FIG. 44  is a flowchart showing a data read operation according to the first example of this embodiment, and corresponds to the first step (steps S 10  to S 12 ) in  FIG. 8  described in the embodiment and  FIG. 41  described in the second embodiment. A case in which middle page data is read, in the second step, a read level VF is set to the target level, and read levels VB and VD are set to the non-target levels will be described below as an example. 
     As shown in  FIG. 44 , in a NAND flash memory  100 , 1-level shift reading in the capture mode is executed for one of the non-target levels (VB in this example) in accordance with an instruction from a controller  200  (step S 30 ), and data of one page is transmitted from the NAND flash memory  100  to the controller  200 . In step S 30 , VB that is the non-target level is shifted by a value designated by the controller  200 . For the other non-target level VD and the target level VF, for example, the same values as in normal read are used. 
     Then, for example, a processor  230  counts the number of on-bits in the read operation using non-target level VB based on the received data of one page (step S 31 ). At this time, the controller  200  only counts the number of on-bits, and detection and correction of an error are not performed. Hence, an ECC circuit  260  may be turned off. 
     If a read voltage VCGRV has a value within a predetermined range in shift reading (YES in step S 32 ), the processor  230  instruct the NAND flash memory  100  to change the shift amount of the read voltage VCGRV corresponding to the non-target level VB (step S 33 ), and executes 1-level shift reading again (step S 34 ). The 1-level shift reading executed in step S 34  is 1-level shift reading in the adaptation mode. That is, in step S 34 , the read operation is executed only for the non-target level VB, but the read operation is not performed for the remaining read levels VD and VF. Additionally, unlike the first embodiment, data (data in latch circuits ADL described in the second embodiment) concerning the remaining read levels VD and VF, which are obtained in step S 30 , are not used. However, lockout information (data in latch circuits BDL described in the second embodiment) obtained in step S 30  is used, and bit lines BL corresponding to memory cells that are already ON are excluded from the read target. 
     In the described above, the 1-level shift reading in the adaptation mode is repeated for the non-target level VB until the read voltage VCGRV reaches the maximum value in the predetermined range (steps S 33  and S 34 ). If the read voltage VCGRV reaches the maximum value in the predetermined range (YES in step S 32 ), the processor  230  obtains a voltage corresponding to the cross point between the threshold distributions (the cross point between the threshold distributions of the “A” state and the “B” state) based on the number of on-bits recorded for each voltage VCGRV shifted a plurality of times in step S 31  (step S 35 ). The method of obtaining the voltage corresponding to the cross point is the same as that described with reference to, for example,  FIGS. 9 and 10 . If another non-target level exists (YES in step S 36 ), the process returns to step S 30  to perform the same operation. That is, the same operation as described above is repeated for the non-target level VD. 
     If another non-target level does not exist (NO in step S 36 ), the process proceeds to the second step described in the first embodiment. The operation of the second step is the same as described in the first to third embodiments. However, as the read voltage VCGRV corresponding to the non-target levels VB and VD used in the capture mode, the value found in step S 35  is used. Additionally, since error correction of the read data is performed in the second step, the ECC circuit is turned on. 
     Second Example 
     The second example will be described next with reference to  FIG. 45 .  FIG. 45  is a flowchart showing a data read operation according to the second example of this embodiment, and corresponds to the first step (steps S 10  to S 12 ) in  FIG. 8  described in the first embodiment and  FIG. 41  described in the second embodiment, like  FIG. 44 . 
     As shown in  FIG. 45 , this example is different from  FIG. 44  in that the capture mode and the adaptation mode are selectively used depending on whether the non-target level, which is treated as the search target in the first step, is the minimum level of the plurality of read levels used to determine page data. 
     That is, if the non-target level is not the minimum read level (NO in step S 41 ), that is, if the search target is the read level VD in the example described in the first example, the controller  200  performs 1-level shift reading in the capture mode first (steps S 42  and S 44 ) and, after that, performs 1-level shift reading in the adaptation mode (steps S 33 , S 43 , and S 44 ). The processing procedure in this case is the same as in the first example. 
     On the other hand, if the non-target level is the minimum read level (YES in step S 41 ), that is, if the search target is the read level VB in the example described in the first example, the controller  200  performs 1-level shift reading in the adaptation mode from the first retry reading without performing 1-level shift reading in the capture mode (steps S 43  and S 44 ). 
     4.2 Effects According to this Embodiment 
     As described in this embodiment, as the method of obtaining the optimal voltage of the non-target level, not only distribution reading but also shift reading may be used. Even if shift reading is used, obtaining the optimal voltage of the non-target level is equivalent to obtaining the cross point between threshold distributions, and therefore, the ECC circuit may be off. 
     As described in the first embodiment, in the shift reading, the read operation is performed under almost the same condition as in normal read. Hence, as compared to a case in which distribution reading is used, a more accurate optimal voltage may be obtained. 
     A case in which if the non-target level that is the search target in the first step is the minimum level of the plurality of read levels used to determine page data, the capture mode reading is not performed has been described above as the second example. The capture mode is unnecessary because if the search target is the minimum level, all bit lines BL are included in the read target. 
     On the other hand, if the target level is not the minimum level, it is preferable to perform the capture mode in advance to obtain the information of a bit line to be locked out. Needless to say, even if the target level is not the minimum level, the capture mode can be omitted. In this case, however, all bit lines BL are included in the read target, and the degree of potential variation of the source line is different from that in the normal read operation in which some of the bit lines BL are locked out. Hence, to accurately obtain the read voltage corresponding to the non-target level, the capture mode is preferably executed. 
     5. Fifth Embodiment 
     A memory system according to the fifth embodiment will be described next. In this embodiment, not the number of on-bits but the number of error bits is counted based on a check matrix obtained at the time of decoding by an ECC circuit  260 , and an, optimal read voltage for a target level is decided in accordance with the count in the first to fourth embodiments. Only points different from the first to fourth embodiments will be described below. 
     5.1 Retry Reading 
     Retry reading according to this embodiment will be described with reference to  FIG. 46 .  FIG. 46  shows an operation performed when error correction fails in a normal read operation, and corresponds to  FIG. 8  described in the first embodiment. 
     As shown in  FIG. 46 , the method according to this embodiment is different from the first embodiment in the following points. That is, 
     (1) if hard bit decoding fails (NO in step S 16 ), the ECC circuit  260  counts the number of error bits based on a parity check matrix, and decides the read voltage of the smallest count as the optimal read voltage for the target level (step S 50 ).  FIG. 47  shows this state. 
     As shown in  FIG. 47 , data of one page read from the memory cell array includes net data and parity. The ECC circuit  260  generates a parity check matrix as shown in  FIG. 47  from the parity and net data. In this parity check matrix, an XOR operation of bits at positions with values “1” is performed, thereby obtaining a parity check formula. In the parity check formula, “1” represents an error, and the total number of bits “1” is the total number of errors. 
     A method of detecting an error bit based on a parity check matrix is described in, for example, U.S. patent application Ser. No. 14/337,372 filed on Jul. 22, 2014 and entitled “MEMORY CONTROLLER, STORAGE DEVICE, AND MEMORY CONTROL METHOD”. This patent application is entirely incorporated herein by reference. 
     (2) In the third step, soft decision is performed using the optimal read voltage obtained in step S 50  (step S 51 ). That is, for example, for a non-target level, soft bit reading is performed using a plurality of voltage values based on the voltage obtained in step S 11 . For a target level, soft bit reading is performed using a plurality of voltage values based on the voltage obtained in step S 50 . 
     5.2 Effects According to this Embodiment 
     According to this embodiment, the optimal read voltage of the target level may be detected not by the number of on-bits but by the number of error bits obtained from the parity check formula. According to this example, unlike bit count by various methods such as distribution reading, the number of error bits is directly counted, and the optimal read voltage is detected based on the number of error bits. For example, a voltage with the smallest number of error bits is defined as the optimal read voltage. It is therefore possible to more accurately detect the optimal read voltage. If this is applied to the read level VA described in the third embodiment, a conspicuous effect may be obtained. 
     6. Modifications 
     As described above, a memory system according to the embodiment includes: a semiconductor memory device ( 100  in  FIG. 1 ) with a memory cell array including a memory cell capable of holding data; and a controller ( 200  in  FIG. 1 ) capable of issuing a first read instruction to read data from the semiconductor storage device and a second read instruction different from the first read instruction. The memory cell array includes: a first memory cell and a second memory cell; a first bit line connected to the first memory cell; and a second bit line connected to the second memory cell. When receiving the first read instruction (YYh in  FIG. 11 ) from the controller, the semiconductor memory device applies a first voltage (VPRE) to the first bit line (BL 0 -BL 3  in  FIG. 18 ) and the second bit line (BL 4 -BL 7  in  FIG. 18 ) and issues a strobe signal (STB in  FIG. 13 ) at a first timing (t 3  in  FIG. 13 ) to read data from the first memory cell and the second memory cell. When receiving the second read instruction (XXh in  FIG. 12 ) from the controller, the semiconductor memory device applies a second voltage (0 V) different from the first voltage (VPRE) to the first bit line (BL 0 -BL 3  in  FIG. 25 ) to set the first memory cell to a non-read target ( FIG. 25 ) and applies the first voltage (VPRE) to the second bit line (BL 4 -BL 7  in  FIG. 25 ) to read data from the second memory cell based on a strobe result of the data at the first timing. 
     Note that the above-described embodiments may variously be modified. For example, in the above embodiments, 1-level shift read tracking that tracks only one of a plurality of read levels necessary for obtaining data of one page has been described as an example. For example, in middle page reading, of the voltages VB, VD, and VF, only the voltage VF is actually tracked. However, tracking may be performed for all read levels by the method described in the above embodiments. For example, in the middle page, the operation shown in  FIG. 13  may be performed for the voltage VF, the operation shown in  FIG. 14  may be performed for the voltage VD, and the operation shown in  FIG. 15  may be performed for the voltage VB. If 1-level shift read tracking cannot correct data, all read levels may be tracked. At this time, the shift amount (ΔDAC) of the voltage may be smaller than in 1-level shift read tracking. 
     A detailed operation of the column control circuit  140  has been explained as the second embodiment. However, the description of the second embodiment is merely an example, and the operation is not limited to the described operation. That is, it is only necessary that read data and lockout information needed in the adaptation mode are stored in the capture mode, and the stored information can be used in the adaptation mode. 
     In the above embodiments, an example in which soft decision (soft bit decoding) is performed if hard decision (hard bit decoding) fails has been described. However, the soft decision may be not performed. In this case, counting of the number of on-bits described concerning steps S 11  and S 15  of  FIGS. 8 and 41  and counting of the number of error bits described concerning step S 50  of  FIG. 46  are unnecessary. 
     In the above embodiments, an example in which the memory cell transistor MT holds 3-bit data has been described. However, the memory cell transistor MT may hold 2-bit data or data of four or more bits, as a matter of course. 
     In the above embodiments, a NAND flash memory has been exemplified as the semiconductor memory device. However, the embodiments are applicable not only to the NAND flash memory but also other general semiconductor memories, and also applicable to various kinds of storage devices other than the semiconductor memories. In the flowcharts described in the above embodiments, the order of processes may be changed as long as it is possible. 
     While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.