Solid state device coding architecture for chipkill and endurance improvement
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H03M-013/00
G06F-011/10
H03M-013/29
H03M-013/11
H03M-013/15
출원번호
US-0266702
(2014-04-30)
등록번호
US-9170881
(2015-10-27)
발명자
/ 주소
Marrow, Marcus
Agarwal, Rajiv
출원인 / 주소
SK hynix memory solutions inc.
대리인 / 주소
Van Pelt, Yi & James LLP
인용정보
피인용 횟수 :
0인용 특허 :
13
초록▼
A first decoder performs decoding on each data set in a first plurality of data sets using a first code; each data set in the first plurality is stored on a different chip. It is determined if the first decoding is successful; if not, a second decoder performs a second decoding on each data set in a
A first decoder performs decoding on each data set in a first plurality of data sets using a first code; each data set in the first plurality is stored on a different chip. It is determined if the first decoding is successful; if not, a second decoder performs a second decoding on each data set in a second plurality of data sets using a second code; each data set in the second plurality includes at least some data, after the first decoding using the first code, from each data set in the first plurality. The first decoder performs a third decoding on each data set in the first plurality using the first code, where each data set in the first plurality includes at least some data, after the second decoding using the second code, from each data set in the second plurality.
대표청구항▼
1. A system for decoding, comprising: a first decoder configured to perform a first decoding on a first encoded data set, associated with a first plurality of data sets, using a first error correction code, wherein: the first encoded data set is obtained from a first semiconductor device;a second da
1. A system for decoding, comprising: a first decoder configured to perform a first decoding on a first encoded data set, associated with a first plurality of data sets, using a first error correction code, wherein: the first encoded data set is obtained from a first semiconductor device;a second data set, associated with the first plurality of data sets, has not yet been received for storage; andthe values of a dummy data set, which substitutes for the not-yet-received second data set, correspond to an erased state; anda second decoder configured to perform a second decoding on each data set in a second plurality of data sets using a second error correction code, wherein: the first encoded data set and the dummy data set are divided up amongst the second plurality of data sets; andparity information associated with the second error correction code is obtained from a third semiconductor device, wherein a second semiconductor device, which corresponds to the not-yet-received second data set, is not accessed in order to obtain the values of the dummy data set. 2. The system recited in claim 1, wherein the system is implemented using one or more of the following: an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a hardware processor. 3. The system recited in claim 1, wherein the first error correction code includes one or more of the following: a Bose Ray-Chaudhuri (BCH) code or a low-density parity-check (LDPC) code. 4. The system recited in claim 1, wherein the second error correction code includes one or more of the following: a Reed-Solomon code or a systematic code. 5. The system recited in claim 1, wherein the strength of the first error correction code and the strength of the second error correction code are substantially the same. 6. The system recited in claim 1, wherein: the first data set in the first plurality of data sets includes most significant bits (MSBs);the second data set in the first plurality of data sets includes least significant bits (LSBs); andat least one data set in the second plurality of data sets includes both MSBs and LSBs. 7. A method for decoding, comprising: using a first decoder to perform a first decoding on a first encoded data set, associated with a first plurality of data sets, using a first error correction code, wherein: the first encoded data set is obtained from a first semiconductor device;a second data set, associated with the first plurality of data sets, has not yet been received for storage; andthe values of a dummy data set, which substitutes for the not-yet-received second data set, correspond to an erased state; andusing a second decoder to perform a second decoding on each data set in a second plurality of data sets using a second error correction code, wherein: the first encoded data set and the dummy data set are divided up amongst the second plurality of data sets; andparity information associated with the second error correction code is obtained from a third semiconductor device, wherein a second semiconductor device, which corresponds to the not-yet-received second data set, is not accessed in order to obtain the values of the dummy data set. 8. The method recited in claim 7, wherein the method is performed by one or more of the following: an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a hardware processor. 9. The method recited in claim 7, wherein the first error correction code includes one or more of the following: a Bose Ray-Chaudhuri (BCH) code or a low-density parity-check (LDPC) code. 10. A system for encoding, comprising: a first encoder configured to encode a received data set, associated with a first plurality of data sets, using a first error correction code in order to obtain a first encoded data set, wherein: a second data set, associated with the first plurality of data sets, has not yet been received for storage;the first encoded data set and a dummy data set, which substitutes for the not-yet-received second data set, are divided up amongst a second plurality of data sets; andthe values of the dummy data set correspond to an erased state;a second encoder configured to encode each data set in the second plurality of data sets using a second error correction code to obtain parity information associated with the second error correction code; anda storage interface configured to: store the first encoded data set on a first semiconductor device; andstore at least the parity information associated with the second error correction code on a third semiconductor device, wherein storage of the dummy data set on a second semiconductor device, which corresponds to the not-yet-received second data set, is skipped. 11. The system recited in claim 10, wherein the system is implemented using one or more of the following: an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a hardware processor. 12. The system recited in claim 10, wherein the first error correction code includes one or more of the following: a Bose Ray-Chaudhuri (BCH) code or a low-density parity-check (LDPC) code. 13. The system recited in claim 10, wherein the second error correction code includes one or more of the following: a Reed-Solomon code or a systematic code. 14. The system recited in claim 10, wherein the strength of the first error correction code and the strength of the second error correction code are substantially the same. 15. The system recited in claim 10, wherein: the first data set in the first plurality of data sets includes most significant bits (MSBs);the second data set in the first plurality of data sets includes least significant bits (LSBs); andat least one data set in the second plurality of data sets includes both MSBs and LSBs. 16. The system recited in claim 10, wherein: the second error correction code is a systematic code;the first decoder is further configured to, in response to receiving the second data set, encode the second data set using the first error correction code in order to obtain a second encoded data set;the second decoder is further configured to, in response to receiving the second data set, encode each data set in the second plurality of data sets, which now includes the second encoded data set instead of the dummy data set, using the second error correction code to obtain updated parity information; andthe storage interface is further configured to, in response to receiving the second data set: store the updated parity information on the third semiconductor device; andstore the second encoded data set on the second semiconductor device, wherein the first encoded data set on the first semiconductor device is left unchanged. 17. The system recited in claim 10, wherein: the second error correction code is not a systematic code;the first decoder is further configured to, in response to receiving the second data set, encode the second data set using the first error correction code in order to obtain a second encoded data set;the second decoder is further configured to, in response to receiving the second data set, encode each data set in the second plurality of data sets, which now includes the second encoded data set instead of the dummy data set, using the second error correction code to obtain updated parity information and a first updated data set; andthe storage interface is further configured to, in response to receiving the second data set: store the updated parity information on the third semiconductor device;store the second encoded data set on the second semiconductor device; andstore the first updated data set on the first semiconductor device. 18. A method for encoding, comprising: using a first encoder to encode a received data set, associated with a first plurality of data sets, using a first error correction code in order to obtain a first encoded data set, wherein: a second data set, associated with the first plurality of data sets, has not yet been received for storage;the first encoded data set and a dummy data set, which substitutes for the not-yet-received second data set, are divided up amongst a second plurality of data sets; andthe values of the dummy data set correspond to an erased state;using a second encoder to encode each data set in the second plurality of data sets using a second error correction code to obtain parity information associated with the second error correction code;storing the first encoded data set on a first semiconductor device; andstoring at least the parity information associated with the second error correction code on a third semiconductor device, wherein storage of the dummy data set on a second semiconductor device, which corresponds to the not-yet-received second data set, is skipped. 19. The method recited in claim 18, wherein the method is performed by one or more of the following: an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a hardware processor. 20. The method recited in claim 18, wherein the first error correction code includes one or more of the following: a Bose Ray-Chaudhuri (BCH) code or a low-density parity-check (LDPC) code. 21. The method recited in claim 18, wherein: the second error correction code is a systematic code;using the first decoder further includes, in response to receiving the second data set, encoding the second data set using the first error correction code in order to obtain a second encoded data set;using the second decoder further includes, in response to receiving the second data set, encoding each data set in the second plurality of data sets, which now includes the second encoded data set instead of the dummy data set, using the second error correction code to obtain updated parity information; andthe method further includes, in response to receiving the second data set: storing the updated parity information on the third semiconductor device; andstoring the second encoded data set on the second semiconductor device, wherein the first encoded data set on the first semiconductor device is left unchanged. 22. The method recited in claim 18, wherein: the second error correction code is not a systematic code;using the first decoder further includes, in response to receiving the second data set, encoding the second data set using the first error correction code in order to obtain a second encoded data set;using the second decoder further includes, in response to receiving the second data set, encoding each data set in the second plurality of data sets, which now includes the second encoded data set instead of the dummy data set, using the second error correction code to obtain updated parity information and a first updated data set; andthe method further includes, in response to receiving the second data set: storing the updated parity information on the third semiconductor device;storing the second encoded data set on the second semiconductor device; andstoring the first updated data set on the first semiconductor device.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (13)
Katayama,Yasunao; Yamane,Toshiyuki, Apparatus for encoding and decoding.
Hamai Shinji,JPX ; Matsumi Chiyoko,JPX ; Iketani Akira,JPX, Digital data recording and reproducing apparatus with reliable error correcting coding and decoding.
Weingarten, Hanan; Levy, Shmuel; Katz, Michael, Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.