IP Library Granted Patent US 9,996,285
Granted Patent B2
US 9,996,285 · App. 15/346,103 · Granted Jun 12, 2018

Cyclically interleaved XOR array for error recovery

Inventors: Jingyu Kang (San Jose, CA); Chung-Li Wang (Fremont, CA); Cai Wang (San Jose, CA); Yibo Zhang (San Jose, CA)
Assignee: SK Hynix Inc.
G06F3/0619G06F3/064G06F3/0665G06F3/0679G06F11/1044G06F11/1068G11C29/52H03M13/13H03M13/2757
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,996,285
App. No.
15/346,103
Granted
Jun 12, 2018
Kind
B2
Abstract

Memory systems may include a memory storage including at least a first stripe and a second stripe, the first stripe including data pages corresponding to the first stripe and a first parity page suitable for storing a first XOR parity, and the second stripe including data pages corresponding to the second stripe and a second parity page suitable for storing a second XOR parity, the data pages and parity pages being stored over a plurality of memory dies, wherein each memory die includes a number of planes; and a controller suitable for cyclically interleaving the data pages corresponding to the first stripe and the data pages corresponding to the second stripe.

Claims (39)

1. A memory system, comprising:

a host; and

a memory storage connected with the host and including at least two memory dies, each of the at least two memory dies includes at least two planes, wherein the memory storage is constructed with stripes, the stripes include at least a first stripe and a second stripe,

the first stripe including data pages corresponding to the first stripe and a respective first parity page storing a first XOR parity of the first stripe, and

the second stripe including data pages corresponding to the second stripe and a respective second parity page storing a second XOR parity of the second stripe; and

a controller coupled with the memory storage and configured to

store the data pages and respective parity pages over a plurality of memory dies, and

cyclically interleave the data pages corresponding to the first stripe and the data pages corresponding to the second stripe, wherein the same data pages on different planes in each of the memory dies are constructed into different stripes across the planes, and the number of stripes in each stripe group equals to the number of the planes in each of the memory dies, wherein the stripe group includes a number of stripes cyclically interleaved across all the planes in each of the memory dies.

2. The memory system of claim 1 , wherein the data pages are cyclically interleaved such that the first XOR parity is taken over a first group of data pages limited to one data page per plane.

3. The memory system of claim 2 , wherein the data pages are cyclically interleaved such that the second XOR parity is taken over a second group of data pages limited to one data page per plane.

4. The memory system of claim 1 , further comprising an error correcting code (ECC) unit configured to correct multiple errors in more than one plane.

5. The memory system of claim 4 , wherein the ECC unit is further configured to correct multiple errors in a single plane.

6. The memory system of claim 1 , wherein each data page corresponding to the first stripe and the first parity page are stored on different planes.

7. The memory system of claim 6 , wherein each data page corresponding to the second stripe and the second parity page are stored on different planes.

8. A method of operating a memory system including a memory storage and a controller, comprising:

storing data pages and respective parity pages over a plurality of memory dies of the memory storage, wherein the memory storage includes at least two memory dies, each of the at least two memory dies includes at least two planes, wherein the memory storage is constructed with stripes, the stripes include at least a first stripe and a second stripe;

associating data pages and a first parity page with the first stripe of the memory storage;

associating data pages and a second parity page with the second stripe of the memory storage;

cyclically interleaving the first parity page and data pages associated with the first stripe with the second parity page and data pages associated with the second stripe, wherein the same data pages on different planes in each of the memory dies are constructed into different stripes across the planes, and the number of stripes in each stripe group equals to the number of the planes in each of the memory dies, wherein the stripe group includes a number of stripes cyclically interleaved across all the planes in each of the memory dies;

taking a first XOR parity over the first stripe and storing the first XOR parity in the first parity page; and

taking a second XOR parity over the second stripe and storing the second XOR parity in the second parity page.

9. The method of claim 8 , wherein the cyclically interleaving step is performed such that the first parity page and data pages associated with the first stripe are limited to one page per plane.

10. The method of claim 9 , wherein the cyclically interleaving step is performed such that the second parity page and data pages associated with the second stripe are limited to one page per plane.

11. The method of claim 8 , wherein when multiple errors occur in more than one plane, further comprising correcting, with an error correcting code (ECC) unit, the multiple errors with the first XOR parity and the second XOR parity.

12. The method of claim 8 , further comprising storing each data page corresponding to the first stripe and the first parity page on different planes.

13. The method of claim 12 , further comprising storing each data page corresponding to the second stripe and the second parity page on different planes.

14. A memory device, comprising:

a memory storage including at least two memory dies, each of the at least two memory dies includes at least two planes, wherein the memory storage is constructed with stripes, the stripes include at least a first stripe and a second stripe,

the first stripe including data pages corresponding to the first stripe and a respective first parity page configured to store a first XOR parity of the first stripe, and

the second stripe including data pages corresponding to the second stripe and a respective second parity page configured to store a second XOR parity of the second stripe; and

a controller coupled with the memory storage and configured to

store the data pages and respective parity pages being stored over a plurality of memory dies; and

cyclically interleave the data pages corresponding to the first stripe and the data pages corresponding to the second stripe, wherein the same data pages on different planes in each of the memory dies are constructed into different stripes across the planes, and the number of stripes in each stripe group equals to the number of the planes in each of the memory dies, wherein the stripe group includes a number of stripes cyclically interleaved across all the planes in each of the memory dies.

15. The memory device of claim 14 , wherein the data pages are cyclically interleaved such that the first XOR parity is taken over a first group of data pages limited to one data page per plane.

16. The memory device of claim 15 , wherein the data pages are cyclically interleaved such that the second XOR parity is taken over a second group of data pages limited to one data page per plane.

17. The memory device of claim 14 , further comprising an error correcting code (ECC) unit configured to correct multiple errors in more than one plane.

18. The memory device of claim 17 , wherein the ECC unit is further configured to correct multiple errors in a single plane.

19. The memory device of claim 14 , wherein each data page corresponding to the first stripe and the first parity page are stored on different planes.

20. The memory device of claim 19 , wherein each data page corresponding to the second stripe and the second parity page are stored on different planes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2017
From: SK HYNIX MEMORY SOLUTIONS INC.
To: SK HYNIX INC.
Reel/Frame 044899/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2016
From: KANG, JINGYU; WANG, CHUNG-LI; WANG, CAI; ZHANG, YIBO
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 040255/0668 →
Continuity (1)
Related Publication 20180129430A1 · May 10, 2018