US2016041875A1PendingUtilityA1

Semiconductor memory device and method of controlling the same

Assignee: TOSHIBA KKPriority: Aug 31, 2007Filed: Oct 22, 2015Published: Feb 11, 2016
Est. expiryAug 31, 2027(~1.1 yrs left)· nominal 20-yr term from priority
G06F 11/1068G11C 29/52G06F 11/10G06F 11/1012Y02D10/00H03M 13/03G06F 11/1004H03M 13/29H03M 13/35G06F 11/1008H03M 13/2906G06F 13/1673G06F 13/4068H03M 13/6561
62
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A semiconductor memory device includes a plurality of detecting code generators configured to generate a plurality of detecting codes to detect errors in a plurality of data items, respectively, a plurality of first correcting code generators configured to generate a plurality of first correcting codes to correct errors in a plurality of first data blocks, respectively, each of the first data blocks containing one of the data items and a corresponding detecting code, a second correcting code generators configured to generate a second correcting code to correct errors in a second data block, the second data block containing the first data blocks, and a semiconductor memory configured to nonvolatilely store the second data block, the first correcting codes, and the second correcting code.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A storage device comprising:
 a nonvolatile semiconductor memory configured to store a plurality of detecting codes to respectively detect an error in a plurality of data items, a plurality of first correcting codes to respectively correct an error in a plurality of first data blocks each of which comprises one of the data items and a corresponding detecting code, a second correcting code to correct an error in a second data block which comprises the first data blocks, and the second data block;   a first corrector configured to correct an error in the first data blocks using the first correcting codes, respectively;   a detector configured to detect an error in the data items corrected by the first corrector using the detecting codes, respectively; and   a second corrector configured to correct an error in a data item containing the error of the corrected data items using the second correcting code.   
     
     
         3 . The device according to  claim 2 , wherein an error correction capability of the second correcting code is higher than error correction capabilities of the first correcting codes. 
     
     
         4 . The device according to  claim 2 , wherein the second corrector stops a correction process when the data items corrected by the first corrector contain no error. 
     
     
         5 . The device according to  claim 2 , wherein the detector generates error information representing presence/absence of an error in each of the corrected data items. 
     
     
         6 . The device according to  claim 2 , wherein the semiconductor memory is a NAND flash memory. 
     
     
         7 . A storage device comprising:
 a nonvolatile semiconductor memory configured to store a plurality of detecting codes to respectively detect an error in a plurality of data items, a plurality of first correcting codes to respectively correct an error in a plurality of first data blocks each of which comprises one of the data items and a corresponding detecting code, a second correcting code to correct an error in a second data block which comprises the first data blocks, and the second data block;   a first corrector receiving the first data blocks and configured to correct an error in the first data blocks using the first correcting codes, respectively;   a detector receiving the data items corrected by the first corrector and configured to detect an error in the corrected data items using the detecting codes, respectively; and   a second corrector receiving the second data block corrected by the first corrector and configured to correct an error in the corrected second data block using the second correcting code, based on a detection result by the detector.   
     
     
         8 . The device according to  claim 7 , wherein an error correction capability of the second correcting code is higher than error correction capabilities of the first correcting codes. 
     
     
         9 . The device according to  claim 7 , wherein the second corrector stops a correction process when the data items corrected by the first corrector contain no error. 
     
     
         10 . The device according to  claim 7 , wherein the detector generates error information representing presence/absence of an error in each of the corrected data items. 
     
     
         11 . The device according to  claim 7 , wherein the semiconductor memory is a NAND flash memory. 
     
     
         12 . A storage device comprising:
 a nonvolatile semiconductor memory configured to store first data;   a first corrector configured to correct first error data in the first data using first correcting code data;   a detector configured to detect second error data which has not been corrected by the first corrector, using detecting code data; and   a second corrector configured to correct the second error data using second correcting code data.   
     
     
         13 . A storage device comprising:
 a nonvolatile semiconductor memory configured to store data; and   a processor for controlling the nonvolatile memory configured to correct data by using first error correcting codes, wherein   the processor monitors error bit levels at read operations to prevent data corruption caused by a number of accumulated error bits exceeding a correcting capability of the first error correcting codes, and   when the number of error bits reaches a threshold, the processor restores the data to its original, error-free state without using the first error correcting codes.   
     
     
         14 . The device according to  claim 13 , wherein the processor uses a BCH ECC algorithm per data unit which is an integral multiple of 512 bytes. 
     
     
         15 . The device according to  claim 13 , wherein the data is written into the nonvolatile semiconductor memory by page unit. 
     
     
         16 . The device according to  claim 15 , wherein
 the data is erased from the nonvolatile semiconductor memory by block unit, and   the block comprises pages.   
     
     
         17 . The device according to  claim 13 , wherein the processor uses a CRC (cyclic redundancy checksum) as an error detecting code. 
     
     
         18 . The device according to  claim 13 , further comprising:
 an interface;   a first circuit coupled to the interface;   a second circuit for interfacing with the memory; and   a third circuit coupled to the second circuit,   wherein the first circuit is configured to:   generate first error detection data for data received from the interface; and   check data transmitted to the interface,   wherein the third circuit is configured to check data and error correction data received from the second circuit.   
     
     
         19 . The device according to  claim 18 , wherein the first circuit is configured to generate error detection data per received unit of data. 
     
     
         20 . The device according to  claim 19 , wherein the data received from the interface comprises a data payload including a number of units of data, and
 the data received from the interface comprises streaming data.   
     
     
         21 . The device according to  claim 18 , wherein
 the first circuit comprises a cyclic redundancy check (CRC) engine coupled to the interface, and   the third circuit comprises an error correction code (ECC) engine.   
     
     
         22 . The device according to  claim 18 , wherein the processor includes:
 a fourth circuit coupled to the interface and to the second and third circuits; and   an error detection memory coupled to the fourth circuit,   wherein the error detection memory is configured to store the error detection data.   
     
     
         23 . The device according to  claim 22 , wherein the processor includes a data buffer coupled to the fourth circuit and to the third circuit,
 wherein the data buffer is configured to buffer data for the third circuit.   
     
     
         24 . The device according to  claim 18 , wherein the third circuit is configured to correct one or more errors in the data received from the second circuit. 
     
     
         25 . The device according to  claim 18 , wherein the processor is configured to transfer the data received from the interface, the error detection data, and the error correction data across the second circuit. 
     
     
         26 . The device according to  claim 18 , wherein the processor includes:
 a fourth circuit coupled to the interface and to the second and third circuits,   wherein the fourth circuit is configured to receive data and corresponding error detection data from the second circuit and to transfer the data and the corresponding error detection data to the first circuit.   
     
     
         27 . The device according to  claim 26 , wherein the first circuit is configured to:
 generate error detection data for the data received from the fourth circuit; and   compare the generated error detection data for the data received from the fourth circuit to corresponding error detection data received from the fourth circuit.   
     
     
         28 . The device according to  claim 26 , wherein the processor includes:
 more than one channel;   a channel data transfer circuit coupled to the fourth circuit;   a data buffer coupled to the channel data transfer circuit and the third circuit; and   an error detection circuit coupled to the second circuit.   
     
     
         29 . A storage device comprising:
 a nonvolatile semiconductor memory configured to store data; and   a processor for controlling the nonvolatile memory configured to correct data by using first error correcting codes, wherein   the processor refers to error bit levels at a read operation, and   when a number of error bits accumulated in the read transaction exceeds a correcting capability of the first error correcting codes, the processor processes the data to its original, error-free state using a method except for an algorithm using the first error correcting code.   
     
     
         30 . The device according to  claim 29 , wherein the processor uses a BCH ECC algorithm per data unit which is an integral multiple of 512 bytes. 
     
     
         31 . The device according to  claim 29 , wherein the data is written into the nonvolatile semiconductor memory by page unit. 
     
     
         32 . The device according to  claim 31 , wherein
 the data is erased from the nonvolatile semiconductor memory by block unit, and   the block comprises pages.   
     
     
         33 . The device according to  claim 29 , wherein the processor uses a CRC (cyclic redundancy checksum) as an error detecting code. 
     
     
         34 . The device according to  claim 29 , further comprising:
 an interface;   a first circuit coupled to the interface;   a second circuit for interfacing with the memory; and   a third circuit coupled to the second circuit,   wherein the first circuit is configured to:   generate first error detection data for data received from the interface; and   check data transmitted to the interface,   wherein the third circuit is configured to check data and error correction data received from the second circuit.   
     
     
         35 . The device according to  claim 34 , wherein the first circuit is configured to generate error detection data per received unit of data. 
     
     
         36 . The device according to  claim 35 , wherein the data received from the interface comprises a data payload including a number of units of data, and
 the data received from the interface comprises streaming data.   
     
     
         37 . The device according to  claim 34 , wherein
 the first circuit comprises a cyclic redundancy check (CRC) engine coupled to the interface, and   the third circuit comprises an error correction code (ECC) engine.   
     
     
         38 . The device according to  claim 34 , wherein the processor includes:
 a fourth circuit coupled to the interface and to the second and third circuits; and   an error detection memory coupled to the fourth circuit,   wherein the error detection memory is configured to store the error detection data.   
     
     
         39 . The device according to  claim 38 , wherein the processor includes a data buffer coupled to the fourth circuit and to the third circuit,
 wherein the data buffer is configured to buffer data for the third circuit.   
     
     
         40 . The device according to  claim 34 , wherein the third circuit is configured to correct one or more errors in the data received from the second circuit. 
     
     
         41 . The device according to  claim 34 , wherein the processor is configured to transfer the data received from the interface, the error detection data, and the error correction data across the second circuit. 
     
     
         42 . The device according to  claim 34 , wherein the processor includes:
 a fourth circuit coupled to the interface and to the second and third circuits,   wherein the fourth circuit is configured to receive data and corresponding error detection data from the second circuit and to transfer the data and the corresponding error detection data to the first circuit.   
     
     
         43 . The device according to  claim 42 , wherein the first circuit is configured to:
 generate error detection data for the data received from the fourth circuit; and   compare the generated error detection data for the data received from the fourth circuit to corresponding error detection data received from the fourth circuit.   
     
     
         44 . The device according to  claim 42 , wherein the processor includes:
 more than one channel;   a channel data transfer circuit coupled to the fourth circuit;   a data buffer coupled to the channel data transfer circuit and the third circuit; and   an error detection circuit coupled to the second circuit.

Join the waitlist — get patent alerts

Track US2016041875A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.