This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2010-151921, filed on Jul. 2, 2010, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a nonvolatile semiconductor memory device.
In recent development of nonvolatile semiconductor memory devices, in order to achieve large capacity, multi-level technology of storing a plurality of bits of information in one memory cell has been normally used. However, in the case of using the multi-level technology, a difference between threshold distributions used for representing data is small, and thus a write error during data writing, a read error during data reading and the like, easily occur.
For this reason, in the related art, as one of nonvolatile semiconductor memory devices for solving the above problems, a NAND-type flash memory with an error correcting code (ECC) system mounted has been proposed. However, in error correction based on an ECC of the flash memory, the following problem occurs during data reading. For example, in the case of a flash memory using memory cells each of which stores 3 bits, there are 3 kinds of physical pages, i.e., an upper (U) page, a middle (M) page, and a lower (L) page, and the number of times data is read varies according to the kinds of physical pages. As a result, a rate of occurrence of errors also varies according to the kinds of physical pages. In this case, in one physical page having one ECC frame stored therein without changing the format of the ECC frame, a variation in the error correction efficiency occurs according to the kind of storing physical page, and thus the error correction efficiency of the entire device is not improved.
A nonvolatile semiconductor memory device according to an embodiment includes: a memory cell array including a plurality of word lines, a plurality of bit lines intersecting with the plurality of word lines, and a plurality of memory cells selected by the word lines and the bit lines, each memory cell being capable of storing N-bit (N is an integer of 2 or more) data, a set of n-th bits (n is an integer of 1 to N) of a plurality of memory cells selected by one of the word lines constituting an n-th physical page, and a predetermined number of the bit lines constituting one column; and a data writing unit that divides each of first to N-th input data of the length of the physical page or less input from the outside into unit data of the length of the column, changes at least a portion of the order of unit data of the first to N-th input data of a predetermined column in the predetermined column before data writing, and performs writing.
Hereinafter, nonvolatile semiconductor memory devices according to embodiments will be described with reference to the drawings.
The memory system according to the first embodiment includes a semiconductor memory device 100 and a controller 200 controlling the semiconductor memory device 100.
The semiconductor memory device 100 includes a memory cell array 101. The memory cell array 101 includes a plurality of bit lines, a plurality of word lines, a common source line, and a plurality of memory cells which are electrically rewritable and are arranged in a matrix. In the memory cells, not only multi-value data which are information bits but also redundant data for error correction on the information bits are stored.
The memory cell array 101 is connected to a word line control circuit 106 for controlling word line voltages.
The word line control circuit 106 supplies voltages necessary for a data reading operation or a verifying operation of a data writing operation, such as a voltage of a lower limit of a plurality of (8 in the case where each memory cell stores 3 bits) threshold distributions stored in the memory or a voltage between neighboring threshold distributions, to the word lines.
Also, the memory cell array 101 is connected to a bit line control circuit 102 for controlling the bit lines, and to a column decoder 103 through the bit line control circuit 102. The bit line control circuit 102 is a portion of a data writing unit.
The column decoder 103 performs bit line selection based on address information given from the controller 200.
The bit line control circuit 102 has not only a function of reading storage data of the memory cells of the memory cell array 101 through the bit lines but also a data latch function of retaining read data or write data. Further, the bit line control circuit 102 supplies voltages necessary for writing data to the memory cells of the memory cell array 101 through the bit lines.
The bit line control circuit 102 is connected to a data input/output buffer 104, and to an input/output control circuit 105 through the data input/output buffer 104. The input/output control circuit 105 controls data input and output of the semiconductor memory device 100. Write data transmitted from the controller 200 is transmitted to the data input/output buffer 104 by the input/output control circuit 105 and is stored in the data input/output buffer 104. Meanwhile, read data transmitted from the memory cell array 101 is stored in the data input/output buffer 104 through the bit line control circuit 102 and then transmitted to the controller by the input/output control circuit 105.
Further, the semiconductor memory device 100 includes a control circuit 107 controlling the bit line control circuit 102, the column decoder 103, the data input/output buffer 104, and the word line control circuit 106.
The control circuit 107 receives a control signal transmitted from the controller 200 through a control signal input/output terminal 108.
The controller 200 includes an input/output control circuit 201 controlling data communication with the outside, an ECC system 202 generating redundant data from input data or performing error correction on read data, and a data register 203 for retaining data handled in the ECC system. Input data given from the outside is transmitted as information data to the input/output control circuit 105 of the semiconductor memory device 100 by the input/output control circuit 201 and is also transmitted to the ECC system 202 in order to generate the redundant data for error correction. Meanwhile, read data from the semiconductor memory device 100 is transmitted to the ECC system 202 through the data register 203, subjected to error correction in the ECC system 202, then transmitted to the input/output control circuit 201, and output as output data from an input/output terminal.
Next, a configuration of the memory cell array 101 illustrated in
As illustrated in
Each NAND cell unit NU includes a plurality of (64 in the example of
Control gates of the memory cells MC0 to MC63 are connected to different word lines WL0 to WL63, respectively, and gates of the selection gate transistors S1 and S2 are connected to selection gate lines SG1 and SG2, respectively.
At one end of each bit line BL, a sense amplifier and data latch unit which is a portion of the bit line control circuit 102 is disposed. A set of memory cells MC selected by one word line WL constitutes a “page” which is a data access unit during simultaneous writing or reading.
Moreover, in the following description, the “page” may be defined not only as the data access unit and but also as a hierarchy of storage data in the case where each memory cell MC stores multi-value data, that is, a program stage. In this case, the “page” may be called a “physical page”, or a lower (L) page, a middle (M) page, an upper (U) page, or the like. Also, the “page” may be defined as an ECC frame of a predetermined size including information data input from the outside. In this case, the “page” may be called a “physical page”, or a first page, a second page, a third page, or the like.
A set of the NAND cell units NU arranged in the direction of the word lines WL constitutes a block which is a basic unit of data erasing. The memory cell array 101 includes a plurality of blocks BLK (BLK0, BLK1, . . . , and BLKn) arranged in the direction of the bit lines BL.
Next, a configuration of the sense amplifier and data latch unit of the semiconductor memory device will be described with reference to
A sense amplifier and data latch unit 102a includes a sense amplifier S/A provided at one end of a bit line BL of the memory cell array 101, an operational circuit performing data transmission between the memory cell array 101 and the data input/output buffer 104 and an operation necessary during the data transmission, and data latches DL1, DL2, DL3, and XDL serving as data retaining units. Here, each of the data latches DL1, DL2, DL3, and XDL includes a bit latch circuit corresponding to one column, for example, 8-bit (1-byte) data.
Next, a relationship between threshold distributions and data assignment of the memory cells MC will be described.
As illustrated in
Next, data reading from the memory cell MC will be described.
In order to read data, in advance, the selection gate transistors S1 are turned on and the bit lines are precharged with a power supply voltage or the like. In this state, a read pass voltage higher than the upper limit of the threshold distribution of the G level is supplied to non-selected word lines, and any read voltage between neighboring threshold distributions is supplied to a selected word line. Further, the selection gate transistor S2 is turned on. In this case, non-selected memory cells whose control gates are supplied with the read pass voltage function as pass gates regardless of the threshold levels thereof. As a result, in the case where a selected memory cell is in an ON state, the bit line and the cell source line are electrically connected to each other such that the level of the bit line drops to the level of the cell source line. On the other hand, in the case where the selected memory cell is in an OFF state, the level of the bit line does not change. A change in the bit line is detected and amplified by the sense amplifier, whereby the threshold level of the memory cell is determined.
For example, in the case where the level of the bit line BL does not change when a read voltage between the A level and the B level is applied to the selected word line WL, and the level of the bit line BL is lowered when a read voltage between the B level and the C level is applied, it can be found that threshold level of the selected memory cell is the B level. In the cases of performing a read operation on any physical page of the U page, the M page, and the L page, the same principle of the data read operation is applicable but the number of read times varies.
Referring to the bit assignment illustrated in
Next, based on the fact that the number of read times is different for each of the physical pages, error correction based on ECC is considered.
It is assumed that an ECC frame with added redundant data for error correction on information data of one page input from the outside is generated and one ECC frame is stored in one physical page. Here, for example, if ECC frames of a first page, a second page, and a third page are generated from consecutive 3-bit information data, the first page, the second page, and the third page are written in the L page, the M page, and the U page, respectively. However, as described above, in the data reading operations from the L page, the M page, and the U page, the number of read times is different. For this reason, in the reading from the U page in which the number of read times is largest, naturally, error easily occurs and error correction efficiency based on the ECC is low. In contrast, in the reading from the L page in which the number of read times is smallest, error is less likely to occur and the error correction efficiency based on the ECC is high. In this case, if the entire memory system is considered, the error correction efficiency based on the ECC is bad.
For this reason, in the semiconductor memory device according to this embodiment, the first page, the second page, and the third page are not stored in the U page, the M page, and the L page as they are. Data (hereinafter, referred to as “unit data”) of a length of a column constituting each of the first page, the second page, and the third page is replaced with unit data of another logical page in the same column, and is stored in a physical page. In this way, one logical page is distributed to the L page, the M page, and the U page, thereby capable of averaging the rates of error occurrence of the first page, the second page, and the third page.
First, the data of the first page, the data of the second page, and the data of the third page transmitted from the controller 200 are retained as they are in the data latches DL1, DL2, and DL3 of the sense amplifier and data latch unit 102a, respectively. The states of the data latches DL1, DL2, and DL3 at this time are as illustrated on the upper portion of
Then, the data of the logical pages are sorted by the operational circuit of the sense amplifier and data latch unit 102a as illustrated in the lower portion of
Finally, the data retained in the data latches DL1, DL2, and DL3 are written in the L page, the M page, and the U page, respectively.
Next, how to convert the logical pages illustrated in the upper portion of
First, in step S101, the unit data C0, C1, and C2 retained in the data latches DL3 of the columns <0>, <1>, and <2> are copied into the registers Y1 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data C0 stored in the register Y1 of the column <0> is copied into the data latch XDL of the same column <0>. Next, the unit data C0, C1, and C2 stored in the registers Y1 of the columns <0>, <1>, and <2> are copied again into the sense amplifiers S/A of the same columns <0>, <1>, and <2>. After step S101 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T101 of
Subsequently, in step S102, the unit data B0, B1, and B2 retained in the data latches DL2 of the columns <0>, <1>, and <2> are copied into the registers Y1 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data B1 stored in the register Y1 of the column <1> is copied into the data latch XDL of the same column <1>. After step S102 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T102 of
Next, in step S103, the unit data A0, A1, and A2 retained in the data latches DL1 of the columns <0>, <1>, and <2> are copied into the registers Y1 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data A2 stored in the register Y1 of the column <2> is copied into the data latch XDL of the same column <2>. After step S103 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T103 of
Subsequently, in step S104, the unit data C0, B1, and A2 retained in the data latches XDL of the columns <0>, <1>, and <2> are copied into the registers Y1 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data C0, B1, and A2 stored in the registers Y1 of the columns <0>, <1>, and <2> are copied into the data latches DL3 of the same columns <0>, <1>, and <2>, respectively. After step S104 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T104 of
According to steps S101 to S104, in the data latches DL3 of the respective columns, the unit data which should be written in respective columns of the U page are prepared.
Subsequently, in step S105, the unit data B0, B1, and B2 retained in the data latches DL2 of the columns <0>, <1>, and <2> are copied into the registers Y1 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data BO stored in the register Y1 of the column <0> is copied into the data latch XDL of the same column <0>. After step S105 is processed, the states of the sense amplifier S/A and others are as illustrated by a reference symbol T105 of
Next, in step S106, the unit data A0, A1, and A2 retained in the data latches DL1 of the columns <0>, <1>, and <2> are copied into the registers Y2 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data Al stored in the register Y2 of the column <1> is copied into the data latch XDL of the same column <1>. After step S106 is processed, the states of the sense amplifier S/A and others are as illustrated by a reference symbol T106 of
Subsequently, in step S107, the unit data C0, C1, and C2 retained in the sense amplifiers S/A of the columns <0>, <1>, and <2> are copied into the registers Y2 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data C2 stored in the register Y2 of the column <2> is copied into the data latch XDL of the same column <2>. After step S107 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T107 of
Next, in step S108, the unit data B0, A1, and C2 retained in the data latches XDL of the columns <0>, <1>, and <2> are copied into the registers Y2 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data B0, Al, and C2 stored in the registers Y2 of the columns <0>, <1>, and <2> are copied into the data latches DL2 of the same columns <0>, <1>, and <2>, respectively. After step S108 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T108 of
According to steps S105 to S108, in the data latches DL2 of the respective columns, the unit data which should be written in respective columns of the M page are prepared.
Subsequently, in step S109, the unit data C0, C1, and C2 retained in the sense amplifiers S/A of the columns <0>, <1>, and <2> are copied into the registers Y2 of the same columns <0>, <1>, and <2>, respectively.
Then, the unit data C0, C1, and C2 stored in the registers Y2 of the columns <0>, <1>, and <2> are copied into the data latches XDL of the same columns <0>, <1>, and <2>, respectively. After step S109 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T109 of
Next, in step S110, the unit data B2 retained in the register Y1 of the column <2> is copied into the data latch XDL of the same column <2>. After step S110 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T110 of
Subsequently, in step S111, the unit data A0, A1, and A2 retained in the data latches DL1 of the columns <0>, <1>, and <2> are copied into the registers Y2 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data A0 stored in the register Y2 of the column <0> is copied into the data latch XDL of the same column <0>. After step S111 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T111 of
Next, in step S112, the unit data A0, C1, and B2 retained in the data latches XDL of the columns <0>, <1>, and <2> are copied into the registers Y2 of the same columns <0>, <1>, and <2>, respectively. Then, the unit data A0, C1, and B2 stored in the registers Y2 of the columns <0>, <1>, and <2> are copied into the data latches DL1 of the same columns <0>, <1>, and <2>, respectively. After step S112 is processed, the states of the sense amplifiers S/A and others are as illustrated by a reference symbol T112 of
According to steps S109 to S112, in the data latches DL1 of respective columns, the unit data which should be written in respective columns of the L page are prepared.
Next, effects according to the replacement will be described with reference to two comparative examples illustrated by reference symbols A and B in
In the comparative examples illustrated by the reference symbols A and B in
Specifically, unit data B0 of the second page retained in the data latch DL2 of the column <0> before data transmission is transmitted to the data latch DL1 of the different column <1>. Similarly, unit data C0 retained in the data latch DL3 of the column <0> before data transmission is transmitted to the data latch DL1 of the different column <2>. Here, it is assumed that a problem occurs in, for example, the sense amplifier S/A of the column <0>. In this case, in the comparative example illustrated by the reference symbol A in
As described above, according to the comparative examples illustrated in
Further, in the case where replacement of unit data is performed between different columns as in the comparative examples illustrated in
As described above, according to this embodiment, it is possible to provide the semiconductor memory device in which the influence of a column defect is small, an increase in the chip area is prevented, and the rates of error occurrence of the logical pages are averaged.
Further, although the semiconductor memory device in which each memory cell stores 3 bits has been described as an example in this embodiment, this embodiment is applicable to any nonvolatile semiconductor memory device in which each memory cell stores two or more bits.
In the case of a nonvolatile semiconductor memory device in which each memory cell stores 2 bits, as illustrated in
In the case of a nonvolatile semiconductor memory device in which each memory cell stores 3 bits, as illustrated in
In the case of a nonvolatile semiconductor memory device in which each memory cell stores 4 bits, as illustrated in
Moreover, the replacement of data in the embodiment described above is effective particularly when an increase in the rate of error occurrence results from an increase in the number of write times. For this reason, the replacement of data may not be performed early, and after the number of write times exceeds a predetermined value, data transmission may be performed.
In the first embodiment, as illustrated in
In contrast, in a semiconductor memory device according to a second embodiment, replacement of unit data is performed at intervals of every predetermined number of columns.
A specific example of this embodiment is illustrated in
According to this embodiment, since unit data of every column is not transmitted, there is a limit in averaging the rates of error occurrence of the logical pages as compared to the first embodiment. However, since it is possible to reduce the power consumption during unit data replacement as compared to the first embodiment, this embodiment is effective when a variation in the rates of error occurrence of the physical pages is not large.
A third embodiment is an example in which only unit data of specific columns are replaced.
A specific example of this embodiment is illustrated in
In this way, columns on which unit data replacement is performed are limited. Therefore, it is possible to suppress the power consumption during the data replacement, as compared to the first embodiment. Further, since the columns on which data replacement is not performed originally make a minor contribution to averaging of the rates of error occurrence of the logical pages, in the effect of averaging the rates of error occurrence of the logical pages, this embodiment is comparable to the first embodiment.
Moreover, in the example illustrated in
[Others]
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 methods and systems described herein may be embodied in a variety of other forms: furthermore, various omissions, substitutions and changes in the form of the methods and systems 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.
Number | Date | Country | Kind |
---|---|---|---|
2010-151921 | Jul 2010 | JP | national |