IP Library › Granted Patent US 8,117,517
Granted Patent B2
US 8,117,517 · App. 12/404,861 · Granted Feb 14, 2012

Semiconductor memory device and method of controlling the same

Assignee: Kabushiki Kaisha Toshiba
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,117,517
App. No.
12/404,861
Granted
Feb 14, 2012
Kind
B2
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 (50)

1. A semiconductor memory device comprising:

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 comprising one of the data items and a corresponding detecting code;

a second correcting code generator configured to generate a second correcting code to correct errors in a second data block, the second data block comprising 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,

wherein an error correction capability of the second correcting code generator is higher than error correction capabilities of the first correcting code generators.

2. The device according to claim 1 , further comprising:

a first corrector configured to correct errors in the first data blocks using the first correcting codes, respectively;

a detector configured to detect, using the detecting codes, errors in the data items corrected by the first corrector, respectively, and generate first error information representing presence/absence of an error in each of the corrected data items; and

a second corrector configured to correct errors in, of the corrected data items, a number of data items containing errors using the first error information and the second correcting code.

3. The device according to claim 2 , further comprising:

a selector configured to select and output one of first corrected data comprising the data items corrected by the first corrector and second corrected data comprising the data items corrected by the second corrector.

4. The device according to claim 3 , wherein,

the detector generates second error information representing presence/absence of an error in the first corrected data, and

the selector outputs the first corrected data when the first corrected data contains no error, and outputs the second corrected data when the first corrected data contains an error on the basis of the second error information.

5. The device according to claim 2 , wherein,

the detector generates third error information representing error detection locations in the corrected data items, and

the second corrector corrects errors in, of the corrected data items, only a number of data items containing errors using the first error information, the third error information and the second correcting code.

6. The device according to claim 1 , wherein,

the semiconductor memory executes reads or writes data using a first size as a minimum unit, and

each of the data items has a size equal to the first size.

7. The device according to claim 1 , further comprising:

a temporary storage circuit configured to temporarily store the data items and the detecting codes.

8. The device according to claim 1 , wherein,

the detecting code generators execute processes of generating the detecting codes in parallel, and

the first correcting code generators execute processes of generating the first correcting codes in parallel.

9. 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.

10. The device according to claim 1 , wherein the semiconductor memory is a NAND flash memory.

11. A method of controlling a semiconductor memory device, the method comprising:

generating, by an error correction circuit, a plurality of detecting codes to detect errors in a plurality of data items, respectively;

generating, by the error correction circuit, a plurality of first correcting codes to correct errors in a plurality of first data block, respectively, each of the first data blocks comprising one of the data items and a corresponding detecting code;

generating, by the error correction circuit, a second correcting code to correct errors in a second data block, the second data block comprising the first data blocks; and

nonvolatilely storing the second data block, the first correcting codes, and the second correcting code,

wherein an error correction capability of the second correcting code is higher than error correction capabilities of the first correcting codes.

12. The method according to claim 11 , further comprising:

correcting, by the error correction circuit, errors in the first data blocks using the first correcting codes, respectively;

detecting, using the detecting codes, by the error correction circuit, errors in the data items corrected using the first correcting codes, respectively, thereby generating first error information representing presence/absence of an error in each of the corrected data items; and

correcting, by the error correction circuit, errors in, of the corrected data items, a number of data items containing errors using the first error information and the second correcting code.

13. The method according to claim 12 , further comprising:

selecting and outputting, by the error correction circuit, one of first corrected data comprising the data items corrected using the first correcting codes and second corrected data comprising the data items corrected using the second correcting code.

14. The method according to claim 13 , further comprising:

generating, by the error correction circuit, second error information representing presence/absence of an error in the first corrected data,

wherein in the outputting step, on the basis of the second error information, the first corrected data is output when the first corrected data contains no error, and the second corrected data is output when the first corrected data contains an error.

15. The method according to claim 12 , further comprising:

generating, by the error correction circuit, third error information representing error detection locations in the corrected data items; and

correcting, by the error correction circuit, errors in, of the corrected data items, only a number of data items containing errors using the first error information, the third error information and the second correcting code.

16. The method according to claim 11 , wherein each of the data items has a size equal to a size of read data or write data.

17. The method according to claim 11 , wherein,

in the detecting code generating step, processes of generating the detecting codes are executed in parallel, and

in the first correcting code generating step, processes of generating the first correcting codes are executed in parallel.

Assignments (5)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043328/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2009
From: KANNO, SHINICHI; UCHIKAWA, HIRONORI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 022411/0397 →
Priority Claims (1)
JP 2007-225996 · Aug 31, 2007 · national
Continuity (2)
Continuation PCTJP2008063344 · Jul 17, 2008
Related Publication 20090183052A1 · Jul 16, 2009