IP Library Granted Patent US 9,564,930
Granted Patent B2
US 9,564,930 · App. 14/636,768 · Granted Feb 7, 2017

Memory controller, storage device and memory control method

Inventors: Riki Suzuki (Yokohama, JP); Toshikatsu Hida (Yokohama, JP); Mitsunori Tadokoro (Fujisawa, JP); Yoshihisa Kojima (Kawasaki, JP); Shohei Asami (Yokohama, JP)
Assignee: Kabushiki Kaisha Toshiba
H03M13/2906G06F11/1008H03M13/152H03M13/3738H03M13/613H03M13/6356H03M13/3769H03M13/43
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 9,564,930
App. No.
14/636,768
Granted
Feb 7, 2017
Kind
B2
Abstract

According to one embodiment, a memory controller includes an encoding unit that generates a first code word, a duplication unit that duplicates the first code word, a memory interface that writes a code word group including the first code word and code words being duplicates of the first code word into a non-volatile memory, and reads the code words forming the code word group from the non-volatile memory, a determination unit that obtains a result of majority decision using the first code word and the plurality of code words, which are included in the code word group read from the non-volatile memory, and a decoding unit that decodes a code word being the result of the majority decision and corrects an error.

Claims (54)

1. A memory controller comprising:

an encoding unit configured to encode data and generate a first code word;

a duplication unit configured to duplicate the first code word;

a memory interface configured to write, into a non-volatile memory, a code word group including the first code word and a plurality of code words being duplicates of the first code word, and read, from the non-volatile memory, the first code word and the plurality of code words, which form the code word group;

a determination unit configured to obtain a result of majority decision using the first code word and the plurality of code words, which are included in the code word group read from the non-volatile memory; and

a decoding unit configured to decode a second code word being the result of the majority decision.

2. The memory controller according to claim 1 , wherein

the decoding unit decodes each of the first code word and the plurality of code words, which have been read from the non--volatile memory, and makes an error correction, and

upon the decoding unit failing in error corrections of all of the first code word and the plurality of code words, the determination unit obtains a result of majority decision on a bit-by-bit basis by using the first code word and the plurality of code words.

3. The memory controller according to claim 1 , wherein

the non-volatile memory includes a plurality of chips, and

the memory interface distributes and writes the first code word and the plurality of code words, which form the code word group, respectively to the plurality of chips.

4. The memory controller according to claim 1 , wherein the memory interface writes the first code word and the plurality of code words, which form the code word group, into a memory cell group connected to the same word line.

5. The memory controller according to claim 1 , further comprising a randomizer/derandomizer configured to randomize the first code word and the plurality of code words, which form the code word group, and derandomize the first code word and the plurality of code words, which have been read from the non-volatile memory, wherein

the memory interface writes the randomized first code word and plurality of code words into the non-volatile memory, and

the determination unit obtains the result of the majority decision by using the derandomized first code word and plurality of code words.

6. The memory controller according to claim 1 , further comprising a location change unit configured to rearrange bit locations in the first code word and the plurality of code words, which form the code word group, by different rules depending on the code word.

7. The memory controller according to claim 6 , wherein the location change unit shifts bits in the first code word and the plurality of code words, which form the code word group, by different shift amounts depending on the code word.

8. The memory controller according to claim 1 , wherein

bit locations in an entire bit string in which the first code word and the plurality of code words, which form the code word group, are coupled are rearranged,

the rearranged entire bit string is divided into a plurality of third code words, and

the memory controller writes the plurality of third code words into the non-volatile memory.

9. The memory controller according to claim 1 , wherein the memory interface reads the first code word and the plurality of code words, which form the code word group, from the non-volatile memory based on a read request from a host.

10. A storage device comprising:

a non-volatile memory;

an encoding unit configured to encode data and generate a first code word;

a duplication unit configured to duplicate the first code word;

a memory interface configured to write, into the non-volatile memory, a code word group including the first code word and a plurality of code words being duplicates of the first code word, and read, from the non-volatile memory, the first code word and the plurality of code words, which form the code word group;

a determination unit configured to obtain a result of majority decision using the first code word and the plurality of code words, which are included in the code word group read from the non-volatile memory; and

a decoding unit configured to decode a second code word being the result of the majority decision and correct an error.

11. The storage device according to claim 10 , wherein

the decoding unit decodes each of the first code word and the plurality of code words, which have been read from the non-volatile memory, and makes an error correction, and

upon the decoding unit failing in error corrections of all of the first code word and the plurality of code words, the determination unit obtains a result of majority decision on a bit-by-bit basis by using the first code word and the plurality of code words.

12. The storage device according to claim 10 , wherein

the non-volatile memory includes a plurality of chips, and

the memory interface distributes and writes the first code word and the plurality of code words, which form the code word group, respectively to the plurality of chips.

13. The storage device according to claim 10 , wherein the memory interface writes the first code word and the plurality of code words, which form the code word group, into a memory cell group connected to the same word line.

14. The storage device according to claim 10 , further comprising a randomizer/derandomizer configured to randomize the first code word and the plurality of code words, which form the code word group, and derandomize the first code word and the plurality of code words, which have been read from the non-volatile memory, wherein

the memory interface writes the randomized first code word and plurality of code words into the non-volatile memory, and

the determination unit obtains the result of the majority decision by using the derandomized first code word and plurality of code words.

15. The storage device according to claim 10 , further comprising a location change unit configured to rearrange bit locations in the first code word and the plurality of code words, which form the code word group, by different rules depending on the code word.

16. The storage device according to claim 15 , wherein the location change unit shifts bits in the first code word and the plurality of code words, which form the code word group, by different shift amounts depending on the code word.

17. The storage device according to claim 10 , wherein

bit locations in an entire bit string in which the first code word and the plurality of code words, which form the code word group, are coupled are rearranged,

the rearranged entire bit string is divided into a plurality of third code words, and

the memory controller writes the plurality of third code words into the non-volatile memory.

18. The storage device according to claim 10 , wherein the memory interface reads the first code word and the plurality of code words, which form the code word group, from the non-volatile memory based on a read request from a host.

19. A memory control method being performed by a memory controller, the memory control method comprising:

encoding data and generating a first code word;

duplicating the first code word;

writing, into a non-volatile memory, a code word group including the first code word and a plurality of code words being duplicates of the first code word;

reading, from the non-volatile memory, the first code word and the plurality of code words, which form the code word group;

obtaining a result of majority decision on a bit-by-bit basis, using the first code word and the plurality of code words, which are included in the code word group read from the non-volatile memory; and

decoding a second code word being the result of the majority decision and correcting an error.

Assignments (5)
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 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043709/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2015
From: SUZUKI, RIKI; HIDA, TOSHIKATSU; TADOKORO, MITSUNORI; KOJIMA, YOSHIHISA; ASAMI, SHOHEI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 035717/0514 →
Continuity (2)
Provisional Application 62046197 · Sep 5, 2014
Related Publication 20160072527A1 · Mar 10, 2016