The present invention relates to a parallel combinational array of BCH(Rose, Ray-Chaudhuri, Hocquenghem) error detection/correction engines, and more particularly to a method of detecting and correcting errors with a parallel combinational array of BCH error detection/correction engines used to reduce the total chip die size effectively, comparing with single high-gate-density LDPC engine with the same correctable bits supported.
Flash memory is a popular storage media option in recent years. It is advantageous because it has lower power consumption, lower weight, and less cost, comparing to traditional magnetics hard drives. However, there may be some error bits in certain page(s) along with the access times of usage.
Along with the increase of bit density and multiple-layers manufacturing process of flash devices, the chance of having error bits inside certain flash page(s) is very high. For example, a typical TLC(triple-level cell) 64 G-bit flash might need 72-bit ECC(error correcting and checking) engine or higher and the bits demanded are increasing high for flash devices of next generation. Please refer to
However, those new error detection/correction engines are usually much larger than original BCH ECC engines in terms of logic circuit size. Before better approaches are introduced to reduce the logic circuit size within the targeted correctable bits for new error detection/correction engine, IC designers have to allocate much more size than usual during the design stage for the flash control IC, which adversely affects gross margin. Thus, there remains a need for a new and improved error detection/correction engine to overcome the problems stated above.
It is an objective of the present invention to provide combinational array of BCH error detection/correction engines to reduce die size by adopting a parallel combination of BCH detection/correction engines with lower error-correction-bits to achieve the same targeted correctable bits as a single LDPC engine does, and to improve the decoding/correction performance as well due to the parallelism architecture.
The power of error detection and correction of LDPC(low-density parity check) is based on predetermined probabilities of error distribution, i.e. a soft-decision approach, and so is this invention. Without processing the predetermined probabilities of error distribution, LDPC has almost the same error correction capability as BCH, but occupies more logic circuit area. Also, some error bits are still not correctable when adopting LDPC as the error detection/correction engine without processing the predetermined probabilities of error distribution.
The present invention has similar process of predetermined probabilities of error distribution as the soft decision of LDPC. The probabilities of error distribution is the segments being decoded, divided from the original channel and fed into BCH correction engines with lower correctable bits, have their own defined or targeted Bit Error Rate(“BER”), opposite to the original channel. Assuming the original channel is targeted at BER(CHwhole) bits and the separated sub-channels are targeted at BER(CHBCH0) bits, BER(CHBCH1) bits, BER(CHBCH2) bits, BER(CHBCH3) bits, and etc. The sum of the targeted correctable bits from each separated sub-channel equals original correctable bits cannot meet. It is usually greater than the demands of the original channel since the error bits distribution from original channel is not guaranteed to be divided uniformly among all separated sub-channels. (BER(CHwhole)<BER(CHBCH0)+BER(CHBCH1)+BER(CHBCH2)+BER(CHBCH3) is an additional requirement.)
The method of detecting and correcting errors with BCH engines for flash storage system in this invention is provided and the steps of the method comprise:
In some embodiments, the individual widths of each sub-channel CH1˜CHi may be identical, or the individual widths of each sub-channel CH1˜CHi may not be identical.
As long as the total size of logic circuit of error correction is reduced efficiently by any parallel combination of BCH correction engines and the original target can be met, the sum(final correctable bits) of correctable bits form each channel is no longer an important factor since the original channel has been divided into several channels.
According to parallel mechanism and lower correctable bit demand in each sub-channel, more efficient decoding time might be also introduced in this invention compared to the original channel with one LDPC. Therefore, better channel bandwidth or data rate would be expected.
Please refer to
The number of the targeted correctable bits gathered from all sub-channels CH1˜CHi is not limited to be the targeted bits from the target of the original data channel 20, either. Usually, the sum of BER of all sub-channels CH1˜CHi is greater than the original data channel 20 since the channel division and non-uniform error bits distribution from original channel. More correctable bits and more channel widths might be required.
In addition, the supported correctable bits in each sub-channel CH1˜CHi are not limited to be the identical. Any combination is possible even though it is greater than original data channel 20.
Although the invention has been explained in relation to its preferred embodiment, it is not used to limit the invention. It is to be understood that many other possible modifications and variations can be made by those skilled in the art without departing from the spirit and scope of the invention as hereinafter claimed.