This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2010-068435, filed Mar. 24, 2010; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a memory system.
For example, error correction in decoding is important in a memory system including a semiconductor memory such as a NAND memory and a controller of the semiconductor memory. In the foregoing error correction, processing using a soft decision value has attracted interests (e.g., see Jpn. Pat. Appln. KOKAI Publication No. 2008-59679).
However, according to a conventional method using the foregoing soft decision value, a change of the threshold voltage distribution of a semiconductor memory resulting from an aged-based change has not been taken into consideration. For this reason, a sufficient decoding performance is not necessarily obtained.
In general, according to one embodiment, there is provided a memory system comprising: a semiconductor memory; a converter configured to convert an input data input from the semiconductor memory into a log likelihood ratio based on a conversion function; a conversion function optimizing unit configured to optimize the conversion function used for the converter; and a decoding operation unit configured to input the log likelihood ratio output from the converter to execute a decoding operation of an error correcting code, wherein the conversion function optimizing unit optimizes the conversion function based on information related to a number of times of using the semiconductor memory.
Hereinafter, various embodiments will be described below with reference to the accompanying drawings.
A memory system shown in
According to this embodiment, a NAND flash memory (NAND memory) is used as the semiconductor memory 100. Specifically, in the semiconductor memory 100, a memory cell 102 is connected with a word line 104 so that a voltage is applied to each memory cell 102 from a word line controller 106 by way of a word line 104. Each memory cell comprises a multiple-valued memory.
The memory controller 200 includes a ROM 204, a CPU core 206, a RAM 208, a host interface (I/F) 210, a NAND interface (I/F) 212, an error checking and correction unit (ECC unit) 214 and an optimization information supply unit 220. The foregoing elements are connected by way of a bus 202. The ECC unit 214 includes an encoder 216 and a decoder 218.
The memory controller 200 executes a data exchange with the host 300 by way of a host interface 210 based on the CPU core 206. Further, the controller 200 executes a data exchange with the semiconductor memory 100 by way of the NAND interface 212. Address management of the semiconductor memory 100 is performed by firmware of the CPU core 206. In addition, the control of the whole of the memory system is carried out by the firmware of the CPU core 206 in accordance with a command input from the host 300. The ROM 204 is stored with a control program of the memory system. The RAM 208 is stored with an address conversion table required for address management.
The foregoing ECC unit 214 has an encoder 216 and a decoder 218. Specifically, the encoder 216 generates an error correcting code when data is stored, and supplies the code. The decoder 218 decodes a coded data when data is read. The ECC unit 214 employs error correcting coding and decoding based on a soft decision value.
a) is a graph showing a generation probability characteristic when a memory cell is manufactured (delivered).
As shown from
The ECC unit 214 shown in
For example, the input data shown in
So, according to this embodiment, a conversion function used for the converter 10 is optimized by the conversion function optimizing unit 20. Specifically, according to this embodiment, a conversion function is optimized based on information related to the number of times of using a semiconductor memory 100. In this embodiment, the foregoing number of times of using a semiconductor memory 100 means the total number totalizing the number of times of data writes to a semiconductor memory 100 and the number of times of data reads from the same. In this case, only one of the foregoing two numbers of times may be employed. Namely, the number of times of data writes to a semiconductor memory 100 may be used as the number of times of using a semiconductor memory 100. Moreover, the number of times of data read from a semiconductor memory 100 may be used as the number of times of using a semiconductor memory 100. The foregoing optimization of a conversion function used for the converter 10 will be explained below.
The conversion function optimizing unit 20 is supplied with information P1 related to the number of times of using a semiconductor memory 100. As seen from the foregoing description, the generation probability characteristic shown in
As described above, according to the configuration shown in
As can be seen from the foregoing description, according to this embodiment, the optimal conversion table for the converter 10 is set in accordance with the number of times of using a semiconductor memory 100. Then, input data from the semiconductor memory 100 is converted to a suitable log likelihood ratio. In general, there is a correlation between a generation probability of a read value from a memory and the number of times of using a memory. For this reason, the memory system of this embodiment is used, and thereby, it is possible to input a suitable log likelihood ratio to the decoding operation unit 30, and to accurately execute a decoding operation of an error correcting code. Therefore, a sufficient decoding performance is obtained. Moreover, according to this embodiment, the optimal conversion table (conversion function) for the converter 10 is set before decoding; therefore, this serves to reduce processing time and energy consumption.
According to this embodiment, a conversion function optimizing unit 20 is supplied with information P2 related to elapsed time after a semiconductor memory 100 is manufactured. As seen from the foregoing description, the generation probability characteristic shown in
As described above, according to this embodiment, the optimal conversion table for the converter 10 is set in accordance with elapsed time after a semiconductor memory 100 is manufactured. Then, input data from the semiconductor memory 100 is converted to a suitable log likelihood ratio. In general, there is a correlation between a generation probability of a read value from a memory and the elapsed time after a memory is manufactured. For this reason, the memory system of this embodiment is used, and thereby, it is possible to input a suitable log likelihood ratio to a decoding operation unit 30, and to accurately execute a decoding operation of an error correcting code. Therefore, a sufficient decoding performance is obtained. Moreover, according to this embodiment, the optimal conversion table (conversion function) for the converter 10 is set before decoding as well as the first embodiment; therefore, this serves to reduce processing time and energy consumption.
According to this embodiment, a conversion function optimizing unit 20 is supplied with information P3 related to elapsed time after write to a semiconductor memory 100 is carried out. As seen from the foregoing description, the characteristic of a semiconductor memory 100 has an age-based change. Therefore, the generation probability characteristic shown in
As described above, according to this embodiment, the optimal conversion table for the converter 10 is set in accordance with elapsed time after write to a semiconductor memory 100 is carried out. Then, input data from the semiconductor memory 100 is converted to a suitable log likelihood ratio. In general, there is a correlation between a generation probability of a read value from a memory and the elapsed time after write to a memory is carried out. For this reason, the memory system of this embodiment is used, and thereby, it is possible to input a suitable log likelihood ratio to a decoding operation unit 30, and to accurately execute a decoding operation of an error correcting code. Therefore, a sufficient decoding performance is obtained. Moreover, according to this embodiment, the optimal conversion table (conversion function) for the converter 10 is set before decoding as well as the first embodiment; therefore, this serves to reduce processing time and energy consumption.
According to this embodiment, a conversion function optimizing unit 20 is supplied with information P4 related to the number of write times until a desired write voltage is obtained when write to a semiconductor memory 100 is carried out. As seen from the foregoing description, the characteristic of a semiconductor memory 100 has an age-based change. For this reason, the characteristic of a semiconductor memory 100 is reduced due to an age-based change. As a result, there is a need to frequently carry out a write operation (retry) until a desired write voltage (desired threshold voltage) is obtained when write is carried out. Therefore, there is a correlation between the number of write times when write is carried out (number of retry times) and the generation probability characteristic shown in
As described above, according to this embodiment, the optimal conversion table for the converter 10 is set in accordance with the number of write times until a desired write voltage is obtained when write is carried out with respect to a semiconductor memory 100. Then, input data from the semiconductor memory 100 is converted to a suitable log likelihood ratio. In general, there is a correlation between a generation probability of a read value from a memory and the foregoing number of write times. For this reason, the memory system of this embodiment is used, and thereby, it is possible to input a suitable log likelihood ratio to a decoding operation unit 30, and to accurately execute a decoding operation of an error correcting code. Therefore, a sufficient decoding performance is obtained. Moreover, according to this embodiment, the optimal conversion table (conversion function) for the converter 10 is set before decoding as well as the first embodiment; therefore, this serves to reduce processing time and energy consumption.
According to this embodiment, a conversion function optimizing unit 20 is supplied with information P5 related to a history of an error generation when a semiconductor memory 100 is decoded. As seen from the foregoing description, the characteristic of a semiconductor memory 100 has an age-based change. For this reason, the characteristic of a semiconductor memory 100 is reduced due to an age-based change. As a result, the probability that an error bit is detected in decoding becomes high. Namely, there is a correlation between a history of an error generation (a history of the number of error bits) in decoding and the generation probability characteristic shown in
As described above, according to this embodiment, the optimal conversion table for the converter 10 is set in accordance with a history of an error generation when a semiconductor memory 100 is decoded. Then, input data from the semiconductor memory 100 is converted to a suitable log likelihood ratio. In general, there is a correlation between a generation probability of a read value from a memory and the foregoing history of an error generation. For this reason, the memory system of this embodiment is used, and thereby, it is possible to input a suitable log likelihood ratio to a decoding operation unit 30, and to accurately execute a decoding operation of an error correcting code. Therefore, a sufficient decoding performance is obtained. Moreover, according to this embodiment, the optimal conversion table (conversion function) for the converter 10 is set before decoding as well as the first embodiment; therefore, this serves to reduce processing time and energy consumption.
According to this embodiment, a conversion function optimizing unit 20 is supplied with information P6 related to a history of likelihood when a semiconductor memory 100 is decoded. As seen from the foregoing description, the characteristic of a semiconductor memory 100 has an age-based change. For this reason, the characteristic of a semiconductor memory 100 is reduced due to an age-based change. As a result, the likelihood in decoding becomes low. In other words, the likelihood of each decoded bit becomes low. Therefore, there is a correlation between a history of likelihood in decoding and the generation probability characteristic shown in
As described above, according to this embodiment, the optimal conversion table for the converter 10 is set in accordance with a history of likelihood when a semiconductor memory 100 is decoded. Then, input data from the semiconductor memory 100 is converted to a suitable log likelihood ratio. In general, there is a correlation between a generation probability of a read value from a memory and the foregoing history of likelihood. For this reason, the memory system of this embodiment is used, and thereby, it is possible to input a suitable log likelihood ratio to a decoding operation unit 30, and to accurately execute a decoding operation of an error correcting code. Therefore, a sufficient decoding performance is obtained. Moreover, according to this embodiment, the optimal conversion table (conversion function) for the converter 10 is set before decoding as well as the first embodiment; therefore, this serves to reduce processing time and energy consumption.
According to this embodiment, a conversion function optimizing unit 20 is supplied with information related to a variation of input data to a converter 10. As seen from the foregoing description, the characteristic of a semiconductor memory 100 has an age-based change. For this reason, the characteristic of a semiconductor memory 100 is reduced due to an age-based change. As a result, a variation of input data increases. In other words, a variation of each distribution (A to D) of the generation probability shown in
As described above, according to this embodiment, the optimal conversion table for the converter 10 is set in accordance with a variation of input data to a converter 10. Then, input data from the semiconductor memory 100 is converted to a suitable log likelihood ratio. In general, there is a correlation between a generation probability of a read value from a memory and the foregoing variation of input data. For this reason, the memory system of this embodiment is used, and thereby, it is possible to input a suitable log likelihood ratio to a decoding operation unit 30, and to accurately execute a decoding operation of an error correcting code. Therefore, a sufficient decoding performance is obtained. Moreover, according to this embodiment, the optimal conversion table (conversion function) for the converter 10 is set before decoding as well as the first embodiment; therefore, this serves to reduce processing time and energy consumption.
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.
Number | Date | Country | Kind |
---|---|---|---|
2010-068435 | Mar 2010 | JP | national |