Multilevel nonvolatile semiconductor memory system
Granted 10 Dec 2013 · 1 office action
Current assignee: Toshiba Memory Corporation · originally Toshiba
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Mitsuaki Honma, Naoki Kobayashi, Noboru Shibata · Examiner: Vu Le · AU 2824 · TC 2800
Life of the application
12 dated eventsAbstract
According to one embodiment, a system includes a memory, a controller which controls an operation of the memory in a data program, and data bus which connects the memory to the controller. The memory comprises a memory cell array with memory cells which have a bit assignment to 2 x (x is an integer number of 3 or more) threshold distributions, each memory cell storing x bits, and a control circuit which controls the data program of x bits to the memory cells. The controller comprises a first step generating y bit (y is an integer number and y<x) based on x bits, transferring y bit to the memory, and generating 2 y threshold distributions based on y bit in the memory, and a second step executing after the first step, transferring x bits to the memory, and generating the 2 x threshold distributions based on x bits in the memory.
Description
10 parts›CROSS-REFERENCE TO RELATED APPLICATIONS
This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2010-191368, filed Aug. 27, 2010; the entire contents of which are incorporated herein by reference.
›FIELD
Embodiments described herein relate generally to a multilevel nonvolatile semiconductor memory system.
›BACKGROUND
To realize a high capacity, a recent nonvolatile semiconductor memory adopts a multilevel technology for storing bits in one memory cell. However, in this technology, margins for threshold distributions in a fixed voltage range are small, and an erroneous write/read problem occurs. Thus, an error correction technology for correcting wrong data into correct data is adopted in addition to the multilevel technology, thereby realizing high reliability of the nonvolatile semiconductor memory.
However, a satisfactory countermeasure for an increase in write time which is another undesirable effect of the multilevel technology has not been found yet. For example, if the number of bits to be stored in one memory cell increases to 3, 4, or 5, a time required for transferring data from a controller to the nonvolatile semiconductor memory also increases in proportion to this increment.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a memory system.
FIG. 2 shows an example of a bit assignment.
FIG. 3 shows a flow chart of a write step of a first embodiment.
FIG. 4 shows threshold distributions generated by first to third steps.
FIG. 5 shows a flow chart of the first step.
FIG. 6 shows an example of a data conversion circuit.
FIG. 7 shows a truth table of the circuit of FIG. 6 .
FIG. 8 shows a flow chart of the second step.
FIG. 9 shows a flow chart of the third step.
FIG. 10 shows threshold distributions generated by first to third steps.
FIG. 11 shows a flow chart of the first step.
FIG. 12 shows an example of a data conversion circuit.
FIG. 13 shows a truth table of the circuit of FIG. 12 .
FIG. 14 shows a flow chart of a write step of a second embodiment.
FIG. 15 shows threshold distributions generated by first to third steps.
FIG. 16 shows a flow chart of the first step.
FIG. 17 shows an example of a data conversion circuit.
FIG. 18 shows a truth table of the circuit of FIG. 17 .
FIG. 19 shows a flow chart of the second step.
FIG. 20 shows a flow chart of the third step.
FIG. 21 shows a flow chart of a write step of a third embodiment.
FIG. 22 shows threshold distributions generated by first to third steps.
FIG. 23 shows a flow chart of the first step.
FIG. 24 shows a flow chart of the second step.
FIG. 25 shows a truth table of the circuit of FIG. 17 .
FIG. 26 shows a flow chart of the third step.
FIG. 27 shows threshold distributions generated by first to third steps.
FIG. 28 shows a flow chart of the first step.
›DETAILED DESCRIPTION · 1 of 6
In general, according to one embodiment, a multilevel nonvolatile semiconductor memory system comprising: a nonvolatile semiconductor memory; a controller which controls an operation of the nonvolatile semiconductor memory in a data program; and data bus which connects the nonvolatile semiconductor memory to the controller, wherein the nonvolatile semiconductor memory comprises: a memory cell array with memory cells which have a bit assignment to 2 x (x is an integer number of 3 or more) threshold distributions, each memory cell storing x bits; and a control circuit which controls the data program of x bits to the memory cells, wherein the controller comprises: a first step generating y bit (y is an integer number and y<x) based on x bits, transferring y bit to the nonvolatile semiconductor memory, and generating 2 y threshold distributions based on y bit in the nonvolatile semiconductor memory, and a second step executing after the first step, transferring x bits to the nonvolatile semiconductor memory, and generating the 2 x threshold distributions based on x bits in the nonvolatile semiconductor memory.
1. Multilevel Nonvolatile Semiconductor Memory System
(1) Block Configuration
FIG. 1 shows an example of a multilevel nonvolatile semiconductor memory system.
The memory system in this example comprises nonvolatile semiconductor memory (e.g., an NAND flash memory) 1 and controller 2 configured to control an operation of the nonvolatile semiconductor memory 1 .
A configuration of the nonvolatile semiconductor memory 1 is as follows.
Word line control circuit 12 is arranged at one end of a first direction (a direction along which word lines extend) of memory cell array 11 and configured to drive the word lines. Word line control circuit 12 includes a row decoder and also includes a selected gate line driver configured to drive a selected gate line.
Sense amplifier circuit 13 is arranged at one end of a second direction (a direction along which bit lines extend) of memory cell array 11 , and utilized to read/write cell data. A read/write operation for cell data is carried out in, e.g., pages. Further, sense amplifier circuit 13 has latch circuits to read/write multilevel data.
Column decoder 14 selects one from columns (the bit lines) to serially transfer read/write data between sense amplifier circuit 13 and data input/output buffer 15 .
Input/output control circuit 16 is configured to control input/output of data between nonvolatile semiconductor memory 1 and data bus 30 . For example, write data is loaded to sense amplifier circuit 13 from controller 2 via input/output control circuit 16 and data input/output buffer 15 .
Commands from controller 2 are input to control circuit 17 to be decoded. Furthermore, external control signals are input to control circuit 17 . The external control signals include a chip enable signal /CE, a write enable signal /WE, a read enable signal /RE, an address latch enable signal ALE, and a command latch enable signal CLE.
Control circuit 17 controls read/write/erase operations for multilevel data based on the external control signals and the commands.
An address signal is input to address decoder 18 and transferred to word line control circuit 12 and column decoder 14 . Control voltage generating circuit 19 is configured to generate a voltage required to read/write/erase multilevel data.
A configuration of controller 2 is as follows.
Input/output control circuit 23 is configured to control input/output of data between controller 2 and data bus 30 . x page data cache 21 is configured to temporarily store, e.g., x bits (x is an integer equal to or above 3) as write data.
Data conversion circuit 22 has a function of converting x bits as write data into y bits (y is an integer, and y<x is achieved).
In this example, when storing x bits in one memory cell, a bit assignment is performed to 2 X threshold distributions. Moreover, for example, controller 2 executes a write operation at first, second, and third steps, whereby 2 y threshold distributions are generated at the first step, and 2 x threshold distributions are generated at the third step after the second step.
At the first step, data conversion circuit 22 is utilized to generate y bits required to generate the 2 y threshold distributions based on x bits as write data. The y bits generated by data conversion circuit 22 are transferred to nonvolatile semiconductor memory 1 through data bus 30 .
(2) Example of Bit Assignment
Here, an example of a bit assignment when storing x bits (x is an integer equal to or above 3) in one memory cell will be explained. The bit assignment in FIG. 2 corresponds to an example when x=3.
The bit assignment is performed with respect to 2 x threshold distributions and satisfies the following two conditions.
Condition 1: one bit in x bits assigned to two threshold distributions adjacent to each other in 2 x threshold distributions is different. Condition 2: two or more variation points of “0” and “1” are provided in page data consisting of a group of single bits in the x bits assigned to the 2 x threshold distributions.
Condition 1 is a condition for decreasing the number of wrong bits and for assuredly performing correction by the error correction circuit. According to the condition 1, a high reliability of the nonvolatile semiconductor memory can be secured. That is, when data is written into a single wrong threshold distribution shifted from a correct threshold distribution, a wrong bit in the x bits is necessarily one bit if Condition 1 is met.
Additionally, Condition 1 is also a condition for reading data of x bits by (2 x −1) read operations, which is a minimum number of times, by using each of (2 x −1) read potentials present between the 2 x threshold distributions at one time.
Condition 2 is a condition for averaging the number of times of read operations for each page to uniform a bit error rate in each page and improving a read speed.
For example, as shown in FIG. 2 , when x=3, as a bit assignment meeting both Condition 1 and Condition 2, there are six patterns, i.e., No. 1 to No. 6 .
›DETAILED DESCRIPTION · 2 of 6
Paying attention to the bit assignment of No. 1 , a single bit is different in three bits assigned to each of two threshold distributions adjacent to each other, and two or more variation points of “0” and “1” are provided in page data consisting of a group of single bits in three bits assigned to each of eight threshold distributions.
Specifically, first page P 1 has two variation points of “0” and “1”, i.e., Vr 1 and Vr 5 , second page P 2 has three variation points of “0” and “1”, i.e., Vr 2 , Vr 4 , and Vr 6 , and third page P 3 has two variation points of “0” and “1”, i.e., Vr 3 and Vr 7 .
Further, even if wrong data [011] is written when correct write data is [010], a wrong bit is one bit alone in lowest first page P 1 . It is to be noted that values in [***] (* is “0” or “1”) sequentially represent third page data, second page data, and first page data from the left-hand side.
Furthermore, two read operations using Vr 1 and Vr 5 as read potentials are required when reading data of first page P 1 , three read operations using Vr 2 , Vr 4 , and Vr 6 as read potentials are required when reading data of second page P 2 , two read operations using Vr 3 and Vr 7 as read potentials are required when reading data of third page P 3 , and the number of read operations for each page is averaged.
According to the above-described bit assignment, a time required for transfer of data from the controller to the nonvolatile semiconductor memory can be reduced, and the high reliability of the nonvolatile semiconductor memory can be realized.
2. Embodiments
(1) First Embodiment
FIG. 3 and FIG. 4 show write steps according to a first embodiment.
Multilevel data is written at first, second, and third steps. At the first step, two threshold distributions A and B are generated based on write data (three bits).
To perform this write operation, in general, the write data (the three bits) is transferred to the nonvolatile semiconductor memory from the controller, and whether the write operation is to be executed must be determined in the nonvolatile semiconductor memory based on the write data. However, in this case, a time required for transfer of the write data from the controller to the nonvolatile semiconductor memory is prolonged as the number of levels of data increases (as the number of bits in the write data increases).
Thus, in the first embodiment, at the first step, the controller generates one bit indicative of whether the write operation is to be executed based on the write data (the three bits). Specifically, the data conversion circuit in the controller is utilized to convert the write data (the three bits) into one bit. Moreover, this one bit is transferred to the nonvolatile semiconductor memory to generate the two threshold distributions A and B.
As a result, at the first step, the number of bits transferred from the controller to the nonvolatile semiconductor memory can be reduced, whereby a write time can be shortened.
At the second step, based on the write data (the three bits), eight threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] are generated. For example, the threshold distributions [111], [110], [100], and [000] are generated from the threshold distribution A, and the threshold distributions [010], [011], [001], and [101] are generated from the threshold distribution B.
At the third step, based on the write data (the three bits), write and verify operations are repeated to sharpen the eight threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101].
The write steps according to the first embodiment will now be specifically explained hereinafter.
As shown in FIG. 5 , at the first step, 2 y threshold distributions A and B are generated based on write data (x bits). However, in this example, x=3 and y=1.
First, in the controller, y bit indicative of whether a write operation is to be executed is generated based on the write data (the x bits) (step ST 11 ).
For example, when data conversion circuit 22 depicted in FIG. 6 is used, generated data (the y bit) d of “0” or “1” can be obtained in accordance with a value of first, second, and third page data.
That is, as shown in FIG. 7 , when the value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [111], [110], [100], or [000], the generated data d is “1”. Additionally, when the value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [010], [011], [001], or [101], the generated data d is “0”.
Subsequently, this generated data (the y bit) d is transferred from the controller to the nonvolatile semiconductor memory (step ST 12 ).
Further, in the nonvolatile semiconductor memory, the write operation is executed based on the generated data (the y bit) d.
Therefore, for example, the write operation is inhibited when the generated data d is “1”, and the write operation is permitted when the generated data d is “0”, whereby the 2 y threshold distributions A and B can be generated based on the generated data (the y bit) d.
It is to be noted that a state after end of the first step is called, e.g., a first rough write state.
As shown in FIG. 8 , at the second step, 2 x threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] are generated based on the write data (the x bits). However, in this example, x=3.
First, the write data (the x bits) is transferred from the controller to the nonvolatile semiconductor memory (step ST 21 ).
Furthermore, in the nonvolatile semiconductor memory, based on the write data (the x bits), the write operation is executed to generate the 2 x threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] (step ST 22 ).
For example, the threshold distributions [111], [110], [100], and [000] are generated from the threshold distribution A, and the threshold distributions [010], [011], [001], and [101] are generated from the threshold distribution B.
›DETAILED DESCRIPTION · 3 of 6
At the second step, a verify level that is utilized to verify whether the write operation has been completed is set to be lower than a verify level that is utilized to obtain a final threshold distribution (verify pass conditions are moderated).
It is to be noted that a state after end of the second step is called, e.g., a second rough write state.
As shown in FIG. 9 , at the third step, based on the write data (the x bits), write and verify operations are repeated to sharpen the 2 x threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101]. However, in this example, x=3 (step ST 31 ).
At the third step, the verify level utilized to verify whether the write operation has been completed is set to the verify level utilized to obtain a final threshold distribution.
At the third step, the write data (the x bits) is again transferred from the controller to the nonvolatile semiconductor memory.
However, when means for storing the write data in the nonvolatile semiconductor memory even after the verify pass at the second step is provided, the write data (the x bits) does not have to be again transferred at the third step. That is, the write data, which has been transferred from the controller to the nonvolatile semiconductor memory at the second step, can be utilized to execute the write operation.
The first embodiment can be modified as follows.
FIG. 10 shows write steps as a modification of the first embodiment.
This modification is characterized in that y bit is generated based on z bits (z is an integer, and z<x is achieved) in the write data (the x bits) at the first step.
For example, one bit indicative of whether the write operation is to be executed is generated based on lower two bits (the first and second page data) in the write data (the three bits).
The write steps in the modification will now be specifically described.
As shown in FIG. 11 , 2 y threshold distributions A and B are generated based on z bits in the write data (the x bits). However, in this example, x=3, y=1, and z=2.
First, in the controller, based on the lower z bits in the write data (the x bits), the y bit indicative of whether the write operation is to be executed is generated (step ST 11 ).
For example, when data conversion circuit 22 shown in FIG. 12 is used, generated data (the y bit) d of “0” or “1” can be obtained in accordance with a value of the first and second page data.
That is, as shown in FIG. 13 , when a value of the first and second page data [the second page data and the first page data] is [01], the generated data d is “0”. Furthermore, when the value of the first and second page data is any other value, the generated data d is “1”.
Then, this generated data (the y bit) d is transferred from the controller to the nonvolatile semiconductor memory (step ST 12 ).
Moreover, in the nonvolatile semiconductor memory, based on the generated data (the y bit) d, the write operation is executed (step ST 13 ).
Therefore, for example, the write operation is inhibited when the generated data d is “1”, and the write operation is permitted when the generated data d is “0”, whereby the 2 y threshold distributions A and B can be generated based on the generated data (the y bit) d.
It is to be noted that a state after end of the first step is called, e.g., a first rough write state like the first embodiment.
The second and third steps are the same as those in the first embodiment, thereby omitting a detailed description thereof. However, in this modification, at the second step, the threshold distributions [111], [110], [100], [000], [010], and [011] are generated from the threshold distribution A, and the threshold distributions [001] and [101] are generated from the threshold distribution B.
As described above, according to the first embodiment and its modification, since the data conversion circuit that generates a bit indicative of write inhibition/permission is provided on the controller side, a data transfer time from the controller to the nonvolatile semiconductor memory in the write operation can be reduced.
(2) Second Embodiment
FIG. 14 and FIG. 15 show write steps in a second embodiment.
Multilevel data is written at first, second, and third steps like the first embodiment. However, at the first step, four threshold distributions A, B, C, and D are generated based on write data (three bits).
Therefore, in a controller, two bits indicative of whether a write operation is to be executed are generated based on the write data (the three bits). Specifically, a data conversion circuit in the controller is utilized to convert the write data (the three bits) into two bits. Moreover, these two bits are transferred to a nonvolatile semiconductor memory to generate the four threshold distributions A, B, C, and D.
As a result, at the first step, the number of bits transferred to the nonvolatile semiconductor memory from the controller can be reduced, thereby shortening a write time.
At the second step, based on the write data (the three bits), eight threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] are generated.
For example, the threshold distributions [111] and [110] are generated from the threshold distribution A, the threshold distributions [100] and [000] are generated from the threshold distribution B, the threshold distributions [010] and [011] are generated from the threshold distribution C, and the threshold distributions [001] and [101] are generated from the threshold distribution D.
At the third step, based on the write data (the three bits), write and verify operations are repeated to sharpen the eight threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101].
The write steps according to the second embodiment will now be specifically described hereinafter.
As shown in FIG. 16 , at the first step, the 2 y threshold distributions A, B, C, and D are generated based on the write data (x bits). However, in this example, x=3 and y=2.
First, in the controller, based on the write data (the x bits), y bits indicative of whether the write operation is to be executed are generated (step ST 11 ).
›DETAILED DESCRIPTION · 4 of 6
For example, when data conversion circuit 22 depicted in FIG. 17 is used, each generated data (the y bits) d 2 , d 1 of “11”, “01”, “00”, or “10” can be obtained in accordance with a value of first, second, and third page data.
That is, as shown in FIG. 18 , each of the generated data d 2 , d 1 is “11” when a value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [111] or [110], and each of the generated data d 2 , d 1 is “01” when the value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [100] or [000].
Additionally, each of the generated data d 2 , d 1 is “00” when the value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [010] or [011], and each of the generated data d 2 , d 1 is “10” when the value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [001] or [101].
Then, each generated data (the y bits) d 2 , d 1 is transferred to the nonvolatile semiconductor memory from the controller (step ST 12 ).
Further, in the nonvolatile semiconductor memory, based on each generated data (the y bits) d 2 , d 1 , the write operation is executed (step ST 13 ).
Therefore, for example, the write operation is inhibited when each generated data d 2 , d 1 is “11”, and the write operation is permitted when each generated data d 2 , d 1 is “01”, “00”, or “10”, whereby the 2 y threshold distributions A, B, C, and D can be generated based on each generated data (the y bits) d 2 , d 1 .
However, in the write permission, when a verify level is set to differ depending on a value of each generated data d 2 , d 1 , i.e., “01”, “00”, or “10”, data can be written on each different threshold level.
It is to be noted that a state after end of the first step is called, e.g., a first rough write state.
As shown in FIG. 19 , at the second step, based on the write data (x bits), 2 x threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] are generated. However, in this example, x=3.
First, the write data (the x bits) is transferred from the controller to the nonvolatile semiconductor memory (step ST 21 ).
Further, in the nonvolatile semiconductor memory, based on the write data (the x bits), the write operation is executed to generate the 2 x threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] (step ST 22 ).
For example, the threshold distributions [111] and [110] are generated from the threshold distribution A, the threshold distributions [100] and [000] are generated from the threshold distribution B, the threshold distributions [010] and [011] are generated from the threshold distribution C, and the threshold distributions [001] and [101] are generated from the threshold distribution D.
At the second step, a verify level that is utilized to verify whether the write operation has been completed is set to be lower than a verify level that is utilized to obtain a final threshold distribution (verify pass conditions are moderated).
It is to be noted that a state after end of the second step is called, e.g., a second rough write state.
As shown in FIG. 20 , at the third step, based on the write data (the x bits), the write and verify operations are repeated to sharpen the 2 x threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101]. However, in this example, x=3 (step ST 31 ).
At the third step, the verify level that is utilized to verify whether the write operation has been completed is set to the verify level that is utilized to obtain a final threshold distribution.
At the third step, the write data (the x bits) is again transferred from the controller to the nonvolatile semiconductor memory.
However, when means for storing the write data in the nonvolatile semiconductor memory even after verify pass at the second step is provided, the write data (the x bits) does not have to be again transferred at the third step. That is, the write data, which has been transferred from the controller to the nonvolatile semiconductor memory at the second step, can be utilized to execute the write operation.
As described above, according to the second embodiment, when the data conversion circuit that generates bits indicative of write inhibition/permission is provided on the controller side, a data transfer time from the controller to the nonvolatile semiconductor memory in the write operation can be shortened.
(3) Third Embodiment
FIG. 21 and FIG. 22 show write steps according to a third embodiment.
Multilevel data is written at first, second, and third steps like the first embodiment.
At the first step, two threshold distributions A and B are generated based on write data (three bits). Therefore, in a controller, one bit indicative of whether a write operation is to be executed is generated based on the write data (the three bits). Specifically, a data conversion circuit in the controller is utilized to convert the write data (the three bits) into one bit.
Further, this one bit is transferred to a nonvolatile semiconductor memory to generate two threshold distributions A and B.
Furthermore, at the second step, based on the write data (the three bits), four threshold distributions A 1 , A 2 , B 1 , and B 2 are generated. Therefore, in the controller, two bits indicative of whether a write operation is to be executed are generated based on the write data (the three bits). Specifically, the data conversion circuit in the controller is utilized to convert the write data (the three bits) into two bits.
Moreover, the two bits are transferred to the nonvolatile semiconductor memory to generate the four threshold distributions A 1 , A 2 , B 1 , and B 2 .
As a result, at the first and second steps, the number of bits transferred to the nonvolatile semiconductor memory from the controller can be reduced, thereby shortening a write time.
›DETAILED DESCRIPTION · 5 of 6
At the third step, based on the write data (the three bits), eight threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] are generated.
For example, the threshold distributions [111] and [110] are generated from the threshold distribution A 1 , the threshold distributions [100] and [000] are generated from the threshold distribution A 2 , the threshold distributions [010] and [011] are generated from the threshold distribution B 1 , and the threshold distributions [001] and [101] are generated from the threshold distribution B 2 .
Write steps according to the third embodiment will now be specifically described hereinafter.
As shown in FIG. 23 , at the first step, 2 y threshold distributions A and B are generated based on the write data (x bits). However, in this example, x=3 and y=1.
First, in the controller, based on the write data (the x bits), y bit indicative of whether a write operation is to be executed is generated (step ST 11 ).
For example, when data conversion circuit 22 depicted in FIG. 6 is used, generated data (the y bit) d of “0” or “1” can be obtained in accordance with a value of first, second, and third page data.
That is, as shown in FIG. 7 , when the value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [111], [110], [100], or [000], the generated data d is “1”. Additionally, when the value of the first, second, and third page data [the third page data, the second page data, and the first page data] is [010], [011], [001], or [101], the generated data d is “0”.
Subsequently, this generated data (the y bit) d is transferred from the controller to the nonvolatile semiconductor memory (step ST 12 ).
Further, in the nonvolatile semiconductor memory, the write operation is executed based on the generated data (the y bit) d (step ST 13 ).
Therefore, for example, the write operation is inhibited when the generated data d is “1”, and the write operation is permitted when the generated data d is “0”, whereby the 2 y threshold distributions A and B can be generated based on the generated data (the y bit) d.
It is to be noted that a state after end of the first step is called, e.g., a first rough write state.
As shown in FIG. 24 , at the second step, 2 w threshold distributions A 1 , A 2 , B 1 , B 2 are generated based on the write data (the x bits). However, in this example, x=3, y=1, and w=2. Additionally, w is an integer, and y<w<x is achieved.
First, in the controller, based on the write data (the x bits), w bits indicative of whether the write operation is to be executed are generated (step ST 21 ).
For example, when data conversion circuit 22 depicted in FIG. 17 is utilized, each generated data (the w bits) d 2 , d 1 of “11”, “01”, “00”, or “10” can be obtained in accordance with the value of the first, second, and third page data.
That is, as shown in FIG. 25 , each generated data d 2 , d 1 is “11” when the value of the first, second, and third page data [the third page data, the second page data, the first page data] is [111] or [110], and each generated data d 2 , d 1 is “01” when the value of the first, second, and third page data [the third page data, the second page data, the first page data] is [100] or [000].
Further, each generated data d 2 , d 1 is “00” when the value of the first, second, and third page data [the third page data, the second page data, the first page data] is [010] or [011], and each generated data d 2 , d 1 is “10” when the value of the first, second, and third page data [the third page data, the second page data, the first page data] is [001] or [101]
Then, each generated data (the y bits) d 2 , d 1 is transferred from the controller to the nonvolatile semiconductor memory (step ST 22 ).
Furthermore, in the nonvolatile semiconductor memory, the write operation is executed based on each generated data (the w bits) d 2 , d 1 (step ST 23 ).
Therefore, for example, the write operation is inhibited when each generated data d 2 , d 1 is “11”, and the write operation is permitted when each generated data d 2 , d 1 is “01”, “00”, or “10”, whereby the 2 w threshold distributions A 1 , A 2 , B 1 , and B 2 can be generated based on each generated data (the w bits) d 2 , d 1 .
However, in the write permission, when a verify level is set to differ depending on the value of each generated data d 2 , d 1 , i.e., “01”, “00”, or “10”, data can be written on each different threshold level.
It is to be noted that a state after end of the second step is called, e.g., a second rough write state.
As shown in FIG. 26 , at the third step, 2 x threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] are generated based on the write data (x bits). In this example, however, x=3.
First, the write data (x bits) is transferred from the controller to the nonvolatile semiconductor memory (step ST 31 ).
Further, in the nonvolatile semiconductor memory, write and verify operations are repeated based on the write data (the x bits) to generate the 2 x sharp threshold distributions [111], [110], [100], [000], [010], [011], [001], and [101] (step ST 32 ).
For example, the threshold distributions [111] and [110] are generated from the threshold distribution A 1 , the threshold distributions [100] and [000] are generated from the threshold distribution A 2 , the threshold distributions [010] and [011] are generated from the threshold distribution B 1 , and the threshold distributions [001] and [101] are generated from the threshold distribution B 2 .
The third embodiment can be modified as follows.
FIG. 27 shows write steps as a modification of the third embodiment.
This modification is characterized in that y bit is generated based on z bits (z is an integer, and z<x is achieved) in write data (x bits) at the first step.
For example, based on lower two bits (first and second page data) in write data (three bits), one bit indicative of whether a write operation is to be executed is generated.
The write steps according to the modification will now be specifically described hereinafter.
›DETAILED DESCRIPTION · 6 of 6
As shown in FIG. 28 , at a first step, 2 y threshold distributions A and B are generated based on z bits in write data (x bits). In this example, however, x=3, y=1, and z=2.
First, in the controller, based on the lower z bits in the write data (the x bits), the y bit indicative of whether the write operation is to be executed is generated (step ST 11 ).
For example, when data conversion circuit 22 depicted in FIG. 12 is used, generated data (the y bit) of “0” or “1” can be obtained in accordance with a value of first and second page data.
That is, as shown in FIG. 13 , when a value of the first and second page data [the second page data and the first page data] is [01], the generated data is “0”. Moreover, when the value of the first and second page data is any other value, the generated data is
Subsequently, this generated data (the y bit) is transferred from the controller to the nonvolatile semiconductor memory (step ST 12 ).
Additionally, in the nonvolatile semiconductor memory, the write operation is executed based on the generated data (the y bit) (step ST 13 ).
Therefore, for example, the write operation is inhibited when the generated data is “1”, and the write operation is permitted when the generated data is “0”, whereby 2 y threshold distributions A and B can be generated based on the generated data.
It is to be noted that a state after end of the first step is called, e.g., a first rough write state like the third embodiment.
Second and third steps are equal to those in the third embodiments, thereby omitting a detailed description. In this modification, however, at the second step, threshold distributions A 1 , A 2 , and A 3 are generated from the threshold distribution A, and a threshold distribution B 1 is generated from the threshold distribution B.
According to a combination of the third embodiment and the modification thereof, x is 3, y is 1, w is 2, and z is 2.
As described above, according to the third embodiment and the modification thereof, since the data conversion circuit configured to generate the bit indicative of the write inhibition/permission is provided on the controller side, a data transfer time from the controller to the nonvolatile semiconductor memory at the time of the write operation can be shortened.
3. Application Example
It is effective to apply the first to third embodiments to an NAND flash memory that a bit assignment of multilevel data meets Conditions 1 and 2 described above. In this case, an error correction efficiency and a read speed can be simultaneously improved.
Further, in a multilevel NAND flash memory, to improve a read speed, a bit assignment for averaging a read time for each page has been suggested. When executing a write operation in accordance with this bit assignment, applying the first to third embodiments enables shortening a write time based on a reduction in data transfer time.
4. Conclusion
According to the embodiments, a data transfer time from the controller to the nonvolatile semiconductor memory at the time of a write operation can be reduced.
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.
Claims as granted
16 claimsLog in to read the claims of this application.
Log in to unlockClassifications
4 codes- G11C11/34
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock