IP Library Granted Patent US 11,038,536
Granted Patent B2
US 11,038,536 · App. 16/357,696 · Granted Jun 15, 2021

Semiconductor memory device and method of controlling the same

Inventors: Shinichi Kanno (Tokyo, JP); Hironori Uchikawa (Yokohama, JP)
Assignee: TOSHIBA MEMORY CORPORATION
H03M13/2906G06F11/10G06F11/1004G06F11/1008G06F11/1068G06F13/1673G06F13/4068G11C29/52H03M13/29H03M13/35H03M13/6561H03M13/03Y02D10/00
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 11,038,536
App. No.
16/357,696
Granted
Jun 15, 2021
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 (29)

1. A memory system comprising:

a nonvolatile memory; and

a circuit configured to:

generate a plurality of error detection codes to detect an error in a plurality of data items, respectively;

generate a plurality of first error correction codes to correct an error in a plurality of first data blocks, respectively, each of the plurality of first data blocks including one of the plurality of data items and one of the plurality of error detection codes corresponding thereto;

generate a second error correction code to correct an error in a second data block, the second data block including at least a part of each of the plurality of first data blocks; and

write the plurality of data items, the plurality of error detection codes, the plurality of first error correction codes, and the second error correction code into the nonvolatile memory.

2. The memory system according to claim 1 , wherein each of the plurality of error detection codes is a cyclic redundancy check (CRC).

3. The memory system according to claim 1 , wherein

the circuit includes a memory, and

the memory is configured to store each of the plurality of error detection codes.

4. The memory system according to claim 1 , wherein the circuit is further configured to:

correct, by using one of the plurality of first error correction codes, an error in one of the plurality of first data blocks read from the nonvolatile memory; and

determine, by using one of the plurality of error detection codes, whether the error in the one of the plurality of first data blocks has been corrected.

5. The memory system according to claim 4 , wherein the circuit is further configured to correct, by using the second error correction code, an error in the second data block that includes at least a part of the one of the plurality of first data blocks that has been subject to the error correction by using the one of the plurality of first error correction codes.

6. The memory system according to claim 1 , wherein the second error correction code is a Reed-Solomon code.

7. A method of controlling a nonvolatile memory, comprising:

generating a plurality of error detection codes to detect an error in a plurality of data items, respectively;

generating a plurality of first error correction codes to correct an error in a plurality of first data blocks, respectively, each of the plurality of first data blocks including one of the plurality of data items and one of the plurality of error detection codes corresponding thereto;

generating a second error correction code to correct an error in a second data block, the second data block including at least a part of each of the plurality of first data blocks; and

writing the plurality of data items, the plurality of error detection codes, the plurality of first error correction codes, and the second error correction code into the nonvolatile memory.

8. The method according to claim 7 , wherein each of the plurality of error detection codes is a cyclic redundancy check (CRC).

9. The method according to claim 7 , further comprising

storing each of the plurality of error detection codes in a memory.

10. The method according to claim 7 , further comprising

correcting, by using one of the plurality of first error correction codes, an error in one of the plurality of first data blocks read from the nonvolatile memory; and

determining, by using one of the plurality of error detection codes, whether the error in the one of the plurality of first data blocks has been corrected.

11. The method according to claim 10 , further comprising correcting, by using the second error correction code, an error in the second data block that includes at least a part of the one of the plurality of first data blocks that has been subject to the error correction by using the one of the plurality of first error correction codes.

12. The method according to claim 7 , wherein the second error correction code is a Reed-Solomon code.

Assignments (3)
CHANGE OF NAME AND ADDRESS Recorded Feb 4, 2022
From: K.K PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058957/0124 →
CHANGE OF NAME AND ADDRESS Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058905/0582 →
MERGER Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: K.K PANGEA
Reel/Frame 058946/0675 →